




已阅读5页,还剩70页未读, 继续免费阅读
(信息与通信工程专业论文)部分可重构aes算法的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 可重构计算系统是在通用计算机和专用a s i c 的基础上发展起来的,它结合了 通用计算机的灵活性和专用a s i c 的高效性的优点,在加解密、信号处理以及模式 识别等诸多领域有着重要应用。部分重构是一种新兴的可重构计算技术,它使得 可重构计算系统在重新配置可重构逻辑器件上的部分计算资源时不会影响器件上 其余部分的功能,能实现系统资源的分时复用。与早期的可重构计算技术相比, 部分重构技术能够进一步提高资源利用率和系统性能。 目前国内可重构技术的研究大多是在基于f p g a 的可重构平台上进行的,成 功的应用还停留在系统的静态重构的层次上。动态重构还在进一步的研究过程中, 它面临着重构时隙这样的技术瓶颈。所谓重构时隙就是,在数据重新配置时,可 重构芯片的i 0 引脚对外呈现高阻状态,重新配置结束后,才恢复对外的逻辑功能, 这一时间间隔称为重构时隙。 本论文针对上面的问题,提出了部分可重构的a e s 加解密设计方法,并对基 于模块的部分可重构设计方法进行了深入的研究。主要内容包括: 首先介绍了目前可重构计算技术的研究现状和意义,分析了存在的问题。然 后在a e s 算法的理论基础上,提出了基于模块的部分可重构的a e s 加解密算法。 并且进行了部分可重构验证方案的设计。 其次论文系统地论述了基于模块的部分可重构a e sn 解密算法的设计流程, 对部分可重构的a e s 加解密算法的代码进行了设计;对部分可重构a e s 加解密算 法的约束条件进行了设计。对模块实现过程中以及最后的编译阶段遇到的问题进 行了分析和解决。然后在x i l i n xv i r t e x i ip r of p g a 上实现了这个部分可重构的系 统。并通过实验结果证明了这种部分重构设计方法的优势。 最后对流水线可重构进行了分析,提出了一种流水线可重构系统结构。能够 实现重构过程和执行过程的交叠,达到隐藏重构时间的效果。利用a e s 加解密系 统进行简单的验证,为这个方向的后续研究作了前期的准备工作。 关键词:可重构,a e s ,模块化设计,总线宏,流水线 a b s t r a c t a b s t r a c t r e c o n f i g u r a b l ec o m p u t i n gs y s t e mh a sb e e nd e v e l o p e db a s e do nm i c r o p r o c e s s o r a n da s i c s i tc a na c h i e v ep o t e n t i a l l ym u c hh i g h e rp e r f o r m a n c et h a ns o f t w a r e ,w h i l e m a i n t a i n sah i i g h e rl e v e lo ff l e x i b i l i t yt h a nh a r d w a r e m a n ya p p l i c a t i o n sh a v es h o w nt o e x h i b i ts i g n i f i c a n ts p e e d u p su s i n gr e c o n f i g u r a b l eh a r d w a r e ,i n c l u d i n g :d a t ae n c r y p t i o n , s i g n a lp r o c e s s i n ga n dp a t t e mr e c o g n i t i o n p a r t i a lr e c o n f i g u r a t i o ni sar i s i n gt e c h n o l o g y w h e l lo n em o d u l ei sb e i n gc o n f i g u r e d ,o t h e r sc a ns t i l ld ot h e i ro w ni o b i tc a nr e a l i z e t i m es h a r i n go fs y s t e mr e s o u r c e c o m p a r e dw i t h e a r l yr e c o n f i g u r a b l ec o m p u t i n g t e c h n o l o g y , p a r t i a lr e c o n f i g u r a t i o ni m p r o v e sr e s o u r c eu t i l i z a t i o na n d s y s t e m s p e r f o r m a n c e a tp r e s e n t ,m o s to ft h ed o m e s t i cr e s e a r c hi n r e c o n f i g u r a t i o ni sb a s e do nf p g a s u c c e s s f u la p p l i c a t i o n sa r es t i l lo nt h el e v e lo fs t a t i cr e c o n f i g u r a t i o n d y n a m i c a l l y r e c o n f i g u r a t i o ni ss t i l lo nr e s e a r c h ,a n df a c e st h eb o t t l e n e c ko fr e c o n f i g u r a b l ei n t e r v a l 、v h e nb e i n gr e c o n f i g u r a t e d ,c h i p sl o st a k eo nh i g h zs t a t e a n di tc a n o n l yr e s u m ei t s l o g i c a l f u n c t i o nw h e n r e c o n f i g u r a t i o n i sd o n e t h i st i m ei n t e r v a l i sc a l l e d r e c o n f i g u r a b l ei n t e r v a l a i m e da ta b o v eq u e s t i o n ,t h i sd i s s e r t a t i o nh a sp r o p o s e dad e s i g nm o t h o do f p a r t i a l l yr e c o n f i g u r a b l ea e s a r i t h m e t i c a n dh a v ead e e pr e s e a r c ho nt h i sm o t h o db a s e d o nm o d u l e ,m a i n l yi n c l u d e : f i r s t l y , t h er e s e a r c hs t a t u sa n dr e s e a r c hs i g n i f i c a n c eo fr e c o n f i g u r a b l ec o m p u t i n g a r ei n t r o d u c e d ,a n dt h ee x i s t i n gp r o b l e m sa r ea n a l y s e d a f t e ru n d e r s t a n d i n gt h ea e s t h e o r y , t h ep a r t i a lr e c o n f i g u r a b l ea e sb a s e do nm o d u l ei sp r o p o s e d ,a n dt h ev e r i f i c a t i o n s c h e m ei sa l s op r o p o s e d s e c o n d l y , t h ed e s i g nf l o wo fp a r t i a lr e c o n f i g u r a t i o nb a s e do nm o d u l ei sd i s s e r t a t e d i nd e t a i li nt h i sd i s s e r t a t i o n ;a e sc o d eb a s e do np a r t i a l l yr e c o n f i g u r a t i o ni sd e s i g n e d : c o n s t r a i n t so fr e c o n f i g u r a t i o na r ed e s i g n e d s o m ep r o b l e m si nt h ep r o c e s so fr e a l i z a t i o n a r ea n a l y z e da n dr e s o l v e d t h e nt h i sp a r t i a l l yr e c o n f i g u r a b l es y s t e mi sr e a l i z e do n x i l i n xv i r t e x i ip r of p g a t h e p r e d o m i n a n c eo ft h i sd e s i g nm e t h o di sp r o v e dt h r o u g h e x p e r i m e n tr e s u l t l a s t l yp i p e l i n e dr e c o n f i g u r a t i o ni sa n a l y z e d ,a n dap i p e l i n er e c o n f i g u r a b l es y s t e m i sp r o p o s e d t h i ss y s t e mc a nr e a l i z eo v e r l a po fr e c o n f i g u r a t i o na n dt a s ke x e c u t i o n ,a n d h a sa ne f f e c to fh i d eo fr e c o n f i g u r a t i o nt i m e i tw a s s i m p l yt e s t e db ya e s ,a n dt h i sd o e s a p r o p h a s ej o bf o rl a t e rr e s e a r c hw o r k k e y w o r d s :r e c o n f i g u r a b l e ,a e s ,m o d u l a rd e s i g n ,b u s - m a c r o ,p i p e l i n e i i 表目录 图2 1 图2 2 图2 3 图2 4 图2 5 图2 - 6 图2 7 图2 8 图2 - 9 图2 1 0 图3 1 图3 2 图3 3 图3 4 图3 5 图3 - 6 图3 7 图3 8 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 图4 7 图4 8 图4 - 9 图4 1 0 图4 1 l 图4 1 2 图4 1 3 图4 1 4 图4 1 5 图5 1 图目录 重构互连资源5 重构计算资源6 基于s r a m 的可编程位6 r c 基本结构一7 不同耦合程度的r c ( 阴影区为可重构逻辑块1 7 ( a ) 静态可重构( b ) 动态可重构9 f p g a 的结构1 2 典型的f p g a 动态可重构原理示意图13 x i l i n xv i r t e x i ip r of p g a 的结构示意图1 4 x u pv i r t e x i ip r o 开发系统一1 6 加密全过程( 密钥长度为1 2 8 比特) 2 2 a e s 算法加解密过程2 2 字节代换示意图2 4 行变换对状态中行的作用2 5 列混合变换示意图2 6 轮密钥异或示意图2 6 密钥扩展示意图2 7 t ( x ) 操作示意图2 8 部分动态重构技术3 0 具有两个部分可重构模块的设计布局图3 2 基于模块的部分可重构设计流程3 4 设计目录结构3 6 总线宏的物理形式3 7 v i r t e x i ip r o 中的总线宏b m4 bv 2 p n m c 3 8 顶层模块结果3 9 模块布局( a e s n g d l 4 0 轮变换基本结构图4 2 密钥扩展模块的n c d 文件4 3 加密运算轮变换模块的n c d 文件4 4 重构后解密运算的轮变换模块的n c d 文件4 4 ( a ) 加密电路的最终版图( b ) 解密电路的最终版图4 5 时序调整前的波形图4 7 时序调整后的波形图4 7 p i p e r e n c h 可重构阵列结构5 0 v i 图目录 图5 2 r a p i d 系统结构图5l 图5 3流水线处理结构5 l 图5 4流水线配置处理过程5 2 图5 5流水线重构系统理想工作方式5 2 图5 - 6a e sa n 解密的高速实现图5 4 表目录 表3 1明文状态矩阵的映射2 l 表3 2初始密钥密钥矩阵的映射2 l 表3 3轮的数目同密钥长度的关系2 l 表3 4s 盒表2 4 表3 5不同分组长度对应的偏移量2 5 表3 - 6 g o ( j ) 表2 8 表4 1三静设计方式的比较4 8 v l l 英文缩写 a e s a l u a s i c c l b c m e d a e d i f f i f o f p g a h d l i o b l u t 叫x r c s o c s o p c s r a m 英文全称 缩略词表 缩略词表 a d v a n c e de n c r y p t i o ns t a n d a r d a r i t h m e t i cl o g i cu n i t 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 c o n f i g u r a b l el o - g i cb l o c k c o n f i g u r a t i o nm e m o r y 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 l e c t r o n i cd e s i g ni n t e r c h a n g ef o r m a t f i r s ti nf i r s to u t f i e l dp r o g r a m m a b l eg a t ea r r a y h a r d w a r ed e s c r i p t i o nl a n g u a g e i n p u to u t p u tb l o c k l o o ku pt a b l e m u l t i p l e x o r r e c o n f i g u r a b l ec o m p u t i n g s y s t e mo nc h i p s y s t e mo np r o g r a m m a b l ec h i p s t a t i cr a n d o ma c c e s sm e m o r y v i i i 中文释义 高级加密标准 算术逻辑单元 专用集成电路 可配置逻辑块 配置存储器 电子设计自动化 电子设计互换格式 先进先出存储器 现场可编程门阵列 硬件描述语言 输入输出块 查找表 多路选择器 可重构计算 片上系统 片上可编程系统 静态存储器 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名: 翌壹日期:劳年f 月髓厨 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:星壹导师签名:旌 e t 期:善d 影年 月u 日 第一章绪论 第一章绪论 本章简要介绍了可重构计算技术的发展现状,对本课题的研究意义进行了分 析,最后确定了本论文的研究内容。 1 1 课题来源及意义 本论文研究的课题来源予国家自然科学基金项目“算法级功能可重构的数字 硬 孛落系结构及实现方法研究 烈o 6 0 6 7 6 0 1 4 ) 以及图川省应焉基础研究项爱“基 于f p g a 动态可重构的a s i c 设计方法研究”。本论文着重研究部分可重构a e s 加 熊密算法的设计及其在f p g a 上的实现。 可重构计算( r e c o n f i g u r a b l ec o m p u t i n g ) 是当前计算机系统结构领域的发展趋 势之一【l 】,它利用可重构逻辑器件的在线编程能力以硬连线逻辑高效地实现算法操 作,在加解密、神经网络、图像处理等领域有着重要应用。部分重构( p a r t i a l r e c o n f i g u r a t i o n ) 是一种新型的可重构计算技术。利用部分重构技术,可重构计算 系统可以对可重构逻辑器件上的指定计算资源进行独立地配置,而不影嘲器件上 其余部分的功能。 加密算法常见的有对称加密算法和菲对称加密算法。对称加密算法中,加密 和解密使用同一个密钥,对称加密算法计算量小,加密速度快,其安全性依赖于 密钥。量前最著名的对称加密算法有数据加密标准d e s 和高级数据加密标准a e s 等。加密算法可以用软件和硬件两种方法实现。虽然软件加密现在比较流行,但 由于通用处理器并非专为特定应用设计,因此黑软件实现的运算性能不高。两硬 件实现针对特定算法设计,提供了很高的性能,基于性能和安全方面的考虑,目 前硬件加密是商业和军事上的主要选择。但硬件实现的专用芯片,由于是针对特 定运算算法实现,灵活性降低。 可重构计算技术为传统通用处理器和专用处理器供了一个非常有价值的发展 方向【翻。可垂构计算技术是指:数字系统制造完成以后,其硬件结构可以根据需要 重新配置的技术。目前大多数研究成果基本由现场可编程门阵列器件f p g a 和通 焉处理器构成,由可编程器件提供对复杂运算的加速计算能力。可重梅计算技术 电子科技人学硕士学位论文 是一个新兴的研究领域,对它的研究无论是在国虑还是在蟹外,都具有技术领先 性。可重构计算技术处于灵活性和效率的中间位置,结合了通用和专用二者的优 点,在概念上既有a s i c 硬件电路的高效性也有类似于通用处理器的灵活性p j 。 对于加密算法的硬件实现,传统的a s i c 实现缺少灵活性。而将传统硬件的高 速度和物理安全性与高的灵活性相结合的种很有发展的方案是在可重构设备上 实现加解密算法。 1 2 研究现状及研究意义 1 2 1 研究现状 最早的可重构计算概念是u c l a 大学( u n i v e r s i t yo fc a l i f o r n i aa tl o sa n g e l e s ) 的g e r a l de s t r i n 提出并设计实现的固定+ 可变结构计算机溯。限于当时的技术条件, e s t r i n 只实现了个粗糙的原型系统,但这种结构奠定了以后可重构计算系统的核 心基础。直到2 0 世纪8 0 年代中期x i l i n x 公司推患其第一款现场可编程f 了阵列 ( f p g a ) 以来,可重构计算系统才开始从理论研究走向实际应厢。基予f p g a 的可 重构系统已经在很多应用场合表现是优越的性能,铡如超高耩度运算、加密勰密、 神经网络、图像处理等。 露蘸可重构计算技术已经成为当前国际研究热门课题,多个国家有关大学、 研究所均有学者加入到数字系统动态可重构技术的研究工作之中。研究者分布于 计算机、集成电路、信号处理、电子设计、软件开发等各领域,从不同的角度开 展研究。这些磷究技术点包括: ( 1 ) 系统体系架构。为了充分发挥可重构系统在专用领域的性能优势,很多研 究机构对系统结构进行了研究,提出了不同的可重构架构,如m 1 芯片f 翻、 t s r c s 6 1 、g a r p e 7 】等。这些架构有一个共同点就是;都是由可重构的互连 网络将可重构的功麓单元互连起来,只是每种架构针对的应用对象不同, 它们内部的功能单元实现不同而已。有些功能单元是粗粒度的有些功能单 元是细粒度的。 ( 2 ) 算法编译技术。面向可重构系统的算法编译是将算法描述转换成对可熏构 系统的配置信息。冒翦基予高级程序描述语言的可重构编译系统研究取得 了较大发展,不仅能完成实时地综合映射【8 】,还能够完成系统功能软硬件 2 第一牵绪论 的划分【9 1 、系统结构粗细粒度的划分【1 0 】等。 ( 3 ) 可重构计算技术的应用。可重构计算技术现在已经在多媒体1 ”、图像、音 频、视频等数字信号处理类领域【1 2 】,以及加密算法【1 3 】等领域得到应用。 采焉可重构技术的系统能够适应不同的环境要求,具有褶当的灵活性。 1 2 ,2 研究意义 对于实现具有多功能特点的系统,传统的设计方法是将不同标准的相应电路 集成起来。这样一来,整个电路将变得愈来愈复杂,丽在实际使耀中,多种功能 集成电路中只有部分赘源得到应用,其余资源均处于闲置状态。因此,在硬件资 源有限的条件下,这种方法在资源消耗与兼容能力之间无法获得很好的平衡,需 要兼容的标准越多,电路就越复杂,功耗也越大,甚至超过系统所能承受的极限。 由于动态可重构技术可在时间轴上实现功能模块的动态调用,以较少的资源实现 系统多种功能疆钺。黧此,动态可重构技术为上述问题提供了很好的解决方案,它 将处理不同标准的电路分别设计,并生成相应的配置数据,由系统根据所需要处 理的标准来动态的重构相应的电路。 目前国内可重构技术的研究大多是在基于f p g a 的可重构平台上进行的,成 功的应用还停留在系统的静态重构的层次上。动态重构还在进一步的研究过程中, 它面临着重构时隙这样的技术瓶颈。对于常规的f p g a ,其芯片逻辑功能数据的重 新配置大约需要几十毫秒。在数搌重新配置时,f p g a 的i 0 引脚对外呈现高阻状 态,重新配置结束盾,才恢复对外的逻辑功畿,这一时间间隔称为重构时隙,因 此,如何克服或减少藿构时隙是实现动态可重构的关键。 论文提出的基于模块的部分可重构a e s 加解密系统以及流水线可重构系统具 有以下优点: ( 1 ) 部分可重构的设计在时间上具有细的时间粒度,同时在空间上又具有较细 的重构粒度。这样就使得可重构计算系统能够更加灵活地实现计算任务, 圊时具有更离的性能。 ( 2 ) 利用流水线可重构技术能够实现重构过程和执行过程的交叠执行,达到了 隐藏重构时闻的效果,进一步解决了耋构时隙的问题。 本论文提出的基于模块的部分重构设计方法以及基于流水线的重构系统对于 电子科技大学硕士学位论文 动态可重构的研究和应用具有重要的意义。 1 3 课题研究内容 目前的可重构技术研究绝大多数是以现有的f p g a 技术为基础,利用f p g a 可编程的特性进行重构,所以有必要对f p g a 的原理和发展趋势进行了解。本课 题主要研究a e s 加解密算法的可重构设计,所以需要对目前的可重构研究现状和 发展情况作一定的了解,对目前主流的a e s 加解密算法进行深入的分析。本课题 涉及到的主要研究内容如下: ( 1 ) 了解目前国际上在可重构技术方面的研究进展,掌握可重构系统的设计思 想及可重构性的实质; ( 2 ) 研究基于部分可重构技术的a e s 加解密系统的设计方法; ( 3 ) 实现部分可重构的a e s 加解密算法的f p g a 前端输入,深入研究x i l i n x f p g a 的器件结构特性,以及在相关的e d a 开发工具i s e 、m o d e l s i m 下 完成整个可重构a e s 加解密系统的设计流程; ( 4 ) 研究基于部分重构的流水线可重构系统架构和设计方法,提出自己的流水 线可重构a e s 加解密系统结构。 1 4 本论文的安排 本论文是在可重构研究工作的基础上,采用可重构计算技术设计和实现a e s 加解密算法,并在可重构平台上验证。 论文第一章为绪论,主要介绍本课题的来源及研究意义,并介绍了课题的主 要研究内容。第二章介绍了目前可重构计算技术的一些基本概念、应用范围,以 及本课题中使用到的硬件平台。第三章介绍了a e s 加解密算法的原理、具体描述, 最后对它的安全性进行了分析。第四章介绍了两种部分重构的模式,并着重在基 于模块的部分可重构模式上,对部分可重构的a e s 加解密系统的设计和实现进行 了阐述。第五章对现有的流水线可重构系统进行了分析和研究,并在此基础上提 出了流水线可重构a e s 加解密系统结构。第六章为结论和展望。 4 第二章可重构计算系统 第二章可重构计算系统 本章主要介绍可重构计算技术的基本硬件结构、分类和应用范围。对可重构 f p g a 进行了重点介绍,并介绍了本课题使用的可重构f p g a 开发系统。 2 1 可重构计算概述 早在1 9 6 3 年e s t r i n 就在文献【4 】中提出了可重构计算( r c ,r e c o n f i g u r a b l e c o m p u t i n g ) 的概念,即“固定+ 可变结构计算机”,包括一个固定的处理器和一个用 于实现数字逻辑的可编程器件。这个基本结构也是后来各种可重构计算系统的核 心。但是直到2 0 世纪8 0 年代中期,r c 才随着f p g a 技术的成熟而再度成为研究 热点。可重构计算一词是指集成了某种形式可编程硬件的系统来进行计算,该可 编程硬件的功能可以通过一系列定时变化的物理控制点来定义。这也是目前在学 术研究中普遍使用的一种描述。 2 1 1 编程技术 作为体现系统可重构性的关键,改变或者重构可编程硬件的功能不外乎是通 过两种方式来实现的:一种是重构互连资源,包括传输门方式和多路选择器等方 式;另一种是重构处理单元,包括算术逻辑单元( a l u ) 方式、查找表( l u t ) 方式和 多路选择器( m u x ) 等方式。 警 图2 1重构互连资源 通过控制传输门来重构互连资源的典型例子如图2 1 左所示( 这在f p g a 中用 得最多 1 5 】【1 6 】) ,编程位控制传输门的连通或者断开来重构连线通路;通过控制m u x 来重构互连资源的典型例子如图2 1 右所示,编程位控制m u x 在处理单元的不同 电子科技大学硕士学位论文 输入或者不同输出之间进行选择,例如可以选择输出信号是否要经过d 触发器的 锁存。 在a l u 处理单元结构中,作为控制信号的编程位可以决定一个a l u 对输入 信号执行何种算术逻辑运算,而在l u t 结构中,编程位本身就形成计算结果( 通过 改变2 n 个编程位,用l u t 几乎可以实现n 个输入信号的任何函数) 。除此之外, 还可以基于m u x 来产生输入信号的任意输出函数:对于任何给定的三输入变量的 逻辑函数均可用四选一m u x 实现,对于任何四输入变量的逻辑函数均可用八选一 m u x 实现,依此类推。用以上三种方式都可以重构处理单元,使之具备与算法相 适应的功能,如图2 2 所示。 璺鲫嘶 图2 2重构计算资源 目前,可重构器件中的物理控制点( 编程位) 大多是连接到s r a m 的,也就是 说通过编程s r a m 来配置可重构器件的,即所谓的基于s r a m 编程。图2 3 给出 了基于s r a m 的f p g a 中最小单元电路的原理图,该原理图即为图2 1 和图2 2 中的编程位p 点。 芄写 j卜ni 据i - 7 图2 3基于s r a m 的可编程位 2 2 可重构计算系统的基本结构及分类 q q 2 2 1 可重构系统的基本结构 图2 4 所示为可重构计算系统( r c ) 的基本结构1 7 】。这个高度抽象的模型可以 6 第二章可重翡计算系统 演绎出很多种不同的具体设计,所有这些设计主要都是围绕以下三点展开: 图2 _ 4r c 基本结构 ( 1 ) 可重构硬件的粒度( g r a n u l a r i t y ) :可重构硬件中的计算模块多种多样,每一 个计算单元或叫逻辑块,可以像三输入l u t 那么简单,也可以像四位的 a 聪那么复杂,这种模块尺寸的差异就称为是逻辑模块的粒度不圊。3 - b i t 的l u t 就是一个细粒度( f i n e a n u l 撕t y ) 的范例【1 8 】,而4 出i ta l u 就是一个 籽粒度( c o a r s eg r a n u l a r i t y ) 的例子。细粒度模块适用于比特级操 乍,两粗粒 度模块则适合标准数据总线宽度的应用。 ( 2 ) 可重构硬件与主处理器的耦合度( p r o x i m i t y ) :主处理器与可重构硬件昀连 接有不同的形式,如图2 5 所示。 图2 5 不同耦合程度的r c ( n 影区为可重构逻辑块) 7 电子科技大学硕士学位论文 第一种情况,可重构硬件只是主处理器内部的个功能单元( f u , f u n c t i o n a lu n i t ) ,始终处于c p u 指令的控制之下,其输入输出操作数存储 于寄存器中;第二种情况,可重构单元用作协处理器( c o p r o c e s s o r ) ,协处 理器规模一般比功能单元要大,并且可以独立完成运算,主处理器无需进 行不间断的干预,只需对其进行初始化并提供必要的数据或所需数据的地 址信息;第三种情况,附属处理单元,类似予多处理器系统中一个附加的 处理器,它不可以访问主处理器的数据缓存,因此主处理器和可重构硬件 之闻的通信具有较大的延迟,但反过来说这种情形允许较大程度的独立运 算;最后一种情况,是耦合度最小的外部处理单元,这种类型的可重构硬 件与主处理器间的通信很少,这种模型类似于联网的工作站。 ( 3 ) 互连资源:可重构硬件中逻辑模块之间的互连线也是非常重要的,互连线 占据了可重构器件大部分的芯片藤积。如果f p g a 中逻辑模块所占面积的 比例很高,就会使自动布线工具很难完成所需的连接。因此一个好的互连 线模式要能保证所设计的电路能成功地实现。 2 2 - 2 可重构系统的分类 入们关注和研究可重构计算的侧重面各不褶同,相应地就可以将可重构计算 按照以下几种方法进行分类。 2 2 2 1 按重构发生的时间分类 可重构计算可按照羹构发生的时间分为静态可蓬构和动态可重构。静态可重 构也器唾编译时( c o m p i l e - t i m e ) 可重构,动态可重构也赫q 运行时( r u n t i m e ) 秘- - 重构。 静态可重构是指可重构器件在编译阶段配置好,并在随后整个应用程序的运 彳亍阶段中保持静态不变( 圈2 - 6 ( a ) ) ,这种方式以每个应用程序包含一个配置内容为 特征。现存的设计工具都是以静态模型为前提的,因此可以为静态可重构提供足 够的设计支持。 动态可重构是指可重构器件可以在应用程序的运行阶段按照重构方案即时配 置【臻,也就是说配置和执行可以交叉进行f 图2 - 6 ( b ) ) 。这种方式以每个应用程序包 含多个配置内容为特征,执行一次程序要进行多次配置操作,目的是更充分地利 用有限的可重构资源。当然这也会带来一些以前的自动设计工具所没有涉及过的 问题,比如必须把算法沿时间轴划分成时f 呲( t i m e e x c l u s i v e ) 的段( 这些段不必或 第二章可重构计算系统 者不能并行运行) ,同时还要处理好相邻配置内容的切换以及中间计算结果的继承 等问题。 圈2 - 6 ( a ) 静态可重构国) 动态可重构 在动态可重构中还存在全局重构和局部重构之分。全局垂构是指,对f p g a 器件或系统能且只能进行全部的重新配嚣,在配置过程中,计算的中间结果必须 取出存放在额外的存储区,直到新的配置功能全部下载完为止。重构前后电路相 互独立,没有关联。通常,可以给f p g a 串连一个e p r o m 来存储配置数据,实 现翦看功能的转化。恧蜀部重构是指,对重构器件或系统的一部分进行重新配置, 而在此过程中,其余部分的工作状态不受影响。这种重构方式减小了重构范围和 重构单元数目,从而可以缩短重构时间,有相当的优势。 2 2 2 2 按可重构单元颖粒度分类 大部分可重构器件都是基于可重构单元阵列的,粒度是指系统中可重构单元 的操作数的宽度【2 镄。据此,可重构系统大致可以分为两类:粗粒度( c o a r s e - g r a i n e d ) 和细粒度( f i n e - g r a i n e d ) 。在细粒度的可重构体系结构中,可重构单元的处理元素通 常是逻辑门、触发器、查找表等,它们进行位( b i t ) 级操作,具有相当的灵活性。而 在粗粒度的可重构体系结构中,可重构单元的处理元素可能包括完整的功能单元, 像算术逻辑单元a l u 、乘法器等,它们进行字( w o r d ,毒多个位构成) 级的操作,它 的高效性适用于计算密集型的应用。如果一个可重构体系结构中包括粗粒度和细 粒度两种,则称其为混合粒度的可重构体系结构。 在可重构结构应用中,配置时间和配置数据量常常是影响性能的关键因素, 颗粒度是决定配置代价最根本的圜素。细粒度可重构单元在配置时需要更多的配 置数据,因此也就需要更长的重构时闻;丽粗粒度可重构单元配置数据相对较少, 相应地重构时间也就减少了。 9 电子科技大学硕七学位论文 2 2 2 3 按可重构单元的配置方式分类 不同结构的可重构系统芯片内部,重构的配置方式也不相同,目前常见的有 以下两种:一种是o f f - c h i p 重构【2 l 】:通过串口或并口将配置信息传送到芯片的配置 存储器中来实现的一种重构方式。f p g a 内部的逻辑元胞( l c ) 可实现多种子电路的 功能,配置存储器( c m ) 用于装载重构部分的各种配置信息。重构时,在外部逻辑 的控制下,配置信息通过串口或并口电路传送到c m ,配置存储器再将配置信息装 载到f p g a 内部的逻辑元胞中,对芯片逻辑进行全局或局部的功能修改。另一种 方法是c o n t e x t 重构:对于多重c o n t e x t 结构的d r f p g a ( 动态可重构f p g a ) ,通过 交换配置存储器和片上c o n t e x t 存储器的部分或全部的配置数据来实现重构的方式 【2 2 】【2 3 】。一个c o n t e x t 存储器可以存储多种配置信息( 如m 1 可存储3 2 种c o n t e x t 信息) , 事先将多种配置信息下载到片上的c o n t e x t 存储器中,直接通过c o n t e x t 间的部分或 全部内容切换来改变配置信息,控制阵列单元实现新的功能。这样,重构时间的 长短仅仅取决于c o n t e x t 间的切换速度,从而可以减少重构时间,一般仅需几纳秒。 这种重构方式的实现是动态重构技术发展的主要标志。 2 2 3 可重构技术的应用 可重构计算技术运用于系统设计中是一种兼具软件灵活性和硬件高效性的设 计方法。它的应用不仅仅是一种新型功能电路的应用,其涉及数字系统设计方法、 设计思想的变革【2 4 1 ,可以使系统设计从追求逻辑的规模转向追求逻辑的分时复用; 从专用电路转向功能可自适应进化的系统。从目前可重构系统的性能分析上看, 现在可重构系统主要有如下方面的应用: 2 2 3 1 通信与信号处理 类似于f f t 、f i r 、d c t 等计算密集型的信号处理函数2 5 】 2 6 1 ,a s i c 的实现方 法能够提供很高的速度,但却丧失了灵活性。当一个复杂的系统中需要使用到多 个函数时,系统的规模就会变得很庞大。而可重构技术正好可以提供一种灵活且 高效的实现方式,以时分复用的形式满足系统不同时刻的要求。可重构技术的特 性可以适合不同制式和不同标准的通信系统的要求,可以满足软件无线电技术的 发展和第三代移动通信系统的需要。 2 2 3 2 容错系统 现代数字系统正日益复杂和精密,系统中任一元部件的故障,轻则使系统的 1 0 第二章可重构计算系统 工作任务不能正常完成,重则造成严重的灾难。在系统中采用容错技术是提高系 统可靠性的重要措施 2 7 】【2 8 1 。可重构硬件可在芯片内实现多次不同的布局布线,以 实现芯片内部的故障纠错。 2 2 3 3 自适应进化电路 进化电路是指,动态可重构电路的配置是由进化算法决定的【2 9 1 。设计者将需 要用可重构系统完成的任务,用设计拟合功能的方式来描述。然后用进化算法( 如 遗传算法等) 来产生及进化出一系列配置,最终产生出具有所需功能的设计。由此 可以产生出超出现有模型、技术的新型电路。 自适应进化电路具有自学习、自适应、自生长的特性 3 0 1 ,当电子系统运行在 一些人力所不能达或因危险而无法达到的场合下,如火星探测器、月球车、空间 站等宇航系统等都特别需要自适应、自进化的特性,这些特性显得非常重要。 2 2 3 4 可重构计算 可重构硬件具有一定的并行处理能力和动态配置能力,促使了一种全新概念 的,可自动改变硬件来适应正在运行的程序计算机的产生。可重构计算结合了通 用处理器与a s i c 的优点 3 1 1 。一方面可重构计算机可根据不同的计算任务对可重 构单元阵列作相应的配置,从而具有很强的通用性和灵活性;另一方面计算任务 由分配的硬件资源直接完成,其计算速度接近a s i c 3 2 1 。 2 3 基于f p g a 的可重构技术 2 3 1f p g a 简介 f p g a 是由掩膜可编程门阵列和可编程逻辑器件二者演变而来的,并将它们的 特性结合在一起,因此f p g a 既有门阵列的高逻辑密度和通用性,又有可编程逻 辑器件的用户可编程特性。只需用硬件描述语言编写系统功能并由c a d 工具转化 为下载文件,下载到f p g a 中即可实现该系统功能。f p g a 可反复利用并且下载过 程非常迅速。电路的调试、修改也及其方便,只需修改源程序重新下载即可。 根据编程方式,f p g a 可分为一次编程型和可重复编程型。一次编程型采用反 熔丝开关元件,具有体积小、集成度高等优点,但是只能一次编程,比较适合大 型产品及大批量应用。可重复编程f p g a 是基于s r a m 的。s r a m 是指静态存储 电子科技大学硕十学伉论文 器,它的基本存储单元由两个c m o s 反相器和一个用于读写数据的通道晶体管组 成。s r a m 型f p g a 的突出优点是可以反复编程,系统上电时,给f p g a 加载不 同的配置数据就可以完成不同的硬件功能,甚至在系统运行时改变其配置,实现 系统功能的动态重构。 2 3 2f p g a 的基本结构 通常f p g a 由布线资源分隔的可编程逻辑单元( 或宏单元) 构成一个二维阵列 【3 1 1 ,又由可编程输入输出单元围绕阵列构成整个芯片。排成阵列的逻辑单元由布 线通道中的可编程内连线连接起来实现一定的逻辑功能,即分段的金属互连线可 以由可编程开关以任意方式连接形
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度高新技术企业整体转让协议书范本正规范本
- 二零二五年度防火门窗及栏杆制作安装合同范本
- 2025年还建房社区志愿者服务与管理合同
- 二零二五年度房产租赁与买卖相结合的复合合同
- 2025年度教育科技产品广告制作与宣传服务合同
- 2025年房地产项目售后服务居间合同书(含客户满意度)
- 二零二五版企业战略咨询服务合同
- 二零二五年度XX小区物业服务质量考核与奖励合同
- 2025版第三储气罐储气设备技术改造与升级合同
- 二零二五年度全球高端科技项目咨询与实施服务合同
- 酬金制物业合同
- 三基三严考试模拟题与参考答案
- 工厂反骚扰、虐待、强迫、歧视政策(同名11645)
- 重点监管危险化学品名录(2013年完整版)
- 第三帝国的兴亡:纳粹德国史(全四册)
- 楼宇自控施工与方案-
- 伸缩缝安装工程劳务分包合同修改
- 岩石可钻性测试实验
- GB/T 7260.2-2009不间断电源设备(UPS)第2部分:电磁兼容性(EMC)要求
- 健康体检报告解读
- T-CCPITCSC 060-2020直播营销人员职业能力要求
评论
0/150
提交评论