第2章体系结构与组织.docx
《第2章体系结构与组织.docx》由会员分享,可在线阅读,更多相关《第2章体系结构与组织.docx(37页珍藏版)》请在课桌文档上搜索。
1、第2章体系结构与组织学习目标: 了解计算机体系结构的发展、存储系统的结构与组织、接口与通信等基础知识。 掌握数据的机器级表示、非数值数据、数字逻辑与数字系统、汇编级计算机组成等基础知识。2.1计算机体系结构的发展本章主要学习数值数据在计算机中的表示与运算、非数值数据的表示、数据的机器编码、数字逻辑与数字系统、计算机系统的组成等基础知识。计算机体系结构是指根据属性和功能不同而划分的计算机组成部什茨史馨,计算机体系结构发展.mp4分及计算机基本工作原理、理论的总称,即指适当地组织在一起的一系列系统元素的集合,这些系统元素相互配合、协作,通过对信息处理而完成预先定义的目标。计算机体系结构是程序员所看
2、到的计算机的属性,即计算机的逻辑结构和功能特征,包括其各个硬件和软件之间的相互关系。对计算机系统设计者而言,计算机体系结构是指研究计算机的基本设计思想和由此产生的逻辑结构;对程序设计者而言,计算机体系结构是指对系统功能的描述(如指令集、编制方式等)。亚当(Adam)等人从程序设计角度看到了计算机的属性(外特性),并于1964年率先提出计算机系统结构的概念。至今为止,计算机共经历了四个不同的发展阶段。1 .第一阶段20世纪60年代中期以前.,是计算机体系结构发展的早期。在这个时期通用硬件已经相当普遍,软件却是为每个具体应用而专门编写的,大多数人认为软件开发无须预先计划。这时的软件实际上就是规模较
3、小的程序,程序编写起来相对容易,没有系统化的方法,也没有进行任何管理,除了程序清单之外,根本没有保存其他文档资料。2 .第二阶段从20世纪60年代中期到70年代中期,多道程序、多用户系统引入了人机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次。这个阶段的一个重要特征是出现了“软件作坊”,广泛使用产品软件。但是,“软件作坊”基本上仍然沿用着早期形成的个体化软件开发方法。许多程序的个体化特性使得它们最终成为不可维护的产品,“软件危机”开始出现。3 .第三阶段从20世纪70年代中期到80年代中期,计算机技术又有了很大进步。分布式系统极大地增加了计算机系统的复杂性,局域网、
4、广域网、宽带数字通信以及对“即时”数据访问需求的增加,都对软件开发者提出了更高的要求。但是,这个时期软件仍然主要在工业界和学术界应用,个人应用还很少。这个时期的主要特点是出现了微处理器,以微处理器为核心的“智能”产品精彩纷呈,PC逐渐成为大众化的商品。4 .第四阶段从20世纪80年代中期开始,人们感受到的是硬件和软件的综合效果。由复杂操作系统控制的强大的桌面机及局域网、广域网和Intemet网,与先进的应用软件相配合,己经成为当时的主流。计算机体系结构已迅速地从集中的主机环境转变成分布式环境,集群、网络、云计算等概念层出不穷。2.2数据的机器级表示计算机只能识别二进制编码的指令和数据,其他的如
5、数字、字符、声音、图形、图像等信息都必须转换成二进制的形式,计算机才能识别和处理。二进制只有两个状态(即0和1),这正好与物理器件的两种状态相对应,例如电压信号的高与低、门电路的导通与截止等。而十进制电路则需要用10种状态来描述,这将使电路十分复杂,处理起来也非常困难。因此,采用二进制将使计算机在物理实现上变得简单,且具有可靠性高、处理简单、抗干扰能力强等优点。2.2.1 数的表示及数制转换李约瑟十进制数是日常生活中常用的,一直伴随着人们的生活。在商教的表示及敷制转换mp4代时,我国就己采用了十进制。十进制的记数法是古代世界中最先进、最科学的记数法,对世界科学和文化的发展起着不可估量的作用。正
6、如李约瑟(JoSePhTerenCeMOntgomeryNeedham,19001995)所说的,“如果没有这种十进制,就不可能出现我们现在这个统一化的世界了”。除了十进制外,其他进制,例如十二进制(时钟)等也在生活中广泛使用。在计算机内所有的数据都是以二进制代码的形式存储、处理和传送,但是在输入/输出或书写时,为了用户的方便,也经常用到八进制和十六进制。在十进制(decimal)系统中,进位原则是“逢十进一”。由此可知,在二进制(binary)系统中,其进位原则是“逢二进一”;在八进制(OClal)系统中,其进位原则是“逢八进一”;在十六进制(hexadecimal)系统中,其进位原则是“逢
7、十六进一”。为了弄清进制的概念及其关系,故而有必要掌握各种进位制数的表示方法以及不同进位制数之间相互转换的方法。1 .数制的相关概念在进位记数的数字系统中,如果只用R个基本符号(如0,1,2,R-1)来表示数值,那么称其为“基H数制”。在各种进制中,基和位权这两个基本概念对数制的理解和多种数制之间的转换起着至关重要的作用。(1)基。称R为数制的“基数”,简称“基”或“底”。例如,十进制数制的基R=M(2)位权。数值中每一固定位置对应的单位被称为“位权”,简称“权”.它以数制的基为底,以整数为指数组成,例如,一个十进制数制的位权为I(FL如(P,io%IOL1伊,IO1,IO2,IO3,,10对
8、十进制数,R=IO,它的基本符号有10个,分别为0,1,2,9。对二进制数,R=2,其基本符号为0和1。进位记数的编码符合“逢R进位”的规则。各位的权是R为底的基,一个数可按权展开成多项式。例如,十进制数523.47可按权展开如下:523.47=5102+210,+31Oo+410,+710-2因此,可将任意数制的数N表示为以下通式:(N)R=DmIr+DgRg+DR+DRO+DIRT+DkRk=EDjR式中,(MR表示R进制的数M数共有m+k+1位,且相和&为正整数;D可以是R进制的基本符号中的任意一个;押为该进制的权,R为基数或“底”。在计算机中常用的数制有十进制、二进制、八进制、十六进制
9、数制,它们的基、位权及基本符号总结如表2.1所示。表2.1各种进制的基、位权及基本符号进制名称基(三)位权基本符号十进制10,103,IO2JO1,10,IO1,102,IO-3,0,12,9二进制2.7j?29l0-17-20-3.0,1八进制88秒8,84,88-3,0,1,2,十六进制16,163,162J6,160,16-,16-2.16-0,l,2j,9,AB,C,D,E,F2 .数制的表示数制的表示方法有很多种,常用的有以下两种。D下标法下标法是指用小括号将所表示的数括起来,然后在括号外的右下角写上数制的基七例2.1(862)A(IOIo.11)2、(356)8、(93BF)g分别
10、表示一个十进制数、二进制数、八进制数和十六进制数。2)字母法字母法是指在所表示的数的末尾加上相应数制的首字母。进制对应的字母如表2.2所示。表2.2进制与字母进制十进制二进制八进制十六进制所用字母DBOH八进制的字母。为与数字零区别,故而有时用Q表示。而由于生活中常用的数制为十进制,因此,对于十进制数,可以省略其后的字母D。例2.2862D或862、1010.1IB,356Q、93BFH分别表示一个十进制数、二进制数、八进制数和十六进制数。3 .数制间的基本关系十进制、二进制、八进制和十六进制数制之间的基本关系如表2.3所示。表2.3数制间的基本关系十进制二进制八进制十六进制0(X)(X)(X
11、)01OOOIOl12OOlO0223OOll0334OlOO0445OlOl0556OllO0667Olll077810001089100111910101012AIlIOll13B12I10014C13IlOI15D14IllO16E15Illl17F4 .数制之间的转换二进制、八进制、十六进制和十进制数制之间的相互转换有一定的规律,只要掌握了它们之间的基本规律,就很容易进行这些数制之间的相互转换,具体内容如下所述。D其他进制数转换为十进制数其他进制转换为十进制的具体转换方法为:相应位置的数码乘以对应位的权,再将所有的乘积进行累加,即得对应的十进制数。例2.3(1001.101)2=(l2
12、3+022+021+l20+l21+022+123)o=(8+0+0+1+0.5+0+0.125)10=(9.625)io例2.4(8A.F)i6=(816,+10160+15161)io=(128+10+0.9375)10=(138.9375)io2)二进制数、八进制数、十六进制数之间的转换八进制数和十六进制数是从二进制数演变而来的。其具体转换方法为:由3位二进制数组成1位八进制数,由4位二进制数组成1位十六进制数。对于同时有整数和小数部分的数,则以小数点为界,对小数点前后的数分别进行分组处理,不足的位数用O补足,对于整数部分将O补在数的左边,对于小数部分则将O补在数的右边。例2.5(100
13、1.111l)2=(001001.111100)2=(l1.74)8例2.6(11011.1001)2=(00011011.1OO1)2=(1B.9)6例2.7(5A.F3)i6=(01011010.11110011)2=(.)23)十进制数转换为其他进制数(1)整数的转换方法为:除基取余法。即用十进制整数除以要转换的进制数的基,取余数,从低位向高位逐次进行,然后对商继续这一操作,直到商为零为止。例28现以(156)o为例,利用除2取余法将其转换为二进制整数的过程如下:2|156xo=O2178Xi=O239X2=I219X3=I29X4=l24X5=O22X6=O1X7=1即(156)0=(
14、X7X6XSX4X3XlKlXO)2=()2将除2取余法推广开来,可以得到将十进制整数转换为其他进制数的方法。(2)小数的转换方法为:乘基取整法。即将十进制小数乘以要转换的进制数的基,取整数,然后对小数点后的数继续这一操作,直到小数点后为零或达到所要求的精度为止。例29以(0.5625)10转化为二进制数为例,说明其转换过程。0.5625X21.1250x-=l0.1250X20.2500X2=00.2500X20.5000X3=00.5000X21.0000X-4=1(0.5625)o=(Oxix2X3x4)2=(OJOOl)2(3)十进制混合小数的转换为:将十进制数的整数和小数分别按上述方
15、法进行转换,然后再组合到一起。十进制混合小数由整数和纯小数组成。将十进制数的整数部分按除R取余法转换为R进制的整数部分,将十进制的纯小数部分按乘R取整法转换为R进制的小数部分,然后再将R进制的整数部分和小数部分组合起来构成R进制混合小数。例2.10十进制混合小数(156.5625)的整数部分是156,其纯小数部分是0.5625。将156用除以2取余法转换得到二进制数()2,将0.5625用乘2取整法得到二进制数(0.1001)2,再将()2和(0.1001)2相加,可以得到(156.5625)10=(.1001)2。总之,各种进制之间的相互转换关系如图2.1所示。图2.1各种进制之间的相互转换
16、关系5.计算机使用二进制的优点(I)二进制数的状态简单,容易实现。二进制中只有。和1两种状态,很容易用物理器件实现。例如,在计算机中常用电位的“高”和“低”、脉冲的“有”和“无”、晶体管的“导通”和“截止”来表示“1”和“0”。在磁盘中,用铁氧体磁芯沿不同方向的磁化等来表示“1”和“0”两种状态。在光盘中,用激光是否在光盘上烧制小的凹坑来表示“1”和“0”。(2)逻辑操作简单。二进制的“1”和“0”两个数码正好与逻辑命题中的“是”和“否”、“真”和“假”相对应,而布尔代数中,正好与二进制的操作相对应。因此,用二进制转换为布尔代数来进行研究,为程序中的逻辑判断和实现计算机中的逻辑运算提供了便利条
17、件,同时也为计算机的逻辑线路设计提供了方便。2.2.2数的原码、反码和补码数的原码、反码和补码.mp4(3)二进制的运算规则简单。任何进位制进行四则运算时,都需要记住两个整数的求和及乘积的规则。对于R进制,需要记住RX(R+1)/2个和与积的运算规则,例如,对于十进制数制需要记住10(10+1)/2=55个和与积的运算规则(加法表和九九表)。但如果采用二进制,由于R=2,所以需要记住的运算规则数为2(2+l)2=3同时,0和1这两个数进行相加或相乘的运算也极其简单。个数值数据要在计算机中进行表示,也应该与实际使用中的要求相同。数值数据在计算机中的表示必须明确指明符号表示方法和小数点的位置表示方
18、法。在计算机中,数值数据的符号表示方法简单,计算机中使用二进制。和1,正好与正号“十”和负号“-”相对应。因此,在计算机中,表示一个数值数据符号的方法是占用一位二进制数位,用“0”表示正号,用“1”表示负号。为了区别符号和数值,二进制数值数据在计算机中有原码、反码和补码三种表示方法。1.真值与机器数机器数是指数在计算机中的表示形式。为了表示普通的数与机器数的对应关系,故而将普通的数称为机器数的真值。因此,在计算机中只有机器数,不存在数的真值。例如,两个数M和M的真值分别为N/+1011011N2:-1011011则所对应的机器数分别为N1:01011011N2:110110112.原码原码是一
19、种简单的机器数表示法,其符号位用0表示正号,用1表示负号,数值部分按二进制书写。其表示方法:对于最左边的符号位,若为正数,则原码符号位为0;若为负数,则符号位为1,其余的数值位不变,写到符号右边。整数的原码用公式定义如下:X,0X22m-X=2+X,-2rtX0小数的原码用公式定义如下:X原=即Xk=符号位+x.例 2.11 X=1110, X=-IllO, X = 0.1110, X=-OJllO,X,0X2-x = +xl,-r X = 111IOX = O.I11OX = 1.1110原码的特点:数的原码与真值之间的关系比较简单,且与真值的转换也方便。在进行乘除法运算时,可将符号位和数值
20、位分开处理,运算结果的符号可用参加操作的两个操作数符号进行异或运算求得,运算结果的数值可由操作数原码的数值部分按乘除规则运算获得,因此,原码适合于乘除运算。它的最大缺点是在机器中进行加减法运算时比较复杂。3.反码反码就是把二进制数按位求反。如果Xr=I,则反码X1=O;如果Xz=O,则反码Xj=1o在Xj上面加一横线表示反码的意思。表示方法:对于正数,符号位为0,后面的数值位不变;若为负数,符号位为1,数值位按位求反。整数的反码用公式定义如下:X,0X2z,1-1【X】反=/n12-0-l+X,-(2n,-l)X0小数的反码用公式定义如下:X,0XlX.=(2_2Ti)+X,-lX0即X补=(
21、2-2-”)、符号位+*1110:1(2-2-),其中,为小数点后有效位数。例2.12=+iuo,X=011l0X=-HlO,X及=IooOlX=+0.1110,X&=0.1110X=-OJllO,X反=1.0001反码的特点:反码进行加减运算时,若最高位有进位,则要在最低位加L此时要多进行一次加法运算,这样既增加r运算的复杂性,又影响了速度,因此很少采用。4.补码补码是种很好的机器数表示法。补码可以将负数转化为正数,将减法转换为加法,从而将正负数的加减运算转化为单纯的正数相加的运算,简化了判断过程,提高了计算机的运算速度,并相应地节省了设备开销。因此,补码是应用最广泛的种机器数表示方法。表示
22、方法:对于正数,符号位为0,后面的数值位不变;若为负数,符号位为1,数值位按位求反,然后在最末位加1。整数的补码用公式定义如下:因补二X,OWXV 22+,+ X=2n+,-X, -1XO小数的补码用公式定义如下:XI 补=X,OX12+X=2-X, -1XO即X补=2x符号位+X(mod2)o例 2.13X=+1I1O,X = -IllO,X =-.ll 10, X=-OJlIO, 补码的特点:与原码相比,XN = OlllOX- = IOOlOX 川= 0.1110X 川= LoOlO补码在数轴正方向上表示数的范围与原码相同,在负轴方向上表示数的范围比原码增大了一个单位。5.三种码制的比较
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 体系结构 组织
链接地址:https://www.desk33.com/p-563821.html