小型微型计算机系统.pdf
《小型微型计算机系统.pdf》由会员分享,可在线阅读,更多相关《小型微型计算机系统.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、收稿日期:2006207217作者简介:梁克,男,1982年生,博士研究生,研究方向为网络化嵌入式计算技术;张凯龙,男,1977年生,博士研究生,讲师,研究方向为网络化嵌入式计算技术;周兴社,男,1955年生,硕士,教授,博士生导师,CCF高级会员,研究方向为嵌入式、分布式计算.可重构硬件操作系统技术梁克,张凯龙,周兴社(西北工业大学 计算机学院,陕西 西安710072)E2mail:摘要:为了充分发挥可重构计算的高性能和可编程能力,需要将可重构资源和硬件任务纳入到操作系统管理范畴.因此面向可重构计算的操作系统技术可重构硬件操作系统技术成为一个新的研究热点.本文在简要介绍可重构计算系统体系结构
2、的基础上,详细介绍了国内外的研究现状.最后,结合可重构计算系统的特点,阐述了可重构硬件操作系统的关键技术.关 键 词:可重构计算;可重构硬件操作系统;FPGA;硬件任务中图分类号:TP313文献标识码:A文 章 编 号:100021220(2007)1122047204Reconf igurable Hardware Operating SystemL I AN G Ke,ZHAN G Kai2long,ZHOU Xing2she(S chool of Computer,N orthw estern Poly technical U niversity,X ian710072,China)Ab
3、stract:It is necessary to manage the reconfigurable resources and hardware tasks for operating system,which can bring high2er performance and programmable ability.Therefore,reconfigurable hardware operating system for reconfigurable computinghas been a novel hot topic in last few yeas.In this paper,
4、the architectures of reconfigurable computing system s are presentedbriefly.A nd then existing research is introduced in detail.Finally,the key technology for reconfigurable hardware operating sys2tem is set forth according to the features of the reconfigurable computing system.Key words:reconfigura
5、ble computing;reconfigurable hardware operating system;FPGA;hardware task1引言可重构计算提供了一种新的技术路线与方法,既具有A2SIC的高性能、高速度和高可靠性,又具有微处理器的高度“柔性”和强大的可编程功能.早在20世纪60年代末,美国加利福尼亚大学的Geraid Estrin就提出了重构计算的概念,并研制了原型系统.1986年Xilinx公司第一款基于SRAM的FPGA问世,为可重构计算的实现提供了技术支持,也标志着现代可重构计算的开端.可重构计算基于现场可编程门阵列,即FPGA.可以这样认为,FPGA技术的发展,推
6、动了可重构技术的发展,而可重构技术的进步和需求,也促进了FPGA技术的进步1.然而在传统的设计中,FPGA在系统中类似于A SIC,基本上都是作为硬件加速器由用户直接管理和使用,操作系统作为资源管理者并不参与管理,至多提供一些驱动作为支持.但是,随着可重构计算的深入研究以及FPGA应用范围的不断扩大,人们发现这种方式忽略了FPGA内在的可重构特性以及任务潜在的并行性,增大了系统设计难度,也降低了FP2GA的性能.因此,在最近几年,面向可重构计算的操作系统,即可重构硬件操作系统2技术成为一个新的研究热点.操作系统不仅能够给应用开发者提供便利,而且可以为应用程序提供运行时的支持,可重构硬件操作系统
7、的发展至少可以带来以下好处223:(1)软件可移植性(Portability).对于应用软件,操作系统屏蔽了硬件的细节和差异,对资源进行了抽象.这使得开发者可以专注于软件的功能和性能,而不必担心硬件变化导致程序的大量修改.(2)系统的适应性.在运行的时候,可以通过对硬件的重构以及重新划分系统资源,以达到新建或者终止任务的目的.也可以把原本在CPU上运行的任务迁移到FPGA上运行,以提高运行速度或者达到负载均衡.(3)较高的运行性能.操作系统负责资源和任务管理,以最大限度提高系统的并行性和资源的利用率.特别是对动态和部分可重构系统,选择合适的可重构资源粒度和任务大小,可以极大提高系统的性能.但可
8、重构硬件操作系统又不同于传统的操作系统,它拥有并管理通用微处理器和FPGA两种资源,要处理软件任务和可重构系统特有的硬件任务(Hardware Task),即电路逻辑.这些特点为可重构硬件操作系统的研究提出了新的问题.2可重构计算系统体系结构现有的可重构计算系统不仅包含了可重构逻辑资源,还包括了固定逻辑资源,可能是一个宿主机或者微控制器.按照它们之间的耦合程度,可以将可重构计算系统的体系结构划小型微型计算机系统Journal of Chinese Computer System s2007年11月 第11期Vol128 No.112007分为四类4.2.1独立处理单元模式这是最松散的耦合形式.
9、可重构逻辑一般包含多个FP2GA,作为主处理机(宿主机)外部独立的处理单元,两者通过通用外部接口总线连接起来.显然,这种结构容易构造,方便编程,并且可以根据需要灵活选用不同的宿主机.但是接口总线承担了所有的数据交换,它的性能成为系统的瓶颈,限制了系统的性能加速比.2.2协处理器模式FPGA阵列与CPU之间通过独立的数据总线和控制总线连接,对CPU来看,相当增加了一个协处理器.执行运算时,任务被划分为硬件部分和软件部分,分别在FPGA和CPU上运行.和第一种结构相比,取消了外部通用接口,大大提高了数据交换速度.CPU也可以选择适合应用的各种产品,只要它支持类协处理器的工作方式即可.2.3功能单元
10、模式CPU不是通常商业上可以直接应用的成品,而是以核的形式提供,与可重构逻辑资源集成为一个芯片.可重构资源可以作为主处理器类似于ALU的功能单元,通过系统总线相连,解决了数据交换的瓶颈问题.但这类结构的系统要求按照全定制的方式设计专用集成电路,难度较大.A ltera公司和Xilinx公司各自推出了Excalibur和V irtex2II Pro系列,增加了内嵌式的微处理器核.2.4处理器、存储器和可重构逻辑紧耦合在实现了CPU和FPGA之间高速通信后,增加片上的高速 缓存可以明显提高CPU的性能,因此这种结构实现了CPU、存储器和可重构逻辑集成在同一个芯片上,三者之间以很高的带宽传递数据,称
11、为单芯片可重构计算系统.3相关研究Brebner在文献5中提出了虚拟硬件操作系统的概念,这 是对可重构硬件操作系统的最早研究.他分析了XilinxXC6200 FPGA的特点,认为这种类型的FPGA支持对基本单元(Cell)有选择地进行快速重构,同时每个Cell都有一个寄存器,可以通过寄存器的配置实现FPGA和其他系统模块的交互.由于这些特点,虚拟硬件操作系统把FPGA看作是微处理器的一部分内存,像对内存操作一样对其进行操作.在此基础上,他提出应用程序可以被设计成可交换逻辑单元SLU(SwappableLogicU nit)的集合,而操作系统负责SLU的部署以及通信.为此,他提出两种虚拟硬件模
12、型:sea of accelerator和parallel harness.前一个模型中,每个SLU是独立的,各自完成一定的计算功能,通过对寄存器的操作进行访问;后者的SLU是相互协作的并行处理单元,通过操作系统提供的外围信号和连接设施实现通信.最终,Brebner通过基于XC6200的实验证明了两种模型的可行性.Burns6通过对可重构计算多个应用实例的研究分析,认为一个用来管理FPGA动态可重构的运行时系统必须包含以下几个功能:提供给应用程序访问FPGA的接口;支持多个任务或者应用共享一个FPGA;允许改变一个硬件任务在FPGA上的部署;对硬件任务以及FPGA的抽象表示.基于此,他还介绍了
13、一个可扩展的运行时系统RA GE,核心部件包括虚拟硬件管理器、转换器、配置管理器以及设备驱动.但是Burns没有考虑对FPGA资源的管理以及硬件任务的划分.Shiraz7提出了一个可重构管理器,它包含了一个监视器,用来接收正在运行的应用程序的请求,然后通知装载器把对应的电路配置信息下载到FPGA的某个地方.这里的监视器所扮演的正是操作系统的角色,但是文章没有给出如何在FPGA上寻找适合硬件任务运行的资源.Davis8基于JAVA提出了一个层次性的可重构计算运行环境.他将硬件资源抽象成硬件对象,对这些对象的操作就实现了对底层硬件的操作.最底层是设备抽象层(Device A b2straction
14、 L ayer),也是软?硬件映射层;中间是部署?路由层,用来指明硬件对象应该部署的位置以及相互的连接关系;最上层是可重构硬件对象调度器,用来解决多个任务使用同一个硬件对象的问题.遗憾的是,文章没有给出这种层次性体系结构的实现.Jean9定义动态可重构系统是指当一部分可重构硬件在运行的时候允许另一部分重构,并提出了一个针对动态重构系统的资源管理器(RM),负责给任务分配资源或者剥夺正运行任务所占有的资源.文章通过实验证明,引入RM对缩短任务执行时间、提高系统并行性有很大帮助.但是该RM的设计和实现是基于多个FPGA作为可重构硬件资源,没有涉及到单个FPGA内部资源的管理.Rakhmatov10
15、提出的自适应多用户联机可重构引擎AMORE(A daptiveM ultiuser Online Reconfigurable Engine)也是面向多个FPGA组成的硬件集群(hardware cluster)的运行支撑环境,它不仅包含了资源的分配,还包括任务的调度和同步.G.W igley在文献11212较为系统地介绍了可重构硬件操作系统所提供的服务,操作系统的体系结构中包括的功能模块有:划分(Partitioning),实现对任务图的划分;分配(A llocation),决定任务在FPGA上运行的位置,用一个矩形框描述;部署(Placement),实现映射在FPGA上的各个任务节点之间的
16、连接.I M EC(Interuniversity M icro Electronic Center)的可重构计算研究小组在13中认为OS4RS(Operating System forReconfigurable System s)所包含的主要功能有任务的创建?销毁、异构任务的动态迁移、任务之间的相互通信等.他们也指出,支持软、硬件任务调试以及允许对操作系统模块和用户任务的跟踪监控也是可重构硬件操作系统的一个重要特征.H.W alder在14中提出了基于Xilinx V irtex的部分可重构系统运行环境,详尽地介绍了可重构硬件操作系统的体系结构以及相应的硬件任务设计.他把操作系统的功能模块
17、分为两部分,分别运行在CPU和FPGA上,通过OS2Brige进8402小型微型计算机系统2007年行通信.操作系统将FPGA划分为运行操作系统功能的静态区和运行用户任务的动态区.每一个硬件任务有多个输入、输出接口及一个控制接口和CL K信号.W alder开发了XF2Board平台15,并在此之上实现了该硬件操作系统模型.目前国内对可重构硬件操作系统的研究非常少,复旦大学计算机与信息技术系提出了基于统一多任务模型可重构系统的实时操作系统SHUM2UCOS16.它能够跟踪和管理可重配置资源的使用,通过硬件任务预配置技术,提高了资源利用率和任务并行性.定义了两种标准硬件线程接口,对总线型和星型通
18、信拓扑结构提供支持.4可重构硬件操作系统的关键技术4.1统一的任务模型软件任务和硬件任务由于实现方式和物理基础不同,存在较大差异2,4:软件任务是串行执行的指令集合,可以被任意分割成相同大小的子集合,但是硬件任务是二维的逻辑电路,分割比较困难;软件任务的挂起可以通过保存固定数目寄存器的值来以及任务堆栈来实现,而硬件任务的挂起操作与实现方式有关,所要保存的任务状态数目是不固定的;软件任务中,代码和数据是分开的,但是对于硬件任务数据和计算元素(computational elements)之间的区别不是那么明显;软件任务的数量受限于存储器容量,而硬件任务的数量受限于可重构资源的数量.因此,软件任务
19、模型不能直接运用于可重构硬件操作系统中.我们的最终目标是使得软硬件任务对设计者透明,因此,建立统一的任务的模型是可重构硬件操作系统需要解决的关键问题.4.2资源管理相比普通的计算系统,可重构系统中的特殊资源包括:可重构逻辑阵列、路由资源、输入?输出块、外部存储器等.目前大多数研究主要集中在可重构逻辑块的分配,它实现了硬件任务到FPGA的映射,且满足分配的区域不超过可用区域的边界.图1可重构区域的一维(左)和二维模型(右)Fig.1Reconfigurable resource models:1D area model(left);2D area model(right)资源管理部件要随时跟踪可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 微型计算机 系统
限制150内