计算机科学与导论 第2章 计算机体系结构与组织

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章计算机体系结构与组织1/19/20202计算机科学导论学习目标了解数据的机器编码、微型计算机系统的组成、存储系统的组织结构、基本的输入/输出系统、计算机系统的分类、多核技术、高性能计算机、并行计算机、网络计算机、分布式系统。掌握数值数据的表示和计算、非数值数据的编码、数字逻辑与数字系统。第2章计算机体系结构与组织1/19/20203计算机科学导论2.1数值数据计算机只能识别二进制编码的指令和数据,其他的如数字、字符、声音、图形、图像等信息都必须转换成二进制的形式,才能提供给计算机进行识别和处理。由于二进制只有两个状态即0和1,这正好与物理器件的两种状态相对应,如电压信号的高与低、门电路的导通与截止等;而十进制电路则需要用10种状态来描述,这将使得电路十分复杂,处理也非常困难。因此,采用二进制将使得计算机在物理上实现简单,且具有可靠性高、处理简单、抗干扰能力强等优点。1/19/20204计算机科学导论2.1.1数的表示及数制转换日常生活中常用十进制数、十二进制(时钟)。而在计算机内所有的数据都是以二进制代码的形式存储、处理和传送,但是在输入/输出或书写时,为了用户的方便,也经常用到八进制和十六进制。在十进制系统中,进位原则是“逢十进一”。由此可知,在二进制系统中,其进位原则是“逢二进一”;在八进制系统中,其进位原则是“逢八进一”;在十六进制系统中,其进位原则是“逢十六进一”。1/19/20205计算机科学导论进位计数制(位置计数法)Ai:数码(数字符号)X:基数,简称“基”或“底”(数码的个数)Xi:权(数值中每一固定位置对应的单位)计数规则:逢基数进一例:(123.45)10=1×102+2×101+3×100+4×10-1+5×10-2(101.01)2=1×22+0×21+1×20+0×2-1+1×2-2i=-mn-1(N)x=∑ai×xi2.1.1数的表示及数制转换1/19/20206计算机科学导论各种进制的基、位权及基本符号进制名称基R位权基本符号十进制10…,103,102,101,100,10-1,10-2,10-3,…0,1,2,…,9二进制2…,23,22,21,20,2-1,2-2,2-3,…0,1八进制8…,83,82,81,80,8-1,8-2,8-3,…0,1,2,…,7十六进制16…,163,162,161,160,16-1,16-2,16-3,…0,1,…,9,A,B,C,D,E,F1/19/20207计算机科学导论数制的表示下标法:用小括号将所表示的数括起来,然后在右括号右下角写上数制的基R。字母法:在所表示的数的末尾写上相应数制字母。1/19/20208计算机科学导论进制的简化符号进制符号数码二进制B(Binary)0~1八进制O(Octal)0~7十进制D(Decimal)0~9十六进制H(Hexadecimal)0~9,A~F1/19/20209计算机科学导论数制间的基本关系十进制二进制八进制十六进制0000000010001011200100223001103340100044501010556011006670111077810001089100111910101012A11101113B12110014C13110115D14111016E15111117F1/19/202010计算机科学导论数制之间的转换其它进制转换为十进制二进制与八进制、十六进制的相互转换十进制数转换为其它进制数1/19/202011计算机科学导论其它进制转换为十进制方法:按进位计数制(位置计数法)展开计算后得到十进制例1:将二进制数1101.101转换为十进制数解:(1011.101)2=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3=8+0+2+1+0.5+0+0.125=11.6251/19/202012计算机科学导论其它进制转换为十进制例2:将十六进制数2AE.4转换为十进制数解:2AE.4H=2×162+10×161+14×160+4×16-1=512+160+14+0.25=686.251/19/202013计算机科学导论二进制与十六进制的相互转换方法:四位二进制对应一位十六进制(整数部分从右到左,小数部分从左到右)例1:将1011101001.110101B转换为十六进制数解:整数部分:0010111010012E9小数部分:11010100D4故1011101001.110101B=2E9.D4H1/19/202014计算机科学导论二进制与十六进制的相互转换例2:将5A.3BH转换为二进制数解:5A.3B1011010.00111011故5A.3BH=1011010.00111011B1/19/202015计算机科学导论方法:整数部分除基数取余,小数部分乘基数取整例1:将十进制整数(105)10转换为二进制整数解:2︳1052︳52余数为12︳26余数为02︳13余数为02︳6余数为12︳3余数为02︳1余数为10余数为1所以,(105)10=(1101001)2十进制数转换为二进制数或十六进制数1/19/202016计算机科学导论十进制数转换为二进制数或十六进制数例2、将十进制小数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下:0.8125×2=1.625取整数位10.625×2=1.25取整数位10.25×2=0.5取整数位00.5×2=1.0取整数位1所以,(0.8125)10=(0.1101)2注意:如果出现乘积的小数部分一直不为“0”,则可以根据精度的要求截取一定的位数即可。思考:(1)将十进制转换为十六进制?(2)既有整数,又有小数部分的情况?1/19/202017计算机科学导论练习将(11.375)10转换为二进制数将十进制数301.6875转换为十六进制数将3ADH转换为十进制数将10001110010001010B转换为十六进制1/19/202018计算机科学导论计算机中为什么采用二进制?计算机中,数是用物理器件的状态表示的,二进制只有两种状态(0,1),容易用电路表示。电位的高低,脉冲的有无,电路的通断等都可表示。二进制可方便的表示逻辑值,进行逻辑运算。二进制运算规则简单,容易用数字逻辑电路实现。1/19/202019计算机科学导论2.1.2数的原码、反码和补码一个数值数据要在计算机中进行表示,也应该与实际使用中的要求相同。数值数据在计算机中的表示必须明确指明符号表示方法和小数点的位置表示方法。在计算机中,数值数据的符号表示方法简单,计算机中使用二进制0和1,正好与正号“+”和负号“-”相对应。因此,在计算机中,表示一个数值数据的符号的方法是:占用一位二进制数位,用“0”表示正号,用“1”表示负号。为了区别符号和数值,二进制数值数据在计算机中有原码、反码和补码3种表示方法。1/19/202020计算机科学导论真值与机器数机器数是指数在计算机中的表示形式,为了表示通常的数与机器数的对应关系,将通常的数称为机器数的真值。因此,在计算机中只有机器数,不存在数的真值。例如,两个数N1和N2的真值分别为:N1=+1101010N2=-1011100则所对应的机器数分别为:N1:01101010N2:110111001/19/202021计算机科学导论原码原码:一个二进制数,最高位表示数的符号(0正,1负),其余各位表示数值本身。整数的原码公式:X0≤X﹤2n[X]原=2n-X=2n+X-2n﹤X≤0小数的原码公式:X0≤X﹤2n[X]原=1-X=1+X-1﹤X≤0一般方法:对于最左边的符号,如果是正数,则原码的符号位为0,如果是负数,则原码的符号位为1,然后其余数值位不变写到符号右边。例:求+1011,-1011,+0.1011,-0.1011的原码原码的特点:数的原码与真值之间的关系较简单,与真值的转换方便适于作乘除运算在机器中进行加减法运算时比较复杂1/19/202022计算机科学导论反码反码:一个二进制数,若以2n-1为模,它的补码称为反码整数的反码公式:X0≤X﹤2n[X]反=(2n+1-1)+X2n﹤X≤0小数的原码公式:X0≤X﹤1[X]反=(2-2-n)+X-1﹤X≤0一般方法:对于最左边的符号,如果是正数,则反码的符号位为0,其余数值位不变;如果是负数,则反码的符号位为1,然后其余数值位按位取反。例:求+1011,-1011,+0.1011,-0.1011的反码反码的特点:进行加减运算时,若在最高位有进位,则要在最低位+1,此时要多进行一次加法运算,增加了复杂性,又影响了速度,因此很少使用。1/19/202023计算机科学导论补码补码:一个二进制数,若以2n为模,它的补码称为补码整数的补码公式:X0≤X﹤2n[X]反=2n+1+X2n﹤X≤0小数的补码公式:X0≤X﹤1[X]反=2+X=2-X-1﹤X≤0一般方法:对于最左边的符号,如果是正数,补码的符号位为0,其余数值位不变;如果是负数,则补码的符号位为1,然后其余数值位按位取反后加1。例:求+1011,-1011,+0.1011,-0.1011的补码补码的特点:无溢出的情况下,补码的运算简单,能获得正确结果。与原码相比较,补码在正数轴方向上表示数的范围与原码相同,但在负数轴方向上补码表示范围比原码增大了一个单位。1/19/202024计算机科学导论3种码制的比较相同点解决数值数据的符号在机器中的表示。最高位都表示符号位。不同点原码的符号位和数值位必须分开进行运算。原码和反码的零各自都有两种表示方法。当需要扩展代码字长时,采用的处理方法各不相同。原码和反码能表示的正数和负数的范围相对于零是对称的,而补码的负数表示范围比正数表示范围要宽。1/19/202025计算机科学导论机器数的表示法正数负数范围(n位)正0负0原码0数值1绝对值-(2n-1-1)-+(2n-1–1)0000000010000000反码0数值1按位取反-(2n-1-1)-+(2n-1-1)0000000011111111补码0数值1按位取反+1-(2n-1)-+(2n-1-1)00000000000000001/19/202026计算机科学导论关于-0的问题[-0]补=10000000B[-0]补=00000000B[-128]补=10000000B例:-6411000000+-64+11000000-128110000000=[-128]补符号位进位丢掉-12810000000+127+01111111-111111111=[-1]补码1/19/202027计算机科学导论关于-0的问题若误认为[-0]补=10000000B运算会出错-010000000+1+00000001+110000001=[-127]补≠+1可将[-0]补=[-0]反+1=11111111+1=000000001/19/202028计算机科学导论定点数和浮点数对于数值数据的小数点表示方法定点数浮点数1/19/202029计算机科学导论定点数定点数计算机在运算过程中,数据中小数点的位置固定不变,其中小数点的位置由计算机设计者在机器的结构中指定一个不变的位置。常用的定点数定点整数和定点小数1/19/202030计算机科学导论定点整数定点整数表示的数都是整数,而小数点则固定在数值位最低位之后。其格式为:如果参加运算的数是小数,在送入计算机以前,乘以一个比例因子,将其放大为整数。符号位数值位.假想小数点1/19/202031计算机科学导论定点小数定点小数表示的数都是小数,而小数点在最左边符号位与数值位之间。其格式为:符号位数值位.假想小数点如果参加运算的数是大于等于1的数,在送入计算机以前,除以一个比例因子,将其缩小为小于1的数。定点数的优点:计算简单方便,但需要对参加运算的数进行比例因子的计算,增加了额外的计算量。1/19/202032计算机科学导论浮点数浮点数的统一格

1 / 165
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功