计算机组成原理本全白中英.ppt

上传人:小飞机 文档编号:6202383 上传时间:2023-10-04 格式:PPT 页数:395 大小:6.10MB
返回 下载 相关 举报
计算机组成原理本全白中英.ppt_第1页
第1页 / 共395页
计算机组成原理本全白中英.ppt_第2页
第2页 / 共395页
计算机组成原理本全白中英.ppt_第3页
第3页 / 共395页
计算机组成原理本全白中英.ppt_第4页
第4页 / 共395页
计算机组成原理本全白中英.ppt_第5页
第5页 / 共395页
点击查看更多>>
资源描述

《计算机组成原理本全白中英.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理本全白中英.ppt(395页珍藏版)》请在三一办公上搜索。

1、1,计算机组成原理,王老师,2,概述,计算机组成:主要指计算机硬件的具体实现方式及工作原理从三方面掌握本课程内容硬件结构:从物理上、逻辑上掌握计算机各部件和器件的构成和作用实现方式:硬件联接形式和内部处理方式(如控制器、运算器的实现方式等)工作原理:计算机各部分内部工作过程,3,本课程的重要地位本课程是计算机及相关专业的核心专业基础课,对后续课程(操作系统、接口与通信等)的学习十分重要。考研必考课程。通过课程的学习主要掌握以下内容本课程主要讲授单处理机系统的组成及工作原理。分析和说明计算机由哪些功能部件组成(结构),各功能部件在整机中的作用,以及它们如何完成各自所分配的任务(工作原理)。学习难

2、点内容较多、结构复杂、要有数字逻辑的基础学习思路(方法)分析结构、弄清原理、多做练习,4,主要内容计算机系统概述(计算机基础、基本概念)运算方法和运算器(计算机中数据的表示和编码:包括数值、非数值数据,整数、小数,汉字,校验码等。计算机中运算方法:定点运算、浮点运算、逻辑运算。运算器及实现)内部存储器(存储器芯片的结构与工作原理,存储器的组织与连接,高速存储器、等)指令系统(指令格式、寻址方式、典型指令)中央处理器(CPU的组成及工作原理,控制器的实现,实现技术)总线系统(总线概念、总线技术)外围设备(典型外围设备基本工作原理)输入输出系统(输入输出控制方式)操作系统支持(调度,存储管理,虚拟

3、存储器等),5,第一章 计算机系统概论,第一节计算机分类电子计算机从总体上来说分为两大类:电子模拟计算机和电子数字计算机。电子模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。电子数字计算机的主要特点是按位运算,并且不连续地跳动计算。,6,数字计算机又可分为专用计算机和通用计算机。专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。专用机是最有效、最经济和最快速的计算机,它是针对某一任务设计的计算机,但是它的适应性很差。通用机适应性很大,但是牺牲了效率、速度和经济性。通用计算机又分巨型机、大型机、中型机、小型机、微型机和单片机六类。它们的区别在于体积、简易性、功率损

4、耗、性能指标、数据存储容量、指令系统规模和机器价格。,7,第二节 计算机的发展1、计算机五代变化2、半导体存储器芯片的发展3、微处理器的发展4、计算机体系结构的变化计算机体系结构是在冯诺依曼结构的基础上,围绕提高速度、提高字长、扩大存储容量、降低成本、提高系统可靠性和方便使用等诸方面,通过新器件和新软件提高计算机性能。体系结构上,从指令系统、微程序设计、流水线结构、多级存储器体系结构、输入/输出体系结构、并行体系结构、分布式体系结构等方面的形成和发展。体系结构发展趋势:网络化、智能化、模块化、多媒体应用。,8,第三节 计算机的硬件,一、数字计算机硬件的组成硬件:指计算机中的电子线路和物理装置。

5、计算机硬件由五大部分组成:即运算器、控制器、存储器、输入设备、输出设备。运算器进行数据处理或信息加工()包括各种算术运算、逻辑运算和判断处理存储器存放程序和数据()程序是计算机进行各种操作和控制的依据数据是计算机进行操作的对象计算机中存放的程序和数据都是二进制形式的,9,控制器控制计算机各部分自动协调的工作()完成的工作是从内存中读取指令,分析和解释指令,然后按指令的要求发出操作命令,控制计算机各部分自动协调的工作。简单程序指令形式控制器的基本任务指令流和数据流冯诺依曼体系结构计算机的主要特征是:采用存储程序和数据,由指令流来控制计算机的操作。输入设备输入信息到计算机中的设备输出设备从计算机中

6、输出信息的设备,10,第四节计算机软件一、软件的组成与分类 计算机中的各种程序、数据和有关文档构成计算机的软件系统。计算机的软件一般分为两大类:系统软件:便于计算机使用的系统管理程序(包括操作系统、语言处理、数据库管理系统等)应用软件:针对用户具体实际应用的程序,11,二、软件的发展目的程序汇编程序源程序 编译程序操作系统 数据库管理系统,12,第四节计算机系统的层次结构 一、多级组成的计算机系统微程序设计级 一般机器级 操作系统级 汇编语言级 高级语言级二、软件与硬件的逻辑等价性,13,第四节 计算机系统的层次结构,计算机系统具有层次性,它是由多级层次结构组成的。其层次之间的关系十分紧密,上

7、层是下层功能的扩展,下层是上层的基础;层次的划分不是绝对的,各层之间有时是相互渗透的。,14,第二章运算方法和运算器,第一节数据与文字的表示数据一般分为两大类:数值数据:有确定的值,相互间有大小关系非数值数据:相互间无大小关系,用于表示符号、文字或属性。,15,一、数制及相互转换1、数制常用数制十进制(D):日常使用数制二进制(B):数字计算机内部使用数制十六进制(H):为使于对二进制的阅读和书写,常采用十六进制(或八进制)表示。,16,对一任意数S,其r进制数表示为(S)rkn r n-1+kn-1 r n-2+ki r i-1+k-m r-m-1其中 kir r称为进位计数值的基数,ki为

8、第i位数字符,i为位序号,r i为第i位的位权。,17,(347)8=382+481+780=(103)10(347.5)8=382+481+780+58-1=(231.625)10(34E.5)16=3162+4161+14160+516-1=(846.3125)10,18,2、不同数制间的转换1十进制八,十六进制二进制法则整数部分:除8(16)取余数小数部分:乘8(16)取整重复循环,19,2八,十六进制二进制二进制八进制以小数点为界,分别向左和向右每三位分为一组,然后写出各组对应的八进制数。二进制十六进制以小数点为界,分别向左和向右每四位分为一组,然后写出各组对应的十六进制数。,20,3

9、八,十六进制十进制直接按照相应进制数的公式,依“按权相加”的方法计算出通式的值。(10110.01)=124+023+122+181+120+02-1+12-2=(22.25)10(347.5)8=382+481+780+58-1=(231.625)10(34E.5)16=3162+4161+14160+516-1=(846.3125)10,21,二、数据格式在计算机中进行数据表示时需考虑的几个因素:表示数的类型(小数、整数、实数等)数值的范围数值的精度数据存储及处理的硬件代价,22,计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。一般来说定点格式容许的数值范围有限(通常用于表示

10、整数或纯小数),但要求的处理硬件比较简单。浮点格式容许的数值范围很大(可以表示实数),但要求的处理硬件比较复杂。,23,、定点数的表示定点表示:约定机器中所有数据的小数点位置是固定不变的。由于约定在固定的位置,小数点就不再使用记号“.”来表示。通常将数据表示成纯小数或纯整数。n+1位定点数表示:X0 X1 X2X3 Xi Xn-2 Xn-1Xn 其中X0为符号位,X Xn为数值部分,Xi为或。,24,1定点小数最高位为符号位,小数点位置隐含约定在符号位后,其后为数值部分n+1位定点小数的表示范围是0X12n或:(12n)X12n(16位小数范围:(12)X12),25,2定点整数最高位为符号位

11、,其后为数值部分,小数点位置隐含约定在数值部分的后面。n+1位定点整数的表示范围是0X2n 1或:(2n 1)X2n 1(16位整数范围:(215 1)X(215 1),26,2、浮点表示法1数的浮点表示其范围和精度部分分别用定点数表示123.45=1234.5101=1234510 2=12345010 34796.540.4796541040.00479654 0.4796541020.00479654 0.479654102,27,101.1101=0.101110120011=0.01011101020100101.1101=0.101110120011=0.0101110102010

12、00.0001011101=0.101110120011=0.010111010200100.0001011101=0.101110120011=0.01011101020010,28,任意十进制N,可以化为NM10E其中M为小数,E为整数一个数S的任意进制表示(S)RmRem:尾数,是一个纯小数。e:比例因子的指数,称为浮点的指数,是一个整数。R:比例因子的基数,对于二进计数值的机器是一个常数,一般规定 为2,8或16。,29,浮点表示法:把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,这种把数的范围和精度分别表示的方法,数的小数点位置随比例因子的不同而在一定范围内自由浮动

13、。对于:101.1101(=0.101110120011)只需存放0.1011101和0011即010111010011,30,一个机器浮点数由阶码和尾数及其符号位组成(尾数:用定点小数表示,给出有效数字的位数,决定了浮点数的表示精度;阶码:用整数形式表示,指明小数点在数据中的位置,决定了浮点数的表示范围。)具体格式见教材17,31,IEEE标准总位数符号位阶码尾数短实数321823长实数64111 52临时实数80115 64,32,阶码和尾数各占用的位数确定了浮点数的格式对二进制数而言:1110.0110.11100112100 0.0011100110.1110011210 0.0011

14、100110.1110011210在将上面的数以浮点数格式存放时,只需将红色部分按照浮点数格式要求的位数,化为相应的补码或移码,按照浮点数格式存放。,33,为提高数据的表示精度,当尾数的值不为 0 时,其绝对值应0.5,即尾数域的最高有效位应为1,否则以修改阶码同时左右移小数点的办法,使其变成这一表示形式,这称为浮点数的规格化表示。101.1101=0.101110120011=0.01011101020100 规格化表示为尾数是0.1011101,阶码是0011而尾数是0.01011101,阶码是0100不是规格化表示。,34,当浮点数的尾数为 0,不论其阶码为何值,或者阶码的值遇到比它能表

15、示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零值,称为机器零。浮点数转换的实例见18,35,IEEE754浮点数格式说明一个规格化的32位浮点数的真值可表示为(1)s(1.)2127 e127其中的范围是(阶码范围126+127),0和255作特殊用途:浮点数+,0:,时表示x(1),:255,M0时x(1)IEEE754的32位浮点数表示的除外的绝对值最小的数:s 00000001 0000 0000 0000 0000 0000 000 x()S21261.0IEEE754的32位浮点数表示的除外的绝对值最大的数:s 11111110 1111 1111 1111 1111

16、1111 111x()S2127(22 23),36,3、十进制数串的表示十进制数串在计算机内主要有两种表示形式:1字符串形式字符串形式:一个字节存放一个十进制的数位或符号位。为了指明这样一个数,需要给出该数在主存中的起始地址和位数(串的长度)。,37,2.压缩的十进制数串形式压缩的十进制数串形式:一个字节存放两个十进制的数位。它比前一种形式节省存储空间,又便于直接完成十进制数的算术运算,是广泛采用的较为理想的方法。码(二十进制编码),38,、自定义数据表示自定义数据表示则用数据本身来说明数据类型。其表示形式有两种,即标志符数据表示和描述符数据表示。标志符数据表示要求对每一个数据都附加标志符(

17、),其中标志符指明后面的数据所具有的类型,如整数、浮点数、BCD数、字符串等。,39,描述符数据表示主要用来描述多维结构的数据类型,如向量、矩阵、记录等()。描述符标志位部分指明这是一个数据描述符;特征标记部分指明数据的各种特征;长度部分指明数组中元素个数;起始地址部分指明数据块的首地址。,40,标志符与描述符表示的区别是:(1)标志符与每个数据相连,二者合起来存放在一个存储单元,而描述符要和数据分开存放。(2)描述符表示中,先访问描述符,后访问数据,至少增加一次访存。(3)描述符是程序的一部分,而不是数据的一部分。,41,二、数的机器码表示在计算机中对数据进行运算操作时,符号位的表示,符号位

18、是否也同数值位一道参加运算,如何参加运算?为了妥善的处理好这些问题,就需要把符号位和数字位一起编码表示数据,为适应不同的处理要求,产生了多种数据编码方法,如原码、补码、反码、移码等。,42,计算机中对数据的表示都采用二进制编码真值:数值数据的实际值,如257,33,1011B等机器数(机器码):数值数据在计算机内的编码表示,43,在计算机中通常采用原码、补码、反码和移码表示数值数据原码、补码、反码的共性:1)这几种编码表示中,正数的编码值与真值一样,负数具有不同的编码。2)编码的最高位为符号位:0表示正1表示负,44,1、原码表示法符号位:0表示正,1表示负数值部分:与真值的二进制形式一样原码

19、的特征:1)零有两种表示:0和0+0原=0.000.0-0原=1.000.0 2)优点:简单直观,便于乘、除法运算缺点:加减法运算不便(符号不能直接参预运算),45,2、反码表示法符号位:0表示正,1表示负数值部分:正数不变;负数反码是将真值的各位取反得到反码的特征:1)零有两种表示:0和00反0.00.00反1.11.12)通常用于求补码,46,3、补码表示法符号位:0表示正,1表示负数值部分:正数不变;负数通过求补得到计算机中数值数据采用补码形式,其符号部分可以直接参预加、减法运算。补码的特征:1)零的表示唯一2)补码加减法运算中,符号直接参预运算3)定点小数表示中,-1补1.000,47

20、,、移码表示法移码通常用于表示浮点数的阶码。阶码是个n位的整数。n+1位移码的定义是移2n2n2n符号位:1表示正,0表示负数值部分:与补码数值部分相同移码的特征:1)零的表示唯一:100002)移码只能表示整数(只有整数有移码),用于浮点数阶码表示,48,例:写出下列各数位的原码、反码、补码、移码表示。77103 0.0110123/6477=1001101103=110011123/64=1011126=0.010111,49,例:写出下列机器码的真值。x1原0.110101x2原1000101x3反1.010101 x4反0.000101x5补1.010101 x6补0.000101x7

21、补1.000000 x8补10000000 x3移1.010101 x4移0.000101,50,三、字符与字符串的表示方法、字符的表示采用位ASCII码表示0 9 30H39HA41Ha61H,51,2、字符串的表示字符串是指连续的一串字符,通常方式下,它们占用主存中连续的多个字节,每个字节存一个字符。当主存字由2个或4个字节组成时,在同一个主存字中,既可按从低位字节向高位字节的顺序存放字符串的内容,也可按从高位字节向低位字节的次序顺序存放字符串的内容。,52,四、汉字的表示方法内部编码(内码),输入码,显示(打印)码,53,五、校验码校验码:按照一定的规律和方法,通过给数据增加一位或多位数

22、据而重新编码的方法,使得计算机能够发现或纠正数据在存放或传送过程中出现的错误。这样得到的新的编码称为校验码。其中增加的数据位称为校验位。,54,检错码:具有发现错误能力的校验码称为检错码。纠错码:能够发现并纠正错误的校验码称为纠错码。奇偶校验码:能够发现一位或奇数位数据错误。奇校验码:通过给数据增加一位校验位,使校验码中1的个数为奇数个。偶校验码:通过给数据增加一位校验位,使校验码中1的个数为偶数个。,55,第二节定点加、减法运算一、补码加法1、补码加法负数用补码表示后,可以和正数一样来处理。这样,运算器里只需要一个加法器就可以了,不必为了负数的加法运算,再配一个减法器。补码加法的公式是补补补

23、(mod 2)补码加法的特点:符号位要作为数的一部分一起参加运算,要在模2的意义下相加,即超过2的进位要丢掉。,56,、补码减法负数的减法运算也要设法化为加法来做,其所以使用这种方法而不使用直接减法,是因为它可以和常规的加法运算使用同一加法器电路,从而简化了计算机的设计。数用补码表示时,减法运算的公式为补补补补补在实际计算时,利用补 补补公式将减法运算变为加法进行,57,现在的问题是如何从y补去求y补这一点在硬件上实现也很简单,只需对y补包括符号位“求反且最末位加1”(简称“求反加”),即可得到y补。,58,三、溢出概念与检测方法 在定点小数机器中,数的表示范围为|1.在运算过程中如出现大于1

24、的现象,称为“溢出”。在定点机中,正常情况下溢出是不允许的。上溢:两个正数相加,结果大于机器所能表示的最大正数,称为上溢。下溢:两个负数相加,结果小于机器所能表示的最小负数,称为下溢。,59,为判断运算中是否产生溢出,可采用两种检测的方法。第一种方法是采用双符号位法,第二种方法是采用单符号位法。、双符号位法双符号位法,也称为“变形补码”或“模4补码”变形补码定义为:补 204 02 采用变形补码后,正数的符号位为00,负数的符号位为11,当运算结果符号不为00或11时,说明产生了溢出。,60,采用变形(模)补码运算时有以下规律:当以模4补码运算,运算结果的二符号位相异时,表示溢出;相同时,表示

25、未溢出。故溢出逻辑表达式为 VSf1Sf2,其中Sf1和Sf2分别为最高符号位和第二符号位。此逻辑表达式可用异或门实现。模4补码相加的结果,不论溢出与否,最高符号位始终指示正确的符号。,61,、单符号位法从补码加、减法运算中我们看到:当最高有效位产生进位而符号位无进位时,产生上溢。当最高有效位无进位而符号位有进位时,产生下溢。我们可以借助进位关系给出溢出逻辑表达式:VCfCo其中:Cf为符号位产生的进位Co为最高有效位产生的进位此逻辑表达式也可用异或门实现。,62,四、基本的二进制加/减法器、全加器全加器可以实现两个二进制数字Ai,Bi和一个进位输入Ci相加,产生一个本位和输出Si,以及一个进

26、位输出Ci1。其逻辑关系为:SiAiBiCiCi1AiBiBiCiCiAi可用如图所示电路实现一位加法,63,、行波进位加/减法器n个1位的全加器(FA)可级联成一个n位的行波进位加减器(P35图.2)。M为方式控制输入线(控制进行加法,还是减法运算):当M0时,作加法(AB)运算;当M1时,作减法(AB)运算,在后一种情况下,AB运算转化成A补B补运算,求补过程由B取反加1来实现。电路采用单符号位法的溢出检测逻辑:当CnCn1时,运算无溢出;当CnCn1时,运算有溢出,经异或门产生溢出信号。,64,n位行波进位加法器的延迟时间ta为tan2T9T(2n9)T从上式可看出,采用行波进位加法器时

27、,位数越多,延迟时间越长。,65,五、十进制加法器十进制加法器可由BCD码(二十进制码)来设计,它是在二进制加法器的基础上加上适当的“校正”逻辑来实现的。一位码加法电路由四位二进制加法电路加上校正电路构成。校正逻辑关系为:本位十进制和小于10时,不必校正;本位十进制和大于10时,通过将本位和加修正。SiSI当iiCi10SiSi6当iiCi10,66,第三节定点乘法运算一、原码乘法在定点计算机中,两个原码数相乘的运算规则:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。,67,设n位被乘数和乘数用定点小数表示(定点整数也同样适用)被乘数 原f.n110乘数 原f

28、.n110则乘积 原(ff)(0.n110)(0.n110)式中,f为被乘数符号,f为乘数符号。,68,、二进制乘法的手算过程设0.1101,0.1011.让我们先用习惯方法求其乘积,其过程如下:,69,、改进的运算过程0.11010.1011的运算过程0.1101 0.10110.1101 0.01101 0.11011.00111 0.100111 0.00000.100111 0.01001110.11011.0001111 0.10001111,70,、一位原码乘法XY=X(0Y1Y2Yn)=X(Y1 2-1+Y2 2-2+Yn 2-n)=2-1(Y1X+2-1(Y2X+2-1(+2-

29、1(YnX+0)上式的递推形式为P0=0P1=2-1(YnX+P0)P2=2-1(Yn-1X+P1)Pi=2-1(Yn-i+1X+Pi-1)Pn=2-1(Y1X+Pn-1)上式的实际操作为:累加、右移,71,X=-0.1101 Y=0.1011部分积 乘数 判别位00.00000.101 1+00.110100.110100.0110 1 0.10 1+00.110101.0011 1 00.1001 11 0.1 0+00.000000.1001 11 00.0100 111 0.1+00.110101.0001 11100.1000 1111Pf=10=1【XY】原=1.10001111

30、XY=-0.10001111,72,4、不带符号的阵列乘法器设有两个不带符号的二进制整数:Aam1a1a0Bbn1b1b0它们的数值分别为a和b,即m1n1 a ai2ib bj2ji0j0 在二进制乘法中,被乘数A与乘数B相乘,产生mn位乘积P:Ppmn1p1p0乘积P 的数值为:,73,74,按照39图2.5的电路构成阵列乘法器,m位被乘数,n位乘数的阵列乘法器可由(m1)n个全加器构成。为提高并行处理能力和速度,减少进位延迟时间,每行相加产生的进位移到下一行前一位的全加器处理。5、带符号的阵列乘法器原理阵列乘法器只能处理原码的乘法运算,但在计算机中数据经常采用补码表示,为实现补码乘法运算

31、,就需要采用带符号的阵列乘法器。带符号的阵列乘法器可借助无符号的阵列乘法器加上求实电路实现。,75,求补电路一个具有可控的二进制对2求补器电路如图.6,其逻辑表达式如下:C10,CiaiCi1ai*aiECi1,0in在对2求补时,是采用按位扫描技术来执行所需要的求补操作:从最后一位开始,找到出现的第一个,并保持该位不变,然后对前面所有的位求反。,76,带求补器的阵列乘法器采用不带符号的阵列乘法器附加三个求补器构成:其中两个算前求补器的作用是:将两个操作数A和B在被不带符号的乘法阵列(核心部件)相乘以前,先变成正整数。算后求补器的作用则是:当两个输入操作数的符号不一致时,把运算结果变成带符号的

32、数。,77,二、补码乘法1、补码性质及补码乘法运算规则为了解补码乘法运算规律,先要知道补码一些性质。补码与真值的关系设X补X0.X1X2Xn则XX0+0.X1X2 Xn补码乘法设X补X0.X1X2Xn,Y补Y0.Y1Y2Yn则XY补 X补(Y0+0.Y1Y2 Yn),78,补码乘法递推式XY补 X补(Y1Y0)+(Y2Y1)21+(0Yn)2n=X补(Yi+1Yi)2i P0补=0P1补=P0补+(Yn+1Yn)X补 21 Yn+1=0P2补=P1补+(YnYn-1)X补 21 Pi补=Pi-1补+(Yn-i+2Yn-i+1)X补 21 Pn补=Pn-1补+(Y2Y1)X补 21XY补Pn+1

33、补=Pn补+(Y1Y0)X补 21,79,2、补码一位乘法例:设X=-0.1011 Y=-0.110,用补码一位乘法计算解:【X】补=1.0101【X】补=0.1011【Y】补=1.0101 部分积乘数 判别位00.00001.001 10X+00.1011 00.101100.0101 1 1.00 110+00.000000.0101 1,80,+00.000000.0101 1 00.0010 11 1.0 01X+11.010111.0111 11 11.1011 111 1.00+00.000011.1011 111 11.1101 11111.0X+00.1011 00.1000

34、1111【XY】补=0.10001111 XY=0.10001111,81,、补码乘法阵列一般化的全加器常规的一位全加器可假定它的3个输入和2个输出都是正权。这种加法器通过把正权或负权加到输入/输出端,可以归纳出四类加法单元。(见表.3),82,直接补码阵列乘法器 利用混合型的全加器就可以构成直接补码数阵列乘法器。设被乘数A和乘数B是两个5位的二进制补码数,即A(a4)a3a2a1a0B(b4)a3a2a1a0它们具有带负权的符号位a4和b4,并用括号标注。如果我们用括号来标注负的被加项,例如(aibJ),那么A和B相乘过程中所包含的操作步骤如矩阵所示。,83,(a4)a3 a2a1a0(b4

35、)b3b2b1b0B(a4b0)a3b0 a1b0 a1b0 a0b0(a4b1)a3b1 a2b1 a1b1 a0b1(a4b2)a3b2 a2b2 a1b2 a0b2(a4b3)a3b3 a2b3 a1b3 a0b3)a4b4(a3b4)(a2b4)(a1b4)(a0b4)p9 p8 p7 p6 p5 p4p3p2p1p0P,84,第三节定点除法运算一、原码除法运算法则两个原码表示的数相除时,商的符号由两数的符号按位相加求得,商的数值部分由两数的数值部分相除求得。设有n位定点小数(定点整数也同样适用):被除数,其原码为原f.n110 除数,其原码为原f.n110 则有商q/,其原码为q原(

36、ff)+(0.n110/0.n110)由上公式可见,商的符号位很容易得到,关键是数值部分如何计算。,85,二、原码不恢复余数法(加减交替法)计算机中串行除法是通过左移余数和加(减)除数来实现除法运算处理的。首先我们看一看原码除法运算规则。原码不恢复余数法运算法则:首先用被除数减去除数,然后按下列过程重复:当余数为正时,商1,余数左移1位,减除数 当余数为负时,商0,余数左移1位,加除数,86,例:设0.1001,Y0.1011,用原码不恢复余数法求。解:Y补00.1011,-Y补11.0101 被除数/余数商说明 00.1001+(-y)11.0101 x-y 11.1110 0 余数0,商0

37、 11.1100 0 左移y 00.1011 加上除数 00.0111 0.1 余数0,商1 00.1110 0.1 左移+(-y)11.0101 x-y 00.0011 0.11 余数0,商1 00.0110 0.11 左移+(-y)11.0101 x-y 11.1011 0.110 余数0,商0,87,+(-y)11.0101 x-y 11.1011 0.110 余数0,商0 11.0110 0.110 左移+y 00.1011 加上除数 00.00010.1101 余数0,商1Qf=01=1XY原1.1101,XY=-0.1101,88,三、并行除法器、可控加法/减法(CAS)单元可控加

38、法/减法(CAS)单元,它将用于并行除法流水逻辑阵列中,它有四个输出端和四个输入端。当控制端P0时,CAS作加法运算;P1时,CAS作减法运算。、不恢复余数法的除法阵列不恢复余数法的除法阵列由一组可控加法/减法(CAS)单元的阵列来构成。根据原码不恢复余数法的法则,当余数为正时,商1,余数左移1位,减除数;当余数为负时,商0,余数左移1位,加除数。在不恢复余数法的除法阵列中,每行根据余数的有(无)借位(反映余数为负或正)确定商(),并确定下一行进行余数减(加)除数的运算。,89,第五节定点运算器的组成运算器是计算机的数据加工处理部件。运算器主要由算术逻辑运算单元()、数据缓冲寄存器、通用寄存器

39、、多路转换电路和数据总线等逻辑器(部)件构成。一、逻辑运算逻辑数:不带符号的二进制数。逻辑运算是对数据的对位处理。主要包括逻辑非(求反)、逻辑加(或)、逻辑乘(与)和逻辑异(异或、按位加)基本运算。,90,二、多功能算术/逻辑运算单元(ALU)由一位全加器(FA)构成的行波进位加法器,它可以实现补码数的加法运算和减法运算。但是这种加法/减法器存在两个问题:一是由于串行进位,它的运算时间很长。二是就行波进位加法器本身来说,它只能完成加法和减法两种操作而不能完成逻辑操作。多功能算术/逻辑运算单元(ALU)不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高速运算。,91,1.基

40、本思想一位全加器(FA)的逻辑表达式为FiAiBiCiCi1AiBiBiCiCiAi将Ai和Bi先组合成由控制参数S0,S1,S2,S3控制的组合函数Xi和Yi,然后再将Xi,Yi和下一位进位数通过全加器进行全加。这样,不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。一位算术/逻辑运算单元的逻辑表达式为FiXiYiCniCni1XiYiYiCniCniXi控制参数S0,S1,S2,S3控制根据Ai和Bi产生不同Xi和Yi,经由全加器处理,实现多种算术运算和逻辑运算。因此,不同控制参数S0,S1,S2,S3确定不同的运算功能。,92,、的逻辑关系控制参数S0,S1,S2

41、,S3 分别控制输入Ai 和Bi,产生Y和X的函数。其中Yi是受S0,S1控制的Ai和Bi的组合函数,而Xi是受S2,S3控制的Ai和Bi组合函数,其函数关系如表2.4所示。综合全加器的逻辑关系,可得ALU的某一位逻辑表达式如(教材)公式.3。,93,一般以四位作为一组,四位间进位采用先行进位。各位间的进位关系Ci=XiYi+(X iYi)Ci1=Gi+PiCi1其中Gi=XiYi称为进位生成函数Pi=X iYi称为进位传递函数串行进位C=G+PC C=G+PC Ci=Gi+PiCi1 Cn=Gn+PnCn-1 Gi、Pi只与第I位的输入有关,进位一位一位的传递,94,先行进位公式第0位向第1

42、位的进位公式为Cn1Y0X0Cn其中Cn是向第0位(末位)的进位。第1位向第2位的进位公式为Cn2Y1X1Cn1Y1Y0X1X0X1Cn第2位向第3位的进位公式为Cn3Y2X2Cn2Y2Y1X1Y0X1X2X0X1X2Cn第3位的进位输出(即整个4位运算进位输出)公式为Cn4Y3X3Cn3Y3Y2X3Y1X2X3Y0X1X2X3X0X1X2X3Cn,95,设GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3则 Cn4GPCn这样,对一片ALU来说,可有三个进位输出。其中Cn+4是本片(组)的最后进位输出,G称为进位发生输出,P称为进位传送输出。在电路中多加和这两个进位输出的目的,是为

43、了便于实现多片(组)ALU之间的先行进位,为此还需一个配合电路,称之为先行进位发生器(CLA)。,96,、74181算术逻辑运算单元 74181是一个四位的算术逻辑运算单元(ALU)。它除了S0S3四个控制端外,还有一个控制端,用于控制ALU是进行算术运算还是进行逻辑运算。当0时,对进位信号没有任何影响。此时F 不仅与本位的被操作数Y和操作数X 有关,而且与本位的进位输出,即C 有关,因此0时,进行算术运算。当1时,封锁了各位的进位输出,即C 0,因此各位的运算结果F 仅与Y 和X 有关,故1时,进行逻辑运算。74181的运算功能见教材图.5,97,、两级先行进位的ALU74181ALU设置了

44、P和G两个本组先行进位输出端。如果将四片74181的P,G输出端送入到74182先行进位部件(CLA),又可实现第二级的先行进位,即组与组之间的先行进位。假设4片(组)74181的先行进位输出依次为P0,G0,G1.P1,P2,G2,P3,G3,那么参考式(2.37)的进位逻辑表达式,先行进位部件74182CLA所提供的进位逻辑关系如下:CnG0P0CnCnG1P1CnG1G0P1P0P1CnCnG2P2CnG2G1P2G0P1P2P0P1P2CnCn4 G3P3CnG3G2P3G1P1P2G0P1P2P3P0P1P2P3CnG*P*Cn,98,其中P*P0P1P2P3G*G3G2P3G1P1

45、P2G0P1P2P3G*称为成组进位发生输出,P*称为成组进位传送输出。可用若干个74181位片式ALU,与配套的74182先行进位部件CLA在一起,构成一个全字长的ALU。,99,三、内部总线计算机内部的主要工作过程是信息传送和加工的过程,因此在机器内部各部件之间的数据传送非常频繁。为了减少内部的传送线并便于控制,通常将一些寄存器之间数据传送的通路加以归并,组成总线结构,使不同来源的信息分时在总线上传送。根据总线所在位置,总线分为内部总线和外部总线两类。内部总线是指CPU内各部件的连线。外部总线是指系统总线,即CPU与存储器、I/O系统之间的连线。根据总线的逻辑结构来说,总线可分为单向传送总

46、线和双向传送总线。单向总线,就是信息只能向一个方向传送。双向总线,就是信息可以分两个方向传送,既可以发送数据,也可以接收数据。,100,图2.14(a)是带有缓冲驱动器的4位双向数据总其中所用的基本电路就是三态逻辑电路。当“发送”信号有效时,数据从左向右传送。反之,当“接收”信号有效时,数据从右向左传送。因此也称为总线收发器。通过控制信号可以控制实现数据在总线上的传送。这种类型的缓冲器通常根据它们如何使用而叫作总线扩展器、总线驱动器、总线接收器等等。图2.14(b)所示的是带有锁存器的4位双向数据总线。它可以实现数据的锁存和发送。,101,四、定点运算器的基本结构运算器包括ALU、阵列乘除器、

47、寄存器、多路开关、三态缓冲器、数据总线等逻辑部件。运算器的结构,主要是围绕ALU、寄存器同数据总线之间如何传送操作数和运算结果考虑和设计的。计算机的运算器大体有三种结构形式、单总线结构的运算器 单总线结构的运算器所有部件都接到同一总线上,所以数据可以在任何两个寄存器之间,或者在任一个寄存器和ALU之间传送。单总线结构运算器在同一时间内,只能有一个操作数放在单总线上。为了把两个操作数输入到ALU,需要分两次来进行,而且还需要A,B两个缓冲寄存器。特点:控制电路比较简单,操作速度较慢。,102,、双总线结构的运算器 双总线结构的运算器具有两条总线,并且可以各自将其数据送至ALU的输入端。在这种结构

48、中,两个操作数只需一次操作控制就可同时送到ALU进行运算,而且马上就可以得到运算结果。但是运算的结果必须先暂存在缓冲器中。、三总线结构的运算器 三总线结构运算器中,ALU的两个输入端分别由两条总线供给,而ALU的输出则与第三条总线相连。这样,算术逻辑操作就可以在一步的控制之内完成。,103,第六节浮点运算方法和浮点运算器一、浮点数加、减法运算、运算规则设有两个浮点数和,它们分别为2EM2EM其中E和E分别为数和的阶码,M和M分别为数和的尾数。1当Ex=Ey=E时,xy=2E(Mx My)2当EXEY 时,先通过对阶,使X和Y的阶码相同,然后按照上式计算。(M2EEM)2E,EE,104,、浮点

49、数加、减法运算步骤:10操作数检查2对阶(小阶向大阶看齐)先求阶差 E=EXEY若E=0,则不必对阶若E0,则EX EY,阶码向EX 看齐,MY右移E位若E0,则EX EY,阶码向EY 看齐,MX右移E位3尾数相加减4结果规格化将尾数部分变为0.1或1.0的形式分为左规格化或右规格化5舍入处理,105,、对尾数采用补码时的规格化处理右规格化:尾数结果为10.或01.时进行处理方法:将尾数右移1位,并且阶码加1。左规格化:尾数结果为0.0或1.1时进行处理方法:尾数每左移1位,阶码减1,重复直到结果尾数为0.1或1.0为止。、舍入处理“0舍1入”法:如果右移时被丢掉数位的最高位为0则舍去,为1则

50、将尾数的末位加“1”。“恒置一”法:只要数位被移掉,就在尾数的末尾恒置“1”。“就近舍入”:其实质就是通常所说的四舍五入。“朝0舍入”:即朝数轴原点方向舍入,就是简单的截尾。“朝舍入”:对正数来说,只要多余位不全为0则向最低有效位进1;对负数来说则是简单的截尾。“朝舍入”:对正数来说,只要多余位不全为0则简单截尾;对负数来说,向最低有效位进1。,106,、溢出及处理浮点数的溢出通常是以其阶码的溢出表现出来的。当机器浮点数值大于最大正数,或小于最小负数时,称为上溢。上溢时阶码运算值超出了它所表示的范围,机器必须做中断处理。当机器浮点数值小于最小正数a值,或大于最大负数b值时,称为下溢。下溢通常看

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号