动态可重构指令计算机处理器及实现方法

文档序号:6573566阅读:127来源:国知局
专利名称:动态可重构指令计算机处理器及实现方法
技术领域
本发明涉及一种计算机处理器及实现方法,尤其涉及一种计算 机指令可动态变化的计算机处理器。
背景技术
现在的计算机指令集是固定的。如,X86的处理器,X86处理器 是一种复杂指令集处理器(CISC处理器),其处理器指令越来越多, 越来越复杂;再如ARM、 MIPS、 PowerPC处理器是一种精简指令集处 理器(RISC处理器),其指令数不多,寻址方式简单,主要通过多 道流水线来提高处理器的速度。
随着集成电路的工艺的不断进步,集成电路的线宽的不断减小, 特别是量子器件的不断发展,其单位面积上集成电路的门数不断增 力口,为可重构指令计算机提供了物质条件。
动态可编程集成电路工作原理为了避免实现动态可编程电路 在电路部分或全部配置时电路的相互影响,在电路中增加了输出控 制电路。当部分重新配置电路时,带允许输出端的同步緩存寄存器 保存上一次的结果,在配置同步时钟的作用下重新配置。未配置的 电路仍能正常工作。对本单元的电路是否重新配置受允许配置寄存 器的控制。所有的允许配置位均有效,可对整个动态可编程集成电 路所有的电路在配置时钟的同步作用下重新配置,配置前本单元输 出的中间结果可保存在D触发器中,供电路配置完成后使用这个中
间结果。
以上内容是我申请的专利,可编程指令集计算机集成电路(动
态可编程集成电路),专利号为200610155427.4中的内容,申请曰 2006年12月25曰,实审员可参考附件的实审参考资料,专利号为 200610155427. 4的完整资料。普通读者可E-mail向我索取 g14835)126. com, 或者到http: //www, sipo. gov, cn上查询。
频率是处理器发展的瓶颈,计算机处理器由"频率至上",逐渐 发展到现在的"并行至上"。现在是计算机体系结构的"战国时代", 超标量、VLIW(超长指令字)、EPIC(显式并行指令集计算机)、多CELL 处理器、同构多核并行、异构多核并行、可重构计算、DNA生物并行 计算、量子计算等。
随着集成电路技术的发展,超大规模"动态可重构集成电路"完 全能实现。本课题研究开拓了一个新领域,动态可重构指令,实现可 重构指令、实现可重构线程级指令、可重构进程级指令,实现芯片的 动态可重用。
动态可重构指令计算机具有RISC(精简指令集计算机)和 CISC(复杂指令集计算机)优点,克服了 RISC和CISC缺点;可实现异 构多核并行处理,也可实现同构多核并行处理,混合多核并行处理; 利用芯片面积换速度,通过流水线、并行流水线提高计算机的处理速 度;利用动态可重构集成电路实现了芯片的动态可重用,提高芯片的 使用率。实现了多处理器、芯片面积、运算速度、功耗的和谐统一; 动态可重构指令计算机实现了 CISC(复杂指令集计算机)与RISC(精
简指令集计算机)的统一;同构并行与异构并行的统一;功耗与速率统一;实现线程级、进程级指令。
本项目可广泛应用在PC机、普适计算、嵌入式处理器、通信处理器、网络处理机尤其是网格计算的处理器;可从指令层次实现可信计算,应用于可信网络处理器、可信处理器等。动态可重构计算机具有速度更快、效率高、功耗低、体积小、价格低、功能多、多核并行处理,具有广泛的应用前景。

发明内容
要解决的问题
(1) 解决现有计算机指令集效率低下的问题; (2 ) 解决现有计算机处理速度慢的问题;
(3) 解决现有计算机功率大,降低计算机处理器的功耗;
(4) 提高芯片的资源利用率; 技术方案为了实现上述的目的,本发明提供由动态可重构集成电路 组成的动态可重构指令计算机处理器,动态可重构集成电路连 接动态可重构集成电路的配置电路、用户数据输入/输出电路、 随机存储器、键盘、鼠标、显示器;动态可重构集成电路包括 多个可重构单元,每个可重构单元由带配置队列的SRAM可重 构电路和配置时钟构成;当对应的配置单元的配置时钟控制允 许时对配置单元进行配置,即更新对应的指令;当配置时钟控 制电路禁止时,不对配置单元配置数据进行更新,保留原有的
配置,即保留原有的可重构指令。
上述装置中可重构单元由带配置队列的SRAM组成的可重 构指令电路配置电路;当配置时钟控制电路允许时在配置时钟 的作用下配置数据队列依次向前移动一个单元,原队列的第二 个单元的数据移动到队首单元,队首单元数据即是新的配置数 据;当配置时钟控制电路禁止时,即使有配置时钟来到,但控 制电路不允许将其传送到配置电路上,其本单元的配置队列的 数据不变。
上述装置中配置时钟可以是上升沿有效;也可以是下降沿 有效;也可以是高电平有效;也可以是低电平有效;也可以上 升沿、下降沿、高电平、低电平的组合有效。
上述装置中时钟允许控制器采用带允许控制端的控制器, 控制器的允许输入端连接到本配置单元的允许输出线上,控制 器的输入端连接整个可重构集成电路的配置时钟,输出端连接 配置队列上的配置时钟。
上述装置中配置队列的队首单元数据可不直接作为配置 数据,需要再配置到每个动态可重构逻辑单元的配置位中才有 效。
本发明提供可重构指令计算机包括以下步骤 步骤401,动态可重构指令处理器上电或复位; 步骤402,通过下载接口对动态可重构集成电路配置队 列下载配置数据;
步骤403,对每个配置单元队列的队首进行配置,生成 一个可重构指令或多个可重构指令;
步骤404,根据程序的需要对队列的其它单元进行配
置;
步骤405,根据程序的需要,打开对应的控制单元对配 置单元进行重新配置,生成相应新指令,其它部分不变;
步骤406,有新的需要重新配置吗? 如果是则转到步 骤404,如果否则转到步骤406。
上述方法中一条可重构指令完成一个完整的功能,指令 配置完成后,数据从输入端流入动态可重构指令处理器处理 好的结果从输出端输出。
上述方法中可重构指令能通过配置电路不断动态重新 配置、更新。
上述方法中在动态可重构指令处理器中可重构为一条 可重构指令;在动态可重构指令处理器中可重构为多条相同 的可重构指令;在动态可重构指令处理器中可重构为多条不 同的可重构指令;在动态可重构指令处理器中可重构为几条 相同几条不同的可重构指令。
上述方法中多条动态可重构指令可组合成新的指令。
有益效果
(1) 计算机指令集效率低下的问题现在计算机的指令是 固定的,需要通过成千上万条指令才能完成一个功 能,为了解决现有计算机处理器固定指令处理效率低 下的问题,本发明采用动态可重构指令处理器。
(2) 计算机处理速度慢的问题由于采用可重构指令,每 条指令完成一个完整的功能,实际上是用面积换速度 来提高计算机处理器的速度,增加电路的流水线、并 行流水线。
(3 ) 降低计算机处理器的功耗现在的计算机因为指令的 效率低,为提高计算机处理器的处理速度,采用提高 频率的方法,频率越高,器件的漏电流越大,功耗也 越大;采用动态可重构指令处理器后,达到同样的处 理性能,系统的主频可大大降低,从而处理器的功耗 也大大降低。
(4) 提高芯片的资源利用率现有的FPGA(现场可编程集 成电路)也可以实现电路的可重新编程,大家知道, 计算机处理器实际上通过指令的组合成可构成一个 无限个"有限状态机",从而能实现各种处理,而FPGA 在一次编程中可构成一种"有限状态机",需要重新 编程可构成另外一种状态机,本发明通过动态可重构 电路,实现动态重新构建指令,可实现快速的重新可 编程,从而可构成无限种"有限状态机,,,从而实现 了动态可重构计算机处理器,而现有带SRAM配置的
FPGA需要几秒钟才能变换一种状态,即变换一种"有 限状态机",显然不能应用在处理器上。


图l,动态可重构计算机原理框图2,动态可重构集成电路配置单元的配置队列原理框图; 图3,动态可重构集成电路配置为多个动态指令的原理框图; 图4,动态可重构指令处理器配置流程图。
具体实施例方式
功能指令 一条指令完成一个完整的功能,如进行一条指令完成 TCP网络处理。
进程级指令 一条可重构指令完成程序的一个进程,叫进程级指令。
线程级指令可重构指令完成程序的一个线程,叫线程级指令, 一条进程级指令下可开多个线程指令。
可重构指令利用动态可重构集成电路,不同的配置程序可将动 态可重构集成电路配置为不同的指令,视动态可重构集成电路规模的 大小,可将动态可重构集成电路配置为一条可重构指令,多条可重构 指令,多条可重构指令可以相同也可以不同。
可重构指令计算机理论现有的计算机处理器实际上通过指令的 排列可构成无限个不同的"有限状态机",从而能实现计算机的数值 计算与非数值计算。而现有的FPGA在一次编程中可构成一种"有限状 态机",需要重新编程可构成另外一种"有限状态机",而现有带SRAM
配置的FPGA需要几秒钟才能配置一次,即需要几秒钟才能由一种"有 限状态机"变换为另一种"有限状态机",显然不能应用在动态配置 的处理器上。动态可重构集成电路,可实现快速的重新可编程,可动 态重构电^^的一部分电^各或全部可重构电^^, ^v而可构成无限种"有 限状态机",因而能处理世界上的任何问题,从而实现了动态可重构 计算机处理器,它是一种图灵机。
动态可重构指令计算机原理可重构指令计算机的由于采用进程 级或线程级指令,因此其执行程序的速度大大提高,利用长流水线处 理,并行流水线,利用面积换速度,执行速度能提高几个数量级。因 为指令是动态可编程的(即是动态可重构的),前一条指令完成后其 可编程逻辑电路又可重新编程为另一条可编程功能指令,因此提高了 芯片的资源利用率,实现了硬件动态可重用。因为整个电路内电路是 可重构的,电路的利用率高,基本无"闲置电路",因此电路的利用 率高。我们知道数字电路的频率越高,其电路开关切换时的漏电流越 大,电源损耗也越多,数字集成电路的功耗与其工作频率成指数关系 成正比。由于本发明采用进程级、线程级指令,计算机的处理速度大 大加快,因此计算机处理器的工作频率也无需太高,因此可大大节省 电能。
具体实现方法
动态可重构集成电^^由若干个动态可重构逻辑单元、局部可编程 1/0线、全局可编程I/0线、配置时钟电5^、配置时钟控制电i 各、锁 相环(PLL)、多条全局时钟线构成。
每块动态可重构逻辑电路中可以是一个动态可重构逻辑单元,也 可以是成千上万个重构逻辑单元,特别是量子器件在集成电路应用, 集成电路的将规^莫越来越大,动态可重构电路的动态可重构逻辑单元 数将越来越多。
下面结合附图对本发明的实施方式进行详细描述 如图1所述为一种利用动态可重构集成电路组成可重构计算机的 一种电路,101为配置电路,102为动态可重构集成电路,103为用 户数据输入电路,104为用户数据输出电路,105为随机存储器。这 种电路典型的应用是通信处理器、移动通信处理器、网络处理器、嵌 入式处理器、PC处理器、网络服务器、网格服务器等。
如图2所示为配置队列栈,210为单元内配置时钟,201至205 为配置队列,211为本单元允许配置控制线,212为本集成电路配置 时钟(本时钟由集成电路通过时钟树送到每个配置单元的控制器的输 入端),213为本配置单元的允许配置控制电路,本实例中采用的是 D触发器,还可以使用其它控制电路,如带允许控制端的三态门,带 允许控制端的移位寄存器。可重构集成电路的每个可编程单元均有一 个配置队列,上电时直接将第一条配置指令的配置数据;改置到201单 元中,第二条配置指令数据放置在202中,第三条配置指令数据放置 在203中,依次类推。第一条指令执行完成后如果需要新的指令,在 210配置时钟的作用下,配置队列的数据依次向上移动一个单元,即 202配置单元中的内容移动到201中,203的配置单元中的内容移动 到202中,依此类推。在这个可重构集成电路中有成千上万个配置单
元,图中只示了一个配置单元,成千上万个配置队列在同一配置时钟
的作用下同时配置,动态可重构集成电路就由一个可重构指令变换为 另一个可重构指令。
在图2中如果有210时钟输入可以是上升沿有效;也可以是下降 沿有效;也可以是高电平有效;也可以是低电平有效;也可以上升沿、 下降沿、高电平、低电平的组合有效。当时钟有效时同时配置控制电 路允许时配置队列依次向上移动一个单元,201单元(队首单元)就 是当前本可重构单元的有效配置值。
在成千上万个可重构逻辑单元中,所有的配置信号均步调一致同 时移动对所有可重构单元配置队列,则整个可重构集成电路同时更新 实现一条或多条可重构指令。
在成千上万个可重构单元中,部分可重构配置控制单元的配置允 许时,则对这部分可重构单元重新配置;其它可重构单元的配置时钟 处于不允许配置状态,则全局配置时钟不能传递到局部配置时钟电路 上,则未可重新配置的电^各保持不变,保留上一次的逻辑功能,即保 持上一次的指令。本实施例实现了对部分可重构指令更新,部分可重 构指令不变。
图3为多条并行可重构指令的实施例,302为动态可重构集成电 路,301为第一条动态可重构指令的用户输入通道,303为动态可重 构指令l, 304为动态可重构指令1处理好的输出通道;305为第n 条动态可重构指令的用户输入通道,306为动态可重构指令n, 307 为第n条可重构指令的输出通道。在本实施例中可对每一条指令进行
单独动态可重构,就是当本动态可重构指令同时进行重新配置时,本 动态指令的配置电路队列的每一个配置队列单元的值向上移动一个
单元,见图2所示,202单元中的数据即移动至201单元中,实现对 本条动态指令的重新配置。若第n条指令这次无需更新只要控制配置 时钟(图2中的211),让控制信号211无效,即可保留第n条可重 构指令不更新。在这n条动态可重构指令中,n条指令可以都相同; n条指令也可以都不同;或者部分指令相同,部分指令不同。
本实施例为两条或多条可重构指令级连起来实现更多的、更复杂 的功能实施例,如图3所示第一条可重构指令输出通道1经可重构电 路的输出线连接到可重构指令2的输入通道2,这样即可以将第一条 可重构指令与第二条可重构指令串连为一条新的可重构指令,完成新 的功能。
也可以将更多条动态可重构指令组合起来形成一条新的可重构 指令,实现新的可重构功能。
配置队列的队首单元数据不直接作为配置数据,需要再配置到每 个动态可重构逻辑单元的配置位中才有效如图2所述的配置队列, 在动态可重构逻辑单元中增加一个配置位,配置队列的队首数据直接 传递到动态可重构逻辑单元的配置电路中。
本发明提供由动态可重构集成电路组成的动态可重构指令计算 机处理器,动态可重构集成电路连接动态可重构集成电路的配置电 路、用户数据输入/输出电路、随机存储器、键盘、鼠标、显示器; 动态可重构集成电路包括多个可重构单元,每个可重构单元由带配置
队列的SRAM可重构电路和配置时4中构成。
当对应的配置单元的配置时钟控制允许时对配置单元进行配置,
即更新对应的指令。
当配置时钟控制电路禁止时,不对配置单元配置数据进行更新, 保留原有的配置,即保留原有的可重构指令。
可重构单元由带配置队列的SRAM组成的可重构指令电路配置电 路;当配置时钟控制电路允许时在配置时钟的作用下配置数据队列依 次向前移动一个单元,原队列的第二个单元的数据移动到队首单元, 队首单元数据即是新的配置数据。
当配置时钟控制电路禁止时,即使有配置时钟来到,但控制电路 不允许将其传送到配置电路上,其本单元的配置队列中的数据不变。
配置时钟可以是上升沿有效;也可以是下降沿有效;也可以是高 电平有效;也可以是低电平有效;也可以上升沿、下降沿、高电平、 低电平的组合有效。
时钟允许控制器采用带允许控制端的控制器,控制器的允许输入 端连接到本配置单元的允许输出线上,控制器的输入端连"l妄整个可重 构集成电路的配置时钟,输出端连接配置队列上的配置时钟。
配置队列的队首单元数据可不直接作为配置数据,需要再配置到 每个动态可重构逻辑单元的配置位中才有效。
图4所示为动态可重构指令处理器的流程图
步骤401,动态可重构指令处理器上电或复位,当本处理器上电或 按下复位开关按钮时,复位电路产生一个复位信号(复位信号可以是
低电平有效;或高电平有效;或上升沿有效;或下降沿有效;或组合 有效)。
步骤402,通过下载接口对动态可重构集成电路配置队列下载配 置数据,在可重构集成电路上配置电路是一个专用配置电路,当接收 到复位信号后,可重构集成电路配置队列将处于等待配置状态,整个 动态可重构集成电路中的每个逻辑单元配置队列分配一个唯一的地 址,按地址对每一个配置队列进行下载数据。
步骤403,对每个配置单元队列的队首即为可重构集成电路的配 置数据,生成一个可重构指令或多个可重构指令队首配置数据控制 其可重构逻辑单元的逻辑状态,实现其功能,将可重构集成电路配置 为 一条可重构指令或多条可重构指令。
配置数据有效有两种实现方法第一种方法动态可重构逻辑单 元输出端有一个允许输出控制器,当允许输出控制端允许时,动态可 重构逻辑单元输出信号才能输出,这样当正在配置时关断输出信号,
这样能保护因可能配置产生不定态而损坏逻辑电路,但缺点是产生的 数据不会立即出现的输出电路上;第二种方法动态可重构逻辑单元 输出端无输出控制电路,这样配置好的数据立即出现在输出电路上, 速度快,因为本实施例中采用的是等长的时钟树来配置的,因而能保 证输出数据同时到达。
步骤404,根据程序的需要对队列的其它单元进行配置、更新 随着程序不断执行,当程序执行中需要新的指令时,系统自动配置将 新的配置数据配置到各个配置队列中。
步骤405,才艮据程序的需要,打开对应的控制单元对配置单元进 行重新配置,生成相应新指令,其它部分不变本实施需要重新配置 的单元只要允许配置控制端有效,在配置时钟的作用下即可对本单元 进行新配置,需要保留原有配置状态的单元只需允许配置控制端置于 不允许控制状态即可。
步骤406,有新的需要重新配置吗? 如果是则转到步骤404,如 果否则转到步骤406。
一条可重构指令完成一个完整的功能,指令配置完成后,数据从 输入端输入经可重构指令处理器处理好的结果从输出端输出配置后 的动态可重构集成电路就是一个电路流水线,从输入端流入需要处理 的数据,输出端流出的就是加工处理好的结果。
可重构指令能通过配置电路不断动态重新配置本实施例中采用 了配置队列,在配置时钟的作用下可对整个动态可重构集成电路进行 不断重新配置。
在动态可重构指令处理器中可重构为一条可重构指令;在动态可 重构指令处理器中可重构为多条相同的可重构指令;在动态可重构指 令处理器中可重构为多条不同的可重构指令;在动态可重构指令处理 器中可重构为几条相同几条不同的可重构指令。本实施例在整个动态 可重构集成电路中,某些部分电路配置为一个指令,这样可在动态可 重构集成电路中配置若干个指令,这些指令可以同时运行,从而实现 了真正的指令并行。对于不再使用的指令的逻辑电路,可配置为另外 一条指令。
多条可重构指令可组合成不同功能的可重构指令,在本实施例中
利用将第一条指令的输出通过可编程I/O将其输出连接到另外一条
可重构指令的输入端,从而可构成一条更长的指令流水线,从新的功 能。依此类推,可将更多个可重构指令的级连形成新的功能。
虽然结合附图对本发明的实施方式进行说明,但本领域普通技术 人员可以在所附权利要求的范围内作出各种变形或修改。
权利要求
1、 一种动态可重构指令计算机处理器,包括由动态可重构集成电路组成的动态可重构指令计算机处理器,动态可重构集成电路连接动态可重构集成电路的配置电路、用户数据输入/输出电路、随机存储器、键盘、鼠标、显示器;其特征包括是动态可重构集成电路包括多个可重构单元,每个可重构单元由带配置队列的可重构电路和配置时钟构成;当对应的配置单元的配置时钟控制器允许时对配置单元进行配置,即更新对应的指令;当控制配置时钟控制电路禁止时,不对配置单元配置数据进行更新,保留原有的配置,即保留原有的可重构指令。
2、 根据权利要求1所述的一种动态可重构指令计算机处理器, 其特征包括可重构单元由带配置队列的组成的可重构指 令电路配置电路;当配置时钟控制电路允许时在配置时钟的作用下配置数据队列依次向前移动一个单元,原队列的 第二个单元的数据移动到队首单元,队首单元数据即是新的配置数据;当配置时钟控制电路禁止时,即使有配置时 钟来到,但控制电路不允许将其传送到配置电路上,其本 单元的配置队列的数据不变。
3、 根据权利要求1或权利要求2所述的一种动态可重构指令 计算机处理器,其特征包括配置时钟可以是上升沿有效; 也可以是下降沿有效;也可以是高电平有效;也可以是低电平有效;也可以上升沿、下降沿、高电平、低电平的组合有效。
4、 根据权利要求1或权利要求2所述的一种动态可重构指令 计算机处理器,其特征包括时钟允许控制器采用带允许 控制端的控制器,控制器的允许输入端连接到本配置单元 的允许输出线上,控制器的输入端连接整个可重构集成电 路的配置时钟,输出端连接配置队列上的配置时钟。
5、 根据权利要求1所述的一种动态可重构指令计算机处理器, 其特征还包括配置队列的队首单元数据可不直接作为配 置数据,需要再配置到每个动态可重构逻辑单元的配置位 中才有效。
6、 一种动态可重构指令计算机包括动态可重构指令处理器 由动态可重构集成电^^构成,动态可重构集成电^各连接动 态可重构集成电路的配置电路、用户数据输入/输出电路、 随机存储器、键盘、鼠标、显示器;所述可重构指令计算机包括以下步骤步骤401,动态可重构指令处理器上电或复位; 步-骤402,通过下载接口对动态可重构集成电路配置队列下载配置数据;步骤403,对每个配置单元队列的队首进行配置,生成一个可重构指令或多个可重构指令;步骤404,根据程序的需要对队列的其它单元进行配置; 步骤405,根据程序的需要,打开对应的控制单元对配 置单元进行重新配置,生成相应新指令,其它部分不变;步骤406,有新的需要重新配置吗? 如果是则转到步 骤404,如果否则转到步骤406。
7、 根据权利要求6所述的动态可重构指令计算机,其特征是 一条可重构指令完成一个完整的功能,指令配置完成后, 数据从输入端流入动态可重构指令处理器处理好的结果从 输出端输出。
8、 根据权利要求6或权利要求7所述的动态可重构指令计算 机,其特征是可重构指令能通过配置电路不断动态重新 配置、更新。
9.构指令处理器中可重构为多 条不同的可重构指令;在动态可重构指令处理器中可重构 为几条相同几条不同的可重构指令。
10、 根据权利要求6或权利要求7所述的动态可重构指令计算 机,其特征是多条动态可重构指令可组合成新的指令。
全文摘要
本发明动态可重构指令计算机处理器及实现方法,涉及一种由动态可重构集成电路组成的动态可重构指令计算机处理器,动态可重构集成电路连接动态可重构集成电路的配置电路、用户数据输入/输出电路、随机存储器、键盘、鼠标、显示器;动态可重构集成电路包括多个可重构单元,每个可重构单元由带配置队列的SRAM可重构电路和配置时钟构成;当对应的配置单元的配置时钟允许时对配置单元进行配置,即更新对应的指令;当配置时钟禁止时,不对配置单元配置数据进行更新,保留原有的配置,即保留原有的可重构指令。本项目可广泛应用在PC机、普适计算、嵌入式处理器、通信处理器、网络处理机尤其是网格计算的处理器,具有广泛的应用前景。
文档编号G06F15/76GK101364214SQ20071007048
公开日2009年2月11日 申请日期2007年8月8日 优先权日2007年8月8日
发明者华晓勤, 顾士平 申请人:顾士平
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1