组相联结构,块的大小为4个32位字。当Cache未命中时,以分组方式从主存读取4个字到Cache,假定主存容量为16M字节。请说明:
(1)Cache共分多少组?
(2)写出主存的字节地址的格式,并说明地址格式中的不同字段的作用和位数; 答:(1) 128组;
(2) 高位字块标记(13位) 组地址(7位) 块内地址(4位)
5.8 计算机主存容量为256K字,Cache为8K字。主存与Cache之间按组相联映射,Cache的每组有4个行,每行有64个字。假设开始时Cache为空,CPU按顺序从主存地址为0,1,2,… ,8447单元执行“取“操作(不命中时,采用将主存中含有该字的块送入Cache后,再从Cache中把需要的字读出送CPU的方法),然后又重复执行20次。设Cache存取时间为主存的1/10。替换使用LRU算法,请计算上述操作总的存取时间与不用Cache相比,速度提高多少倍?
答:约4.965倍
5.9 简述虚拟存储器的含义和作用。
33
略。 习题六
6.1 指令包括哪几部分?各表示什么含意?
略。
6.2 在一地址指令、二地址指令中,如何指定二个操作数地址?
如何存放操作结果? 略。
6.3 简述指令操作码的扩展技术的基本方法。
略。
6.4 某机器字长16位,采用单字长指令,每个地址码6位。试采
用操作码扩展技术,设计14条二地址指令,80条一地址指令,60条零地址指令。请给出指令编码示意图。 1.(7分) ? 14条双地址指令:
操作码(4地址码A1(6地址位) 位) A2(6位) 码 操作码: 000000~001101
34
? 80条单地址指令:
地址码A(6操作码(10位) 位) 操作码:1110××××××(64条中可选择前63条) 1111××××××(64条中可选择前17条) ? 60条零地址指令:
操作码(16位) 操作码: 1111111111××××××(64条中选择60个编码即可)
其他编码方案,只要符合操作码扩展技术都可以 6.5 什么是指令字长?什么是机器字长?它们之间有何关系?
略:
6.6 确定寻址方式的目的是什么?
略
6.7 请说明间接寻址和直接寻址的不同。 略。
6.8 简述变址寻址和基址寻址的主要区别。
35
略。
6.9 单项选择题
(1)寄存器间接寻址方式中,操作数在( )中。
A. 程序计算器 B. 堆栈 C. 寄存器 D. 主存 答:D
(2)堆栈常用于( )。
A. 数据移位 B. 程序转移 C. 保护程序现场 D. 输入、输出 答:C
(3)单地址指令中,为了完成两个数的算术运算,除地址码指
明的一个操作数外,另一个数常需采用( )。
A.堆栈寻址 B. 立即寻址 C. 隐含寻址 D. 间接寻址 答:C
36