资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
课后答案网 .com
第一章计算机系统概论
习题参考答案
1. 比较数字计算机和模拟计算机的特点。
解: 模拟计算机的特点: 数值由连续量来表示, 运算过程是连续的;
数字计算机的特点: 数值由数字量( 离散量) 来表示, 运算按位进行。
两者主要区别见P1 表1.1。
2. 数字计算机如何分类? 分类的依据是什么?
解: 分类:
数字计算机分为专用计算机和通用计算机。通用计算机又分为巨型机、 大型机、
中型机、 小型机、 微型机和单片机六类。
分类依据: 专用和通用是根据计算机的效率、 速度、 价格、 运行的经济性和适应性来划分的。
通用机的分类依据主要是体积、 简易性、 功率损耗、 性能指标、 数据存储容量、
指令系统规模和机器价格等因素。
3. 数字计算机有那些主要应用?
( 略)
4. 冯. 诺依曼型计算机的主要设计思想是什么? 它包括哪些主要组成部分?
课后答案网
解: 冯. 诺依曼型计算机的主要设计思想是: 存储程序和程序控制。
存储程序: 将解题的程序( 指令序列) 存放到存储器中;
程序控制: 控制器顺序执行存储的程序, 按指令功能控制全机协调地完成运算任务。
主要组成部分有: 控制器、 运算器、 存储器、 输入设备、 输出设备。
5. 什么是存储容量? 什么是单元地址? 什么是数据字? 什么是指令字?
解: 存储容量: 指存储器能够容纳的二进制信息的数量, 一般见单位KB、 MB、 GB来度量, 存储
容
.com
量越大, 表示计算机所能存储的信息量越多, 反映了计算机存储空间的大小。
单元地址: 单元地址简称地址, 在存储器中每个存储单元都有唯一的地址编号, 称为单元地
址。
数据字: 若某计算机字是运算操作的对象即代表要处理的数据, 则称数据字。
指令字: 若某计算机字代表一条指令或指令的一部分, 则称指令字。
6. 什么是指令? 什么是程序?
解: 指令: 计算机所执行的每一个基本的操作。
程序: 解算某一问题的一串指令序列称为该问题的计算程序, 简称程序。
课后答案网 .com
7. 指令和数据均存放在内存中, 计算机如何区分它们是指令还是数据?
解: 一般来讲, 在取指周期中从存储器读出的信息即指令信息; 而在执行周期中从存储器中读出
的
信息即为数据信息。
8. 什么是内存? 什么是外存? 什么是 CPU? 什么是适配器? 简述其功能。
解: 内存: 一般由半导体存储器构成, 装在底版上, 可直接和CPU交换信息的存储器称为内存储
器, 简称内存。用来存放经常使用的程序和数据。
外存: 为了扩大存储容量, 又不使成本有很大的提高, 在计算机中还配备了存储容量更大的
磁盘存储器和光盘存储器, 称为外存储器, 简称外存。外存可存储大量的信息, 计算
机需要使用时, 再调入内存。
CPU: 包括运算器和控制器。基本功能为: 指令控制、 操作控制、 时间控制、 数据加工。
适配器: 连接主机和外设的部件, 起一个转换器的作用, 以使主机和外设协调工作。
9. 计算机的系统软件包括哪几类? 说明它们的用途。
解: 系统软件包括: ( 1) 服务程序: 诊断、 排错等
( 2) 语言程序: 汇编、 编译、 解释等
( 3) 操作系统
( 4) 数据库管理系统
课后答案网
用途: 用来简化程序设计, 简化使用方法, 提高计算机的使用效率, 发挥和扩大计算机的功
能
及用途。
10. 说明软件发展的演变过程。
( 略)
11. 现代计算机系统如何进行多级划分? 这种分级观点对计算机设计会产生什么影响?
解: 多级划分图见P16图1.6。可分为: 微程序设计级、 一般机器级、 操作系统级、 汇编语言级
.com
和
高级语言级。
用这种分级的观点来设计计算机, 对保证产生一个良好的系统结构是有很大帮助的。
12. 为什么软件能够转化为硬件? 硬件能够转化为软件? 实现这种转化的媒介是什么?
( 略)
13. "计算机应用"与"应用计算机"在概念上等价吗? 用学科角度和计算机系统的层次结构来寿
命你的观点。
课后答案网 .com
( 略)
第二章运算方法和运算器
习题参考答案
1. 写出下列各数的原码、 反码、 补码、 移码表示( 用8位二进制数) 。其中MSB是最高位( 又
是符号位) LSB是最低位。如果是小数, 小数点在 MSB之后; 如果是整数, 小数点在 LSB之后。
(1) -35/64 (2) 23/128 (3) -127 (4) 用小数表示-1 (5) 用整数表示-1
解: (1)先把十进制数-35/64写成二进制小数:
(-35/64)10=(-100011/1000000)2=(-100011×2-110)2=(-0.100011)2
令x=-0.100011B
∴ [x]原=1.1000110 (注意位数为8位) [x]反=1.0111001
[x]补=1.0111010
[x]移=0.0111010
(2) 先把十进制数23/128写成二进制小数:
(23/128)10=(10111/10000000)2=(10111×2-111)2=(0.0001011)2
令x=0.0001011B
∴ [x]原=0.0001011
[x]补=0.0001011
[x]反=0.0001011
[x]移=1.0001011
(3) 先把十进制数-127写成二进制小数:
课后答案网
(-127)10=(-1111111)2
令x= -1111111B
∴ [x]原=1.1111111
[x]补=1.0000001
[x]反=1.0000000
[x]移=1.0000001
(4) 令x=-1.000000B
∴ 原码、 反码无法表示
[x]补=1.0000000
[x]移=0.0000000
[Y]反=11111110
.com
(5) 令Y=-1=-0000001B
∴ [Y]原=10000001
[Y]补=11111111
[Y]移=01111111
2. 设[X]补= a0, a1, a2…a6 , 其中ai取0或1, 若要x>-0.5,求a0, a1, a2, …, a6 的取
值。
解: a0= 1, a1= 0, a2, …, a6=1…1。
3. 有一个字长为32位的浮点数, 阶码10位( 包括1位阶符) , 用移码表示; 尾数 22位( 包
括1位尾符) 用补码表示, 基数R=2。请写出:
(1) 最大数的二进制表示;
课后答案网 .com
(2) 最小数的二进制表示;
(3) 规格化数所能表示的数的范围;
(4) 最接近于零的正规格化数与负规格化数。
解: ( 1)
( 2)
( 3) ~
( 4) ~
4. 将下列十进制数表示成浮点规格化数, 阶码 3位, 用补码表示; 尾数9位, 用补码表示。
( 1) 27/64
( 2) -27/64
解: ( 1) 27/64=11011B× =0.011011B=0.11011B×
浮点规格化数 : 1111
( 2) -27/64= -11011B× = -0.011011B= -0.11011B×
浮点规格化数 : 1111
5. 已知X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。
( 1) X=0.11011 Y=0.00011
( 2) X= 0.11011 Y= -0.10101
( 3) X=-0.10110 Y=-0.00001
课后答案网
解: ( 1) 先写出x和y的变形补码再计算它们的和
[x]补=00.11011 [y]补=00.00011
[x+y]补=[x]补+[y]补=00.11011+00.00011=0.11110
∴ x+y=0.1111B 无溢出。
( 2) 先写出x和y的变形补码再计算它们的和
[x]补=00.11011 [y]补=11.01011
[x+y]补=[x]补+[y]补=00.11011+11.01011=00.00110
∴ x+y=0.0011B 无溢出。
( 3) 先写出wwx和y的变形补码再计算它们的和
[x]补=11.01010 [y]补=11.11111
[x+y]补=[x]补+[y]补=11.01010+11.11111=11.01001
∴ x+y= -0.10111B 无溢出
6. 已知X和Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。
(1) X=0.11011 Y= -0.11111
(2) X=0.10111 Y=0.11011
(3) X=0.11011 Y=-0.10011
解: ( 1) 先写出x和y的变形补码, 再计算它们的差
课后答案网 .com
[x]补=00.11011 [y]补=11.00001 [-y]补=00.11111
[x-y]补=[x]补+[-y]补=00.11011+00.11111=01.11010
∵运算结果双符号不相等 ∴ 为正溢出
X-Y=+1.1101B
( 2) 先写出x和y的变形补码, 再计算它们的差
[x]补=00.10111 [y]补=00.11011 [-y]补=11.00101
[x-y]补=00.10111+11.00101=11.11100
∴ x-y= -0.001B 无溢出
( 3) 先写出x和y的变形补码, 再计算它们的差
[x]补=00.11011 [y]补=11.01101 [-y]补=00.10011
[x-y]补=[x]补+[-y]补=00.11011+00.10011=01.01110
∵运算结果双符号不相等 ∴ 为正溢出
X-Y=+1.0111B
7. 用原码阵列乘法器、 补码阵列乘法器分别计算 X×Y。
( 1) X=0.11011 Y= -0.11111
( 2) X=-0.11111 Y=-0.11011
解: ( 1) 用原码阵列乘法器计算:
[x]补=0.11011 [y]补=1.00001
课后答案网
(0) 1 1 0 1 1
×) (1) 0 0 0 0 1
----------------------------------
(0) 1 1 0 1 1
(0) 0 0 0 0 0
( 0) 0 0 0 0 0
(0) 0 0 0 0 0
(0) 0 0 0 0 0
(0) (1) (1) (0) (1) (1)
-----------------------------------------
.com
(1) 0 0 1 0 1 1 1 0 1 1
[x×y]补=1.
∴ x×y= -0.
8. 用原码阵列除法器计算 X÷Y。
( 1) X=0.11000 Y= -0.11111
( 2) X=-0.01011 Y=0.11001
解: ( 1) [x]原=[x]补=0.11000
[-∣y∣]补=1.00001
课后答案网 .com
被除数 X 0.11000
+[-∣y∣]补 1.00001
----------------------
余数为负 1.11001 →q0=0
左移 1.10010
+[|y|]补 0.11111
----------------------
余数为正 0.10001 →q1=1
左移 1.00010
+[-|y|]补 1.00001
----------------------
余数为正 0.00011 →q2=1
左移 0.00110
+[-|y|]补 1.00001
----------------------
余数为负 1.00111 →q3=0
左移 0.01110
+[|y|]补 0.11111
----------------------
余数为负 1.01101 →q4=0
左移 0.11010
+[|y|]补 0.11111
----------------------
课后答案网
余数为负 1.11001 →q5=0
+[|y|]补 0.11111
----------------------
余数 0.11000
故 [x÷y]原=1.11000 即 x÷y= -0.11000B
余数为 0.11000B×
9. 设阶为5位(包括2位阶符), 尾数为8位(包括2位数符), 阶码、 尾数均用补码表示, 完成
下列取值的[X+Y], [X-Y]运算:
.com
( 1) X=
×0.100101 Y=
×(-0.011110)
( 2) X=
×( -0.010110) Y=
×(0.010110)
解: ( 1) 将y规格化得: y=
×(-0.111100)
[x]浮=1101, 00.100101 [y]浮=1101, 11.000100 [-y]浮=1101, 00.111100
① 对阶
[ΔE]补=[Ex]补+[-Ey]补=1101+0011=0000
课后答案网 .com
∴ Ex=Ey
② 尾数相加
相加
相减
00.100101
00.100101
+ 11.000100
------------
11.101001
+ 00.111100
--------------
01.100001
[x+y]浮=1101,11.101001 左规 [x+y]浮=1100,11.010010
∴ x+y=
×(-0.101110)
[x-y]浮=1101,01.100001 右规 [x-y]浮=1110,00.1100001
舍入处理得 [x-y]浮=1110,00.110001
∴ x-y=
×0.110001
( 2) [x]浮=1011, 11.101010 [y]浮=1100, 00.010110 [-y]浮=1100, 11.101010
① 对阶
[ΔE]补=[Ex]补+[-Ey]补=1011+0100=1111
∴ △E= -1 [x]浮=1100, 11.110101(0)
② 尾数相加
相加
相减
11.110101(0)
+ 00.010110
--------------
00.001011(0)
11.110101(0)
课后答案网
+ 11.101010
------------------
11.011111(0)
[x+y]浮=1100,00.001011(0) 左规 [x+y]浮=1010,00.1011000
∴ x+y=
[x-y]浮=1100,11.011111(0)
∴ x-y=
×0.1011B
×( -0.100001B)
13. 某加法器进位链小组信号为C4C3C2C1 , 低位来的信号为C0 , 请分别按下述两种方式写出
.com
C4C3C2C1的逻辑表示式。
( 1) 串行进位方式 ( 2) 并行进位方式
解 : ( 1) 串行进位方式:
C1 = G1 + P1 C0 其中: G1 = A1 B1 , P1 = A1⊕B1
C2 = G2 + P2 C1
C3 = G3 + P3 C2
C4 = G4 + P4 C3
(2) 并行进位方式:
C1 = G1 + P1 C0
G2 = A2 B2 , P2 = A2⊕B2
G3 = A3 B3 , P3 = A3⊕B3
G4 = A4 B4 , P4 = A4⊕B4
课后答案网 .com
C2 = G2 + P2 G1 + P2 P1 C0
C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 C0
C4 = G4 + P4 G3 + P4 P3 G2 + P4 P3 P2 G1 + P4 P3 P2 P1 C0
其中 G1-G4 , P1-P4 表示式与串行进位方式相同。
14. 某机字长16位, 使用四片74181组成ALU, 设最低位序标注为 0位, 要求:
( 1) 写出第5位的进位信号C6的逻辑表示式;
( 2) 估算产生C6所需的最长时间;
( 3) 估算最长的求和时间。
解: ( 1) 组成最低四位的74181进位输出为: C4=G+P C0 , C0为向第0位的进位
其中: G=y3+x3y2+x2x3y1+x1x2x3y0, P=x0x1x2x3
因此 : C5=y4+x4C4
C6=y5+x5C5=y5+x5y4+x5x4C4
( 2) 设标准门延迟时间为T, "与或非"门延迟时间为1.5T, 则进位信号C0由最低位传送
至C6需经一个反相器, 两级"与或非"门, 故产生C6的最长延迟时间为:
T+2×1.5T=4T
( 3) 最长求和时间应从施加操作数到ALU算起: 第一片74181有3级"与或非"门( 产生控
制参数x0, y0Cn+4) ,第二、 第三片74181共2级反相器和2级"与或非"门( 进位链) , 第四片
74181求和逻辑( 1级"与或非"门和1级半加器, 其延迟时间为3T) , 故总的加法时间为:
T=3×1.5T+2T+2×1.5T+1.5T+1.5T+3T=14T
课后答案网
17.设A, B, C是三个16位的通用寄存器, 请设计一个 16位定点补码运算器, 能实现下述功
能:
( 1) A±B→A
( 2) B×C→A, C( 高位积在寄存器A中)
( 3) A÷B→C( 商在寄存器C中)
解: 设计能完成加、 减、 乘、 除运算的16位定点补码运算器框图。
分析各寄存器作用:
加
减
乘
除
.com
A 被加数→和
同左
初始为0
被除数→余数
部分积→乘积( H) 除数
B 加数
同左
被乘数
C
--
--
乘数→乘积( L) 商
∴ A: 累加器( 16位) , 具有输入、 输出、 累加功能及双向移位功能;
B: 数据寄存器( 16位) , 具有输入、 输出功能;
C: 乘商寄存器( 16位) , 具有输入、 输出功能及双向移位功能。
课后答案网 .com
画出框图:
第三章存储系统习题
参考答案
1.有一个具有20位地址和32位字长的存储器, 问:
( 1) 该存储器能存储多少个字节的信息?
( 2) 如果存储器由512K×8位SRAM芯片组成, 需要多少芯片?
( 3) 需要多少位地址作芯片选择?
解: ( 1) ∵ 220= 1M, ∴ 该存储器能存储的信息为: 1M×32/8=4MB
( 2) ( 1000/512) ×( 32/8) = 8( 片)
课后答案网
( 3) 需要1位地址作为芯片选择。
2. 已知某64位机主存采用半导体存储器, 其地址码为26位, 若使用256K×16位的DRAM芯片
组成该机所允许的最大主存空间, 并选用模块板结构形式, 问:
( 1) 每个模块板为1024K×64位, 共需几个模块板?
( 2) 个模块板内共有多少DRAM芯片?
( 3) 主存共需多少DRAM芯片? CPU如何选择各模块板?
解: (1). 共需模块板数为m:
m= ÷ =64 (块)
.com
(2). 每个模块板内有DRAM芯片数为n:
n=( / ) ×(64/16)=16 (片)
(3) 主存共需DRAM芯片为: 16×64=1024 (片)
每个模块板有16片DRAM芯片, 容量为1024K×64位, 需20根地址线(A19~A0)完成
模块
板内存储单元寻址。一共有64块模块板, 采用6根高位地址线(A25~A20), 经过
6: 64译码器译码产生片选信号对各模块板进行选择。
课后答案网 .com
3. 用16K×8位的DRAM芯片组成64K×32位存储器, 要求:
(1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS, CPU在1μS内至少要访问一次。试问采用哪种刷新方式比
较合理? 两次刷新的最大时间间隔是多少? 对全部存储单元刷新一遍所需的实际刷新时间是多
少?
解: ( 1) 组成64K×32位存储器需存储芯片数为
N=( 64K/16K) ×( 32位/8位) =16( 片)
每4片组成16K×32位的存储区, 有A13-A0作为片内地址, 用A15 A14经2: 4译码器
产生片选信号
, 逻辑框图如下所示:
课后答案网
( 2) 依题意, 采用异步刷新方式较合理, 可满足CPU在1μS内至少访问内存一次的要求。
设16K×8位存储芯片的阵列结构为128行×128列, 按行刷新, 刷新周期T=2ms, 则异
步
刷新的间隔时间为:
则两次刷新的最大时间间隔发生的示意图如下
.com
可见, 两次刷新的最大时间间隔为tmax
tmax=15.5-0.5=15 (μS)
对全部存储单元刷新一遍所需时间为t R
t R =0.5×128=64 (μS)
7.某机器中, 已知配有一个地址空间为0000H-3FFFH的ROM区域。现在再用一个RAM芯片(8K×8)
形成40K×16位的RAM区域, 起始地址为6000H,假定RAM芯片有
和
信号控制端。CPU
(访存), 要求:
的地址总线为A15-A0, 数据总线为D15-D0, 控制信号为R/ (读/写),
( 1) 画出地址译码方案。
课后答案网 .com
( 2) 将ROM与RAM同CPU连接。
解: ( 1) 依题意, 主存地址空间分布如右图所示, 可选用2片27128(16K×8位)的EPROM作为
ROM区; 10片的8K×8位RAM片组成40K×16位的RAM区。27128需14位片内地址, 而RAM需
13位
片内地址, 故可用A15-A13三位高地址经译码产生片选信号,方案如下:
课后答案网
( 2)
.com
8. 存储器容量为64M, 字长64位, 模块数m = 8, 分别用顺序方式和交叉方式进行组织。存
储周期T = 100ns,数据总线宽度为64位, 总线周期τ = 10ns .问顺序存储器和交叉存储器的
课后答案网 .com
带宽各是多少?
解: 信息总量: q = 64位 ×8 =512位
顺序存储器和交叉存储器读出8个字的时间分别是:
t2 = m T = 8×100ns =8×10 (s)
t1 = T + (m - 1) = 100 + 7×10 = 1.7 ×10 (s)
顺序存储器带宽是:
W2 = q / t2 = 512÷( 8×10 ) = 64 ×10 ( 位/ S)
交叉存储器带宽是:
W1 = q / t1 = 512÷( 1.7 ×10 ) = 301 ×10 ( 位/ S)
9. CPU执行一段程序时, cache完成存取的次数为2420次, 主存完成存取的次数为80
次, 已知cache存储周期为40ns, 主存存储周期为 240ns, 求cache/主存系统的效率和平均访
问时间。
解: 先求命中率h
h=nc/(nc +nm )=2420÷(2420+80)=0.968
则平均访问时间为ta
ta=0.968×40+(1-0.968) ×240=46.4(ns)
r =240÷40=6
cache/主存系统的效率为e
e=1/[r+(1-r)×0.968]=86.2%
课后答案网
10.已知Cache存储周期40ns, 主存存储周期200ns, Cache/主存系统平均访问时间为 50ns,
求Cache的命中率是多少?
解: ∵ ta = tc× h +tr×(1-h)
∴ h =(ta-tr)/(tc-tr)=(50-200)/(40-200)=15/16=0.94
11.主存容量为4MB, 虚存容量为1GB, 则虚存地址和物理地址各为多少位? 如页面大小为4KB,
则页表长度是多少?
解: 已知主存容量为4MB, 虚存容量为1GB
.com
∵
=4M ∴物理地址为22位
又 ∵
=1G ∴虚拟地址为30位
页表长度为 1GB÷4KB=230÷212=218=256K
14.假设主存只有a,b,c三个页框, 组成a进c出的FIFO队列, 进程访问页面的序列是
0,1,2.4,2,3,0,2,1.3,2 号。用列表法求采用LRU替换策略时的命中率。
解:
课后答案网 .com
∴命中率为
15.从下列有关存储器的描述中, 选择出正确的答案:
A. 多体交叉存储主要解决扩充容量问题;
B. 访问存储器的请求是由CPU发出的;
C. Cache与主存统一编址, 即主存空间的某一部分属于 Cache;
D. Cache的功能全由硬件实现。
解: D
16.从下列有关存储器的描述中, 选择出正确的答案:
A.在虚拟存储器中, 外存和主存一相同的方式工作, 因此允许程序员用比主存空间大得
多的外存空间编程;
B.在虚拟存储器中, 逻辑地址转换成物理地址是由硬件实现的, 仅在页面失效时才由操
作系统将被访问页面从外存调到内存, 必要时还要先把被淘汰的页面内容写入外存;
课后答案网
C.存储保护的目的是: 在多用户环境中, 既要防止一个用户程序出错而破坏系统软件或
其它用户程序, 又要防止一个用户访问不是分配给她的主存区, 以达到数据安全和保
密的要求。
解: C
第四章指令系统
习题参考答案
1.ASCll码是7位, 如果设计主存单元字长为 32位, 指令字长为12位, 是否合理? 为什
么?
.com
解: 指令字长设计为12位不是很合理。主存单元字长为32位, 一个存储单元可存放4个ASCII
码,
余下4位可作为ASCII码的校验位( 每个ASCII码带一位校验位) , 这样设计还是合理的。
可是, 设计指令字长为12 位就不合理了, 12位的指令码存放在字长32位的主存单元中,
造成19位不能用而浪费了存储空间。
2.假设某计算机指令长度为 20位, 具有双操作数、 单操作数、 无操作数三类指令形式, 每个操
作数地址规定用6位表示。问:
若操作码字段固定为8位, 现已设计出m条双操作数指令, n条无操作数指令, 在此情况下, 这
课后答案网 .com
台计算机最多能够设计出多少条单操作数指令?
解: 这台计算机最多能够设计出256-m-n条单操作数指令
3.指令格式结构如下所示, 试分析指令格式及寻址方式特点。
解: 指令格式及寻址方式特点如下:
① 单字长二地址指令;
② 操作码OP可指定 =64条指令;
③ RR型指令, 两个操作数均在寄存器中, 源和目标都是通用寄存器( 可分别指定16个寄
存器
之一) ;
④ 这种指令格式常见于算术逻辑类指令。
4.指令格式结构如下所示, 试分析指令格式及寻址方式特点。
课后答案网
解: 指令格式及寻址方式特点如下:
① 双字长二地址指令;
② 操作码OP可指定 =64条指令;
③ RS型指令, 两个操作数一个在寄存器中( 16个寄存器之一) , 另一个在存储器中;
④ 有效地址经过变址求得: E=( 变址寄存器) ± D, 变址寄存器可有16个。
5.指令格式结构如下所示, 试分析指令格式及寻址方式特点。
.com
② 操作码OP可指定 =16条指令;
解: 指令格式及寻址方式特点如下:
① 单字长二地址指令;
③ 有8个通用寄存器, 支持8种寻址方式;
④ 能够是RR型指令、 SS型指令、 RS型指令、
6.一种单地址指令格式如下所示, 其中I为间接特征, X为寻址模式, D为形式地址。I, X, D
组成该指令的操作数有效地址 E。设R为变址寄存器, R1 为基值寄存器, PC为程序计数器, 请
课后答案网 .com
在下表中第一列位置填入适当的寻址方式名称。
解: ① 直接寻址
② 相对寻址
③ 变址寻址
④ 基址寻址
⑤ 间接寻址
⑥ 基址间址寻址
7.某计算机字长16位, 主存容量为64K字, 采用单字长单地址指令, 共有40条指令, 试采用
直接、 立即、 变址、 相对四种寻址方式设计指令格式。
解: 40条指令需占用操作码字段( OP) 6位, 这样指令余下长度为10位。为了覆盖主存640K
字的地
课后答案网
址空间, 设寻址模式( X) 2位, 形式地址( D) 8位, 其指令格式如下:
寻址模式定义如下:
X= 0 0 直接寻址 有效地址 E=D( 直接寻址为256个存储单元)
X= 0 1 立即寻址 D字段为操作数
X= 1 0 变址寻址 有效地址 E= (RX)+D ( 可寻址64K个存储单元)
X= 1 1 相对寻址 有效地址 E=( PC) +D ( 可寻址64K个存储单元)
其中RX为变址寄存器( 16位) , PC为程序计数器( 16位) , 在变址和相对寻址时, 位移
量D可
正可负。
.com
8.某机字长为32位, 主存容量为1M, 单字长指令,有50种操作码,采用页面寻址、 立即、 直接
等寻址方式。CPU中有PC, IR, AR, DR和16个通用寄存器, 页面寻址可用 PC高位部分与形式
地址部分拼接成有效地址。问:
( 1) 指令格式如何安排?
( 2) 主存能划分成多少页面? 每页多少单元?
( 3) 能否增加其它寻址方式?
解: ( 1) 依题意,指令字长32位, 主存1M字, 需20位地址A19-A0。50种操作码, 需6位OP,
指令
寻址方式Mode为2位, 指定寄存器Rn需4位。设有单地址指令、 双地址指令和零地
课后答案网 .com
址指
令, 现只讨论前二种指令。
单地址指令的格式为:
Mode=00时为立即寻址方式, 指令的23-0位为立即数;
Mode=01时为直接寻址方式, 指令的19-0位为有效地址。
双地址指令的格式为:
Mode1=01时为寄存器直接寻址方式, 操作数S=(Rn);
Mode1=11时为寄存器间址寻址方式, 有效地址E=(Rn)。
Mode2=00时为立即寻址方式, 指令的13-0位为立即数;
Mode2=01时为页面寻址方式;
Mode2=10时为变址寻址方式, E=(Rn)+D;
Mode2=11时为变址间址寻址方式, E=((Rn)+D)。
( 2) 由于页面寻址方式时, D为14位, 因此页面大小应为 =16K字, 则1M字可分为
=64个页面。可由PC的高6位指出页面号。
( 3) 能增加其它寻址方式, 例上述间址方式、 变址间址寻址方式。
课后答案网
14. 从以下有关RISC的描述中, 选择正确答案。
A.采用RISC技术后, 计算机的体系结构又恢复到早期的比较简单的情况。
B.为了实现兼容, 新设计的 RISC, 是从原来CISC系统的指令系统中挑选一部分实现的。
C.RISC的主要目标是减少指令数, 提高指令执行效率。
D.RISC设有乘、 除法指令和浮点运算指令。
解: C
15. 根据操作数所在位置, 指出其寻址方式( 填空) :
( 1) 操作数在寄存器中, 为( A) 寻址方式。
.com
( 2) 操作数地址在寄存器, 为( B) 寻址方式。
( 3) 操作数在指令中, 为( C) 寻址方式。
( 4) 操作数地址( 主存) 在指令中, 为( D) 寻址方式
( 5) 操作数的地址, 为某一寄存器内容与位移量之和能够是( E, F, G) 寻址方式。
解: A: 寄存器直接; B: 寄存器间接; C: 立即;
D: 直接;
E: 相对;
F: 基值; G: 变址
课后答案网 .com
第五章中央处理器
习题参考答案
1.请在括号内填入适当答案。在 CPU中:
(1) 保存当前正在执行的指令的寄存器是( 指令寄存器 IR) ;
(2) 保存当前正要执行的指令地址的寄存器是(程序计数器 PC);
(3) 算术逻辑运算结果一般放在( 通用寄存器 ) 和( 数据缓冲寄存器DR ) 。
2.参见下图( 课本P166图5.15) 的数据通路。画出存数指令"STA R1 , (R2)"的指令周期
流程图, 其含义是将寄存器R1的内容传送至( R2) 为地址的主存单元中。标出各微操作信
号序列。
课后答案网
解: "STA R1 , (R2)"指令是一条存数指令, 其指令周期流程图如下图所示:
.com
课后答案网 .com
3.参见课本P166图5.15的数据通路, 画出取数指令"LDA( R3) , RO"的指令周期流程图,
课后答案网
其含义是将(R3)为地址的主存单元的内容取至寄存器 R0中, 标出各微操作控制信号序列。
5.如果在一个CPU周期中要产生3个脉冲 T1 = 200ns ,T2 = 400ns ,T3 = 200ns,试画出
时序产生器逻辑图。
解: 节拍脉冲T1 , T2 , T3 的宽度实际等于时钟脉冲的周期或是它的倍数, 此时T1=T3=200ns ,
T2 = 400 ns , 因此主脉冲源的频率应为 f = 1 / T1 =5MHZ 。为了消除节拍脉冲上的毛刺,
环
型脉冲发生器可采用移位寄存器形式。下图画出了题目要求的逻辑电路图和时序信号关系。
根据关
.com
系, 节拍脉冲T1 , T2 , T3 的逻辑表示式如下:
T1 = C1·
, T2 =
, T3 =
课后答案网 .com
课后答案网
6.假设某机器有80条指令, 平均每条指令由4条微指令组成, 其中有一条取指微指令是所有
指
令公用的。已知微指令长度为 32位, 请估算控制存储器容量。
解: 微指令条数为: ( 4-1) ×80+1=241条
取控存容量为: 256×32位=1KB
7. 某ALU器件使用模式控制码M, S3, S2, S1, C 来控制执行不同的算术运算和逻辑操作。
下表列出各条指令所要求的模式控制码, 其中 y为二进制变量, F为0或1任选。
.com
试以指令码( A, B, H, D, E, F, G) 为输入变量, 写出控制参数 M, S3, S2, S1, C的逻
辑表示式。
展开阅读全文