一种低成本高带宽的微处理器取指方法及其取指结构的制作方法

文档序号:6633531阅读:256来源:国知局
一种低成本高带宽的微处理器取指方法及其取指结构的制作方法
【专利摘要】一种低成本高带宽的微处理器取指方法及其取指结构,取指方法包括首先将cache存储器划分成多个子存储体并行的存储结构;然后将连续取指的指令分布在不同的子存储体中;若取指包的起始地址不对应cache行中首个子存储体,则采取跨越子存储体的存储行方式进行取指;针对除末尾子存储体外的其它子存储体,设置地址自增逻辑,根据当前取指包的地址自动决定访问该子存储体的当前行还是下一行;最后设置指令序列调整逻辑,对除末尾子存储体外的子存储体,将跨行访问造成顺序与原始指令序列颠倒的指令依次调整,并按序将最终指令序列发送给处理器。本发明还公开了应用该取指方法的取指结构,通过较少的存储体满足了单周期读取多条指令的需求。
【专利说明】一种低成本高带宽的微处理器取指方法及其取指结构

【技术领域】
[0001] 本发明涉及微处理器的取指方法及其取指结构,具体涉及一种低成本高带宽的微 处理器取指方法及其取指结构。

【背景技术】
[0002] 现代微处理器通过在一个时钟周期里同时发射和执行多条指令,从而可以获得更 高的性能,但其基本前提是需要有较高的取指带宽作为支持,即单周期内能从指令cache 中读取多条指令并送回流水线执行。基于这样的带宽需求,指令cache存储器理论上就应 该提供多个访问端口。在具体的处理器设计中,已有四种多端口 cache的实现技术:(1)多 端口 SRAM的全定制设计。由于SRAM存储器每增加一个端口都必须相应增加每个存储单 元的字线和位线数量,从而使得该方法的设计复杂度高、周期长、成本大,尤其是它在功耗 和面积上的开销会以端口数的平方趋势显著增长,因此这种方法对于商业应用有点不切实 际。(2)时分复用技术。这是一种虚拟的多端口设计方法,已经应用于IBM Power2和DEC Alpha 21264处理器中,它们通过使cache SRAM运行在两倍处理器时钟频率之上,从而获 得双端口功能。但是,该方法需要维持两个时钟,这就为后端时钟树的分布、时钟歪斜的控 制增加了复杂度;更重要的一点是,在cache存储器时钟频率一定时,处理器的最大时钟频 率与它的取指带宽成反比关系,这严格限制了处理器整体性能的提升。(3)cache复制技术。 DEC Alpha 21164就是通过复制多个完全相同的cache副本来实现多端口访问的一个例 子。为了保证多个副本内容的一致性,每次cache更新操作都必须被同时送到每个cache副 本的端口上,于是增加了对副本数据进行维护的控制复杂度;而且当cache容量较大、所需 副本数较多时,该方法同样会带来功耗和面积的巨大开销。(4)独立寻址的多体并行cache 结构。例如,在MIPS R10000中就采用了这种技术。它将原来统一的cache结构平分到多 个存储体中,每个存储体只具有较少的容量和访问端口数,因此它相比于传统的多端口结 构而言更加经济实用。但是在访问cache期间,需要通过译码逻辑选择相应的存储体,这会 带来额外的访问延迟;并且存储体数目越多译码选择逻辑就越复杂,使得访问延迟更大从 而影响处理器的时钟频率。
[0003] 如何有效的提高取指带宽是现代高性能微处理器开发指令级并行的关键所在,然 而,以上几种实现多端口功能的取指技术在不同层面上都反映出相应的弊端,经检索相关 文献,目前也没有能很好解决该问题的方法。


【发明内容】

[0004] 针对现有技术中存在的问题,本发明提供一种通过较少的cache存储体并配合相 应的存储体地址自增逻辑来实现并行化,控制简单并且成本低廉,能够有效解决现有技术 设计复杂度高,功耗和面积开销大以及时钟频率受限等诸多方面问题,满足高性能处理器 中单周期读取多条指令需求的低成本高带宽的微处理器取指方法及其取指结构。
[0005] 本发明取指方法通过以下技术方案来实现:
[0006] 首先,将统一的cache存储器划分成多个子存储体并行的存储结构;
[0007] 然后,将位于相同cache行中的所有指令分别依次缓存在子存储体中,相邻上下 两行首尾相接,使得连续取指的指令分布在不同的子存储体中;
[0008] 其次,若取指包的起始地址不对应cache行中首个子存储体时,则采取跨越子存 储体的存储行方式进行取指,使有限的子存储体在可变的取指地址条件下能够获得所需的 访问带宽;
[0009] 再次,针对除末尾子存储体外的其它子存储体,设置专门的地址自增逻辑,根据当 前取指包的地址自动加〇或者加1来决定是访问该子存储体的当前行还是下一行;
[0010] 最后,设置指令序列调整逻辑,对于除末尾子存储体外的子存储体,将跨行访问造 成顺序与原始指令序列颠倒的指令依次向后调整,并按序将最终的指令序列发送给处理 器。
[0011] 若微处理器的取指和执行宽度均为M,则将cache存储器划分成M个子存储体,每 个子存储体具有一个读端口并且能独立的进行取指访问。
[0012] 若一个cache行中包含N个指令字,且N彡M,假设每次取指包的起始 地址对应于cache行中任意一个指令字的概率是完全相等的,则平均取指带宽为

【权利要求】
1. 一种低成本高带宽的微处理器取指方法,其特征在于: 首先,将统一的cache存储器划分成多个子存储体并行的存储结构; 然后,将位于相同cache行中的所有指令分别依次缓存在子存储体中,相邻上下两行 首尾相接,使得连续取指的指令分布在不同的子存储体中; 其次,若取指包的起始地址不对应cache行中首个子存储体时,则采取跨越子存储体 的存储行方式进行取指,使有限的子存储体在可变的取指地址条件下能够获得所需的访问 带宽; 再次,针对除末尾子存储体外的其它子存储体,设置专门的地址自增逻辑,根据当前取 指包的地址自动加〇或者加1来决定是访问该子存储体的当前行还是下一行; 最后,设置指令序列调整逻辑,对于除末尾子存储体外的子存储体,将跨行访问造成顺 序与原始指令序列颠倒的指令依次向后调整,并按序将最终的指令序列发送给处理器。
2. 根据权利要求1所述的低成本高带宽的微处理器取指方法,其特征在于:若微处理 器的取指和执行宽度均为M,则将cache存储器划分成M个子存储体,每个子存储体具有一 个读端口并且能独立的进行取指访问。
3. 根据权利要求2所述的低成本高带宽的微处理器取指方法,其特征在 于:若一个cache行中包含N个指令字,且N3M,假设每次取指包的起始地址 对应于cache行中任意一个指令字的概率是完全相等的,则平均取指带宽为
4. 一种低成本高带宽的微处理器取指结构,其特征在于:包括由统一的cache存储器 划分成多个并行存储结构的子存储体,相同cache行的子存储体中分别依次缓存有指令, 且相邻上下两行首尾相接,对于起始地址不对应cache行中首个子存储体的取指包跨越存 储行进行取指;所述的取指包起始地址通过地址自增逻辑连接除末尾子存储体外的其它子 存储体,子存储体经过指令序列调整逻辑将指令顺序调整之后发送给处理器。
5. 根据权利要求4所述的低成本高带宽的微处理器取指结构,其特征在于:所述的子 存储体个数等于最大取指带宽。
6. 根据权利要求4所述的低成本高带宽的微处理器取指结构,其特征在于:所述的子 存储体仅有一个读端口并且能独立的进行取指访问。
【文档编号】G06F9/30GK104391676SQ201410627660
【公开日】2015年3月4日 申请日期:2014年11月10日 优先权日:2014年11月10日
【发明者】肖建青, 李红桥, 张洵颖, 裴茹霞, 娄冕 申请人:中国航天科技集团公司第九研究院第七七一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1