预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

可重构系统原型设计及动态重构技术实现摘要:可重构计算具有应用灵活、性能高、功耗低、成本低等优势。动态重构技术作为可重构计算的配置方法,具有配置方法灵活、耗时短、任务实时响应能力强等特点。文章首先提出了可重构系统原型的设计思路,并着重分析了可重构计算单元、存储单元、可重构管理单元等关键模块的设计理念。然后分析了动态配置技术的实现原理,并且基于可编程逻辑阵列,搭建了“嵌入式处理器+总线+可重构计算单元”的硬件系统,并实现了两种图像处理IP核的动态配置。关键词:可重构计算;系统原型;动态配置技术引言可重构系统一般由主处理器耦合一组可重构的硬件部件,处理器负责任务的调度,而可重构的硬件部件负责执行算法[1]。可重构架构的研究主要集中在以下几个方面:不同粗细粒度的架构研究、处理单元结构研究、处理单元的互联方式研究、新型存储结构研究等。可重构系统的重构方法主要包含两大类:静态重构技术、动态重构技术。静态重构需要整个系统复位,往往需要断电重启;动态重构技术是在系统不断电的情况下,可以完成对指定计算资源、逻辑资源的模块级或电路级重构,具有功能实时切换、资源可复用等优势。动态重构技术作为一种计算系统的新型配置设计思路,从传统的追求计算资源“大而全”,向追求资源的利用率转变。与传统的静态配置或完全配置方法相比,动态重构技术无需对所有计算资源重构,可以有选择性的进行重构资源加载,一方面,能够保证系统在其他单元正常工作的同时,根据待处理任务需求及数据特点完成自适应配置,保证了对逻辑资源的时分复用;另一方面,能够大大缩短功能切换单元的配置时间,保证任务的无缝对接及实时处理。文章组织结构如下:首先提出了可重构系统原型的设计思路,从可重构计算单元、存储单元、可重构控制单元等多个方面做了细化阐述;然后分析了动态配置技术的实现原理,并基于Xilinx开发平台,搭建了“嵌入式处理器+可重构计算单元”的验证系统,实现了粗化、细化两种边缘提取IP核的动态配置;最后对试验结果进行评估。1可重构计算系统架构设计方案可重构计算原型系统的体系架构采用RISC架构通用处理器(CPU)、可重构控制单元、可重构计算阵列、可重构I/O接口和存储系统等部分组成。CPU与可重构计算阵列之间为并行处理关系。从系统设计复杂度和灵活度考虑,两者采用总线结构耦合。因此,在系统平台架构中,通用处理器、计算单元和接口单元之间采用总线连接方式。其系统架构见图1。系统变换形态流程如下:系统进行计算功能变换时,通用处理器向可重构控制单元发送重构命令,可重构控制单元管理、调度硬件资源,并上报系统工作状态;当系统资源准备就绪后,通用处理器控制可重构硬件读取硬件配置数据并加载到器件中,以变换可重构计算单元或接口单元的形态,统一变换系统中全局存储空间的划分、管理及访问控制,各计算模块共享内存区的映射关系图;同时,根据新的计算形态加载相应的软件和数据,最终完成整个系统形态变换流程。功能切换时,只对可重构硬件的一部分进行重新配置,其他部分可继续执行任务。动态部分重构可以减少配置数据,加快了计算形态变换速度,提高了系统的适应性和灵活性。通用处理器运行操作系统,负责系统的控制、计算形态管理、计算资源管理和任务调度;处理那些控制比较复杂、不便映射到硬件上,且计算量较少的计算任务,如变长循环、分支控制、存储器读写等。可重构硬件则用于处理计算量大、并行度高、任务相关度低的部分,执行程序中拥有规则的数据访问模式,控制简单的那部分“计算密集型”代码,主要由可重构控制单元、可重构计算单元、可重构I/O接口及片上高速总线组成。其中计算单元及I/O接口可根据应用需求重构为不同的计算形态。1.1可重构系统计算单元模型设计可重构系统计算单元的基本思想要求将计算和存储两部分进行解耦合,因此采用了数据和指令存储物理分离的哈佛结构,将数据访问模块、指令组织与调度模块和指令执行模块分离。同时,根据流处理模型中生产者消费者局部性的特点,将数据访问模块划分成软件可管理的多个存储层次,各自保持独立运行。可重构系统计算单元主要有三个部分组成:控制单元、存储单元、可重构处理单元阵列。控制单元。执行算法时,控制单元对可重构系统计算单元进行总体控制,协调可重构处理单元阵列、配置存储器、本地存储器、数据分配单元、数据合并单元的运行,根据系统运行状态和各个单元内部控制信号的反馈信息,改变各个单元的状态,保证系统正确运行。存储单元。存储单元分为三部分:数据存储,寄存器堆以及配置存储。数据存储包括本地存储器,数据分配单元以及数据合并单元。本地存储器用于存储可重构处理单元阵列计算需要的输入数据和输出数据;数据分配单元用于从本地存储器或寄存器堆中读取数据;数据合并单元用于向本地存储器或寄存器堆写入计算单元的输出数据。寄存器堆用于存储中间数据,并向阵列发送配置字。可重构计算