已阅读5页,还剩56页未读, 继续免费阅读
(电路与系统专业论文)基准测试驱动的ASIP设计研究[电路与系统专业优秀论文].pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位呛文 摘要 本文阐述了基准测试驱动的a s i p 设计方法,通过规范化的基准测试,为处 理器体系结构,指令集等的设计和研究提供客观依据,并根据基准测试结果,对 处理器的设计提出合理化建议。 a s i p 是专用指令集处理器,与通用d s p 相比,具有更好的性能,是处理器 性能和灵活性之间的优化折中。基准测试是衡量客观目标代测系统性能的一种方 法,更进一步讲,基准测试的内容是用一个程序集来量化评估目标计算机的硬件 或软件资源。我们进行a s i p 基准测试的目的在于测试和评估目标a s i p 处理器 的性能。本文通过采用基于d s p 的基准测试方法,参考b d t i ,e e m b c 等公司 提供的基准测试模型对目标a s i p 进行测试。通过核心算法测试( 比如f i r ,i i r , d c t ,f f t 等) 和完整应用测试( o g g 音频解码算法) ,得到在目标a s i p 指令集和 体系下的这些算法和应用的性能结论,再根据基准测试结果对目标a s i p 的设计 提供参考及评估目标a s i p 的性能,并进一步提出目标a s i p 的指令集和体系结 构的改进建议。 关键词:基准测试;专用指令集处理器;d s p 算法;l i s a 塑垩查堂堡兰堂些堡塞 a b s t r a c t 1 1 1 i st l l e s i sd e s c r i b e sab e n c h m a r k i n gd r i v e na s i pd e s i g nm e t l l o d 0 1 0 9 ya c c o r d i n g t h es t a i l d a r d i z e db e n c h m a r k si tp r o v i d e sa no b j e c t i v em e t h o df o ra s s e m b l yi n s t m c t i o n s e ta n d p r o c e s s o ra r c h i t e c t u r ed e s i 印a n dt h a naa d v a n c e di m p r o v e m e ma d v i c e sw i l l b ep e r f b 咖e db a s eo f t h eb e n c l l i i l a r k i n gr e s u l t s a s i pw h i c hi st h ea b b r e v i a t i o no fa p p l i c a t i o n - s p e c i f i ci n s 仃u c t i o ns e tp r o c e s s o r h a sb e t t e rp e d b h n a n c ec o m p a r i n gt ot h eg e n e m lp u r p o s ed s pp r o c e s s o li t sag o o d t r a d e o f r b e t w e e nt h ep e r f b m l a n c ea n dt 1 1 ef l e x i b i l i t ) ro f t h ep r o c e s s o r b e n c l l l n a r k i n g i saw a yt om e a s i l r ep e d b 衄a n c eo fac o m p u t e rs y s t e m m o r es p e c i f i c a l l y ,b e n c m a r k i sap r o 铲啪u s e dt o q u a n t i t a t i v e l y e v a l u a t ec o m p u t e rh a r d w a r ea n ds o f t w a r e f c s o u r c e s t h ea i mt 1 1 a tw ep e r f o r mt h ea s i pb e n c h m a r k i n gi st oe v a l u a t et h e w o r k l o a d o f m e t a 曜e t i n g a s i p p r o c e s s o l t h i s t h e s i s w i l l p m c t i c e m e b e n c h m a r k s w h i c hi sc o m p o s e do fd s pk e m e la l g o r i t h mb e l l c h m a r k j n ga l l da p p l i c a t i o n b e n c h m a r k j n gi nt a 唱c t i n ga s i pa c c o r d i n g t om ea s l p 洲e n t e db e n c a r k j n g m e t l l o d 0 1 0 9 yr c f c r e n c e db yb d t i ,e e m b c a r e r t h a tw cw i l lg e tm ec o n c l u s i o no f t h eb e n c l l l n a r k sa n dm a l c ead e s 噜ne x p l o r a t i o nd e c i s i o nc o m b i i l i n gw i lt 1 1 eq u a l l t i t i v e p e r f b r m a n c e0 nm ee x p e c t e da s i pa r c h j t c c 眦a n dw ew ms u g g e s t 锄i m p t o v e m e n t i nt h ei n s t n l c t i o ns e t sa n dm ea r c h i t c c t u r eo f m et a 唱e t i l l g a s i pa t 廿l el a s t k e y w o r d s :b e n c h m a r k i n g ;a s i p ;d s pa l g o f i t h m ;l i s a n 簿一牵弓 妻 1 1 谍躐背景及意义 第一章弓l 畜 鼗字绱号楚瑾是整惑领域羲一个蕊要方窝。数字癌号整理器d s 玲是l 拿8 2 年诞生的一个重要的微处理器类型,1 9 8 2 年由美豳的德州仪器公司生产了第一 枚单片数字傣号处理器,剥鐾蓖d s p 黩经褥至广泛的应用,产生了稷多著名的 潞p 生产厂家,珑热鞋、a 霸鳓l o l a 等l “。二卡咒年来,蚤s p 接零数笈爆 一直伴随潜应用技术的凝展,以通信为主,涉及计算机,消费电子,汽车电予 等各个应用领域,粥p 是继d r 删,酶跚之爱推动邋器集成电路产渡发展的第三 次滚灞。魏圈l 。l 瑟示,瞒p 及胬p 穗关产蘸豹市蛹贽额每年帮奁飞茯静蘧长1 2 l 。 4 5 4 0 3 5 3 0 2 5 2 0 i s i o 5 o 凝1 1 蕊p 产燕发展趋势 在近几年,随着多媒体技术特别怒一些多媒体标准的发展,d s p 生产厂商 设计了针对多媒体应用的媒体处理器,这成为d s p 按求於一个毅躲发展方国1 3 l 。 较孚茨攥缚憝囊器是t 缀多年翦搂& 瓣e 8 0 ,蘧黎备耱多攥钵褥准斡菱震及市 场的需求,祷种多媒体处理器也在相成高速发展。阁1 2 和图1 ,3 显示了多媒 体市场和葵审的音频市场媳发展现状帮预测。 第一章引言 2 0 0 32 0 0 42 0 0 52 0 0 62 0 0 7 图1 2 多媒体市场发展趋势 2 0 0 32 0 0 42 0 0 52 0 0 62 0 0 7 图1 3 音频播放器市场发展趋势 d s p 作为专用的微处理器,它主要目标,尤其是早期的时候,主要就是用来 处理复杂的数字信号,所以其内部结构从其诞生起就采用和普通m c u 不太一样的 哈佛结构,它的主要特点就是将数据流和指令流分离开来,分别存储在两个不同 的内存单元里,并且在内部使用m a c ( 乘加单元) 和流水线结构。用m c u 做乘法运 算,我们可能需要数十个指令周期,而d s p 一开始就拥有用一条指令执行乘法运 算的结构1 4 j 。经过这么多年的发展,d s p 的内部结构发生了很多的变化,比如说 与通用处理器的结合、并行化和专业化等。与通用处理器的结合,就是用d s p 芯 片弓通用处理器组成。个新的片上系统,其中用d s p 的内核做运算密集型的数字 信号处理的运算,在芯片内同刚有通用的处理器内核做管理运算,这样能够充分 发挥睡者各自的长处,形成的新的d s p 产品,不仅有强的运算能力,还有好的事 务处理能力口j 。 从技术层面上来说,通j _ _ j d s p 处理器具有很高的灵活性,可以有很广的应用 范围。也正因为如此,通熠d s p 一般都具有较人的功耗,性能也不是很突出。所 啪啪伽渤咖o o o o o 0 0 0 o 瑚喜|咖渤 第一章引言 以通用d sp _ 般都应用在对功耗,性能,硅面积等要求不是非常高的例子中。针 对这种情况,随着技术的发展又提出了专用指令集d s p 处理器( a s i p ) 这个概念。 从幽1 4 可以看出, 9 9 5 年 图1 4 通用d s p 和专用d s p 发展趋势 在1 9 9 5 年,市场上大约5 0 9 6 的d s p 都是采用通用处理器结构的,但到2 0 0 4 年,这一 比例已经降到了1 5 ,通用d s p 更多的被专用指令集处理器( a s i p ) 所取代。这主 要是由于相对于通用d s p 处理器,通常专用d s p 对于特殊的应用都设计有专门的硬 件加速模块,使得专用d s p 在处理特定应用时具有更高的性能,并且功耗和所需 的硅面积更小1 6 l 。同时,还保留了d s p 的灵活性。在过去的2 0 年时问里,许多研 究者和d s p 半导体公司都在致力于研究针对不同信号处理领域的专用硬件加速模 块的开发。我们应该注意到,因为所有的d s p 算法都是针对于特殊的信号处理应 用的,所以在专用硬件加速模块开发时,必须在处理器性能和灵活性上进行折中。 比如专门用于处理音频信号的加速模块并不一定适用于基带信号的处理。甚至在 同一领域,也会出现这种情况,比如在语音编解码器中,用于通话模块的硬件加 速就不适用于终端的信号处理。从图1 4 中我们可以看出,a s i p 的发展前景是非 常广阔的,它是今后d s p 技术发展的一个主流,这也是本论文研究的一个出发点。 1 2 主要研究内容 本沦文研究的内容来自于国家8 6 3 课题。主要研究的是基于基准测试下的 a s i p 处理器的研究。通过规范化的基准测试,为处理器体系结构,指令集等的 蓦 第一章引言 设计和研究提供客观依据,并根据基准测试结果,对处理器的设计提出合理化 建议。 1 3 论文结构 本论文介绍了d s p 的发展及历史,d s p 的发展方向,及基于基准测试驱动 的a s i p 处理器的研究。 第一章为引言,介绍了本课题的一些背景知识,d s p 的发展历史,现状特 点和未来的发展趋势( a s i p ) ,还介绍了本文研究的内容,目的和意义。 第二章介绍了a s i p 的概念,设计方法及设计工具等。 第三章介绍了基准测试的概念,及基准测试方法,基准测试所使用的t 具 等。 第四章介绍了主要使用的基准算法及汇编代码,汇编工具等。 第五章介绍了根据基准算法结论提出的体系结构及指令集,及对本课题的 总结和进一步改进建议等。 最后为致谢和参考文献。 第一章a s i p 设计方法 第二章a s i p 设计方法 2 1a s l p 的历史及发展现状 在过去2 0 几年时间内,随着数字技术的发展,集成数字电路作为数字运算 的核心部件,在日常生活中使用的数字设备上越来越常见。比如在手机,个人电 脑,网络设备,汽车和自动化工业上的嵌入式系统等。根据m 0 0 r e 定律,数字 设备的规模和复杂度会在未来的2 0 年内不断持续的增长硎。但是实际上设计能 力的增长却跟不上技术的发展,这个鸿沟造成了从新的技术提出到实现产品化的 一个时问上的瓶颈。特别对于嵌入式数字电路来说,这种现象体现的更为明显。 与通用处理器相比,这些嵌入式处理器有更好的性价比。然而由于嵌入式处理器 采用的是非面向特定应用的指令集结构,所以它们通常都不具备很高的运算性 能。而且,由于嵌入式处理器是面向通用的嵌入式应用,所以与专用处理器相比, 它们一般都有较大的功耗拂h 1 “。 对于一个硬件的应用来说,功耗和灵活性是它性能的两个相矛盾的评价指 标。处理器要有很好的灵活性,必然就要有一定的功耗来支持,而要降低处理器 的功耗,就要以牺牲它的灵活性为代价。好的处理器设计就是这两种方面的个 灵活性( 应用覆 盖率) 图2 1 几种处理器类型的功耗和灵活性对比 合适的折中。图2 1 说的是几种应片j 型处理器这两个方面的性能指标。从削上口】 以看出,专用指令集处理嚣( a s i p ) 可以在功耗和灵活性上有很好的折r p ,对 淼一:, 似, 第二章a s i p 设计方法 于一个给定的应用,它比专用硬件和可编程d s p 能够更好的满足功耗和灵活性 的要求。对于一个特定的应用,a s i p 可以充分利用用户定义的指令集和数据通 路进行优化处理。这种优化的结果就使a s i p 比通常的解决方案具有更好的计算 性能和更小的功耗。这也是当今工业界更倾向于研究和使用用户定制处理器的一 个原因。这种趋势也可以从硬件和软件两方面原因进行解释。 从硬件设计的角度上来说,a s i p 能够实现一些要求高灵活性的应用。这些 灵活性的要求比如来自于适应将来标准变化的需要,或者以后由于应用的变化导 致设计的改变等。更进一步来说,基于一些重用技术,还可以大大的缩小设计周 期。这个特性对于在一个己有的产品上开发一些新的功能的设计特别重要。最后, a s i p 的设计可以通过高级语言建模来实现,可综合的a s i p 处理器必须是与特定 的技术不相关的,这样它就能够很容易和其它硬件模块整合在起。 从软件设计的角度上来说,a s i p 处理器给软件设计提供了个更大的优化 空间。对于一个a s i p 设计来说,它的输入即来自于以高级语言描述的软件应用, 也来自于用硬件描述语言描述的a s i p 硬件体系结构。对于软件设计者来说,这 为他们提供更大的优化空间,用硬件描述语言描述的体系结构摒除了传统的固定 硬件描述结构所带来的硬件最高性能的限制。对于硬件资源,设计者有更高的优 化自由度,这样他们就能用更有效的a s i p 部件来取代传统的大规模的,高能耗 的硬件模块。 a s i p 具有高灵活性,相对于嵌入式处理器,它又有高的计算性能,低功耗, 开发周期短等有点。而且,a s i p 处理器也能够很容易和现有的半定制的处理器 开发流程结合在一起,因此,对于数字信号处理来说是未来集成电路发展的一个 趋势。 典型的a s i p 处理器的应用一般都在传统的领域,比如传统的u 控制器和可 编程的信号处理器( d s p s ) 和专用硬件结合起来形成一个新的处理器体系。在 最近几年,a s i p 在网络处理器上的应用越来越广,研究者将更多的目光转向a s l p 在网络路由器和交换机上的应用。a s i p 处理器根据它的应用可以归类为以下几 种i l l 】: ( 1 ) 受外部响应( 特别是非周期响应) 控制的控制模块受控系统。这种受控 系统一般都受到实时响应时问的限制。 篇二章a s i p 设计方法 ( 2 ) 数据传送受控系统。 f 3 ) 控制模块受控和数据传送受控混合的系统。 上面提到的网络处理器就是控制模块受控系统的一个例子。从以a s i p 处理 器作为核心处理器的观点上看,传统的固定体系的d s p 处理器的发展历史可以 认为是不断的在切实可行的硬件资源消耗和对于不断发展变化的应用之间进行 折中优化。d s p 这种缓慢的发展变革,使d s p 在发展到a s i p 过程中,出现了 些中间产品,如带有a s i p 特性的通用d s p 处理器【1 2 】。比如: 使用数据总线和程序总线作为源数据的单周期乘加运算。典型产品 有t i 的t m s 3 2 0 c 2 x 。 支持位反转寻址模式。比如用在f f t 蝶型算法寻址上。典型产品有 t l 的t m s 3 2 0 c 2 x 和c 5 4 x 。 单指令多数据结构。典型产品有l u c n e t1 6 0 0 0 等。 对于加一比较选择复合操作进行维特比扩展。典型产品有t i 的 t m s 3 2 0 c 5 4 x 。 用两条专门的指令进行维特比软件流水线操作。典型产品有 s t a r c o r e 。 s i m d 体系的进。步扩展以利于滤波器应用。典型产品有 t m s 3 2 0 c 6 2 x ,t m s 3 2 0 c 6 7 x ,t i g e r s h a r c 等 对于有限数据的算法( 比如f i r i m ,f f t ,甚至矩阵运算) 来说,显然我 们可以通过优化d s p 的指令集体系结构来优化实现这些算法。但是如果应用到 其它的算法上,这些针对这些算法优化的d s p 体系就有可能体现出很差的性能。 这就是上面所提到的灵活性和性能之间的矛盾。所有的这些都促使人们对于 a s l p 的开发和研究。 2 2a s i p 设计方法 由于a s i p 的应用范围越来越广阔,近几年来,工业界和学术界都对a s i p 技术进行了大量的研究和实践。图2 2 列出的是近几年来工业界和学术界在a s i p 处理器方面的研究成果1 ”l 。 第_ 二章a s i p 设计方法 研究者,所属机构 设计描述研究重点 k u u l u s a ,t a m p e r e 大学 g s m 上使用的可配置d s p 核 b 1 ( i e l l l l u i s 等,p h i l i p s 研究中心 基于数据流的体系结构 a a l o m a r y ,t 0 k y o 大学 基于g c c 的基础运算 i v a np r a e t ,欧洲微电子研究中心 指令集的自动分析技术,体系优化 a f a u t h ,b e d i n 大学应用n m l 语言产生用户定制硬件的硬件生成 器 i i l g j e rh u a l l g ,美国南加卅l 大学 研究在一个给定的体系下的指令集定义 f 0 1 l i o n ,美国加州大学有编译器辅助的指令集设计 q z h a o ,e i n d l l o v e n 大学 高级指令集和编译器设计的静态资源模型研 究 i g o n g ,美国加州大学 参数化的v l l w 体系结构研究 m a m o l d ,d e l r 大学 有限互连网络 k k u c u k c a k a r ,e s c a l a d e 公司大规模固定体系结构的增量修正 h c h o i ,韩国科学与技术研究所可变设计环境的案例研究 j 一h y g ,韩国科学与技术研究所m e t a c o r c 环境的案例研究 只f a r a b o s c h i ,m g s c h w i n d ,m m 研究多簇v l l w 体系研究 中心 m i t o h ,y t a k e u c h i ,o s a l 【a 大学 u - 叩描述的硬件描述语言生成器 r c a m p o s a n o ,j w i l d b e 增,德国国家c a s t l e 设计环境的案例研究 研究中心 图22 a s i p 研究成果 g 1 硎a 定义了特定应用结构设计的一些主要要求,可以归纳如下” 根据特定应用开始设计流程。 在设计之前对一些不同的结构选项进行评估。 找出能加快运用速度的硬件功能。 在编译系统支持的情况下,高频操作用硬件实现。 根据以上这些设计需求,研究者提出r 很多设计方法学,在这些方法中,有个 共司的特性,那就是包含了五个主要步骤: 嚣二章a s p 设i 卡方法 1 设计应用分析( a p p l i c a t i o na n a l y s j s ) 整个a s i p 设计的开始成输入是一个戏一组应用,谯或用产生时,我们也要 蠲时生成这个应矮掰毳要翁测试数綦帮针黠这个应爝辩设诗约束。避行应用分褥 的目的就是为了得到能指导硬件综合以搜指令组生成的那些特性。比如专门为 h d t v 的8 v s b 信道接收芯片设计的a s l p s 就是根据各个模块的需要分耩汇总而 采的。遂霞庭溺分辑逶零免麓毫缀语言稳述所要遗嚣躲瘴疆,魄螺e 施+ + 等。 然后对目标廊用进行动态和静态分析( 如s a t o 提出了应用程序分析仪) ,分析的 结果以一衬合适的中间格式存储起来以祷后用。比如g u p t a 把处理器结构和应用 俸秀输入,琴l 麓s 疆f 捧冀中藤格式,褥绷大量貔痤嗣参数,翻平均蕊本模获尺 寸、乘法累加操作次数、地址计算指令与数据计算指令比率以及输入输出指令所 占的百分比等“。 2 设诗结稳室| 曩探索( 触巍i t 。e 姐_ cd e s i 辨罐) a e ee x p 】酬i o 矗) 设计结构塑间探索是针对特定的应用,根据应用分析的输出及相应的设计约 束提出一组可能的目标a s i p 结构方案。然后估计可能结构的性能,选出一个满 髭功耗,蛙耱终柬著其煮最小硬 孛藏本的合适缍携“。整2 3 是一个荧型豹橇桷 探索殴计框图。 闼2 3 结构探索设计框图 整令臻构掭索过程可班谀为是棂爨魏爱售诗擅搜在缝稳空满土剿蠲一定弱 搜索算法寻找目标a s p 的蟥佳结构,但对于不同的设计方法,它们所采用的估 值技巧和相成的结构设计空问不一定都样。 萎二章a s 舻设诗方法 ( 1 ) 结构设计空间。建立一个具有好的参数的结构设计空间模型烧几乎所有 技巧的重点。设计空间模型的好塥取决于参数豹个数和参数值的范围,给参数赋 予不同静毽藏熊构建不同静缝褥设计空闻。参数往绩褥摸鍪还包含一定数量的不 同类型的功能雏元。如:有的结构模型支持指令并行度,而有的不支持;有的使 嬲了c a c h e ,有的不使用等。 ( 2 ) 经憝髂诗。一觳来说,毪髓彳轰诗袁嚣苇串技巧:蒸子谲度程滓秘蒸予仿真 器的。基于调度的技巧采用这样一种思想:对于结构模型的整个估值问题可以归 纳为资源约束调度问题,即搬所选择的结构成分当作资源,然后应用这些资源对 遮瘸遴嚣调度,统计调疫繇黉簧嚣镑鼗,联衡懿数穗可以用来蘩诗各个搡雩霉豹颓 举。而基于仿舆器的思路如下:根据所选的结构模型的特性产生一个结构的仿真 模型,然后将特定应用在这个模型上进行仿真来计算性熊。 ( 3 ) 建索控潮。在意限黪区城里懿搜索黪涟有臻b 豫n c h 喵l 玉b o 强d 爨努器法。 3 指令集的产生( i n s t n l c t i o ns e tg e n e r a t i o n ) 指令集产生方法一般可以归为两类;攒令集综合和指令选择。 1 ) 摆令蘩综合( 妇 耀e t i 赫蛾s y n t l 辩s s ) 。这静露令壤产生方法毂撂令集是 根据应用需要米生成的,它的指令集数量也是由根据特定应用来确定熟使用频率 来确定的。对于使用这种技巧来产生指令集的a s i p 各种设计方法来说,它们之 瓣豹匿裂在予攒令稳造豹不麓上。 ( 2 ) 指令选择( i n s 咖c t i o ns e j e c t i o n ) 。强这种技巧中,存在一个基本指令集组, 在这个基本指令集组的基础上,再根据参考结构的约束选择它的派生指令集组以 溃是性畿霉簧。霹襻,霹予不目的a s i p 设诗彦法,它髑之淘夔不同之建在子选 择的算法不同上。 此外,也有同时使用上述两种方法的。 4 代玛生成( c 翻es 鞠t k 蜘) 我们可以1 i j 两种方法为特定的应用或1 维应用进行代硝生成:可重定目 标代码生成器和编译代码产生器i 1 8 l 。 1 ) 可重定援标代码生成嚣。它把结孛冬摸叛,据令集缮搀帮应用佟为输入, 从而得出目标代码。对于代码产生又提出下列三个予问磁:指令配置,指令分配 种汇编调度。 o 第二章a s i p 设计方法 f 2 ) 编译器产生器。它是把结构模板和指令集结构作为输入,得到一个专门 的编译器,然后对用高级语言描述的给定应用产生目标代码。 5 硬件实现( h a r d w a r es y n t l l e s i s ) 在这一步中,根据给定的a s i p 结构模板及指令集机构,从v e r n o g ,d l 描 述开始,使用标准工具进行硬件实现。 以上讨论设计a s i p 的五个关键步骤,每一个步骤都有许多实现方法,但所 有方法所探索的目标结构空间是有限的i “】。随着集成度的提高,能够在一块芯片 上支持存储器层次结构,而流水线a s i p 和低功耗a s i p 也正成为主流。 图2 4 给出了a s d 处理器的一个设计流程”。从图上可以看出,整个设计 的开始是用高级语言描述( h l l ) 描述的针对特定应用的文档。图2 4 所描绘的 是一个自顶向下的实现方式,这就使设计者能够用多种抽象的方法来处理复杂的 任务。在对应用进行初始化描述阶段,我们使用高级描述语言的表达式和操作符 来对应用进行行为分析,取得其些相应的在执行时所需要的一些输入信息和数 据。在指令集体系结构预定义阶段,设计者可以利用时钟精确的指令行为级描述 方法,这样就能避免一开始在底层硬件实现上的细节上的过多纠缠。而且硬件描 述语言的应用也是使用了高层次的描述,在实现过程巾也忽略了特定的逻辑实现 细节,这些逻辑实现细节将在逻辑综合阶段进行精确定义实现。 图2 4 的设计流程以某种特定应用开始,这种特定可能某些部分适合用a s i p 软件来实现,某些部分可能适合用专用硬件来实现。为了明确这种任务划分,以 将整个任务映射到具体的硬件一软件实现上,在指令集体系结构定义之前,必须 先完成几个设计任务。而且这些设计任务对于以后的实现优化也是非常有用的。 第二章a s l p 设计方法 图2 4 a s i p 设计流程 2 3a s l p 开发环境及开发工具 随着a s i p 应用的深入,研究者也开始研究a s i p 的集成开发工具。其中最 常用的是a a c h e n 大学的h e j n r i c hm e y r 教授,g e r da s c h e i d 教授和r a i n e rl e u p e r s 教授共同开发的l i s a 2 o 描述语言。l i s a 语言可以应用到a s i p 设计的各个阶段, 包括体系结构探索,体系结构实现,配套软件设计和体系结构集成等。它提供了 a s i p 设计的一种统一一的,标准化的基础方法。 第- 二章a s i p 设计方法 l i s a 是一种开发性语言,它的日的在于对于可编程结构及相应的外设和结 构形成个统一化描述。缩小及消除纯粹的结构描述语言( v h d l ,v e r i l o g ) 和 指令集描述语言之间的鸿沟。l i s a 对于不同处理器类型的指令集,比如s i m d , m i m d 和v l l w 等,提供了一种高灵活性的描述方式。有复杂流水线结构或者 多线程的处理器可以通过l i s a 进行很方便的建模。并且l i s a 模型可以覆盖一1 个很广范围的抽象描述。包括从一开始的对体系的数据通路纯功能描述的抽象建 模到包含流水线和功能单元的抽象建模。从时序上来看,它也支持指令精确的抽 象到时钟精确或者甚至流水线级精确的建模抽象。而且时钟精确的模型可以用来 生成结构的寄存器传输级( r t l ) 描述。 l i s a 的结构描述有两部分构成:一个是资源定义部分,另一个是l t s a 操 作树。资源定义部分是用来声明所设计体系结构所需要的资源,比如内存、总线、 寄存器、流水线和管脚等。在资源定义部分所给出的信息量取决于系统的抽象层 次。比如在一个指令精确的模型里,我们就得不到具体的流水线的信息。l i s a 操作树有几个l i s a 操作组成,它所包含的各种信息构成了l i s a 操作树的基本 元素。l i s a 操作必须明确描述两个方面的内容:操作的行为描述和指令集。行 为一般被描述为行为和表达式两个部分。当表达式部分返回个特定的值,比如 个寄存器的内容,行为部分就包含有处理器结构的状态转换信息。这种状态转 换通过c 代码来实现。指令集通过它的汇编语法和二进制表达式来定义,这两 部分信息分别通过l i s a 的语法和编码模块米实现。 l i s a 操作树的一个例子如图2 5 所示,它在几个l i s a 操作的基础上描述了 一条指令的行为,编码和语法。l i s a 操作树从根操作开始,根操作包含了对所 有的处理器指令都通用的基本信息。在这个例子里,第一个实例化是将指令集分 位1 6 位或3 2 位。这些每个操作都包含表明指令类型的相关信息。下一个操作 的实例化是将指令集分为l o a d s t o r e 指令或者算术指令。实例化是建立l i s a 模 型的一个基本准则,而且如图2 5 所示,一个l i s a 操作不仅能够表示一个完整 的指令也能表示一个指令的一部分,比如操作码( o p c o d c ) ,操作数( o p e r a n d ) 或者特殊条件段。因此,建立个l i s a 模型就是创建一个l i s a 操作树来完整 的描述目标体系结构的行为,语法,编码和时序信息。 第章a s 丁p 设计方法 图2 5 l i s a 操作树流程 下丽靛单介绍一下l i s a 语言在a s i p 设计流程各个阶段的具体实现 结构探索 应用实现 u s a 语言描述| | 手写的功能荜| l i s a 编译器l l i lll i 编谥翌 i 完整豹h d l完整的结构, l 一 r 躺gi 描述解码模块,流 叫箨耱越i 上 水线控制器 。1 箜真器l 级嘉小 上 j w 模型验证和评估 o 评估结果:芯片 j j 鞭琼百 曲襁,时钟速度, 评估结集 l 功耗等 ll 门级模型 图26 基于u s a 的结构探索和安现 藕章a s l p 设计方法 ( 1 ) 设计结构空间探索。影响a s i p s 设计的一个关键因素是一个有效的设计 警间探索阶段。图2 6 是基予l i s a 的结构探索和实现。当l i s a 自动嫩成的 王d l 模型的综合绣莱能够符合绘掇的物理疆露l 条侔霹,我们虢能够掇器这个模型生成 最终的实现缩构。如图2 6 右半边所示。 ( 2 ) 设计实观。我们建立l i s a 模型的目的是为了最终获得用硬件描述语言描 遴静霹标藩系矮褥。建立酲标俸系结枣鸯蕊鬻要夔其俸爨惑逶遘l l s a 撩作褥来获 得。图2 7 描述的是怎样通潋几步不同的l i s a 操作来形成a d d 指令。如图所示 l l s a l 麓 d e r 码、。l ll 译码 l ki 、 、 e x 羔、厂;。菇、i 一ii 译码 a l ul | i 啪伟写、 回写 、一 强2 。7 疆s a 搽络瓣帮译褥生成 译码在d e 阶段。从一个通用寄存器里取得操作数存在流水线寄存嚣里。 在e x 阶段,加法操作将流水线寄存嚣的值相加,并将结果写回另外一个流 承线毒存嚣。 在w b 阶段,回写操作将流水线寄存器的值回写到通用寄存器。 ( 3 ) 软件工具生成。a s i p 的软件工具都是通过l i s a 描述自动生成,这些自 动生残夔袈 誊王其蔑够楚理复杂瘟援野发豹嚣隶。其髂憨软箨生成方法就不在这 擞详述,可以参考c o w a r e 的应用开发文糨。 基于体系描述语言l i s a 的a s l p 设计,包括设计探索,设计实现,软件t 舆设诗等。疆搽 搴系静l l s a 建摸是i = l 亲囊秘生残摇瘦缒软謦工具,懿c 缓译器, 汇编器,链接器和仿真器。只要建立个时钟精确的l l s a 模型,一个完整的硬 件模型就能从设计探索和设计实现环节获得。随着l i s a 的进一步发展,它在 a s 狰设计赣域的 # 蠲显戆越寒越突出蝴 。 第二三章基准及基准测试方法 第三章基准及基准测试方法 3 1 基准测试介绍( b e n c h m a r k i n g ) 基准测试是衡量客观目标代测系统性能的一种方法,更进一步讲,基准测 试的内容是用一个程序集来量化评估目标计算机的硬件或软件资源。我们进行 d s p 基准测试的目的在于测试和评估d s p 处理器的性能,它和其它的d s p 处 理器相比,在性能,体系,功耗等各个方面有什么差异,它是否能够适用于我 们的特定应用,是否能够适用于实时任务及功耗,内存系统,配套软件资源等 各个方面的内容拉2 】- 1 2 ”。 过去,传统d s p 处理器的基准测试一搬都有相应处理器的厂家完成,比如 德州仪器( t i ) ,摩托罗拉,a d ( a n a l o gd e v i c e s ) 等。测准测试都在它们提供的平 台上进行。在d s p 基准测试领域并没有专门的具有权威性的组织或个人,d s p 的纂准测试一般都通过通用的基准测试来实现,d s p 领域迫切需要无偏差的, 有意义的专门针对d s p 的基准测试刚。由于缺少其它的基准测试提供者,d s p 的设计者,厂家和研究者只能依靠d h r y s t o n e p s 的微处理器性能测试结果。 但是m i p s 是个相当人为的,并且被过度使用的基准测试方案。当一个厂家将 他的处理器性能用 p s 的基准测试结果表示时,我们通常可以认为这个特定 的处理器是在最优化的外部条件下进行的测试,所以通常结果具有一定的欺骗 性。 1 9 8 8 年,e d n 公司用汇编语言将一些通用的基准测试算法进行归类编译, 并在1 8 种d s p 处理器上进行分析,得到1 2 个基准测试结果。这是对d s p 基准测试进行标准化的最初尝试。1 9 9 3 年d s p s t o n e 项目组在评估d s p 编译器 性能方面提出了一些重要的结论。通过对编译器自动生成的代码和手写的汇编 代码的比较,以及对速度,内存利用率等各个方面的测试,认为d s p 编译器还 不够成熟,d s p 开发者更倾向于使用手写汇编代码来实现应用。1 9 9 7 年, e d n 成立了嵌入式微处理器基准测试组织( e e m b c ) ,它的最初日的是开发具 有确定规则的通用基准测试。无偏差的基准测试是e e m b c 的日标。2 1 个微处 理器公司加入了这个组织( 现在已经到了2 8 个) ,但是软件厂家和开发者却被 第三章基准及基准测试方法 排除在这个组织之外刚。在e e m b c 成立的同时,b d t i m a r k 基准测试组也成 立了。它的主要目标是测试d s p 处理器的执行速度1 2 8 】。这也是他们的基准测试 的算法都是通过汇编语言来实现的原因。下面分别对几个基准测试的标准组织 及它们响应的基准测试方法和内容进行简单介绍2 4 h “。 d h 眄s t o n e 基准测试: d h 口s t o n e 基准测试方法是在1 9 8 4 年提出的,它的最初版本是用a d a 语言 实现的,随后由c 语言实现。d h r y s t o n e 属于行为基准测试,它更专注于带有 特殊行为的代码,而不是针对特定算法的实现。d h r y s t o n e 的最新版本在一个主 循环里包含1 0 3 个高级语言描述的表达式。在运行时,不断重复执行这个循环。 用户可以选择执行循环的次数。运行结束后,我们能够得到程序每次循环执行 的绝对时问,每秒反复执行的次数,以及相对于参考机器的性能等。d h r y s t o n e 基准测试也有一些局限性: a d h r y s t o n c 程序太小。当开发d h 哆s t o n e 时,对于嵌入式系统来说,指令或 数据c a c h e s ( 高速缓存) 还是很少见的,但现在c a c h e s 的在系统中越来越常见。 c a c h e 8 的使用能够使d h r y s t o n e 的测试性能有很显著的提高。这就使d l 町s t o n e 测试不能很真实的反应系统测试结果。 b d h r y s t o n e 的另一个局限是它的执行时间曲线,即每一个函数的执行时间在 全局执行时间中所占的比例。对于每一个函数都有相同的执行时间的程序,它 的执行时间曲线是一个平坦的曲线。相反,如果程序里面有很小部分的函数的 执行时间在整个执行时间中所占的比例很大,那么这个程序就有一个很陡峭的 执行时问曲线。对于大多数嵌入式c p u 体系结构来说,d h r y s t o n e 的执行时间 曲线般都是陡峭的,它3 0 到4 0 的执行时间都消耗在两个函数上: s t r c p y ( 字符串复制) 和s 廿c m p ( 字符串比较) 。如果目标d s p 没有专门的字符串处 理硬件,d h r y s t o n e 的结果就有可能不够精确。 d h r y s t o n e 还有其它一些方而的缺点,比如它的些行为特性并不适台实际 应用。比如d h r y s t o n e 的每一个进程调用都只包含一些不常见的指令,因此这 个进程调用的效率和进程调用及进程返回的实现效率紧密相关。还有d h r y s t o n e 的子函数调用只能有三或四层嵌套。因此大多数的r j s c 处理器在调用时都不 州从片外内存里保存数据到寄存器或将寄存器值存储到片外存储器上。 第三章基准及基准测试方法 上面所讨论的d h r y s t o n e 的各种缺点都说明了d h r y s t o n e 基准测试并不适用 于作为d s p 的大型的,复杂的应用测试。 e d n 基准测试: e d n 基准测试是在1 9 8 8 年开发的,它的基准测试内容是通过实现一些实 际的应用算法,比如f l r ,i i r 滤波器,f f t ,点乘,矩阵乘法等来评估目标 d s p 的性能。e d n 是将特定应用在目标d s p 上的执行时间和内存消耗作为衡 量指标的。e d n 对于执行时间的定义为执行给定基准测试算法的所消耗的时 间,其中并不包括系统初始化或者产生静态查询表的时间。但包括对一些程序 每次运行都必须先初始化的对象的时间,比如寄存器,指针等。内存消耗指的 是程序运行所需要的内存空间,包括执行代码,初始化代码,滤波器系数,旋 转因子,位反转表等。对于e d n 来说,d s p 执行速度不是一个最重要的影响 因素。如果d s p 主要用来做滤波器应用,d s p 的执行速度对于d s p 能否完成 f f t 操作来说是无关紧要的。 e e m b c 基准测试: e e m b c 于1 9 9 7 年成立,它的基准测试是由用c 语言描述的各种测试组合 构成的。他们的基准测试所包含的应用范围包括工业自动化,办公自动化,消 费类产品,网络产品,通信工业等。对于每一个测试组合,每个单独的测试都 用来测试处理器个或多个功能单元,以评估哪些功能单元对于特定应用来说 是最适合的。每一个单独测试都必须提供处理器的一些基本运行特性,比如编 译器版本、处理器时钟频率、总线速度、c a c h e 大小等。而且每个测试还必须 明确的在文档上记录对于代码的每一次改动。这份文档保证测试是可重复的, 并且无偏差的。 e e m b c 的基准测试策略是使用对于大多数通用嵌入式应用都适用的算法,比 如d s p 的核心算法( f f t ,f i r ,i i r 等) ,e e m b c 基准测试基于人为生成和现 实应用之问。 如果e e m b c 的基准测试使用了处理器的c a c h e 结构,它就不能够测试到 处理器的外部总线结构。为了解决这个缺点,基准测试实现前要先分析它的基 准测试代码在应用中的行为。在某些情况下,一种算法可能会不断重复的运行, 但在实际应用中,它却不会这样运行。此,当c a c h e 不够大时,处理器会不 第三章基准及基准测试方法 断的将算法代码重装载到c a c h e 里,在这种情况下,e e m b c 会在不造成结果偏 差的情况下,将频繁读写c a c h e 的测试代码拿掉,以便和实际应用相符合。通 过从外部存储器载入代码和数据到片内c a c h e 来测试处理器的总线接口单元。 b d t i m a r k 基准钡4 试: b d t i 是一家专门致力于d s p 技术独立研究的公司。它们的基准测试侧重 于d s p 处理器实现某种应用或算法的速度。测试代码都由汇编代码实现以避免 由于不同编译器的性能所带来的测试结果上的误差。 用汇编代码实现一个d s p 的完整应用是非常耗时问的,所以b d t i 一般都 采月j 一些核心算法模型。b d t i 基准测试选择了1 1 种最常用的d s p 算法作为它 们的测试算法,其中包括f i r 、i i r 滤波器,一个l m s 滤波器,一个卷积编码 器和f f t 。这些算法都由手写汇编来实现,并且都经过仔细优化以充分利用和 发掘处理器的性能。 b d n m a r k 是将1 1 个b d t i 基准测试的算法的执行时间结果最终提取成一 个单一的数字结果。然而,这种方法向用户隐藏了特定应用中的各种子函数之 间的重要联系。基准测试程序运行依赖于处理器的原始数据格式,那就是说一 个1 6 位的定点处理器的测试结果比一个更高端的浮点处理器的排名更靠前。 d s p 应用的实现性能指标是很重要的,这些性能指标包括芯片或系统的造价, 功耗,存储器使用率等。但b d t i m a r k 并没有将这些指标做为它评估所要考虑 的指标。相反b d t i m a r k 将各种处理器实现这些算法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届四川博睿特外国语学校高二化学第一学期期中学业质量监测模拟试题含解析
- 家庭环境因素在语言障碍康复中的作用分析-洞察及研究
- 2025四川护理职业学院考核招聘博士人才20人考试笔试参考题库附答案解析
- 2025年福建莆田市城厢区教师进修学校附属幼儿园后勤招聘2人考试笔试备考试题及答案解析
- 人教部编版历史七年级上册教案:第8课 《百家争鸣》教学设计
- 数据保密合同协议模板
- 企业转正协议书范本
- 旧铝模板租赁合同范本
- 临时促销租赁协议书
- 收购蚯蚓药材合同范本
- 土地-基准地价修正法测算表
- 体质测试教案
- 15D501建筑物防雷设施安装图集
- (完整版)医疗器械分类目录2002年版
- 厦门劳动合同范本(三篇)
- 多参数监护仪产品技术要求三瑞
- 27中成药陈列注意事项
- 肉鸡加工流程介绍课件
- 感染与抗感染免疫课件
- 物理光学-叶玉堂
- 零星用工单范文
评论
0/150
提交评论