版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理朱华贵2017年12月22日计算机组成原理计算机组成原理复习朱华贵2017年12月22日计算机组成原理第4章数值的机器运算1、掌握定点补码加法和减法运算方法2、补码移位运算和常见的舍入操作方法3、掌握定点原码、补码乘法运算方法4、掌握定点原码、补码加减交替除法运算方法5、运算器的基本结构1.全加器全加器(FA)是最基本的加法单元,它有三个输入量:操作数Ai和Bi、低位传来的进位Ci-1;两个输出量:本位和Si、向高位的进位Ci。
图4-1全加器的逻辑框图
全加器真值表AiBiCi-1SiCi0000111100110011010101010110100100010111根据真值表,可得到全加器的逻辑表达式为:
Si=Ai⊕Bi⊕Ci-1Ci=AiBi+(Ai⊕Bi)Ci-1图4-3串行进位的并行加法器其中:C1=G1+P1C0C2=G2+P2C1
┇
Cn=Gn+PnCn-1
串行进位的并行加法器
串行进位的并行加法器的总延迟时间与字长成正比,字长越长,总延迟时间就越长。并行进位方式
并行进位又叫先行进位、同时进位,其特点是各级进位信号同时形成。
C1=G1+PC0C2=G2+P2C1=G2+P2G1+P2P1C0C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0
C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1
+P4P3P2P1C0
┇并行加法器的快速进位这种进位方式是快速的,若不考虑Gi、Pi的形成时间,从C0→Cn的最长延迟时间仅为2ty,而与字长无关。但是随着加法器位数的增加,Ci的逻辑表达式会变得越来越长,输入变量会越来越多,这会使电路结构变得很复杂,所以完全采用并行进位是不现实的。
⑴参加运算的两个操作数均用补码表示;⑵符号位作为数的一部分参加运算;⑶若做加法,则两数直接相加;若做减法,则将被减数与减数的机器负数相加;⑷运算结果仍用补码表示。补码加减运算规则例1:A=0.1011,B=-0.1110,求A+B
∵[A]补=0.1011[B]补=1.00100.1011[A]补+1.0010[B]补1.1101[A+B]补
∴[A+B]补=1.1101
A+B=-0.0011例2:A=0.1011,B=-0.0010,求A-B
∵[A]补=0.1011[B]补=1.1110[-B]补=0.00100.1011[A]补+0.0010[-B]补0.1101[A-B]补
∴[A-B]补=0.1101
A-B=0.1101补码减法示例2.溢出检测方法设:被操作数为:[X]补=Xs,X1X2…Xn
操作数为:[Y]补=Ys,Y1Y2…Yn
其和(差)为:[S]补=Ss,S1S2…Sn
⑴采用一个符号位采用一个符号位检测溢出时,当Xs=Ys=0,Ss=1时,产生正溢;当Xs=Ys=1,Ss=0时,产生负溢。
溢出判断条件为
溢出=Ss+XsYs2.溢出检测方法(续)⑵采用进位位判断两数运算时,产生的进位为Cs,C1C2…Cn,其中:Cs为符号位产生的进位,C1为最高数值位产生的进位。
两正数相加,当最高有效位产生进位(C1=1)而符号位不产生进位(Cs=0)时,发生正溢;两负数相加,当最高有效位不产生进位(C1=0)而符号位产生进位(Cs=1)时,发生负溢。故溢出条件为
溢出=C1+Cs=Cs⊕C1
2.溢出检测方法(续)⑶采用变形补码(双符号位补码)在双符号位的情况下,把左边的符号位Ss1叫做真符,两个符号位都作为数的一部分参加运算。这种编码又称为变形补码。
双符号位的含义如下:
Ss1Ss2=00结果为正数,无溢出
Ss1Ss2=01结果正溢
Ss1Ss2=10结果负溢
Ss1Ss2=11结果为负数,无溢出
当两位符号位的值不一致时,表明产生溢出,溢出条件为:
溢出=Ss1⊕Ss21.原码一位乘法算法原码一位乘法的规则:⑴参加运算的操作数取其绝对值;⑵令乘数的最低位为判断位,若为“1”,加被乘数,若为“0”,不加被乘数(加0);
⑶累加后的部分积以及乘数右移一位;
⑷重复n次⑵和⑶;
⑸符号位单独处理,同号为正,异号为负。
2.补码一位乘法(比较法——Booth乘法)Booth乘法规则:⑴参加运算的数用补码表示;⑵符号位参加运算;⑶乘数最低位后面增加一位附加位Yn+1,其初值为0;⑷由于每求一次部分积要右移一位,所以乘数的最低两位Yn、Yn+1的值决定了每次应执行的操作;⑸移位按补码右移规则进行;⑹共需做n+1次累加,n次移位,第n+1次不移位。Booth乘法运算操作判断位YnYn+1
操作00原部分积右移一位01原部分积加[X]补后右移一位10原部分积加[-X]补后右移一位11原部分积右移一位3、补码两位乘法操作Yn-1YnYn+1000+0,右移2位001+[X]补,右移2位010+[X]补,右移2位011+2[X]补,右移2位100+2[-X]补,右移2位101+[-X]补,右移2位110+[-X]补,右移2位111+0,右移2位1、已知X和Y,试用它们的变形补码计算出X+Y,并指出结果是否溢出。(1)X=0.11011,Y=0.11111[X]补=0.11011,[Y]补=0.1111100.11011[X]补00.11111[Y]补01.11010[X+Y]补Ss1Ss2溢出=Ss1⊕Ss2=1,Ss1
=0,结果为正溢(2)X=0.11011,Y=-0.10101[X]补=0.11011,[Y]补=1.0101100.11011[X]补11.01011[Y]补00.00110[X+Y]补Ss1Ss2溢出=Ss1⊕Ss2=0,不溢出。X+Y=0.00110小结:补充符号位,并参与运算,利用符号位进行异或运算判断是否溢出,如溢出则看Ss1是0/1,为0对应为正溢,为1对应为负溢。2、已知:X=0.1011,Y=-0.0101。求[X/2]补[-X]补,[Y/4]补[-Y]补。X=0.1011,X/2=0.0101,[X/2]补=0.0101,-X=-0.1011,[-X]补=1.0101;Y=-0.0101,Y/4=-0.0010,[Y/4]补=1.1110,-Y=0.0101,[-Y]补=0.0101。3、用原码乘法计算X*Y,X=0.11011,Y=-0.11111。|X|=0.11011,|Y|=0.1111100.0000011111+|X|00.1101100.1101111111右移一位
00.0110111111+|X|00.1101101.0100011111右移一位00.1010001111+|X|00.1101101.0111101111右移一位00.1011110111+|X|00.1101101.1001010111右移一位00.1100101011+|X|00.1101101.1010001011右移一位00.1101000101|X*Y|=0.1101000101X*Y=-0.11010001014、用补码乘法计算X*Y,X=-0.11010,Y=-0.01110。|X|补=1.00110,|Y|补=1.10010,|-X|补=0.11010
00.000001.100100
00.000000110010
C5C6=00,原部分积右移一位+[-X]补00.11010
C5C6=10
,+[-X]补00.110100110010部分积右移一位00.011010011001
C5C6=01
,+[X]补+[X]补11.00110
11.100110011001部分积右移一位11.110011001100C5C6=00,原部分积右移一位11.111001100110C5C6=10
,+[-X]补+[-X]补00.1101000.101101100110部分积右移一位00.010110110011|X*Y|补=0.0101101100,X*Y=0.01011011005、证明在全加器里,进位传递函数P=Ai+Bi=Ai⊕Bi。进位表达式为:Ci=AiBi+(Ai⊕Bi)Ci-1其中:Gi=AiBi为进位产生函数
Pi=Ai⊕Bi为进位传递函数即要证明Ci=AiBi+(Ai⊕Bi)Ci-1=AiBi+(Ai+Bi)Ci-1用卡诺图法证明:两个卡诺图相同,则两个逻辑表达式就相等,则进位传递函数的两种形式相等。
BiCi-1Ai00100111BiCi-100011110Ai01
BiCi-1Ai00100111BiCi-100011110Ai01Ci=AiBi+(Ai⊕Bi)Ci-1Ci=AiBi+(Ai+Bi)Ci-16、用补码加减交替法计算X÷Y。X=0.10101,Y=0.11011。
[X]补=0.10101,[Y]补=0.11011,[-Y]补=1.00101
00.101010.00000[X]补与[Y]补同号,
11.00101+[-Y]补11.110100.00000
[ri]补与[Y]补异号,商0
11.10100左移一位00.11011+[Y]补00.011110.00001
[ri]补与[Y]补同号,商1
00.11110左移一位11.00101+[-Y]补00.000110.00011
[ri]补与[Y]补同号,商1
00.00110左移一位11.00101+[-Y]补11.010110.00110[ri]补与[Y]补异号,商0
10.10110左移一位00.11011+[Y]补11.100010.01100[ri]补与[Y]补异号,商0
11.00010左移一位00.11011+[Y]补11.111010.11001
末位恒置1
[商]补=0.11001[余数]补=1.111012-5第5章存储系统和结构1、掌握存储器的分类方法和存储系统的层次2、掌握主存储器的基本结构、存储单元和主存储器的主要技术指标3、掌握数据在主存中的存放方法4、掌握主存储器容量的各种扩展方法5、了解Cache存储系统和虚拟存储器的概念多级存储层次图5-1多级存储层次Cache-主存存储层次(Cache存储系统)
Cache存储系统是为解决主存速度不足而提出来的。从CPU看,速度接近Cache的速度,容量是主存的容量,每位价格接近于主存的价格。由于Cache存储系统全部用硬件来调度,因此它对系统程序员和系统程序员都是透明的。图5-2(a)
Cache存储系统主存−辅存存储层次(虚拟存储系统)
虚拟存储系统是为解决主存容量不足而提出来的。从CPU看,速度接近主存的速度,容量是虚拟的地址空间,每位价格是接近于辅存的价格。由于虚拟存储系统需要通过操作系统来调度,因此对系统程序员是不透明的,但对应用程序员是透明的。图5-2(b)
虚拟存储系统现代微机的存储结构CPU内的寄存器L1数据CacheL1代码CacheL2CacheL3Cache内部存储器(内存)外部存储器(外存)外存Cache主存通常由存储体、地址译码驱动电路、I/O和读写电路组成。
图5-3主存的组成框图主存储器的基本结构存储字64位(8个字节)0181624329172533210183111941220513216142271523263427283635293730313938边界对齐的数据存放方法
此方法规定,双字地址的最末3个二进制位必须为000,单字地址的最末两位必须为00,半字地址的最末一位必须为0。它能够保证无论访问双字、单字、半字或字节,都在一个存取周期内完成,尽管存储器资源仍然有浪费。要组成一个主存,首先要考虑选片的问题,然后就是如何把芯片连接起来的问题。根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出总的芯片数,即
总片数=
将多片组合起来常采用位扩展法、字扩展法、字和位同时扩展法。主存容量的扩展1.位扩展
位扩展是指只在位数方向扩展(加大字长),而芯片的字数和存储器的字数是一致的。如用64K×1的SRAM芯片组成64K×8的存储器,所需芯片数为:=8片2.字扩展字扩展是指仅在字数方向扩展,而位数不变。字扩展将芯片的地址线、数据线、读写线并联,由片选信号来区分各个芯片。如用16K×8的SRAM组成64K×8的存储器,所需芯片数为:=4片位扩展连接举例图5-16位扩展连接举例字扩展连接举例图5-17字扩展连接举例在同一时间内4个芯片中只能有一个芯片被选中。A15A14=00,选中第一片,A15A14=01,选中第二片,……。4个芯片的地址分配如下:第一片最低地址0000
000000000000B 0000H
最高地址0011111111111111B 3FFFH第二片最低地址0100000000000000B 4000H
最高地址0111111111111111B 7FFFH第三片最低地址1000000000000000B 8000H
最高地址1011111111111111B BFFFH第四片最低地址1100000000000000B C000H
最高地址1111111111111111B FFFFH2.字扩展(续)例:一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位。解:地址线14根,数据线32根,共46根。若选用不同规格的存储芯片,则需要:1K×4位芯片:16K*32/(1K*4)=128片;2K×8位芯片:16K*32/(2K*8)=32片;4K×4位芯片:16K*32/(4K*4)=32片;16K×1位芯片:16K*32/(16K*1)=32片;4K×8位芯片:16K*32/(4K*4)=
16片;8K×8位芯片:16K*32/(8K*8)=8片。
例:现有如下存储芯片:2K×1的ROM、4K×1的RAM、8K×1的ROM。若用它们组成容量为16KB的存储器,前4KB为ROM,后12KB为RAM,CPU的地址总线16位。(1)各种存储芯片分别用多少片?(2)正确选用译码器及门电路,并画出相应的逻辑结构图。(3)指出有无地址重叠现象。解:(1)需要用2K×1的ROM芯片:4K*8/(2K*1)=16片;4K×1的RAM芯片:12K*32/(4K*1)=24片;不能使用8K×1的ROM芯片,因为它大于ROM应有的空间。(2)各存储芯片的地址分配如下:A15A14A13A12A11A10~A0XX000X-X2KBROMXX001X-X2KBROMXX01X-X4KBRAMXX10X-X4KBRAMXX11X-X4KBRAM(3)有地址重叠现象第6章中央处理器1、CPU的功能和主要寄存器2、控制器的基本组成3、时序系统中指令周期、机器周期的概念4、指令执行的基本过程5、掌握取指周期的微操作序列(公共操作)6、微程序控制的基本概念7、微指令编码法特点8、微程序控制器的组成和工作过程9、微程序入口地址和后继微地址的形成1、CPU的功能在程序运行过程中,在计算机的各部件之间流动的指令和数据形成了指令流和数据流。指令流:CPU执行的指令序列数据流:根据指令要求依次存取数据的序列数据流是由指令流来驱动的CPU的基本功能:对指令流和数据流在时间与空间上实施正确的控制。2、CPU中的主要寄存器1.通用寄存器用来存放原始数据和运算结果(变址寄存器、程序计数器、地址指针)。累加寄存器(Acc)用来暂时存放ALU运算的结果信息。2.专用寄存器⑴
程序计数器(PC):存放正在执行或接着要执行的指令地址顺序执行:PC加“1”。非顺序执行:将转移的目标地址送往PC。⑵
指令寄存器(IR):存放从存储器中取出的指令。⑶
存储器数据寄存器(MDR):暂存读出或存入主存的一条指令或数据字。⑷
存储器地址寄存器(MAR):保存当前CPU所访问的主存单元的地址。CPU对主存存取数据和指令时,都要使用MAR和MDR。⑸
状态标志寄存器(PSWR)程序状态字(PSW):记录程序和机器运行的状态,参与控制程序执行状态标志,如进位标志、溢出标志等;控制标志,如中断允许标志等。位数等于机器字长。2.专用寄存器3、CPU的模型CPU由运算器和控制器两大部分组成。4、控制器的基本组成1.取指令PCPC微命令发生器微命令序列I/O状态控制台信息运行状态译码…...
PSW时序
IR地址形成来自M送MAR或ALU+1送MAR微操作信号发生器PC
IR
PSW节拍发生器☆控制器工作过程地址M指令IR、译码(θ、寻址方式)PC+1PC2.取数PC微命令发生器微命令序列I/O状态控制台信息运行状态译码…...
PSW时序
IR地址形成θD寻来自M送MAR或ALU+1送MAR微操作信号发生器PC
IR
PSW时序按寻址方式,或从寄存器取数,或从存储器取数。3.执行按操作码对数据进行运算处理。1.取指令阶段将现行指令从主存中取出并送至IR中去。①将程序计数器(PC)中的内容送至MAR,并送地址总线。②由CU向存储器发读命令。③从主存中取出的指令通过数据总线送到MDR。④将MDR的内容送至指令寄存器(IR)中。⑤PC+“1”5、指令运行的基本过程取指周期的工作流程IR中的操作码将被送入指令译码器ID,识别和区分出指令类型分析取数,以获取操作数。由于各指令寻址方式不同,所以分析取数阶段的操作是各不相同的。2.分析取数阶段完成指令规定的各种操作,形成稳定的运算结果,并将其存储起来。这段时间时间称为执行周期。★计算机的基本工作过程:取指令、取数、执行指令,再取下一条指令……直至遇到停机指令或外来的干预。3.执行阶段⑴取指周期取指周期的微操作序列是公共的操作。①PCout和MARin有效,PC中内容送至MAR;②通过控制总线向主存发读命令Read;③存储器通过数据总线将MAR所指单元的内容(指令)送至MDR;④MDRout和IRin有效,将MDR的内容送至IR。指令操作码字段开始控制CU。⑤PC内容加1。1.加法指令ADD@R0,R1(续)6、指令的微操作序列⑵取数周期取操作数:被加数在主存中,加数在R1中。①R0out和MARin有效,将被加数地址送至MAR②向主存发读命令,记作Read;③存储器通过数据总线将MAR所指单元的内容送至MDR,同时MDRout和Yin有效;⑶执行周期完成加法运算,结果写回主存。①R1out和ALUin有效,同时CU向ALU发“ADD”控制信号,R1的内容和Y的内容相加,结果送寄存器Z;②Zout和MDRin有效,将运算结果送MDR。③向主存发写命令。条件转移指令,若上次运算结果有进位(C=1),就转移;无进位(C=0),就顺序执行。设A为位移量,转移地址等于PC的内容加位移量。相应的微操作序列如下:⑴取指周期与上条指令的微操作序列完全相同。2.转移指令JCA⑵执行周期如果PSWR中的C位为1,则(PC)+A→PC:①PCout和Yin有效,(PC)→Y;②AdIRout和ALUin有效,同时CU向ALU发“ADD”信号,使Ad(IR)+Y→Z;③Zout和PCin有效,将运算结果送寄存器PC。如果PSWR中的C位为0,则PC+“1”2.转移指令JCA(续)1、在定点二进制运算器中,减法运算一般通过______来实现。
A.原码运算的二进制减法器B.补码运算的二进制减法器C.补码运算的十进制加法器D.补码运算的二进制加法器2、在定点运算器中,无论采用双符号位还是单符号位,必须有______,它一般用______来实现。
A.译码电路,与非门B.编码电路,或非门C.溢出判断电路,异或门D.移位电路,与或非门3、下列说法中正确的是______。A.采用变形补码进行加减运算可以避免溢出B.只有定点数运算才有可能溢出,浮点数运算不会产生溢出C.只有带符号数的运算才有可能产生溢出D.将两个正数相加有可能产生溢出4、在定点数运算中产生溢出的原因是______。
A.运算过程中最高位产生了进位或借位B.参加运算的操作数超过了机器的表示范围C.运算的结果的操作数超过了机器的表示范围D.寄存器的位数太少,不得不舍弃最低有效位5、下溢指的是______。A.运算结果的绝对值小于机器所能表示的最小绝对值B.运算的结果小于机器所能表示的最小负数C.运算的结果小于机器所能表示的最小正数D.运算结果的最低有效位产生的错误DCDCA6、存储单元是指________。
A.存放一个二进制信息位的存储元B.存放一个机器字的所有存储元集合C.存放一个字节的所有存储元集合D.存放两个字节的所有存储元集合7、和外存储器相比,内存储器的特点是________。
A.容量大、速度快、成本低B.容量大、速度慢、成本高C.容量小、速度快、成本高D.容量小、速度快、成本低8、某计算机字长16位,存储器容量64KB,若按字编址,那么它的寻址范围是______。A.64KB.32KC.64KBD.32KB9、某DRAM芯片,其存储容量为512K×8位,该芯片的地址线和数据线数目为_______。
A.8,512B.512,8C.18,8D.19,810、某计算机字长32位,其存储容量为4MB,若按字编址,它的寻址范围是________。
A.1MB.4MBC.4MD.1MBBCBCD11、主存储器和CPU之间增加Cache的目的是________。A解决CPU和主存之间的速度匹配问题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家用水龙头过滤器产品供应链分析
- 包装用纸袋产品供应链分析
- 工商管理辅助行业相关项目经营管理报告
- 含药喉咙喷剂产品供应链分析
- 发行预付费代金券行业相关项目经营管理报告
- 刷子用貉毛产业链招商引资的调研报告
- 年金保险行业相关项目经营管理报告
- 虚拟现实游戏用耳机项目运营指导方案
- 安排和举办青年足球训练项目行业经营分析报告
- 办公家具出租行业相关项目经营管理报告
- 二年级上册美术课件-第9课 我们身边的痕迹 ▏人美版 (共17张PPT)
- 新生儿科常见护理技术操作并发症预防处理规范
- 点检表消防栓
- 外协件技术协议模板
- 公司企业团建服务合同
- 《孔融让梨》 课件
- 果蔬采后生理课件
- 光伏电站继电保护运行规程
- 骨科我的小讲课课件
- HSK一到六级分等级词汇
- 中国教师培训白皮书
评论
0/150
提交评论