硕士学位论文-处理器cache扩展数据集在FPGA的实现.pdf_第1页
硕士学位论文-处理器cache扩展数据集在FPGA的实现.pdf_第2页
硕士学位论文-处理器cache扩展数据集在FPGA的实现.pdf_第3页
硕士学位论文-处理器cache扩展数据集在FPGA的实现.pdf_第4页
硕士学位论文-处理器cache扩展数据集在FPGA的实现.pdf_第5页
免费预览已结束,剩余70页可下载查看

硕士学位论文-处理器cache扩展数据集在FPGA的实现.pdf.pdf 免费下载

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

文档简介

北京邮电大学 硕士学位论文 处理器cache扩展数据集在fpga的实现 姓名:张喆 申请学位级别:硕士 专业:信号与信息处理 指导教师:钮心忻 20080301 北京邮电大学硕士学位论文摘要 处理器c a c h e 扩展数据集在f p g a 的实现 摘要 当今的芯片制造技术,6 5 r i m 的工艺已经广泛应用于c p u 的设计 制造中,随着i n t e l 公司4 5 n r n t 艺的发布,芯片制造又进入了一个新的 时代。并且c p i j 由单核处理器逐渐演变成今天的双核,甚至四核。 虽然工艺达到了4 5 r i m ,虽然c p u 可以在一片芯片上完成以前四个 处理器的并行功能,但在提高工艺与增加处理单元的同时,c p u 的速 度已经基本达到瓶颈。对于一片c p u ,不可能无限提高布线的工艺, 不可能无限增加c p u 的处理单元,所以必须要开发出新的思路解决 c p u 加速的问题。近年来,很多研究机构提出硬件加速电路与处理器 可重构的思想,利用硬件运行速度快的优势完成以往由软件完成的工 作。也就是说,在c p u 处理的同时,通过单独的硬件加速电路协助完 成处理,达到加速的目的。可重构,也就是在加速的过程中不断对可 重配置的硬件重新烧写,以达到适合运行更多程序的目的。想要实现 硬件加速电路一一作为配合c p u 处理单元的重要组成部分,c a c h e 访 问技术又成为制约其速度快慢的关键部分,而c a c h e 与内存( s d r a m ) 的通信方式可以直接导致访问速度的不同。本文从硬件加速电路中实 现的c a c h e 入手,提出一种全新的c a c h e 实现方式,以便对将来硬件加 速和可重构逻辑的实现提供一个更快、更高效的访问模式。本文的主 要内容包括: 论文首先通过f p g a 实现了c a c h e 阵列一- n 用x i l i n x 公司提供的 开发工具实现c a c h e ,来模拟出c p u 中的高速缓存。接着第三章论述 了如何通过f p g a 实现d d r 2 控制单元,d d r 2 控制单元作为c a c h e 的重 要组成部分对整个系统的实现起到至关重要的作用。再接下来是如何 将传统的软件语言转换成硬件描述语言,以及软件语言和硬件描述语 言在实现、运行效率等方面的区别。我们将这种转换作为验证f p g a 实现c a c h e 的一种手段,主要实现的是l a p l a c e 方程的c 语言n v h d l 语 言的转化。第五章,把以上几部分的实现进行联合调试,其中提出了 一些新的思路,能够极大的提高传输数据的效率。第六章,作为实现 后的数据测试,从直观的角度对比了同样的算法在软件中运行和进行 硬件加速后执行的效率,并且对f p g a 实现的c a c h e 进行了测试,以便 更好的得出硬件加速的优势所在。第七章是对论文的一个总结,以及 北京邮电大学硕士学位论文摘要 硬件加速电路在将来的应用前景。 本论文的主要结论如下: 1 ) f p g a 作为硬件加速电路的一个重要组成部分,能够完成对 c p u 的加速,并且f p g a 中强大的i p 核可以为我们提供一个有效的 手段进行随心所欲的配置。 2 ) 通过l a p l a c e 方程的在f p g a 上的实现,可以清晰的对比出硬 件语言在运行上的优势。 3 ) 通过c a c h e 和d d r 2 的通信,可以极大的提高算法的运行效率, 并且能够通过控制d d r 2 达到扩展算法数据集的目的。 关键词:c a c h e ,l a p l a c e 方程,硬件加速,可重构逻辑,f p g a 北京邮电大学硕士学位论文 e x p a n d i n g d a t aa g g r e g a t eo fp r o c e s s o rc a c h eb a s e do n 。 f p g a a b s t r a c t t h e6 5 r a nt e c h n o l o g yh a sb e e nt h em o s tp o p u l a rt e c h n o l o g ya t d i g i t a li cp r o d u c ta n dm o s to fc p ue n t e r p r i s e s h a v eu s e di tf o r y e a r s w i t ht h er e l e a s eo f4 5 n mt e c h n o l o g ya ti n t e lc o r p o r a t i o n ,i c p r o d u c th a sm a k eag r e a tp r o g r e s sa n dc p uw i t ht w oo rf o u rc o m p u t i n g c o r eh a sc h a n g e do u rl i v e a l t h o u g ht h e4 5 n mt e c h n o l o g ya n dm u l t i - c o r ec o m e st u r e ,c p uc a n n o tb ea c c e l e r a t e dw i t h o u tl i m i t i o n i tc a l ln o ti m p r o v ep l a c ea n dr o u t t e c h n o l o g ya n dc a nn o ti n c r e a s ec o m p u t i n gc o r ei n f i n i t l yi ni cd e s i g n w r em u s tg e ts o m en e wa p p r o a c ht oa c c r e l e r a t ec p u r e c e n t l y al o to f i n s t i t u a t eh a sb e e n r e s e a r c h i n g t h eh a r d w a r ea c c e l e r a t o ra n d r e c o n f i g u r a b l el o g i cu n i t t h a ti s ,i tw i l lu s eo t h e rh a r d w a r ee l e c t r o n i ct o a c c r e l e r a t ei ft h ea r i t h m e t i co rs o f t w a r eb es u i tt or u na th a r d w a r ew h e n c p ui s c o m p u t i n g r e c o n f i g u r a b l el o g i c u n i ti su s e dt od y n a m i c c o n f i g u r eh a r d w a r ew h e ni ti sr u n n i n g h a r d w a r ea c c r e l e r a t o rw h i c hi s c o r p o r a t e dw i t hc p um u s th a v ei t so w nc a c h ea n de m sm e m o r yu n i ta n d c a c h ec a nd e t e r m i n ei t s e f f i c i e n c y d i f f e r e n tc o n f i g u r i n g t y p ea n d d i f f e r e n tc o m m u n i c a t i o nt y p ef o rc a c h ea n dd d r 2 s d r a mc a nm a k e d i f f e r e n to u t c o m e 1w i l lg i v ean e wm e t h o do fc a c h ea c t u a l i z i n gf o rt h e h a r d w a r ea c c r e l e r a t o r i tw i l lb eh e l p f u lf o rt h er e c o n f i g u r a b l el o g i co f c p u t h i sp a p e rw i l li n c l u d eb e l o w c o n f i g u r i n gc a c h ew i t hf p g ao fx i l i n xc o r p o r a t i o na n di tw i l lb e u s e dt os i m u l a t ec p u sc a c h e t h et h i r dp a r to fp a p e rw i l la c h i e v eh o wt o m a k ead d r 2 s d r a mc o n t r o l l e rb yf p g ab e c a u s et h ed d r 2i sav e r y i m m p o r t a n tm e c h a n i s mf o rc p u t h ef o u r t hp a r to fp a p e rw i l lg i v ea m e t h o dh o wt oc h a n g ec l a n g u a g et oh a r d w a r el a n g u a g e ,t h a ti s ,v h d l l a n g u a g e 胎w i l lu s et h el a p l a c ee q u a t i o nt ov a l i d a t et h eh a r d w a r e a c c r e l e r a t o r t h ef i f t hp a r to fp a p e rw i l ls y n t h e s i z ed d r 2 ,c a c h e 锄1 d l a p l a c ee q u a t i o na c h i e v e db yv h d l m o s ti m p o r t a n t ,t h i s p a r tw i l lg i v e s o m en e wi n n o v a t i o nf o rc o m m u t a t i o nb e t w e e nd d r 2a n dc a c h ew h i c h w i l lm a k eg r e a ti m p o v ei ne f f i c i e n c y t h es i x t h p a r to ft h ep a p e rw i l lg i v e s o m et e s td a t at op r o v et h a tt h eh a r d w a r ea c c r e l e t o rw i l l b e t t e rt h 觚 t r a d i t i o n a ls o f t w a r e t h es e v e n t hp a r to f p a p e rw i l ls u m m a r i z et h ew h o l e p a p e r 。 t h i sp a p e rw i l lg e tc o n c l u s i o na sb e l o w : 1 ) f p g aw i l lm a k et h eh a r d w a r ea c c r e l e t o rc o m et r u ei ft h ec a c h eo n i tc a l lb ea c h i e v e d i tw i l lb ep r o v e dt h a th a r d w a r eh a sb e t t e re f f i c i e n c yt h a n s o f t w a r e 3 ) c a c h ea n dd d r 2w i l le x p a n dt h ed a t aa g g r e g a t ea n da c c r e l e t e 也e l a p l a c ee q u a t i o n k e yw o r d s :c a c h e ,h a r d w a r e a c c e l e r a t o r , l a p l a c ee q u a t i o n , r e c o n f i g u r a b l el o g i c ,f p g a 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特另, l d n 以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 釜主矗 日期: 迦2 :兰:f 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 日期:邀:呈:1 日期:业2 星芝 北京邮电大学硕上学位论文第一章绪论 1 1 背景 第一章绪论 大众熟知的传统计算模式有处理器和专用集成电路( a p p l i c a t i o ns p e c i f i c i n t e g r a t e dc i r c u i t s ,a s i c ) 两种: 1 ) 处理器模式。它使用的计算部件,是各种通用处理器和专用的嵌入式处 理器。应用该计算模式,首先需要将用户编写的软件程序代码编译为相 应处理器指令集中的指令序列,然后由处理器通过执行这些指令序列完 成计算任务。处理器计算模式的优势在于它可以灵活地完成各种计算任 务。当任务需求发生变化时,用户只要在软件层面上对程序做相应的修 改,就可以改变计算系统实现的功能和性能,而无需改动系统底层的硬 件环境。但是,其缺点在于它的运算速度较慢,无论什么程序都要进行 烦琐的指令计算。 2 ) a s i c 模式。它使用的计算部件是针对某一特定应用专门设计的硬件集 成电路。应用该计算模式首先需要对用于执行计算任务的逻辑电路进行 设计,再通过综合、仿真、布局布线、时序分析等众多步骤后,才能最 终完成a s i c 芯片的制造。a s i c 计算模式的优势在于它是针对特定计算 任务进行的专门设计,可以为任务中的操作提供优化的硬件数据通路, 支持多个操作的并行执行,具有很高的性能。但是,其缺点在于前期开 发周期长、一次性工程( n o n r e c u r r i n ge n g i n e e r i n g ,n r e ) 代价高;而 且硬件电路在制造完成后,其计算功能很难被灵活改变,不适合通用的 算法。 那么我们是否可以将处理器模式的灵活和a s i c 模式的效率结合在一起完成 运算? 1 1 1 传统c p u 的优缺点 通过上述的简要分析可以获知,当前的主流计算模式中存在的主要问题是: 处理器计算模式能够灵活地实现各种计算任务,但是在性能上存在缺陷;a s i c 计算模式虽然性能较高,却不能够灵活地应对计算任务的改变。为了有效地解决 计算性能和实现灵活性之间的权衡问题,自从上个世纪九十年代末至今,可重构 计算( r e c o n f i g u r a b l ec o m p u t i n g ) 技术逐渐成为高性能计算系统研究的热点。 传统c p u 的执行顺序是取指,分析,执行。我们通常把这样的c p u 称为通 北京邮电大学硕士学位论文第一章绪论 用处理器,之所以称之为“通用”,因为所有的算法或者软件执行的顺序都必须 是这样。顺序执行指令的好处是,所有的算法或者软件都适合在通用处理器上被 翻译成指令集进行运算,但同时也带来一个问题,有一些不适合按照这个步骤执 行的算法或者程序是不是就浪费很多c p u 的运行时间从而降低了c p u 的运行效 率? 正如很多专用处理器,如m p 3 、数字电视等设备上的处理器执行各自专用 指令的时候,速度远在通用处理器之上,那么我们能不能将传统的处理器通过专 用硬件电路加速以达到提升c p u 处理速度的目的? 应运而生的硬件加速思想和可重构计算技术逐渐成为高性能计算机系统研 究中的一个新热点,它们的出现使过去传统意义上的硬件和软件界限变得模糊。 硬件加速和可重构计算的技术优势为实现高效能的通用微处理芯片提供了强大 的技术支持。可重构计算使硬件可“编译一,在可编程的硬件介质中提供更强大 的计算能力和密度,能够针对应用中固有的并行性特征动态配置芯片的体系结构 和微体系结构,能在单片系统上以低的硬件复杂度开发各种类型的应用,所谓并 行性中包含的指令级并行性、数据级并行性和线程级并行性,完成各种各样新的 任务,大幅度提高芯片系统的总体性能,实现片上超级计算。简单说来,硬件加 速的思想就是通过硬件的并行特性帮助或者替代c p u 完成以往串行执行的任 务。 1 1 2 硬件加速电路以及可重构计算的可行性 硬件加速电路,也就是实现可重构逻辑单元( r e c o n f i g u r a b l el o g i c ) ,近年 来已经成为c p u 解决加速的重要途径。不久之后,c p u 加上一块专用硬件加速 电路的形式可能就会广泛的应用于通用处理器中。 在如今芯片制造工艺已经达到极限的前提下,多核实现加速的可能性越来越 难,也许硬件加速就是解决c p u 加速最终的答案。未来的c p u 可能单独拿出一 块区域来实现类似f p g a c p l d 的可重构功能,用来实现硬件加速。 可重构计算的本质是利用可编程器件多次重新配置逻辑单元的功能和互连 的特性,使系统兼具灵活性、高性能、高可靠、低能耗、低成本、易于升级等多 种优良特性。其主要技术基础是现场可编程门阵列( f i e l dp r o g r a m m a b l eg a t e a r r a y s ,f p g a ) 技术。f p g a 可重复使用资源的基本单位是可编程的逻辑块和可 编程的连线资源,根据硬件配置文件中的编程信息,可以改变逻辑块的功能和连 线的互连方式,从而改变计算系统的硬件功能。当然,未来c p u 不一定要采用 f p g a 的硬件加速方式,本课题中采用f p g a 实现可重构硬件加速,完全是因为 f p g a 是现有技术中最能够体现可重构思想的器件。 f p g a 作为可重配置逻辑的完美体现,可以成为与c p u 配合实现硬件加速 2 北京邮电大学硕士学位论文第一章绪论 的最好解决方案。那么适合在f p g a 上,也就是适合在硬件电路实现的算法通过 某些总线( 比如f s b 、p c i e 总线) 传输到f p g a 上运行就能很好的解决硬件加 速的问题。算法在f p g a 上运行的时候,要想达到最大的传输效率也就是体 现f p g a 并行运算的优势一就必须模拟c p u 的数据处理方式,也就是通过 c a c h e 与外部存储器来完成数据的读写操作。由此,我们提出了在f p g a 上实现 c a c h e 和d d r 2 存储器访问操作的思想,也就是模拟c p u 对c a c h e 进行访问操作, 对d d r 2 进行控制读写,以便在f p g a 中实现算法,让算法执行的更有效率。 如果想通过f p g a 实现硬件加速,就必须实现c a c h e 与外部存储器的访问。 对于硬件加速的另外一个关键点就是可重构计算技术。从不同的角度出发, 很多学者对可重构计算技术的理解也不尽相同。当前,能够被广泛接受的定义是 由加州大学伯克利分校的d e h o n 和j o h nw a w r z y n e k 在1 9 9 9 年的第3 6 届 a c m i e e e 设计自动化国际会议上提出的【l 】。他们采用了与其它计算系统的组 织结构做比较的方式,在广义上给出了可重构计算系统应该具有以下几个关键特 点: 能够在硬件器件制造后针对计算任务进行定制。 能够为计算任务提供大量的可以定制的执行空间。这两个特点分别弥补 了传统的a s i c 计算模式不具备制造后可改动的能力以及处理器计算 模式不能够为操作提供专用数据通路的缺陷,阐明了可重构计算系统必 须同时具备灵活性和高效性等特征。其中,硬件编程是指通过改变一系 列物理控制点的方式对硬件应该如何工作进行定制;控制点的改变将导 致硬件的执行功效发生相应的改变。 能够提供单独的高速缓存和内存访问机制。 可重构计算技术需要依赖于硬件器件的可编程重构特性,以便在计算过程中 能够将硬件器件定制为计算任务所需的功能部件。因此,硬件器件的可重构能力 是研究可重构计算技术的基础,它不仅体现在那些构成可重构逻辑器件的各个硬 件部件所实现的计算功能能够重构,还应该体现在那些存在于各个硬件部件间的 互连结构能够重构。 当前研究的可重构计算系统往往采用由一片或多片可重构逻辑器件与一个 通用处理器相耦合的结构。其中,可重构逻辑器件可以是为构建系统专门定制的, 也可以是商业化的器件;它负责处理计算任务中计算密集的算法核心部分,能够 以硬件电路的方式提高计算任务的执行性能。系统中的通用处理器则主要负责可 重构计算系统的资源管理和任务调度;同时它还负责执行计算任务中那些不适合 或者不能够采用硬件逻辑实现的部分,例如递归操作。每一层递归都需要使用相 同的计算资源,而递归的层数又往往不能够在任务执行完成之前获得,这直接导 3 北京邮电大学硕士学位论文第一章绪论 致硬件电路无法为其预留出足够的计算资源,因此此类计算只能在通用处理器上 实现。 对于可重构技术,又被分为静态可重构与动态可重构。 静态重构技术。又可以称作编译时( c o m p i l e t i m e ) 重构,是最简单也 是当前用途最广泛的利用可重构逻辑器件实现计算任务的技术,它的特 点是每个计算任务都需要一个涵盖整个器件的配置文件。在开始执行计 算任务前,这个配置文件被编程到可重构逻辑器件的逻辑资源上。一旦 开始执行,那么在计算任务的整个执行生命周期内,可重构逻辑器件上 的配置将保持静态而不发生任何改变,如图1 1 所示。因为存在重构时 间瓶颈,静态重构技术适用于那些任务执行时间与器件重构时间相比足 够长的计算任务,以削弱重构过程的高昂时间代价对任务执行性能的影 响。实际上,对于某个特定应用而言,静态重构技术的执行过程非常类 似于a s i c 计算模式:在计算任务执行的整个过程中,它们都不会对硬 件做任何改变。而相比较a s i c 计算模式,静态重构技术的优势在于能 够多次复用同一器件实现不同的计算任务。 厂、 配置 图i 1 静态可重构 动态重构技术。又可以称作运行时( r u n - t i m e ) 重构,它的特点是能够 在计算任务运行的同时对可重构逻辑器件上的逻辑资源进行重构。计算 任务被划分为多个配置文件,每次在可重构逻辑器件上加载的配置文件 与计算任务中的一个部分相对应,因此在计算任务的执行过程中需要对 可重构逻辑器件进行多次重构,如图1 2 所示。 i 一一一一一一一一一一一一一一1 一一一一 图i - 2 动态可重构 为了保证计算任务在执行上具有连续性,动态重构技术需要尽量缩短重构过 程耗费的时间,而静态重构技术则没有这方面的需求。相比较静态重构技术,动 4 北京邮电大学硕士学位论文第一章绪论 态重构技术是一种更加灵活高效的可重构计算技术,是当前可重构计算技术的研 究重点。它又可以被进一步细分为两种方式:整体动态重构和部分动态重构。由 于本文的工作重点不是可重构技术,在此不再复述,请参考相关资料 1 】。 1 1 3c a c h e 原理及应用 高速缓冲存储器是,一种特殊的存储器子系统,其中复制了频繁使用的数据 以利于快速访问。存储器的高速缓冲存储器,存储了频繁访问的r a m 位置的内 容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储 器便检查是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保 存该地址,则进行常规的存储器访问。因为高速缓冲存储器总是比主r a m 存储 器速度快,所以当r a m 的访问速度低于微处理器的速度时,常使用高速缓冲存 储器,基于f p g a 实现c a c h e 就是在f p g a 中构造出足够大块的r a m 阵列,虚 拟处理器中的高速缓存,这些r a m 阵列可以完成算法的读写,并且也可以和常 规的d d r 2 等存储器通信,也就是完全虚拟p c 机指令的访问方式,当r a m 阵 列中的数据没有算法或者应用程序需要的数据时,通过f p g a 内的m e m o r y c o n t r o l l e r 访问外置d d r 2 存储器。基于f p g a 的c a c h e 实现,对于算法或者应用 程序需要脱离c p u 的计算具有重要意义,也就是说,当算法或者应用程序在 f p g a 中用硬件电路实现更快的时候,这些算法或者应用程序就要完成c p u 中 相似的访问c a c h e 和访问存储器的过程。 本课题中实现的c a c h e ,有以下作用: 时钟域变换。桥接d d r 2 和l a p l a c e 算法的作用,时钟域变化的 作用。d d r 2 采用的时钟是2 0 0 m ,而l a p l a c e 采用的时钟是5 0 m 。必 须要有一个类似f i f o 的机制完成时钟变换。 可重配置。通过编写地址映射模块,可以按照不同的配置方式对 c a c h e 进行配置,每个算法都可以使用不同的配置方式,把需要的数据 放到特定的c a c h e 存储单元。 提高速率。c a h c e 可以把大块的d d r 2 数据进行d m a 传输,由 l a p l a c e 方程进行并行访问。特别是d d r 2 的访问只能以一种每次1 2 8 b i t 并行数据的方式进行通信,不能进行大块数据的处理,那么在算法应用 数据量较大的时候,要反复对d d r 2 进行读写,这就对算法的运算产生 了效率的影响,在这样的前提下,引入c a c h e 作为算法的一个临时数据 存放区域,避免反复读写d d r 2 造成的不必要的开销,提高效率。 并行访问。d d r 2 不能进行并行访问,从而降低了效率,通过 c a c h e 的实现,可以计算大块数据的并行访问。 5 北京邮电大学硕士学位论文第一章绪论 1 1 4 软件算法在f p g a 上的运行 可重构以及硬件加速的实现必须通过f p g a 等可重构硬件逻辑来实现,那么 必须要把一些软件的算法转换到f p g a 上进行硬件实现,软件为顺序执行的方 式,但硬件为并行实现方式,也就是说软件语言中很多可以并行实现的可以转换 成硬件实现。本课题提出把l a p l a c e 方程转换成硬件语言在f p g a 上实现【2 】。 为了达到对比传统c p u 和f p g a 在运行时间上的差别,我们必须要在f p g a 上实现某种复杂的算法,然后把这个算法嵌入到f p g a 中运行,也就是相当于在 硬件电路上实现了一种访问模式,那么这个模式要和访问c p u 的时候一样,单 独对c a c h e 和外部存储器进行访问,通过计算运行时间得出软件语言和硬件语言 执行效率的差别,得出f p g a 实现和c p u 实现的差别,以达到对比加速结果的 目的,我们选择了l a p l a c e 方程进行c a c h e 和内存管理和调用,是因为: l a p l a c e 的运算逻辑复杂,很多的应用都要用到l a p l a c e 算法,也就是说, 如果想实现硬件加速c p u ,要调用l a p l a c e 算法的软件程序都可以在 f p g a 中运行。 l a p l a c e 的计算过程需要对c a c h e 进行不同的配置,可以体现出可重配置 c a c h e 的特性。本课题中,l a p l a c e 算法对c a c h e 的配置为交叉配置。 l a p l a c e 的软件算法在p c 机上运行,已经被证明是非常耗费资源的,那 么通过f p g a 实现,是否能得到改善,可以直观的进行检验。 统理,我们还可以在f p g a 中实现e c c 椭圆曲线算法等常用算法,这些如 果经过分析,调用这些算法的程序不进入c p u 运行,统统传送到f p g a 中直接 调用,也就是通过可重配置逻辑完成对f p g a 的动态配置( 也就是时分复用在不 同的时刻下载不同的b i t 文件) 能够极大的提高运行效率,经过实现l a p l a c e 算 法可以计算出运行时间。在这里,只实现l a p l a c e 方程,作为调用f p g a 的一个 运行实例程序,以达到对c a c h e 和外部存储器的访问、调用和管理。 1 1 5f p g a 技术简介 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 ) 即现场可编程门阵列,它是在p a l 、 g a l 、e p l d 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路 ( a s i c ) 领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了 原有可编程器件门电路数有限的缺点。f p g a 的使用非常灵活,同一片f p g a 通 过不同的编程数据可以产生不同的电路功能。f p g a 已经在通信、数据处理、网 络、仪器、工业控制、军事和航空航天等众多领域得到了广泛应用。随着功耗和 成本的进一步降低,f p g a 还将进入更多的应用领域。如何实现快速的时序收敛、 6 北京邮电大学硕士学位论文 第一章绪论 降低功耗和成本、优化时钟管理并降低f p g a 与p c b 并行设计的复杂性等问题, 一直是采用f p g a 的系统设计工程师需要考虑的关键问题。如今,随着f p g a 向 更高密度、更大容量、更低功耗和集成更多口的方向发展,系统设计工程师在 从这些优异性能获益的同时,不得不面对由于f p g a 前所未有的性能和能力水平 而带来的新的设计挑战。 本课题使用的是x i l i n x 最近推出的v t r t e x 5 系列f p g a 芯片,由m l 5 0 5 开 发板提供硬件开发环境,具体型号为x c 5 v l x 5 0 t - i f f l1 3 6 ,采用6 5 n m 工艺,可提 供高达3 3 万个逻辑单元、具体细节请参考v l r t e x 5 的数据手册 3 】。 f p g a 既继承了a s i c 的大规模、高集成度、高可靠性的优点,又克服了普 通a s i c 设计周期长、投资大、灵活性差等特点,逐步成为复杂数字硬件电路设 计的理想首选。一个完整的f p g a 设计包括电路设计与输入、功能仿真、综合、 综合后仿真、实现、布线后仿真和下板调试等主要步骤,具体的各个步骤的说明 请参照下一小节。 1 1 6x i l h l x 公司f p g a 及其开发工具 x i l i n x 公司的f p g a 采用了逻辑单元阵列这样一个概念,不同于a l t e r a 公司 基于门阵劣的一种实现方式,x i l i n x 的f p g a 是基于s l i c e 实现的。内部包括可 配置逻辑模块c l b ( c o n f i g u r a b l el o g i cb l o c k ) 、输出输入模块i o b ( i n p u to u t p u t b l o c k ) 核内部连线构成【4 】。x i l i n x 作为当今世界上最大的f p g a 生产厂商之一, 长期以来一直推动着f p g a 技术的发展,其开发软件也不断升级换代,0 7 年底 发布的x i l i n xi s e 9 2 提供了最新f p g a 开发的口核,拥有强大的可重配置逻辑 功能。 。 i s e 的主要特点如下: 集成完整的f p g a 开发环境,包括时序仿真和功能仿真等,能够提供完 善的分析工具,为第三方软件提供完备的接口。 i s e 界面简捷流畅,x i l i n x 提供了在线分析工具c h i p s c o p e 可以完成逻辑 分析仪的几乎所有功能,可以通过c h i p s c o p e 清楚的查看芯片内部的时 序。 强大的辅助设计功能。i s e 继承了x i l i n x 设计软件的强大辅助功能,在 编写代码时可以使用编写向导生成文件头和模块框架,也可以使用语言 模板( l a n g u a g et e m p l a t e s ) 帮助编写代码。图形输入时可以使用e c s 的辅助帮助设计原理图。i s e 提供强大的口核生成工具c o r eg e n e r a t o r , 可以方便生成口核。 i s e 设计工具的集成工具包括设计输入工具、综合工具、仿真工具、实现工 具、辅助设计工具等,具体如下: 7 北京邮电大学硕士学位论文第一章绪论 设计输入工具。设计输入工具是工程设计的第一步,i s e 集成的设计工 具包括h d l 编辑器、状态机编辑器、原理图编辑器、口核生成器和测 试激励生成器等。 综合工具。i s e 综合工具主要有s y n p l i c i t y 公司的s y n p l i f y p r o ,x i l i n xi s e 中的x s t 5 等。s y n p l i f yp r o 作为新兴的综合工具在综合策略和优化手 段上有较大幅度的提高。它的综合结果往往面积比较小,速度较快。x s t ( x i l i n xs y n t h e s i st e c h n o l o g y ) 是x i l i n x 自主开发的综合工具。虽然 x i l i n x 设计综合软件的经验还不够丰富,但只有x i l i n x 自己对其f p g a 内部结果最了解,所以x s t 的一些优化策略是其他综合工具无法比拟 的。x s t 对某些使用到x i l i n x 内部核心的设计的综合结果甚至比其他综 合工具优越很多。 仿真工具。i s e 可以使用的仿真工具主要有m o d e l s i m 和测试激励生成器 等。m o d e l s i m 是一个独立的仿真工具,它在工作的时候并不需要其他软 件的协助,在x i l i n x 公司的i s e 集成开发环境中为m o d e l s i m 预留了软 件接口,通过这个接口可以从i s e 集成开发环境中直接启动m o d e l s i m 工具进行仿真。m o d e l s i m 支持v h d l 、v e r i l o g 语言以及混合语言编程。 h d lb e n c h e r 是一种根据电路设计输入,自主生成测试激励的工具,它 可以把工程从书写测试激励文件的繁重工作中部分解脱出来。x i l i n x 专 用的m o d e l s i m 版本可以v h d l 语言输入、v e d l o g 语言以及原理图输入 等三种输入方法。x i l i n x 的实现工具包括约束编辑器( c o n s t r a i n te d i t o r ) 、 引脚与区域约束编辑器( p a c e ) ,时序分析器( t i m i n g a n a l y z e r ) 、f p g a 底层编辑器( f p g ae d i t o r ) 、芯片观察窗口( c h i pv i e w e r ) 和布局规划 器( f l o o r p l a n n e r ) 等。 1 2 研究范围和主要内容 1 2 1 研究目标 本论文给出了一种f p g a 硬件加速电路的具体实现模式。那么f p g a 作为 c p u 加速的参与者,必须要拥有自己独立的高速缓存和内存访问机制,只有拥 有了和c p u 一样的工作模式才能把f p g a 称为硬件加速的参与者,本论文要实 现的关键问题就是f i ) g a 的c a c h e 访问和d d r 2 的访问,以及c a c h e 和i ) d r 2 的通信,通过实现f p g a 访问c a c h e 和内存来实现一种类似p c 机的c a c h e 和内 存访问模式。通过本论文的研究,要证明硬件加速电路的可行性,并且为c p u + f p g a 的新一代处理器实现做一些预研工作。只有f p g a 实现了类似c p u 的 8 北京邮电大学硕士学位论文第一章绪论 缓存和内存访问模式,才能说c p u + f p g a 是的方案是可行的。本文研究的就是 实现硬件加速的存储层次问题,也就是通过一个硬件程序完成调用c a c h e 以及 c a c h e 调用d d r 2 的一个存储层次,不是单单实现一个c a c h e 。 1 2 2 拟实现的问题 为了更好的理解硬件加速的可重构原理,本论文采用了常用的l a p l a c e 方程 完成c a c h e 访问和内存管理,以达到模拟c p u 的目的。本论文拟从以下几个方 面入手: 1 ) f p g a 实现c a c h e 的具体实现方法。c a c h e 是作为a s i c 嵌入到c p u 中 的一个组成部分,那么在f p g a 中要实现c a c h e ,和c p u 中的差别还是 很大的,f p g a 提供了不同的r a m 单元,可以实现大规模的r a m 阵列, ,4 这些阵列可以作为c a c h e 的实现方式 2 ) f p g a 实现d d r 2 控制单元的具体实现方法。c a c h e 是c p u 的内部缓存, 那么s d r a m 的作用就是c p u 的外部内存,以达到处理更大数据量的 要求。在c p u 中,s d r a m 的控制单元也是由固定的模块实现的,但 f p g a 中一切都是空白,必须要手动实现s d r a m 的控制单元。 3 ) 拉普拉斯解偏微分方程的应用。拉普拉斯方程,在这里仅仅是作为一个 验证的手段,仅仅是达到一种调用高速缓存和内存的目的,因为拉普拉 斯方程在运算的时候要不断调用外部的数据以达到计算的目的,所以要 不断调用c a c h e 中的数据,通过拉普拉斯方程来体现本论文在存储层次 上的创新性,以达到提高运算效率的目的。 钔通过拉普拉斯和d d r 2 的通信验证c p u 的硬件加速单元是否可以达到 扩展数据集的目的,是否达到硬件加速的目的。 本论文实现得系统框图如图1 3 所示。 9 北京邮电大学硕士学位论文第一章绪论 j u l r _ 1 _ 一 o 一 。由卜 加口雌、 y d d r 2 d d r 2 s d r a m l a p l a c e 方程实现单 d i s t r i b u t o dr a m 阵 c o n t r o l l e r s 0 0 l m m 元 列构成的o a c a e ,m卜、 g ny 一岫气 、, 憎曩东劢i f p a a ; 。开1 7 q gi 、 1 3 组织结构 图系统最终实现框架 整个论文分为三大部分: 第一部分:背景介绍 主要是进行硬件加速的可行性分析,的基本原理,还有 的 一些基础知识。 第二部分:利用公司的开发工具开发出 中的阵列,以便 在后面进行调用。本章是本论文的核心部分,提出了如何利用实现 的原理和实现过程。 第三部分:利用实现控制单元,形成一个 最基本的框架 第四部分:阐述软件实现算法和硬件实现算法的区别,以及利用硬件语言实 现拉普拉斯方程的具体过程。 第五部分:将以上几章的内容进行综合调试,把拉普拉斯方程搬移到 中,将实现的 和控制部分联合拉普拉斯进行测试。 第六部分:该部分是拉普拉斯方程在内运行的一些测试数据,以便体 现出硬件加速电路的优势,通过一些测试数据说明硬件实现无论从速度还是效率 都远好于软件语言。 第七部分:总结。 北京邮电大学硕士学位论文第二章基于v i r t e x 5 系列f p g a 的d i s t r i b u t e d r a m 实现处理器c a c h e 第二章基于v i r t e x 5 系列f p g a 的d i s t r i b u t e d r a m 实现 处理器c a c h e 可重构逻辑器件的重构过程是整个可重构计算系统的性能瓶颈,如何有效地 缩短系统的重构时间、提高重构过程的性能是可重构计算系统特别是动态可重构 计算系统研究的关键问题。本论文借鉴现有的相关成果,对部分重构过程的配置 c a c h e 进行了研究,提出了:可重构c a c h e 替换策略,利用x i l i n x 公司提供的 d i s t r i b u t e d r a m 生成c a c h e 阵列。本论文提出的l a p l a c e 算法针对部分重构计算 系统具有的时空域计算特征,在做出替换决策时不但考虑了各个计算任务的配置 数据规模以及由此导致的替换时间延迟,而且更合理地利用了d d r 2 去扩展数据 集。在第六章,将通过实验表明本论文提出的替换策略能够更有效地降低部分重 构过程的配置c a c h e 替换开销,提高系统的执行性能。 2 1d i s t r i b u t e d r a m 介绍及接口定义 在

温馨提示

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

评论

0/150

提交评论