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

下载本文档

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

文档简介

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

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

3、应用l·科学计算:传统方式:工作量大、人工处理慢l·自动控制:数控机床、流水线控制l·测量和测试:提高精度、在恶劣条件下的测量l·信息处理:·教育和卫生:计算机辅助教学(cai)、多媒体教室、ct(computerized tomography)l·家用电器:l·人工智能 12 计算机的硬件121 数字计算机的硬件组成概念:存储单元、地址、存储容量、外存储器、内存储器、指令、程序、指令的组成、存储程序、程序控制、指令系统、指令周期、执行周期、cpu、主机、数据字、指令字、数据流、指令流、适配器。冯·诺依曼体系结构:

4、(1) 采用二进制形式表示数据和指令 数据和指令在代码的外形上并无区别都是由0和1组成的代码序列,只是各自约定的含义不同而已。采用二进制、使信息数字化容易实现,可以用二值逻辑工具进行处理。程序信息本身也可以作为被处理的对象,进行加工处理,例如对照程序进行编译,就是将源程序当作被加工处理的对象。(2) 采用存储程序方式 这是诺依曼思想的核心内容。如前所述,它意味着事先编制程序,事先将程序(包含指令和数据)存入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中依次取出指令且执行。这是计算机能高速自动运行的基础。计算机的工作体现为执行程序,计算机功能的扩展在很大程度上体现为所存储程序的扩展。

5、计算机的许多具体工作方式也是由此派生的。 (3) 由运算器、存储器、控制器、输入装置和输出装置等五大部件组成计算机系统,并规定了这五部分的基本功能。上述这些概念奠定了现代计算机的基本结构思想,并开创了程序设计的新时代。到目前为止,绝大多数计算机仍沿用这一体制,称为冯·诺依曼机体制。学习计算机工作原理也就从冯·诺依曼概念入门。 一般的计算机结构框图(存储器为中心)五大组成部分:运算器、控制器、存储器、输入输出设备。1. 运算器 算术运算和逻辑运算 在计算机中参与运算的数是二进制的 运算器的长度一般是8、16、32或64位2.存储器 存储器 存储数据和程序 容量(存储单元、存储

6、单元地址、容量单位) 分类内存(rom、ram)、外存 存储器单位: 210 byte1k 210 k1m 210 m1g 210 g1t存储单元:在存储器中保存一个数的16个触发器,称为一个存储单元。地址:存储器是由许多存储单元组成,每个存储单元的编号,称为地址。存储容量:存储器所有存储单元的总数。通常用单位“kb、mb”表示,如64kb,128mb。存储容量越大,表示计算机记忆储存的信息就越多。外存储器:计算机中又配备的存储容量更大的磁盘存储器、光盘存储器等。相对而言,半导体存储器称为内存储器,简称内存。3、控制器 控制器 指令和程序(计算机工作原理) 指令的形式(操作和地址码、存储程序的

7、概念、指令中程序和数据的存放、指令系统) 控制器的基本任务:按照一定的顺序一条接着一条取指令、指令译码、执行指令。取指周期和执行周期 指令流和数据流指令:每一个基本操作就叫做一条指令,程序:而解算某一问题的一串指令序列,叫做该问题的计算程序,简称为程序。 指令形式:的内容由两部分组成,即操作的性质和操作的地址。前者称为操作码,后者称为地址码。 操作码地址码 操作码:指出指令所进行的操作,如加、减、乘、除、取数、存数等等;地址码:表示参加运算的数据应从存储器的哪个单元取,运算的结果应存到哪个单元。取指周期:通常把取指令的一段时间叫做取指周期,执行周期:而把执行指令的一段时间叫做执行周期

8、。主机:cpu和存储器的合称4、适配器与i/o设备 计算机的发展(系统结构1.2doc)手工模仿计算机工作(1)手工模仿计算机工作(2) 加法001 减法010 乘法011 除法100 取数101 存数110 打印111 停机000操作码 操作数122 计算机系统结构的过去和未来发展:电子管晶体管集成电路大规模、超大规模集成电路趋势:l     由于计算机网络和分布式计算机系统能为信息处理提供廉价的服务,因此计算机系统的进一步发展,“三网合一”,将进入以通信为中心的体系结构。l      计算机

9、智能化将进一步发展,各种知识库及人工智能技术将进一步普及,人们将用自然语言和机器对话。计算机从数值计算为主过渡到知识推理为主,从而使计算机进入知识处理阶段。l      随着大规模集成电路的发展,不仅用多处理机技术来实现大型机系统功能,而且会出现计算机的动态结构,即所谓模块化计算机系统结构。l      多媒体技术将有重大突破和发展,并在微处理机、计算机网络与通信等方面引起一次巨大变革。13 计算机的软件计算机硬件是载体,软件是灵魂。131 软件的组成与分类分类:系统程序、应

10、用程序132 软件的发展演变手编程序(目的程序)汇编程序算法语言(高级语言)高级语言与机器语言的转换:编译系统、解释系统操作系统、数据库14 计算机系统的层次结构141 多级组成的计算机系统p16图1.6五个级别:第一级微程序设计级、第二级是一般机器级、第三级是操作系统级、第四级是汇编语言级、第五级是高级语言级。142 软件与硬件的逻辑等价性  补充:计算机的性能指标 基本字长基本字长是指参与运算的数的基本位数,它标志着计算精度。位数越多,精度越高,但硬件成本也越高,因为它决定着寄存器、运算部件、数据总线等的位数。 主存容量主存储器是cpu可以直接访问的存储器,需要执行的程序与需要处

11、理的数据就放在主存之中。主存容量大则可以运行比较复杂的程序,并可存入大量信息,可利用更完善的软件支撑环境。所以,计算机处理能力的大小在很大程度上取决于主存容量的大小。 外存容量外存容量一般是指计算机系统中联机运行的外存储器容量。由于操作系统、编译程序及众多的软件资源往往存放在外存之中,需用时再调入主存运行。在批处理、多道程序方式中,也常将各用户待执行的程序、数据以作业形式先放在外存中,再陆续调入主存运行。所以,联机外存容量也是一项重要指标,一般以字节数表示。 运算速度同一台计算机,执行不同的运算所需时间可能不同,因而对运算速度的描述常采用不同方法。常用的有cpu时钟频率、每秒平均执行指令数(i

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

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

14、)定点纯小数量值符号x0 x1 x2 x3 xn-1 xn小数点固定于符号位之后,不需专门存放位置表示数的范围是 0|12n(最小数、最大数、最接近0的正数、最接近0的负数)x=0.00.0x=1.00.0x=0正0和负0都是0x=0.11.1x=12n  最大x=0.00.01x=2n 最接近0的正数x=1.00.01 x=2n最接近0的负数x=1.11.1 x=(12n  )最小(2)定点纯整数x0 x1 x2 x3 xn-1 xn小数点固定于最后一位之后,不需专门存放位置量值符号表示数的范围是 0|2n1?最小数、最大数、最接近

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

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

17、浮点数的754标准存储格式为(41360000)16,求其浮点数的十进制数值。解: 将十六进制数展开后,可得二进制数格式为指数e阶码127100000100111111100000011=(3)10包括隐藏位1的尾数1.m1.011 0110 0000 0000 0000 00001.011011于是有       (1)s×1.m×2e        (1.011011)×231011.011(11.375)10 例2: 将

18、(20.59375)10转换成754标准的32位浮点数的二进制存储格式。解: 首先分别将整数和分数部分转换成二进制数:20.5937510100.10011然后移动小数点,使其在第1,2位之间10100.100111.010010011×24e4于是得到:s0,e4127131,m010010011最后得到32位浮点数的二进制存储格式为:0100 0001 1010 0100 1100 0000 0000 0000(41a4c000)16 浮点数的规格化:主要解决同一浮点数表示形式的不唯一性问题。规定 ,否则尾数要进行左移或右移。机器零的概念:当一个浮点数的尾数为0,不论其阶码为何数

19、,或当阶码值遇到比它能表示的最小值还小时,不论其尾数为何值,计算机把该浮点数看成零值,称为机器零。3) 十进制数串的表示方法 字符串形式:一个字节存放一个十进制的数位或符号位 bcd(压缩):一个字节存放两个十进制的数位 编码方式 有权码: (8421码、2421码、5211码) 无权码: (余三码、格雷码) 自定义数据表示4)  自定义数据表示标志符数据表示、描述符数据表示区别:l    标志符与每个数据相连,二者合起来存放在一个存储单元,而描述符要和数据分开存放;l    描述符表示中,先访问描述符,后访问数据

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

21、 2-n例:x=+0.11001110x原=0.11001110 -x原=1.11001110 定点整数x0x1x2xn x 2n>x0 0,正数x原= 符号 2n x=2n +|x| 0x>-2n 1,负数x=-11001110,=100000000-(-11001110)=100000000+11001110=111001110注:有正0和负0之分范围1-2n 2n-1例:x=+11001110 x原=011001110 -x原=111001110、补码: 我们先以钟表对时为例说明补码的概念。假设现在的标准时间为4点正; 而有一只表已经7点了,为了校准时间,可以采用两种方法:一

22、是将时针退 7-4=3 格;一是将时针向前拨12-3=9格。这两种方法都能对准到4点,由此可以看出,减3和加9是等价的,就是说9是(-3)对12的补码,可以用数学公式表示-3+9(mod12)mod12的意思就是12模数,这个“模”表示被丢掉的数值。上式在数学上称为同余式。上例中其所以7-3和7+9(mod12)等价,原因就是表指针超过12时,将12自动丢掉,最后得到16-12=4。从这里可以得到一个启示,就是负数用补码表示时,可以把减法转化为加法。这样,在计算机中实现起来就比较方便。 定点小数x0.x1x2xn x 1>x0 0,正数x补= 符号 x = 2 -|x| 0x>-1

23、 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 定点整数x0x1x2xn x 2n>x0 0,正数x 补= 符号 2n x = 2n+1 -|x| 0x>-2n 1,负数x=-1011011 =100000000-1011011=1注:0的补码只有一种形式范围-2n 2n-13、 反码:为计算补码方便而引入计算公式:小数公式2.11(p25),整数公式2.12(p25)由反码求补码:符号位置1

24、,各位取反,末位加1。4、 移码:用于阶码的表示,两个移码容易比较大小,便于对阶。 x+2n=定义:公式2.14。即将数值向x轴正方向平移2n 例-1011111 原码为11011111 补码为10100001 反码为10100000 移码为10000000+(-1011111)=10000000-1011111=00100001 特点:移码和补码尾数相同,符号位相反 例3和例4小结:上面的数据四种机器表示法中,移码表示法主要用于表示浮点数的阶码。由于补码表示对加减法运算十分方便,因此目前机器中广泛采用补码表示法。在这类机器中,数用补码表示,补码存储,补码运算。也有些机器,数用原码进行存储和传

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

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

27、丢掉2+(x+y)=x+y=x+y补 当x+y<02+(x+y)=x+y补故 x补+y补= x+y补(3) x<0, y>0(略) 同(2)(4) x<0, y<0x补=2+x y补 = 2+yx补+y补=2+x+2+y=2+(2+x+y) -1<x+y<0 则 -1+2 < 2+x+y <0+2 1 < 2+x+y <2 2+(2+x+y)产生进位、丢掉,2+(2+x+y)= (2+x+y)又 x+y<0 (2+x+y)= 2+(x+y)= x+y补注:补码加法的特点:(1)符号位要作为数的一部分参与运算 (2)要在模2

28、的意义下相加,即超过2的进位要丢掉。例1: x=-0.1011,y=0.0111x补=1.0101 y补=0.0111x+y补=x补+y补=1.0101+0.0111=1.1100x+y=-0.0100例2: x=+0.11011,y=-0.11111x补=0.11011 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补作包括符号位在内的求反操作 例

29、10(略) p33 例11(略) p33三、 溢出概念与检测方法1. 溢出概念:溢出:在定点小数机器中,数的表示范围为|x|<1。在运算过程中如果出现大于1的情况,称为溢出。上溢:两个正数相加,结果大于机器所能表示的最大正数下溢:两个负数相加,结果小于机器所能表示的最小负数2溢出的检测方法:(1)双符号位(变形补码或模4补码): 变形补码定义: x x= 4+x 0>x>-2 采用变形补码后:当1>x0 两个符号位都是0。如00.1010 当0>x>-1 两个符号位都是1。如11.1010 对变形补码其特点: 符号位参与运算 在模4下相加运算,进位4丢掉 结

30、论: 运算结果的两符号位相异时,表示溢出。 不论溢出与否,最高符号位始终指示正确的符号。例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 bi 电路图略 全加器(考

31、虑低位进位ci-1和向高位的进位ci) 真值表见p35表2.2  fa(全加器)逻辑电路图 fa框图进位处理方式:串行进位(行波进位)、并行进位二进制加法减法器图2.2(p35)五、 十进制加法器十进制加法减法器图2.3(p36) 校正方法 当xi+yi+ci<10时, si=s 当xi+yi+ci>=10时, si=s+6 校正因子生成方法若相加结果大于等于16,小于19若相加结果大于9,小于16例如:        a =0101     b=0111

32、0;       a +b = 0101 +0111 = 1100 (结果不是bcd码)        1100 01101 0010 (1为进位,构成12的bcd码,所以正确)23 定点乘法运算一、原码并行乘法1定点原码乘法原理一、在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。x原=xf . xn-1x1x0 被乘数y原=yf . yn-1y1y0 乘数x · y原=(x

33、fyf)+(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个数相加,而fa只有两个输入端所以需要改造方法一:硬件实现方法(串行的“加法移位”),硬件结构简单,速度太慢(时间延迟太长)。由于串行乘法速度太慢,已被淘汰。方法二:流水式阵列乘法器(并行乘法器)。2不带符号的阵列乘法器

34、 m×n位不带符号的阵列乘法器逻辑框图 5位×5位不带符号的阵列乘法器逻辑电路图3带符号的阵列乘法器原理:矩形框中电路为找第一个1原理:算前求补原码乘法算后求补(首先取补不带符号乘法结果取补)e-控制是否求补e-与符号位相联在e的控制下求反 图2.6 对2求补电路在这种逻辑结构中,共使用三个求补器。其中两个算前求补器的作用是:将两个操作数a和b在被不带符号的乘法阵列(核心部件)相乘以前,先变成正整数。而算后求补器的作用则是:当两个输入操作数的符号不一致时,把运算结果变成带符号的数。二、补码并行乘法1补码与真值的转换公式:if n补=an-1an-2a1a0 对正数 an =

35、0 对负数 an =1 例 x补=10110,则x=1*24+1*22+1*21=10x=(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结果处理:从带负权位开始的几位,取反加13. 直接补码阵列除法器: 因符号位参与运算,可以完成补码的直接乘法,而不需求补级,节省了取补时间,大大的加快了乘法的速度。结构图见p44图2.8。例 设a补(01101)2

36、,b补(11011)2,求a×b补?解:(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   验证:1×270×261×251×241×231×221×211×20128(32168421) 65(13)×(5)65例 (1) 0 1 1 0-负13 (0) 1 1 0 1-正10 (1) 0 1 1 0 (0

37、) 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)加减交替法:不恢复余数,运算步骤确定,适合计算机操作。二、

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

39、;      补0.111  补1.001故得商 qq0.q1q2q30.101余数 r(0.00r3r4r5r6)0.000110 25 定点运算器的组成 运算器是数据的加工处理部件,是cpu的重要组成部分,尽管各种计算机的运算器结构可能或那样的不同,但最基本的结构中必须有算术/逻辑运算单元、数据缓冲寄存器、通用寄存器、多路转换器和数据总线等逻辑构件。一、逻辑运算 (前面讲过,自己看)计算机中的逻辑运算运算主要指逻辑非、逻辑加、逻辑乘、逻辑异。利用逻辑运算可以比较两个数(异或运算可以实现),或从某个数中选取某几位(与运算可以实现)等

40、操作逻辑数概念:所谓的逻辑数是指不带符号的二进制数。例:例21-例24 (p50-p51)二、多功能算术逻辑运算单元(alu) 本节介绍的是74ls181的基本逻辑结构是先行进位加法器,通过改变其输入端ai和bi来实现算术运算和逻辑运算功能。怎样实现呢?1基本思想:一位全加器fa的逻辑表达式:加法器fa、减法单元cas和一位alu逻辑图图2.10 alu的逻辑结构原理框图 为了实现多种算术逻辑运算,可将ai和bi输入一个函数发生器(进位传递函数和进位产生函数)得到输出xi和yi,作为一位全加器的输入(见上图)。上式中i代表集成在一片电路上的alu的二进制位数n代表若干片alu组成更大字长的运算

41、器时每片电路的进位输入 2alu的逻辑图与逻辑表达式xi、yi与控制参数和输入量的关系 s0 s1yi s2 s3xi0 00 010 1bi0 1+1 0 1 0 +bi1 101 1进一步化简得到下式可以证明:xi+yi=xi xiyi=yi(自己试试看)综上所述:alu的某一位逻辑表达式见下:例:s3s2s0s10000代入:上例可以处理16种算术、逻辑运算,每种运算只针对1位二进制编码思考:如何设计4位alu?16位呢?4位alu结构(见下图) 问题1:片内是串行进位还是并行进位? 回答:由上图结构中可以看出      

42、60;     cn1y0x0cn            cn2y1x1cn1               cn3y2x2cn2           cn4y3x3cn3   &#

43、160;        显然是一个串行进位,速度慢,为了实现快速alu,需加以改进。2. 上述片内进位是串行的缺点如何改进?思考:cni与x、y有关,而每一位中x、y的产生是不是同时的?    回答:由于每一位中x、y的产生是同时的,则可以由下面方法算出并行进位的cn4第0位向第1位的进位公式为 cn1y0x0cn 其中cn是向第0位(末位)的进位。 第1位向第2位的进位公式为 cn2y1x1cn1y1y0x1x0x1cn ( cn1用(1)式代入) 第2位向第3位的进位公式为cn3y2x2cn

44、2y2y1x1y0x1x2x0x1x2cn 第3位的进位输出(即整个4位运算进位输出)公式为cn4y3x3cn3y3y2x3y1x2x3y0x1x2x3x0x1x2x3cn 令gy3y2x3y1x2x3y0x1x2x3 (g为进位发生输出) px0x1x2x3 (p为进位传送输出)增加p和g的目的在于实现多片(组)alu之间的先行进位,需要配合电路,称为先行进位发生器(cla),这样的器件商业标号: 74181alu3. 算术逻辑运算的实现具有正逻辑和负逻辑两种m=l时,对进位信号没有影响,做算术运算m=h时,进位门被封锁,做逻辑运算说明:74181执行正逻辑输入/输出方式的一组算术运算和逻辑

45、运算和负逻辑输入/输出方式的一组算术运算和逻辑运算是等效的。a=b端可以判断两个数是否相等。内部逻辑结构图见下16位先行进位alucn+x=g0+p0cn cn+y=g1+p1cn+x cn+x=g2+p2cn+y cn+4=g3+p3cn+z片内先行进位,片间串行进位4. 两级先行进位的alu4片(组)的先行进位逻辑cn+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*c

46、ng*为成组先行进位发生输出p*为成组先行进位传送输出 成组先行进位部件cla的逻辑图三、内部总线机器内部各部份数据传送频繁,可以把寄存器间的数据传送通路加以归并,组成总线结构。总线分类(1)按所处位置内部总线(cpu内)外部总线(系统总线)(2)按逻辑结构单向传送总线双向传送总线由三态门组成的数据总线四、定点运算器的组成1. 单总线结构的运算器2. 双总线结构的运算器3. 三总线结构的运算器26 浮点运算方法和浮点运算器一、 浮点加法、减法运算 设有两个浮点数和,它们分别为2ex·m2ey·m其中ex和ey分别为数和的阶码,mx和my为数和的尾数。两浮点数进行加法和减法的

47、运算规则是 ±(m2exey±m)2ey,设e<e运算步骤:0操作数检查对阶尾数加减规格化、舍入第一步:操作数检查第二步:对阶:阶码对齐后才能加减。规则是阶码小的向阶码大的数对齐,若e0,表示两数阶码相等,即exey;若e>0,表示ex>ey;若e<0,表示ex<ey。当exey 时,要通过尾数的移动以改变ex或ey,使之相等。 原则:设e>0,表示e>e,则移动y的尾数,m右移e位。 问题:为什么要小阶向大阶看齐?第三步:尾数求和运算 对阶完成后,即可进行尾数求和运算,不论是加、减运算,都按加法操作。第四步:规格化处理1. 在浮点加减运算时,尾数求和的结果也可以得到01.或10.,即两符号位不等,此时将运算结果右移以实现规格化表示,称为向右规格化。 规则:尾数右移1位,阶码加12. 结果是00.0.01.或11.1.10.时,则向左规格化 规则:尾数左移1位,阶码减1第五步:舍入处理(对阶和向右规格化时)1. 0舍1入2. 恒置1法第六步:溢出判断和处理阶码上溢:一般将其认为是和 。阶码下溢:则数值为0尾数上溢:两个同符号位的数相加。处理方法是尾数右移,阶码 加1。尾数下溢:尾数右移时,最低位从最右端流出。进行要进行舍入处理。例

温馨提示

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

评论

0/150

提交评论