




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机组成基本原理1计算机组成基本原理2目的和要求 该课程是计算机科学与技术专业的一门专业基础课。它的内容主要介绍计算机各个功能部件的组织结构、功能以及它们之间互连组成的计算机系统。使学生了解计算机的组成原理及工作原理,以建立整机概念。本课程设有实验,以加深对课程内容的理解,培养学生的动手能力。教学内容 概论、数据表示、运算方法和运算器、指令系统、控制器、存储系统、输入输出系统、外部设备、计算机系统。计算机组成基本原理3第1章 概论第2章 计算机中的数据表示第3章 运算方法和运算器 第4章 指令系统第5章 控制器第6章 存储系统第7章 输入输出系统第8章 计算机外部设备第9章 计算机系统计算机
2、组成基本原理4计算机(Computer):1、 概念:计算机是一种以电子器件为基础的,不需人的直接干预,能够对各种数字化信息,进行算术和逻辑运算的快速工具。计算机组成基本原理5 (1) 以电子器件为物质基础:电子数字计算机 (Digital Computer) (2) 不需要人的直接干预:自动化(存储程序为基 础) (3) 数字化信息:二进制(计算机能够具有逻辑判 断和处理能力的基础) (4) 算逻运算:基本运算操作是算术和逻辑运算 (5) 快速工具:(A) 电子器件(B) 存储程序计算机组成基本原理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)决定) 计算机组成基本原理71.1.1 计算机的发展概况计算机的发展概况 (1) 1946年第一台计算机ENIAC50年代末 (2) 主要特征:电子管作为电子器件 (3) 软件处于初始阶段,使用机器语言与符号语 言编制程序 (4) 特点:体积大,运算速度低,存储容量小, 主要用于科学计算。计算机组成基本原理81.1.1 计算机的发展概况计算机的发展概况 (1) 50年代末60年代初 (2) 主
4、要特征:晶体管作为电子器件 (3) 软件方面开始使用计算机高级语言 (4) 特点:体积减小,重量轻、寿命长、耗电少、 运算速度快、存储容量比较大等优点。不仅 用于科学计算,还用于数据处理和事务处理, 并逐渐用于工业控制。计算机组成基本原理91.1.1 计算机的发展概况计算机的发展概况 (1) 60年代中期70年代初期 (2) 主要特征:中、小规模集成电路作为电子器 件 (3) 操作系统的出现 (4) 特点:体积与功耗都得到了进一步的减小, 可靠性和运算速度进一步提高。不仅用于科 学计算,还用于文字处理、企业管理、自动 控制等领 域, 出现了管理信息系统,可用于 生产管理、交通管理、情报检索等领
5、域。计算机组成基本原理101.1.1 计算机的发展概况计算机的发展概况 (1)70年代初今 (2)主要特征:大规模与超大规模集成电路作为电 子器件 (3)软件越来越丰富,并且功能强大 (4)特点:计算机在各种性能上都得到了大幅度提 高。 1971年以来,作为第四代计算机重要产品的微 型计算机得到了飞速的发展,对计算机的普及 起到了决定性的作用。以微机为例,IBM PC 8088802868038680486Pentium计算机组成基本原理111.1.1 计算机的发展概况计算机的发展概况以超大规模集成电路为基础,未来的计算机将向巨型化、微型化、网络化与智能化的方向发展。计算机组成基本原理121、
6、科学计算、科学计算2、过程检测与控制、过程检测与控制 利用计算机对工业生产过程中的某些信号自动进行检测,并把检测到的数据存入到计算机,再根据需要对这些数据进行处理。这样的系统称为计算机检测系统。但一般来说,实际的工业生产过程是一个连续的过程,往往既需要用计算机进行检测,又需要用计算机进行控制。3、信息管理、信息管理 信息管理是目前计算机应用最广泛的一个领域。所谓信息管理,是指利用计算机来加工、管理与操作任何形式的数据资料,如企业管理、物资管理、报表统计、帐目计算、信息情报检索等。4、计算机辅助系统、计算机辅助系统 计算机用于辅助设计、辅助制造、辅助教学等方面,统称为计算机辅助系统。计算机组成基
7、本原理13 1、 根据计算机的应用范围分:(1) 专用计算机:为特定应用问题而设计的计算机,具有经济、有效和快速等特点,但它的使用面较窄。(2) 通用计算机:通用计算机使用面广,通用性强,操作相对简单。 2、根据计算机的规模分:(1) 巨型机(2) 大型机(3) 中型机(4) 小型机(5) 微型机计算机组成基本原理14计算机系统是由计算机硬件和计算机软件组成的。计算机硬件(Hardware)是指构成计算机的所有实体部件的集合,通常这些部件由电路(电子元件)、机械等物理部件组成。计算机组成基本原理151、冯诺依曼原理的基本思想: 采用二进制形式表示数据和指令。指令由操作码和地址码组成; “存储程
8、序”和“程序控制”(简称存储程序控制); 指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。 计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成。 计算机组成基本原理16输出设备输入设备运算器控制器存储器计算结果程序和数据图1.1 计算机的组成部件数据流控制流计算机组成基本原理17 2、基本组成 它由5大组成部件,如图1.1所示。 (1) 存储器 (A) 基本功能:读和写 (a)对象:数据和指令 (b)单元:存储单元地址 (B) 分类: (a)内存(主存) (b)外存(辅存) (C) 主存的组成 (a)存储体 (b)存储器地址寄存器MAR(Me
9、mory Address Register) (c)存储器数据寄存器MDR(Memory Data Register) (d)读写控制线路计算机组成基本原理18 2、基本组成、基本组成 (2) 运算器 (A) 主要功能:对二进制数码进行算术(+-*/)和逻辑(与或非)运算 (B) 组成: (a)ALU(Arithmetic Logic Unit):核心为并行加法器 (b)通用寄存器组 (c)多路开关或数据锁存器:控制数据输入 (d)输出移位开关:控制数据输出 (e)与其他部件间信息传送的总线及控制数据传送的接收器和发送器 (C) 精度和速度是运算器重要的性能指标。计算机组成基本原理19 运算器
10、基本逻辑框图总线发送器输出移位开关接收器ALU多路开关多路开关通用寄存器计算机组成基本原理20 2、基本组成、基本组成 (3) 控制器 (A) 功能:读取指令、翻译指令代码、并向计算机各部分发出控制信号,以便执行指令。当一条指令执行完以后,控制器会自动地去取下一条将要执行的指令,重复上述过程直到整个程序执行完毕。 (B) 组成: (a)指令部件 IR、ID、PC、PSW、地址形成部件 (b)时序部件 (c)微操作控制线路 (d)中断控制逻辑计算机组成基本原理212、基本组成、基本组成(4)输入设备 输入设备能将数据和程序变换成计算机内部所能识别和接受的信息方式,并顺序地把它们送入存储器中。输入
11、设备由许多种类,例如键盘、鼠标、扫描仪、光电输入机等。(5)输出设备 输出设备将计算机处理的结果以人们能接受的或其它机器能接受的形式送出。输出设备同样由许多种类,例如显示器、打印机、绘图仪等。计算机组成基本原理22在计算机的5大部件中,运算器和控制器是信息处理的中心部件,所以它们合称为“中央处理单元”(CPU:Central Processing Unit)。存储器、运算器和控制器在信息处理操作中起主要作用,是计算机硬件的主体部分,通常被称为“主机”。而输入(Input)设备和输出(Output)设备统称为“外部设备”,简称为外设或I/O设备。 计算机组成基本原理23 (1) 程序的执行: (
12、A) 编写程序 (B) 翻译成机器指令 (C) 将程序和数据写入存储器 (D) 将第一条指令地址放入PC (E) 执行所有指令 (F) 结束计算机组成基本原理24 (2) 指令的执行: (A) 开始时,将第一条指令地址=PC (B)( PC)=MAR,发“读”命令,使 (MDR)=IR (C) 翻译IR的操作性质 (D) 取操作数 (E) 将操作数运算器,运行之 (F) 送结果 (a)R (b)内存 (G)(PC)+1=PC计算机组成基本原理25一、总线1、概念:计算机组成基本原理26 2、分类: (1)按照传送信息的属性来分: 数据总线(DB:Data Bus)用于在各部件之间传送数据信息。
13、 地址总线(AB:Address Bus)用于传送各部件相互访问用的地址信息。 控制总线(CB:Control Bus)用于传送控制各部件操作的控制信息。(2)按信息传送的方向区分: 单向总线和双向总线。(3)按连接对象和完成的功能分: I/O BUS和MEMORY BUS 存储总线用于CPU与主存储器的信息交换,I/O总线用于外设与主机的信息交换。计算机组成基本原理27二、按总线连接方式,计算机组成结构分为三类1、单总线结构、单总线结构 这种结构把各功能部件都连接在单总线(Single Bus)上,所有部件间的信息交换都经由单总线进行,如图1.2。(1)Unified-Bus:一元化总线:P
14、DP-11(2)Single-Bus:单总线:IBM-PC2、双总线结构、双总线结构(1)两种总线:存储总线用于CPU与主存储器的信息交换,I/O总线用于外设与主机的信息交换。(2)三种形式: (A) 以CPU为中心的双总线结构 (B) 以存储器为中心的双总线结构 (C) 采用通道或输入输出处理机IOP来处理输入输出工作的双总线结构。3、多总线结构、多总线结构 在高速外设与主存储器之间可以增设直接存储器访问(DMA:Direct Memory Access)方式的高速I/O总线(DMA总线),从而形成多总线结构,如图1.4。计算机组成基本原理28单总线外设存储器CPU图1.2 单总线的组成结构
15、(a)以CPU为中心存储总线I/O总线外设存储器CPU(c)采用通道形式(b)以存储器为中心存储总线I/O总线I/O总线外设存储器CPU存储总线外设外设CPU图1.3 双总线的组成结构存储器通道存储总线DMA总线I/O总线存储器CPU图1.4 多总线的组成结构外设外设计算机组成基本原理29 1、软件(Software): 是指能使计算机工作的程序和程序运行时所需要的数据,以及与这些程序和数据有关的文字说明和图表资料,其中文字说明和图表资料又称为文档。计算机组成基本原理30 2、分类: (1) 系统软件 系统软件是指管理、监控和维护计算机资源(包括硬件和软件)的软件。 (A) 操作系统 DOS、
16、WINDOWS、UNIX、XENIX 通常,操作系统具有五个方面的功能:存储管理、处理机管理、 设备管理、文件管理和作业管理。 (B)语言处理程序 机器语言、汇编语言和高级语言(编译、解释)三类。 (C)数据库管理系统 数据库和管理数据库的软件构成数据库管理系统。 (D)服务程序 (2) 应用软件应用软件计算机组成基本原理311.4.1 软件与硬件的逻辑等价软件与硬件的逻辑等价 1、含义: (1) 任何一个由软件所完成的操作也可以直接由硬件来实现 (2) 任何一条由硬件所执行的指令也能用软件来完成 2、固件(Firmware):固件是一种界于传统的软件和硬件之间的实体,功能上类似软件,但形态上
17、又是硬件。微程序是计算机硬件和软件相结合的重要形式。计算机组成基本原理32图1.5 计算机系统的层次结构第5层编译程序高级语言层第4层汇编程序汇编语言层第3层操作系统操作系统层第2层微程序机器语言层第1层微指令直接由硬件执行微程序设计层计算机组成基本原理33 1、系列机:一组计算机若是属同一个系统结构,但在性能上由低档到高档形成一个系列,就组成一个计算机系列(family)。这一系列计算机(系列机)中的每个机型都具有:相同的基本指令系统,相同的数据结构,相同的基本输入输出操作,支持相同的基本系统软件等。计算机组成基本原理342、兼容性: (1) 软件兼容是指一个软件不经修改就能在不同机型上正确
18、运行。 (2) 软件兼容存在以下两种情况: 这是指某档机原开发的软件可以不加修改便能在它的高档机上正确运行使用。 这是指某档机的软件可以不加修改便能在它的低档机上正确运行使用。在这种情况下,软件向上兼容是不成问题的。 (3) 兼容(Compatible)是一个广泛的概念,包括软件兼容、硬件兼容、系统兼容等等。计算机组成基本原理35主频很大程度上决定了计算机的运行速度,它的单位是兆赫兹(MHz)。字长决定了计算机的运算精度、指令字长度、存储单元长度等,可以是8/16/32/64位。(1)早期方法是每秒执行加法指令的次数,(2)现在通常用等效速度。等效速度由各种指令平均执行时间以及对应的执令运行比
19、例计算得出,即用加权平均法求得。它的单位是每秒百万指令(MIPS)。 对比:Mflops(3)还有利用所谓“标准程序”在不同的机器上运行所得到的实测速度。字数*字长 1024(210)简称为1K(千),1024K(220)为1M(兆),1024M(230)为1G(千兆)。计算机组成基本原理常用平均无故障时间(MTBF)衡量。 MTBFMean Time Between Falures 平均无故障时间是指两次故障之间能正常工作时间的平均值。假设表示单位时间内失效的元件数与元件总数的比例即失效率,则MTBF=1/。例如=0.02%/h,则MTBF=1/=5000h可用平均修复时间(MTRF)表示,
20、它是指从故障发生到机器修复平均所需要的时间。 MTBRMean Time Between Repairs(字典缩略) MTTRMean Time To Repair(微软计算机辞典)是指计算机的使用效率。A=MTBF/(MTBF+MTRF)兼容是广泛的概念,是指设备或程序可以用于多种系统中的性能。计算机组成基本原理374、冯诺依曼型计算机的基本特点是什么?6、什么是总线?以总线组成计算机有哪几种组成结构?各有什么特点?7、什么是硬件、软件和固件?什么是软件和硬件的逻辑等价?在什么意义上软件和硬件是不等价的?11、你怎样理解计算机中的“兼容”特性?13、计算机硬件实体的5个基本组成部分是否缺一不
21、可?计算机组成基本原理38计算机组成基本原理392.2 计算机中数的表示单位和机器字长计算机中数的表示单位和机器字长2.2.1 数的表示单位数的表示单位位、字节、字位、字节、字2.2.2 机器字长机器字长机器字长一般是指参加运算的的寄存器所含有的二进制位数,它代表机器的精度。计算机组成基本原理40数据的表示常用的有两种:定点表示法和浮点表示法。任何一个二进制数N都可以表示为N=2ES其中E是一个二进制整数,称为数N的阶码,2为阶码的基数,S是二进制小数,称为数N的尾数。E和S可正可负。尾数S表示数N的全部有效数据,阶码E指明该数的小数点位置,表示数据的大小范围。计算机组成基本原理41 (1)
22、阶码E保持不变 (2) 若E=0,小数点固定在最高位之前,则该数是一个纯小数或定点小数。 例如 N=200.110101001=0.110101001(3)若取E=n(n为尾数的位数),则把小数点定在尾数最末位之后,这时表示一个纯整数(定点整数)。 例如 N=270.1011010=01011010计算机组成基本原理421 浮点数的格式浮点数的格式通常,阶码位数m与尾数位数n之间有如下关系:2m-1n即表示阶码的值应保证实际的小数点可以在整个尾数的位格中移动。图2.1 浮点数的表示形式阶码阶符尾数尾符计算机组成基本原理432 规格化浮点数规格化浮点数所谓浮点数的规格化,就是通过移动尾数,使尾数
23、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原 = 100计算机组成基本原理511 补码的定义补码的定义整数补码定义:X补 =X补为整数X的补码,X为任意整数,n为整数的位数。例2.15 正整数X=1011的补码为: X补=01011负整数X=-1011的补码为:X补=2n+1+X=24+1+ X =100000-
24、1011=10101小数补码定义:X补= X补是小数X的补码,X为任意小数,2为模数。小数的补码就是模为2 的补码。)2(mod2020211nnnnXXXX)2(mod10201XXXX计算机组成基本原理522补码的性质补码的性质 (1) 在补码表示法中,0的补码是唯一的,即整数0 +0补= 000 -0补= 2n+1-000 = 2n+1=000 (mod 2n+1)小数0 +0补= 0.000 -0补= 2-0.000 = 2 =0.000 (mod 2) (2) 假设一整数X的补码表示为:X补=XSXn-1Xn-2X1X0,XS是补码的符号位,标志整数X的符号,XS=0时,X为正数;X
25、S=1时,X为负数。 (3) 补码的表示范围是:正整数 2nX0负整数 0X-2n 负数的范围比正数范围大,即多表示一个数-2n。 当X=-2n时,它的补码为:X补 = -2n补 = 2n+1 -2n = 2n = 1000计算机组成基本原理53 (4) 整数X的补码可以写成这样的形式:X补 = 2n+1XS + X 这里XS为符号,XS= 这是因为X为正时,XS=0,X补 = 2n+10 + X = X ;X为负时,XS=1,X补 = 2n+11 + X = 2n+1 + X,符合补码的定义。 (5) 补码与真值的关系设X补=XSXn-1Xn-2X1X0,由性质4可知,X补 = 2n+1XS
26、 + 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补中各位连同符号位一起都右移一位,符号位保持不变。nnXX201020计算机组成基本原理54 3 补码的求法补码的求法当0X-2n时,数X的补码是:符号位为1,数值位是其真值X的数值位取反加1。也可由X的原码X原求得补码X补:X补等于X原除符号位外求反加1。反过来可由X的补码X补求得原码X原:X原等于X补除符号位外求反加1。当X为小
27、数时,若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补“求反”运算,记为X补。这样对X补的“求补”运算可看成对X补“求反”运算再加1:-X补=X 补 + 1,且两者有以下关系: X补 +
28、X补 = 2n+1 - 1 = 111(n个1)XXXXXnns121计算机组成基本原理565 变形补码变形补码小数“模4补码”的定义为:X补 = 或X补 = X (mod 4)(1) 当-1X0,XS=0,扩展后高8位全为0,低8 位包括符号位仍为原来的数码位。若XX-2n即无论X是正还是负,一律加上2n,称2n为基数。2、移码与补码的关系是:真值是正数时,移码是补码的最高位加1;真值是负数时,移码是补码的最高位减1。也就是把补码的符号位变为其反码即可。即若 X补=XSXn-1Xn-2X1X0, 则 X移=Xn-1Xn-2X1X0例2.21 X=1001 X补=01001 可求得X移=110
29、01 X=-1001 X补=10111 可求得X移=00111计算机组成基本原理613、移码有如下性质:(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) 移码一般只进行加减运算,运算后需要对结果进行修正,修正量为2
30、n,即要对结果的符号位取反后,才能得到移码形式的结果。(5)通过比较两个移码的大小, 就可得知其对应的真值的大小。计算机组成基本原理62上面所述的四种表示方式中,移码主要用于表示浮点数的阶码。下面对其它三种编码方法作以比较:(1) 三种编码的最高位都是符号位。(2) 当真值为正时,三种编码的符号位都用0表示,数值部分与真值相同。 即它们的表示方法是相同的。(3) 当真值为负时,三种编码的符号位都用1表示,但数值部分的表示各不相同,数值部分存在这样的关系:补码是原码的“求反加1”(整数),或者“求反末位加1”(小数);反码是原码的“每位求反”。(4) 它们所能表示的数据范围,基本上是一样的,-2
31、nX2n(整数)或-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)成立计算机组成基本原理89计算机组成基本原理90计算机进行算术运算的特点:(1)所有数据都是用二进制数位形式来表示的。(2)在机器内部,数是以编码形式即机器数来表示的。(3)机器运算规模有限,因而机
32、器运算就要解决运算方法、数据表示格式及数据长度的选取、规定等问题。(4)用计算机进行运算时,都要把复杂的运算,简化为一系列的、最基本的运算才能实现。计算机可以实现的基本运算有算术运算(加、减、乘、除等)和逻辑运算(与、或、异或等)。计算机组成基本原理91 (1) 对符号位单独处理。首先要考虑符号,若两数符号相同,则进入(2); 否则进入(3)。(2) 将两数绝对值相加,求其和。和的符号等于被加数的符号。(3) 先将它们的绝对值相减,求得和。若运算结果为正,则和的符号等于被加数的符号;结果为负,和的符号等于加数的符号。计算机组成基本原理92例3.1 A原 =1.01011 B原=0.01001
33、求A原+B原解 比较符号: 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.00010计算机组成基本原理93原码减法运算,可按如下步骤进行:(1) 先比较两数符号,若两数符号相异,则进入(2);两数符
34、号相同进入(3)。(2) 将两数绝对值相加,求得差数绝对值。差的符号等于被减数的符号。(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
35、)变形补码: X+Y 变补=X 变补+Y 变补 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,代表正数, 所以称这种溢
36、出为“正溢出”。计算机组成基本原理96例3.7 X=-0.1101 Y=-0.1010 求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)循环进位:循环进位是指在运算过程中,当第一符
37、号位产生进位时,这个进位被丢掉的同时,必须把此进位加到最低位上去,即最低位加1。计算机组成基本原理98例如X=+0.1011,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) 若有两个符号位,则溢出标志= Ss1Ss
38、2计算机组成基本原理100图3.3 行波进位补码加法/减法器FAFAFAFAFAS0S1Sn-1Bs1As1Bs2As2Cs2Cs1Ss2Ss1Bn-1An-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 1
39、1 11 1 1表3.1 全加器真值表计算机组成基本原理103则逻辑表达式为:Zi=XiYi Ci-1 + XiYi Ci-1+ XiYi Ci-1+ XiYi Ci-1Ci=XiYi Ci-1 + XiYi 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)=XY计算机
40、组成基本原理104为化简Ci有两种方法:方法一:Ci=XiYi Ci-1 + XiYi Ci-1+ XiYi Ci-1+ XiYi Ci-1 =XiYi Ci-1 + XiYi Ci-1+ (XiYi Ci-1+ XiYi Ci-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-1计算机组成基
41、本原理105方法二: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+( XiYi) Ci-1计算机组成基本原理106按方法一表达式组成的一位全加器内部逻辑图如图3.2所示。通过逻辑运算,可以写出多种形式的Ci或Si表达式,从而可采用不同的逻辑电路来实现,尽管形式不一样,但完成的功能是相同的。计算机组成基本原理107B图3.2 一位全加器内部逻辑图CSiCi+1ABCAAiBiCi计算机组成基本原理108 (2) 现分析
42、向高位进位函数CIXiYi-称本地进位函数,它只是本位的两个数码生成的进位逻辑因子,不依赖于低位进位。当XiYi=1时,Ci=1-表示有进位,随XiYi产生,记为Gi(Xi +Yi) Ci-1-该项依赖于低位来的进位Ci-1,当(Xi+Yi)=1,Ci-1=1,则Ci=1,表示有进位。即当(Xi +Yi)=1,Ci-1=1时,可把Ci1的“1”直接传到高一位去,以提高速度。(Xi +Yi)是传递Ci-1的条件,称传递进位函数,记为Pi 则代入前边的式子: Zi= XiYi Ci-1 Ci=Gi+Pi Ci-1计算机组成基本原理109提高运算速度的方法有三个:一是从计算机系统结构角度,提出了并行
43、处理、流水线等方式;二是运算电路,特别是用高速化的逻辑电路实现加法和移位功能;三是运算方法和逻辑结构的高速化。本节主要介绍第三种方法,即改善运算方法和逻辑结构以提高运算速度。计算机组成基本原理110 1一级分组先行进位法(1)相邻4位加法器单元逻辑(第i-1, i-2, i-3 ,i-4位) Ci=Gi+PiCi-1 Ci-1=Gi-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-1P
44、i-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-4计算机组成基本原理111(2)一级分组进位设机器字长为16位,以4位为一组,分成4个组,组内4位间做到同时进位, 组间行波进位。计算机组成基本原理112图3.5 一级分组先行进位及组间行波进位C15C14C13C1(C0)C0C2C3C4C6C5C7C8C10C11C9C12G50G74G118G1512P30P74P
45、118P15121 第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* + P15* G11*+ P15* P11* G7*+ P15*P11* P7* G3* + P15*P11*P7*P3*(1 )16位二级分组并行加法器的逻辑图图3.6所示。计算机组成基本原理114图3.6 由4
46、片4位先行加法器构成的16位快速进位加法器逻辑示意图GI+3PI+3CCI+3C2C0C0C1C3PI+0GI+0CI+0PI+1GI+1CI+1G15G12G11G8G7G4G3G0P15P12P11P8P7P4P3P0中组(包括四小组)加法器C6C5C7C10C9PI+2CI+2GI+2C11C14C13C15一级先行进位第3组一级先行进位第2组一级先行进位第1组一级先行进位第0组计算机组成基本原理115例如74LS182采用组间超前进位电路,称作为“先行进位部件CLA”。可利用四个74LS181 ALU位片和一个74LS182 CLA部件,构成一个字长为16位的运算部件,具有两级先行进位
47、,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=0.1101和B=0.0110的乘积 .001001110.03032000002221101112110102000000110.0)1101
48、.0求得积为位左移位左移位左移不移位乘数被乘数AAAABA计算机组成基本原理118(I)运算规则(a) 从乘数的最低位开始,用乘数B的每个二进制位去乘被乘数A,若B 的某个二进制位为1,则得位积A;如为0,则得位积0。(b) B的各位分别乘以A的所得的位积,因为位权不同,逐次向左移位,即在空间上按一定位数错开,这样逐位进行下去,直到乘数各位都乘完为止。(c) 把经过移位对准的各次位积相加起来即得结果。计算机组成基本原理119(II)缺点 第一、 将多个数一次相加,机器难以实现。一般的加法器,只能把两个输入数相加,多个位积的同时输入是无法实现的。第二、 乘积位数增长了一倍,即2n,而机器字长只有
49、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=Zn计算机组成基本原理121例3.8 已知X=-0.1011 Y=0.1001 求XY原解 X原=1.1011 Y原=0.1001 |X| = 0.10
50、11 |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 0 1 10. 0 0 0 0右移一位得部分积Z4,
51、乘数同时右移一位右移一位得部分积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乘法启动YnYnYnR1ZsXsYsT1 , T2, R
52、0R0被乘数X加数器计算机组成基本原理124B.工作原理 (I) 乘法开始时,“启动”信号使控制触发器Cx置“1”,于是开启时序脉冲T。 (II) 当乘数寄存器R1最末位为“1”时,部分积Zi和被乘数X在加法器中相加,其结果输出至R0的输入端。 (III)一旦打入控制脉冲T到来,控制信号LDR0使部分积右移一位,与此同时,R1也在控制信号LDR1作用下右移一位,且计数器i计数一次。 (IV)当计数器i=n时,计数器的溢出信号使触发器Cx置“0”,关闭时序脉冲T, 乘法宣告结束。 若将R0和R1连接起来,乘法结束时乘积的高n位部分在R0,低n位部分在R1,R1中原来的乘数Y由于移位而全部丢失。计
53、算机组成基本原理1252原码两位乘法 (1) 规则X*Y考察乘数的相邻两位二进制数Yi+1Yi本次位积部分积操作0 002-2(Zi+0*X)0 1+X2-2(Zi+1*X)1 0+2X2-2(Zi+2*X)1 1+3X=4X-X 2-2(Zi+3*X)计算机组成基本原理126求部分积乘数判断位Yi+1 Yi新部分积为原部分积右移两位0 0新部分积为原部分积加被乘数后右移两位0 11 0新部分积为原部分积加2倍被乘数后右移两位1 1新部分积为原部分积减被乘数,且置标志位Cj,右移两位表3.3 由乘数相邻两位的组合状态求部分积的规则计算机组成基本原理127所进行的操作乘数判断位 标志位 Yi+1
54、 Yi Cj部分积Z+0,Z和Y右移2位,Cj保持0部分积Z+X,Z和Y右移2位,Cj保持0部分积Z+2X,Z和Y右移2位,Cj保持0部分积Z-X,Z和Y右移2位,Cj置1部分积Z+X,Z和Y右移2位,Cj置0部分积Z+2X,Z和Y右移2位,Cj置0部分积Z-X,Z和Y右移2位,Cj置1部分积Z+0,Z和Y右移2位,Cj置10 0 00 1 01 0 01 1 00 0 10 1 11 0 11 1 1表3.4 由乘数相邻两位的组合状态和标志位状态求部分积的规则计算机组成基本原理128 (2) 关键点 A、由于乘法过程中有加减运算,故要在过程中考虑符号位; B、求部分积时,第二个符号位有可能被
55、改变; C、最后一步做完时,还要考察一次标志位,方法是前面加0 偶数位时:00 奇数位时:0,最后移一位计算机组成基本原理129 例3.9 设X=0.111111, Y=-0.111001, 求XY原=?解: 先求-X补=11.000001,其数值部分的乘积按两位乘法规则进行操作: 得数值部分积为 0.111000000111 符号 Zs = Xs Ys = 0 1 = 1 所以 XY原 = 1.111000000111计算机组成基本原理130+) 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1+) 0 0 0 1 1 1 1 1 1
56、 0 0 0 0 0 0 0 0 0操作说明标志位Cj乘 数则Z+2XYj+1 Yj Cj=100右移两位,置 Cj=0Yj+1 Yj Cj=010,则Z+X初始化Z=0, Cj=0数值部分Y高 位 积低 位 积数值位符号位部 分 积0 0 1 1 1 0 0 1 01 1 0 0 1 1 1 0 0+) 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 10 1 1 1 0 0 1 1 0+) 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 00
57、0 0 1 1 1 0 0 10 0 0 1 1 1 0 0 0则Z+-X补 Yj+1 Yj Cj=110右移两位,置 Cj=0置 Cj=0则Z+X Yj+1 Yj Cj=001右移两位,置 Cj=1表3.5 例3.9原码两位乘法运算过程计算机组成基本原理1311 .补码一位乘法 (1) 校正法A、X 补与真值的关系:设X补 = X0 .X1X2Xn则有设X补 = 2X0 +X证明:当X为正时,X补 = 2X0 +X=X 当X为负时,X补 = 2+X=2X0 +X(根据定义)由此可得: X =X补 - 2X0 = X0 .X1X2Xn- 2X0 =- X0+ 0 .X1X2Xn即X为正时,X0
58、=0,真值X=X补;X为负时,X0=1,真值X=-1+0 .X1X2Xn故可推出,当Y为负时,XY=X(-1+0 .Y1Y2Yn)=X(0 .Y1Y2Yn)-X可以得到:XY补 = X补(0.Y1Y2Yn) + -X补计算机组成基本原理132B、方法: 校正法的思想仍然是,先将任意两个补码X补、Y补看作是一般的二进制数,仍按原码运算规则求得X补Y补,然后对其结果加以校正,而获得XY补之值。当乘数Y为正时,与原码乘法相似,只是在部分积相加、右移操作时, 按补码性质进行;当乘数为负时,先不考虑乘数的符号,将乘数补码的数值部分与被乘数相乘;最后进行校正操作,即加上-X补。 设Y补 = Ys .Y1Y
59、2Yn ,我们用一个公式表示补码校正法的算法规则: XY补 = X补(0.Y1Y2Yn) + -X补Ys 当Ys=0时, XY补 = X补(0.Y1Y2Yn) 当Ys=1时, XY补 = X补(0.Y1Y2Yn) + -X补计算机组成基本原理133例:设X 补=0,1101,Y 补=1,0101,求XY 补解:用补码一位乘法,过程如下:补码部分积 补码乘数 操作说明 符号位 数值部分 数值部分 0 0 0 0 0 00 1 0 1Z0=0,y0=1+ 0 0 1 1 0 1Z0+X 补Z1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 1 01/2Z1,y1=0,Z1+0Z2 0 0
60、 0 0 1 1 0 1 0 1 1/2Z2,y2=1+ 0 0 1 1 0 1 Z2+X 补Z3 0 1 0 0 0 0 0 0 1 0 0 00 0 1 01/2Z3,y3=0,不加, Z3Z4 0 0 0 1 0 00 0 0 11/2Z4,ys=1,校正+ 1 1 0 0 1 1Z4+-X 补,得XY 补 1 1 0 1 1 1 0 0 0 1故XY 补=1,01110001,即XY=-10001111计算机组成基本原理134注意:(A)在补码乘中不必采用绝对值运算(B)进行校正的前提:为正:不校正;为负:校正+-X 补计算机组成基本原理135 (2) 比较法又称为Booth乘法。比较
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产5S管理培训
- 高级会计学习资源分享试题及答案
- 信托财产的管理与运用
- 学习英雄精神传承红色文化 - 学雷锋主题班会课件
- 幼儿绘本故事《大卫的冒险》课件
- 车险电销话术流程培训
- 考前冲刺的中级会计试题及答案技巧
- 辽宁省丹东市2025届高三上学期1月期末教学质量调研测试生物
- 产线员工培训计划
- 2024年甘肃省白银市平川区红会学校数学三年级第一学期期末监测试题含解析
- 2025年中考理化生实验操作考试考务培训大纲
- 2025年重庆西南大学附中高考数学模拟试卷试题(含答案详解)
- 2025四川巴中市国有资本运营集团有限公司招聘17人笔试参考题库附带答案详解
- 2025神农科技集团有限公司第一批校园招聘17人(山西)笔试参考题库附带答案详解
- 2024初级社会工作者职业资格笔试题库附答案
- 南充2025年南充市公安局第一次招聘27名交通辅警笔试历年参考题库附带答案详解
- 收购芒果协议书模板
- 农业科技与装备应用知识考点
- 双语客运值班员红十字药箱课件
- 黑龙江省地方标准黑龙江省建设工程施工操作技术规程市政桥梁工程
- 前厅服务与管理课件 处理客人投诉
评论
0/150
提交评论