可重构计算

本页使用了标题或全文手工转换
维基百科,自由的百科全书

可重构计算Reconfigurable computing) 是一种具有高度弹性运算组织构造英语computing fabric电脑处理方式英语computer processing。和使用平常的微处理器主要不同的地方在于,可重构计算具有能力对资料路径英语data path控制流程做实质上的改变。

历史与特性

可重构计算的概念,在六零年代(1960s),当Gerald Estrin指针性的文章中,提出一台电脑里拥有一个标准处理器和一个可重组硬件矩阵的概念时就已经普及。主要的处理器负责控制可重组硬件。可重组硬件将被客制成执行一项特殊的工作,比如影像处理模式比对英语Pattern matching,如同特制一部分硬件一般快。当某个工作完成,硬件会被调整适合执行另一项工作。这种混合的电脑结构拥有软件的弹性伴随着硬件的速度。不幸的是这个想法远远超过了当时的电子技术

粒度

指可重构计算模块的最小位宽。影响重构的代价和效率。颗粒度小,重构灵活性大,但配置资讯多,重构开销大;颗粒度大,重构灵活性小,配置资讯少,处理低位宽数据会浪费计算单元降低效率。

重组速率

与主运算单元耦合

绕线/相互链接

在可重组装置上所谓的灵活性(flexibility)主要取决于他们之间路径的互连(interconnect)。其中一种普及的互连的型式为岛状配置(island style layout)产生于场效可编程规化闸数组(FPGA)厂商,如Xilinx和Altera,其中区块(blocks)被排列成矩阵利用垂直和平行方向绕线(routing)。一个不适当绕线(routing)的布局(layout)会使其缺少弹性(flexibility)和有着较低的资源利用程度(resource utilization),因此而提供有限的性能。如果有太多的互连(interconnect)则会有较多不必要的晶体管,因此需要较大的硅晶空间,较长的电线和较多的能源消耗。

使用工具流程

通常,可组合计算系统(configurable computing system)的工具可以分成两个部分,用在可重组矩阵(reconfigurable array)的电脑辅助设计工具(CAD)和用在CPU方面的编译(compilation)工具。前端(front-end)的编译器(complier)是一种集成的工具,会产生结构化的硬件描述(hardware represatation)当成硬件设计流程(hardware design flow)的输入。可重组结构(reconfigurable architecture)的硬件设计流程可以利用设计程序(design process)的三个主要阶段来分类,技术映射(technology mapping),摆置算法(placement algorithm),绕线算法(routing algorithm)。

有一些类型的可重构计算机是被微程序化(microcoded)的处理器,其中微程序被存在随机存储器RAM)或EEPROM中,而且可以在重启(reboot)改变或执行中(on the fly)改变。像是 AMD 2900系列的bit slice 处理器可以在重启办到,而FPGA可以在执行中办到。

有些基于数据流的处理器是利用可重构计算的概念完成的。

模式的转移

专业用语

参见

参考文献

  • G. Estrin, "Organization of Computer Systems—The Fixed Plus Variable Structure Computer," Proc. Western Joint Computer Conf., Western Joint Computer Conference, New York, 1960, pp. 33-40.
  • N. Tredennick: The Case for Reconfigurable Computing; Microprocessor Report, Vol. 10 No. 10, 5 Aug 1996, pp 25-27.

外部链接