计算机组成原理第 1章习题
第 1章 计算机系统概论
例 1.1 已知计算机框图如图 1.1所示,以加法指令“ ADD M”(M为主存地址)为例,写
出完成该指令的信息流程(从取指令开始)。
主存储器
存
储
体
M
MAR
MDR
CPU
运算器
MQ
PC
CU
控制
单元
IR
ACC
ALU
控制器
X
I/O
图 1.1 计算机框图
解:指令“ADD M”的真实含义是将地址为 M的存储单元中的加数取出并送至运算器
中,然后和存放在运算器的被加数通过 ALU(算逻部件)相加,结果仍放在运算器中。结合图
1.1,设运算器中 ACC存放被加数, X存放加数,求和结果存放在 ACC中。故完成 “ADD M”
指令的信息流程为:
取指令 PC → MAR → M → MDR → IR
分析指令 OP (IR) → CU
执行指令 Ad (IR) → MAR → M → MDR → X
ACC → ALU,同时 X → ALU
ALU → ACC
例 1.2设主存储器容量为 64K×32位,并且指令字长、存储字长、机器字长三者相等。写
出图 1.1中各寄存器的位数,并指出哪些寄存器之间有信息通路。
解:由主存容量为 64K×32位
得 216=64 K. 故 MAR为 16位,PC为 16位,MDR为 32位。
因指令字长=存储字长=机器字长
则 IR、ACC、MQ、X均为 32位
寄存器之间的信息通路有
1
计算机组成原理第
1章习题
PC→MAR
Ad(IR)→MAR
MDR→IR
取数
MDR→ACC,存数
ACC→MDR
MDR→X
例
1.3 指令和数据都存于存储器中,计算机如何区分它们?
解:通常完成一条指令可分为取指阶段和执行阶段。在取指阶段通过访问存储器可将指令
取出;在执行阶段通过访问存储器可将操作数取出。这样,虽然指令和数据都是以
0、1代码形
式存在存储器中,但
CPU可以判断出在取指阶段访存取出的
0、1代码是指令;在执行阶段访
存取出的
0、1代码是数据。例如,完成
ADD M指令需两次访存:第一次访存是取指阶段,
C
PU
根据
PC给出的地址取出指令;第二次访存是执行阶段,
CPU根据存于
IR的指令中
M给出的
地址取出操作数。可见,
CPU就是根据取指阶段和执行阶段的访存性质不同来区分指令和数据
的。这一概念随着学习的深入,读者会逐步加深印象。
2