28、超标量机器原理:缓存与奔腾处理器架构解析

超标量机器原理:缓存与奔腾处理器架构解析

1. 指令缓存

指令缓存对于CPU高效获取指令至关重要。L1指令缓存的访问时间可能为两个时钟周期,缓存行大小为8字节。CPU会从指令缓存中获取指令来填充指令队列。当出现缓存未命中时,指令缓存会提前预取一个16字节的内存块。如果向后循环分支的目标指令位于指令缓存中,那么可以在两个时钟周期内获取该目标指令。

设计指令缓存时,首先要确定缓存中的条目数量,并选择合适的搜索技术。若每个缓存条目包含一个8字节的数据字段,64个条目就能提供一个512字节的指令块,这对于大多数应用来说已经足够。由于指令流是一次从一个段中获取的,直接映射搜索方法更为合适。

1.1 直接映射

当物理块地址为33位时,将其高27位作为键存储,低6位用于直接选择一个缓存条目。这个条目只包含部分地址,因为其低6位用于获取块,这6位构成了指令缓存的索引。由于低6位用于选择条目,所以缓存只需要一个比较器。比较后,如果匹配则为命中,否则为未命中。

直接映射条目的格式包含一个27位的键和一个64位的数据,共91位。缓存有64个条目(E0 - E63),搜索操作分两步进行:
1. 对给定块地址的低6位进行解码,选择条目进入MOR。
2. 将MOR中的高27位与MAR中的键字段进行比较。若命中,64位数据字段作为输出被启用并时钟输入到指令队列;若未命中,缓存从中央内存的给定地址检索两个64位的指令块,并将它们存储到缓存中两个连续的条目中,第一个条目的索引由块地址的低6位确定,加1后得到第二个条目的索引。

虽然指令缓存只支持读操作,但这并不意味着程序中的指令不能被修改。实际上,任何指令只要先加载到数据寄存器中,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值