(计算机科学与技术专业论文)过程级动态可重构计算技术在高清视频中的应用研究.pdf_第1页
(计算机科学与技术专业论文)过程级动态可重构计算技术在高清视频中的应用研究.pdf_第2页
(计算机科学与技术专业论文)过程级动态可重构计算技术在高清视频中的应用研究.pdf_第3页
(计算机科学与技术专业论文)过程级动态可重构计算技术在高清视频中的应用研究.pdf_第4页
(计算机科学与技术专业论文)过程级动态可重构计算技术在高清视频中的应用研究.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机科学与技术专业论文)过程级动态可重构计算技术在高清视频中的应用研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

t h er e s e a r c ho fp r o c e d u r e - l e v e ld y n a m i cr e c o n n g u r a b l ec o m p u t i n g t e c h n o l o g yf o rh i g hd e f i n i t i o nt e l e v i s i o n sa p p l i c a t i o n b y t a nl i m i n b e ( h u n a nu n i v e r s i t y ) 2 0 0 8 at h e s i ss u b m i t t e di np a r t i a ls a t i s f a c t i o no ft h e r e q u i r e m e n t sf o rt h ed e g r e eo f m a s t e ro fe n g i n e e r i n g l n c o m p u t e rs c i e n c ea n dt e c h n o l o g y i nt h e g r a d u a t es c h o o l o f h u n a nu n i v e r s i t y s u p e r v i s o r p r o f e s s o rl ir e n f a a p r i l ,2 0 1 1 59唧2 川60舢9 川-舢y 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的 研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均 已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 译韵久 日期:厶if 年j 月山日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权湖南大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 l 、保密口,在年解密后适用本授权书。 2 、不保密囹。 ( 请在以上相应方框内打“ ) 作者签名: 导师签名: 谫锄久 瓢、氐 日期:厶f f 年歹月山日 日期:函f ,7 ,年厂月山日 过程级动态可重构计算技术在高清视频中的应用研究 摘要 可重构计算具有软件编程的灵活性和硬件实现的高效性,是未来处理高密度 计算的软件和硬件的平衡方案。高清视频标准h 2 6 4 相对其他视频标准有更高的 压缩效率和更好的视频质量。 但是由于h 2 6 4 的高压缩率需要超大数据计算量,普通的微机很难完成复杂 计算,而专用硬件的代价偏高。本文对过程级可重构计算进行了研究,并使用该 方案对h 2 6 4 视频标准进行了研究。本文主要工作如下为此进行了以下工作: 首先,对过程级动态可重构进行了研究,从编程模型的角度出发,给出过程 级软硬件协同设计的流程,明确设计中对目标应用的描述、综合、运行环境三个 阶段应该完成的任务。 其次,对h 2 6 4 标准进行了模块划分,对各个模块进行了分析,重点对去块 滤波器进行了研究。去块滤波模块主要是去除由于编码压缩中变换量化存在误差 而产生的块现象,提高视觉效果。研究工作包括对去块滤波器的基于宏块处理的 处理顺序的改进,对去块滤波的流水结构设计,以及为实现方案设计了恰当的 r a m 减少去块滤波的中间数据和对强滤波的数据通路进行了优化。 然后,对去块滤波器设计的理论分析,使用硬件描述语言实现了去块滤波的 设计方案,使用可重构设计的仿真平台进行仿真,验证了功能的正确性,使用综 合工具,验证了设计的可行性和优越性。 最后,为了使设计实现能够实现软件函数一样的通用性,本文将设计实现定 制为i p 核,供其他开发人员进行开发。 关键字:可重构计算:h 2 6 4 ;去块滤波;高清视频;i p 核 i i a b s t r a c t f o rt h ec o m b i n a t i o no fs o f t w a r ep r o g r a m m i n gf l e x i b i l i t ya n d h a r d w a r ee f f i c i e n c y , r e c o n f i g u r a b l ec o m p u t i n gi sab a l a n c eb e t w e e ns o f t w a r ea n dh a r d w a r ef o ri n t e n s i v e c o m p u t i n g h 2 6 4 ,a h i g h d e f i n i t i o nt e l e v i s i o n s t a n d a r d ,h a sm u c hb e t t e r c o m p r e s s i b i l i t y a n d d e f i n i t i o n ,c o m p a r e dt oo t h e rh i g hd e f i n i t i o nt e l e v i s i o n s t a n d a r d s n e v e r t h e l e s s ,i t sh i g hc o m p r e s s i b i l i t yi sa tt h ec o s to fl a r g e s c a l ec o m p u t i n g , w h i c hc a nb eh a r d l ys u p p o r t e db yg e n e r a l c o m p u t e r sa n di st o oc o s t l yt os p e c 讯c h a r d w a r e t h i sp a p e rh a sd o n es o m er e s e a r c hi n t op r o c e d u r el e v e lr e c o n f i g u r a b l e c o m p u t i n g ,w h i c hi su s e di nh 2 6 4v i d e os t a n d a r d t h em a i nw o r k sf o rt h ep a p e ra s f o l l o w s : t ob e g i nw i t h ,p r o c e d u r e l e v e ld y n a m i c r e c o n f i g u r a b l ec o m p u t i n gi ss t u d i e d , a n dp r o c e d u r e - l e v e lh a r d w a r e s o f t w a r ec o - d e s i g np r o c e s s e sa r ep r e s e n t e df r o mt h e v i e wo f p r o g r a m m i n gm o d e l t h ew o r k ss h o u l db ef i n i s h e da tt h es t a g eo fd e s c r i p t i o n a n ds y n t h e s i sa n de x e c u t i n ge n v i r o n m e n ta r e p r o p o s e d a d d i t i o n a l l y ,t h eh 2 6 4c o d e ci sp a r t i t i o n e di n t os u b m o d u l e sa n da l lo ft h e ma r e i n v e s t i g a t e d d e b l o c k i n gf i l t e r , t h em a i nm o d u l et od e c r e a s et h ev i d e oe f f e c t i v e n e s s i st h ep r i m a r yr e s e a r c h i n go b j e c t an e wf i l t e rs e q u e n c eb a s e d o nb l o c ki sp u tf o r w a r d ap i p e l i n e d e s i g ni sg i v e n ,a n ds u i t a b l er a m sa r ed e s i g n e dt oc u td o w nt h e i n t e r m e d i a t ed a t a ,d a t ap a t hf o r s t r o n gf i l t e ra r eo p t i m i z e d t h e n ,t h ed e b l o c k i n gf i l t e rd e s i g ni sa n a l y z e dt h e o r e t i c a l l y , a n dr e a l i z e d i n h a r d w a r ed e s c r i p t i o n l a n g u a g ev e r i l o g s i m u l a t i o n sa r ec a r r i e do u tb vm o d e l s i m p l a t f o r mt ov e r i f yt h ef u n c t i o n s t h er e s u l to fs y n t h e s i sp r o v e dt h ed e s i g ni sv i a b l e a n ds u p e r i o r a tl a s t ,t h ed e s i g ni sp a c k a g e di n t oi pc o r e ,w h i c hc a nb eu s e db yo t h e rp e o p l e k e yw o r d :r e c o n f i g u r a b l ec o m p u t i n g ;h 2 6 4 ;d e b l o c k i n gf i l t e r ;h i g hd e f i n i t i o n t e l e v i s i o n ;i pc o r e i i l 过程级动态可重构计算技术在高清视频中的应用研究 目录 学位论文原创性声明和学位论文版权使用授权书i 摘要i i a b s t r a c t i i i 插图索引v i 附表索引v i i i 第1 章绪论1 1 1 研究背景和意义一l 1 2 研究内容。2 1 3 论文主要工作3 1 4 论文结构3 第2 章基础原理及相关研究4 2 1 过程级动态可重构计算技术4 2 1 1 可重构计算与可重构片上系统一4 2 1 2 动态可重构计算。5 2 1 3 软硬件划分与动态可重构计算研究现状5 2 2 高清视频标准h 2 6 4 8 2 2 1 视频及高清视频8 2 2 2h 2 6 4 标准及其主要特点9 2 2 3 视频编码技术的相关研究1 0 2 3 可重构计算在图像视频应用的相关研究1 2 2 4 小结13 第3 章过程级动态可重构计算的开发流程及平台1 4 3 1 动态可重构的编程模型1 4 3 1 1 传统的可重构计算编程模型- 1 4 3 1 2 过程级软硬件统一编程模型1 5 3 2 可重构片上系统开发流程1 7 3 2 1 可重构系统级设计1 7 3 2 2 过程级可重构设计1 8 3 2 3 部分动态重构系统设计1 9 3 3 开发工具平台2 0 3 3 1 硬件平台2 0 硕上学位论文 3 3 2 软件平台2 l 3 4 小结一2 2 第4 章h 2 6 4 编码的模块设计和优化2 3 4 1h 2 6 4 编解码的模块一2 3 4 2h 2 6 4 标准的去块滤波优化改进2 4 4 2 1 去块滤波器原理2 4 4 2 2 去块滤波的设计与优化2 7 4 2 3 去块滤波的具体步骤3 0 4 3h 2 6 4 编码的帧间预测3l 4 3 1 帧间预测特点3 l 4 3 2 帧间预测框架设计3 2 4 4h 2 6 4 一编码其他模块3 3 4 4 1i 浈内预测3 3 4 4 2 量化与变换3 4 4 4 3 熵编码3 5 4 5 小结3 6 第5 章实现与分析3 7 5 1 i p 核的设计流程3 7 5 1 1i p 核特点和类型3 7 5 1 。2i p 核的设计3 8 5 2h 2 6 4 去块滤波器i p 核定制4 0 5 2 1 去块滤波器的硬件逻辑实现4 l 5 2 2 定制去块滤波器i p 核4 2 5 3 去块滤波器的仿真与结果分析。4 5 5 3 1 去块滤波处理的仿真验证4 5 5 3 2 去块滤波的时钟周期4 8 5 3 3 实现分析4 8 5 44 、结4 9 结论5 0 参考文献5 2 致谢5 6 附录a ( 攻读硕士学位期间所发表的学术论文及参与科研项目) 5 7 v 过程级动态可重构计算技术在高清视频中的应用研究 插图索引 1 1 论文结构图3 2 1h 2 6 4 标准的整体框架1 0 2 2h 2 6 4 档次特性图1o 2 3 粗粒度可重构图像流处理器1 2 2 4s i m d 阵列图像处理器架构1 2 3 1x i l i n x 软硬件协同开发流程1 4 3 2 过程级编程模型设计1 5 3 3 过程级软硬件统一编程模型一1 5 3 4 过程级软硬件编程模型层次框架1 6 3 5 动态链接控制17 3 6 过程级软硬件协同设计流程1 7 3 7 可重构系统级设计流程1 7 3 8 过程级可重构片上系统开发流程1 8 3 9 部分动态重构系统设计流程1 9 3 10v i r t e x i ip r o 开发板架构图2 0 4 1h 2 6 4 编码器框架图2 3 4 2h 2 6 4 解码器框架图2 3 4 - 3h 2 6 4a ) 1 6 1 6 宏块边界过滤标准顺序b ) 滤波对象一2 5 4 4 过滤处理过程示意图2 8 4 5 去块滤波设计框架2 9 4 6 处理过程中的数据存放示意图2 9 4 7b s = 4 强滤波优化数据通路2 9 4 8 帧间预测原理框图一3 2 4 9 帧间预测设计图一3 3 4 1 04 x 4 帧内预测模式3 3 4 1 l1 6 1 6 帧内预测模式3 4 4 1 2 帧内预测原理图3 4 5 1i p 核开发流程3 8 5 2i p 子模块集成过程3 8 5 3i p 核文件目录层次一4 0 5 4 去块滤波流水线设计图4 1 v i 图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图 硕十学位论文 图5 5 去块滤波器的核心i p 核4 2 图5 6 去块滤波强滤波仿真结果4 6 图5 7 强滤波的数据流图4 6 图5 8 去块滤波仿真输入4 7 图5 9 去块滤波仿真输出4 8 图5 1 0 去块滤波器硬件资源使用:4 9 v i l 过程级动态可重构计算技术在高清视频中的麻用研究 附表索引 表3 1x c 2 v p 3 0f p g a 片内资源2 0 表4 1 边界强度判决条件:2 5 表4 2 强滤波优化运算对比3 0 表5 1 强滤波的输入输出对比4 6 表5 2 强滤波的优化对比4 9 v i i ! 硕士学位论文 第1 章绪论 本课题利用国家8 6 3 项目一一面向可重构片上系统的过程级动态软硬件划 分研究”的研究成果所提供的编程模型和平台,根据多媒体领域的特别需求,研 究过程级动态可重构计算技术在高清视频h 2 6 4 中的应用。项目面向可重构片上 系统( r e c o n f i g u r a b l es y s t e m o i l c h i p ,r s o c ) 的特点及应用需求,研究灵活高效的 软硬件划分,重点对过程级动态软硬件划分方法进行研究。本章接下来将介绍课 题的研究背景和意义,以及本文的研究内容和本人的主要工作,论文结构组成。 1 1 研究背景和意义 我国数字音视频产业已经具有相当大的规模,随着国家对行业支持政策的不 断落实和新技术的不断创新,音视频产业得到不断发展壮大。截止2 0 1 0 年6 月 3 0 日,我国有线高清数字电视用户规模已达1 2 9 8 万户,占国内有线数字电视用 户总量的1 8 ,增长规模达7 6 1 万户。据预测,数字音视频产业将在2 0 1 1 年 成为国民经济第一大产业【2 j ,音视频产品将从模拟时代全面进入数字化发展时代。 当前,数字音视频产业发展非常活跃,新热点不断产生,直播卫星、数字电视、 i p t v ( i n t e r n e tp r o t o e o lt v ,网络协议电视) 、手机电视、高清光盘、高清电视服务、 网络音视频等都受到业界广泛关注,具有广阔的市场前景。只要准确把握机会、 顺势加以推动,数字音视频将会形成相当规模的产业。为了加快多媒体信息的处 理速度,许多公司在c p u 芯片中专门扩展了多媒体功能。目前,多媒体技术已经 成为计算机研究的一个重要领域。 视频解码以往一直是多媒体计算的研究发展方向之一,当年v c d 和d v d 解 压甚至都曾依赖专业解压卡来实现。然而现实是,即便有了强大的c p u ,目前的 m p e g 2 解码依然需要相当大的系统资源,此时显卡进行解码加速将显得十分有必 要。而对于主流的高清视频分为m p e g 2 t s 、w m v - h d 和h 2 6 4 三种算法,目前 大多数显卡只能支持m p e g 2 t s 和w m v - h d 解码技术,而无法支持h 2 6 4 ,这 意味着目前h 2 6 4 的解码资源还并不丰富。但是从今后的发展趋势来看,h 2 6 4 的高压缩比使得其至少与w m v - h d 平起平坐,甚至在技术上更有优势。 高清视频处理的一个主要特点是数据处理量大,并且要求处理的时间实时性 比较高,计算数据可靠,对硬件要求比较高,这就使得一般的处理器在进行多媒 体计算时,出现延时大j 功耗急剧增加,甚至处理出错。同时随着嵌入式技术在 应用中的快速发展,需要一种新的结构,专门应用于高清视频处理,能够方便地 嵌入到嵌入式系统中高性能地计算。因此,那些能够加速数据处理的硬件加速设 过程级动态可重构计算技术在高清视频中的戍用研究 计技术,例如d s p ( d i g i t a ls i g n a lp r o c e s s i n g ,数字信号处理) 、a s i c ( a p p l i c a t i o n s 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 ; 要么不稳定,例如d s p ;要么太复杂,成本高,例如多核并行计算。因此,继续 对新的能够满足高清视频处理的技术进行探讨是相当必要的。 可重构计算【3 1 ( r e e o n f i g u r a b l ec o m p u t i n g ) 是目前计算机研究比较热门的技术 之一,它把可编程器件和微处理器核,以及其它电路模块共同集成到单个芯片 中,利用微处理器可编程和可编程逻辑器件可重配置的特点,在通用微处理器和 专用集成电路之间提供一个功能灵活且运算速度高的平台,被认为是能满足未来 嵌入式应用市场需求的一种极具竞争力的技术解决方案,应用前景十分广阔。 本课题即将使用的动态可重构技术,是一项基于可重构计算的新的高性能计 算技术。它使用微处理器对可重梅器件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 ,现 场可编程门阵列) 进行硬件资源配置,将f p g a 配置成能够多核结构,每个核可作 为一个独立的处理单元,通过微处理器协调各处理单元的计算,同时f p g a 作为 硬件编程器件,具有硬件的快速处理能力和计算的可信性以及软件的灵活性。如 果将f p g a 配置成针对高清视频处理的压缩算法标准h 2 6 4 的优化集成电路,那 么就能够很好地将h 2 6 4 压缩算法分配到f p g a 上进行平行计算,从而很好地满 足实时可靠高清视频的需求。因此,使用动态可重构技术进行高清视频压缩编码 的研究是一项非常有价值,可行的工作,具有很强的理论意义和现实意义。 1 2 研究内容 面向可重构片上系统的过程级动态软硬件划分研究是一项很有应用前景的研 究,而高清视频是当前音视频技术中最热门也最具价值的应用技术。本文的主要 目的就是对过程级动态可重构计算技术和高清视频进行研究,寻找两者之间的切 入点,将国家8 6 3 高科技项目的先进技术应用到最需要解决的市场应用中。要达 到以上目的,需要对以下几个方面的内容进行研究: 1 ) 研究可重构计算技术的发展和过程级动态可重构计算技术的开发设计流 程,对可重构硬件f p g a 的结构进行研究,研究面向可重构片上系统的编程模型 和硬件i p 核的设计流程,理清硬件i p 核和软件实现之间的相互通信; 2 ) 研究高清视频的需求以及当前的面临的技术问题,分析视频编解码的流 程,研究h 2 6 4 视频标准的框架及其特点,分析h 2 6 4 编码的各个模块的数据计 算量及模块间的相互关系; 3 1 研究h 2 6 4 视频编码的软硬件划分,将各个模块软硬件分析,将h 2 6 4 视 频编码使用硬件代码模块化,并对其进行改进和优化。 2 硕士学位论文 1 3 论文主要工作 音视频是当今计算机领域的一个热点,动态可重构技术是一项具有巨大使用 价值的全新技术,本课题基于可重构计算平台,利用过程级软硬件划分方法和编 程模型,对最新高清视频标准h 2 6 4 进行分析,根据h 2 6 4 的各个功能模块进行 分析,使用可重构技术在f p g a 上设计实现h 2 6 4 关键模块的硬件i p 核。本文围 绕这个目的展开了工作,主要包括以下几个方面: 1 ) 根据项目前期的工作,分析动态可重构的编程模型,研究可重构片上系统 的开发流程; 2 ) 对高清视频标准h 2 6 4 进行模块化分析研究,结合硬件逻辑设计的特点, 重点分析了h 2 6 4 的去块滤波器,提出一种新的基于宏块处理的处理顺序,减少 去块滤波处理过程中的临时数据,优化滤波处理的数据通路,并对围绕去块滤波 的存储进行了设计,使用流水技术完成去块滤波处理的设计; 3 ) 使用硬件描述语言v e r i l o g 实现了h 2 6 4 去块滤波的设计,使用m o d e l s i m 和i s e 等工具进行了功能的仿真验证,以及硬件资源的开销统计,时钟频率的统 计; 4 ) 使用x i l i n x 公司的s d k 和i s e 定制去块滤波器的i p 核并验证,对实现的 数据进行分析和总结。 1 4 论文结构 本文的结构如图1 1 ,第二章介绍的是与本课题相关的基础原理和相关研究, 包括过程级动态可重构计算概念方面的介绍和研究对象h 2 6 4 视频标准等;第三 章对研究方法学,主要是本课题的来源项目一一面向可重构片上系统的过程级动 态软硬件划分研究的研究成果和设计指导;第四章是使用可重构计算技术对 h 2 6 4 进行研究,对h 2 6 4 的几个关键模块进行结构设计,并进行优化:第五章 主要是使用工具,在过程级可重构计算的理论指导下定制关键模块的i p 核,并进 行仿真验证,分析数据。 绪论 基础原理及相关研究 赳程敬明念口j 里荆订异州 开发流程及平台 h 2 6 4 编码的模块设计与优化 实现及分析 图1 1 论文结构图 3 过程级动态可重构计算技术在高清视频中的应用研究 第2 章基础原理及相关研究 在进行研究工作之前,需要简介与课题有密切关联的一些基本概念,基础原 理及研究人员最新对与本课题相关的技术进行的研究,主要包括过程级动态可重 构计算技术和高清视频标准h 2 6 4 的概念和相关研究,以及目前使用可重构技术 在视频应用领域中的研究现状。 2 1 过程级动态可重构计算技术 美国学者g e r a i de s t r i n 早在二十世纪六十年代就提出了重构计算,并设计出 重构计算的原型系统【引,为以后可重构计算系统的发展奠定了核心基础。随着 x i l i n x 公司在上世纪八十年代推出了其第一款能够提供硬件功能的效率和软件的 可编程性的f p g a ,各国学者逐渐重视可重构计算技术。并且随着可编程器件容 量的不断增大和自动设计技术的发展,越来越多研究人员投入到对可重构技术的 研究,使得其迅速地成熟起来。 2 1 1 可重构计算与可重构片上系统 可重构计算( r e c o n f i g u r a b l ec o m p u t i n g ,r c ) 就是利用f p g a 实现计算任务, 是一种自适应计算,有的文献也称之为f p g a 计算【3 】。可重构计算的底层技术实 质上就是f p g a 编程技术,主要实现方式有两种。一种是反熔丝技术,即电可擦 写技术,在早期的p a l ( p r o g r a m m a b l ea r r a yl o g i c ,可编程阵列逻辑) 中得到了广 泛的应用,但存在可重构实时性太差的问题。另一种是基于s r a m ( s t a t i cr a m , 静态存储器) 可编程原理的f p g a 编程技术,利用f p g a 中各部件之间由s r a m 相接的原理,对s r a m 进行编程实现具体的应用需求。需要特别指出的是,f p g a 的可编程实现运用了s r a m 的原理,但其实质与通常的可编程是不一样的。 当前的可重构计算技术和传统f p g a 计算技术已经不一样。在传统的设计中, f p g a 在系统中的角色类似于a s i c ,基本上是作为硬件加速器,由用户直接管理 和使用【5 ,6 】。这种方式忽略了f p g a 内在的可重构特性以及任务的并行性,增大了 系统设计难度,也降低了f p g a 的使用率。而现在有许多应用既要求较高的性能, 又需要一定的灵活性。例如,多媒体应用中有位处理、数据并行处理、高精度字 操作、不规则计算、有实时要求的子任务等,并且要求处理系统能够灵活地处理 各个子任务并不影响其性能。还有许多其它诸如数据加密、人工智能之类的应用 也有同样的需求,这些应用需求在可重构片上系统( r e c o n f i g u r a b l e s y s t e m o n c h i p ,r s o c ) 上都能够得到满足。 4 硕十学位论文 可重构片上系统在一个芯片中集成了可编程器件和微处理器核,以及其它电 路模块,利用可编程逻辑器件的可重配置性和微处理器的可编程性,在专用集成 电路和通用微处理器两者之间提供一个折中方案,不仅可以使用可编程微处理器 核运行软件程序,而且可以通过可重构器件实现硬件逻辑,这就结合了软件编程 的功能灵活性和硬件的高运算速度,通过软硬件划分设计人员就可将应用所需完 成的功能有效地映射到这两种类型的运算部件上。 2 1 2 动态可重构计算 依据重构发生的时间,可重构系统有静态和动态之分。静态可重构在编译时 也就是工作之前就重构了可重构硬件。而动态可重构在系统运行过程中重复配置 可重构硬件,其系统也叫运行时可重构系统【7 】。 在一定的控制逻辑下,动态可重构可以在系统运行的不同时间阶段对基于 s r a m 可编程原理的f p g a 芯片的硬件逻辑资源进行高速的功能切换,从而实现 需要比当前f p g a 硬件资源更多的电路系统。可重构计算专题研究组r a w 在2 0 0 5 年的会议上总结了动态可重构,认为其特点就是硬件逻辑器件能够快速地改变系 统运行过程中的逻辑功能并顺畅连接,并指出动态可重构的关键在于然后处理重 构以及尽可能地提高配置速度【8 l 。动态可重构利用动态软硬件划分,选择应用中 的性能瓶颈,将其动态配置到可重构硬件上实现软硬件划分,提高单个f p g a 不 能实现的应用的计算速度。 动态可重构又可分为全局动态可重构和部分动态可重构。全局动态可重构在 要重新配置时需要对芯片上的资源全部重新配置,这就使得状态切换的开销和资 源配置的信息量较大,导致电路系统整体性能降低。而部分动态可重构,将系统 的任务按照一定的算法划分成若干功能子模块,在系统运行的不同时间阶段分别 下载相应的模块进行配置,而那些不需要进行重新配置的模块是不会受到影响 的,大大减少了f p g a 的重构范围和配置需要的时间开销。 2 1 3 软硬件划分与动态可重构计算研究现状 2 1 3 1 软硬件划分 软硬件划分是软硬件协同设计的关键技术之一,划分结果对最终的设计方案 有非常重要的影响。因此,可重构片上系统设计研究人员一开始就对面向可重构 片上系统的软硬件划分进行了大量的研究,并取得了一定成就。提出的软硬件划 分方法基本可分为两大类: 第一类主要是基于对可重构硬件的特点的考虑,把传统的软硬件划分方法进 行了扩充1 9 1 。文献【9 】的支持面向动态可重构硬件的自动软硬件划分策略,利用 配置缓存来保存将要使用的配置文件降低配置开销;文献【l o 】的支持配置上下文 5 过程级动态可重构计算技术在高清视频中的应用研究 动态调度的软硬件划分方法使可编程器件资源得到了充分利用;文献【1 1 】的虚拟 共享存储的方式实现了可重构计算结构上软硬件的无缝集成。总体而言,这类软 硬件划分方法主要是把可重构器件看作是一种面积受限,但时间上可扩展的硬件 逻辑资源,利用器件运行时可重配置的特点,研究调度算法,把更多的任务交替 安排到可重构器件上执行,提高性能。其软硬件划分在系统设计阶段就确定下来 了,运行时只是在合适的时候将配置信息装载到可重构器件上去,软硬件划分方 案本身不再改变,是一种静态的软硬件划分。 第二类主要考虑如何充分发挥动态可重构硬件的能力,进行动态软硬件划分 根据软硬件划分的层次和粒度,又可分为两种思路。 一种思路从底层入手,直接对软件机器指令进行反汇编和在线综合,可称之 为指令级动态软硬件划分方法。该思路利用专用高速缓冲存储器来对软件程序中 循环的执行频度进行计数,将执行频度较高的循环机器代码进行反汇编,得到数 据流图,同时在额外的微处理器上运行一个在线综合程序,将数据流图综合成逻 辑电路配置到可编程器件上。这种思路由g r e gs t i t t 等在2 0 0 3 年设计自动化会议 ( d e s i g na u t o m a t i o nc o n f e r e n c e ,d a c ) 上提出d 2 1 ,并在其后期的工作中不断研究 发展。通过对p o w e r s t o n e 、m e d i a b e n c h 、n e t b e n c h 等基准测试例程的测试,结果 表明这一方法能够有效地提高系统的性能,降低功耗【1 3 1 。显而易见,这种方案的 优势就是设计人员可直接设计纯软件实现的应用系统,无需对软硬件划分进行考 虑,动态软硬件划分算法会决定实际中的软硬件划分方案。这吸引了不少研究人 员对在线反汇编【14 1 ,在线综合【15 1 ,在线布局和布线【1 6 】等算法进行大量的研究。 另一种思路是过程级动态软硬件划分。该思路从高层着眼,把硬件电路看作 一种硬件过程( 进程或线程) 配置到可编程器件,构建支持硬件过程的操作系统实 现软硬件过程的相互迁移和切换。文献【1 7 】设计了一个称为b o r p h 的操作系统, 用u n i x 进程表示硬件任务,并通过扩展u n i x 系统进程的服务接口实现对硬件任 务的支持;文献【1 8 】设计了一个面向可重构系统的操作系统框架一一o s 4 r s ;文 献【l9 1 提出了一个面向可重构计算的实时操作系统,主要研究配置控制接1 2 1 的实 现;文献 2 0 】把w i n d o w sc e 操作系统移植到可重构计算平台上,用设备驱动程序 进行对可重构资源的管理:文献 2 1 】中对可重构系统操作系统的硬件过程调度在 线布局问题进行了比较全面的讨论;文献 2 2 1 用p o s i x 标准的线程模型对软件和 硬件任务进行了描述,增加了操作系统服务程序和相应的硬件电路,支持对软硬 件过程的共同运行和相互切换。国内复旦大学的周博,邱卫东等对如何使用软硬 件多任务模型降低软硬件过程迁移的开销进行了研究,并且将l a c o s i i 嵌入式操 作系统扩展出一个原型系统1 2 3 1 。 6 硕十学位论文 2 1 3 2 过程级动态软硬件划分及过程级动态可重构 动态可重构计算的指令级和过程级动态软硬件划分的层次和粒度不相同,两 者也各有优劣势。指令级动态软硬件划分的优点主要在于编译器和操作系统都可 以不变,且设计人员完全不用对划分过程进行干预,由专用硬件来实现对软硬件 的划分,提高了开发效率。但其缺点也很明显,进行在线反汇编、综合以及布局 布线的专用微处理器增加了硬件开销。此外,局限于基本块内的划分粒度和局限 于单循环的结构使得其性能提升也受到限制。另外,设计人员的不干预和机器自 动进行软硬件划分,硬件综合的优势也导致了系统的封闭性,使得其他系统后人 员已设计的硬件设计资源得不到充分使用,这阻碍了大家的相互学习和交流,也 使得丰富的第三方i p 核得不到充分的使用,显得非常浪费。 过程级动态软硬件划分的优点主要在于把软件和硬件任务都当作过程,操作 系统进行统一管理,支持已有的硬件设计资源,方便进行集成开发和资源芡享。 同时,动态软硬件划分问题也可转换为软硬件过程动态调度问题,扩展操作系统 的过程管理功能就可实现。此外,软硬件过程的通信、同步也可以使用操作系统 中相应机制实现,灵活方便。但相对于指令级动态软硬件划分而言,软硬件过程 的调度、通信、同步基本上由软件完成,时间开销会比较大。虽然一些研究提出 了用专用硬件实现支持可重构计算的操作系统,但是管理配置信息和可重配置资 源以及调度和切换过程的工作还是要通过软件来完成【i 7 - 2 0 , 2 3 】。并且当前的研究人 员对软硬件透明编程模型的关注还不够,设计人员可以看见软硬件过程,在创建 一个软硬件过程时就已经暗示了对相应功能的软硬件划分,尽管可以通过增加专 门代码和电路迁移软硬件过程【1 8 , 2 2 l ,但是这需要修改底层硬件和操作系统来支持 实现,存在难题,并不是一个非常完美的方案。 但是,总的来说,对过程级动态软硬件划分的研究对于推动自动化设计和可 重构片上系统的高水平应用都有着十分重要的意义。当前,国外在可重构片上系 统的动态软硬件划分方面研究比较热,而国内还处于起步阶段。目前国内一些研 究机构和大学对可重构计算系统方面还是进行了相关的研究,中国科学院计算技 术研究所研究了面向可重构计算的编译器;西北工业大学从适合处理数字信号的 可重构计算体系结构方面进行了比较深入的研究【2 4 】;西安电子科技大学利用遗传 算法在可重构计算平台上研究了电路进化设计方法【2 5 】;武汉大学在可编程器件上 对进化硬件设计方法及其软硬件协同工作模式进行了研究【2 6 1 。湖南大学则对可重 构计算的硬件结构、面向动态可重构系统的位宽优化和软硬件协同设计技术进行 了研究 3 , 2 7 】。 过程级动态可重构就是使用过程级动态软硬件划分进行的可重构计算技术, 该技术的关键就是将硬件实现的应用也像软件一样过程化,也就是把一个计算复 7 过程级动态可蕈构计算技术在高清视频中的应用研究 杂的应用,划分为小的计算模块,将小的计算模块使用软件实体代码和硬件接口 代码实现,但是软件实现和硬件实现的模块的功能要一样,接口要相似,这些软 硬件函数构成软硬件协同函数库,方便处理器调用。 2 2 高清视频标准h 2 6 4 2 2 1 视频及高清视频 视频( v i d e o ) 是由一幅幅单独的画面( 称为帧f r a m e ) 序列组成,这些画面以一 定的速率( 帧率f p s ) 连续地投射在屏幕上,与连续的音频信息在时间上同步,使观 察者具有对象或场景在运动的感觉。数字视频( d i g i t a lv i d e o ) 基于数字技术记录 视频信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论