




已阅读5页,还剩77页未读, 继续免费阅读
(计算机系统结构专业论文)asip体系结构描述、仿真和形式化验证方法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 a $ i p ( a p p l i c a t i o ns p e c i f i ci n s t r u c t i o n - s e tp r o c e s s o r ) 是针对特定应用领域而设计 的专用指令集处理器,它兼具a s i c ( a p p l i c a t i o ns p e c i f i ci n t c g r a t e x lc i r c u i t ) 的高性 能和g p p ( g e n e r a lp u r p d s cp r o c e s s o r ) 的灵活性,在嵌入式领域有着广泛的应用前 景。 但是目前还没有十分成熟通用的a s i p 设计开发工具,这使得a s i p 的开发只 能由经验丰富的专家完成。a s i p 设计方法学因此成为了目前的研究热点,主要 的研究方向有:体系结构描述、编译器和仿真器自动生成、体系结构设计空间搜 索、体系结构正确往验证等。 本文针对a s i p 设计方法学进行研究,主要工作和贡献如下: ( 1 ) a d l ( f 本系结构描述语言,a r c h i t e c t u r ed e s c r i p t i o nla n g u a g e ) 的设计 本文在分析多种现有的a d l 优缺点的基础上。结合本实验室在a d l 领域已 有的研究经验,提出并规范化定义了种基于微体系结构模板的体系结构描述语 言m t a d l ( m i c r o - a r c h i t c c t u r et e m p l a t ea d l ) ,m t a d l 为嵌入式领域最常见的2 种 体系微体系结构( 简单流水线和动态调度流水线) 提供了模板。用户选定并配置好 微结构模板后,可以完全定制指令集。并且在定制指令集时,用户可以把精力集 中在指令的功能上,丽不需要处理各种复杂的微体系结构特性。这样既保留了 a s i p 的大部分灵活性,又极大地提高了开发速度。 ( 2 ) a s p 仿真器自动生成 仿真器是a s i p 开发中的重要工具。本文介绍了根据m t a d l 的描述自动生成 a s i p 功能仿真器和周期精确仿真器的算法。 ( 3 ) 形式化验证 本文使。固基于模型;睑验( m o d c lc h e c k i n g ) 的方法形式化地验证处理器流水线控 制逻辑的正确性,特别是流水线是否支持精确中断。我们使用有限状态机( f s m , f i n i t es t a t em a c h i n e ) 对流水线控制逻辑进行建模,使用时序逻辑o e m p o r a ll o g i c ) 公式来描述包括中断精确性在内的流水线正确性属性,然后使用模型检验工具 n u s m v 检验时序逻辑公式在流水线模型上是否为真。和传统的基于仿真的验证 方法相比,我们的验证方法可以达到1 0 0 的覆盖率。 本文还通过一个基于m t a d l 简单流水线模板的m i p s 处理器范例详细地说明 了我们的验证过程。本文验证的流水线范例含有3 个不同的执行单元,2 级 c a c h e 和乱序完成等复杂的流水线特性 关键字:a s i p 设计方法学a d l 仿真器自动生成形式化验证精确中断 a b s t r a c t a s i p ( a p p l i c a t i o ns p e c i f i ci n s t r u c t i o n - s e tp r o c e s s o r ) i sa ne m e r g i n gt e c h n o l o g y t o d e v e l o pa p p l i c a t i o ns 础e m b e d d e ds y s t e m s i tc a nc o m p e t ea s i c 丽t h p e r f o r m a n c e a n di 乜f l e x i b i l i t yi sc o m p a r a b l ew i t hg p p ( c - e n e r a lp u r p o s ep r o c e s s o r ) a sa nr e s u l t , a s i ph a sb e e np r o v e dt ob eap r o m i s i n ga p p r o a c hi ne m b e d d e ds y s t e m d e s i g n s b u t d u et ol a c ko fi n t e g r a t e da n d e a s yt ou d e v e l o p i n gt o o l s t h ed e v e l o p m e n to f a s i pi sc u r r e n t l yt h ee x c l u s i v ed o m a i no fs e m i c o n d u c t o rh o u s e sa n do o r ev e n d o r s t h e r e f o r e a s i pd e s i g nm e t h o d o l o g yi sb e c o m i n g 孤a c t i v ef i e l do fr e s e a r c hw o r k s t h em a i nr e s e a r c hs u b - f i e l d sa r ea r c h i t e c t u r ed e s c r i p t i o n ,a u t o m a t i cg e n e r a t i o no f s i m u l a t o ra n dc o m p i l e r , d e s i g ns p a c ee x p l o r a t i o n s e ) ,v e r i f i c a t i o no fa s i p , e t c t h i st h e s i sf o c u s e so nt h er e s e a r c ho fa s i pd e s i g nm e t h o d o l o g y t h em a i nw o r k a n dc o n t r i b u t i o na r e ( 1 ) d e s i g no fa d l ( a r c h i t e c t u r ed e s c r i p t i o nl a n g u a g e ) b a s e do nt h es t u d yo fe x i s t i n ga d l s ,a n dt h ea d lr e s e a r c he g p e t i e n c eo fo u r l a b o r a t o r y , t h i st h e s i sp r e s e n t san o v e la d l :m t a d l ( m i c r o a r c h i t e c t u r et e m p l a t e a d l ) m t a d lp r o v i d e st e m p l a t e sf o rt w om o s tc o m m o n l yu s e dm i c r o - a r c h i t e c t u r e si n e m b e d d e dd o m a i n :s i m p l ep i p e l i n ea n dd y n a m i c - s c h e d u l e dp i p e l i n e a f t e rs e l e c t i n g a n dc o n f i g u r a t i o no ft e m p l a t e 。u s e r sc a nf r e e l yc u s t o m i z et h ei s a ( i n s t r u c t i o ns e t a r c h i t e c t u r e ) o fp r o c e s s o r s ,t h u sg e tt h em o s tb e n e f i t so fa s i p t h ec o m p l e x i t yo f m i c r o - a r c h i t e c t u r ed e t a i l sa r eh i d d e nb yt e m p l a t e s 。s o 璐粥d on o tn e e dl od e a lw j 吐l t h e m a sar e s u l t , t h ed e v e l o p m e n ts p e e di sb o o s t e dg r e a t l y ( 2 ) a u t o m a t i ca s i ps i m u l a t o rg e n e r a t i o n s i m u l a t o r sa r ec r i t i c a lt o o l si na s i pd e s i g nf l o w t h i st h e s i sp r e s e n t sa l g o d t h m s t h a tr e a da d l d e s c r i p t i o n so fa s i pd e s i g n s ,a n dt h e na u t o m a t i c a l l yg e n e r a t ei s a - l e v e l s i m u l a t o r sa n dc y c l e - a c c u r a t es i m u l a t o r s ( 3 ) f o r m a lv e n f i c a t i o no fa s i p t h i st h e s i sp r e s e n t sam o d e lc h e c k i n gb a s e dm e t h o d o l o g yt of o r m a l l yv e r i f yt h e c o r r e c t n e s so fp i p e l i n e dp r o c e s s o r s ,e s p e c i a l l yw h e t h e ra p i p e l i n e dp r o c e s s o rm a i n t a i n s p r e c i s ee x c e p t i o n t h ep i p e l i n ei sm o d e l e dw i t hf s m ( f i n i t es t a t em a c h i n e ) ,a n dt h e c o r r e c t n e s sp r o p e r t i e s ,e s p e c i a l l yt h ep r e c i s e n e s so fe x c e p t i o nh a n d l i n g ,i ss p e c i f i e di n t e m p o f 山l o g i cf o r m u l a e t h en u s m vm o d e lc h e c k e ri su s e dt op e r f o r mt h em o d e l c h e c k i n g c o m p a r e dt ot r a d i t i o n a ls i m u l a t i o nb a s e dv e r i f i c a t i o nm e t h o d o l o g y , 0 1 1 1 - m e t h o da c h i e v e s1 0 0 c o v e r a g e as o p h i s t i c a t e dm i p sl i k ep i p e l i n e ( a ni n s t a n c eo ft h es i m p l ep i p e l i n et e m p l a t eo f m t a d l ) ,w h i c hf e a t u r e sm u l t i p l ee x e c u t i o nu n i t sw i t hv a r i a b l el a t e n c y , o u t - o f - o r d e r c o m p l e t i o na n dm u l t i p l e - l e v e lc a c h e i sp r e s e n t e d 越a ne x a m p l eo fo u rm e t h o d o l o g y k e y w o r d s :a s md e s i g nm e t h o d o l o g y , f o r m a lv e r i f i c a t i o n ,p r e c i s ee x c e p t i o n 中国科学技术大学学位论文相关声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究 工作所取得的成果。除已特别加以标注和致谢的地方外,论文电 不包含任何他人已经发表或撰写过的研究成果。与我一同工作的 同志对本研究所做的贡献均已在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权, 酃:学校有权按有关规定向国家有关部门或机构送交论交的复窖i l 件和电子版,允许论文被查阅或借阕,可以将学位论文编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、 汇编学位论文。 保密的学位论文在解密后也遵守此规定。 作者签名:4 生查 加刀年y 月。日 纱7t 。; f 中国科学技术大学硕士学位论文 第1 章绪论 专用指令集处理器 a s i p , a p p l i c a t i o ns p e c i f i ci n s t r u c t i o n - s e t p r o c e s s o r ) 凭借其 特有的离效性和灵活性,为嵌入式系统的研发提供了一种低风险、短上市时间的 实现途径,因此有着良好的应用前景。a s i p 的设计方法学也随之成为近年来的 研究热点。本文将对基于体系结构描述语言( a d l , a r c h i t e c t u r ed e s c r i p t i o n l a n g u a g e ) 的a s i p 设计方法展开研究,涉及a d l 的设计、仿真器自动生成、流 水线控制逻辑的形式化验证三个研究方向 本章首先介绍a s i p 的应用背景,然后阐述基于a d l 的a s i p 设计方法及相 关研究方向,接着综述本文的主要研究工作,最后介绍文章组织结构 1 1a s i p 应用背景 嵌入式系统对性能、功耗、成本、上市时间都有着严格的要求在a s i p 出 现以前,嵌入式系统的硬件平台一般是基于通用处理器( g p p g e n e r a lp u r p o s e p r o c e s s o r ) 或者专用集成电路( 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 ) 。g p p 虽然有着通用灵活、容易开发等优点,但是往往不能提供足够强大的性能或足够 小的功耗。a s i c 可以提供强大的性能,但灵活性差,并且开发难度高。 a s i p 以传统g p p 为基础,在此基础上根据具体应用的实际需求,定制( 添加 或者删除) 处理器指令集和相关的功能部件。a s i p 具有类似g p p 的可编程能力和 足够的灵活性。而定制的指令集和功能部传又可以提供足够的性能。图1 - l 比较 了g p p , a s i p 和a s i c 的特点可以看出,a s i p 的正好填补了g p p 和a s i c 之间 的空白。 g p pa s pa s i c 性能 低 较高高 性触功耗比低 较高 高 硬件开发难度 无 一般高 软件开发难度小一般 无 可重用性( 灵活性)好 较好差 圈1 - 1 :a s i p , g p p 和a s i c 的对比 事实上a s i p 已经存在了相当长的时阊。目前广泛使用的数字信号处理器 l 这里硬件开发难度为“无”表示直接使用市场上可以购买到的g p p 。并不代袭开发g p p 本身 没有难度 2中国科学技术大学硕士学位论文 ( d s p , d i g i t a ls i g n a lp r o c e s s a r ) 【3 】就是种a s i p 应用。d s p 在g l 垮的基础上添加 了乘加指令、饱和运算指令,特殊的寻址方式等指令集特性和相应的功能部件, 从而对数字信号处理提供了优化。各种网络处理器,如i n t c ld 【4 】,f r e e s c a l e p o w e r q u i c c 5 ,也都是a s i p 的经典实例。 虽然a s i p 已经的到了广泛的应用,但到目前还没有十分成熟通用的a s i p 设 计开发工具,这使得a s h 的开发只能由经验丰富的专家完成。如上文提到的 d s p 和网络处理器都是由大的i c 开发商设计,并通过硬核的方式提供给应用开 发者使用。应用开发者却没有办法根据自己的特殊需求进一步定制处理器的指令 集和功能部件,因此a s i p 的优势没有得到全部体现。 1 2 基于a d l 的a s i p 的设计方法 从上一节可以看出,虽然a s i p 有着良好的应用前景,但缺乏通用成熟的设 计方法限制了a s i p 的普及。因此a s i p 的设计方法学逐渐成为近年来的研究热点。 a s i p 一般使用如图1 - 2 所示的设计流程: 1 剖析( p r o f i l i n g ) i | 标应用程序,找出目标应用中的热点( h o ts p o t ) ) 2 针对应用中的热点设计a s i p : 2 1 进行体系结构设计空间搜索( d s e ,d e s i g ns p a c ee x p l o r a t i o n ) ,包括尝 试使用各种新的微体系结构,添加定制指令、数据通路和功能部件等; 2 2 针对体系结构d s e 产生的新处理器优化目标应用程序; 3 测试和验证硬件设计的正确性; 4 评估优化后的应用程序性能、系统功耗等各项指标,如果达到要求转第5 步,否则重复步骤1 - 4 。 5 实现第4 步得到体系结构r 般使用h d l 语言实现) ,并进一步测试和验 证硬件设计的正确性。 圈1 - 2 :a $ 1 p 的设计流程 为了实现上述开发流程,a s i p 开发平台需要提供如下工具:( 1 ) 周期精确仿 真器:用于p r o f f i i n g 、评估优化后的应用程序性能和硬件测试;( 2 ) 调试器和功能 仿真器:用于软件调试;( 3 ) 编译工具链( 包括编译器、汇编器和链接器) :用于软 件开发:“) 验证工具( 包括测试向量生成工具和形式化验证工具) ;用于测试和验 证硬件设计的正确性。 目前在g p p 和a s i c 设计中广泛使用的是基于i - i d l ( 硬件描述语言) 的设计方 中国科学技术大学硕士学位论文 3 法,但这并不十分适合a s i p 。这是因为h d l 过于底层,体系结构层的一个简单 的修改( 如增加一个运算单元、增加一条指令1 往往会对应于h d l 层的大量代码修 改。这使得每一次体系结构d s e 都需要花费大量的时间。此外由于h d l 不能 直接描述处理器的指令集a s a ) 和徼体系结构级特征,无法根据h d l 描述自动生 成编译器和功能仿真器2 。这使得每一次体系结构d s e 后,都需要手工修改相应 的编译工具链和仿真器。更糟糕的是,体系结构d s e 过程中经常会产生失败的 设计结果,这些结果最后都会被抛弃,但开发人员会在这些失败的设计上浪费大 置时间( 修改h d l 代码和修改编译器、仿真器等工具) 。 从上面的分析可以看出,h d l 不适合a s i p 开发最关键的原因是h d l 不能直 接描述体系结构级的特征,因此不支持快速体系结构d s & 基于体系结构描述语 言( a d l ) 的a s i p 设计方法也就应运而生【6 】【1 8 】【1 9 】。 在基于a d l 的a s i p 设计方法中,使用a d l 直接描述处理嚣体系结构级特 征,包括i s a 和微体系结构。这使得对体系结构的修改能够很容易地完成,同时 也使得仿真器和编译工具的全自动生成成为了可能。 目前基于a d l 的a s i p 设计方法学领域主要的研究方向有: 1 a d l 语言的设计:a d l 在a s i p 设计流程中处于核心地位,它对其他研究 方向有着决定性的影响。a s i p 的开发特点对a d l 提出了两个方面的要求: ( 1 ) a d l 必须能够描述各种体系结构特性。从而方便用户定肯指令和进行 体系结构d s e ;( 2 ) a d l 对体系结构的描述应该尽量简洁。从而缩短开发 时间。然而这两种要求又往往相互矛盾,所以a d l 设计者必须作出合理 的折中。 2 编译工具的自动生成:读入描述a s m 体系结构的a d l 代码,自动生成编 译工具链,包括编译器、汇编器和链接器。 3 仿真器的自动生成:读入描述a s 口体系结构的a d l 代码,自动生成功能 仿真器和周期精确的仿真器。功能仿真器只仿真i s a 行为。不仿真微体系 结构时序,因此仿真速度快。高级的功能仿真器还可以和调试器通讯,方 便软件调试。周期精确的仿真器除了仿真i s a 行为外,还仿真微体系结构 时序,是a s i p 性能评估的关键工具。 4 - 调试器的自动生成:读入描述a s i p 体系结构的a d l 代码,自动生成调试 器。高级的调试器应该支持仿真器、j t a g 、f 哺a r ed e b u gm o n i t o r 等多种 调试目标。 5 h d l 的自动生成:读入描述a s i p 体系结构的a d l 代码,自动或半自动 生成可综合的h d l 。这个功能可以极大的加快a s i p 的开发速度。 6 a s i p 的验证方法:验证a s i p 处理器的正确性。目前主要的验证手段有仿 真和形式化验证两种。仿真是传统的验证方法,通过运行大量的铡试向量 2 可以使用h d l 仿真工具作为周期精确仿真器。但是h d l 仿真工具的速度很慢,在实际应用 中往往不能接受。 4 中目科学技术大学硕士学位论文 来检测a s i p 的正确性。相关的研究方向包括如何自动生成a s i p 测试向量、 分析测试覆盖率等。形式化验证则基于严格的数学理论基础。能够达到 1 0 0 的测试覆盖率。形式化验证也是目前的一个研究热点。 7 自动进行体系结构d s e :自动分析应用程序的特征,从而自动进行体系结 构d s e ,给出能够优化程序性能的a s i p 体系结构。 1 3 本文的主要工作 本文主要对a s i p 设计方法中的3 个方向进行了研究,分别是a d l 语言的设 计、仿真器的自动生成和流水线控制逻辑的形式化验证。 ( 1 ) a d l 语言的设计 本文在分析了多种现有的a d l 优缺点的基础上,结合本实验室在a d l 领域 已有的研究经验,提出了一种基于微体系结构模板的体系结构描述语言 m t a d l ( m i c r o - m - c h i t e c t u r et e m p l a t ea d l ) m t a d l 针对目前最常用的两种微体系 结构( 简单流水线和动态调度流水线) 分别提供了可配置的模板。用户选定并配置 好微结构模板后,可以完全定制指令集。并且在定制指令集时,用户可以把精力 集中在指令的功能上,不需要处理各种复杂的微体系结构特性。这样既保留了 a s i p 的大部分灵活性,又极大地提高了开发速度。本文中还使用m t a d l 描述了 三种常见的处理器:5 级流水的m i p s ,3 级流水的a r m 7 和基于t o m a s u l o 动态 调度的m i p s 。这三种处理器的指令集结构或微体系结构都有着很大的不同,但 是m t a d l 能够精确简洁地描述这三种体系结构,这证明了m t a d l 同时具有较强 的描述能力和快速开发能力 ( 2 ) 仿真器自动生成 我们开发的m t g e n 工具能够根据m t a d l 的描述自动生成功能仿真器和周期 精确仿真器。本文介绍了m t g e n 使用的仿真器自动生成算法。 ( 3 ) 形式化验证 本文使用基于模型检验( m o d e lc h e c k i n g ) 的方法来形式化地验证处理器流水线 控制逻辑的正确性,特别是流水线是否支持精确中断。我们使用有限状态机 ( f s m ,f i n i t e s t a t e m a c h i n e ) 对流水线控制逻辑进行建模,使用时序逻辑t t m p o r a l l o g i c ) 公式来描述包括中断精确性在内的流水线正确性属性,然后使用模型检验 工具n u s m v 检验时序逻辑公式在流水线模型上是否为真。和传统的基于仿真的 验证方法相比,我们的验证方法可以达到1 0 0 的覆盖率。 本文还通过一个使用m t a d l 简单流水线模板的m i p s 处理器范例详细地说明 了我们的验证过程。本文验证的流水线范例含有3 个具有不同延迟的执行单元、 中国科学技术大学硕士学位论文 5 2 级c a c h e 和乱序完成等复杂的流水线特性本文工作的创新点在于: ( j ) 我们的调研显示,目前已公开出版的文献中还没有对如此复杂的流水线结 构进行过模型检验;耳前绝大部分文献中验证的流水线只有一个执行单元,并且 忽略了c a c h e 。 ( 2 ) 已有的文献中也没有对乱序完成流水线是否支持精确中断进行过形式化验 证, 1 4 本文的组织结构 本文其余的章节组织如下。 第2 章详细介绍了我们提出的m t a d l 语言。首先介绍了相关的工作,然后 概述了m t a d l 的设计思路。接下来使用m t a d l 描述了3 种常见的处理器。最后 规范化地定义了m t a d l 语言。 第3 章介绍了根据m t a d l 描述自动生成仿真器的算法。首先介绍了功能仿 真器的生成算法,然后针对m t a d l 的两种模板分别介绍了周期精确仿真器的生 成算法。 第4 章介绍了一种处理器流水线控制逻辑形式化验证的方法,特别是验证流 水线是否支持精确中断。首先概述了形式化验证的背景和相关的工作。然后详细 介绍了如何对处理器控制逻辑进行建模,如何使用时序逻辑公式表达流水线正确 性属性,特别是中断的精确性。 第5 章对本文的工作进行了全面的总结,并提出了有待进一步深入研究的几 个方面 中国科学技术大学硕士学位论文 7 第2 章体系结构描述语言( a d l ) 在基于a d l 的a s i p 设计流程中,体系结构描述语言处于核心地位。a s m 的开发特点对a d l 提出了两个方面的要求:( 1 ) a d l 必须能够描述各种体系结构 特性,从而方便用户定制指令和进行体系结构d s e :( 2 ) a d l 对体系结构的描述 又应该尽量简洁,从而缩短开发时间。然而这两种要求又往往相互矛盾,所以 a d l 设计者必须作出合理的折中。 本章提出一种基于微体系结构模板的体系结构描述语言m t a d i 佃j e l o - a r c h i t e c t u r et e m p l a t ea d l ) 。m t a d l 针对目前最常用的两种微体系结构( 简单流水 线和动态调度流水线) 分别提供了可配置的模叛。用户选定并配置模板后,可以 在此基础上完全定制指令集,这保留了a s i p 的大部分灵活性。在使用m t a d l 描 述a s i p 时,各种复杂的微体系结构特性都由模板处理,这使得用户在定制指令 集时可以把精力集中在指令的功能上,而不需要考虑复杂的微体系结构细节,如 流水线中数据通路、寄存器端口、中断控制的精确性等,从而极大地提高了开发 速度 本章的内容组织如下:第1 节介绍相关的工作。第2 节介绍m t a d l 的设计 思想。第3 节概述m t a d l 。第4 节使用m t a d l 描述了三种常见的处理器。第5 节给出m t a d l 语言的规范化定义。第6 节总结全章。 2 1 相关工作 目前已有很多关于a d l 的研究。如n l 儿 1 6 ,i s d l 1 7 ,e x p r e s s i o n 1 4 1 5 。 l i s a 6 1 3 ,t m 2 0 - 2 8 等。其中n m l 和i s d l 是指令集描述语言( i sa d l ) 的代表, 他们主要是为开发编译器设计的,只描述了指令集行为和指令延迟等信息,没有 描述流水线等微体系结构特征,因而不能生成周期精确的仿真器,不适合a s i p 的开发。l i s a 和e x p r e s s i o n 是通用a d l 的代表,它们同时描述了指令集和微体 系结构级信息,并都已开发出工具自动从a d l 生成编译工具链、周期精确仿真 器甚至是h d l 。t i e 并不是严格意义上的a d l ,它不能完整的描述一个处理器, 只能用来为已有的基础处理器( b a s e c o r e ) 添加新指令。但t i e 提供了非常快速的 a s i p 开发能力,并且相关的开发工具已经非常成熟。 上述a d l 中最成功的两个是l i s a 和t i e ,他们都实现了商业化应用,其中 t i e 已经取德了比较大的商业成功。我们将在第2 1 。1 和2 1 2 节分别对它们进行 专门的介绍。 ! 中国科学技术大学硕士学位论文 我们实验室也有比较长的a d l 研究历史,曾经提出了一种基于x m l 的指令 集描述语言,后来进一步提出了基于x p m o d e l 的微体系结构描述语言x p a d l 。 本文第2 1 3 节将介绍x p m o d e l 和x p a d l 。 2 1 1 u s a l i s a 由德国a a c h e n 大学提出,现已由c o w a r e 公司实现了商业化应用。 l i s a 语言可以完整精确地描述使用简单流水线结构的处理器。l i s a 对体系 结构的描述主要分为资源( r e s o u r c e ) 和操作( o p e r a t i o n ) 两部分。其中i - e s o l u c e 描述 系统中的存储器,寄存器、流水级等各种资源。o p e r a t i o n 描述各条指令的汇编格 式、二进制格式、i s a 语义和流水线操作等信息。l i s a 系统能够根据a d l 描述 生成完整的编译工具链、仿真器( 包括功能级和周期精确级) 和可综合( s y n t h e s i z e ) 的h d l 代码。 但是l i s a 也有很多局限性。l i s a 利用甘特图模型刻画指令行为所需要的资 源和消耗的时间。这种模型只能描述简单的顺序执行流水线,不支持多个执行单 元并发运行,更不支持动态调度的体系结构l i s a 自动生成的编译器的优化效 果也不理想。另外它不能生成完整的处理器h d l 代码,只能生成其中的流水线 数据通路和i n t e r l o c k i n g 等部分 此外,在使用l i s a 的开发流程中,用户需要设计一个完整的c p u ( 包括定制 的指令集、定制的流水线结构等) 。然而即使在l i s a 的辅助下,设计和验证一个 完整的c p u 仍然是非常复杂费时的过程。加上l i s a 尚不能对处理器的自动化验 证提供帮助,因此使用l i s a 平台开发a s i p 速度比较慢。这在上市时问越来越重 要的市场条件下是一个较大的缺陷。 在商业化应用方面,目前l i s a 拥有的成用案例( s u c c e s ss t o r y ) 也比t e n s i l i e a t i e 少很多 2 1 2t i e ( t e n s i l i e ai n s t r u c t i o ne x t e n s i o n ) 啦由t e n s i l i c a 公司开发,是t e n s i l i c aa s i p 开发平台的重要组成部分。 t e n s i l i c a 开发平台的设计思路是提供一个基础处理器核( x t e n s a ) ,并根据应用 的特点对x t e n s a 内核进行配置( c o n f i g u r e ) 和扩展( e x t e n d ) 。可配置的选项包括 c a c h e ,乘法器单元,浮点单元等。而对x t e n s a 内核的扩展包括添加新的寄存器 堆、指令集、数据通路等。对x t e n s a 的扩展就是通过t i e 语言实现的。t i e 语言 中国科学技术大学硕士学位论文 9 的设计目标并不是描述完整的处理器体系结构,而是描述对x t e n s a 的扩展。t i e 只能为x t e n s a 掭加执行单元( 在e x 流水级) 、寄存器堆和相应的数据通路并不 能改变流水线的结构。因此t i e 语言比一般的a d l 要简单专用得多。但也正因 为t i e 简单所以t i e 相关的工具链比l i s a 的成熟很多。整个t e n s i l i c a 开发平 台提供如下内容或功能; 1 高代码密度、较高性能、低功耗、可综合的基础处理器核- - x t e n s a ,目 前有x t e a s a 7 和x t e n s al x 2 两个可选版本。 2 根据配置选顼( c o n 殛u c a t i o n ) 和t i e 语言编写的扩展自动生成完整盼可综 合的h d l 。t i e 中定制f u n c t i o n u n i t 使用的是v e r i l o g 语言的子集,并且 f t m e t i o n u n i t 只是组合逻辑电路,所以容易综合;t e n s i l i c a 自动生成的部 分主要包括流水线控制逻辑( f o r w a r d i n g ,i n t e r l o c k i n g ) ,和定制r e g i s t e rf i l e 相关的数据通路 3 分析c 语言代码,自动进行体系结构d s e 的工具x p r e 熔x p r e s 能够自 动生成t i e 语言扩展。用来加速c 代码的执行速度 4 根据配置选项和t i e 语言编写的扩展自动生成编译器x c c 。x c c 能够自 动使镯x p r e s 添热的定乱指令来优化c 代码鸽执行速度。 5 完整的基于g n u 的工具链( g c c ,g a s ,g l d ,g d b ) ,并能够把使用t i e 定义的新 指令添加为o c c 的i n l r i n s i c s ,使得用户能够直接在c 语言中使用定制的 指令1 。 6 裉据配置选项和t i e 语言编写的扩展自动生成周期精确仿真器。 7 自动生成处理器测试向量,用于测试经t i e 扩展后的a s i p 处理器。 8 基于e c l i p s e 的i d e 。 9 ,t e n s i l i c a 还在不断开发各种新的功能,如v l i w 、d s p 、多核结构等, t e n s i l i c a 的主要缺点是基础内核是固定的( 目前只有x t e n s a 7 和x t e n s a l x 2 两 种) ,牺牲了a s i p 的灵活性。另外t e n s i f i c a 的价格很商,如x t e n s a 7 和x t e u s a l x 是开发授权费分别是$ 2 5 0 , 0 0 0 和$ 5 5 0 , 0 0 0 起 2 2 1 【,3 1 ) 。 2 1 3x p m o d e l 和x p a d l 我们实验室在研究各种主流微体系结构的基础上提出了可以精确描述各种 微体系结构特征的x p m o d e t ,并据此设计了体系结构描述语言x p a d l t 8 1 9 。 3 基于g n u 的工具链在实辱应用中非常重要。因为很多第三方的库函数、e m b e d d e do s 只支持 g n u 工具链,像l i s a 那样仅仅提供一个符合a n s i c 标准的c 编译器在实际应用中往往是不 够的。 4x t e n s a l x 是x l e a s a l x 2 的上一代版本。t e n s i l i c a 没有公开x l e n s a l x 2 的授权费用 中田科学技术大学硕士学位论文 x p m o d e l 分三个层次对a s i p 体系结构进行建模,如图2 1 所示这三个层 次分别是:指令层、抽象资源层和微结构层。指令层引入了指令有限状态机m e f s m ) 对指令进行建模。抽象资源层对a s i p 中的所有资源( 例如取指部件,译码 部件等) 进行粗粒度的建模。微结构层利用离散事件模型对a s i p 中存在特殊行为 部件或者时序信息不能由单个时间属性确定的资源进行细粒度的建模。 x p m o d e l x p a d l 指令层 使用指令有限状态机( i o e f s m )使用x m l 描述指令编码,使用类c 描述指令的行为。i - e f s m 状态语言描述i - e f s m 。 变迁的条件是能够从抽象资源 层获得所需的资源。 抽象资源抽象资源层维护一个令牌池,使用面向对象的方法描述系统中的 层 池中每个令牌是a s i p 中资源 资源,并建立资源模板库,库中包 的一个抽象表示,令牌上的时含各种常用的资源,如c a c h e ,存储 间戳记录了资源的时序信息。器- 寄存器文件等。 微结构层当抽象资源层发现某个资源的 时序和行为由微结构层建模时, 抽象资源就会调用微结构层提 供的接口,利用微结构层的离 散事件仿真,获得相应的时序 和数据。 田2 - 1 :x p m o d d x p a d l 的三层模型 x p m o d e l 和x p a d l 的优缺点分析如下。 优点: l 。可重定向能力强,理论上能够描述各种类型的微体系结构特征( 如v l i w , h p e l i n e 。o u t - o f - o r d e r , e x c e p t i o n ,m u l t i p , o r e ,外设等) 。 2 。可以提供3 种不同精度的描述:指令级、周期级和微结构级。 缺点: l 。很难使用,开发速度慢。i - e f s m 的描述非常繁杂,并且现实中的流水线 结构和理论中的i - e f s m 很难完美的一一对应。 2 。i - e f s m 的复杂性使得自动生成的仿真器运行速度很慢。 3 。和处理器的硬件模型差别较大,难以自动生成h d l 和微体系结构测试向 量。 中国科学技术大学硕士学位论文 2 2 基于微体系结构模板的m t a d l 由于市场竞争和技术换代的压力,上市时间成为a s 口应用能否成功的关键 因素。为了缩短上市时间,a s i p 开发平台必须提供快速开发能力。两l i s a 和 x p a d l 并不能提供足够快的开发速度。因为在l i s a 和x p a d l 的开发流程中, 用户需要设计一个完整的c p u ( 包括定制的指令集和定制的微体系结构) 。然而即 使使用基于a d l 的开发方法,设计和验证一个完整的c p u 仍然是非常复杂费时 的过程。此外,在复杂嵌入式软件的开发过程中,普遍使用第三方的库函数和嵌 入式操作系统。如果使用完全自定义的指令集,那么还需要把这些第三方软件移 植到a s i p 上,这也可能需要花费不少时间。 t e n s i l i c a 的技术路线是提供基础内核( b a s ec o r e ) ,并帮助用户在基础内核的 基础上添加定制的指令。但这牺牲了a s i p 的灵活性,用户只能使用x t e n s a 指令 集,因而无法直接使用针对其他i s a 的第三方软件。 本文提出基于微体系结构模板的体系结构描述语言m t a d l ( m i c r o - a r c h i t e c m r e t e m p l a t e a d l ) 。m t a d l 提供可配置的微体系结构模板用户可以选择一个模板, 然后在此基础上完全定制指令集,这保留了a s i p 的大部分灵活性。由于m t a d l 的微体系结构是由模板决定的,这使得用户在定制指令集时可以把精力集中在指 令的功能上,丽不需要考虑各种复杂的微体系结构特性,如流水线分段方法、流 水线中的互锁( i n t e r l o c k i n g ) 、旁路( b y p a s s ) 、中断控制的精确性等,从而极大地提 高了开发速度。此外,基于模板的微体系结构还极大的减小了从m t a d l 自动生 成h d l 和测试向量的难度。 基于m t a d l 的a s i p 开发平台也可以提供基础内核,从而可以达到和 t e n s i l i c a 相当的开发速度。两者的不同在于m t a d l 可以统一地描述基础内核的 指令集和用户扩展指令集;而t i e 只能描述用户扩展指令集。相比之下,基于 x p a d l 或l i s a 的平台即便提供基础内核,开发速度仍然比较慢。这是因为用户 在添加新指令时,除了需要给出指令的功能描述,还需要给出流水线控制等微体 系结构描述。 图2 - 2 是x p a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东女子学院《田径Ⅰ》2023-2024学年第二学期期末试卷
- 内蒙古通辽市科尔沁区第七中学2025年初三下化学试题期中模拟试题含解析
- 张家口市怀来县2025年数学四年级第二学期期末统考试题含解析
- 济宁职业技术学院《文化人类学经典导读》2023-2024学年第二学期期末试卷
- 上海海事职业技术学院《俄罗斯国情文化》2023-2024学年第一学期期末试卷
- 山西艺术职业学院《汽车轻量化技术》2023-2024学年第二学期期末试卷
- 上海外国语大学贤达经济人文学院《卫星导航定位原理与应用》2023-2024学年第二学期期末试卷
- 江西省吉安市遂川中学2025届高三下学期第一次考试语文试题含解析
- 吉林农业大学《血液流变学与人体健康》2023-2024学年第一学期期末试卷
- 辽宁职业学院《农业企业管理学》2023-2024学年第二学期期末试卷
- DZ∕T 0054-2014 定向钻探技术规程(正式版)
- 手术室病理标本的固定
- 酸枣仁汤的剂型研究
- 19J102-1 19G613混凝土小型空心砌块墙体建筑与结构构造
- 2023年福建泉州交发集团招聘考试真题及答案
- 2024届高考二轮复习备考 有机化学基础 课件(共35张)
- 设备移机方案报告
- 2022版义务教育(道德与法治)课程标准(附课标解读)
- 旅游行业的客户关系管理与维护
- 基于 Unity3D技术的农场体验游戏的设计与开发
- 缅怀革命先烈传承红色精神
评论
0/150
提交评论