一种基于解码缓冲器的循环指令处理装置,包括:自循环缓冲器,用以连接于流水线指令解码单元的输出端,缓存指令经过解码之后产生的指令解码信息;数据选择器,用以连接于自循环缓冲器输出端,从自循环缓冲器中的顺序指令解码信息分区和循环指令解码信息分区选通一路获得指令解码信息并发送到指令执行单元,当处理器在顺序运行状态下选择顺序指令解码信息分区,当处理器在循环运行状态下选择循环指令解码信息分区;控制电路,用以监测处理器运行状态,调度解码后的指令在自循环缓冲器中创建信息,建立大小可变的顺序指令解码信息分区和循环指令解码信息分区;并为数据选择器提供选通控制信号。本发明专利技术提高灵活性和利用率、提升运行速度并降低功耗。
【技术实现步骤摘要】
本专利技术涉及嵌入式处理器领域,尤其是一种在程序循环过程中提高处理器运行速度并降低功耗的指令处理装置。
技术介绍
嵌入式处理器的设计中,速度和功耗一直是关键的设计指标。随着移动互联网时 代的到来,对嵌入式处理器的运算速度和运行功耗的要求越来越苛刻。为了提高处理器的指令吞吐量,进而提高性能,流水线技术早已被广泛应用。但是 各流水线之间的处理速度不同,会产生后级流水堵塞前级流水的情况,降低了流水线的处 理效率。流水线缓冲器的出现缓解了这个问题,当后级流水线发生堵塞,前级流水可以把信 息暂存入缓冲器后继续工作,降低了流水线停滞的概率。其中一种流水线缓冲器便是解码 缓冲器,位于指令解码单元和指令执行单元之间。但是现有流水线缓冲器的大小固定的,而 且只实现缓冲的单一功能,容量设计过大会造成资源浪费,过小又会产生缓冲效果不明显, 流水线频繁堵塞的情况。对循环指令的处理也是限制处理器性能的重要因素之一,因为循环指令的执行过 程中循环体指令每执行完一次就会发生跳转,降低了指令的顺序性;另外对同一片区域反 复取指,会浪费不必要的功耗。现有的处理循环指令的方案是在指令高速缓存周围设置一 个专门的循环指令缓冲器,当执行到循环指令时,把循环体指令搬运到循环缓冲器中,之后 从循环指令缓冲器中获取循环体指令。这种方案需要增加硬件资源开销;循环缓冲器的大 小是固定的,存在不灵活和利用率低的问题;需要预先把循环体指令装载到循环缓冲器中, 不仅损失了速度,也浪费了功耗。
技术实现思路
为了克服已有的嵌入式处理器的循环指令处理装置的灵活性差、利用率低、速度 较慢和功耗高的不足,本专利技术提供一种提高灵活性和利用率、提升运行速度并降低功耗的 基于解码缓冲器的循环指令处理装置。本专利技术解决其技术问题所采用的技术方案是—种基于解码缓冲器的循环指令处理装置,包括自循环缓冲器,用以连接于流水线指令解码单元的输出端,缓存指令经过解码之 后产生的指令解码信息;所述自循环缓冲器逻辑上分为顺序指令解码信息分区和循环指令 解码信息分区,缓存过程中,新指令解码后的信息以自循环的方式覆盖缓冲器内最旧指令 解码信息;数据选择器,用以连接于自循环缓冲器输出端,从自循环缓冲器中的顺序指令解 码信息分区和循环指令解码信息分区选通一路获得指令解码信息并发送到指令执行单元, 当处理器在顺序运行状态下选择顺序指令解码信息分区,当处理器在循环运行状态下选择 循环指令解码信息分区;控制电路,用以监测处理器运行状态,调度解码后的指令在自循环缓冲器中创建 信息,建立大小可变的顺序指令解码信息分区和循环指令解码信息分区;并为数据选择器 提供选通控制信号,控制指令解码信息发送到指令执行单元开始执行。 作为优选的一种方案在所述自循环缓冲器中,当控制电路未创建循环指令解码 信息分区时,顺序指令解码信息分区可容纳的指令数为该自循环缓冲器可容纳的指令数, 当控制电路监测到后向跳转指令后,控制电路在自循环缓冲器中实时创建循环指令解码信 息分区,其大小受循环体指令的数量决定,此时顺序指令解码信息分区可容纳的指令数相 应减少,两个分区可容纳的指令数之和为自循环缓冲器可容纳的指令数。作为优选的另一种方案所述控制电路包括核心控制逻辑单元,用以通过创建指 针在自循环缓冲器中新建顺序指令解码信息分区,在顺序运行状态下核心控制逻辑单元控 制数据选择器选通顺序发射指针指向的指令解码信息,从顺序指令解码信息分区中按序选 取指令解码信息发送到执行单元;并对每一条创建指针新建的指令解码信息进行监测,若 监测到后向跳转指令,则通过循环区顶指针和循环区底指针在自循环缓冲器中划分出循环 指令解码信息分区;在循环运行状态下核心控制逻辑单元控制数据选择器选通循环发射指 针指向的指令解码信息,从循环指令解码信息分区中按序选取指令解码信息发送到执行单元。进一步,在所述核心控制逻辑单元中,监测处理器运行状态,当顺序发射指针指向 后向跳转指令,处理器进入循环运行状态,在监测到循环结束后处理器退出循环运行状态, 除此之外处理器均运行在顺序运行状态。更进一步,当循环体指令的数量大于或等于自循环缓冲器可容纳的指令数时,核 心控制逻辑单元通过操作循环区顶指针和循环区底指针将整个自循环缓冲器中除去存放 后向跳转指令解码信息之外的所有区域设置为循环指令解码信息分区,同时关闭数据选择 器,超出部分的循环体指令通过指令高速缓存获取,并在解码后发送至执行单元;当超出部 分指令发送完毕,核心控制逻辑单元控制数据选择器从自循环缓冲器的循环指令解码信息 分区中按序选取循环体指令解码信息,直接发送至执行单元,直到循环指令解码信息分区 中的循环体指令解码信息按序发送完一遍之后,若要继续下次循环运行,则取指方式重复 上述操作。再进一步,当循环运行状态退出时,核心控制逻辑单元设置循环发射指针、循环区 顶指针和循环区底指针,使其和创建指针重合,回收自循环缓冲器中的循环指令解码信息 分区。本专利技术的有益效果主要表现在1)复用硬件,通过在单个自循环缓冲器中实时建 立顺序指令解码信息分区和循环指令解码信息分区,实现了流水线间指令信息缓冲以及循 环指令处理两大功能,高效利用了有限的资源;2)提高指令处理速度,在处理循环指令时, 直接把指令经过解码之后产生的指令解码信息发送到指令执行单元,省去了流水线中取值 和译码的时间以及把指令从高速缓存搬运到专门的缓冲器之中的时间;3)降低指令处理 功耗,在处理循环指令时,直接把指令经过解码之后产生的指令解码信息发送到指令执行 单元,省去了指令经过解码单元译码的功耗以及把指令从高速缓存搬运到专门的缓冲器之 中的功耗。附图说明图1为本专利技术具体实施方案的总体架构图。图2为本发 明具体实施方案中核心控制逻辑单元的状态转换图。图3为本专利技术具体实施方案中自循环缓冲器实现流水线指令缓冲功能的示图。图4为本专利技术具体实施方案处理普通循环指令的示图。图5为本专利技术具体实施方案处理循环体长度超出自循环缓冲器长度的循环指令 的示图。具体实施例方式下面结合附图对本专利技术作进一步描述。参照图1 图5,一种基于解码缓冲器的循环指令处理装置,包括自循环缓冲器 10,用以连接于流水线指令解码单元的输出端,缓存指令经过解码之后产生的指令解码信 息;所述自循环缓冲器逻辑上分为顺序指令解码信息分区和循环指令解码信息分区,缓存 过程中,新指令解码后的信息以自循环的方式覆盖缓冲器内最旧指令解码信息;数据选择 器12,用以连接于自循环缓冲器输出端,从自循环缓冲器中的顺序指令解码信息分区和循 环指令解码信息分区选通一路获得指令解码信息并发送到指令执行单元,当处理器在顺序 运行状态下选择顺序指令解码信息分区,当处理器在循环运行状态下选择循环指令解码信 息分区;控制电路14,用以监测处理器运行状态,调度解码后的指令在自循环缓冲器中创 建信息,建立大小可变的顺序指令解码信息分区和循环指令解码信息分区;并为数据选择 器提供选通控制信号,控制指令解码信息发送到指令执行单元开始执行。请参照图1所示,为本专利技术具体实施方案的结构示图。本装置在流水线中位于指 令解码阶段和指令执行阶段之间。如图中所示,本装置包括一自循环缓冲器10、一数据选择 器12、一控制电路14。指令经过解码之后产生的指令解码信息由指令解本文档来自技高网...
【技术保护点】
一种基于解码缓冲器的循环指令处理装置,其特征在于:所述循环指令处理装置包括:自循环缓冲器,用以连接于流水线指令解码单元的输出端,缓存指令经过解码之后产生的指令解码信息;所述自循环缓冲器逻辑上分为顺序指令解码信息分区和循环指令解码信息分区,缓存过程中,新指令解码后的信息以自循环的方式覆盖缓冲器内最旧指令解码信息;数据选择器,用以连接于自循环缓冲器输出端,从自循环缓冲器中的顺序指令解码信息分区和循环指令解码信息分区选通一路获得指令解码信息并发送到指令执行单元,当处理器在顺序运行状态下选择顺序指令解码信息分区,当处理器在循环运行状态下选择循环指令解码信息分区;控制电路,用以监测处理器运行状态,调度解码后的指令在自循环缓冲器中创建信息,建立大小可变的顺序指令解码信息分区和循环指令解码信息分区;并为数据选择器提供选通控制信号,控制指令解码信息发送到指令执行单元开始执行。
【技术特征摘要】
【专利技术属性】
技术研发人员:陈晨,孟建熠,严晓浪,葛海通,
申请(专利权)人:浙江大学,
类型:发明
国别省市:86[中国|杭州]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。