计算机组成原理课件.ppt

上传人(卖家):三亚风情 文档编号:2977268 上传时间:2022-06-18 格式:PPT 页数:492 大小:1.87MB
下载 相关 举报
计算机组成原理课件.ppt_第1页
第1页 / 共492页
计算机组成原理课件.ppt_第2页
第2页 / 共492页
计算机组成原理课件.ppt_第3页
第3页 / 共492页
计算机组成原理课件.ppt_第4页
第4页 / 共492页
计算机组成原理课件.ppt_第5页
第5页 / 共492页
点击查看更多>>
资源描述

1、1郑州大学信息工程学院计算机专业郑州大学信息工程学院计算机专业2l目的和要求 该课程是计算机科学与技术专业的一门专业基础课。它的内容主要介绍计算机各个功能部件的组织结构、功能以及它们之间互连组成的计算机系统。使学生了解计算机的组成原理及工作原理,以建立整机概念。本课程设有实验,以加深对课程内容的理解,培养学生的动手能力。l教学内容 概论、数据表示、运算方法和运算器、指令系统、控制器、存储系统、输入输出系统、外部设备、计算机系统。3l第1章 概论l第2章 计算机中的数据表示l第3章 运算方法和运算器 l第4章 指令系统l第5章 控制器l第6章 存储系统l第7章 输入输出系统l第8章 计算机外部设

2、备l第9章 计算机系统4l计算机(Computer): 1、 概念:计算机是一种以电子器件为基础的,不需人的直接干预,能够对各种数字化信息,进行算术和逻辑运算的快速工具。5 (1) 以电子器件为物质基础:电子数字计算机 (Digital Computer) (2) 不需要人的直接干预:自动化(存储程序为基 础) (3) 数字化信息:二进制(计算机能够具有逻辑判 断和处理能力的基础) (4) 算逻运算:基本运算操作是算术和逻辑运算 (5) 快速工具:(A) 电子器件(B) 存储程序2、 层次:6 (A) 高速高集成度开关元件 (B) 数字化信息编码 (C) 逻辑判断和处理能力 (D) 存储程序

3、(A) 快速性(由(1)中(A)(D)决定) (B) 准确性(由(1)中(B)(D)决定) (C) 逻辑性(由(1)中(A)(C)(D)决定) (D) 通用性(由(1)中(A)(B)(C)(D)决定) 3、特征 :71.1.1 计算机的发展概况计算机的发展概况 (1) 1946年第一台计算机ENIAC50年代末 (2) 主要特征:电子管作为电子器件 (3) 软件处于初始阶段,使用机器语言与符号语 言编制程序 (4) 特点:体积大,运算速度低,存储容量小, 主要用于科学计算。 1.1 计算机的发展、应用和分类计算机的发展、应用和分类81.1.1 计算机的发展概况计算机的发展概况 (1) 50年代

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

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

6、 计算机的发展概况计算机的发展概况以超大规模集成电路为基础,未来的计算机将向巨型化、微型化、网络化与智能化的方向发展。 1.1 计算机的发展、应用和分类计算机的发展、应用和分类121、科学计算、科学计算2、过程检测与控制、过程检测与控制 利用计算机对工业生产过程中的某些信号自动进行检测,并把检测到的数据存入到计算机,再根据需要对这些数据进行处理。这样的系统称为计算机检测系统。但一般来说,实际的工业生产过程是一个连续的过程,往往既需要用计算机进行检测,又需要用计算机进行控制。3、信息管理、信息管理 信息管理是目前计算机应用最广泛的一个领域。所谓信息管理,是指利用计算机来加工、管理与操作任何形式的

7、数据资料,如企业管理、物资管理、报表统计、帐目计算、信息情报检索等。4、计算机辅助系统、计算机辅助系统 计算机用于辅助设计、辅助制造、辅助教学等方面,统称为计算机辅助系统。 1.1.2 计算机的应用领域计算机的应用领域13 1、 根据计算机的应用范围分:(1) 专用计算机:为特定应用问题而设计的计算机,具有经济、有效和快速等特点,但它的使用面较窄。(2) 通用计算机:通用计算机使用面广,通用性强,操作相对简单。 2、根据计算机的规模分:(1) 巨型机(2) 大型机(3) 中型机(4) 小型机(5) 微型机1.1.3 计算机的分类计算机的分类14计算机系统是由计算机硬件和计算机软件组成的。计算机

8、硬件(Hardware)是指构成计算机的所有实体部件的集合,通常这些部件由电路(电子元件)、机械等物理部件组成。 1.2 计算机硬件计算机硬件151、冯诺依曼原理的基本思想: 采用二进制形式表示数据和指令。指令由操作码和地址码组成; “存储程序”和“程序控制”(简称存储程序控制); 指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。 计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成。 161.2.1 计算机的组成部件计算机的组成部件输出设备输入设备运算器控制器存储器计算结果程序和数据图1.1 计算机的组成部件数据流控制流17 2、基本组成 它

9、由5大组成部件,如图1.1所示。 (1) 存储器 (A) 基本功能:读和写 (a)对象:数据和指令 (b)单元:存储单元地址 (B) 分类: (a)内存(主存) (b)外存(辅存) (C) 主存的组成 (a)存储体 (b)存储器地址寄存器MAR(Memory Address Register) (c)存储器数据寄存器MDR(Memory Data Register) (d)读写控制线路1.2.1 计算机的组成部件计算机的组成部件18 2、基本组成、基本组成 (2) 运算器 (A) 主要功能:对二进制数码进行算术(+-*/)和逻辑(与或非)运算 (B) 组成: (a)ALU(Arithmetic

10、 Logic Unit):核心为并行加法器 (b)通用寄存器组 (c)多路开关或数据锁存器:控制数据输入 (d)输出移位开关:控制数据输出 (e)与其他部件间信息传送的总线及控制数据传送的接收器和发送器 (C) 精度和速度是运算器重要的性能指标。 1.2.1 计算机的组成部件计算机的组成部件19 运算器基本逻辑框图总线发送器输出移位开关接收器ALU多路开关多路开关通用寄存器20 2、基本组成、基本组成 (3) 控制器 (A) 功能:读取指令、翻译指令代码、并向计算机各部分发出控制信号,以便执行指令。当一条指令执行完以后,控制器会自动地去取下一条将要执行的指令,重复上述过程直到整个程序执行完毕。

11、 (B) 组成: (a)指令部件 IR、ID、PC、PSW、地址形成部件 (b)时序部件 (c)微操作控制线路 (d)中断控制逻辑212、基本组成、基本组成(4)输入设备 输入设备能将数据和程序变换成计算机内部所能识别和接受的信息方式,并顺序地把它们送入存储器中。输入设备由许多种类,例如键盘、鼠标、扫描仪、光电输入机等。 (5)输出设备 输出设备将计算机处理的结果以人们能接受的或其它机器能接受的形式送出。输出设备同样由许多种类,例如显示器、打印机、绘图仪等。22在计算机的5大部件中,运算器和控制器是信息处理的中心部件,所以它们合称为“中央处理单元”(CPU:Central Processing

12、 Unit)。存储器、运算器和控制器在信息处理操作中起主要作用,是计算机硬件的主体部分,通常被称为“主机”。而输入(Input)设备和输出(Output)设备统称为“外部设备”,简称为外设或I/O设备。 23 (1) 程序的执行: (A) 编写程序 (B) 翻译成机器指令 (C) 将程序和数据写入存储器 (D) 将第一条指令地址放入PC (E) 执行所有指令 (F) 结束24 (2) 指令的执行: (A) 开始时,将第一条指令地址=PC (B)( PC)=MAR,发“读”命令,使 (MDR)=IR (C) 翻译IR的操作性质 (D) 取操作数 (E) 将操作数运算器,运行之 (F) 送结果 (

13、a)R (b)内存 (G)(PC)+1=PC3、工作原理工作原理25一、总线1、概念:1.2.2 计算机的总线结构计算机的总线结构26 2、分类: (1)按照传送信息的属性来分: 数据总线(DB:Data Bus)用于在各部件之间传送数据信息。 地址总线(AB:Address Bus)用于传送各部件相互访问用的地址信息。 控制总线(CB:Control Bus)用于传送控制各部件操作的控制信息。(2)按信息传送的方向区分: 单向总线和双向总线。(3)按连接对象和完成的功能分: I/O BUS和MEMORY BUS 存储总线用于CPU与主存储器的信息交换,I/O总线用于外设与主机的信息交换。1.

14、2.2 计算机的总线结构计算机的总线结构27二、按总线连接方式,计算机组成结构分为三类1、单总线结构、单总线结构 这种结构把各功能部件都连接在单总线(Single Bus)上,所有部件间的信息交换都经由单总线进行,如图1.2。(1)Unified-Bus:一元化总线:PDP-11(2)Single-Bus:单总线:IBM-PC2、双总线结构、双总线结构(1)两种总线:存储总线用于CPU与主存储器的信息交换,I/O总线用于外设与主机的信息交换。(2)三种形式: (A) 以CPU为中心的双总线结构 (B) 以存储器为中心的双总线结构 (C) 采用通道或输入输出处理机IOP来处理输入输出工作的双总线

15、结构。3、多总线结构、多总线结构 在高速外设与主存储器之间可以增设直接存储器访问(DMA:Direct Memory Access)方式的高速I/O总线(DMA总线),从而形成多总线结构,如图1.4。28单总线外设存储器CPU图1.2 单总线的组成结构(a)以CPU为中心存储总线I/O总线外设存储器CPU(c)采用通道形式(b)以存储器为中心存储总线I/O总线I/O总线外设存储器CPU存储总线外设外设CPU图1.3 双总线的组成结构存储器通道存储总线DMA总线I/O总线存储器CPU图1.4 多总线的组成结构外设外设29 1、软件(Software): 是指能使计算机工作的程序和程序运行时所需要

16、的数据,以及与这些程序和数据有关的文字说明和图表资料,其中文字说明和图表资料又称为文档。1.3 计算机软件计算机软件30 2、分类: (1) 系统软件 系统软件是指管理、监控和维护计算机资源(包括硬件和软件)的软件。 (A) 操作系统 DOS、WINDOWS、UNIX、XENIX 通常,操作系统具有五个方面的功能:存储管理、处理机管理、 设备管理、文件管理和作业管理。 (B)语言处理程序 机器语言、汇编语言和高级语言(编译、解释)三类。 (C)数据库管理系统 数据库和管理数据库的软件构成数据库管理系统。 (D)服务程序 (2) 应用软件应用软件1.3 计算机软件计算机软件311.4.1 软件与

17、硬件的逻辑等价软件与硬件的逻辑等价 1、含义: (1) 任何一个由软件所完成的操作也可以直接由硬件来实现 (2) 任何一条由硬件所执行的指令也能用软件来完成 2、固件(Firmware):固件是一种界于传统的软件和硬件之间的实体,功能上类似软件,但形态上又是硬件。微程序是计算机硬件和软件相结合的重要形式。32 1.4.2 计算机系统的层次结构计算机系统的层次结构图1.5 计算机系统的层次结构第5层编译程序高级语言层第4层汇编程序汇编语言层第3层操作系统操作系统层第2层微程序机器语言层第1层微指令直接由硬件执行微程序设计层33 1、系列机:一组计算机若是属同一个系统结构,但在性能上由低档到高档形

18、成一个系列,就组成一个计算机系列(family)。这一系列计算机(系列机)中的每个机型都具有:相同的基本指令系统,相同的数据结构,相同的基本输入输出操作,支持相同的基本系统软件等。342、兼容性: (1) 软件兼容是指一个软件不经修改就能在不同机型上正确运行。 (2) 软件兼容存在以下两种情况: 这是指某档机原开发的软件可以不加修改便能在它的高档机上正确运行使用。 这是指某档机的软件可以不加修改便能在它的低档机上正确运行使用。在这种情况下,软件向上兼容是不成问题的。 (3) 兼容(Compatible)是一个广泛的概念,包括软件兼容、硬件兼容、系统兼容等等。1.4.3 系列机与兼容性系列机与兼

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

20、障时间(MTBF)衡量。 MTBFMean Time Between Falures 平均无故障时间是指两次故障之间能正常工作时间的平均值。假设表示单位时间内失效的元件数与元件总数的比例即失效率,则MTBF=1/。例如=0.02%/h,则MTBF=1/=5000h可用平均修复时间(MTRF)表示,它是指从故障发生到机器修复平均所需要的时间。 MTBRMean Time Between Repairs(字典缩略) MTTRMean Time To Repair(微软计算机辞典)是指计算机的使用效率。A=MTBF/(MTBF+MTRF)兼容是广泛的概念,是指设备或程序可以用于多种系统中的性能。1.

21、5 计算机的性能指标计算机的性能指标374、冯诺依曼型计算机的基本特点是什么?6、什么是总线?以总线组成计算机有哪几种组成结构?各有什么特点?7、什么是硬件、软件和固件?什么是软件和硬件的逻辑等价?在什么意义上软件和硬件是不等价的?11、你怎样理解计算机中的“兼容”特性?13、计算机硬件实体的5个基本组成部分是否缺一不可?38392.2 计算机中数的表示单位和机器字长计算机中数的表示单位和机器字长2.2.1 数的表示单位数的表示单位位、字节、字位、字节、字2.2.2 机器字长机器字长机器字长一般是指参加运算的的寄存器所含有的二进制位数,它代表机器的精度。40数据的表示常用的有两种:定点表示法和

22、浮点表示法。任何一个二进制数N都可以表示为N=2ES其中E是一个二进制整数,称为数N的阶码,2为阶码的基数,S是二进制小数,称为数N的尾数。E和S可正可负。尾数S表示数N的全部有效数据,阶码E指明该数的小数点位置,表示数据的大小范围。41 (1) 阶码E保持不变 (2) 若E=0,小数点固定在最高位之前,则该数是一个纯小数或定点小数。 例如 N=200.110101001=0.110101001(3)若取E=n(n为尾数的位数),则把小数点定在尾数最末位之后,这时表示一个纯整数(定点整数)。 例如 N=270.1011010=01011010421 浮点数的格式浮点数的格式通常,阶码位数m与尾

23、数位数n之间有如下关系:2m-1n即表示阶码的值应保证实际的小数点可以在整个尾数的位格中移动。图2.1 浮点数的表示形式阶码阶符尾数尾符432 规格化浮点数规格化浮点数所谓浮点数的规格化,就是通过移动尾数,使尾数S的最高位数字为1。即S满足1/2|S|X原0,故1X=X原0; 当Xs=1时,2X原1,故01-X原-1 即 2X原0,其范围是:02-2-(n-1),真值为1X-1,其范围是:-(1-2-(n-1)+(1-2-(n-1)。 (3)0不唯一 定点小数 +0原 = 0.00 -0原 = 1.00 整数 +0原 = 000 -0原 = 100511 补码的定义补码的定义整数补码定义:X补

24、 =X补为整数X的补码,X为任意整数,n为整数的位数。例2.15 正整数X=1011的补码为: X补=01011负整数X=-1011的补码为:X补=2n+1+X=24+1+ X =100000-1011=10101 小数补码定义:X补= X补是小数X的补码,X为任意小数,2为模数。小数的补码就是模为2 的补码。)2(mod2020211nnnnXXXX)2(mod10201XXXX522补码的性质补码的性质 (1) 在补码表示法中,0的补码是唯一的,即整数0 +0补= 000 -0补= 2n+1-000 = 2n+1=000 (mod 2n+1)小数0 +0补= 0.000 -0补= 2-0.

25、000 = 2 =0.000 (mod 2) (2) 假设一整数X的补码表示为:X补=XSXn-1Xn-2X1X0,XS是补码的符号位,标志整数X的符号,XS=0时,X为正数;XS=1时,X为负数。 (3) 补码的表示范围是:正整数 2nX0负整数 0X-2n 负数的范围比正数范围大,即多表示一个数-2n。 当X=-2n时,它的补码为:X补 = -2n补 = 2n+1 -2n = 2n = 100053 (4) 整数X的补码可以写成这样的形式:X补 = 2n+1XS + X 这里XS为符号,XS= 这是因为X为正时,XS=0,X补 = 2n+10 + X = X ;X为负时,XS=1,X补 =

26、 2n+11 + X = 2n+1 + X,符合补码的定义。 (5) 补码与真值的关系设X补=XSXn-1Xn-2X1X0,由性质4可知,X补 = 2n+1XS + X,可以证明X = X补 - 2n+1XS = -2nXs + Xn-1Xn-2X1X0反过来,若X = -2nXS + Xn-1Xn-2X1X0, 则X补 = 2n+1XS + X = XSXn-1Xn-2X1X0(6)补码的一项算术运算特性 X/2补是把X补中各位连同符号位一起都右移一位,符号位保持不变。nnXX20102054 3 补码的求法补码的求法当0X-2n时,数X的补码是:符号位为1,数值位是其真值X的数值位取反加1

27、。也可由X的原码X原求得补码X补:X补等于X原除符号位外求反加1。反过来可由X的补码X补求得原码X原:X原等于X补除符号位外求反加1。当X为小数时,若X为负数,则X的补码是:符号位为1,数值位是其真值X 的数值位取反末位加1。也可由X的原码X原求得补码X补:X补等于X原除符号位外求反末位加1。反过来可由X的补码X补求得原码X原:X原等于X补除符号位外求反末位加1。554 由由X补补求求-X补补 X+Y补 = X补 + Y补 X-Y补 = X补 + -Y补 假设X补=XSXn-1Xn-2X1X0,可由X补按下式求得-X补-X补 = + 1 把对X补连同符号位在内的各位求反运算称为对X补“求反”运

28、算,记为X补。这样对X补的“求补”运算可看成对X补“求反”运算再加1:-X补=X 补 + 1,且两者有以下关系: X补 + X补 = 2n+1 - 1 = 111(n个1)XXXXXnns121565 变形补码变形补码小数“模4补码”的定义为:X补 = 或X补 = X (mod 4)(1) 当-1X0,XS=0,扩展后高8位全为0,低8 位包括符号位仍为原来的数码位。若XX-2n即无论X是正还是负,一律加上2n,称2n为基数。2、移码与补码的关系是:真值是正数时,移码是补码的最高位加1;真值是负数时,移码是补码的最高位减1。也就是把补码的符号位变为其反码即可。即若 X补=XSXn-1Xn-2X

29、1X0, 则 X移=Xn-1Xn-2X1X0 例2.21 X=1001 X补=01001 可求得X移=11001 X=-1001 X补=10111 可求得X移=00111613、移码有如下性质:(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时,表示负数

30、;符号为1,表示正数。(4) 移码一般只进行加减运算,运算后需要对结果进行修正,修正量为2n,即要对结果的符号位取反后,才能得到移码形式的结果。(5)通过比较两个移码的大小, 就可得知其对应的真值的大小。62上面所述的四种表示方式中,移码主要用于表示浮点数的阶码。下面对其它三种编码方法作以比较:(1) 三种编码的最高位都是符号位。(2) 当真值为正时,三种编码的符号位都用0表示,数值部分与真值相同。 即它们的表示方法是相同的。(3) 当真值为负时,三种编码的符号位都用1表示,但数值部分的表示各不相同,数值部分存在这样的关系:补码是原码的“求反加1”(整数),或者“求反末位加1”(小数);反码是

31、原码的“每位求反”。(4) 它们所能表示的数据范围,基本上是一样的,-2nX2n(整数)或-1Xe2,是否就有N1N2?(2)若尾数n1、n2都是规格化数,上述结论成立吗?873、试比较下列各数对中的两个数的大小:(1)(2001)10 (2001)8(2)(4095)10 (7776)8(3)(0.115)10 (0.115)16(4)(0.625)10 2111*0.111111 上溢 (4)= 21100*1.0110017、(1)不一定 (2)成立8990计算机进行算术运算的特点:l(1)所有数据都是用二进制数位形式来表示的。l(2)在机器内部,数是以编码形式即机器数来表示的。l(3)

32、机器运算规模有限,因而机器运算就要解决运算方法、数据表示格式及数据长度的选取、规定等问题。l(4)用计算机进行运算时,都要把复杂的运算,简化为一系列的、最基本的运算才能实现。计算机可以实现的基本运算有算术运算(加、减、乘、除等)和逻辑运算(与、或、异或等)。91 (1) 对符号位单独处理。首先要考虑符号,若两数符号相同,则进入(2); 否则进入(3)。(2) 将两数绝对值相加,求其和。和的符号等于被加数的符号。(3) 先将它们的绝对值相减,求得和。若运算结果为正,则和的符号等于被加数的符号;结果为负,和的符号等于加数的符号。92例3.1 A原 =1.01011 B原=0.01001 求A原+B

33、原解 比较符号: AS=1, BS=0, ASBS 绝对值相减: 差: C=|A|-|B|=0.01011-0.01001=0.00010 差的符号:CS=0,所以,A原+B原=1.00010例3.2 A原=0.01001 B原=1.01011 求A原+B原解 比较符号: AS=0, BS=1, ASBS 绝对值相减: 差: C=|A|-|B|=0.01001-0.01011=1.11110 差的符号:CS=1,对C取补为:0.00010 所以,A原+B原=1.0001093原码减法运算,可按如下步骤进行:(1) 先比较两数符号,若两数符号相异,则进入(2);两数符号相同进入(3)。(2) 将

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

35、 X-Y 变补=X 变补+-Y 变补95例3.5 X=0.1011 Y=0.0011 求X+Y补解 X变补 = 00.1011 Y变补 = 00.0011 X+Y变补 = 00.1011 + 00.0011 = 00.1110 所以 X+Y补 = 0.1110例3.6 X=0.1011 Y=0.1001 求X+Y补解: X变补 = 00.1011 Y变补 = 00.1001 X+Y变补 = 00.1011 + 00.1001 = 01.0100 运算结果的两符号位是01,不相同,发生溢出,因第一符号位是0,代表正数, 所以称这种溢出为“正溢出”。96例3.7 X=-0.1101 Y=-0.10

36、10 求X+Y补解 X变补 = 11.0011 Y变补 = 11.0110 X+Y变补 = 11.0011 + 11.0110 = 10.1001 (mod 4) 结果的两符号位是10,不相同,发生溢出,因第一符号位是1,代表负数, 所以称这种溢出为“负溢出”。(3)判断溢出的原则: 当两符号位不同时,溢出; 当两符号位相同时,正确。97(1)公式: X+Y反=X反+Y反 (mod 2-2-n) X-Y反 = X+(-Y)反 = X反 + -Y反(2)循环进位:循环进位是指在运算过程中,当第一符号位产生进位时,这个进位被丢掉的同时,必须把此进位加到最低位上去,即最低位加1。98例如X=+0.1

37、011,Y=-0.0100,则有X反=0.1011,Y反=1.1011,X+Y反=X反+Y反=0.1011+1.1011=10.0110,最高位有进位,要加到结果的最低位,得到0.0110+0.0001=0.0111,即+0.0111。总结:比较这三种编码制的加减运算可知,补码加减运算最方便适用。991、串行加法器一个全加器和一个进位触发器2、行波进位加法器注意,将溢出标志改为: (1) 若有一个符号位,不变; (2) 若有两个符号位,则溢出标志= Ss1Ss2100图3.3 行波进位补码加法/减法器FAFAFAFAFAS0S1Sn-1Bs1As1Bs2As2Cs2Cs1Ss2Ss1Bn-1A

38、n-1Cn-1Cn-2B1A1B0A0C1C2C0溢出M方式控制M=1 减M=0 加1013、并行进位加法器 (1) 消除行波进位设一位全加器的三个输入为:Xi,Yi,Ci-1对应书中 (Ai Bi Ci )二个输出:Zi Ci对应书中 (Si Ci+1)102Ci-1XiYiZiCi输 出输 入0 11 01 00 00 1 10 1 00 0 10 0 01 01 0 00 10 11 1 01 0 11 11 1 1表3.1 全加器真值表103则逻辑表达式为:Zi=XiYi Ci-1 + XiYi Ci-1+ XiYi Ci-1+ XiYi Ci-1Ci=XiYi Ci-1 + XiYi

39、 Ci-1+ XiYi Ci-1+ XiYi Ci-1化简:Zi=XiYi Ci-1 + XiYi Ci-1+ XiYi Ci-1+ XiYi Ci-1 =Ci-1(XiYi+ XiYi) +Ci-1(XiYi+ XiYi) =Ci-1(XiYi) +Ci-1(XiYi) = XiYi Ci-1已知吸收律:X+XY=X,X(X+Y)=X第二吸收律:X+XY=X+Y,X(X+Y)=XY104为化简Ci有两种方法:方法一:Ci=XiYi Ci-1 + XiYi Ci-1+ XiYi Ci-1+ XiYi Ci-1 =XiYi Ci-1 + XiYi Ci-1+ (XiYi Ci-1+ XiYi C

40、i-1) = XiYi+XiYi Ci-1 + XiYi Ci-1 =Yi(Xi+Xi Ci-1) + XiYi Ci-1 = Yi(Xi+ Ci-1) + XiYi Ci-1 = XiYi+ YiCi-1 + XiYi Ci-1 = XiYi+ Ci-1(Yi+ XiYi) = XiYi+ Ci-1(Yi+ Xi) = XiYi+ (Xi +Yi) Ci-1105方法二:Ci=XiYi Ci-1 + XiYi Ci-1+ XiYi Ci-1+ XiYi Ci-1 =(XiYi + XiYi) Ci-1+ XiYi (Ci-1+ Ci-1) =( XiYi) Ci-1+ XiYi = XiYi

41、+( XiYi) Ci-1106按方法一表达式组成的一位全加器内部逻辑图如图3.2所示。通过逻辑运算,可以写出多种形式的Ci或Si表达式,从而可采用不同的逻辑电路来实现,尽管形式不一样,但完成的功能是相同的。107B图3.2 一位全加器内部逻辑图CSiCi+1ABCAAiBiCi108 (2) 现分析向高位进位函数CIXiYi-称本地进位函数,它只是本位的两个数码生成的进位逻辑因子,不依赖于低位进位。当XiYi=1时,Ci=1-表示有进位,随XiYi产生,记为Gi(Xi +Yi) Ci-1-该项依赖于低位来的进位Ci-1,当(Xi+Yi)=1,Ci-1=1,则Ci=1,表示有进位。即当(Xi

42、+Yi)=1,Ci-1=1时,可把Ci1的“1”直接传到高一位去,以提高速度。(Xi +Yi)是传递Ci-1的条件,称传递进位函数,记为Pi 则代入前边的式子: Zi= XiYi Ci-1 Ci=Gi+Pi Ci-1109提高运算速度的方法有三个:一是从计算机系统结构角度,提出了并行处理、流水线等方式;二是运算电路,特别是用高速化的逻辑电路实现加法和移位功能;三是运算方法和逻辑结构的高速化。本节主要介绍第三种方法,即改善运算方法和逻辑结构以提高运算速度。110 1一级分组先行进位法(1)相邻4位加法器单元逻辑(第i-1, i-2, i-3 ,i-4位) Ci=Gi+PiCi-1 Ci-1=Gi

43、-1+Pi-1Ci-2 Ci-2=Gi-2+Pi-2Ci-3 Ci-3=Gi-3+Pi-3Ci-4 展开: Ci-3=Gi-3+Pi-3Ci-4 Ci-2=Gi-2+Pi-2Gi-3+ Pi-2Pi-3 Ci-4 Ci-1=Gi-1+Pi-1 Gi-1+ Pi-1Pi-2Gi-3+ Pi-1 Pi-2Pi-3 Ci-4 Ci=Gi+PiGi-1+Pi Pi-1 Gi-2+Pi Pi-1 Pi-2Gi-3+ PiPi-1 Pi-2Pi-3 Ci-4 Ci中前四项记为GI*,最后一项的前四个因子记为PI* 则,Ci= GI*+ PI* Ci-4111(2)一级分组进位设机器字长为16位,以4位为一

44、组,分成4个组,组内4位间做到同时进位, 组间行波进位。112图3.5 一级分组先行进位及组间行波进位C15C14C13C1(C0)C0C2C3C4C6C5C7C8C10C11C9C12G50G74G118G1512P30P74P118P15121 第3组先行进位加法器第2组先行进位加法器第1组先行进位加法器第0组先行进位加法器1132 二级分组先行进位法仿一级分析法: C3 = G3* + P3*(1) C7 = G7* + P7* G3*+ P7*P3*(1 ) C11 = G11* + P11* G7*+ P11*P7* G3* + P11*P7*P3*(1 ) C15 = G15* +

45、 P15* G11*+ P15* P11* G7*+ P15*P11* P7* G3* + P15*P11*P7*P3*(1 ) 16位二级分组并行加法器的逻辑图图3.6所示。114图3.6 由4片4位先行加法器构成的16位快速进位加法器逻辑示意图GI+3PI+3CCI+3C2C0C0C1C3PI+0GI+0CI+0PI+1GI+1CI+1G15G12G11G8G7G4G3G0P15P12P11P8P7P4P3P0中组(包括四小组)加法器C6C5C7C10C9PI+2CI+2GI+2C11C14C13C15一级先行进位第3组一级先行进位第2组一级先行进位第1组一级先行进位第0组115例如74L

46、S182采用组间超前进位电路,称作为“先行进位部件CLA”。可利用四个74LS181 ALU位片和一个74LS182 CLA部件,构成一个字长为16位的运算部件,具有两级先行进位,CLA构成第二级的先行进位逻辑。 116实现乘除法运算的方案: 1、使用乘除运算较多,速度要求高时,硬件直接实现; 2、一般情况,配置乘除法选件; 3、而对速度要求不高的机器,用软件实现。117 1 原码一位乘法 (1) 一位乘算法描述设X原=Xs.Xn-1Xn-2XiX1X0=Xs.Xv Y原=Ys.Yn-1Yn-2YiY1Y0=Ys.Yv则乘积Z原=Zs.Zv=(XsYs).(Xv*Yv)A.手算方法例如 求A=

47、0.1101和B=0.0110的乘积 .001001110.03032000002221101112110102000000110.0)1101.0求得积为位左移位左移位左移不移位乘数被乘数AAAABA118(I)运算规则(a) 从乘数的最低位开始,用乘数B的每个二进制位去乘被乘数A,若B 的某个二进制位为1,则得位积A;如为0,则得位积0。(b) B的各位分别乘以A的所得的位积,因为位权不同,逐次向左移位,即在空间上按一定位数错开,这样逐位进行下去,直到乘数各位都乘完为止。(c) 把经过移位对准的各次位积相加起来即得结果。119(II)缺点 第一、 将多个数一次相加,机器难以实现。一般的加法

48、器,只能把两个输入数相加,多个位积的同时输入是无法实现的。第二、 乘积位数增长了一倍,即2n,而机器字长只有n位。120(III)改进 (a)把一次求和的操作,变成逐步累加求部分积的操作 (b)将求积过程中逐位按权左移位积的操作,改为位积不动,而是上次部分积右移的操作 B.机器算法 若用Zi表示第i次部分积,则 Z0 = 0 Z1 = 2-1 (B0A + Z0) Z2 = 2-1 (Bn-1A + Z1) Zi = 2-1 (Bn-i+1A + Zi-1) Zn = 2-1 (B1A + Zn-1) Zn即为A和B的乘积,即AB=Zn121例3.8 已知X=-0.1011 Y=0.1001

49、求XY原解 X原=1.1011 Y原=0.1001 |X| = 0.1011 |Y| = 0.1001则按原码一位乘法运算规则,求XY原的数值部分。运算过程表3.2所示。所以|X|Y| = 0.01100011, 而Zs = XsYs = 10 =1最后求得XY原 = 1.01100011原码一位乘法的逻辑结构框图如图3.7所示:122 +) 0. 0 0 0 0 +) 0. 0 0 0 0 +) 0. 1 0 1 1 +) 0. 1 0 1 1 0. 0 0 0 10. 0 1 1 00. 1 1 0 00. 0 0 1 00. 0 0 1 00. 0 1 0 10. 0 1 0 10. 1

50、 0 1 10. 0 0 0 0右移一位得部分积Z4,乘数同时右移一位右移一位得部分积Z3,乘数同时右移一位右移一位得部分积Z2,乘数同时右移一位右移一位得部分积Z1,乘数同时右移一位Y1=1,加|X|Y2=0,加0Y3=0,加0Y4=1,加|X|设部分积初值Z0=0操作说明乘 数部 分 积1 0 0 11 1 0 01 1 1 00 1 1 10 0 1 1低 位 积高 位 积表3.2 例3.8原码一位乘法运算过程123(1) 原码一位乘法逻辑结构原理A.逻辑结构框图图3.7 原码一位乘法逻辑结构原理图Cx+1SRTiQLDR0LDR1部分积Z乘数Y计数器iY/2Y/2Z乘法启动YnYnYn

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(计算机组成原理课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|