一种具有多工作模式的嵌入式可重构处理器的制造方法

文档序号:8430691阅读:334来源:国知局
一种具有多工作模式的嵌入式可重构处理器的制造方法
【技术领域】
[0001]本发明涉及一种具有多工作模式的嵌入式可重构处理器,特别涉及一种在可重构逻辑资源上利用采样剖析技术获取计算机程序运行信息来修改处理器的指令集和硬件处理部件的处理器设计方法。
【背景技术】
[0002]嵌入式处理器设计需要兼顾性能和灵活性两方面的因素,而可重构指令集处理器(Reconfigurable Instruct1n Set Processors,RISP)被视作下一代的处理器架构。它通过可编程逻辑器件,将处理器核与可重构硬件逻辑结合,根据应用程序特点适应性地改变其硬件结构,优化原有指令集和功能部件,从而在具有高灵活性的同时使应用程序获得最佳的执行性能。
[0003]相比于传统的嵌入式处理器,RISP基于专用指令集处理器(Applicat1nSpecific Instruct1n-set Processor,ASIP)的设计思想,更专注于对指令集的可重构定制实现。其指令集一般分为两个部分:I)固定的普通指令集。在处理器初始设计完成后不更改,用于完成一般的计算和控制任务;2)扩展的定制指令集。根据应用特征的不同而变化,完成应用中频繁出现的、对系统性能有关键影响的计算任务。与ASIP不同的是,RISP的定制指令由处理器根据应用特征动态生成,所需的处理单元和数据通路也在可重构硬件逻辑中动态实现。RISP可被用作具有同一基本指令集的ASIP系列产品的快速原型系统,随着产品的不同应用和技术成熟而改进重构其硬件结构,有效降低重设计带来的成本代价。
[0004]与固定结构的处理器设计方案相比,RISP具有更广阔的应用前景。固定结构的设计方案在很多应用领域无法获得所要求的性能和设计成本的平衡,比如在应用环境与特征不明的应用场合,为其设计专用的处理硬件是十分低效的;而对于应用中含有较多处理算法的情况,则需要定制很多的专用硬件来完成处理,所需要的设计代价也是难以接受的。而RISP的设计方案能够有效应对这些问题,因此,在目前以至将来很多应用中,RISP会是其处理器架构的第一选择。

【发明内容】

[0005]发明的目的在于克服现有技术之不足,提供一种具有多工作模式的嵌入式可重构处理器,实现根据不同类型计算机程序的运行情况,为其定制专门的处理指令和硬件执行部件,提尚执彳丁效率。
[0006]本发明解决其技术问题所采用的技术方案是:提供一种具有多工作模式的嵌入式可重构处理器,包括通用处理核、指令译码器、可重构阵列、配置控制器、配置信息存储器、采样剖析器、指令缓存、数据缓存、数据/地址总线接口及控制总线接口 ;
[0007]所述通用处理核包括执行部件、寄存器组和数据选择器;
[0008]所述可重构阵列为带有封装接口的可重构阵列,其封装接口包括输入缓冲接口、数据缓冲接口和输出缓冲接口;
[0009]所述通用处理核的控制输出端口通过单向控制线分别连接到指令译码器的控制输入端口、配置控制器的控制输入端口、数据/地址总线接口的控制输入端口、控制总线接口的控制输入端口以及可重构阵列的封装接口 ;
[0010]所述配置控制器的控制输出端口通过单向控制线分别连接到配置信息存储器的控制输入端口、采样剖析器的控制输入端口以及可重构阵列的封装接口 ;
[0011]指令缓存的数据输入端口通过单向数据线与数据/地址总线接口的数据输出端口连接;指令缓存的数据输出端口通过单向数据线连接到指令译码器的数据输入端口;
[0012]指令译码器的数据输出端口通过单向数据线分别连接到通用处理核的数据输入端口、采样剖析器的数据输入端口以及可重构阵列的封装接口;
[0013]数据缓存的数据端口通过双向数据线分别与数据/地址总线接口的数据端口、寄存器组的数据端口、采样剖析器的数据端口、配置信息存储器的数据端口互连;
[0014]配置信息存储器的数据输出端口通过单向数据线分别连接到采样剖析器的数据输入端口和可重构阵列的封装接口;
[0015]寄存器组的数据端口通过双向数据线与可重构阵列的封装接口互连;
[0016]数据/地址总线接口通过双向数据线连接到外部设备;
[0017]控制总线接口通过单向控制线对外连接到外部设备。
[0018]优选的,这种具有多工作模式的嵌入式可重构处理器是在单片FPGA芯片上实现的;所述采样剖析器是利用FPGA的可编程逻辑资源配置实现的。
[0019]优选的,所述具有多工作模式的嵌入式可重构处理器的指令集包括普通指令和定制指令。
[0020]优选的,所述普通指令在通用处理核上执行,所述定制指令在可重构阵列上执行。
[0021]优选的,所述具有多工作模式的嵌入式可重构处理器的工作模式包括简单模式、剖析模式和完整模式;所述简单模式用于执行普通指令;所述剖析模式用于指导定制指令的生成;所述完整模式用于执行定制指令。
[0022]优选的,所述的指令译码器对普通指令和需定制指令进行指令分类判断,如果为普通指令则进入简单模式,如果为定制指令则进入剖析模式。
[0023]优选的,所述简单模式下的所有的指令都由通用处理核执行,所述通用处理核通过配置控制器控制可重构阵列和采样剖析器不参与工作,其步骤为:
[0024]Al、指令译码器将接收到的普通指令进行译码后存入通用处理核的寄存器组;.
[0025]A2、通用处理核的执行部件调取寄存器组中的译码后的普通指令进行执行操作,然后将执行后的指令存入数据缓存;
[0026]A3、通用处理核的数据选择器对数据缓存进行访存操作,选取所需的指令写回通用处理核的寄存器组中。
[0027]优选的,所述剖析模式下的所有指令都由通用处理核执行,所述通用处理核通过配置控制器控制可重构阵列不参与工作,采样剖析器参与工作,其步骤为:
[0028]B1、指令译码器将接收到的需定制指令进行译码后传输至采样剖析器;
[0029]B2、采样剖析器对译码后的指令进行剖析,并将剖析得到的配置信息保存到数据缓存,然后再保存到配置信息存储器中;
[0030]B3、配置信息存储器将需定制指令进行编译和优化生成定制指令。
[0031]优选的,所述完整模式下所述通用处理核通过配置控制器控制可重构阵列和采样剖析器参与工作,其步骤为:
[0032]Cl、指令译码器将接收到的定制指令进行译码后发送到可重构阵列的输入缓冲接P ;
[0033]C2、可重构阵列对接收到的译码后的定制指令进行处理后通过其封装接口的输出缓冲接口写回到通用处理核的寄存器组中。
[0034]优选的,步骤Cl中,所述可重构阵列接收到译码后的定制指令后判断是否需要对阵列架构进行重构;如果判断为否,则通用处理核直接执行该定制指令,如果判断为是,则配置控制器通过可重构阵列封装接口中的数据缓冲接口把配置信息存储器中的配置数据发送到可重构阵列,重新配置可重构阵列的组成结构,然后再由通用处理核执行相应的定制指令。
[0035]本发明的有益效果是:
[0036]1.提高计算机程序的运行性能:根据不同类型计算机程序的运行情况,为其定制专门的处理指令和硬件执行部件,极大地提高了执行效率。
[0037]2.提高处理器的灵活性:通过配置过程和剖析过程,能使处理器灵活适应不同类型计算机程序的运行需求。
[0038]3.降低剖析计算机程序运行情况的开销:使用可配置的采样剖析机制,较之全过程剖析机制能够大大降低剖析开销。
[0039]以下结合附图及实施例对本发明作进一步详细说明;但本发明的一种具有多工作模式的嵌入式可重构处理器不局限于实施例。
【附图说明】
[0040]图1是本发明的结构框图;
[0041]图2是本发明的简单模式的结构框图;
[0042]图3是本发明的剖析模式的结构框图;
[0043]图4是本发明的完整模式的结构框图。
【具体实施方式】
[0044]实施例1
[0045]参见图1所示,本发明的一种具有多工作模式的嵌入式可重构处理器,实现根据不同类型计算机程序的运行情况,为其定制专门的处理指令和硬件执行部件,提高执行效率。
[0046]本发明解决其技术问题所采用的技术方案是:提供一种具有多工作模式的嵌入式可重构处理器,包括通用处理核1、指令译码器2、可重构阵列4、配置控制器5、配置信息存储器6、采样剖析器7、指令缓存8、数据缓存9、数据/地址总线接口 10及控制总线接口 11 ;
[0047]所述通用处理核I包括执行部件101、寄存器组102和数据选择器103 ;
[0048]所述可重构阵列4为带有封装接口 3的可重构阵列4,其封装接口包括输入缓冲接口 301、数据缓冲接口 302和输出缓冲接口 303 ;
[0049]所述通用处理核I的控制输出端口通过单向控制线分别连接到指令译码器2的控制输入端口、配置控制器5的控制输入端口、数据/地址总线接口 10的控制输入端口、控制总线接口 11的控制输入端口以及可重构阵列4的封装接口 3 ;
[0050]所述配置控制器5的控制输出端口通过单向控制线分别连接到配置信息存储器6的控制输入端口、采样剖析器7的控制输入端口以及可重构阵列4的封装接口 3 ;
[0051]指令缓存8的数据输入端口通过单向数据线与数据/地址总线接口 10的数据输出端口连接;指令缓存8的数据输出端口通过单向数据线连接到指令译码器2的数据输入端口 ;
[0052]指令译码器2的数据输出端口通过单向数据线分别连接到通用处理核I的数据输入端口、采样剖析器7的数据输入端口以及可重构阵列4的封装接口 3 ;
[0053]数据缓存9的数据端口通过双向数据线分别与数据/地址总线接口 10的数据端口、寄存器组102的数据端口、采样剖析器7的数据端口、配置信息存储器6的数据端口互连;
[0054]配置信息存储器6的数据输出端口通过单向数据线分别连接到采样剖析器7的数据输入端口和可重构阵列4的封装接口 3 ;
[0055]寄存器组102的数据端口通过双向数据线与可重构阵列4的封装接口 3互连;
[0056]数据/地址总线接口 10通过双向数据线
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1