计算机组成原理讲义教材_第1页
计算机组成原理讲义教材_第2页
计算机组成原理讲义教材_第3页
计算机组成原理讲义教材_第4页
计算机组成原理讲义教材_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档倾情为你奉上精选优质文档倾情为你奉上专心专注专业专心专注专业精选优质文档倾情为你奉上专心专注专业计算机组成原理课程简介 计算机组成原理是讲述计算机的一般结构、组成、原理的课程,本课程的基础课是数字电路、离散数学等,后继课程有计算机系统结构、微机原理等。选用教材: 白中英主编,计算机组成原理(第三版),科学出版社第一章 计算机系统概论学习目标计算机硬件、软件的基本概念计算机系统的基本组成;计算机的工作过程;计算机系统的层次结构。 本章需掌握的主要内容:1.计算机的发展、分类、特点与应用;2.计算机硬件和软件的基本概念;3.计算机硬件系统的组织,各部分的功能及其组成框图;4.计算机的工

2、作过程,即执行指令的过程;5.冯.诺依曼型计算机的设计思想;6.计算机系统的层次结构。 对计算机有一个总体的概念,以便展开后续各章内容。11 计算机的分类和应用 111 计算机的分类 计算机分类:模拟:处理在时间和数值上连续的量数字:处理离散的量数字计算机分类:专用计算机:如工控机、DSP、IOP等通用计算机:GPP通用机分类:巨型机(Super-Computer)、大型机(Mainframe)、中型机(Medium-size Computer)、小型机(minicomputer)、微型机(microcomputer)、单片机(Single-Chip Computer)112 计算机的应用科学

3、计算:传统方式:工作量大、人工处理慢自动控制:数控机床、流水线控制测量和测试:提高精度、在恶劣条件下的测量信息处理:教育和卫生:计算机辅助教学(CAI)、多媒体教室、CT(Computerized tomography)家用电器:人工智能 12 计算机的硬件121 数字计算机的硬件组成概念:存储单元、地址、存储容量、外存储器、内存储器、指令、程序、指令的组成、存储程序、程序控制、指令系统、指令周期、执行周期、CPU、主机、数据字、指令字、数据流、指令流、适配器。冯诺依曼体系结构:(1) 采用二进制形式表示数据和指令 数据和指令在代码的外形上并无区别都是由0和1组成的代码序列,只是各自约定的含义

4、不同而已。采用二进制、使信息数字化容易实现,可以用二值逻辑工具进行处理。程序信息本身也可以作为被处理的对象,进行加工处理,例如对照程序进行编译,就是将源程序当作被加工处理的对象。(2) 采用存储程序方式 这是诺依曼思想的核心内容。如前所述,它意味着事先编制程序,事先将程序(包含指令和数据)存入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中依次取出指令且执行。这是计算机能高速自动运行的基础。计算机的工作体现为执行程序,计算机功能的扩展在很大程度上体现为所存储程序的扩展。计算机的许多具体工作方式也是由此派生的。 (3) 由运算器、存储器、控制器、输入装置和输出装置等五大部件组成计算机系

5、统,并规定了这五部分的基本功能。上述这些概念奠定了现代计算机的基本结构思想,并开创了程序设计的新时代。到目前为止,绝大多数计算机仍沿用这一体制,称为冯诺依曼机体制。学习计算机工作原理也就从冯诺依曼概念入门。一般的计算机结构框图(存储器为中心)五大组成部分:运算器、控制器、存储器、输入输出设备。1. 运算器算术运算和逻辑运算在计算机中参与运算的数是二进制的运算器的长度一般是8、16、32或64位2.存储器存储器存储数据和程序容量(存储单元、存储单元地址、容量单位)分类内存(ROM、RAM)、外存存储器单位:210 byte1K210 K1M210 M1G210 G1T存储单元:在存储器中保存一个

6、数的16个触发器,称为一个存储单元。地址:存储器是由许多存储单元组成,每个存储单元的编号,称为地址。存储容量:存储器所有存储单元的总数。通常用单位“KB、MB”表示,如64KB,128MB。存储容量越大,表示计算机记忆储存的信息就越多。外存储器:计算机中又配备的存储容量更大的磁盘存储器、光盘存储器等。相对而言,半导体存储器称为内存储器,简称内存。3、控制器控制器指令和程序(计算机工作原理)指令的形式(操作和地址码、存储程序的概念、指令中程序和数据的存放、指令系统)控制器的基本任务:按照一定的顺序一条接着一条取指令、指令译码、执行指令。取指周期和执行周期指令流和数据流指令:每一个基本操作就叫做一

7、条指令,程序:而解算某一问题的一串指令序列,叫做该问题的计算程序,简称为程序。 指令形式:的内容由两部分组成,即操作的性质和操作的地址。前者称为操作码,后者称为地址码。 操作码地址码操作码:指出指令所进行的操作,如加、减、乘、除、取数、存数等等;地址码:表示参加运算的数据应从存储器的哪个单元取,运算的结果应存到哪个单元。取指周期:通常把取指令的一段时间叫做取指周期,执行周期:而把执行指令的一段时间叫做执行周期。主机:CPU和存储器的合称4、适配器与I/O设备计算机的发展(系统结构1.2doc)手工模仿计算机工作(1)手工模仿计算机工作(2)加法001 减法010乘法011除法100取数101存

8、数110打印111停机000操作码 操作数122 计算机系统结构的过去和未来发展:电子管晶体管集成电路大规模、超大规模集成电路趋势: 由于计算机网络和分布式计算机系统能为信息处理提供廉价的服务,因此计算机系统的进一步发展,“三网合一”,将进入以通信为中心的体系结构。计算机智能化将进一步发展,各种知识库及人工智能技术将进一步普及,人们将用自然语言和机器对话。计算机从数值计算为主过渡到知识推理为主,从而使计算机进入知识处理阶段。随着大规模集成电路的发展,不仅用多处理机技术来实现大型机系统功能,而且会出现计算机的动态结构,即所谓模块化计算机系统结构。多媒体技术将有重大突破和发展,并在微处理机、计算机

9、网络与通信等方面引起一次巨大变革。13 计算机的软件计算机硬件是载体,软件是灵魂。131 软件的组成与分类分类:系统程序、应用程序132 软件的发展演变手编程序(目的程序)汇编程序算法语言(高级语言)高级语言与机器语言的转换:编译系统、解释系统操作系统、数据库14 计算机系统的层次结构141 多级组成的计算机系统P16图1.6五个级别:第一级微程序设计级、第二级是一般机器级、第三级是操作系统级、第四级是汇编语言级、第五级是高级语言级。142 软件与硬件的逻辑等价性 补充:计算机的性能指标基本字长基本字长是指参与运算的数的基本位数,它标志着计算精度。位数越多,精度越高,但硬件成本也越高,因为它决

10、定着寄存器、运算部件、数据总线等的位数。主存容量主存储器是CPU可以直接访问的存储器,需要执行的程序与需要处理的数据就放在主存之中。主存容量大则可以运行比较复杂的程序,并可存入大量信息,可利用更完善的软件支撑环境。所以,计算机处理能力的大小在很大程度上取决于主存容量的大小。 外存容量外存容量一般是指计算机系统中联机运行的外存储器容量。由于操作系统、编译程序及众多的软件资源往往存放在外存之中,需用时再调入主存运行。在批处理、多道程序方式中,也常将各用户待执行的程序、数据以作业形式先放在外存中,再陆续调入主存运行。所以,联机外存容量也是一项重要指标,一般以字节数表示。运算速度同一台计算机,执行不同

11、的运算所需时间可能不同,因而对运算速度的描述常采用不同方法。常用的有CPU时钟频率、每秒平均执行指令数(ips)、单独注明时间等。所配置的外围设备及其性能指标外围设备配置也是影响整个系统性能的重要因素,所以在系统技术说明中常给出允许配置情况与实际配置情况。系统软件配置情况作为一种硬件系统,允许配置的系统软件原则上是可以不断扩充的,但实际购买的某个系统究竟已配置哪些软件,则表明它的当前功能。第二章 运算方法和运算器 本章摘要 数值数据和非数值数据在计算机中的表示方法; 定点数加、减、乘、除运算方法; 浮点数加、减、乘、除运算方法; 定点、浮点运算器的组成及工作原理。 本章需掌握的主要内容:1 掌

12、握定点数和浮点数以及原码、反码、补码的表示方法;2 掌握补码加减运算的方法,溢出的概念与检测方法,基本的二进制加法。3 理解定点乘法运算和除法运算的工作原理;4 理解ALU的功能、设计方法和工作原理;5 掌握基本的浮点运算方法,了解浮点运算器的组成和原理;6 理解内部总线的概念、分类及特点;21 数据与文字的表示方法211 数据格式在选择计算机的数的表示方式时,应当全面考虑以下几个因素:要表示的数的类型(小数、整数、实数和复数):决定表示方式可能遇到的数值范围:确定存储、处理能力数值精确度:处理能力相关数据存储和处理所需要的硬件代价:造价高低两种常用格式:定点格式:定点格式容许的数值范围有限,

13、但要求的处理硬件比较简单; (1)定点纯小数量值符号x0 x1 x2 x3 xn-1 xn小数点固定于符号位之后,不需专门存放位置表示数的范围是 0|12n(最小数、最大数、最接近0的正数、最接近0的负数)x=0.00.0 x=1.00.0 x=0正0和负0都是0X=0.11.1x=12n最大X=0.00.01x=2n最接近0的正数X=1.00.01x=2n最接近0的负数X=1.11.1x=(12n )最小(2)定点纯整数x0 x1 x2 x3 xn-1 xn小数点固定于最后一位之后,不需专门存放位置量值符号表示数的范围是 0|2n1?最小数、最大数、最接近0的正数、最接近0的负数呢浮点格式:

14、容许的数值范围很大,但要求的处理硬件比较复杂。(1)定点数表示法定点指小数点的位置固定,为了处理方便,一般分为定点纯整数和纯小数。(2)浮点数表示法(小数点位置随阶码不同而浮动)指数 格式 N=Re.m 基数,取固定的值,比如10,2等尾数浮点表示法,即小数点的位置是浮动的。其思想来源于科学计数法。 :尾数,是一个纯小数。 e :比例因子的指数,称为浮点数的指数,是一个整数。 R :比例因子的基数,对于二进制数值的机器是一个常数,一般规定 为2,8或16。 一个机器浮点数由阶码和尾数及其符号位组成(尾数:用定点小数表示,给出有效数字的位数决定了浮点数的表示精度;阶码:用整数形式表示,指明小数点

15、在数据中的位置,决定了浮点数的表示范围。): 为便于软件移植,按照 IEEE754 标准,32位浮点数和64位浮点数的标准格式为 32位的浮点数中,:浮点数的符号位,1 位,0表示正数,1表示负数。:尾数,23位,用小数表示,小数点放在尾数域的最前面。:阶码(8 位),阶符采用隐含方式,即采用移码方式来表示正负指数。移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大。采用这种方式时,将浮点数的指数真值e 变成阶码 时,应将指数 e 加上一个固定的偏移值127(),即 e127. 例1: 若浮点数的754标准存储格式为()16,求其浮点数的十进制数值。解: 将十六进制

16、数展开后,可得二进制数格式为指数e阶码127=(3)10包括隐藏位1的尾数1.M1.011 0110 0000 0000 0000 00001.于是有(1)s1.M2e (1.)231011.011(11.375)10 例2: 将(20.59375)10转换成754标准的32位浮点数的二进制存储格式。解: 首先分别将整数和分数部分转换成二进制数:20.5937510100.10011然后移动小数点,使其在第1,2位之间10100.100111.24e4于是得到:S0,E4127131,M最后得到32位浮点数的二进制存储格式为:0100 0001 1010 0100 1100 0000 0000

17、 0000(41A4C000)16 浮点数的规格化:主要解决同一浮点数表示形式的不唯一性问题。规定 ,否则尾数要进行左移或右移。机器零的概念:当一个浮点数的尾数为0,不论其阶码为何数,或当阶码值遇到比它能表示的最小值还小时,不论其尾数为何值,计算机把该浮点数看成零值,称为机器零。十进制数串的表示方法字符串形式:一个字节存放一个十进制的数位或符号位BCD(压缩):一个字节存放两个十进制的数位编码方式有权码: (8421码、2421码、5211码)无权码: (余三码、格雷码)自定义数据表示4) 自定义数据表示标志符数据表示、描述符数据表示区别:标志符与每个数据相连,二者合起来存放在一个存储单元,而

18、描述符要和数据分开存放; 描述符表示中,先访问描述符,后访问数据,至少增加一次访存; 描述符是程序的一部分,而不是数据的一部分。212 数的机器码表示数的机器码表示真值和机器码:真值(书写用)、机器码(机器内部使用)的概念原码:优点:简单易懂。缺点:加减法运算复杂。补码: 加减法运算方便,减法可以转换为加法为了区别一般书写表示的数和机器中这些编码表示的数,通常将前者称为真值,后者称为机器数或机器码。原码表示法定点小数x0.x1x2xn x 1x0 0,正数x原= 符号 1-x=1+|x| 0 x-1 1,负数注:有正0和负0之分范围2-n-11- 2-n例:x=+0.x原=0. -x原=1.定

19、点整数x0 x1x2xn x 2nx0 0,正数x原= 符号 2n x=2n +|x| 0 x-2n 1,负数注:有正0和负0之分范围1-2n 2n-1例:x=+ x原= -x原=、补码: 我们先以钟表对时为例说明补码的概念。假设现在的标准时间为4点正; 而有一只表已经7点了,为了校准时间,可以采用两种方法:一是将时针退 7-4=3 格;一是将时针向前拨12-3=9格。这两种方法都能对准到4点,由此可以看出,减3和加9是等价的,就是说9是(-3)对12的补码,可以用数学公式表示-3+9(mod12)mod12的意思就是12模数,这个“模”表示被丢掉的数值。上式在数学上称为同余式。上例中其所以7

20、-3和7+9(mod12)等价,原因就是表指针超过12时,将12自动丢掉,最后得到16-12=4。从这里可以得到一个启示,就是负数用补码表示时,可以把减法转化为加法。这样,在计算机中实现起来就比较方便。定点小数x0.x1x2xn x 1x0 0,正数x补= 符号 x = 2 -|x| 0 x-1 1,负数注:0的补码只有一种形式范围2-n-11- 2-n例: ()x= -0.1011 ()y=-0.01111x补=10+x=10.0000-0.1011=1.0101y补=10+y=10.00000-0.01111=1,10001定点整数x0 x1x2xn x 2nx0 0,正数x 补= 符号

21、2n x = 2n+1 -|x| 0 x-2n 1,负数注:0的补码只有一种形式范围-2n 2n-13、 反码:为计算补码方便而引入计算公式:小数公式2.11(P25),整数公式2.12(P25)由反码求补码:符号位置1,各位取反,末位加1。4、 移码:用于阶码的表示,两个移码容易比较大小,便于对阶。定义:公式2.14。即将数值向X轴正方向平移2n例- 原码为补码为 反码为移码为特点:移码和补码尾数相同,符号位相反例3和例4小结:上面的数据四种机器表示法中,移码表示法主要用于表示浮点数的阶码。由于补码表示对加减法运算十分方便,因此目前机器中广泛采用补码表示法。在这类机器中,数用补码表示,补码存

22、储,补码运算。也有些机器,数用原码进行存储和传送,运算时改用补码。还有些机器在做加减法时用补码运算,在做乘除法时用原码运算。213 字符与字符串的表示方式ASCII码214 汉字的表示方式1) 输入码:用于汉字输入2) 内码:用于汉字的存储3) 字模码:用于汉字的显示215 校验码奇、偶校验码最简单且应用广泛的检错码是采用一位校验位的奇校验或偶校验。设(01n1)是一个n位字,则奇校验位定义为01n1(2.15) 式中代表按位加,表明只有当中包含有奇数个1时,才使1,即0。 同理,偶校验位定义为C01n1(2.16) 即中包含偶数个1时,才使C0。 例7已知下表中左面一栏有5个字节的数据。请分

23、别用奇校验和偶校验进行编码,填在中间一栏和右面一栏。 见P30补充内容一、常用逻辑门二、全加器三、编码器和译码器四、触发器五、寄存器22 定点加法、减法运算一、 补码加法加法公式:x+y补=x补+y补 (mod 2) (2.17)证明:(P31)假定X、Y均为定点小数,且|x|1 , |y|1, |x+y|0, y0 则x+y0 x 补+y补=x+y=x+y补 (正数的原、反、补码是相同的) x0, y0 2+(x+y)会产生进位,进位位丢掉2+(x+y)=x+y=x+y补 当x+y02+(x+y)=x+y补故 x补+y补= x+y补 x0(略) 同(2) x0, y0 x补=2+x y补 =

24、 2+yx补+y补=2+x+2+y=2+(2+x+y) -1x+y0 则 -1+2 2+x+y 0+2 1 2+x+y 2 2+(2+x+y)产生进位、丢掉,2+(2+x+y)= (2+x+y)又 x+y0 (2+x+y)= 2+(x+y)= x+y补注:补码加法的特点:(1)符号位要作为数的一部分参与运算 (2)要在模2的意义下相加,即超过2的进位要丢掉。例1: x=-0.1011,y=0.0111x补=1.0101 y补=0.0111x+y补=x补+y补=1.0101+0.0111=1.1100 x+y=-0.0100例2: x=+0.11011,y=-0.11111x补=0.11011

25、y补=1.00001 -y补=0.11111x-y补=x补+-y补=1.11010 二、 补码减法加法公式:x-y补=x补-y补 =x补+-y补 (mod 2) (2.18)证明:P32(略) 只要证明 y补+-y补=0 从y补求-y补,表达式为: -y补= 乛y 补+2-n其中 乛 表示对y补作包括符号位在内的求反操作 例10(略) P33 例11(略) P33三、 溢出概念与检测方法1. 溢出概念:溢出:在定点小数机器中,数的表示范围为|x|x-2 采用变形补码后:当1x0 两个符号位都是0。如00.1010 当0 x-1 两个符号位都是1。如11.1010 对变形补码其特点: 符号位参与

26、运算 在模4下相加运算,进位4丢掉 结论: 运算结果的两符号位相异时,表示溢出。 不论溢出与否,最高符号位始终指示正确的符号。例10(略) P34 例11(略) P34(2)单符号位:(1)当最高有效位产生进位而符号位无进位时,产生上溢出。(2)当最高有效位无进位而符号位产生进位时,产生下溢出。 溢出表达式为:V=CfC0 Cf符号位产生的进位,C0最高有效位产生的进位)Cf C000正确(正数)01上溢10下溢11正确(负数)四、 基本的二进制加法减法器输入输出Ai BiSi Ci0 00 00 11 01 01 01 10 1基本的加法和减法器 一位半加器真值表半加器(不考虑进位)HiAi

27、 Bi 电路图略全加器(考虑低位进位Ci-1和向高位的进位Ci) 真值表见P35表2.2 FA(全加器)逻辑电路图 FA框图进位处理方式:串行进位(行波进位)、并行进位二进制加法减法器图2.2(P35)五、 十进制加法器十进制加法减法器图2.3(P36)校正方法当Xi+Yi+Ci=10时, Si=S+6 校正因子生成方法若相加结果大于等于16,小于19若相加结果大于9,小于16例如: A =0101 B=0111 A +B = 0101 +0111 = 1100 (结果不是BCD码) 1100 01101 0010 (1为进位,构成12的BCD码,所以正确)23 定点乘法运算一、原码并行乘法1

28、定点原码乘法原理在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。x原=xf . xn-1x1x0 被乘数y原=yf . yn-1y1y0 乘数x y原=(xfyf)+(0. xn-1x1x0)(0. yn-1y1y0) 乘积尾数乘法如下:设 x0.1101,y0.1011. 0. 1 1 0 1 (x) 0. 1 0 1 1(y) 1101 1101 0000 1101 0.10001111()人们习惯的算法对机器并不完全适用。原因:(1) n位乘n位积可能为2n位.(2) 乘积的最后是所有部分积之和,有n个数相

29、加,而FA只有两个输入端所以需要改造方法一:硬件实现方法(串行的“加法移位”),硬件结构简单,速度太慢(时间延迟太长)。由于串行乘法速度太慢,已被淘汰。方法二:流水式阵列乘法器(并行乘法器)。2不带符号的阵列乘法器 MN位不带符号的阵列乘法器逻辑框图 5位5位不带符号的阵列乘法器逻辑电路图3带符号的阵列乘法器原理:矩形框中电路为找第一个1原理:算前求补原码乘法算后求补(首先取补不带符号乘法结果取补)E控制是否求补E与符号位相联在E的控制下求反 图2.6 对2求补电路在这种逻辑结构中,共使用三个求补器。其中两个算前求补器的作用是:将两个操作数A和B在被不带符号的乘法阵列(核心部件)相乘以前,先变

30、成正整数。而算后求补器的作用则是:当两个输入操作数的符号不一致时,把运算结果变成带符号的数。二、补码并行乘法1补码与真值的转换公式:IF N补=an-1an-2a1a0 对正数 an =0 对负数 an =1 例 x补=10110,则x=1*24+1*22+1*21=10 x=(11)*24+(10)23+(11)22+(11)*21+(10)*20+1=102一般化的加法器:有负权输入的,即可以做减法的。带负权的运算规则:(0)(0) (0)(0)(1) (1)(1)(0) (1)(1)(1) (1)(0)1 (1) 00 (1) (1)1 (0) 10 (0) 0结果处理:从带负权位开始的

31、几位,取反加13. 直接补码阵列除法器: 因符号位参与运算,可以完成补码的直接乘法,而不需求补级,节省了取补时间,大大的加快了乘法的速度。结构图见P44图2.8。例 设A补(01101)2,B补(11011)2,求AB补?解:(0) 1101 13) (1) 1011 5 (0) 1101 (0) 1101(0) 0000 (0) 1101 0 (1)(1)(0)(1) 0 (1) 0111111(1) 10111111 65 验证:127026125124123122121120128(32168421) 65(13)(5)65例 (1) 0 1 1 0负13 (0) 1 1 0 1正10

32、(1) 0 1 1 0 (0) 0 0 0 0 (1) 0 1 1 0 (1) 0 1 1 0 0 (0) ( 0) ( 0) ( 0) 0 (1) (1) 1 1 1 1 1 0 (1) 1 0 1 1 1 1 1 1 0 (转化以后结果)24 定点除法运算一、 原码除法算法原理1. 二进制除法公式:x原=xf . xn-1x1x0 被除数y原=yf . yn-1y1y0 除数x y原=(xfyf)+(0. xn-1x1x0)(0. yn-1y1y0) 商2. 余数处理的两种方法:(1)恢复余数法:运算步骤不确定,控制复杂,不适合计算机运算。(2)加减交替法:不恢复余数,运算步骤确定,适合计

33、算机操作。二、并行除法器(自学)CAS的结构,图2.9(a),并行除法器结构图2.9(b)。不恢复余数的除法也就是加减交替法。在不恢复余数的除法阵列中,每一行所执行的操作究竟是加法还是减法,取决于前一行输出的符号与被除数的符号是否一致。当出现不够减时,部分余数相对于被除数来说要改变符号。这时应该产生一个商位“0”,除数首先沿对角线右移,然后加到下一行的部分余数上。当部分余数不改变它的符号时,即产生商位“1”,下一行的操作应该是减法。例 0., 0.111, 求q =。解:x补0. 补0.111 补1.001故得商 qq0.q1q2q30.101余数 r(0.00r3r4r5r6)0. 25 定

34、点运算器的组成 运算器是数据的加工处理部件,是CPU的重要组成部分,尽管各种计算机的运算器结构可能或那样的不同,但最基本的结构中必须有算术/逻辑运算单元、数据缓冲寄存器、通用寄存器、多路转换器和数据总线等逻辑构件。一、逻辑运算 (前面讲过,自己看)计算机中的逻辑运算运算主要指逻辑非、逻辑加、逻辑乘、逻辑异。利用逻辑运算可以比较两个数(异或运算可以实现),或从某个数中选取某几位(与运算可以实现)等操作逻辑数概念:所谓的逻辑数是指不带符号的二进制数。例:例21-例24 (P50-P51)二、多功能算术逻辑运算单元(ALU) 本节介绍的是74LS181的基本逻辑结构是先行进位加法器,通过改变其输入端

35、Ai和Bi来实现算术运算和逻辑运算功能。怎样实现呢?1基本思想:一位全加器FA的逻辑表达式:加法器FA、减法单元CAS和一位ALU逻辑图图2.10 ALU的逻辑结构原理框图 为了实现多种算术逻辑运算,可将Ai和Bi输入一个函数发生器(进位传递函数和进位产生函数)得到输出Xi和Yi,作为一位全加器的输入(见上图)。上式中i代表集成在一片电路上的ALU的二进制位数n代表若干片ALU组成更大字长的运算器时每片电路的进位输入 2ALU的逻辑图与逻辑表达式Xi、Yi与控制参数和输入量的关系 S0 S1Yi S2 S3Xi0 00 010 1Bi0 1+1 0 1 0 +Bi1 101 1进一步化简得到下

36、式可以证明:Xi+Yi=Xi XiYi=Yi(自己试试看)综上所述:ALU的某一位逻辑表达式见下:例:S3S2S0S10000代入:上例可以处理16种算术、逻辑运算,每种运算只针对1位二进制编码思考:如何设计4位ALU?16位呢?4位ALU结构(见下图) 问题1:片内是串行进位还是并行进位? 回答:由上图结构中可以看出 Cn1Y0X0Cn Cn2Y1X1Cn1 Cn3Y2X2Cn2 Cn4Y3X3Cn3 显然是一个串行进位,速度慢,为了实现快速ALU,需加以改进。2. 上述片内进位是串行的缺点如何改进?思考:Cni与X、Y有关,而每一位中X、Y的产生是不是同时的? 回答:由于每一位中X、Y的产

37、生是同时的,则可以由下面方法算出并行进位的Cn4第0位向第1位的进位公式为 Cn1Y0X0Cn 其中Cn是向第0位(末位)的进位。 第1位向第2位的进位公式为 Cn2Y1X1Cn1Y1Y0X1X0X1Cn ( Cn1用(1)式代入) 第2位向第3位的进位公式为Cn3Y2X2Cn2Y2Y1X1Y0X1X2X0X1X2Cn 第3位的进位输出(即整个4位运算进位输出)公式为Cn4Y3X3Cn3Y3Y2X3Y1X2X3Y0X1X2X3X0X1X2X3Cn 令GY3Y2X3Y1X2X3Y0X1X2X3 (G为进位发生输出) PX0X1X2X3 (P为进位传送输出)增加P和G的目的在于实现多片(组)ALU

38、之间的先行进位,需要配合电路,称为先行进位发生器(CLA),这样的器件商业标号: 74181ALU3. 算术逻辑运算的实现具有正逻辑和负逻辑两种M=L时,对进位信号没有影响,做算术运算M=H时,进位门被封锁,做逻辑运算说明:74181执行正逻辑输入/输出方式的一组算术运算和逻辑运算和负逻辑输入/输出方式的一组算术运算和逻辑运算是等效的。A=B端可以判断两个数是否相等。内部逻辑结构图见下16位先行进位ALUCn+x=G0+P0Cn Cn+y=G1+P1Cn+x Cn+x=G2+P2Cn+y Cn+4=G3+P3Cn+z片内先行进位,片间串行进位4. 两级先行进位的ALU4片(组)的先行进位逻辑C

39、n+x=G0+P0Cn Cn+y=G1+P1Cn+x=G1+G0P1+P0P1CnCn+x=G2+P2Cn+y =G2+G1P2+G0P1P2+P0P1P2Cn Cn+4=G3+P3Cn+z =G3+G2P3+G1P2P3+G0P1P2P3+P0P1P2P3Cn =G*+P*CnG*为成组先行进位发生输出P*为成组先行进位传送输出 成组先行进位部件CLA的逻辑图三、内部总线机器内部各部份数据传送频繁,可以把寄存器间的数据传送通路加以归并,组成总线结构。总线分类(1)按所处位置内部总线(CPU内)外部总线(系统总线)(2)按逻辑结构单向传送总线双向传送总线由三态门组成的数据总线四、定点运算器的组

40、成1. 单总线结构的运算器2. 双总线结构的运算器3. 三总线结构的运算器26 浮点运算方法和浮点运算器一、 浮点加法、减法运算 设有两个浮点数和,它们分别为2ExM2EyM其中Ex和Ey分别为数和的阶码,Mx和My为数和的尾数。两浮点数进行加法和减法的运算规则是 (M2ExEyM)2Ey,设E0,表示ExEy;若E0,表示Ex0,表示EE,则移动y的尾数,M右移E位。 问题:为什么要小阶向大阶看齐?第三步:尾数求和运算 对阶完成后,即可进行尾数求和运算,不论是加、减运算,都按加法操作。第四步:规格化处理在浮点加减运算时,尾数求和的结果也可以得到01.或10.,即两符号位不等,此时将运算结果右

41、移以实现规格化表示,称为向右规格化。 规则:尾数右移1位,阶码加1结果是00.0.01或11.1.10.时,则向左规格化 规则:尾数左移1位,阶码减1第五步:舍入处理(对阶和向右规格化时)1. 0舍1入2. 恒置1法第六步:溢出判断和处理阶码上溢:一般将其认为是和 。阶码下溢:则数值为0尾数上溢:两个同符号位的数相加。处理方法是尾数右移,阶码 加1。尾数下溢:尾数右移时,最低位从最右端流出。进行要进行舍入处理。例 x220. y= - 240.解:假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位,则:第一步:操作数检查(非0) 第二步:对阶:阶差E = Ex-Ey = 00 010-

42、00 100 = 11 110即 阶差为 -2,Mx右移两位,Ex加2 第三步:尾数求和:00.(11)+11.=11.(11) 第四步:规格化处理:执行左规处理左规为11.(10),阶码减1为00011结果1. 阶码00 011 第五步:舍入处理:采用0舍1入法若采用0舍1入法为11.第六步:溢出判断阶码符号位为00,不溢出,故得最终结果为 X+Y= 2011(- 0.) 课堂练习:x=0.1101*201 y=-0.1010*211尾数和阶符都采用补码表示,都采用双符号位表示法。求x+y解:x浮=0001,00.1101y浮=0011,11.0110阶差=1110 即为-2Mx应当右移2位

43、,x浮=0011,00.0011(01)尾数和为11.1001(01)左规11.0010(10),阶码减1为0010舍入(0舍1入)11.0011x+y=-0.1101*210二、 浮点乘、除法运算 1. 浮点乘、除法规则,设有两个浮点数和:2ExM2EyM 2(ExEy)(MM)2(ExEy)(MM)2. 乘除运算分为四步0操作数检查阶码加减操作尾数乘除操作结果规格化和舍入处理原因是什么呢?移码的加减运算规律:移码采用双符号位,为了对溢出进行判断01 为正 00 为负10 上溢 11 下溢例26:P63 x = + 011,y = +110 ,求x+y移和x-y移,并判断是否溢出解:x补=0

44、0 011 y移=01 110-y移=00 010 x+y移= x补+ y移=00 011+01 110=10 001(上溢)x-y移= x补+ -y移=00 011+00 010=00 101和书上的结果完全一致。尾数处理截断舍入尾数用原码表示时只要尾数最低为1或者移出位中有1数值位,使最低位置10舍1入尾数用补码表示时(例27)丢失的位全为0,不必舍入。丢失的最高位为0,以后各位不全为0时;或者最高为1,以后各位全为0时,不必舍入。丢失的最高位为1,以后各位不全为0时,则在尾数的最低位入1的修正操作。三、 浮点运算流水线 为了实现流水,首先必须把输入的任务分割成一系列的子任务,使各子任务能

45、在流水线的各个阶段并发的执行。对于流水线方式,某一个任务的总体运算时间并没有缩短,而是系统的整体运算时间缩短了。流水线分类: 线性流水线:不带反馈线 非线性流水线:带反馈线加速比的定义:四、浮点运算器实例CPU之外的浮点运算器(数学协处理器)如80287完成浮点运算功能,不能单用。可以和80386或80286异步并行工作。高性能的80位字长的内部结构。有8个80位字长以堆栈方式管理的寄存器组。浮点数格式完全符合IEEE标准。CPU之内的浮点运算器(486DX以上)第三章 存储系统1 教学目的及要求:1)了解存储系统的分类、分级结构与主存储器的技术指标;2)理解SRAM、DRAM的组成和工作原理

46、,了解闪速存储器和只读存储器的工作原理;3)理解双端口存储器、多模块交叉存储器、相联存储器的组成和工作原理;4)掌握cache的运行原理、地址映射和地址变换,理解各种替换策略及其优缺点;5)掌握虚拟存储器的工作原理,理解段式、页式、段页式虚拟存储器的工作方法。6)了解存储保护的目的和常用方法。2教学重点SRAM、DRAM的基本单元工作原理。主存储器的组成与控制。3教学难点:多模块交叉存储器、相联存储器的组成和工作原理。cache的运行原理。 3)虚拟存储器的工作原理。4本章内容:RAM(SRAM,DRAM)ROM(EPROM,闪速存储器)高速存储器(双端口存储器,多模块交叉存储器,相联存储器)

47、Cache(原理、地址映射关系、替换和写操作策略)虚拟存储器(基本概念、页、段和段页式虚拟存储器地址变换,替换算法)存储器保护3.1 存储器概述存储器分类存储位(或存储元):指存储器中最小的存储单位二进制位。存储单元:由若干个存储元一个存储单元存储器:由许多存储单元组成一个存储器。根据存储材料的性能及使用方法不同,存储器有各种不同的分类方式:按存储介质分:磁表面/半导体存储器按存取方式分:随机/顺序存取(磁带)按读写功能分:ROM,RAMRAM:双极型/MOSROM:MROM/PROM/EPROM/EEPROM按信息的可保存性分:永久性和非永久性的按作用分:主/辅/缓/控二、 存储器分级结构1

48、. 目前的计算机系统,为什么要采用多种类型的存储器?为什么存储结构要采用分级体系结构?原因:目前存储器的特点是:速度快的存储器价格贵,容量小;而价格低的存储器速度慢,容量大。所以,在计算机存储器体系结构设计时,应当在存储器容量,速度和价格方面的因素作折中考虑,建立分层次的存储器体系结构 图3.1 存储系统的分级结构 Cpu能直接访问的存储器称为内存储器,它包括高速缓冲存储器和主存储器。CPU不能直接访问外存储器,外存储器的信息必须调入内存后才能为CPU进行处理高速缓冲存储器(Cache):是一个高速小容量半导体存储器。它的存取速度比主存储器快,但存储容量小。主要强调快速存取,以便使存储器速度和

49、CPU的运算速度相匹配。主存储器(简称主存):用来存放计算机运行期间的大量程序和数据,它能和cache交换数据和指令。主存储器由MOS半导体存储器组成。介于cache与外存储器之间,要求选取适当的存储容量和存取周期,使它能容纳系统的核心软件和较多的用户程序。外存储器(简称外存):存储容量大,位成本低。主要强调大的存储量三、主存储器的技术性能指标: 空间指标:存储容量在一个存储器中可以容纳的存储单元总数通常称为该存储器的存储容量 时间指标:存取时间(又称存储器访问时间)-是指从启动一次存储器操作到完成该操作所 经历的时间。存取周期是指连续启动再次读操作所需间隔的最小时间。存储器带宽是单位时间里存

50、取的信息量。是衡量存储器数据传输速率的重要技术指标。3.2 随机读写存储器 目前广泛使用的半导体存储器是MOS半导体存储器。根据信息存储原理的不同,分为静态MOS存储器(SRAM)、动态MOS存储器(DRAM)。优点:存取速度快,存储体积小,可靠性高,价格低廉;缺点:断电后存储器不能保存信息。一、SRAM存储器基本存储单元(1) 原理T1、T2为工作管T3、T4为负载管T5T8为控制管或开门管存储信息的方法:两个稳定的状态T1截止,T2导通,A点高电位,B点低电位T2截止,T1导通,B点高电位,A点低电位(2) 写操作 通过X 和Y 地址译码线输入高电平,打开T5T8, 写1 ,只需要在I/O

51、 线上输入高电位,使A 为高,B 为 低,输入信号和地址选择信号消失以后, T5T8 截止,存储单元保持一个稳定的状态1 。 在写操作的过程中,只有X 和Y 选择线同时为1 时,才能进行写操作。 2. SRAM的组成存储体(4096*16)通常把各个字的同一个字的同一位集成在一个芯片(4096*1)中,4096位排成64*64的矩阵。16个片子就可以构成(4096*16)。地址译码器单译码方式和双译码的方式(减少选择线的数 目)。A0A5为X地址译码线A6A11为Y地址译码线 驱动器I/O电路:在被选择和数据总线之间,控制被选择 单元读出和写入,具有信息放大的作用。片选和读写控制电路输出驱动电

52、路3、SRAM的实例 Intel2114介绍读与写的互锁逻辑4. 存储器和CPU的连接存储器和CPU的连接(地址、数据、控制)目前生产的存储芯片的容量有限,另外,在字长和位长与实际的存储器都有一定的差距。位扩展法没有选片要求字扩展法地址线:片内地址线;用作片选地址空间分配表字位同时扩展法4. 存储器和CPU的连接设有一个具有24位地址和8位字长的存储器,问:该存储器能够存储多少字节的信息?如果存储器由4M*1位的RAM组成,需要多少片?4M*1D0 .D7A0A21需要多少位地址线作芯片选择?总共224单元,能存放16MB的信息共需要16/4*8=32(片)片内地址线22位,可用2位作片选CP

53、UA23A22A0A21WED0D75. 存储器的读写周期读周期 读出时间Ta 读周期Trc 写周期Twc二、DRAM存储器1. 四管动态存储单元T1、T2为工作管T5T8为控制管或开门管2. 单管动态存储元(见上图b)3. DRAM实例 Intel 2116,16K*1位4. DRAM的刷新通常在刷新过程中只改变行选择线的地址,每次再生一行。刷新周期:从上一次对整个存储器刷新结束到下一次刷新结束时,这段时间间隔为刷新周期。比 如2116的刷新周期为2ms。刷新方式集中式:刷新时间集中,刷新操作一气呵成。 时间利用充分;3872/4000用与存储器读写。 但每2ms都有一个集中的128/400

54、0*2ms的等待时间。在该等待时间内,不能对DRAM进行存取。-分散式:存储器的系统工作周期分为两个部分:前半部分用于读写或保持,后半部分,用于再生一行。a. 存储器的刷新周期缩短了。由 2ms变成了128usb. 不存在停止读写的死时间c. 整个系统的速度降低了。耗费 增大了(50%)异步式刷新:前边两种方法的结合。在2ms中把128行分散的刷新一遍刷新方法: 只用RAS(Row Address Select) 消耗的电流小,但需要刷新地址计数器 CAS(Column Address Select) 在RAS 之前的刷新 不需要外加的刷新地址计数器 例2: 见P85例题 5. 存储器控制电路

55、由刷新计数器、仲裁电路、刷新定时器定时发生器地址多路开关组成。CPUDRAMCDRAMSRAM/DRAM的区别前者以6管作为基本存储电路,后者以4管或单管作为基本存储电路前者集成度低于后者,但高于双极型半导体存储器。前者不需要刷新,后者需要。前者的功耗高于后者,但低于双极型半导体存储器。后者价格便宜。三、高性能的主存储器SDRAM(SynchronousDynamic)RAM RDRAM(Rambus DRAM)FPM(FastPageMode)RAMEDROM(Extended Dynamic Random Access Memory) 扩展DRAMEDO(ExtendedDataOut)

56、RAMDDR(DoubleDataRate)EDRAM集成了一个小容量的高速的SRAM,可以暂时保存最近访问的一行。地址分行地址和列地址分时的传送支持猝发式存取读SRAM的同时可以对DRAM进行刷新输出路径和输入路径分开EDRAM内存条内存模块的封装SIMM(single in-line memory module)DIMM (dual in-line memory module )SODIMM (small outline dual in-line memory module )SIMMDIMMSODIMM3.3 只读存储器和闪速存储器一、只读存储器1. 分类MROMPROMEPROM(E2

57、PROM)2. 光可擦除可编程只读存储器(EPROM)EPROM实例编程(写数据) Vpp25、Vcc5V、CS1、PD/PGM由低到高脉冲读(正常工作) VppVcc5V、CS0、PD/PGM0,数据读出 未选中 VppVcc5V、CS1、PD/PGM无关,数据线高阻 功率下降模式 PD/PGM1,VppVcc5V、CS无关,数据线高阻 4. 存储器综合例子例3(P93)空间分布 补充例题(不讲)设CPU共有16根地址线,8根数据线,并用作为控制信号,用作为读写控制信号,现有下列芯片1K*4RAM,4K*8RAM,2K*8ROM以及74LS138(译码器)等多种门电路,画出CPU与存储器的连

58、接图。要求:主存地址空间分配:A000H-A777H为系统程序区,A800H-AFFFH为用户程序区合理选用上述芯片,说明用多少片详细画出芯片的片选逻辑A15A14A13A12A11A10A9A0D0D7G1G2AG2BCBAY5Y4二、闪速存储器什么是闪速存储器闪速存储器的存储单元电路是在CMOS单晶体管EPROM存储元基础上制造的,因此它具有非易失性。不同的是EPROM通过紫外光照射进行擦除,而闪速存储器则是在EPROM沟道氧化物处理工艺中特别实施了电擦除和编程次数能力的设计。通过先进的设计和工艺,闪速存储器实现了优于传统EPROM的性能。存储单元比EEPROM小10倍,塑料封装。 现广泛

59、运用于掌上电脑,数码相机、MP3随身听等各种数码产品中 Flash比SRAM成本低,比SRAM集成度高,且信息具有不易失性闪速存储器是目前唯一的具有大容量、非易失性、低价格、可在线改写、和较高速度几个特性共存的存储器。称为FLASH,是因为擦除速度快,擦除整个存储矩阵所花时间,与EEPROM擦除一个地址的时间相同 可以取代DRAM吗? 擦写次数106而DRAM可读写次数为1015次 速度:45ns而DRAM在10ns以内闪速存储器的逻辑结构P95 图3.25工作原理闪速存储器是在EPROM功能基础上增加了电路的电擦除和重新编程能力。28F256A芯片引入一个指令寄存器来实现这种功能。其作用是:

60、保证TTL电平的控制信号输入。在擦除和编程过程中稳定供电。最大限度的与EPROM兼容。工作模式P96 表3.4与CPU的连接P97 图3.26现代计算机都以存储器为中心例:一台速度为1GIPS的计算机,假设:CPU取指令:1GW/S(每条指令长度为一个字)CPU取操作数和存运算结果2GW/S(平均每条指令访问两个操作数)各种输入和输出设备访问存储器10MW/S三项相加,要求存储器的确带宽为3010MW/S,若存储总线宽度为W,要求存储器的确访问周期0.332ns 而现在的内存的访问时间几个ns,远远不能达到上述要求 目前,主存的速度还跟不上CPU的速度,所以,主存的存取周期仍然是计算机系统的瓶

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论