售前电话
135-3656-7657
售前电话 : 135-3656-7657
在大众已经习惯的计算模式中,处理器和专用集成电路(ASIC)一直是两大主流。伴随着应用领域特别是嵌入式环境对系统的性能、能耗、上市时间等指标需求的不断提高,传统的计算模式暴露出了种种弊端。可重构计算技术集中了处理器和专用集成电路的优势,能够提供高效灵活的计算能力,自上世纪九十年代以来越来越受到业界的重视。不过,目前对可重构计算技术的研究仍旧处于初期阶段,还有很多难题等待解决。
可重构冲击传统计算模式
面临一个应用,如何去实现它?软件设计者会使用编程语言编写一段代码,将其编译后在处理器上执行;硬件设计者则会利用原理图或者硬件描述语言进行设计,然后以专用集成电路的方式实现。处理器和专用集成电路已经成为了传统计算模式的两大主流,我们也已经习惯了这两种计算模式。但在和这两位“老朋友”打交道的时候,仍旧会时不时感觉到有很多不尽如人意的地方。
处理器(包括通用处理器和各种专用的嵌入式处理器)计算模式的特点在于它们都具有各自的指令集,通过执行指令集中的相关指令来完成计算,改写软件指令就能改变系统实现的功能,而不用去改动底层的硬件环境。但处理器的运算速度要比ASIC慢很多,这主要是因为处理器必须从存储器中读取每条指令,将其译码后再执行,因而每个独立的操作具有更高的执行开销。另外,处理器的指令集是由处理器自身体系结构决定的,没有用专门指令实现的操作只能使用已有的指令组合来处理,这也增加了执行的开销。
专用集成电路是针对某一特定应用专门设计的硬件电路。专用集成电路计算模式的特点在于用硬件来实现应用的操作。因为针对特定应用设计,所以在执行相应应用时具有很高的速度、效率和精度。但其缺陷在于开发周期太长,代价太高。而且硬件电路一旦制作好以后是不能够被随意改动的。这就意味着如果功能的需求发生了变化,就需要重新设计和重新加工新的专用集成电路芯片。哪怕只是芯片上的很小一部分线路需要修改,也要重新制作整个芯片。如果针对各种不同的应用都专门设计专用的电路芯片,就会带来高昂的成本。
由此可见,现有的主流计算模式中存在的主要问题是:处理器方式能够灵活地实现各种应用,但却在性能上有缺陷;而硬件逻辑实现性能虽然高,但灵活性却很差。为了在计算性能和实现灵活性上做一个很好的权衡,可重构计算( )技术浮出了水面。
技术发展现状
可重构计算的概念早在上个世纪六七十年代就有学者以不同的表述方式提出过。由于技术条件的限制,直到九十年代中期才逐渐兴起。目前比较权威的定义是“设立物理控制点定制硬件该如何工作,通过改动这些控制点使用户能够使用相同的硬件执行不同的应用”。当前已经有多个基于可重构计算技术的原型系统被开发出来,运用在自动目标识别、串匹配、数据压缩等应用领域,取得了非常好的效果。最近几年,可重构计算技术已经迈过了探索阶段,研究者们开始更深入地对可重构计算通用模型进行研究,为后续的可重构计算系统的广泛应用打好基础。
当前在研的可重构计算系统往往由一个或多个可重构逻辑器件以协处理器的方式和一个通用处理器耦合而成,如图2所示。这里的可重构逻辑器件可以是系统定制的,也可以是商业化的部件(如FPGA芯片)。对可重构逻辑器件进行的配置可以使它实现相应的功能,能够以准ASIC的计算速度对应用中的计算密集部分给予加速执行以提高整个应用的执行性能。系统中的通用处理器主要负责对可重构逻辑器件进行资源管理和任务调度。另外,应用中存在的那些不能够采用硬件逻辑实现或者采用硬件实现也不会带来很大性能收益的部分也需要在通用处理器上编程实现,例如递归操作。因为每一层递归都需要使用相同的资源,而递归的层数又往往不能预先知道,硬件无法预留够充足的资源,所以此类操作适合在通用处理器上实现。
可重构计算技术的研究对可重构逻辑器件的开发有着极强的依赖性。正是由于可重构计算系统中使用了可编程逻辑器件,才使得它能够高效灵活地实现多种应用。在研究的早期,研究者们受到可重构逻辑器件的限制,并不能开展很多卓有成效的工作。因为缺乏统一的可重构硬件平台,一些研究机构针对某些特定应用开发了自己相应的可重构逻辑器件。这些器件缺乏一致的模型,彼此间不兼容,不具有普适性。而专门的可重构逻辑器件开发带来的高昂代价也给可重构计算技术的普及设置了巨大的障碍。伴随着超大规模集成电路技术的不断进步,集成在芯片上的门电路数目可以做到“数以百万计”,这使得业界能够设计出功能强大结构复杂的可重构逻辑器件,也昭示着可重构计算技术迎来了发展的大好时机。当前的很多商业化可重构逻辑器件具备有充足的可编程逻辑资源,有的芯片上还集成了乘法器、RAM等结构,在最近的高端产品上更是集成了处理器核来增强系统的功能和性能。