




已阅读5页,还剩70页未读, 继续免费阅读
(计算机软件与理论专业论文)动态可重构系统中通信机制的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
敬 ; i 。, l f , 、t 漆: 。夕 7 ,、 r , n o,l l-1t m客意气卅一&,。掩n , 一蓼。,kf卜。 攀玲 at h e s i sf o rt h ed e g r e eo fm a s t e ri nc o m p u t e rs o f t w a r ea n dt h e o r y s t u d y a n di m p l e m e n t a t i o no fc o m m u n i c a t i o nm e c h a v n w l s - i m + i nd y n a m i cr e c o n f i g u r a b l es y s t e m s b yz h a ol i n s u p e r v i s o r :p r o f e s s o ry u g e n o r t h e a s t e r nu n i v e r s i t y j a n u a r y2 0 0 8 ,k乡,;,。 独创性声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中取得的 研究成果除加以标注和致谢的地方外,不包含其他人已经发表或撰写过的 研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示诚挚 的谢意。 学位论文作者签名:越帝卜 签字日期:硼8 、f 、p 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师同意网上交流,请在下方签名:否则视为不同意) 学位论文作者签名:超和r 签字日期:加1 ) 8 、f 、2 0 导师签名:亏 签字日期:二d 。乙o , 、 。k l 东北大学硕士学位论文摘要 动态可重构系统中通信机制的研究与实现 摘要 随着微电子技术和计算机技术的发展,基于f p g a 的可重构技术逐渐成为国际上嵌 入式计算领域中的一个新热点。一些计算密集型任务可以在f p g a 上灵活的实现并执 行,硬件任务作为一个和软件任务等同的概念出现在系统设计中,使传统的软硬件协同 设计领域发生了重大的变革。由f p g a 和c p u 构成的动态可重构混成系统具有计算性 能高、灵活性强、适用范围广等优点,它的出现使过去传统意义上硬件与软件的界限变 得模糊,让软件拥有了硬件的高性能,又让硬件具备了软件的灵活性。运行在嵌入式处 理器上的软件任务和运行在f p g a 上的硬件作为两个独立的部分在任务管理和应用技 术上虽然已经发展比较成熟,但是在动态可重构系统中,软件任务和硬件任务间的通信 问题仍然是影响整个系统性能的关键,同时也是目前包括加州大学伯克利分校、堪萨斯 大学等在计算机领域知名的院校的研究热点。 本文使用x i l i n x 公司的v i r t e x 4 系列的f p g a 芯片和一款a r m 9 2 0 t 的s o c 芯片组 成c p 岍p g a 混合系统,由于x i l i n x 提供的下载器i m p a c t 只能使用p c 的并口配置 f p g a ,并且只适用于静态的配置,配置过程需要用户的干预,不适用于动态的自动配 置,所以要在基于s o c 的动态可重构系统中配置f p g a 必须自行开发单独的下载器,本 文以支持局部可重配置比特流的j t a g 模式,使用$ 3 c 2 4 4 0 的通用i o 模拟j t a g 时序 设计下载器,实现了比特流的下载。 在软硬件任务通信方面,本文采用粗粒度耦合模式,研究并设计了c p u f p g a 混合 系统的通信模型,该模型将$ 3 c 2 4 4 0 的通用端口与f p g a 的可编程接口进行连接,通过 两次握手的方式,以并行的模式实现了数据的通信。同时,本文提出了一套基本的通信 协议,基于该协议开发了相关的通信软件,在动态可重构实验原型系统上,通过实验证 明,本文提出的通信协议满足了硬件任务和软件任务通信的需求。 关键词:动态可重构系统;通信;f p g a ;下载器;硬件任务 一i i 一 声 j 东北大学硕士学位论文 s t u d ya n di m p l e m e n t a t i o no fc o m m u n i c a t i o nm e c h a n i s mi n d y n a m i cr e c o n f i g u r a b l es y s t e m s a b s t r a c t r e e o n f i g u r a b l et e c h n i q u eb a s e do nf p g ah a sg r a d u a l l yb e e nt h er e s e a r c hh i g h l i g h ti n t h ee m b e d d e dc o m p u t i n gr e s e a r c hf i e l d i n t e r n a t i o n a l l y , w i t ht h ed e v e l o p i n gs t e po ft h e m i c r o - e l e c t r o n i c sa n dc o m p u t e rt e c h n o l o g y c e r t a i nc o m p u t a t i o n c e n t e r e dt a s k sa r ea b l et ob e i m p l e m e n t e da n de x e c u t e dn e a t l yo nf p g a ,e n a b l i n gt h eh a r d w a r et a s kt h ee q u a lc o n c e p ti n t h es y s t e md e s i g na sw e l la st h es o f t w a r eo n e ,a n df o s t e r i n gd r a m a t i cc h a n g e si nt h e t r a d i t i o n a ls o f t w a r ea n dh a r d w a r ec o o p e r a t i o na r e a t h er e e o n f i g u r a b l es y s t e mb l e n d e db v f p g aa n dc p ub e a r st h ec h a r a c t e r sa sh i g hc o m p u t i n gp e r f o r m a n c e ,f l e x i b i l i t ya n d 、i d e a d a p t i o n ,w h i c hb l u r st h ec o n f i n e m e n tb e t w e e nt h et r a d i t i o n a ln o t i o no fh a r d w a r ea n d s o f t w a r e ,a n dm i x e st h eh i g hp e r f o r m a n c eo fh a r d w a r ew i t hs o f t w a r e ,b e s i d e st h ef l e x i b i l i t y o fs o f t w a r ew i t ht h a to fh a r d w a r e 1 1 1 ec o m m u n i c a t i o nb e t w e e nt h o s et w oh a sb e e nt h ek e y p o i n ta f f e c t i n gp e r f o r m a n c ei nt h ed y n a m i cr e c o n f i g u r a b l es y s t e mt h o u g hi th a sm a t u r e dt h a t t h et a s km a n a g e m e n ta n da p p l i c a t i o nt e c h n i q u eo fs o f t w a r et a s ko nt h ei m b e d d e dp r o c e s s o r a n dh a r d w a r eo nf p g aa r ee x c l u s i v et oo n ea n o t h e r a n di ti sa l s ot l l eh i g ha c a d e m i cr e s e a r c h s p o te v e nu n i v e r s i t yo fc a l i f o m i aa tb e r k e l e ya n du 1 1 i v e r s i t yo fk a n s a sa r ei n v o l v e di n f p g ac h i po ft h ev i r t e x4s e r i e s ,x i l i n xc o ,a n ds 3 c 2 4 4 0c h i p ,a l la i 之m 9 2 0 ts o c ,a l l t o g e t h e rc o m p o s eo ft h ec p u f p g am i xs y s t e m f o rt h ed o w n l o a d e ri 征a c t w h i c hi s p r o v i d e do n l yf o rf p g at h ep c sl p tb yx i l i n x ,i sn o ts u i t a b l ef o rd y n a m i c a l l ya u t o m a t i c c o n f i g u r a t i o no t h e rt h a nt h a tf o rs t a t i cu s e ,d u r i n gw h i c ht h ew h o l ep r o c e s ss h o u l db e c o n t r o l l e d s e p a r a t ed o w n l o a d e ri sc o n s e q u e n t l yi n d i s p e n s i b l et ob es t u d i e df o rf p g a d e p l o y m e n ti nt h es o cs y s t e m t h u st h eb i tt o r r e n ti sl o a d e db yt h ew a yo ft a gt i m i n g s e q u e n c ev i as 3 c 2 4 4 0t h ec u r r e n ti os i m u l a t i o n i nt h ep a r t i a lr e d e p l o y a b l ej t a gm o d e u n d e rt h em o d eo fc o u r s eg r a n u l a r i t yc o u p l i n gt h ec o m m u n i c a t i n gm o d e lc o m b i n i n g w i t hc p u f p g ah a sb e e nd e s i g n e da sf o rt h es o f t w a r ea n dh a r d w a r et a s k , o fw h i c ht w oa r e 一 一l i n k e dt h a to ft h eg e n e r a lp o r to fs 3 c 2 4 4 0a n dp r o g r a m m a b l ei n t e r f a c eo ff p g a a n db yw a y o ft w i c es h a k i n g h a n d sa n dp a r a l l e lm o d et h e s y s t e mf u l f i l l e d d a t ac o m m u n i c a t i o n r e q u i r e m e n t s m e a n w h i l eab a s i cc o m m u n i c a t i n gp r o t o c o la n dr e l e v a n ts o f t w a r eh a v eb e e n p u tf o r w a r do nt h eb a s i so fd y n a m i cr e c o n f i g u r a b l ee x p e r i m e n t a ls y s t e m 1 1 1 ep r o t o c o lh a s b e e np r o v e dt om e e tt h eh a r d w a r ea n ds o f t w a r ec o m m u n i c a t i o n k e y w o r d s :d y n a m i cr e c o n f i g u r a b l es y s t e m s ;c o m m u n i c a t i o n ;f p g a ;d o w n l o a d e r ;h a r d w a r e t a s k s i i i 东北大学硕士学位论文目录 目录 独创性声明i 摘要i i a b s t r a c t i i i 1第一章绪论1 1 1 可重构系统的介绍与描述1 1 2 可重构计算的历史与发展4 1 3 可重构系统的研究现状一5 1 4 论文的主要工作o :7 1 4 1 问题的提出7 1 4 2 论文的主要工作一8 第二章关键技术和研究平台搭建9 2 1f p g a 的基本原理9 2 2 研究实验平台的搭建1 3 2 3 本章小结15 第三章支持动态配置的比特流下载器1 7 3 1j t a g 的工作原理和关键技术1 8 3 1 1 边界扫描1 8 3 1 2 测试访问端口t a p 1 8 3 2 $ 3 c 2 4 4 0 通用i o 的介绍2 1 3 3 下载器的具体实现2 2 3 3 1 驱动接口的设计2 4 3 3 2 底层驱动的实现2 6 3 3 2 1 读出芯片的i d 2 7 3 3 2 2 配置比特流输入配置电路2 8 3 3 2 3 配置比特流从配置电路读出。3 0 3 3 2 4 读取状态寄存器3 l 3 4 本章小结3 2 第四章软硬件任务通信机制3 3 4 1 可重构通信机制研究3 3 4 1 1 可重构系统耦合模式研究3 3 4 1 2 软硬件任务通信模型研究3 6 一一 东北大学硕士学位论文 目录 4 1 3 通信协议研究3 7 4 2 软硬件任务通信的硬件实现3 8 4 2 1 $ 3 c 2 4 4 0 中断机制介绍3 9 4 2 2f p g a 引脚介绍4 0 4 2 3 $ 3 c 2 4 4 0 和f p g a 连接的设计与实现4 1 4 2 4 通信的流程4 3 4 - 3 软硬件任务通信模块的设计与实现4 5 4 3 1 初始化模块的设计与实现4 5 4 3 2f p g a 向c p u 发送数据的设计与实现4 6 4 3 3c p u 向f p g a 发送数据的设计与实现4 7 4 3 4 中断管理程序的设计与实现4 8 4 4 本章小结5 0 第五章系统实验与结果分析5 1 5 1 实验平台简介。5l 5 2 测试结果5 2 5 3 结果分析5 3 第六章结论与展望5 5 参考文献5 7 致谢6 1 攻读硕士期间科研情况6 3 一v 一 东北大学硕士学位论文第一章绪论 第一章绪论帚一早珀了匕 当今计算机行业的发展已经进入了后p c 时代,嵌入式设备与系统已经渗透到了工 业控制、网络通信、家用电器、汽车电子、移动电话、手持设备与信息安全等重要领域。 由于具有体积小、能耗低、可移动以及实时性好等优势,嵌入式系统发挥着其他计算机 系统所不能替代的作用。 随着对计算技术要求的不断提高,通用处理器技术逐渐遇到了难以逾越的壁垒问 题。处理器和存储器的速度差异越来越大,存储器的端口带宽严重约束了系统的整体性 能,使得单纯从处理器角度的技术改进所产生的性能提升效果很小,而存储器速度的增 长远比处理器慢,出现了所谓的内存壁垒效应。同样的,处理器的功耗也随着速度的提 高快速增长,芯片内核几乎达到核子反应堆的温度,严重的削弱了芯片的可靠性。这即 所谓的功耗壁垒效应。这些问题一直困扰着计算机体系结构和微体系结构设计师。 可重构系统一改传统基于指令流计算的特点,作为一种新型的时空域上的计算方 式,在灵活性和高性能方面做到了比较好的权衡,填补了传统指令集处理器和专用a s c i 模式之间的空白。 可重构系统使用软件或硬件的方法完成系统中各种计算任务。软件实现方法的主要 特征是:在微处理器( c p u ,m c u ,或d s p ) 、内存和部分简单的外设组成的电子系统 里,通过软件程序实现大部分的逻辑处理和运算功能;硬件实现方法的主要特征是:由 特定的运算或处理单元完成系统主要的计算工作,微处理器被省略,或者只起协调各部 件工作的作用。两种方法各有自己的优缺点。软件方法开发简单、灵活可变、易升级, 但通常运行速度慢、效率低;硬件方法开发周期长,一次性投入大,缺乏灵活性,难以 升级,但是可为目标任务特别定制,运行效率高、速度快。在实际应用过程中,只能根 据需要,从软件方法和硬件方法间选择一种最适合的折衷方案。然而在某些要求较高的 场合下,就往往会出现鱼肉和熊掌不可兼得的局面。这样一种背景促使了可重构计算的 产生和发展。可重构系统的本质是借助可重构硬件,通过改变系统的结构以完成各种不 同的功能。它具有比软件计算模式更高的性能,同时又具有比基于专用硬件的计算模式 更强的灵活性。 1 1 可重构系统的介绍与描述 可重配置计算技术中最具代表性且使用最为广泛的器件是现场可编程逻辑门阵列 f p g a ( f i e l dp r o g r a m m a b l e g a t ea r r a y ) 。简单的说,动态可重构系统( d y n a m i c 一】一 东北大学硕士学位论文第一章绪论 r e c o n f i g u r a b l es y s t e m ) 是使用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 ) 来实现特殊功能的计 算任务【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 g r a t e dc i r c u i t ) 方法,即使用专用特定的集 成电路,完全通过硬件来实现。通用微处理器法的优点就是通用性、灵活性好,可编程, 一个计算任务的实现只要写程序就可以完成,不用对硬件作改动,但是这种计算方法稳 定性差、计算速度慢,效率低下。而用a s i c 器件的方式计算的话,具有非常好的稳定 性,可以大幅提高计算速度和计算效率,但是a s i c 器件的灵活性差,只能针对某一个 特定的算法,一旦算法发生改变就必须重新订制器件,设计周期长、成本高昂【2 】【3 】。 基于f p g a 的动态可重构系统介于这二者之间,补充了两者之间的缺陷,它既具有 a s i c 高性能、高速度和高可靠性,又具有微处理器的高度“柔性”和强大的编程功能【4 】。 f p g a 基于s r a m ( 静态随机存储器,s t a t i cr a m ) 的查找表( l o o k - u pt a b l e ) 技术,其 中的逻辑功能和布线资源的状态都依赖于配置电路中s r a m 所存储的值,通过该数值 来构造逻辑运算的真值表或者充当线路的开关和连接点。这样,f p g a 就可以根据用户 的需要改变s r a m 中的数值,从而使f p g a 中的电路完成不同的逻辑功能和布线连接。 因此,f p g a 就变为一种灵活可编程的计算资源。 f p g a 既然依赖于其中s r a m 的数值,那么就称配置电路中s r a m 数值的写入过 程为配置( c o n f i g u r a t i o n ) ,其写入的数据就称为配置文件,或者比特流( b i ts t r e a m ) 。不同 的配置会导致f p g a 不同的逻辑行为。配置不但可以在整个器件上电后就立即完成,而 且配置也可以在器件运行的过程中对其部分区域进行修改而不影响其他部分的运作。上 述的机制就是运行时局部可重配置技术( p r t r , p a r t i a lr u n - t i m er e c o n f i g u r a t i o n ) ,也称为 动态局部可重配置技术。这就意味着整个f p g a 区域成为了一个可以不断复用的硬件资 源池,不但其可以在运行的过程中动态改变逻辑功能,使不同的任务复用f p g a 中同一 区域,而且还可以把整个f p g a 区域划分成若干个子区域,使得多个不同的任务可以毪 同一时间的不同区域中得以运行。因此,f p g a 成为一个多任务的并行处理器,使得整 个计算系统的体系结构发生了根本性的变革。 硬件任务( h wt a s k ) 在这样的环境下就应运而生了。所谓硬件任务,就是以硬件电 路的方式完成特定功能的模块单元。众所周知,硬件和软件在逻辑功能上存在完全等效 的性质,即对于给定的输入,经过传统的软件程序处理而得到的结果与功能等效的硬件 电路处理的结果应该是完全相同的。软件和硬件之间存在必然的功能等效性。硬件任务 一2 一 东北大学硕士学位论文 第一章绪论 以模块的形式在f p g a 中加以配置,并得到执行。硬件任务就是一个可以进行局部配置 的配置文件,也称其为局部比特流。 引入硬件任务的概念以后,一个系统中不但包含传统的软件任务,还包含以局部配 置文件形式存在的硬件任务。硬件任务在可重配置系统中是与软件任务完全对等的概念 实体。如果说c p u 是一个通用的软件任务平台,则f p g a 等可重配置器件就是一个同 样具有通用意义的硬件任务平台。就此,f p g a 也成为一个灵活高效处理器,使得f p g a 原先充当协处理器角色的地位大大改变。硬件任务使得整个系统设计和开发周期和开销 大大缩减,不用进行物理硬件的变更和重设计,就能通过硬件任务灵活增减系统的硬件 功能。 c p u f p g a 混合的系统结构是理想的动态可重构系统平台模型。整个系统中,既有 传统的软件任务及其运行环境c p u 和操作系统,也有硬件任务的处理器- f p g a 。 c p 岍p g a 混合系统结构,如图1 1 所示。 图1 1c p u f p g a 混合系统结构 f i g 1 1t h eh y b r i da r c h i t e c t u r eo fc p u f p g a 在图1 1 中,c l 、c ,等等表示与c p u 或者f p g a 连接的外围设备,这些设备包括 r a m 、n a n df l a s h 、u a r t 等。r c 表示可重构资源,与c p u 通过串口、网口、并口、 数据总线等通信。在动态可重构系统中,利用c p u 的灵活性控制r c 上硬件任务的配置 与重配置,并且把相关的数据和控制信息通过通信接口传输给硬件任务。 p - , 重构可分为静态重构和动态重构两种,前者是指断开先前的电路功能后重新下载存 贮器中不同的目标数据来改变目标系统逻辑功能,后者则在改变电路的功能同时仍然保 证电路的动态接续。常规基于s r a m 的f p g a 都可实现静态重构,随着其产品和技术 的相对成熟,动态重构f p g a 的设计理论和设计方法已经逐渐成为新的研究热点 5 】。 动态重构技术目前主要是指对于特定的基于s r a m 结构的f p g a ,在一定的控制逻 辑的驱动下,对芯片的全部或部分逻辑资源实现在系统的高速的功能变换和时分复用, 动态重构又可以分为全局重构和局部重构【6 】。 一3 一 东北大学硕士学位论文第一章绪论 全局重构:对f p g a 器件进行全部的重新配置,在配置过程中,计算的中间结果必 须取出存放在额外的存储区,直到新的配置功能全部下载完为止,重构前后电路相互独 立,没有关联。通常,可以给f p g a 串连一个e p r o m 来存储配置数据,实现前后功能 的转化。 局部重构:对重构器件或系统的一部分进行了重新配置,而在此过程中,其余部分 的工作状态不受影响。这种重构方式减小了重构范围和单元数目,从而可以大大缩短重 构时间,占有相当的优势 6 】。 1 2 可重构计算的历史与发展 可重构系统虽然直到最近才一受到重视并逐渐流行起来,实际上其概念早在2 0 世 纪6 0 年代就己经提及。美国加利福尼亚大学的g e r a i de s t r i n 提出可重构的概念,并研 制了原型系统。该系统由非柔性但可编程的处理器和柔性的由程序控制重构的数字逻辑 部件两部分组成 7 】。尽管系统软件和硬件的抽象层次不高但均可编程重构。由于当时实 现技术尚不完善,e s t r i n 研制的系统只是其设计理念的粗略近似。但这种结构奠定了以 后可重构计算系统的核心基础。 直到1 9 8 6 年x i l i n x 公司 8 开发出世界上第一片现场可编程门阵y i j ( f p g a ) 芯片,并 在实践中获得了很好的应用效果,以及后来出现高密度的可整合完整系统的f p g a ,可 重构类芯片在技术上和商业上存在的潜在价值才逐渐得到人们的重视。尤其在由处理器 和a s c i 所统领的两极世界之间开辟出了兼二者之所长的一条新路【9 】 1 0 】,标准化生产 的通用产品,同时为用户预留充分的定制设计空间,较好地解决了制造与应用之间的矛 盾。随着工艺水平的不断提高和对内部结构的不断改进,f p g a 的规模不断扩大,目前 己经出现了可实现千万门级设计的系统级f p g a 。同时也出现了以其它一些不同方法实 现重构的可重构类芯片,比如a l t e r a 公司 1 1 】的基于e e p r o m 的c p l d 和a c t e l 公司【1 2 】 的反熔丝f p g a 等,也在不同的领域得到了很好的应用。 但是很长一段时间,人们对f p g a 的认识仍存在很大的局限性,一般把他作为系统 中的一种补充或者主要用来做功能验h 正 1 3 1 4 】。到上世纪9 0 年代初期,出现了一些以 某f p g a 为核心开发的面向某一类应用的计算设备。一般做法是将一片或多片f p g a 、 c p u 和存储器等组合到一起,f p g a 作为协处理器加速c p u 程序中的一些可并行执行 成分( 一般为循环体) ,同时c p u 还要管理f p g a 的重构。当时这种结构的运算设备被称 为可重构计算机,这种工作方式也被称为重构计算。它们在一些特殊的应用领域显示出 了超强的计算性能和数据处理能力,尤其对于算法内部蕴涵很大的并行性和流水性的应 一4 一 东北大学硕士学位论文第一章绪论 用表现尤为出色,并显著地降低了设计的费用。其中最具有代表性的是美国超级计算机 研究中,t 二, ( s u p e rc o m p u t i n gr e s e a r c hc e n t e r ) 在1 9 9 2 年基于x i l i n x 公司4 0 0 0 系列f p g a 研制的s p l a s h 1 5 】,它对基因组测序的计算工作起到了极大的加速作用。该研究成果的 成功极大增强了人们对可重构类芯片进一步研究和应用的信心,也引导人们开始对其重 新认识和定位。经过一定时间的应用,f p g a 这种通用可重构芯片的缺点也逐渐显现出 来。比如,f p g a 中的资源浪费比较严重,所需编程数据太多,用它实现的一些功能模 块性能难以满足要求等等 1 6 】,逐渐出现了粗粒度的嵌入式专用处理单元。另一方面, 在传统的系统构架下,数据存储和传输等因素都制约着可重构器件潜力的发挥。人们意 识到需要对可重构技术投入更多的精力进行更加系统的研究和探索。 1 3 可重构系统的研究现状 b r e b n e r 在【1 8 】中最早提出了系统概念。w i g l e y 等人在 2 0 】中很早就提出了构建可重 配置的操作系统中存在的问题,诸如任务下载、可重配置器件的空间管理、调度、存储 管理和保护、i o 等,同时提出了关键的任务间通信问题和碎片度指标。但是其在文中 只是谈及了上述系统模型中相关的概念,没有以任何实践的方式尝试搭建这样的系统。 w a l d e r 和p l a t z n e r 在 1 9 】描述了他们所实现的原型系统,其对支持硬件任务的系统 结构进行了初步的尝试,用系统实践的方式描述了搭建可支持软硬件协同调度的操作系 统的若干基本概念,反映了这些概念实体在系统中以何种形式加以实现。文中给出了一 个具体的实例,但是文中并没有描述很多关键的技术细节,也没有介绍一些重要的系统 运作机制,如系统的通信结构、通信协议等。 b a s k a r a n 和s r i k a n t h a n 在 2 1 】中较详细的提出了运行时可重配置的基本结构,并描 述了h o p e s ( h a r d w a r eo p e r a t i n gs y s t e m ) 实现的一些具体技术。但文中更多的只是提 出了系统所涉及的调度问题、区域划分问题和通信问题,这些问题都没有描述其具体的 解决方案和手段。 r i s s a 和n i i t t y l a h t i 在 2 2 】中描述了他们的混合原型系统平台,这个平台中f p g a 构 造在一块p c i 板卡上,通过p c i 总线与p c 上的通用c p u 完成通信。同样,w i a n g t o n g 、 y k c h e u n g 等人在 1 8 也用类似的结构实现了u l t r a s o n i c 的可重配置系统,文中更关 注的是硬件任务如何在软硬件协同设计中加以体现,其构造了软硬件任务统一的设计环 境d a g 。m e r i c s o n 等人在 2 2 】中提出了利用a r m 和f p g a 连接的系统r e a r m 。 在操作系统内核级别中支持软硬件统一概念的良好系统应是k w o k h a ys o 、 t k a c h e n k o 和b r o d e r s e n 等在 2 3 】提出的b o r p h 系统,这个系统是首先在修改l i n u x 操 一5 一 东北大学硕士学位论文第一章绪论 作系统上实现的,文中专门提出了遵循u n i x 标准统一的访问接口、以e l f 为基本格式 的硬件任务文件,实现了硬件进程的概念,统一了文件操作使之和任务间通信联系起来, 提出了具体的任务间通信的操作机制。对于其运行的系统平台b e e 2 也给出了简要介绍, 但是并没有关于具体的硬件平台设计实现和运行机制的基本叙述。 a g r o n 、p e c k 、a n d e r s o n 和a n d r e w s 等人在 2 4 】中提出了其在c s o c 中实现的 c p u f p g a 混合系统平台,不但c s o c 的实现方式令人注目,而且其将协同调度器、中 断处理等传统操作系统重要构件以硬件电路的形式在f p g a 中加以实现,使得c p u 从 传统操作系统要处理的调度开销中解放出来成为一个纯软件任务的平台,这使得系统效 率大大提高,对于实时系统的可预测性更强。以硬件方式实现的调度器首次实现了软硬 件任务的统一。该混合系统对于上层的开发者也提供统一的接口和编程模型,尤其在软 硬件任务的开发上提供中间语言层,力图将硬件描述语言和高级语言做进一步统一的努 力。该系统体系结构新颖,但设计复杂度较高,文中给出了一些硬件调度排序单元的模 型,没有关注于其具体的实现细节。 h o r t a 等人在 2 5 】中提出了利用自行开发的p a r b i t 局部配置比特流生成工具来进 行f p x 平台的开发,p a t b i t 可以生成一个指定2 d 区域中的比特流,这使得系统配置 的灵活性大大提高,但是其仅支持v i r t e x 系列的f p g a ,且受到器件本身的限制,不能 真正实现2 d 模型的局部可重配置。x i l i n x 提供的j b i t s 工具可以利用j a v a 灵活的操作 比特流,但仍然与p a r b i t 面临同样的问题。自从x i l i n x 的v i r t e x4 1 2 6 1 系列芯片出现 以后,配置模式发生了变化,其中比特流中的帧( f r a m e ) 不再对整个高度方向上的逻 辑单元进行配置,而是配置一个局部高度,这样带有约束的2 d 模型可以在该系列的器 件上进行实验了。s e d c o l e 等人在 2 7 1 叙述了这个技术进展和基本的手段,但是由于支持 此器件进行局部可重配置的开发环境和工具链( 如p l a n a h e a d ) 较为缺乏,所以目前还 没有支持带有约束2 d 模型的实际原型系统出现。 国内的相关研究工作开展较晚,进展较慢,但是最近几年由于越来越多的研究人员 的投入,现在也取得了相当快速的进步。国内复旦大学的周博等人在前人研究的基础之 上通过改进u c o s i i 操作系统实现了支持软硬件任务混合调度的动态重构系统 2 8 】。作 者改进了多任务模型,设计了对软硬件任务统一管理的s h u m - - u c o s 实时操作系统。 该操作系统能够支持硬件任务的动态创建,他们提出了基于调度器的硬件任务预配置技 术,定义了标准硬件任务接1 2 1 ,能够对多种拓扑和通信方式支持。通过对任务图的静态 分析,提高了任务并行性和可重配置资源的利用率。最大的特点在于将硬件加速模块完 成的任务当作操作系统中的进程来进行管理,大大方便了对动态重构的支持。但由于这 一6 一 东北大学硕士学位论文第一章绪论 个系统使用自主研发的实验平台,这必然会限制系统的通用性。而且由于编程模型并不 是他们工作的重点,在这方面的考虑和支持不多。 中国科学技术大学的罗赛等人提出了r e c u p m 统一编程模型,指出该模型的总体 结构,并描述模型中的资源管理、任务管理和通讯机制等,定义面向用户设计的统一编 程接口,讨论如何进行系统后期的整合和优化。还提出了一种支持异构任务并行、基于 能够充分发挥可重构网络特征的生产者一消费者通讯机制、给出软硬件任务统一功能视 图的一体化可重构计算系统体系结构模型o n e s y s ,建立通用、易用、高效的可重构计 算系统。他们主要是对编程模型和系统结构模型的研究与分析,并没有给出具体的实现 过程。 可重构系统的实现是非常具有挑战性的研究课题。系统中涉及到底层f p g a 系统结 构的建立,操作系统核心级的开发,实时系统的调度策略和算法,硬件任务的配置与重 配置,软硬件任务之间的通信,统一编程模型的设计等多个方面。在上述这些方面中, 通信机制的研究一直是国际和国内的研究热点,并且提出了下面两种通信策略。 片上总线策:其主要优点是高灵活性,可延展,设计花销小,一般用在带宽要求较 低时,时延也较短。缺点是过长的通信线路带来一定能耗,且限制系统时钟速率。当通 信结构中含有两个以上的模块时,可伸缩性减弱。分层总线结构可以减轻关键路径上的 总线负载,通过桥连接多个总线可将速度要求不同的器件隔离在不同的时钟域上,使得 s o c 得以延续p c b 板的优良性能。 片上网络( n o c ) 策略:解决了总线结构所固有的三大问题:由于地址空间有限而 引起的扩展性问题;由于分时通信而引起的通信效率问题;由于全局同步而引起的功耗 和面积问题。其主要优点是能支持硬件模块之间的并发通信,可伸缩性更强,可用于支 持更大带宽,但时延更长。元件的模块化更有利于口重用,从而提供更高的时钟频率 和低功耗。相对于总线结构使用中央控制逻辑,n o c 的每个交换节点都包含缓存、路由 逻辑和仲裁逻辑,因而其最大缺点是片上面积花销更大。 1 4 论文的主要工作 1 4 1 问题的提出 可重构计算的本质是借助可重构硬件,通过改变系统的结构以完成各种不同的功 能。它具有比软件计算模式更高的性能,同时又具有比基于专用硬件的计算模式更强的 灵活性,因此将在未来的复杂嵌入式系统和高性能计算中发挥重大作用。 然而,通过对前面的可重构计算的研究现状分析得知,虽然可重构计算技术的引入, 一7 一 东北大学硕士学位论文第一章绪论 使整个嵌入式系统既具备了设计的灵活性和专用硬件电路的稳定性和高效性等优点,但 是在实际的应用中,动态可重构系统仍然存在着很多问题。由于动态可重构系统中包含 硬件任务和软件任务,硬件任务是以硬件电路的方式完成特定功能的模块单元,它和软 件任务有着本质的区别,因此软硬件任务协同工作是系统的关键问题,解决这个问题的 主要途径就是通过解决c p u 与f p g a 板级之间的通信问题和软件任务与硬件任务之间 的通信问题得以实现的。论文的工作也主要围绕这方面的研究展开。 1 4 2 论文的主要工作 c p u 和f p g a 是两个截然不同的体系结构,c p u 上运行的是灵活性强、易于管理 的软件任务,f p g a 上运行的是具有高性能、高可靠性的,以硬件电路的方式实现的硬 件任务。动态可重构系统是由c p u 和f p g a 组成的混合系统,两者之间的通信问题影 响到整个系统的性能,本文主要解决的是通信的问题。完成的工作主要包括下面三点: 一是由于f p g a 开发商提供的下载器只能使用p c 的并口配置f p g a ,并且只支持 静态的配置,不支持动态的自动配置,所以本文基于s o c 以模拟的方式开发了支持动态 配置的下载器。 二是当前所有操作系统不支持硬件任务的概念,也没有软硬件任务通信模型的概 念,本文研究并提出了软硬件任务的通信模型,设计了通信的底层实现和基本的通信协 议,满足了系统的需求。 同时为了进行上述两方面的研究,搭建了动态可重构系统实验平台即c p u f p g a 混合系统,动态可重构系统的核心突破就是能够动态进行硬件电路配置,它整合了硬件 电路的高性能和高可靠性以及微处理器的可编程功能,在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蒸汽杀菌锅知识培训要点
- 2025年社区卫生服务知识考试题库(附答案)
- 2025年普通处方权考试题及答案
- 2025诊所租赁合同范本参考
- 叉车实操考试全套试题及答案
- 2025年高考化学试题分类汇编:有机化学基础(含解析)
- 2025全面授权合同协议书汇编
- 物业安全生产试题及答案
- 2025年4月护理理论知识考试模拟题(含参考答案)
- 2025年北京市旅游合同范本(BF)
- 读书分享-《教育的情调》
- 《材料力学》说课-课件
- 物资采购付款报销单
- 政务云收费标准 云托管收费标准
- 飞灰螯合物运输服务方案
- 计算机辅助翻译实用教程ppt课件(完整版)
- 研学旅行概论教学课件汇总完整版电子教案
- 《UI视觉设计案例教程》PPT课件(共6章)第1章 UI快速入门
- 《中国的行政区划》教学设计
- 50T吊车性能表
- 钢化玻璃标准
评论
0/150
提交评论