指令周期与存储器层次,系统加速三大方式

指令的执行步骤(又称指令周期),是在控制单元的控制下,精确地,一步一步地完成。
哈工大的课是分成了3个步骤,不同的教材细节划分不一样。
①取指令                    PC寄存器或称IP指向要取的指令,并保存在IR寄存器中
② 分析指令
③ 执行指令
而系统概论这本书分成了6个节拍:
① 取指令                   PC寄存器或称IP指向要取的指令,并保存在IR寄存器中
② 译码                       译码器译码   
③ 地址计算               
④ 取操作数                 
⑤ 执行
⑥ 存放结果

PC指向的是下一条指令,不要机械的认为它就是PC+1,如果指令本身只占一个字节,当然是PC+1,
可是如果一条指令占用32个字节,那每次就是PC+4。
另外在什么时候进行pc+1的工作呢?
似乎任意一个步骤的间歇都可以,不过现代的流水线型处理器要求尽可能早更新PC,所以一般在取指令完成后,就对PC进行更新。

从内存中取出指令后,在分析指令之前,需要把该指令先保存到IR寄存器。


存储器分成两个大的层次,即缓存---主存层次和主存---辅存层次。
前一种层次是依靠硬件完成,后一种层次是软硬件相结合的方式完成。

存储层次速度差异
普通程序员不用考虑数据在不同层次间的转移调度。
为什么会出现这样的情况呢?
人们希望存储器速度足够快,容量足够大,价格又要足够低。
想象很美好,实际上做不到,只能依靠设计的权衡取舍。
为了解决cpu与内存之间的速度差异,人们想出了cache,造就了缓存---主存层次。
为了解决主存的容量不足,人们想出了辅存,造就了主存---辅存层次。
都是对经典冯诺依曼结构的改进。
主存---辅存层次引出了虚拟存储器的概念,虚地址,逻辑地址。
缓存---主存层次引出了主存储器的实地址,物理地址。
——————————————————————
现代计算机把存储器层次结构进一步扩展,更精确的说是缓存概念扩展,在主存储器,缓存,辅助存储器之间又添加更多缓存。



这样改进的优点在于:

如果cpu要和主存进行数据交换,那么实际上它主要和寄存器,高速缓存之间进行数据交换,只有当cache中没有需要的数据时,才会去访问主存。

同理,如果主存要和辅助存储器进行数据交换,那么实际上主存主要是与辅存的缓存进行交换,只有当cache中没有需要的数据时,才会去访问辅助存储器。

每一层速度更慢的存储器,在某一段时刻,都被速度更快的缓存所“替代”,所以整体加速了计算机系统。

另外一种改进在于数据交换本身,在早期的时候,数据的交换搬运是由cpu来完成的,现代通过引入dma技术,数据搬运由dma微处理器完成,减轻了cpu的工作量。

加速

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值