计算机组成原理大题
总览
2009
2010
2011
2012
2013
2014
2015
2016
2017
数据的表示和运算——浮点数的表示和计算
指令系统——程序的机器级代码表示
2018
2019
指令系统——程序的机器级代码表示
指令系统——程序的机器级代码表示
2020
数据的表示和运算——运算方法和运算电路
存储系统——高速缓冲存储器
2021
2022
2023
2024
指令系统——程序的机器级代码表示
指令系统——程序的机器级代码表示
2025
数据的表示和运算——运算方法和运算电路
1.



2.


分析:
重点关注(4),乘法器的溢出问题
数据的表示和运算——浮点数的表示和计算
1.



注意:
注意IEEE754的标准:
- 23位尾数可以有24位的有效位
- 阶码全1,尾数全0表示无穷大
- 最大的阶码为254
- 尾数舍入后阶码会加1
ai生成的例子:
- 33,554,431($2^{25}-1$) 需 25 位二进制,超 float 24 位精度。
- 写成 1.111…111×2²⁴,末位 1 触发“向偶进位”(“1进0舍”)。
- 尾数进位得 10.000…000,溢出 24 位。
- 右规 1 位→1.000…000,阶码同时 +1。
- 结果 1.0×2²⁵,阶码 152,尾数全 0。
存储系统——高速缓冲存储器
1.



分析:
程序 B 逐列访问数组 a,Cache 总容量为 64Bx8=512B,数组 a 一行的大小为 1KB,正好是 Cache 容量的 2 倍,可知不同行的同一列数组元素使用的是同一个 Cache 单元,故逐列访问每个数据时,都会将之前的字块置换出,也即每次访问都不会命中,命中率为 0。由于从 Cache 读数据比从主存读数据快很多,所以程序 A 的执行比程序 B 快得多。
本题考查 Cache 容量计算,直接映射方式的地址计算,以及命中率计算(注意:行优先遍历与列优先遍历命中率差别很大)。
2.


注意:(3)(4)
(3)流水线 (4)分cache是否命中两种情况
3.



注意:(2)
存储系统——虚拟存储器
1.



注意:(4)
TLB号是虚页号的最后几位,补齐时是在最前面补零
2.



注意: (1) (2)
3.



注意:(3)
4.


注意:(3)(4)
5.



注意(3)(4)
指令系统——指令的寻址方式
1.


注意:(3)
2.




注意:(1)的范围,(2),(4)的部件
3.


注意:(2)中已有一个op被占用 (3)
指令系统——程序的机器级代码表示
1.



注意:(2)(3)
2.



注意:(2)的指令内容,(3)偏移量=目标指令地址-下一指令地址,(5)溢出自陷指令
3.


4.




注意:(3),(4)为取指令过程
5.


注意:(2)(3)(4)(5)其中,被截断的数字计算时高位补零
6.



注意:(2)
中央处理器——数据通路
1.



2.


注意:(1)对程序员可见有通用寄存器也有PC,(3)三态门,(4),(6)
3.



注意:(1)7 = 16 -( 2 + 1 )* 2 , (2),(3),(4)时钟周期
4.




注意:(1);(2);(3)寄存器连地址译码器 ;(4)read要计算时钟周期与3.(4)不同;(5)指令寄存器和标志寄存器会连到控制部件的输入端
中央处理器——指令流水线
1.



注意:(3)中$I_4$的IF阻塞的解释;(4)
2.



注意:(3)(4)important
3.



注意:(3)
输入输出系统——I/O方式
1.


2.


注意:(2)(4)
3.




注意:(1)需要起始位(2)第一小问只是近似值,精确值应该为25070020(最后一个中断服务程序应该为20条指令应该多20个时钟周期),记住中断响应的操作
4.


5.


注意:(1)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 tripodxu的博客!