可重构系统原型设计及动态重构技术实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可重构系统原型设计及动态重构技术实现

摘要:可重构计算具有应用灵活、性能高、功耗低、成本低等优势。动态重构技术作为可重构计算的配置方法,具有配置方法灵活、耗时短、任务实时响应能力强等特点。文章首先提出了可重构系统原型的设计思路,并着重分析了可重构计算单元、存储单元、可重构管理单元等关键模块的设计理念。然后分析了动态配置技术的实现原理,并且基于可编程逻辑阵列,搭建了“嵌入式处理器+总线+可重构计算单元”的硬件系统,并实现了两种图像处理IP核的动态配置。

关键词:可重构计算;系统原型;动态配置技术

引言

可重构系统一般由主处理器耦合一组可重构的硬件部件,处理器负责任务的调度,而可重构的硬件部件负责执行算法[1]。可重构架构的研究主要集中在以下几个方面:不同粗细粒度的架构研究、处理单元结构研究、处理单元的互联方式研究、新型存储结构研究等。可重构系统的重构方法主要包含两大类:静态重构技术、动态重构技术。静态重构需要整个系统复位,往往需要断电重启;动态重构技术是在系统不断电的情况下,可以完成对指定计算资源、逻辑资源的模块级或电路级重构,具有功能实时切换、资源可复用等优

动态重构技术作为一种计算系统的新型配置设计思路,从传统的追求计算资源“大而全”,向追求资源的利用率转变。与传统的静态配置或完全配置方法相比,动态重构技术无需对所有计算资源重构,可以有选择性的进行重构资源加载,一方面,能够保证系统在其他单元正常工作的同时,根据待处理任务需求及数据特点完成自适应配置,保证了对逻辑资源的时分复用;另一方面,能够大大缩短功能切换单元的配置时间,保证任务的无缝对接及实时处理。

文章组织结构如下:首先提出了可重构系统原型的设计思路,从可重构计算单元、存储单元、可重构控制单元等多个方面做了细化阐述;然后分析了动态配置技术的实现原理,并基于Xilinx开发平台,搭建了“嵌入式处理器+可重构计算单元”的验证系统,实现了粗化、细化两种边缘提取IP核的动态配置;最后对试验结果进行评估。

1 可重构计算系统架构设计方案

可重构计算原型系统的体系架构采用RISC架构通用处

理器(CPU)、可重构控制单元、可重构计算阵列、可重构I/O 接口和存储系统等部分组成。CPU与可重构计算阵列之间为并行处理关系。从系统设计复杂度和灵活度考虑,两者采用总线结构耦合。因此,在系统平台架构中,通用处理器、计算单元和接口单元之间采用总线连接方式。其系统架构见图

系统变换形态流程如下:系统进行计算功能变换时,通用处理器向可重构控制单元发送重构命令,可重构控制单元管理、调度硬件资源,并上报系统工作状态;当系统资源准备就绪后,通用处理器控制可重构硬件读取硬件配置数据并加载到器件中,以变换可重构计算单元或接口单元的形态,统一变换系统中全局存储空间的划分、管理及访问控制,各计算模块共享内存区的映射关系图;同时,根据新的计算形态加载相应的软件和数据,最终完成整个系统形态变换流程。功能切换时,只对可重构硬件的一部分进行重新配置,其他部分可继续执行任务。动态部分重构可以减少配置数据,加快了计算形态变换速度,提高了系统的适应性和灵活性。

通用处理器运行操作系统,负责系统的控制、计算形态管理、计算资源管理和任务调度;处理那些控制比较复杂、不便映射到硬件上,且计算量较少的计算任务,如变长循环、分支控制、存储器读写等。可重构硬件则用于处理计算量大、并行度高、任务相关度低的部分,执行程序中拥有规则的数据访问模式,控制简单的那部分“计算密集型”代码,主要由可重构控制单元、可重构计算单元、可重构I/O接口及片

上高速总线组成。其中计算单元及I/O接口可根据应用需求

重构为不同的计算形态。

1.1 可重构系统计算单元模型设计

可重构系统计算单元的基本思想要求将计算和存储两

部分进行解耦合,因此采用了数据和指令存储物理分离的哈佛结构,将数据访问模块、指令组织与调度模块和指令执行模块分离。同时,根据流处理模型中生产者消费者局部性的特点,将数据访问模块划分成软件可管理的多个存储层次,各自保持独立运行。可重构系统计算单元主要有三个部分组成:控制单元、存储单元、可重构处理单元阵列。

控制单元。执行算法时,控制单元对可重构系统计算单元进行总体控制,协调可重构处理单元阵列、配置存储器、本地存储器、数据分配单元、数据合并单元的运行,根据系统运行状态和各个单元内部控制信号的反馈信息,改变各个单元的状态,保证系统正确运行。

存储单元。存储单元分为三部分:数据存储,寄存器堆以及配置存储。数据存储包括本地存储器,数据分配单元以及数据合并单元。本地存储器用于存储可重构处理单元阵列计算需要的输入数据和输出数据;数据分配单元用于从本地存储器或寄存器堆中读取数据;数据合并单元用于向本地存储器或寄存器堆写入计算单元的输出数据。寄存器堆用于存储中间数据,并向阵列发送配置字。

可重构计算基础单元。可重构计算单元是可重构阵列的核心部分,可以理解为粗粒度的最小计算单元。为了能够执行更多类型的算法,需要支持尽量更多的功能。例如,对于

常用的计算密集型运算,需要支持FFT、FIR、DCT和点积等功能。因此成熟的可重构系统中,应该包含足够多基础功能、不同粒度需求的可重构计算资源库,以便于更加灵活的资源组合。

1.2 可重构系统存储单元模型设计

可重构计算系统的存储单元由CPU和可重构阵列共同访问操作。因此,存储单元主要研究CPU和可重构计算单元对内存访问的协调与控制机制,存储单元的模型设计需要主要解决如下问题:避免内存访问冲突、解决多个处理器模块并行工作会降低主存的访问效率的问题、解决可重构计算单元面临的端口和速度的限制。

存储管理单元主要解决多个模块并行工作时会降低访

存效率的问题:多个模块共享片外内存会引起访问冲突从而导致等待;访问片外内存的端口数量非常有限,不利于数据通路中的并行访问。主要采取如下改进措施:(1)为可重构硬件平台增加内存管理单元,实现片外和片上内存的映射,保持数据一致性;(2)为内存访问提供多端口流水化处理或数据预读取;为应用提供定制化的缓存结构。 1.3 可重构管理单元模型设计

可重构管理单元负责控制任务,它主要接收通用处理器指令,完成系统形态管理和资源管理;计算单元的软件加载、配置管理和数据交换等任务。

相关文档
最新文档