如何快速取指令?

为了能够以更快的速度从存储器中取出指令,首先要保证存储器的读延时足够小。不同存储器类型有不同的延迟,片外的DDR存储器或闪存可能需要几十个时钟周期的延迟,片上SRAM也可能需要几个时钟周期的延迟

为了能够使处理器核以最快的速度取值,通常使用指令紧耦合存储器(Instruction Tightly Coupled Memory,ITCM)指令缓存(Instruction Cache)

指令紧耦合存储器是指配置一段较小容量(一般几兆字节)的存储器(通常使用SRAM),用于存储指令,且在物理上离处理器核很近而专属于处理器核,因此能够实现很小的访问延迟(通常一个时钟周期)。

ITCM优点:实现非常简单,容易理解,且能保证实时性。

ITCM缺点:由于使用地址区间寻址,因此无法像缓存(cache)那样映射无限大的存储器空间。同时,为了保证足够小的访问延迟,无法将容量做到很大(否则无法在一个时钟周期访问SRAM或芯片无法容纳过大SRAM),因此ITCM只能用于存放容量大小有限的关键指令。

指令缓存是指利用软件程序的时间局部性和空间局部性,将容量巨大的外部指令存储器空间动态映射到容量有限的指令缓存中,将访问缓存存在着相当大的不确定性。一旦缓存不命中(cache miss),就需要从外部的存储器中存取数据,这会造成较长的延迟。在实时性要求高的场景中,处理器必须能够实时响应。如果使用了缓存,则无法保证这一点。 

大多数极低功耗处理器应用于实时性较高的场景,因此通常使用延迟确定的ITCM。

此外,缓存几乎是处理器微架构中最复杂的部分之一。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狮子座硅农(Leo ICer)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值