基于解码缓冲器的循环指令处理装置的制作方法

文档序号:6603162阅读:149来源:国知局
专利名称:基于解码缓冲器的循环指令处理装置的制作方法
技术领域
本发明涉及嵌入式处理器领域,尤其是一种在程序循环过程中提高处理器运行速度并降低功耗的指令处理装置。
背景技术
嵌入式处理器的设计中,速度和功耗一直是关键的设计指标。随着移动互联网时 代的到来,对嵌入式处理器的运算速度和运行功耗的要求越来越苛刻。为了提高处理器的指令吞吐量,进而提高性能,流水线技术早已被广泛应用。但是 各流水线之间的处理速度不同,会产生后级流水堵塞前级流水的情况,降低了流水线的处 理效率。流水线缓冲器的出现缓解了这个问题,当后级流水线发生堵塞,前级流水可以把信 息暂存入缓冲器后继续工作,降低了流水线停滞的概率。其中一种流水线缓冲器便是解码 缓冲器,位于指令解码单元和指令执行单元之间。但是现有流水线缓冲器的大小固定的,而 且只实现缓冲的单一功能,容量设计过大会造成资源浪费,过小又会产生缓冲效果不明显, 流水线频繁堵塞的情况。对循环指令的处理也是限制处理器性能的重要因素之一,因为循环指令的执行过 程中循环体指令每执行完一次就会发生跳转,降低了指令的顺序性;另外对同一片区域反 复取指,会浪费不必要的功耗。现有的处理循环指令的方案是在指令高速缓存周围设置一 个专门的循环指令缓冲器,当执行到循环指令时,把循环体指令搬运到循环缓冲器中,之后 从循环指令缓冲器中获取循环体指令。这种方案需要增加硬件资源开销;循环缓冲器的大 小是固定的,存在不灵活和利用率低的问题;需要预先把循环体指令装载到循环缓冲器中, 不仅损失了速度,也浪费了功耗。

发明内容
为了克服已有的嵌入式处理器的循环指令处理装置的灵活性差、利用率低、速度 较慢和功耗高的不足,本发明提供一种提高灵活性和利用率、提升运行速度并降低功耗的 基于解码缓冲器的循环指令处理装置。本发明解决其技术问题所采用的技术方案是—种基于解码缓冲器的循环指令处理装置,包括自循环缓冲器,用以连接于流水线指令解码单元的输出端,缓存指令经过解码之 后产生的指令解码信息;所述自循环缓冲器逻辑上分为顺序指令解码信息分区和循环指令 解码信息分区,缓存过程中,新指令解码后的信息以自循环的方式覆盖缓冲器内最旧指令 解码信息;数据选择器,用以连接于自循环缓冲器输出端,从自循环缓冲器中的顺序指令解 码信息分区和循环指令解码信息分区选通一路获得指令解码信息并发送到指令执行单元, 当处理器在顺序运行状态下选择顺序指令解码信息分区,当处理器在循环运行状态下选择 循环指令解码信息分区;
控制电路,用以监测处理器运行状态,调度解码后的指令在自循环缓冲器中创建 信息,建立大小可变的顺序指令解码信息分区和循环指令解码信息分区;并为数据选择器 提供选通控制信号,控制指令解码信息发送到指令执行单元开始执行。
作为优选的一种方案在所述自循环缓冲器中,当控制电路未创建循环指令解码 信息分区时,顺序指令解码信息分区可容纳的指令数为该自循环缓冲器可容纳的指令数, 当控制电路监测到后向跳转指令后,控制电路在自循环缓冲器中实时创建循环指令解码信 息分区,其大小受循环体指令的数量决定,此时顺序指令解码信息分区可容纳的指令数相 应减少,两个分区可容纳的指令数之和为自循环缓冲器可容纳的指令数。作为优选的另一种方案所述控制电路包括核心控制逻辑单元,用以通过创建指 针在自循环缓冲器中新建顺序指令解码信息分区,在顺序运行状态下核心控制逻辑单元控 制数据选择器选通顺序发射指针指向的指令解码信息,从顺序指令解码信息分区中按序选 取指令解码信息发送到执行单元;并对每一条创建指针新建的指令解码信息进行监测,若 监测到后向跳转指令,则通过循环区顶指针和循环区底指针在自循环缓冲器中划分出循环 指令解码信息分区;在循环运行状态下核心控制逻辑单元控制数据选择器选通循环发射指 针指向的指令解码信息,从循环指令解码信息分区中按序选取指令解码信息发送到执行单元。进一步,在所述核心控制逻辑单元中,监测处理器运行状态,当顺序发射指针指向 后向跳转指令,处理器进入循环运行状态,在监测到循环结束后处理器退出循环运行状态, 除此之外处理器均运行在顺序运行状态。更进一步,当循环体指令的数量大于或等于自循环缓冲器可容纳的指令数时,核 心控制逻辑单元通过操作循环区顶指针和循环区底指针将整个自循环缓冲器中除去存放 后向跳转指令解码信息之外的所有区域设置为循环指令解码信息分区,同时关闭数据选择 器,超出部分的循环体指令通过指令高速缓存获取,并在解码后发送至执行单元;当超出部 分指令发送完毕,核心控制逻辑单元控制数据选择器从自循环缓冲器的循环指令解码信息 分区中按序选取循环体指令解码信息,直接发送至执行单元,直到循环指令解码信息分区 中的循环体指令解码信息按序发送完一遍之后,若要继续下次循环运行,则取指方式重复 上述操作。再进一步,当循环运行状态退出时,核心控制逻辑单元设置循环发射指针、循环区 顶指针和循环区底指针,使其和创建指针重合,回收自循环缓冲器中的循环指令解码信息 分区。本发明的有益效果主要表现在1)复用硬件,通过在单个自循环缓冲器中实时建 立顺序指令解码信息分区和循环指令解码信息分区,实现了流水线间指令信息缓冲以及循 环指令处理两大功能,高效利用了有限的资源;2)提高指令处理速度,在处理循环指令时, 直接把指令经过解码之后产生的指令解码信息发送到指令执行单元,省去了流水线中取值 和译码的时间以及把指令从高速缓存搬运到专门的缓冲器之中的时间;3)降低指令处理 功耗,在处理循环指令时,直接把指令经过解码之后产生的指令解码信息发送到指令执行 单元,省去了指令经过解码单元译码的功耗以及把指令从高速缓存搬运到专门的缓冲器之 中的功耗。


图1为本发明具体实施方案的总体架构图。图2为本发 明具体实施方案中核心控制逻辑单元的状态转换图。图3为本发明具体实施方案中自循环缓冲器实现流水线指令缓冲功能的示图。图4为本发明具体实施方案处理普通循环指令的示图。图5为本发明具体实施方案处理循环体长度超出自循环缓冲器长度的循环指令 的示图。
具体实施例方式下面结合附图对本发明作进一步描述。参照图1 图5,一种基于解码缓冲器的循环指令处理装置,包括自循环缓冲器 10,用以连接于流水线指令解码单元的输出端,缓存指令经过解码之后产生的指令解码信 息;所述自循环缓冲器逻辑上分为顺序指令解码信息分区和循环指令解码信息分区,缓存 过程中,新指令解码后的信息以自循环的方式覆盖缓冲器内最旧指令解码信息;数据选择 器12,用以连接于自循环缓冲器输出端,从自循环缓冲器中的顺序指令解码信息分区和循 环指令解码信息分区选通一路获得指令解码信息并发送到指令执行单元,当处理器在顺序 运行状态下选择顺序指令解码信息分区,当处理器在循环运行状态下选择循环指令解码信 息分区;控制电路14,用以监测处理器运行状态,调度解码后的指令在自循环缓冲器中创 建信息,建立大小可变的顺序指令解码信息分区和循环指令解码信息分区;并为数据选择 器提供选通控制信号,控制指令解码信息发送到指令执行单元开始执行。请参照图1所示,为本发明具体实施方案的结构示图。本装置在流水线中位于指 令解码阶段和指令执行阶段之间。如图中所示,本装置包括一自循环缓冲器10、一数据选择 器12、一控制电路14。指令经过解码之后产生的指令解码信息由指令解码单元输出,暂存 在自循环缓冲器10中,指令解码信息从自循环缓冲器10的底部开始向上存储,采取自循环 的存储方式,当存储到顶部时,指令解码信息将再次从缓冲器10的底部开始向上存储,依 次覆盖之前的旧信息。控制电路14中的核心控制逻辑单元16通过一组指针来操作自循环 缓冲器10,具体分别为创建指针18、顺序发射指针20、循环发射指针22、循环区顶指针24、 循环区底指针26。所有经过指令解码单元译码之后的指令解码信息都由核心控制逻辑单元 16通过创建指针18存储到自循环缓冲器10中,以表项为存储单位,一个表项存储一条指令 的解码信息,同时核心控制逻辑单元16对每条新创建的指令进行监测。创建指针18随着 指令解码信息的创建从自循环缓冲器10底部往上递增,到自循环缓冲器10顶部后返回自 循环缓冲器10底部再次往上递增,创建指针18指向的位置为当前指令解码信息创建的位 置。创建指针18新建的区域为顺序指令解码信息分区28,用以存储顺序运行状态下的指令 解码信息。核心控制逻辑单元16通过顺序发射指针20从顺序指令解码信息分区28中按 序发送指令解码信息至数据选择器12的输入端。顺序发射指针20随着顺序指令的发送从 自循环缓冲器10底部往上递增,到自循环缓冲器10顶部后返回自循环缓冲器10底部再次 往上递增,顺序发射指针20指向的位置为当前发送的顺序指令解码信息的位置。顺序发射 指针20跟在创建指针18之后,最极端的情况是和创建指针18重合,不能超过创建指针18, 因为指令解码信息必须首先经由创建指针18存入自循环缓冲器10后才能被顺序发射指针20提取发送。当核心控制逻辑单元16监测到创建指针18新建的指令为后向跳转指令时, 核心控制逻辑单元16通过循环区顶指针24和循环区底指针26划分出循环指令解码信息 分区30,用以存储循环运行状态下的指令解码信息。当顺序发射指针20指向该后向跳转指 令时,处理器进入循环运行状态,核心控制逻辑单元16通过循环发射指针22从循环指令解 码信息分区30中按序发送指令解码信息至数据选择器12的输入端,图1中所示的就是进 入循环运行状态之后的情况。数据选择器12位于自循环缓冲器10的输出端,选通指令解 码信息发送至指令执行单元,在顺序运行状态下选通顺序发射指针20指向的指令解码信 息,即选通自循环缓冲器10中的顺序解码信息分区28 ;在循环运行状态下选通循环发射指 针22指向的指令解码信息时,即选通自循环缓冲器10中的循环指令解码信息分区30。数 据选择器12的选通信号和使能信号由核心控制逻辑单元16管理,核心控制逻辑单元16通 过选通信号决定具体选通哪一路指令解码信息,通过使能信号在不需要从自循环缓冲器10 中提取指令解码信息时关闭数据选择器12。当创建指针18指向的位置比顺序发射指针20 指向的位置低一个表项,或者当创建指针18指向自循环缓冲器10顶部的同时顺序发射指 针20指向自循环缓冲器10底部,则表示自循环缓冲器10被填满,此时创建指针18不能继 续创建新指令解码信息;当创建指针18指向的位置比循环区底指针26指向的位置低一个 表项,或者当创建指针18指向自循环缓冲器10顶部的同时循环区底指针26指向自循环缓 冲器10底部,则表示创建指针18处于顺序指令解码信息分区28和循环指令解码信息分区 30的交界处,此时创建指针18不能继续创建新指令解码信息。当不满足上述条件的任何一 种时,创建指针18可以接收流水线指令解码单元的输出信息并将其创建到自循环缓冲器 10中。
请参照图2所示,为本发明具体实施方案中控制电路14中的核心控制逻辑单元16 的状态转换图。如图中所示,核心控制逻辑单元16共有5个状态,分别为顺序发射状态32、 循环区开辟状态34、循环发射状态36、指令高缓取指状态38、循环区关闭状态40。核心控 制逻辑单元16的初始状态为顺序发射状态32,该状态下核心控制逻辑单元16通过创建指 针18在自循环缓冲器10中新建指令解码信息,控制数据选择器12选通顺序发射指针20指 向的指令,从顺序解码信息分区28中按序发送指令解码信息,若核心控制逻辑单元16未监 测到启动循环的后向跳转指令,则核心控制逻辑单元16 —直处于顺序发射状态32,此状态 下,顺序指令解码信息分区28占据整个自循环缓冲器10,同时循环发射指针22、循环区顶 指针24和循环区底指针26与创建指针18重合并且一起移动。当监测到创建指针18新建 的指令解码信息为后向跳转指令时,核心控制逻辑单元16进入循环区开辟状态34,该状态 下核心控制逻辑单元16锁定创建指针18,并通过循环区顶指针24和循环区底指针26开辟 出循环指令解码信息分区30,然后解锁创建指针18,使其继续在自循环缓冲器10中新建指 令解码信息,此时顺序解码信息分区28可容纳的指令数相应减小,若顺序发射指针20未指 向后向跳转指令,则核心控制逻辑单元16 —直处于循环区开辟状态34,此状态下数据选择 器12继续选通顺序发射指针20指向的指令,从顺序解码信息分区28中按序发送指令解码 信息。当顺序发射指针20指向后向跳转指令时,若循环体的指令数量小于自循环缓冲器10 可容纳的指令数,则核心控制逻辑单元16由循环区开辟状态34直接进入循环发射状态36, 控制数据选择器12选通循环发射指针22指向的指令,从循环指令解码信息分区30中发送 指令解码信息,核心控制逻辑单元16 —直持续在循环发射状态36,直到循环结束后进入循环区关闭状态40 ;当顺序发射指针20指向后向跳转指令时,若循环体指令的数量大于或者 等于自循环缓冲器10可容纳的指令数,则核心控制逻辑单元16由循环区开辟状态34进入 指令高缓取指状态38,该状态下核心控制逻辑单元16关闭数据选择器12,直接从指令高速 缓存中取得超出自循环缓冲器10范围的循环体指令,经过译码之后直接发往指令执行单 元,超出范围的指令发送完毕之后,核心控制逻辑单元16由指令高缓取指状态38进入循环 发射状态36,当自循环缓冲器10中的循环体指令解码信息发送完一遍之后,若循环还未结 束,则核心控制逻辑单元16再次进入指令高缓取值状态38,开始下一次循环,若循环结束, 则进入循环区关闭状态40。在循环区关闭状态40下,核心控制逻辑单元16操作循环发射 指针22、循环区顶指针24和循环区底指针26,使其重合并且指向创建指针18所在的位置, 收回循环指令解码信息分区30。在循环区关闭状态40之后,核心控制逻辑单元16自动进 入顺序发射状态32。其中,当顺序发射指针20指向后向跳转指令后,核心控制逻辑单元16 通过比较循环体的指令数量与自循环缓冲器10可容纳的指令数来决定进入指令高缓取指 状态38或循环发射状态36 ;在循环结束时核心控制逻辑单元16进入循环区关闭状态40 ; 当核心控制逻辑单元16工作在上述三个状态时,处理器处于循环运行状态,此外处理器均 处于顺序运行状态。
请参照图3所示,为本发明具体实施方案在处理器顺序运行状态下,作为解码缓 冲器实现流水线间指令解码信息缓存功能的示图。图3A为处理器执行程序中一段顺序执 行的代码,其中指令(17)、指令(18)、指令(19)均为需要多个周期才能执行完毕的多周期 指令,如除法指令。指令顺序执行时,数据选择器12始终选通顺序发射指针20指向的指令 解码信息。在初始状态下,各指针都指向自循环缓冲器10底部。程序执行过程中,随着指 令解码信息在缓冲器10中的存储和发送,各指针会从缓冲器10底部开始上升。指针组上 升到缓冲器10顶部之后回到底部重新开始上升,即执行自循环的指令解码信息存储操作。 若所有指令都在一个周期内执行完成,指针组同步运作,如图3B中所示。但当执行到需要 多个周期才能完成的指令,如图3A中的除法指令时,指令执行单元会因为运算未完成而无 法及时接收多周期指令之后的指令解码信息。此时,顺序发射指针20因无法向指令执行 单元继续发送指令解码信息而停滞。为了保持流水线的畅通,使取指单元和指令译码单元 不受执行单元影响继续工作,后续的指令可以缓存在自循环缓冲器10中,因此创建指针18 继续存储指令解码信息。因为没有检测到后向跳转指令,循环发射指针22、循环区顶指针 24和循环区底指针26随着创建指针18 —起移动,这样本装置就起到了缓存指令解码信息 的作用,如图3C所示,指令(18)到指令(21)这组指令解码信息就被缓存到了自循环缓冲 器10中。在之后的程序执行过程中,如果发生指令高速缓存失配等造成取值单元堵塞的情 况,缓存在自循环缓冲器10中的指令解码信息就可以连续发往指令执行单元,从而消除因 为取值单元堵塞造成的流水线气泡。本装置可缓存的指令数上限由顺序指令解码信息分区 28的大小决定,在核心控制逻辑单元16没有创建循环指令解码信息分区30的情况下,因为 顺序指令解码信息分区28占据整个自循环缓冲器10,此上限即为自循环缓冲器10可容纳 的指令总数,即如图3C中所述。本发明具体实施方案中自循环缓冲器10的长度为十六个 表项,即可容纳的指令总数为十六,每个表项存储一条指令的解码信息,具体包括指令操作 属性,指令操作寄存器号,指令操作立即数等等。请参照图4所示,为本发明具体实施方案在处理器循环运行状态下,实现循环指令处理功能的示图。图4A为处理器执行程序中一段包含有循环指令的代码,其中指令(38) 为启动循环的后向跳转指令,后向跳转的目标地址是指令(31)所在的位置,所以指令(31) 到指令(37)这七条指令是需要被反复执行的循环体指令。所有指令首先均由创建指针18 存储到自循环缓冲器10中,包括循环体指令和后向跳转指令。当核心控制逻辑单元16监 测到创建指针18新建的指令解码信息为后向跳转指令时,创建指针18被锁定,暂时不再存 储新信息,核心控制逻辑单元16从后向跳转指令的解码信息中获取后向跳转的长度,即循 环体的长度,然后操作循环区顶指针24向下移动一个表项,循环发射指针22和循环区底指 针26向下移动的表项长度为循环体的长度,如图4B所示,这样就在自循环缓冲器10中开 辟出了循环指令解码信息分区30。完成循环指令解码信息分区30的创建之后,创建指针 1 8恢复移动,继续新建后向跳转指令之后的指令解码信息,即如图4C中的指令(39)、指令 (40)等等。此时顺序指令解码信息分区28可容纳的指令数已经缩小为自循环缓冲器10可 容纳的指令数减去循环指令解码信息分区30可容纳的指令数,具体在图4C中为九个表项, 因此可以缓存的指令解码信息上限比未进入循环状态时减小了。在循环指令解码信息分区 30创建完成之后,如果顺序发射指针20没有指向后向跳转指令,则循环发射指针22并不 立即发送循环体指令解码信息,数据选择器12仍然选通顺序发射指针20所指向的指令解 码信息。等到顺序发射指针20指向启动循环的后向跳转指令,即图4A中的指令(38),核 心控制逻辑单元16锁定顺序发射指针20,启动循环发射指针22,从循环指令解码信息分区 30的底部开始按顺序发送指令解码信息,此时数据选择器12选通循环发射指针22指向的 指令解码信息。当循环发射指针22移动到循环指令解码信息分区30顶部,即和循环区顶 指针24重合时,第一次循环执行完毕。数据选择器12选通顺序发射指针20指向的后向跳 转指令,接着循环发射指针22从循环区顶直接移动到循环区底部,即和循环区底指针26重 合,数据选择器12也再次转换为选通循环发射指针22指向的指令解码信息,开始第二次的 循环,如此反复,直到指令退出循环运行。 请参照图5所示,为本发明具体实施方案在处理器循环运行状态下,实现循环指 令处理功能时一种特殊情况的示图。当核心控制逻辑单元16监测到创建指针18新建的指 令解码信息为启动循环的后向跳转指令,进而由核心控制逻辑单元16开辟循环指令解码 信息分区30时,发现循环体的指令数大于或者等于自循环缓冲器10可容纳的指令总数。这 时,核心控制逻辑单元16操作循环发射指针22、循环区顶指针24和循环区底指针26,将整 个自循环缓冲器10中除去存放后向跳转指令解码信息之外的所有区域作为循环指令解码 信息分区30,锁定创建指针18,如图5B所示。因为此时顺序指令解码信息分区28的长度 已经缩小为一个表项,即该后向跳转指令所占的区域,无法创建新的指令解码信息。当顺序 发射指针20发送后向跳转指令之后,核心控制逻辑单元16关闭数据选择器12,使取指单元 直接从指令高速缓存中获取超出范围的循环体指令,在5C中即为指令(47)、指令(48)和指 令(49),这些指令经过译码逻辑之后的解码信息不经过自循环缓冲器10,直接发往指令执 行单元。当超出范围的指令发送完毕后,自循环缓冲器10中的循环体指令解码信息依次被 发送,核心控制逻辑单元16重新使能数据选择器12,选通循环发射指针22指向的循环体指 令解码信息。当循环发射指针22和循环区顶指针24重合时,第一次循环执行完毕。若循 环未结束,核心控制逻辑单元16启动第二次循环,数据选择器12选通顺序发射指针20指 向的后向跳转指令,同时循环发射指针22从循环区顶直接移动到循环区底部,即和循环区底指针26重合,接着重复第一次循环过程的操作,即先关闭数据选择器12,从指令高速缓 存直接获取超出范围的循环体指令,使其经过译码之后直接发往指令执行单元,再使能数 据选择器12,从自循环缓冲器10中获取其余的循环体指令解码信息。如此循环操作,直到 指令退出循环运行。
当循环结束,处理器退出循环运行状态之后,核心控制逻辑单元16操作循环发射 指针22、循环区顶指针24以及循环区底指针26,使其和创建指针18重合并且一起移动,收 回循环指令解码信息分区30,顺序指令解码信息分区28重新占据整个自循环缓冲器10。顺 序发射指针20恢复移动,发送后向跳转指令之后的指令解码信息。此时,循环指令处理功 能执行完毕,整个装置执行单一的流水线间指令缓冲功能,数据选择器12选通顺序发射指 针20指向的指令解码信息。
权利要求
一种基于解码缓冲器的循环指令处理装置,其特征在于所述循环指令处理装置包括自循环缓冲器,用以连接于流水线指令解码单元的输出端,缓存指令经过解码之后产生的指令解码信息;所述自循环缓冲器逻辑上分为顺序指令解码信息分区和循环指令解码信息分区,缓存过程中,新指令解码后的信息以自循环的方式覆盖缓冲器内最旧指令解码信息;数据选择器,用以连接于自循环缓冲器输出端,从自循环缓冲器中的顺序指令解码信息分区和循环指令解码信息分区选通一路获得指令解码信息并发送到指令执行单元,当处理器在顺序运行状态下选择顺序指令解码信息分区,当处理器在循环运行状态下选择循环指令解码信息分区;控制电路,用以监测处理器运行状态,调度解码后的指令在自循环缓冲器中创建信息,建立大小可变的顺序指令解码信息分区和循环指令解码信息分区;并为数据选择器提供选通控制信号,控制指令解码信息发送到指令执行单元开始执行。
2.如权利要求1所述的基于解码缓冲器的循环指令处理装置,其特征在于在所述自 循环缓冲器中,当控制电路未创建循环指令解码信息分区时,顺序指令解码信息分区可容 纳的指令数为该自循环缓冲器可容纳的指令数,当控制电路监测到后向跳转指令后,控制 电路在自循环缓冲器中实时创建循环指令解码信息分区,其大小受循环体指令的数量决 定,此时顺序指令解码信息分区可容纳的指令数相应减少,两个分区可容纳的指令数之和 为自循环缓冲器可容纳的指令数。
3.如权利要求1所述的基于解码缓冲器的循环指令处理装置,其特征在于所述控制 电路包括核心控制逻辑单元,用以通过创建指针在自循环缓冲器中新建顺序指令解码信息 分区,在顺序运行状态下核心控制逻辑单元控制数据选择器选通顺序发射指针指向的指令 解码信息,从顺序指令解码信息分区中按序选取指令解码信息发送到执行单元;并对每一 条创建指针新建的指令解码信息进行监测,若监测到后向跳转指令,则通过循环区顶指针 和循环区底指针在自循环缓冲器中划分出循环指令解码信息分区;在循环运行状态下核心 控制逻辑单元控制数据选择器选通循环发射指针指向的指令解码信息,从循环指令解码信 息分区中按序选取指令解码信息发送到执行单元。
4.如权利要求2所述的基于解码缓冲器的循环指令处理装置,其特征在于所述控制 电路包括核心控制逻辑单元,用以通过创建指针在自循环缓冲器中新建顺序指令解码信息 分区,在顺序运行状态下核心控制逻辑单元控制数据选择器选通顺序发射指针指向的指令 解码信息,从顺序指令解码信息分区中按序选取指令解码信息发送到执行单元;并对每一 条创建指针新建的指令解码信息进行监测,若监测到后向跳转指令,则通过循环区顶指针 和循环区底指针在自循环缓冲器中划分出循环指令解码信息分区;在循环运行状态下核心 控制逻辑单元控制数据选择器选通循环发射指针指向的指令解码信息,从循环指令解码信 息分区中按序选取指令解码信息发送到执行单元。
5.如权利要求3或4所述的基于解码缓冲器的循环指令处理装置,其特征在于在所 述核心控制逻辑单元中,监测处理器运行状态,当顺序发射指针指向后向跳转指令,处理器 进入循环运行状态,在监测到循环结束后处理器退出循环运行状态,除此之外处理器均运 行在顺序运行状态。
6.如权利要求4所述的基于解码缓冲器的循环指令处理装置,其特征在于当循环体 指令的数量大于或等于自循环缓冲器可容纳的指令数时,核心控制逻辑单元通过操作循环 区顶指针和循环区底指针将整个自循环缓冲器中除去存放后向跳转指令解码信息之外的 所有区域设置为循环指令解码信息分区,同时关闭数据选择器,超出部分的循环体指令通 过指令高速缓存获取,并在解码后发送至执行单元;当超出部分指令发送完毕,核心控制逻 辑单元控制数据选择器从自循环缓冲器的循环指令解码信息分区中按序选取循环体指令 解码信息,直接发送至执行单元,直到循环指令解码信息分区中的循环体指令解码信息按 序发送完一遍之后,若要继续下次循环运行,则取指方式重复上述操作。
7.如权利要求3或4所述的基于解码缓冲器的循环指令处理装置,其特征在于当循 环运行状态退出时,核心控制逻辑单元设置循环发射指针、循环区顶指针和循环区底指针, 使其和创建指针重合,回收自循环缓冲器中的循环指令解码信息分区。
全文摘要
一种基于解码缓冲器的循环指令处理装置,包括自循环缓冲器,用以连接于流水线指令解码单元的输出端,缓存指令经过解码之后产生的指令解码信息;数据选择器,用以连接于自循环缓冲器输出端,从自循环缓冲器中的顺序指令解码信息分区和循环指令解码信息分区选通一路获得指令解码信息并发送到指令执行单元,当处理器在顺序运行状态下选择顺序指令解码信息分区,当处理器在循环运行状态下选择循环指令解码信息分区;控制电路,用以监测处理器运行状态,调度解码后的指令在自循环缓冲器中创建信息,建立大小可变的顺序指令解码信息分区和循环指令解码信息分区;并为数据选择器提供选通控制信号。本发明提高灵活性和利用率、提升运行速度并降低功耗。
文档编号G06F9/38GK101872295SQ20101018486
公开日2010年10月27日 申请日期2010年5月28日 优先权日2010年5月28日
发明者严晓浪, 孟建熠, 葛海通, 陈晨 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1