收藏 分享(赏)

计算机组成原理复习.ppt

上传人:weiwoduzun 文档编号:5300862 上传时间:2019-02-19 格式:PPT 页数:205 大小:890KB
下载 相关 举报
计算机组成原理复习.ppt_第1页
第1页 / 共205页
计算机组成原理复习.ppt_第2页
第2页 / 共205页
计算机组成原理复习.ppt_第3页
第3页 / 共205页
计算机组成原理复习.ppt_第4页
第4页 / 共205页
计算机组成原理复习.ppt_第5页
第5页 / 共205页
点击查看更多>>
资源描述

1、1,计算机组成原理复习,2,注意:交实验报告!,教学内容概论、数据表示、运算方法和运算器、指令系统、控制器、存储系统、输入输出系统、外部设备等。,3,第一章 概 论,计算机(Computer):1、 概念:计算机是一种以电子器件为基础的,不需人的直接干预,能够对各种数字化信息,进行算术和逻辑运算的快速工具。,4,1.1.1 计算机的发展概况 1、第一代计算机(1) 1946年第一台计算机ENIAC50年代末(2) 主要特征:电子管作为电子器件(3) 软件处于初始阶段,使用机器语言与符号语言编制程序(4) 特点:体积大,运算速度低,存储容量小,主要用于科学计算。,1.1 计算机的发展、应用和分类

2、,5,1.1.1 计算机的发展概况2、第二代计算机(1) 50年代末60年代初(2) 主要特征:晶体管作为电子器件(3) 软件方面开始使用计算机高级语言(4) 特点:体积减小,重量轻、寿命长、耗电少、运算速度快、存储容量比较大等优点。不仅用于科学计算,还用于数据处理和事务处理,并逐渐用于工业控制。,1.1 计算机的发展、应用和分类,6,1.1.1 计算机的发展概况3、第三代计算机(1) 60年代中期70年代初期(2) 主要特征:中、小规模集成电路作为电子器件(3) 操作系统的出现(4) 特点:体积与功耗都得到了进一步的减小,可靠性和运算速度进一步提高。不仅用于科学计算,还用于文字处理、企业管理

3、、自动控制等领 域, 出现了管理信息系统,可用于生产管理、交通管理、情报检索等领域。,1.1 计算机的发展、应用和分类,7,1.1.1 计算机的发展概况4、第四代计算机(1)70年代初今(2)主要特征:大规模与超大规模集成电路作为电子器件(3)软件越来越丰富,并且功能强大(4)特点:计算机在各种性能上都得到了大幅度提高。1971年以来,作为第四代计算机重要产品的微型计算机得到了飞速的发展,对计算机的普及起到了决定性的作用。以微机为例,IBM PC8088802868038680486Pentium,1.1 计算机的发展、应用和分类,8,1.1.1 计算机的发展概况5、未来的计算机以超大规模集成

4、电路为基础,未来的计算机将向巨型化、微型化、网络化与智能化的方向发展。,1.1 计算机的发展、应用和分类,9,1、科学计算 2、过程检测与控制利用计算机对工业生产过程中的某些信号自动进行检测,并把检测到的数据存入到计算机,再根据需要对这些数据进行处理。这样的系统称为计算机检测系统。但一般来说,实际的工业生产过程是一个连续的过程,往往既需要用计算机进行检测,又需要用计算机进行控制。 3、信息管理信息管理是目前计算机应用最广泛的一个领域。所谓信息管理,是指利用计算机来加工、管理与操作任何形式的数据资料,如企业管理、物资管理、报表统计、帐目计算、信息情报检索等。 4、计算机辅助系统计算机用于辅助设计

5、、辅助制造、辅助教学等方面,统称为计算机辅助系统。,1.1.2 计算机的应用领域,10,1、 根据计算机的应用范围分:(1) 专用计算机:为特定应用问题而设计的计算机,具有经济、有效和快速等特点,但它的使用面较窄。(2) 通用计算机:通用计算机使用面广,通用性强,操作相对简单。2、根据计算机的规模分:(1) 巨型机(2) 大型机(3) 中型机(4) 小型机(5) 微型机发展方向:巨型化、微型化、网络化与智能化,1.1.3 计算机的分类,11,计算机系统是由计算机硬件和计算机软件组成的。计算机硬件(Hardware)是指构成计算机的所有实体部件的集合,通常这些部件由电路(电子元件)、机械等物理部

6、件组成。,1.2 计算机硬件,12,1、冯诺依曼原理的基本思想: 采用二进制形式表示数据和指令。指令由操作码和地址码组成; “存储程序”和“程序控制”(简称存储程序控制); 指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。 计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成。,1.2.1 计算机的组成部件,13,1.2.1 计算机的组成部件,14,2、基本组成它由5大组成部件。(1) 存储器(A) 基本功能:读和写(a)对象:数据和指令(b)单元:存储单元地址(B) 分类:(a)内存(主存)(b)外存(辅存)(C) 主存的组成(a)存储体(b

7、)存储器地址寄存器MAR(Memory Address Register)(c)存储器数据寄存器MDR(Memory Data Register)(d)读写控制线路,1.2.1 计算机的组成部件,15,2、基本组成 (2) 运算器(A) 主要功能:对二进制数码进行算术(+-*/)和逻辑(与或非)运算(B) 组成:(a)ALU(Arithmetic Logic Unit):核心为并行加法器(b)通用寄存器组(c)多路开关或数据锁存器:控制数据输入(d)输出移位开关:控制数据输出(e)与其他部件间信息传送的总线及控制数据传送的接收器和发送器(C) 精度和速度是运算器重要的性能指标。,1.2.1 计

8、算机的组成部件,16,2、基本组成 (3) 控制器(A) 功能:读取指令、翻译指令代码、并向计算机各部分发出控制信号,以便执行指令。当一条指令执行完以后,控制器会自动地去取下一条将要执行的指令,重复上述过程直到整个程序执行完毕。(B) 组成:(a)指令部件IR、ID、PC、PSW、地址形成部件(b)时序部件(c)微操作控制线路(d)中断控制逻辑,1.2.1 计算机的组成部件,17,2、基本组成 (4)输入设备输入设备能将数据和程序变换成计算机内部所能识别和接受的信息方式,并顺序地把它们送入存储器中。输入设备由许多种类,例如键盘、鼠标、扫描仪、光电输入机等。(5)输出设备输出设备将计算机处理的结

9、果以人们能接受的或其它机器能接受的形式送出。输出设备同样由许多种类,例如显示器、打印机、绘图仪等。,1.2.1 计算机的组成部件,18,在计算机的5大部件中,运算器和控制器是信息处理的中心部件,所以它们合称为“中央处理单元”(CPU:Central Processing Unit)。存储器、运算器和控制器在信息处理操作中起主要作用,是计算机硬件的主体部分,通常被称为“主机”。而输入(Input)设备和输出(Output)设备统称为“外部设备”,简称为外设或I/O设备。,1.2.1 计算机的组成部件,19,一、总线 1、概念:总线(Bus)就是计算机中用于传送信息的公用通道,是为多个部件服务的一

10、组信息传送连接线。,1.2.2 计算机的总线结构,20,2、分类:(1)按照传送信息的属性来分: 数据总线(DB:Data Bus)用于在各部件之间传送数据信息。 地址总线(AB:Address Bus)用于传送各部件相互访问用的地址信息。 控制总线(CB:Control Bus)用于传送控制各部件操作的控制信息。 (2)按信息传送的方向区分:单向总线和双向总线。 (3)按连接对象和完成的功能分:I/O BUS和MEMORY BUS存储总线用于CPU与主存储器的信息交换,I/O总线用于外设与主机的信息交换。,1.2.2 计算机的总线结构,21,二、按总线连接方式,计算机组成结构分为三类 1、单

11、总线结构这种结构把各功能部件都连接在单总线(Single Bus)上,所有部件间的信息交换都经由单总线进行,如图1.2。 (1)Unified-Bus:一元化总线:PDP-11 (2)Single-Bus:单总线:IBM-PC 2、双总线结构 (1)两种总线:存储总线用于CPU与主存储器的信息交换,I/O总线用于外设与主机的信息交换。 (2)三种形式:(A) 以CPU为中心的双总线结构(B) 以存储器为中心的双总线结构(C) 采用通道或输入输出处理机IOP来处理输入输出工作的双总线结构。 3、多总线结构在高速外设与主存储器之间可以增设直接存储器访问(DMA:Direct Memory Acce

12、ss)方式的高速I/O总线(DMA总线),从而形成多总线结构,如图1.4。,1.2.2 计算机的总线结构,22,1、软件(Software):是指能使计算机工作的程序和程序运行时所需要的数据,以及与这些程序和数据有关的文字说明和图表资料,其中文字说明和图表资料又称为文档。程序+数据+文档,1.3 计算机软件,23,2、分类:(1) 系统软件系统软件是指管理、监控和维护计算机资源(包括硬件和软件)的软件。(A) 操作系统DOS、WINDOWS、UNIX、XENIX通常,操作系统具有五个方面的功能:存储管理、处理机管理、 设备管理、文件管理和作业管理。(B)语言处理程序机器语言、汇编语言和高级语言

13、(编译、解释)三类。(C)数据库管理系统数据库和管理数据库的软件构成数据库管理系统。(D)服务程序(2) 应用软件,1.3 计算机软件,24,1.4.1 软件与硬件的逻辑等价1、含义:(1) 任何一个由软件所完成的操作也可以直接由硬件来实现(2) 任何一条由硬件所执行的指令也能用软件来完成2、固件(Firmware):固件是一种界于传统的软件和硬件之间的实体,功能上类似软件,但形态上又是硬件。微程序是计算机硬件和软件相结合的重要形式。,1.4 计算机系统的层次结构,25,1.4.2 计算机系统的层次结构,26, 主频主频很大程度上决定了计算机的运行速度,它的单位是兆赫兹(MHz)。 字长字长决

14、定了计算机的运算精度、指令字长度、存储单元长度等,可以是8/16/32/64位。 运算速度 (1)早期方法是每秒执行加法指令的次数, (2)现在通常用等效速度。等效速度由各种指令平均执行时间以及对应的执令运行比例计算得出,即用加权平均法求得。它的单位是每秒百万指令(MIPS)。对比:Mflops (3)还有利用所谓“标准程序”在不同的机器上运行所得到的实测速度。 存储容量字数*字长1024(210)简称为1K(千),1024K(220)为1M(兆),1024M(230)为1G(千兆)等等。,1.5 计算机的性能指标,27,1.5 计算机的性能指标, 可靠性常用平均无故障时间(MTBF)衡量。M

15、TBFMean Time Between Falures平均无故障时间是指两次故障之间能正常工作时间的 平均值。假设表示单位时间内失效的元件数与元件总数 的比例即失效率,则MTBF=1/。例如=0.02%/h,则MTBF=1/=5000h 可维护性可用平均修复时间(MTRF)表示,它是 指从故障发生到机器修复平均所需要的时间。MTBRMean Time Between Repairs(字典缩略)MTTRMean Time To Repair(微软计算机辞典) 可用性是指计算机的使用效率。A=MTBF/(MTBF+MTRF)可靠性R、可维护性S和可用性A,称为RAS技术。 兼容性兼容是广泛的概念

16、,是指设备或程序可以用 于多种系统中的性能。,28,第二章 计算机中的数据表示,2.1 计算机中数的表示单位和机器字长 2.1.1 数的表示单位 位、字节、字 位: BIT 字节:BYTE 字: WORD 2.1.2 机器字长机器字长一般是指参加运算的的寄存器所含有的二进制位数,它代表机器的精度。,29,数据的表示常用的有两种:定点表示法和浮点表示法。任何一个二进制数N都可以表示为 N=2ES其中E是一个二进制整数,称为数N的阶码,2为阶码的基数,S是二进制小数,称为数N的尾数。E和S可正可负。尾数S表示数N的全部有效数据,阶码E指明该数的小数点位置,表示数据的大小范围。,2.3 定点数和浮点

17、数,30,(1) 阶码E保持不变(2) 若E=0,小数点固定在最高位之前,则该数是一个纯小数或定点小数。例如 N=200.110101001=0.110101001(3)若取E=n(n为尾数的位数),则把小数点定在尾数最末位之后,这时表示一个纯整数(定点整数)。例如 N=270.1011010=01011010,2.3.1 定点数表示法,31,1 浮点数的格式通常,阶码位数m与尾数位数n之间有如下关系: 2m-1n即表示阶码的值应保证实际的小数点可以在整个尾数的位格中移动。,2.3.2 浮点数表示法,32,2 规格化浮点数所谓浮点数的规格化,就是通过移动尾数,使尾数S的最高位数字为1。即S满足

18、1/2|S|1时,这个浮点数就是规格化的数,否则就不是。在字长一定的情况下,规格化的浮点数精度最高。,2.3 定点数和浮点数,33,2溢出情况(1) 定点表示法(小数)带符号n+1位数时:小于2-n时:当0(即为最小数);大于1-2-n时:溢出,停机。(2) 浮点表示法规格化后,从阶码上分析溢出:阶码很小时,下溢:当0;阶码超出最大值时,上溢:停机。,2.3 定点数和浮点数,34,机器数是指:数在计算机中的表示形式,一般是采用某种编码形式表示带符号的二进制数。真值是指机器数所对应的实际数值。,2.4.1 机器数和真值,35,1、规则:机器数的最高一位表示符号,“0”表示正号;“1”表示负号,后

19、面各位用数的绝对值表示。2、定义: 小数原码的定义为:X原 =X原为机器数的原码,X为真值。,2.4.2 机器数的原码表示法,36,1 补码的定义 1)整数补码定义: X补 =X补为整数X的补码,X为任意整数,n为整数的位数。 2)小数补码定义:X补=X补是小数X的补码,X为任意小数,2为模数。小数的补码就是模为2 的补码。 3)变形补码 小数“模4补码”的定义为:X补 = 或 X补 = X (mod 4),2.4.3 机器数的补码表示法,37,1、定义: 小数反码的数学定义为:X反 = 或 X反 = X (mod 2-2-n)“0”为符号位例2.20 X=1011 则X反=01011X= -

20、1011 则X反= 25 - 1 +X= 10100“1”为符号位,2.4.4 机器数的反码表示法,38,1、定义:X移 = 2n + X 2nX-2n 即无论X是正还是负,一律加上2n,称2n为基数。 2、移码与补码的关系是:真值是正数时,移码是补码的最高位加1;真值是负数时,移码是补码的最高位减1。也就是把补码的符号位变为其反码即可。即 若 X补=XS Xn-1Xn-2X1X0, 则 X移=Xn-1Xn-2X1X0例2.21 X=1001 X补=01001 可求得X移=11001X= -1001 X补=10111 可求得X移=00111,2.4.5 机器数的移(增)码表示法,39,3、移码

21、有如下性质: (1) 在移码表示法中,0的移码是唯一的,整数0 +0移= 2n + 000 = 1000-0移= 2n - 000 = 1000 (2) 机器0的形式为000,它所表示的真值是X移所能表示的数中最小的数。 即X移=000,其对应的真值是X=0-2n= -2n。而补码中的最小机器数是0,但0并不是最小真值-2n。 (3) 移码的最高位是符号位,但其表示的意义与原码和补码表示的意义相反。符号为0时,表示负数;符号为1,表示正数。 (4) 移码一般只进行加减运算,运算后需要对结果进行修正,修正量为2n,即要对结果的符号位取反后,才能得到移码形式的结果。 (5)通过比较两个移码的大小,

22、 就可得知其对应的真值的大小。,2.4.5 机器数的移(增)码表示法,40,上面所述的四种表示方式中,移码主要用于表示浮点数的阶码。下面对其它三种编码方法作以比较: (1) 三种编码的最高位都是符号位。 (2) 当真值为正时,三种编码的符号位都用0表示,数值部分与真值相同。 即它们的表示方法是相同的。 (3) 当真值为负时,三种编码的符号位都用1表示,但数值部分的表示各不相同,数值部分存在这样的关系:补码是原码的“求反加1”(整数),或者“求反末位加1”(小数);反码是原码的“每位求反”。 (4) 它们所能表示的数据范围,基本上是一样的,-2nX2n(整数)或-1X1( 小数),只是补码多表示

23、一个数-2n(整数)或-1(小数)。三种编码方法的区别主要在于,它们对负数的表示方法有所不同。,2.4.6 各种编码的比较,41,用四位二进制代码的不同组合来表示一个十进制数码的编码方法,称为二十进制编码,也称BCD码(Binary Coded Decimal)。 2.5.1 二十进制编码原理 1、二十进制的编码都采用压缩的十进制串的方法,即四个二进制位的值来表示一个十进制数码。 2、各种编码的区别在于选用哪十个状态。选择的原则是:要考虑输入和输出时转换方便;内部运算时,加、减运算规则要尽量简单;在特定场合,可能有其它一些要求。 3、从每个二进制位是否有确定的位权区分,可把二十进制编码分为有权

24、码和无权码。,2.5 十进制数据表示,42,1 ASCII码“美国标准信息交换代码”(American Standard Code for Information Interchange),简称ASCII码。7位二进制编码,可表示27=128个字符。ASCII码中,编码值031不对应任何可印刷(或称有字形)字符,通常称它们为控制字符,用于通信中的通信控制或对计算机设备的功能控制。编码值为32的是空格(或间隔)字符SP。编码值为127的是删除控制DEL码。其余的94个字符称为可印刷字符。 2 EBCDIC码,2.6 字符编码,43,1、特点: (1)汉字是一种象形文字,据统计,从甲骨文至今约有六

25、万左右的汉字。目前常见的汉字有约七千个。 (2)汉字字形结构复杂,笔划繁多。 (3)汉字同音字多,多音字多。 2、涉及多种编码:首先将汉字转换成计算机能接收的编码,称为汉字输入码,输入码进入计算机后必须转换成汉字内码才能进行处理。为了显示输出汉字或打印输出汉字,需要经过一个变换,将汉字内码转换成汉字字形码。此外,为了使不同的汉字处理系统之间能够交换信息,还应存在汉字交换码。 3、目前存在的汉字编码输入方案可以归纳为四类,即数字编码,如区位码;字音编码,如拼音码;字形编码,如五笔字型;汉字混合编码等。 4、1981年我国制定了信息交换用汉字编码字符集基本集GB2312-80国家标准。每个二进制编

26、码用两个字节表示。共收录一级汉字3755个,二级汉字3008个,各种符号682个,共计7445个。,2.6.3 汉字的表示,44,1、数据校验的实现原理:数据校验码是在合法的数据编码之间,加进一些不允许出现的(非法的)编码,使合法的数据编码出现错误时成为非法编码。这样就可以通过检测编码的合法性达到发现错误的目的。 2、码距:码距指任何一种编码的任两组二进制代码中,其对应位置的代码最少有几个二进制位不相同。,2.7 数据校验码,45,1、码距=22、奇偶校验码:它是在被传送的n位信息组上, 加上一个二进制位作为校验位,使配置后的n+1位二进制代码中1的个数为奇数( 奇校验)或偶数(偶校验)。例:

27、数据 奇校验编码 偶校验编码00000000 100000000 00000000001110101 001110101 101110101其中,最高一位为校验位,其余低八位为数据位。3、奇偶校验码只能检测出数据代码中一位出错的情况,但无法判断差错所发生的位置。常用于存储器读写检查,或ASCII字符传送过程中的检查。,2.7.1 奇偶校验码,46,第三章 运算方法和运算器,计算机进行算术运算的特点: (1)所有数据都是用二进制数位形式来表示的。 (2)在机器内部,数是以编码形式即机器数来表示的。 (3)机器运算规模有限,因而机器运算就要解决运算方法、数据表示格式及数据长度的选取、规定等问题。

28、(4)用计算机进行运算时,都要把复杂的运算,简化为一系列的、最基本的运算才能实现。计算机可以实现的基本运算有算术运算(加、减、乘、除等)和逻辑运算(与、或、异或等)。,47,原码加法运算,可按如下步骤进行: (1) 对符号位单独处理。首先要考虑符号,若两数符号相同,则进入(2);若两数符号相同,则进入(3)。 (2) 将两数绝对值相加,求其和。和的符号等于被加数的符号。 (3) 先将它们的绝对值相减,求得和。若运算结果为正,则和的符号等于被加数的符号;若结果为负,和的符号等于加数的符号。,3.1.1 原码加减运算规则,48,原码减法运算,可按如下步骤进行: (1) 先比较两数符号,若两数符号相

29、异,则进入(2);两数符号相同进入(3)。 (2) 将两数绝对值相加,求得差数绝对值。差的符号等于被减数的符号。 (3) 将它们的绝对值相减,求得差数。若运算结果为正,则差的符号等于被减数的符号;结果为负,差的符号等于被减数的符号取反。 原码加减运算总结:(1) 符号位单独处理(2) 绝对值加或减(3) 合并(符号和数值),3.1.1 原码加减运算规则,49,(1)公式:X+Y补=X补+Y补 (MOD 2 or 2n)X-Y补=X补+-Y补 (MOD 2 or 2n) 例3.4 X=0.001010 Y= -0.100011 求X-Y补 解 X补=0.001010 -Y补=0.100011则

30、X-Y补 = X补+-Y补= 0.001010 + 0.100011= 0.101101 (2)变形补码:X+Y 变补=X 变补+Y 变补 (MOD 4)X-Y 变补=X 变补+-Y 变补 (MOD 4),3.1.2 补码加减运算规则,50,(1)公式:X+Y反=X反+Y反 (mod 2-2-n)X-Y反 = X+(-Y)反 = X反 + -Y反 (2)循环进位:循环进位是指在运算过程中,当第一符号位产生进位时,这个进位被丢掉的同时,必须把此进位加到最低位上去,即最低位加1。,3.1.3 反码加减运算规则,51,1、串行加法器 一个全加器和一个进位触发器 2、行波进位加法器注意,将溢出标志改为

31、:(1) 若有一个符号位,不变;(2) 若有两个符号位,则溢出标志= Ss1 Ss2,3.1.4 二进制加法/减法器,52,提高运算速度的方法有三个:一是从计算机系统结构角度,提出了并行处理、流水线等方式;二是运算电路,特别是用高速化的逻辑电路实现加法和移位功能;三是运算方法和逻辑结构的高速化。本节主要介绍第三种方法,即改善运算方法和逻辑结构以提高运算速度。,3.1.5 加法运算及其加速方法,53,1一级分组先行进位法 (1)相邻4位加法器单元逻辑(第i-1, i-2, i-3 ,i-4位)Ci=Gi+PiCi-1Ci-1=Gi-1+Pi-1Ci-2Ci-2=Gi-2+Pi-2Ci-3Ci-3

32、=Gi-3+Pi-3Ci-4展开:Ci-3=Gi-3+Pi-3Ci-4Ci-2=Gi-2+Pi-2Gi-3+ Pi-2Pi-3 Ci-4Ci-1=Gi-1+Pi-1 Gi-1+ Pi-1Pi-2Gi-3+ Pi-1 Pi-2Pi-3 Ci-4Ci=Gi+PiGi-1+Pi Pi-1 Gi-2+Pi Pi-1 Pi-2Gi-3+ PiPi-1 Pi-2Pi-3 Ci-4Ci中前四项记为GI*,最后一项的前四个因子记为PI*则,Ci= GI*+ PI* Ci-4,54,(2)一级分组进位设机器字长为16位,以4位为一组,分成4个组,组内4位间做到同时进位, 组间行波进位。,3.1.5 加法运算及其

33、加速方法,55,56,2 二级分组先行进位法 仿一级分析法:C3 = G3* + P3*(1)C7 = G7* + P7* G3*+ P7*P3*(1 )C11 = G11* + P11* G7*+ P11*P7* G3* + P11*P7*P3*(1 )C15 = G15* + P15* G11*+ P15* P11* G7*+ P15*P11* P7* G3* + P15*P11*P7*P3*(1 )16位二级分组并行加法器的逻辑图图3.6所示。,3.1.5 加法运算及其加速方法,57,58,实现乘除法运算的方案:1、使用乘除运算较多,速度要求高时,硬件直接实现;2、一般情况,配置乘除法选

34、件;3、而对速度要求不高的机器,用软件实现。,3.2 定点乘法运算,59,B、方法:校正法的思想是,先将任意两个补码X补、Y补看作一般的二进制数,按原码运算规则求得X补Y补,然后对其结果加以校正,而获得XY补之值。当乘数Y为正时,与原码乘法相似,只是在部分积相加、右移操作时, 按补码性质进行;当乘数为负时,先不考虑乘数的符号,将乘数补码的数值部分与被乘数相乘;最后进行校正操作,即加上-X补。设Y补 = Ys .Y1Y2Yn ,我们用一个公式表示补码校正法的算法规则:XY补 = X补(0.Y1Y2Yn) + -X补Ys当Ys=0时, XY补 = X补(0.Y1Y2Yn) 当Ys=1时, XY补

35、= X补(0.Y1Y2Yn) + -X补,3.2.2 补码乘法,60,A、Booth乘法规则假设X、Y都是用补码形式表示的机器数,X补和Y补=Ys.Y1Y2Yn,都是任意符号表示的数。比较法求新的部分积,取决于两个比较位的数位,即Yi+1Yi的状态。 布斯乘法规则归纳如下: 首先设置附加位Yn+1=0,部分积初值Z0补=0。 l 当n0时,判YnYn+1,若YnYn+1=00或11,即相邻位相同时,上次部分积右移一位,直接得部分积。若YnYn+1=01,上次部分积加X补,然后右移一位得新部分积。若YnYn+1=10,上次部分积加-X补,然后右移一位得新部分积。l 当n=0时,判YnYn+1(对

36、应于Y0Y1),运算规则同(1)只是不移位。即在运算的最后一步,乘积不再右移。,3.2.2 补码乘法,61,注意: (A)比较法中不管乘数为正为负,符号位都参加运算,克服了校正法的缺点 (B)运算过程中采用变形补码运算(双符号位) (C)算法运算时的关键是YnYn+1的状态:后者(Yn+1)减前者(Yn),判断是加减(+/-X),3.2.2 补码乘法,62,2.补码两位乘法补码两位乘法可根据补码一位乘法的规则,把比较YnYn+1的状态应进行的操作,和比较Yn-1Yn的状态合并成一步。就可以推导出补码两位乘法的方法,即通过比较Yn-1YnYn+1状态,来决定Yn-1Yn这两位乘数应执行什么运算。

37、,3.2.2 补码乘法,63,特点: (1) 每次都是由心算来比较余数和除数的大小,余数大时,商1;余数小时,商0。第一次比较时,余数就是被除数。 (2) 每做一次减法,总是保持余数不动,而除数向右移一位。 (3) 商的符号单独处理。 为适应机器运算,需要进行改进:(1) 用补码加代替直接减(两个符号位)(2) 除数右移改为余数左移。,3.3.1 原码一位除法,64,注意:余数不是真正的余数,由于每次所得的余数多乘了2,求得小数点后的n位商后,相当于多乘了2 n,故正确余数为2 n Rn另外,在进行数值部分除法时,因为定点数的绝对值小于1, 若被除数绝对值除数的绝对值,则商1,因而会产生溢出。

38、 所以在执行除法以前,先要判断是否溢出,不溢出时才进行除法运算,否则除法就不进行,并由相应的程序进行处理。,3.3.1 原码一位除法,65,3、 恢复余数法 用余数减去除数求得差值,当差值大于0时,商上1;当差值小于0时,商上0。 减去除数的运算,机器可用加上除数的补码机器负数的方式转换为加法运算。另外,当差值小于0时,商上“0”,不够减,多减去了除数,还必须加上除数,重新恢复原来的余数。 除数不动,使余数左移一位。 设 被除数 X原 = Xs.X1X2Xn 除数 Y原 = Ys.Y1Y2Yn商 Q原 = Qs.Q1Q2Qn 余数 R原 = Rs.R1R2Rn则它们之间有如下关系: X原 =

39、Y原Q原 + R原 其除法过程如下: 符号处理 Zs = Xs Ys 商的数值部分,变成两正数相除,即|X|/|Y|(|X|Y|),每一步除法通过2Ri-|Y| (i=0,1,n,R0=|X|)进行比较:若2Ri-|Y| = Ri+10,即余数为正(Ris=0),则商上“1”;若2Ri-|Y| = Ri+10,即余数为负(Ris=1),则商上“0”。这时的Ri+1 不是余数,应加上|Y|恢复成原来的余数。,66,4、 加减交替法原码加减交替法的规则是:当余数为正时,商上1,余数左移一位,减除数绝对值得新余数;当余数为负时,商上0,余数左移一位, 加除数绝对值得新余数。证明:若被除数为X,除数Y

40、,当上商操作进行到第i位商数时,设余数为Ri,则有下式:Ri = 2Ri-1 +(- |Y|)(1) 若Ri0,则该位商上“1”,下一步操作是:Ri+1 = 2Ri +(- |Y|)(2) 若Ri0,则该位商上“0”,下一步恢复余数:Rj= Ri+|Y|,然后,Ri+1 = 2Rj +(- |Y|)=2(Ri+|Y|)+(- |Y|)=2Ri+|Y|,3.3.1 原码一位除法,67,R1为n位寄存器,除法开始前可存放被除数的低n位,运算结束后存放n位的商。每次上商应置于R1的最末位,因为它是由加法器的运算结果最高位来控制的,所以由f来设置。运算过程中,商要逐位左移,故R1寄存器具有左移功能。R

41、0 保存被除数或余数,运算过程中也要左移,所以它也是一个具有左移功能的寄存器。运算中被除数(余数)的低位部分由R1串行移至R0。n+1步运算后,求得n+1位商,其中一位整数位,n位小数位,这n位小数位的数值存于R1寄存器中,而整数位在最后一次左移时丢掉,而商的符号Qf由Xs和Ys通过异或运算得到, 所以可用一个异或门求得Qf。,3.3.1 原码一位除法,68,3.4.1 浮点加减法运算设两个浮点数x和y分别为:x=SX 2Exy=SY 2 Ey 其中,EX、EY 分别是x和y的阶码,SX 和SY 是x、y的尾数。假定它们都是规则化的数,即其尾数绝对值总小于1(用补码表示,允许为1),浮点加减运

42、算的运算步骤如下:,3.4 浮点数算术运算,69,1 对阶:小阶向大阶看齐对阶的第一步是求阶差:E =Ex-Ey 若E =0,表示两数阶码相等,即ExEy ,不需要对阶若E 0,表明ExEy 若E 0,表明ExEy 对于ExEy的这种情况,需要对阶。采用 “小阶向大阶看齐”的方法,即小阶的尾数右移E 位,小阶的阶码增加E 与大阶相等。 2 尾数求和(差)对阶完成后,就按定点加减运算求两数的尾数之和。,3.4.1 浮点加减法运算,70,3 规格化(1)对于定点小数,其规格化数为:00.1xxx11.0xxx (原码表示法) (2)对于负数的补码表示法,规格化定义有所不同: 根据规格化浮点数的定义

43、可知,规格化的尾数应满足:S0时 1/2SS-1理论上,S可等于-1/2,但-1/2补=11.1000,为了便于判别是否是规格化数,不把-1/2列为规格化数,而把-1列入规格化数。 -1补=11.000 补码规格化的浮点数应有两种形式:00.1xxx11.0xxx,3.4.1 浮点加减法运算,71,由此可知补码规格化的条件是: (1)若和或差的尾数两符号位相等且与尾数第一位相等,则需向左规格化。即将和或差的尾数左移,每移一位,和或差的阶码减一,直至尾数第一位与尾符不等时为止。 (2)若和或差的尾数两符号位不等,即01.xxx或10.xxx形式,表示尾数求和(差)结果绝对值大于,向左破坏了规格化

44、。此时应该将和(差)的尾数右移1位,阶码加,即进行向右规格化。,3.4.1 浮点加减法运算,72,4 舍入 (1) “0舍1入”法,即右移时丢掉的最高位为0,则舍去;是1,则将尾数的末位加1(相当于进入)。 (2)“恒置1”法,即不管移掉的是0还是1,都把尾数的末位置1。,3.4.1 浮点加减法运算,73,5. 浮点数的溢出判断 表示成规格化数以后,由阶码进行判断是否溢出。 设阶码数值部分取7位,符号位取2位,用补码表示,则 能表示的最大阶码E补=001111111=127;最小阶码E补=110000000= - 128;(1) 小于 -128,称为下溢:发生在左规时; 用机器0表示(阶码、尾

45、数全0) 例如,和的阶码=11000 左规一位时变成10. XXXX,3.4.1 浮点加减法运算,74,(2) 大于 +127时,称为上溢,这是浮点数 的真正溢出。置溢出标志,作中断处理 例如,当和的阶码=00.1111 而尾数还须右规时,会变成01.0000总结:E补=01 XXX为上溢,真正溢出,需做 溢出处理。E 补=10 XXX为下溢,浮点数值趋于零, 用机器零表示。,75,设 X=Sx2Ex , Y=Sy2 Ey 则 XY=(Sx Sy )2 Ex+Ey 浮点数乘法运算的规则为: l 乘积的阶码由两数阶码相加求得 l 乘积的尾数等于被乘数和乘数的尾数之积 可采用定点数乘方法 (A)需

46、要对浮点数尾数积进行规格化(左规、右规:均是最多一位) (B)舍入:0舍1入,若采用双倍字长乘积时,没有舍入问题。,3.4.2 浮点数乘法运算,76,1、浮点数除法的运算规则为: l 商的尾数由两数的尾数相除求得 l 商的阶码由两数阶码相减求得设x=Sx 2Ex, y=Sy 2Ey , 则x/y=(Sx /Sy )2 Ex-Ey,3.4.3 浮点数除法运算,77,2、步骤(1) 预置:当除数为0时, 商为,置“上溢”标志, 终止除法运算; 若除数不为0时,而被除数为0,商和余数均被置成0,除法不必进行下去;只有当两个操作数均不为0时,除法才进行下去。(2) 尾数调整:使被除数的绝对值小于除数绝

47、对值,以满足定点除法运算规则。(3) 求阶差:求阶差后可判断溢出(应在规格化后再判断),若阶码用补码表示,阶符(两位)为01时,表示上溢;阶符为10时,表示下溢,使除法结果为0。(4) 尾数相除(5) 规格化(6) 舍入,3.4.3 浮点数除法运算,78,(一) 功能:运算器的主要功能是对数据的加工和处理。它是在控制器的控制之下工作的,是一个加工处理部件。(1) 对数据的加工处理,主要包括对数值数据的算术运算,如加、减、乘、除运算,变更数据的符号等。(2) 对各种数据的逻辑运算,例如进行与、或、求反等运算。(3) 传递数据的一条重要途径。,3.5.2 运算器的功能和组成,79,(一) 基本结构

48、: (1) 能实现算术和逻辑运算功能的部件ALU; (2) 存放待加工的信息或加工后的结果信息的通用寄存器组; (3) 按操作要求控制数据输入的部件:多路开关或数据锁存器; 它可以接收来自外部设备或存储器中的数据,也可以是暂存在通用寄存器中的数据; (4) 按操作要求控制数据输出的部件:输出移位和多路开关; 可以将ALU的输出,根据要求进行左移、右移、直送、半字交换,从中选择之一进行输出,经总线送往其它部件,或作为中间结果送给通用寄存器,再次作为ALU的输入,进行下次运算。 (5) 计算器与其它部件进行信息传送的总线以及 总线接收器与发送器;总线接收器与发送器通常是由三态门构成的。 图3.10给出了运算器的基本逻辑框图。,3.5.2 运算器的功能和组成,80,第四章 指令系统,指令系统决定了计算机的基本功能,因此指令系统的设计是计算机系统设计的一个核心问题。它不仅与计算机的硬件设计紧密相关,而且直接影响到系统软件设计的难易程度。,

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

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报