取指需求
基本方法
4-way超标量处理器 -- 每周期可以同时解码4条指令,要求处理器至少每周期可以从I-Cache中取出4条指令。
对于n-way处理器,给出地址之后,I-Cache应该能够至少送出n条指令(一组,fetch group)
data block最简单的实现方式:
使用这种方法,如果取指地址没有对齐会造成资源空置,因为一次只能取到一个Cacheline
平均每周期取到2.5条指令(1/4*(4+3+2+1) = 2.5)
对于2-way处理器来说足够了
尝试的改进1(无效)
增加Cachline的word数目
这种方法增加了数据块的容量,如果总量一定,会减少Cache Set的个数,增加Cache缺失的概率。即增加了每个周期可以取出的指令个数,但是可能引起更高的缺失率,最后对于处理器性能无提升。
取指阶段:在实现虚拟存储器(Virtual Memory)的处理器中,处理器送出的取指地址是Virtual address,需要使用一定的方法将其转化为Physical address才能够从存储器中取指,在转换过程中可能发生其他的事情,打断流水线的正常执行。