




已阅读5页,还剩82页未读, 继续免费阅读
(计算机科学与技术专业论文)面向动态可重构片上系统的过程级设计方法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向动态可莆构j i 1 :系统的过程级设计方法研究 摘要 可重构片上系统结合了通用处理器和a s i c ( a p p l i c a t i o ns p e c i f i ci n t e r g r a t e d c i r c u i t s ) 两者的优点,既能够提供硬件的高效率又具有软件的可编程性,近年来 已成为研究的热点。由于具有高性能、高可靠性和设计灵活等特点,此类系统在 数据加解密、航空航天、计算机辅助设计等领域有着广泛的应用前景。 但是目前可重构片上系统在实际的应用过程中仍然存在不少的困难。首先, 现有的可重构片上系统的编程模型仍然比较复杂,系统开发过程过于依赖设计人 员的开发经验和专业素质,进行系统开发的门槛较高,阻碍了此类系统更为广泛 的应用;其次,应用开发人员需要了解体系结构和可重构器件实现的底层物理细 节。而且由于应用领域不同,开发人员还需要针对特定领域需求,设计出相应的 可重构系统硬件模块;最后,面向可重构片上系统的设计自动化是一种被普遍认 可但尚未妥善解决的难题。针对可重构系统的特点,我们需要研究开发支持自动 任务划分、算法映射和设计优化的工具。 本文集中对面向可重构片上系统软硬件协同设计的硬件透明编程模型及其 相关的系统功能表示、硬件方法封装、软硬件方法动态链接等问题进行探索和研 究,主要工作如下: 1 提出了一种以j a v a 为描述语言的方法( 过程) 级硬件透明编程模型。该编程模 型基于软硬件协同方法库,并且支持动态软硬件划分。在该编程模型框架下, 程序设计者调用软件方法进行应用开发而无需理会底层的物理细节,开发效 率得到了提高。 2 提出了一种硬件方法封装方式并给出了详细流程。硬件方法封装有效地屏蔽 了硬件加速器逻辑功能的实现细节以及通信与同步的相关细节。同时该封装 方式可以帮助我们预先设计好面向领域的软硬件方法库,从而减轻开发人员 的工作。 3 设计并实现了一个运行时可重构j a v a 虚拟机。该虚拟机根据软硬件划分结果 动态加载并链接相应的硬件方法,从而达到简化编译器和综合工具、提高自 动化程度的目的。 实验结果表明上述编程模型能够支持硬件透明编程,同时系统性能得到了改 善。在本实验中取得的阶段性成果为后续研究奠定了一定的理论基础,并积累了 一些的实践经验。 关键词:可重构片上系统;硬件透明编程模型;硬件方法;j a v a ;软硬件划分 a bs t r a c t r e c o n f i g u r a b l es y s t e mo nc h i p ( r s o c ) t a k e sa d v a n t a g eo fb o t hg p p ( g e n e r a l p u r p o s ep r o c e s s o r s ) a n da s i c ( a p p l i c a t i o ns p e c i 疗ci n t e r g r a t e dc i r c u i t s ) ,h e n c ei t c a np r o v i d eh i g hp e r f d 珊a n c ea n dp r o g r a m m a b i l i t y ; a n dh a sb e c o m ear e s e a r c h h o t s p o ti nr e c e n ty e a r s b e c a u s eo ft h e s ew o n d e r f u l c h a r a c t e r i s t i c si n c l u d i n gt h e e x c e l l e n tp e r f l 0 咖a n c e , h i g hr e l i a b i l i t y a n dr i c hn e x i b l e n e s s , t h ed ”a m i c a l l y r e c o n f i g u r a b l ec o m p u t i n g ( d r c ) s y s t e m i su s e de x t e n s i v e l yi nm a n yf i e l d s ,s u c ha s d a t ae n c r y p t i o na n dd e c r y p t i o n ,a e r o s p a c e ,c o m p u t e r a i d e dd e s i g n ,e t c h o w e v e r t h e r ea r es t i l lm a n yp r o b l e m si nt h ep r a c t i c a la p p l i c a t i o n so fr s o c f i r s t0 fa n ,t h ee x i s t i n gp r o g r a m m i n gm o d e l so fr s o ca r ec o m p l e x d e v e l o p m e n t p r o c e s sd e p e n d so nt h ea p p l i c a t i o np r o g r a m m e r se x p e r i e n c ew h i c hm a yb eag r e a t b u r d e nt ot h es o f t w a r ed e s i g n e r sa n dm a yd e c r e a s ed e s i g n e r s e f f i c i e n c y ;s e c o n d l y d e s i g n e r sn e e dt 0k n o wt h ea r c h i t e c t u r a la n dp h y s i c a ld e t a i l so fr e c o n f i g u r l b l e d e v i c e b e c a u s et h e r ea r e al o to fd i f f b r e n ta p p l i c a t i o n s ,o p t i m i z a t i o no ft h e h a r d w a r em o d u l eo fr e c o n f i g u r a b l es t m c t u r ef o rs p e c i f i ca p p l i c a t i o n sw 订la l s ob ea t a s ko fd e s i g n e r s ;f i n a l l y ,i ti ss t i up e r a t i v e t or e s o l v et h ed e s i g na l l t o m a t i o n p r o b l e m i nv i e wo ft h ec h a r a c t e r i s t i c so fr e c o n f i g u r a b l es y s t e m s ,r e s e a r c ha n d d e v e l o p m e n ta r en e e d e dt od e v e l o pt o o l st os u p p o r ta u t o m a t i ct a s kp a r t i t l o n l n g , a l g o r i t h mm a p p i n ga n dd e s i g no p t i m i z a t i o n t h i st h e s i sf o c u s e so nt h es t u d i e so fh a r d w a r et r a n s p a r e n tp r o g r a m m i n gm o d e l , p r o b l e mo f i e n t e dh a r d w a r e s o f t w a r ec o d e s i g n a n dt h er e l a t e dt o p i c so fs y s t e m r e p r e s e n t a t i o n ,h a r d w a r em e t h o de n c a p s u l a t i o n ,p a r t i t i o n i n ga l g o r i t h m s ,a sw e l la s d y n a m i cl i n k a g eb e t w e e nh a f d w a r em e t h o da n ds o r m e t h o d t h em a i nc o n t r i b u t i o n s a r eo u t l i n e da sf b l l o w s : 1 an e wm e t h o d 1 e v e l ( f u n c t i o n 1 e v e l )h a r d w a r et r a n s p a r e n tp r o g r a m m i n g m o d e li sp r o p o s e d ,w h i c hu s e sj a v af o rs y s t e ms p e c i 6 c a t i o n t h i sm o d e lb a s e so n s o f t w a r e h a r d w a r em e t h o dl i b r a r y t h a ta l l o w s p r o g r a md e s i g n e r s d e v e l o p a p p l i c a t i o n sb yc a l l i n gs o f i t w a r em e t h o d sr e g a r d l e s so fu n d e r l y i n gp h y s i c a ld e t a i l s , w h i c hw i l lb et h ei n f r a s t r u c t u r ef o rd y n a m i ch a r d w a r e s o f t w a r ep a r t i t i o n 2 aw a yo fh a r d w a r em e t h o de n c a p s u l a t i o na n dt h ec o r r e s p o n d i n gd e t a i l e dn o w a r ep r o p o s e d h a r d w a r em e t h o de n c a p s u l a t i o ne f l f e c t i v e l ys h i e l d sh o wt oi m p l e m e n t t h eh a r d w a r ea c c e l e r a t o r sl o g i cf u n c t i o n ,a sw e l la sd e t a i l so fc o n l m u n i c a t i o na n d s v n c h r o n i z a t i o n i na d d t i o ni tc a nh e l pa p p l i c a t i o np r og r a n l m e r st oo p t i m i z et h e i r i l i 面向动态可蕾构j i f :系统的过程级设计方法研究 d e s i g nb yd e s i g n i n gad o m a i n - o r i e n t e dh a r d w a r e s o f t w a r em e t h o dl i b r a r y 3 ar u n t i m er e c o n f i g u r a b l ej a v av i r t u a lm a c h i n eh a sb e e nd e s i g n e da n d i m p l e m e n t e d t h ev i r t u a lm a c h i n el o a d sa n d “n k sh a r d w a r em e t h o d sa c c o r d i n gt o h a r d w a r e s o f t w a r ep a r t i t i o n i n gr e s u l t s ,s oa st os i m p l i f yt h ec o m p 订e ra n ds y n t h e s i s t o o l s ,a n di m p r o v et h ep r o f i c i e n c yo fa u t o m a t i o n t h ee x p e r i m e n t a lr e s u l t ss h o wt h a tt h ea b o v ep r o g r a m m i n gm o d e lc a ns u p p o r t t h eh a r d w a r et r a n s p a r e n tp r o g r a m m i n g ,a tt h es a m et i m es y s t e mp e r f o m a n c eh a s b e e ni m p r o v e d t h ei n i t i a lr e s u l t so b t a i n e df f o mt h i se x p e r i m e n th a v el a i dag o o d f o u n d a t i o nf o rf u r t h e rr e s e a r c h ,a n dw e v ea l s oa c c u m u l a t e ds o m ep r a c t i c a l e x p e n e n c e k e yw o r d s :r e c o n f i g u r a b l es y s t e mo nc h i p ;h a r d w a r et r a n s p a r e n tp r o g r a m m i n g m o d e l ;h a r d w a r em e t h o d ;j a v a ;h a r d w a r e s o f t w a r ep a r t i t i o n i n g l v 面向动态可系构j l :系统的过程级设; 方法硪究 插图索引 图1 1 集成电路设计能力与制造能力的对比3 图1 2 传统系统设计流程图4 图1 3 软硬件协同设计流程5 图2 1f p g a 结构示意图8 图2 2 可配置逻辑块结构示意图一9 图2 3 典型的可重构计算系统的体系结构图1 0 图2 4 几种典型的m e s h 型拓扑结构1 0 图2 5 经典f p g a 协处理器模型1 4 图3 1x i l i n x 软硬件协同开发流程1 9 图3 2 传统编程模型使用硬件加速器进行运算2 0 图3 3 湖南大学吴强、谢巍等人提出的新编程模型【4 3 1 2 1 图3 4 系统功能描述2 l 图3 5 透明编程模型2 2 图3 6 硬件透明编程过程2 3 图3 7 运行时数据流图一2 4 图3 8 系统功能表示的初始粒度一2 5 图3 9 过程级软硬件划分算法2 8 图3 1 0 软硬件方法抽象层次图2 9 图3 1 l 通过i p i f 连接o p b 总线的设备一2 9 图3 1 2 硬件方法的接口代码3 0 图3 1 3 类初始化过程3 l 图3 1 4j a v a 虚拟机体系结构一3 2 图3 1 5 运行时支撑环境3 2 图3 1 6a d d ( ) 方法的调用过程3 6 图4 1 透明编程模型系统框架- 3 7 图4 2 共享存储的异构多核体系结构3 8 图4 3 操作系统移植过程一4 0 图4 4 运行时软硬件方法管理链表4 2 图4 5 硬件方法封装过程4 5 图4 6k a f f e l 1 7 虚拟机的源代码目录结构4 6 图4 7k a f f e 虚拟机m a i n ( ) 函数体及其流程图4 6 v i i i 颈l 学位论丈 图4 8k a f f e 虚拟机k a f f ef i n d c l a s s ( ) 函数体及其流程图4 7 图4 9 虚拟机内部全限定名称定义4 7 图4 1 0k a f f e 虚拟机l o a d c l a s s ( ) 函数体及其流程图4 8 图4 1 1k a f f e 虚拟机f i n d c l a s s ( ) 函数体及其流程图4 9 图4 1 2 类与方法的内部表示结构体4 9 图4 1 3 虚拟机解释器函数体5 0 图4 1 4 几个重要的数据结构5 0 图4 1 5 硬件类装载流程图5 l 图4 1 6 运行时参数获取流程5 2 图4 1 7 软硬件方法动态链接过程5 3 图4 1 8 软件动态链接实现流程图5 4 图4 1 9 软硬件协同开发环境5 4 图4 2 0 红枫软硬件协同开发及运行过程5 6 图5 1v i r t e x i ip r o 开发板5 8 图5 2 模块设计流程图6 0 图5 3 系统模块设计布局6 1 图5 4 透明编程模型下编程方式一6 l 图5 53 d e s 加速器运行时间对比6 2 i x 面向动态町蓖构片i :系统的过程级设计方法研究 附表索引 表1 1g p p 、a s i c 及可重构系统比较一1 表3 1 虚拟机内部四种方法调用指令总结3 4 表4 1 几种嵌入式操作系统的比较3 9 表5 1x c 2 v p 3 0 片内资源5 8 表5 23 d e s 加速器所占f p g a 资源6 2 表5 3s c i m a r k 测试结果对比6 3 x 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名:肄 日期:如7 年f 月& 7 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇 编本学位论文。 本学位论文属于 l 、保密口,在年解密后适用本授权书。 2 、不保密团。 ( 请在以上相应方框内打“”) 作者签名:切戊 刷磴够匆娲 ,7 h 7 f o - 2 a 月月 j j 年年 叫1 期期 硕i j 学位论文 1 1 研究背景 第1 章绪论 1 9 6 3 年,美国加利福尼亚大学洛杉矾分校的g e r a i de s t r i n 等研究者首先提 出了可重构计算( r e c o n j f i g u r a t i o nc o m p u t i n g ,r c ) 的概念并研制了原型系统,这 个系统由非柔性但可编程的处理器和柔性的由程序控制重构的数字逻辑部件两 部分组成【l 】。虽然受到当时技术条件的限制,该原型系统的实现仅仅是对其设计 理念做了粗略的近似,但是它为后来的可重构计算系统研究奠定了基础。 直到1 9 8 4 年x i l i n x 公司推出其第一款f p g a ( f i e l dp r o g r a m m a b l eg a t ea r r a y ) 后,可重构技术才得到长足的发展【2 1 。f p g a 从起初的胶合逻辑( g l u el o g i c ) 元件 发展到了今天除通用处理器( g p p ) 及数字信号处理器( d s p ) 外的主要计算平台。 g p p 与d s p 的硬件电路结构固定,通过串行执行指令实现功能,软件设计灵活、 易升级、能处理大部分应用,但执行速度慢、占用芯片面积大。正因为如此,专 用集成电路( a s i c ) 在计算密集应用市场上仍然占据了大部分份额,比如数据加解 密、图像处理、无线信号处理等。 a s i c 采用硬件模式,通过固化的特定运算和单元电路完成功能,指令并行 执行、执行速度快、效率高,但开发周期长、缺乏灵活性。当应用需求变更时, a s i c 芯片将变得毫无用处。比如,在无线通信领域,现有的一些通信标准往往 不兼容,所以当用户全球漫游时,其手机终端需要支持不同的标准和频率。在这 种情况下,通常需要设计一组a s i c 芯片以支持所有的标准,这就导致了一个笨 重、耗电以及浪费的设计。 表1 1g p p 、a s i c 及可重构系统比较 在一些实时性和灵活性要求都比较高的场合,采用通用微处理器或者a s i c 的效果都欠佳,研究人员开始求助于可重构系统以满足某些特定应用需求。相比 之下,可重构系统的成功主要是源于其两种特性f 3 】:1 ) 可重构性,其允许设备适 应不同的应用。2 ) 空域计算,相对于g p p 与d s p 的时域计算,可重构系统的空 面向动态町蕈构j i f :系统的过程级设汁方法研究 域计算被证明能极大的提高系统性能。文献 4 】证明在d n a 匹配问题上,可重构 系统比g r a vi i 计算机的性能提高超过3 0 0 倍。可重构系统的优势在于其能在性 能与灵活性之间获得平衡,一个设计良好的可重构系统既可以达到a s i c 的性能, 又能保持类似软件的灵活性。表1 1 总结了g p p 、a s i c 及可重构计算三者之问 的区别。 近年来,随着微电子技术、计算机技术的发展,尤其是大规模高性能的可编 程器件的出现、软硬件设计方法和设计工具的改进,可重构计算技术逐渐成为国 际上计算系统研究中的一个新热点。可重构技术利用了可编程器件可多次重复配 置逻辑状态的特性,既具有通用微处理器的设计灵活、易升级的特点,又具有专 用集成电路设计的速度快、效率高的特点。基于这种技术的可重构系统,能以较 少的硬件资源实现较复杂的逻辑电路功能,在提高系统执行速度的同时又显著地 降低了系统成本,在计算机辅助设计、数据压缩等领域有着广泛的应用前景。 1 2 研究动机 自1 9 5 8 年第一块集成电路在t i 公司实验室诞生以来,集成电路制造技术基 本遵循戈登摩尔( g o r d o nm o o r e ) 博士19 6 5 年发表的著名预测一一“摩尔定律 ( m 0 0 r e sl a w ) 【5 1 ,即单个芯片上晶体管数目基本为每l8 个月翻一番。这主要 得益于集成电路制造工艺的改进使得集成电路单元特征尺寸呈指数级减小。随着 集成电路制造技术进入超深亚微米工艺时代,芯片集成度进一步提高,使得集成 电路设计人员可以在单个芯片上集成包括微处理器、存储器、专用集成电路模块 以及可编程器件在内的各种模块,组成一个具有复杂功能的完整系统。这一类芯 片产品和设计方式被称为系统芯片,或片上系统( s y s t e m o n c h i p ,s o c ) 。系统芯 片的出现为电子产品的开发带来了新的机遇,也给芯片设计技术及电子设计自动 化( e l e c t r o n i cd e s i g na u t o m a t i o n ,e d a ) 工具带来了新的挑战。 同时,设计人员开始考虑将g p p d s p 与可重构系统进行结合,可重构系统 开始向异构的方向发展。例如,x i l i n x 已经将p o w e r p cc p u 集成在其v i r t e xi i p r o 产品系统中【6 】;同时,a l t e r a 在其s t r a t i xi i 设备系列中集成了9 6 个d s p 块【7 1 。 这两个业界领导者的新产品暗示着可重构片上系统将是未来发展的方向。 可重构片上系统设计新的挑战主要源于以下两个方面:第一是快速增长的系 统复杂性。系统复杂性源于两个因素:一是集成度的增加使得单一芯片上晶体管 数目成指数级增长;二是消费者对电子产品更多功能、更低价格的需求,以及产 品更短上市时间的压力。前一个因素使现有的设计工具在日益增加的晶体管数目 面前显得不堪重负,力不从心。后一个因素使设计任务更加繁重,而允许的设计 周期却越来越短。两个因素都对集成电路的设计能力提出了严峻挑战,但目前设 计能力( 折算成设计人员每人月平均可完成的晶体管数目1 的增长速度远远落后 2 硕i j 学化论文 于制造能力所能提供的芯片容量的增长速度。根据1 9 9 7 年的s e m a t e c h 技术蓝 图报告【引,单一芯片上品体管数目平均每年增长5 8 ,而设计工程师每人月平均 能完成设计的晶体管数目平均每年只增长2 1 ,随着时间的推移,设计能力与 制造能力之间的差距将越来越大,从而产生了所谓的“设计危机 ,如图1 1 所 示。 p c y t e n t i a ld e s i g nc o m p i e x i t ya n dd e s i g n e rp r o d u c t i v i t y , l 0 9 i ct r ,c h i p e q u l l e ma d d 州c o m p i e x 哆一7 t r s m 一7 一一 呷岫9 r 硼馆令:骸# 。澎 一 左彳lp f 么彳一= 淼器篱各 r n的卜a r n岫卜o r一田卜西 西。西。 西o o o o 9 西 西西o o a o西。西o o o 9鱼 r f r r r r f r r n n n n n 图1 1 集成电路设计能力与制造能力的对比 另一个方面就是所谓的硅复杂性,硅复杂性源于集成电路制造工艺不断进步 引起的特征尺寸成指数级减小和新材料、新器件及互连结构的使用所带来的影 响。一个典型的表现就是当集成电路特征尺寸进入深亚微米和超深亚微米以下 后,芯片中互连线的延迟超过逻辑门的延迟成为影响芯片性能的主要因素。 面对集成电路制造技术发展带来的挑战,集成电路设计技术一方面需要提供 新的物理设计方法和工具解决超深亚微米工艺下互连线延迟建模和估算、串扰和 噪声消除、信号完整性、电源管理和降低功耗、时序满足等一系列硅复杂性问题。 另一方面,针对系统复杂性问题,集成电路设计迫切需要提高设计效率,弥补设 计能力与制造能力之间的鸿沟。 一个自然而然的方法就是尽量复用预先设计并经过验证的模块,加快设计进 度。这种模块可以是自己预先设计好的模块,也可以从第三方购买,因此被称为 知识产权( i p ) 核。1 9 9 4 年7 月b y t e 杂志报导p e e r l e s ss y s t e m s 公司在一个激光 打印机控制芯片的设计中使用了m o t o r o l a 公司基于6 8 0 0 0 的嵌入式微处理器核 f l e xc o r e ,这可能是基于i p 核完成s o c 设计的最早报道。从此以后,基于i p 核的设计复用迅速发展起来,成为s o c 设计的关键支撑技术。i p 核的生产和交 易也成为集成电路产业的一大分支。许多集成电路设计公司提供了各种i p 核和 相应的编译综合工具,基于因特网的i p 核开发和交易也蓬勃发展起来,一些网 o=。墨要、-sc再k卜一y一 参一;o:冒o-厶 o o 峨 叩 舯 o 一 舢 舢 伽 伯 , 训 删 o , o 一乏一 acoiolo_一田c罡卜。一西。一 面向动态町蕈构j i f :系统的过程级设计方法研究 站如雨后春笋般成立,如美国的o p e n c o r e s o r g 【9 1 ,我国的国家i p 核库【1 0 】 等,极大地推动了基于i p 核复用的s o c 设计发展。 此外,人们设计了许多c a d 工具来解决这个问题。在数字设计领域中,硬 件描述语言( h d l ) 曾经改变了数字设计的方式。通过文本的方式来进行实体的设 计,h d l 允许计算机完成更多的工作而不需要人工干预。另外在逻辑综合工具 的帮助下,设计者可以在寄存器传输级( i 玎l ) 来表达他们的想法,这种方式更加 抽象而且比门级设计更加有效率。然而经过一些年的发展,人们发现寄存器传输 级仍然不足以应付不断增长的设计需要。与早期情况类似,人们发现它仍然不是 一种有效的方法。所以许多研究开始关注更高的抽象级别和更加先进的设计方法 学。 计错误 图1 2 传统系统设计流程图 为了减小设计能力与系统复杂性之间的鸿沟,人们需要研究新的设计方法学 与设计工具【1 1 】。传统的嵌入式系统设计通常先进行硬件设计,然后在硬件平台 上开发软件,再经过软硬件集成调试最后形成产品,如图1 2 所示。由于软硬件 开发采用串行模式,开发周期较长,系统设计的问题不容易在早期发现。一旦开 发过程中出现问题,很可能需要从头重新调整系统设计,从而导致设计周期延长, 降低设计效率。 针对嵌入式系统设计面临的问题与挑战,研究者们开始探索新的设计方法学 一一软硬件协同设计( h a r d w a r es o f t w a r ec o d e s i g n ) 方法学【i2 1 。与传统的嵌入式 系统设计方法不同,软硬件协同设计强调软件和硬件设计开发的并行性和相互 反馈,如图1 3 所示,克服了传统方法中把软件和硬件分开设计所带来的种种弊 端,协调了软件和硬件之间的制约关系,达到了系统高效工作的目的,此外软 硬件协同设计还提高了设计抽象的层次,拓展了设计覆盖的范围。与此同时,软 硬件协同设计还强调利用现有资源,即重用构件和i p 核,缩短系统开发周期, 降低系统成本,提高系统性能,保证系统开发质量。目前嵌入式系统软硬件协 同设计方法学研究还处于发展阶段,许多技术仍未成熟和实用化,但是它将给嵌 入式系统设计带来革命性的变化,极大地提高设计生产力,软硬件协同设计方 4 法学及其相关技术的研究意义重大。 1 _ 3 本文的主要工作 图i3 软硬件协同设计流程 1 3 1 问题的提出 可重构片上系统把可编程逻辑器件和微处理器核以及其它电路模块共同集 成到单个芯片中,利用可编程逻辑器件可重配置和微处理器可编程的特点,在通 用微处理器和专用集成电路之间提供一个结合功能灵活性和高运算速度的平台, 被认为是能满足未来嵌入式应用市场需求的一种极具竞争力的技术解决方案,应 用前景十分广阔。但是目前动态重构计算系统在实际的应用过程中仍然存在着不 少问题,比如应用开发人员需要去理解体系结构和可重构器件实现的底层物理细 节,增加了开发人员的负担,降低了开发效率:此外,由于应用领域不同如何 针对某个特定的应用领域设计一个优化的可重构结构是一个至关重要的问题;最 后,面向可重构片上系统的设计自动化研究仍是一个亟待解决的问鹿,现有的可 重构片上系统编程模型复杂,自动化程度低,针对可重构片上系统的特点,需要 研究丌发支持自动任务划分、算法映射和设计优化的工具。 可重构片上系统的硬件设计与软件设计越来越相似。由于硬件设计语言和综 合工具的广泛应用,电路设计已经进入更高层次的抽象。为了对未来复杂设计进 行管理,抽象描述和i p 复用变得越来越关键。对可重构计算系统的设计者和程 序员而言,晟理想的编程模型应该是可以完全独立于底层硬件平台的情况下编写 代码。他们希望能够以符合软件习惯的方式进行编程,他们并小需要了解硬件体 系结构、硬件模块的实现、软硬件如何通信等细节,从而编程模型变成了解决这 些问题的关键。理想的,设计人员一般从系统需求出发,采用某种高级语言描述 系统功能,并进行功能模拟和验证。比较常用的高级语占有c 、u m l 、j a v a 等。 其中面向对象描述语言能够以两种互补的方式来看待:”面向对象描述语言允许 面向动态叮系构”i :系统的过程级设计方法研究 对现实世界对象以及对象间关系进行建模;2 ) 面向对象描述语言提供了一组基本 的原语用于描述具有特定属性的系统,程序员不必了解系统组件与现实世界对象 之间的映射关系【”】。 1 3 2 研究目标 本文希望为程序设计者提供一种能支持硬件透明编程的编程模型,其充分利 用可重构硬件支持动态重构的优点,一方面对底层可重构资源充分利用,另一方 面对上层开发人员实现透明编程。实现透明编程系统的想法来源于对多处理器片 上系统( s o c ) 并行编程模型的考查,通过把软件方法的功能用硬件方法来实现, 利用硬件方法执行的高效率和在时间上的并行来提升系统整体性能。 本文采用了一种不同于传统协同设计的策略,以j a v a 作为系统描述语言, 通过构建一个硬件透明编程模型来简化编译器和综合工具的工作。采用建立软硬 件协同方法库的方式为统一的系统描述提供支持,硬件方法采用与软件方法相同 的语法对i p 核进行封装,这样可以把软硬件方法统一到相同形式的方法声明上, 形成一个抽象的软硬件协同方法库,设计人员可以直接调用协同库中的软件方法 进行编程。虚拟机根据类的全限定名称以及方法名识别硬件方法,并根据软硬件 划分结果把程序的描述内容映射到底层的可重构硬件上。虚拟机上运行的应用程 序和普通j a v a 程序一致,从而保证了应用程序的可移植性,此外虚拟机为运行 时软硬件划分算法提供了支持。为了实现这样的系统,本文考虑了硬件方法封装、 动态软硬件链接、可重构资源管理单元,以及其他一些必要的软硬件组件,并把 它们整合到整个系统体系结构和编程模型框架之中。 1 3 3 完成的工作 本文提出了一种面向动态可重构片上系统的硬件透明编程模型。在体系结构 上,本文把动态可重构片上系统视为一组包含有微处理器和硬件加速器组成的共 享内存的混合处理单元。编程模型为程序员提供一个类似于常规软件开发环境的 接口。通过将硬件加速模块封装成硬件方法库的方式,允许程序员调用软件方法 进行编程,从而实现了底层物理细节的透明。最后,通过设计并实现一个运行时 可重构虚拟机来完成软硬件方法动态链接、运行时参数获取等功能。 实验以x i l i n x 公司大学计划提供的x u pv i r t e x i ip r ox c 2 v p 3 0 实验板为硬 件平台,基于l i n u x 2 6 2 4 操作系统和k a f f e l 1 7j a v a 虚拟机,采用x i l i n xp l a t f o r m s t u d i o9 1 i 作为平台软件开发环境。在具体实现过程当中,我们首先成功移植了 l i n u x 操作系统到硬件平台上,同时修改并移植了k a f f e 虚拟机,在此基础上实 现了硬件透明编程模型,完成了对硬件方法的装载、运行时信息收集、动念软硬 件链接等工作。详细的内容将在后续章节讲到。 6 硕 学位论文 1 4 本文的组织 本文的后续内容将按照如下方式组织:第二章给出了一些关键的概念和定 义,并详细分析了国内外在此领域的研究现状;第三章给出了可透明编程模型的 设计思想及框架,着重讲述了硬件方法封装方式和运行时可重构虚拟机体系结 构;第四章详细描述了在实验平台上完成可透明编程系统的方法,着重讲述了硬 件方法封装过程和运行时可重构虚拟机实现方法,晟终对原型系统进行了描述; 第五章给出在实验平台上实现之后得出的试验结果,并对结果作了分析。最后对 本文工作进行总结,反省不足之处并展望下一步需要进行的研究内容。 7 面向动态可鼋构行 :系统的过程级设计方法研究 第2 章基本原理及相关研究 2 1 可重构计算技术概述 2 1 1 可重构计算技术实现方法 可重构计算系统的可重构处理单元主要有两种类型:一种是应用最为广泛的 现场可编程门阵列( f p g a ) ,本文使用的可重构处理单元就属于这一类型;另一 种是针对特定应用需求设计的可重构处理单元,本文只讨论第一种类型。尽管仍 未大量商用,f p g a 仍然在a s i c 原型设计上证明了其存在的价值。最近,f p g a 已经被集成到超级计算机中,比如g r a y x d l 【l4 1 ,同样也被用于a m d 公司的 o p t e r o n 处理器中【i5 1 。目前主要的f p g a 生产厂商有x i l i n x ,a 1 t e r a 和a t m e l 。 尽管厂商不同,f p g a 采用的基本技术却大同小异。 图2 1f p g a 结构示意图 f p g a 的结构如图2 1 所示,它一般是由可配置逻辑块( c o n f i g u r a b l el o g i c b l o c k ,c l b ) 构成的二维阵列,在水平和垂直方向上,c l b 之间设有路由通道, 内有可编程互连资源,用于控制逻辑块之间的互连。此外,f p g a 还在阵列边缘 具有输入输出块( i ob l o c k ,i o b ) ,有的内部还提供了存储器块等资源。 c l b 是实现逻辑功能的核心部件,它的逻辑功能主要通过l u t 实现。l u t 本质上就是一个存储器,一个4 输入的l u t 可以看作是一个有4 位地址线的16 x 1 存储器,可以将一个4 输入逻辑函数真值表存放在l u t 中,以输入信号作为地 址,这样就可以对不同输入输出相应的结果。可配置逻辑块的结构如图2 2 所示。 阿中略去了些复杂结构,由图u r 见,t 配置逻辑块由一个4 输入查找袭和一个 d 触发器构成。查找袭用于存放逻辑函数真值表,触发器_ e j 于实现时序逻辑。 图22 可配置逻辑块结构示意图 可编程瓦连资源是f p g a 中最灵活的部分,可以将芯片中任意两点连接起 来。可编程互连资源位于阵列的路由通道中,主要由纵横分卸于c l b 阵列之间 的双层金属导线网络构成,山位于纵横交叉点卜的可编程丌关阵列控制信号的传 输路径。i o b 是f p g a 内部电路与外部引脚之i l 】的接口每个i o b 控制个引 脚,每个引脚可通过编程定义为输入、输出或者三巷输出。每个i o b 包含有寄 存器,用于缓存输入输出信号。 根据重构的方法不同,f p g a 的重构町分为静态重构和动念重构两种,前者 是指在系统空闲期间进行在线编程,即断= j | = 先前的电路功能后,重新下载存贮器 中不同的日标数据米改变目标系统逻辑功能。后者则是指在系统实时运行中对 f p o a 芯片进行动态配置( 即在改变电路功能的同时仍然保持电路的工作状态) , 实现系统内的高速功能变换和时分复用。动态重构技术需要特定的基于s r a m 或f l a s h 结构的新型f p g a 的支持。随着其产品和技术的相对成熟,动态重构 f p g a 的设计理论和设计乃法已经逐渐成为新的研究热点。 根据实现重构的面积不同可重构f p g a 又可以分为全局重构和部分重构。 全局重构;对f p g a 器件或系统能且只能进行全部的重新配置,在配冠 过程中,计算的中删结果必须取出存放在额外的存储区,直到新的配咒 功能全部下载完为止。重构前后电路相互独立,没有关联。通常,可以 给f p g a 串连一个e p r o m 柬存储配真数据,实现前后功能的转化。常 规基于s r a m 的f p g a 的静态重构均为令局重构。 部分重构:时重构器件或系统的一部分进行重新配置,重构过程中其 余部分的工作状态不受影响。这种重构方式减小了重构范围和单元数 同,f p g a 的重构时b l 大大缩短,占有相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学统计学期末考试题库-抽样调查方法与概率论试题
- 护理文书书写培训试题及答案
- 2025年智能网络代理服务合同标准版(合同样本)
- 2025年护士执业资格考试题库(妇产科护理学)专项案例分析试题型
- 2025年辅导员招聘考试题库:学生职业生涯规划实践应用解题方法实战
- 2025年消防执业资格考试题库(消防技术标准规范)实务操作试题
- 2025合同样本:项目投资与合作协议范本
- 河南省百师联盟高三上学期开学摸底联考试题历史
- 2025高级市场营销经理人合同协议书
- 内蒙古自治区赤峰市2024-2025学年高三上学期11月期中地理试题
- 2025年合肥公交集团有限公司驾驶员招聘180人笔试参考题库附带答案详解
- 2024年上海市大数据中心招聘真题
- GB/T 46104-2025电解水制氢系统功率波动适应性测试方法
- 信贷档案管理培训课件
- 2025年网络安全监测预警体系建设实施方案评估报告
- 2025年会计继续教育网络答题真题及答案
- (2025)安全知识竞赛试题(附完整答案)
- 2025年辅警招聘考试(行政职业能力测验)复习题及答案
- 2025年海南事业单位联考笔试历年典型考题及考点剖析附带答案详解
- 2025年水发集团有限公司招聘(216人)备考练习试题及答案解析
- 试验检测资金管理办法
评论
0/150
提交评论