以32位为传输单位,说明IO缓冲区大小为32位(4B)大小,每4B大小的数据就会执行一次中断 CPU主频反应了1秒内有多少个时钟周期
解析
总结
Cache命中的时候,不需要访存 所以说每秒钟调入的字节数是:不命中的次数*块的大小。也就是说,每秒要支持把4800KB的数据调入主存
这里要求最大值,所以忽略了前面的一段开始时间,每隔四分之一个周期存取一次,一次传入32bit数据,
单个存储体的带宽,一般来说就是存储器的数据线的根数,代表的是一次能够并行传输的数据的位数
指令题目
I 3在IF段被阻塞,所以I 3还在占用这IF段,所以I4就不能占用这个资源。 I4的IF必须要在I3的IF流入下一个阶段后才能进行
这道题认真看,强化4详细讲了
备注:在条件转移指令运行之前,一定先要比较两个数。比如说吧 if(i页内偏移量==>虚拟地址的页内偏移量主存块的大小==>物理地址的块内地址
Cache缺失是把主存里面的一个块调入到Cache中 而主存的缺页是要从磁盘当中调一个页进入主存 磁盘IO的速度肯定是比主存读写的速度慢
直写:当我修改了Cache中的数据之后,同时也把修改后的内容写回主存 回写:只有在这个Cache块要被调出时,我才把修改后的内容同步回主存
第一问 第2问 C语言中,数字用补码表示
阶码的二进制表示:真值+偏置值
第三问
f(24)用二进制表示是:25个1 int类型可以表示31位,所以够用了,表示为01FF FFFFH float类型可以表示24位,需要进行舍入,对于754标准,使用的是0舍1入,那么末尾是1,所以入,这样所有位都产生进位最后就变成10.后面23个0,左移一位,就变成了2的25次方,阶码为25,尾数为全1
问题4
问题5
E:表示阶码
2018 年真题 题目1:IO方式
第一问:橙色 第二问:绿色 第三问:红色
对于第二问,采用中断IO方式,每次处理中断的时间为400个时钟周期,设备B的传输速率是40MB/s,数据缓冲区为32位,也就是4B,所以说每传输4B就需要一次中断, 一秒内共产生10M次中断, 每次中断需要400个周期, 一秒内需要4000M个始终周期 每0.1微秒设备B给缓冲区写入数据,但是每隔0.8微秒,CPU才处理缓冲区的数据
答案是32位!! 对于第五问,发出溢出的时候,可以忽略不计,如果有必要的话,也可以用硬件来捕捉这种异常,然后直接由硬件强行跳转去处理这种异常。当然,如果硬件不支持这种硬件的捕捉,那么我可以在软件的层面,在可能发生异常的这条指令的后面安排一条陷入指令,由这条陷入指令去检查异常是否发生
题目二: cache![在这里插入图片描述](https://img-blog.csdnimg.cn/fc29750d6752437cbad485ba6a6ae5f4.png)