计算机组成原理第四章
《计算机组成原理》(周建敏)414-9课件 第四章

是主存储器的后援存储器,用于存放当前暂时不用的程序和数据,不能与CPU直接交 换信息。辅助存储器速度慢、容量大、位价格低。
缓冲存储器 (3)
用于两个不同工作速度的部件之间,在交换信息过程中起缓冲作用。
存储器概述
存储器的分类可用图表示。
存储器
主存储器
随机存储器(RAM)
4.6 虚拟存储器
4.3 主存储器与CPU的连接 4.7 常见问题和易混淆知识点
4.4 并行存储器
存储器概述 4.1
存储器概述
4.1.1 存储器的分类
1.按存取方式分类
(1) 随机存储器(Random Access Memory,RAM)
特点是,存储器中任何一个存储单元都能由CPU或I/O 设备随机存取,且存取时间与存取单元的物理位置无 关。这类存储器在一个存或取的周期内只能进行一次 访问,信息读取时间对任何地址都是相同的。且每一 个字(字节)都有唯一、直接和独立的寻址方法。随 机存储器常用作主存或高速缓存。
其中,x方向有A3A4A5A6A7A8,共6根,产生64条行选择线;y方向有A0A1A2A9,共4
根,产生16条列选择线。
② 数据线,本例中有4条,即I/O1~I/O4,它指定了存储器的字长是4位,因此,存储元
的总数是1 024×4=4 096 。
③ 控制线,本例中 CS 为片选线,低电平有效;WE 为读/写控制线,低电平写入,高电平
存取存储器的存取时间长,速度慢。这种存储器的存储容量
可以做得较大,位价格较低。
存储器概述
第8页
(4) 直接存取存储器(Direct Access Memory,DAM)
特点是,存储器的任何部位(一个字或字节、记录块等)没有实际的寻址机构,当要存取 所需要的信息时,必须执行两个逻辑操作。 ➢首先,直接指向整个存储器的一个小区域(如磁盘上的磁道); ➢然后对这一小区域像磁带那样按顺序检索、记数或等待,直至找到
计算机组成原理完整第4章PPT课件

21
精选课件
2021/6/9
4.3 指令和数据的寻址方式
在存储器中,操作数或指令字写入或读出的方式, 有地址指定方式、相联存储方式和堆栈存取方式。
当采用地址指定方式时,寻找指令或操作数有效 地址的方式 指令寻址
顺序寻址 跳跃寻址
操作数寻址
PC存放下一条指令的地址
23
精选课件
2021/6/9
跳跃寻址
目标地址->PC
当程序中出现分支或循环时,就会改变程序的执 行顺序。此时对指令寻址就要采取跳跃寻址方式。
所谓跳跃,就是指下条指令的地址不是通过程序 计数器PC当前值获得的,而是由指令本身给出。
跳跃的处理方式是重新修改PC的内容。然后进入 取指令阶段。
11
精选课件
2021/6/9
4.2.2 地址码(AC)
(3)二地址指令 (A1) OP (A2) -> A1
(4)三地址指令 (A1) OP (A2) -> A3
A1为被操作数地址,也称源操作数地址; A2为操作数地址,也称终点操作数地址; A3为存放结果的地址。 A1,A2,A3可以是内存中的单元地址,也可以是运算器
n=2L 定长指令、变长指令(固定位数和可变位数)
9
精选课件
2021/6/9
4.2.2 地址码(AC)
地址码通常指定参与操作的操作数的地址或操作数本身 地址码包括被操作数,操作数,操作结果
三地址格式 操作码
二地址格式 操作码
一地址格式 零地址格式
操作码 操作码
A1
A2
A3
A1
A2
A1
10
精选课件
《计算机组成原理》教程第4章指令系统

4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.
计算机组成原理-第4章_指令系统

7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。
《计算机组成原理》第四章总线与时序练习题及答案

《计算机组成原理》第四章总线与时序练习题及答案选择题目:1. 当M/IO 0=,RD 0=,WR=1时,CPU 完成的操作是( c )。
A. 存储器读操作B. 存储器写操作C. IO 端口读操作D. IO 端口写操作2. 8086CPU 的时钟频率为5MHz ,它的典型总线周期为( c )A. 200nsB. 400nsC. 800nsD. 1600ns3. 某微机最大可寻址的内存空间为16MB ,则其系统地址总线至少应有( D)条。
A. 32B. 16C. 20D. 244. 8086的系统总线中,地址总线和数据总线分别为( B )位。
A. 16,16B. 20,16C. 16,8D. 20,205. 8086CPU 一个总线周期可以读(或写)的字节数为( B )A. 1个B. 2个C. 1个或2个D. 4个8086有16条数据总路线,一次可以传送16位二进制,即两个字节的数6. 当8086CPU 采样到READY 引脚为低电平时,CPU 将( B )A. 执行停机指令B. 插入等待周期C. 执行空操作D. 重新发送地址7. 当8086CPU读写内存的一个对准存放的字时,BHE和A0的状态为( A )。
A. 00B. 01C. 10D. 118. 当8086CPU采样到READY引脚为低电平时,CPU将( B )A. 执行停机指令B. 插入等待周期C. 执行空操作D. 重新发送地址9. 8086CPU的字数据可以存放在偶地址,也可以存放在奇地址。
下列说法正确的是( A )A. 堆栈指针最好指向偶地址B. 堆栈指针最好指向奇地址C. 堆栈指针只能指向偶地址D. 堆栈指针只能指向奇地址10. 8086CPU在进行对外设输出操作时,控制信号M/IO和DT/R状态必须是(D )A. 0,0B. 0,1C. 1,0D. 1,111. 8086CPU复位时,各内部寄存器复位成初值。
复位后重新启动时,计算机将从内存的( c )处开始执行指令。
计算机组成原理第4章

本章学习要求
• 掌握:定点补码加法和减法运算方法 • 理解:3种溢出检测方法 • 理解:补码移位运算和常见的舍入操作方法 • 了解:串行加法器与并行加法器 • 理解:进位产生和进位传递 • 掌握:定点原码、补码乘法运算方法 • 掌握:定点原码、补码加减交替除法运算方法 • 理解:浮点加减乘除运算 • 理解:逻辑运算 • 了解:运算器的基本结构及浮点协处理器
第4章 数值的机器运算
设操作数信号为4、3、2、1、(最低 位信号为1)。向最低位进位的信号为C0、 Gi、Pi 分别是各位的进位产生函数和进位 传递函数。
(1)完善第4位先行进位信号的逻辑表达 式。 C4=G4+P4G3+……
(2)基于操作数,试述表达式中各项的 实际含义。
第4章 数值的机器运算
[-Y]补=[[Y]补]变补
第4章 数值的机器运算
2.补码减法(续)
“某数的补码表示”与“变补”是两个不 同的概念。一个负数由原码转换成补码时,符 号位是不变的,仅对数值位各位变反,末位加 “1”。而变补则不论这个数的真值是正是负, 一律连同符号位一起变反,末位加“1”。[Y]补 表示的真值如果是正数,则变补后[-Y]补所表示 的真值变为负数,反之亦然。
第4章 数值的机器运算
16位单级先行进位加法器
S1 6~S1 3
S1 2~S9
S8~S5
S4~S1
C16 4位CLA C12 4位CLA C8 4位CLA C4 4位CLA
加法器
加法器
加法器
加法器
C0
A1 6~A1 3
A1 2~A9
B1 6~B1 3
B1 2~B9
A8~A5 B8~B5
计算机组成原理 指令系统

IBM 370机的指令格式
8
4 4
4 4 4 12
RR型 RX型 RS型 SI型 SS型
OP
8
R1 R2 R1 X2
4 4
OP
8
B2
4
D2
12
OP
8
R1 R2
8
B2
4 B1 4
D2
12
OP
8
I2
8
D1
12 4 12
OP
L1
B1
D1
B2
D2
图4-1 IBM 370机的指令格式
2.非规整型
操作码字段的位数丌固定,丏分散地放 在指令字的丌同位置上。 PDP-11机(字长16位)的指令分为单 字长、两字长、三字长三种,操作码字段占4 ~16位丌等,可遍及整个指令长度。 显然,操作码字段的位数和位置丌固定 将增加指令译码和分析的难度,使控制器的设 计复杂化。
入 端口地址 如 出 如 AX, n IN AL, n CPU 的寄存器 OUT n, AL AX CPU 的寄存器 IN AL, DX AX, DX 端口地址 OUT DX, AL AX
4.2 寻址技术
所谓寻址,指的是寻找操作数的地址或下一 条将要执行的指令地址。寻址技术包括编址方 式和寻址方式。
AAA AAS AAM AAD AND OR NOT XOR TEST
3. 移位操作 算术移位
逻辑移位
循环移位(带迚位和丌带迚位)
4. 转移 (1) 无条件转移 JMP
(2) 条件转移 结果为零转 (Z = 1) JZ
如
结果溢出转
(O = 1)JO
300 …
完成触収器
结果有迚位转(C = 1)JC 跳过一条指令 SKP
计算机组成原理第四章答案

第4章习题参考答案1.ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么?答:不合理。
指令最好半字长或单字长,设16位比较合适。
一个字符的ASCII 是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另20位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。
2.假设某计算机指令长度为32位,具有双操作数、单操作数、无操作数三类指令形式,指令系统共有70条指令,请设计满足要求的指令格式。
答:字长32位,指令系统共有70条指令,所以其操作码至少需要7位。
双操作数指令3.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:(1) 单字长二XXX指令。
(2) 操作码字段OP可以指定26=64种操作。
(3) 源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,即两个操作数均在寄存器中。
(4) 这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。
4.指令格式结构如下所示,试分析指令格式及寻址方式特点。
15 10 9 8 7 4 3 0答:该指令格式及寻址方式特点如下:(1)双字长二XXX指令,用于访问存储器。
(2)操作码字段OP可以指定26=64种操作。
(3)RS型指令,一个操作数在通用寄存器(选择16个之一),另一个操作数在主存中。
有效XXX可通过变址寻址求得,即有效XXX等于变址寄存器(选择16个之一)内容加上位移量。
5.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:(1)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均有8个,寻址方式均有8种。
根据寻址方式的不同,指令可以是RR型、RS型、也可以是SS型;(2)因为OP为4位,所以最多可以有16种操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§4.1机器数的加减运算及其实现
例:已知X=-10111,Y=-10001,用变形 补码的加法求X+Y 解:设比例因子H=2,则有 所以:
X+Y=-101000
§4.1机器数的加减运算及其实现
补码相加的规则总结:
若两数的符号不同,相加的结果即为和的补码
若两数符号相同,相加后若其符号不变,结果正确 若两数符号相同,相加后若其符号改变,结果错误
§4.1机器数的加减运算及其实现
例: 已知X=+1101,Y=-110,求X+Y 解: [X]补=00001101, [Y]补=11111010 [X+Y]补=[X]补+[Y]补 = 00001101+11111010
符号位
溢出
00001101 +1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 1 1 mod 28
§4.1机器数的加减运算及其实现
2. 符号相异的两个原码相加 规则:先比较两数的绝对值,用绝对值大的数减去 绝对值小的数,结果取绝对值大的数的符号 例:已知X=+10101,Y=-01010,求X+Y 10101 -01011 01011 例:已知X=+01010,Y=-10111,求X+Y 10101 -01011 01101
d. (-63)+(-66)=-129 符号位 1 1 0 0 0 0 0 1 +10111110 溢出 101111111
§4.1机器数的加减运算及其实现
溢出判断方法: 1. 根据符号位判断 规则:两个正数相加,结果为负,则溢出 两个负数相加,结果为正,则溢出 即,当两个同号数相加,若结果符号与 两个操作数的符号不同,则发生溢出。
符号位
溢出位
0 0 .1 1 0 0 1 +1 1 .0 1 1 1 1 1 0 0 .0 1 0 0 0
mod 22
所以,X-Y=+1000
§4.1机器数的加减运算及其实现
例:两正数相减,被减数小于减数。已知X= +10011,Y=+11001,求真值X-Y 解:[X]补=00.10011,[-Y]补=11.00111 [X-Y]补=[X]补+[-Y]补 = 00.10011 + 11.00111
负溢出、正溢出
当发生错误时,采用除以比例因子H的方法求解
§4.1机器数的加减运算及其实现
补码加法特点: 符号与数值部分都参加运算 运算结果按2取模(小数),或按2n取模(整数) 运算结果仍为补码形式
补码相加的规则总结: 若两数的符号不同,相加的结果即为和的补码 若两数符号相同,相加后若其符号不变,结果正确 若两数符号相同,相加后若其符号改变,结果错误: 负溢出、正溢出 当发生错误时,采用除以比例因子H的方法求解
1 1 .0 0 1 1 1 +0 0 .1 0 0 1 1 1 1 .1 1 0 1 0 所以,X-Y=-110
符号位
mod 22
§4.1机器数的加减运算及其实现
补码加减法运算规则总结: 参加运算的操作数用补码表示 符号位与数值位一起参加运算 若为加法操作,则两数直接相加;若为减法,则 减数连同符号位一起变反加1,再与被减数相 加 运算的结果仍然是补码的形式.
0 0 .1 0 0 1 1 +1 1 .0 0 1 1 1 1 1 .1 1 0 1 0 所以,X-Y=-110
符号位
mod 22
§4.1机器数的加减运算及其实现
例:两负数相减,被减数大于减数。已知X= -10011,Y=-11001,求真值X-Y 解:[X]补=11.01101,[-Y]补=00.11001 [X-Y]补=[X]补+[-Y]补 = .01101 + 00.11001
§4.1机器数的加减运算及其实现
一、原码加法 1. 符号相同的两个原码相加 规则:符号不变,数值部分相加 例:已知X=+10101,Y=+01011,求X+Y (+ 1 0 1 0 1) +( + 0 1 0 1 1 ) +100000 例:已知X=-10011,Y=-01101,求X+Y ( - 1 0 0 1 1) +( - 0 1 1 0 1 ) -100000
a. 63+66=129 符号位 000111111 +001000010 010000001
正溢出
d. (-63)+(-66)=-129 符号位 1 1 1 0 0 0 0 0 1 +110111110 1101111111
溢出
负溢出
§4.1机器数的加减运算及其实现
总结: 当结果两符号位不同时发生溢出 第一位符号总是结果的正确符号 第二位符号位区别是正 / 负溢出 操作数及结果在寄存器或存储器中仍然 只用一位,只是在运算时扩充为双符号位 措施:选取一个合理的比例因子H=2i,对每 个加数都除以H,然后相加,最后将结果乘以 H即可。
§4.1机器数的加减运算及其实现
通过例子来说明如何判断结果是否发生溢出 假设计算机字长为8位
a. 31+13=44 符号位 0 0 0 1 1 1 1 1 +00001101 00101100 b. 63+66=129 符号位 0 0 1 1 1 1 1 1 +01000010 10000001
c. ( -31)+(-13)=-44 符号位 1 1 1 0 0 0 0 1 +11110011 溢出 111010100
§4.1机器数的加减运算及其实现
3. 符号相异的两个原码相减 同1 4. 符号相同的两个原码相减 同2 原码运算的特点:符号位不参加运算 原码运算的优缺点:麻烦 引入反码的原因:? 引入补码的原因:?
§4.1机器数的加减运算及其实现
二、补码加法 特点: 符号与数值部分都参加运算 运算结果按2取模(小数),或按2n取模 (整数) 运算结果仍为补码形式 1. 定点补码运算性质 性质一: 两数之和的补码等于两数补码之和 [X+Y]补=[X]补+[Y]补
§4.1机器数的加减运算及其实现
例:已知X=+10111,Y=+10001,用变 形补码的加法求X+Y 解:设比例因子H=2,则有 所以:
X+Y=+101000
§4.1机器数的加减运算及其实现
说明: a. 舍入处理 恒置1; 0舍1入; b. 符号位扩展 补码在右移时,要注意符号位要一起 移,且最左边要补上原符号的值
§4.1机器数的加减运算及其实现
计算结果的补码均可化成该数的原码。 例:设有两个定点小数 X=-0.1101,Y=0.0111,(1<X+Y<0),求这两数之和。 解:[X]补=1.0011 [Y]补=0.0111 [X]补+[Y]补=1.0011+0.0111=1.1010 [X+Y]原=[[X]补+[Y]补]补=[1.1010]补=1.0110 所以,X+Y=-0.0110 说明: 用补码做加法是数值位连同符号位一起参加 运算的。
第四章 机器数的运算方法及运算器
4.1 机器数的加减运算及其实现 4.2 定点乘法及其实现 4.3 定点除法及其实现 4.4 浮点数的算术运算 4.5 运算器的组成和结构 4.6 浮点运算器
第二章内容回顾
1. 真值与机器数 2. 定点数的原码、反码、补码 例:写出13与-11的二进制形式真值、原码、 反码、补码。 解:真值:X=+1101,Y=-1011 [X]原= [X]反= [X]补=01101 [Y]原=11011, [Y]反= 10100 [Y]补=10101
§4.1机器数的加减运算及其实现
2. 双符号位判断法 又称为变形补码判断法 定义:正数用00表示符号 负数用11表示符号 性质: [X+Y]变形补=[X]变形补+[Y]变形补 [[X ]变形补]变形补=[X]原
§4.1机器数的加减运算及其实现
判断方法: 若双符号位相同(00或11),则无溢出 若双符号位不同(01或10),则有溢出 01:正溢出;10:负溢出 例:
§4.1机器数的加减运算及其实现
结果错误的原因: 1.符号参加运算 2.产生了溢出
例:设有两个定点小数X=+0.10111,Y=- 0.10001 , 用补码的加法求Z=X+Y 解:[X]补= 0.10111,[Y]补=1.01111 [X+Y]补= [X]补+[Y]补=0.10111+1.01111
符号位 溢出
010111 +101111 1000110
§4.1机器数的加减运算及其实现
例 : 设 有 两 个 定 点 小 数 X=-0.10111 , Y=+0.10001,用补码的加法求Z=X+Y 解:[X]补=1.01001,[Y]补=0.10001 [X+Y]补= [X]补+[Y]补=1.01001+0.10001
00110110 +1 1 0 0 1 1 0 1 100000011
符号位 正溢出
00110110 +0 0 1 1 0 0 1 1 01101001
§4.1机器数的加减运算及其实现
四、补码加减法线路的实现 逻辑电路如图所示:
§4.1机器数的加减运算及其实现
§4.1机器数的加减运算及其实现
性质二: 一个数的补码的补码是这个数的原码 [[X ]补]补=[X]原 例:设有两定点小数X=0.10011, Y=-0.11001,求其补码的补码 解: [X]原=0.10011,[X]补=0.10011 [[X ]补]补=0.10011= [X]原 [Y]原=1.11001,[Y]补=1.00111 [[Y ]补]补=1.11001= [Y]原