您好、欢迎来到现金彩票网!
当前位置:大发体育在线 > 指令相关性 >

YHFT_DX高性能DSP指令控制流水线设计与优化

发布时间:2019-07-28 16:49 来源:未知 编辑:admin

  YHFT_DX高性能DSP指令控制流水线 MU1 AL1 BC1 指令译码 指令派发 I7 I6 I5 I4 I3 I2 取指单元寄存器文件 一级指令Cache 控制 寄存器 CACHE256 YHFT-DXCPU 世纪90 年代中期,DSP(Digital Signal Processor)体系 结构在应用需求推动下发生了巨大变革。TI 公司于997 出了第一款超长指令字(VLIW)结构的DSP,随后,AnalogDe- vices、Motorola Lucent等公司纷纷推出各自的 VLIW 结构 DSP。目前,大多数高性能DSP 都采用VLIW结构 [-3] 在VLIW处理器的设计中如何使得存储代码密度最大化 是个很重要的问题。目前主流的研究方向是通过变长指令集和 跨边界技术来提高取指包代码密度 。ADI公司的Blackfin 列处理器支持多长度指令编码,TI公司推出的TMS32C64 列处理器为八发射VLIW结构,通过支持执行包跨取指包边界实现代码密度的提高 YHFT-DX是国防科技大学自主设计的一款高频定点DSP 处理器,采用八流出VLIW体系结构,其CPU 核结构如图 示。指令流水线分为取指、派发和执行三段。YHFT-DX采用类 RISC 的指令集,单指令字长为32 位,除访存指令外,所有指令 均为寄存器-寄存器或寄存器-立即数类型。通过变长执行包技 术、跨取指包边界派发技术的结合来实现取指包代码密度的最 大化,消除了传统VLIW 结构执行包中的空隙,从而获得性能 的最大提升。为了进一步提高流水线性能,采用指令预取技术 实现流水线控制上的优化,降低了流水线阻塞率,缩短了程序 总的执行时间。 指令控制流水线的结构YHFT-DX 指令发射带宽为256 位,即指令存储器每次发 射包含8 站到达指令派发站,被拆分成包含 条指令的执行包,后续流水线以执行包为单位流动。图 YHFT-DX指令流水线的结构图。 基金项目:国家自然科学基金(the National Natural Science Foundation Chinaunder Grant No.6057373);国家教育部新世纪人才支持计划 NewCentury Excellent Talent Foundation from MOE China)。作者简介:郭阳(97-),男,博士,副研究员,CCF 高级会员,研究方向为微处理器设计与验证技术;甄体智(984-),男,硕士研究生,主要研究方 向为微处理器设计;李勇(970-),男,博士,副研究员,研究方向为高性能微处理器设计。 收稿日期:2009-06-26 修回日期:2009-08- YHFT-DX 高性能 DSP 指令控制流水线设计与优化 GUOYang,ZHEN Tizhi,LI Yong 国防科技大学 计算机学院微电子所,长沙 473 School ComputerScience Technology,NationalUniversity DefenseTechnology,Changsha 473,China Email:GUO Yang,ZHEN Ti-zhi,uter Engineering Applications,2010,46(7):69-71.Abstract:YHFTDX developed highperformance fixpoint DSP processor.This paper designs instructioncon- trol pipeline YHFTDX,andpresents nonaligndispatch instructionprefetch mechanism achievehigh pipeline performance VLIWYHFTDX.At sametime,the structure instructionpipeline highperformance. criticalpath instructiondispatch unit 4%,whichmeets 600MHz design objective chip.Key words:Digital Signal Processor (DSP);Very Long Instruction Word(VLIW);pipeline;nonalign dispatch;instruction pre-fetch 要:YHFT-DX是国防科技大学设计的一款高性能定点DSP。论文设计并实现了YHFT-DX 指令控制流水线,提出了在YHFT- DX 超长指令字结构中跨取指包边界派发和指令预取的方法,有效提升了流水线的性能。对指令流水线进行了高频结构优化,将 派发部件的关键路径延时压缩40%,满足了600 MHz 频率的设计目标。 关键词:数字信号处理器;超长指令字;流水线;跨边界派发;指令预取 DOI:0.3778/j.issn.12-8331.21.7.21 文章编号:1028331(201)7-69-3 文献标识码:A 中图分类号:TP363 Computer Engineering Applications计算机工程与应用 69 Computer Engineering Applications计算机工程与应用 2010,46(7) 程序计数器 地址 访问指令 cache 的tag 访问指令 cache 的data 32*8 28*8 crossbar控制 指令crossbar Re_decode 寄存器 文件读 指令decode BS LS2 E-E5 寄存器文件B 寄存器文件A DC DP 并行位编码 预译码 PR PW PS PG (DC) 当前PC 分支偏移量 程序地址 生成 YHFT-DX指令流水线结构 BUF 有效? BUF2 有效? 派发失败 派发失败 BUF 有效? 跨边界? 跨边界? 从BUF 派发 跨边界派发 从BUF2 派发 DP站派发状态图 YHFT-DX 指令流水线 PG站计算程序地址,从分支地址、中断地址及PG 站内部 维护的地址中选择出本次程序地址。 PS 站发送程序地址给一级指令cache(LP),该读请求对 tag 体和数据体同时进行读。 PW接收来自一级指令cache 的数据和tag,并根据tag 判断是否发生读缺失。如果缺失,则作废取到的取指包,并且向L2 发出读缺失请求。 PR 站接收取指包,对L2 返回的缺失取指包和PW 站收到 非缺失取指包进行选择。选出有效的取指包后,还要对取指包进行第一次预译码,得到7 位扩展位发送到下一站。除 预译码之外,PR 站还要对取指包的并行位按照一定的算法进行 编码,编码出4 位的编码域,连同28 位原指令域发送给下一站。 DP 站对28 位指令域进行交叉派发,4 位并行位编码在本 站用于交叉派发控制产生,7 位的预译码结果在本站经过二次 译码后辅助交叉派发的选通。除负责指令域的交叉派发外,还 要进行寄存器文件读译码操作,包括对源操作数、源操作数 2、交叉通路的读译码。 DC 站负责对DP 站交叉派发出的28 位指令域进行第三 次译码,译码出指令类型、是否读条件寄存器、是否读控制寄存 器、源和目的操作数地址、是否SIMD 指令、是否使用立即数等 信息。 E-E5 YHFT-DX的核心运算流水线,YHFT-DX 个数据通路(数据通路A和数据通路B),每条数据通路有4 功能单元(.AL、.BC、.MU和.LS)和 组32 个32 位的通用寄存 跨边界派发3.1 跨边界派发机制的设计与实现 传统VLIW体系结构中执行包必须位于一个取指包内部, 该结构下取指包中存在大量无用的空操作,导致代码密度很 低,执行相同指令情况下Cache 失效率比较高。 采用跨边界派发技术,如果一个执行包的长度超过取指包 剩余指令槽的长度,执行包内多余的指令就可以放到下一个取 指包开始的指令槽中,从而不需要插入任何空操作。 跨边界派发要求指令派发单元从两个取指包中派发出一 条指令。实现时需要在指令派发单元增加一个取指包缓存 buffer,记为BUF2。从取指站寄存器过来的取指包记为BUF。 这样DP 站就有两个分别位于BUF 和BUF2 派发状态,在内部维护一个4位偏移量指针,可以指向两个取 指包中的任意位置,使用偏移量指针可以得到本次派发的起点 位置。如果取指包第一次到达BUF,则从BUF 的最低位开始 派发,完成该次派发之后,取指包将从BUF 中写入BUF2。下 一拍如果没有分支,派发将从BUF2 中开始,如果下一拍分支 来临,则派发从分支指定的位置开始。如果出现跨边界的执行 包,则派发就从BUF2 中跨边界到BUF 中。跨边界后BUF 指包写入了BUF2,下一拍BUF可以继续接收取指单元发送 的取指包,而派发则从BUF2 中开始。 当分支指令到达派发部件时,要求作废 BUF2 包,派发从分支指向的执行包位置开始。如果出现分支目标取指包跨边界的情况,派发站就要发出派发失败的控制信号,暂 停派发及后面的执行部件。派发部件派发策略如图3 所示。 3.2 性能分析 支持跨边界派发能有效提高代码密度,对大量程序的编译 结果显示,支持跨边界派发时代码体积比不支持跨边界派发时 的代码体积减小了%~2%。图4 是一组典型程序在这两种情况下编译出的代码体积。其中,YHFT-D4 是设计的不 支持跨边界派发的DSP,而YHFT-DX 支持跨边界派发。 2010,46(7)延时 功耗 面积 优化前 2.93 ns mW94 328 优化后.75 ns mW73 200 改进率40.00% 39% 224% 优化前后各项性能指针的对比表Vitv32 Add4 Radix4 Fir8 Fir4 W_vec YHFT-D4/Byte 548 548 YHFT-DX/Byte46 472 776 592 564 356 压缩率CR/ 8394863 8472 897 7966 882 两种体系结构下的代码体积比较表优化前/ns 优化后/ns 改进率 57298 暂停时间78 69719 111 总执行时间 67 89 55 基于MPEG4程序片段流水线 指令预取机制的设计 VLIW 结构要求流水线操作必须锁步,以保证系统的同步 运行 。在指令执行过程中,一级指令cache和一级数据cache 中任意一个出现缺失都要求整个流水线停顿,直到cache 失效 解除,流水线才再次启动。该结构在cache 失效频繁的情况下 会导致流水线效率很低。 针对上述情况,人们提出了指令预取技术,通过在取指单 元增加预取缓冲队列实现指令预取。这种结构使得取指和派发 执行单元可以分离控制,其实现代价是预取缓冲队列需要消耗 大量硬件资源和功耗。YHFT-DX 缓冲队列深度每增加1级,就需要增加256 个寄存器,显著增 加了指控部分的面积和功耗。 在YHFT-DX 设计中,综合硬件资源和性能的考虑,提出 了改进的指令预取技术。为实现跨边界,派发站已经增加了一 个取指包缓存BUF,这样指令派发和取指站之间就相当于有一 个深度为2 的缓冲队列。由于跨边界和分支等情况的存在,派 发可能存在于这个队列中的任意位置。指令预取技术就是利用 这个2 度深的缓冲队列实现指令预取。对于跨边界及分支等特 殊派发造成的例外需要专门进行处理。 当取指发生指令cache 失效时,会由于指令cache 失效暂 停。而派发部分根据BUF1 和BUF2 中是否存在未派发的执行 包来决定是否暂停。在L1P 失效期间,派发和执行单元仍然可 能正常执行。指令cache 失效对流水线的影响就会被部分或全 部隐藏。派发站的取指包中包含的执行包个数越多,则指令 cache 失效被隐藏的也越多。如果派发站派发完全部的取指包 指令,而cache 缺失取指包仍未返回,则由派发站发出停派发 和执行站的暂停信号。 当数据cache 缺失时,指令派发和执行部分被暂停。取指 站根据派发站的状态来决定是否要暂停。派发站的派发可能处 于以下几种状态: (1)派发起点位于BUF2 内,如果此次派发是跨边界的,则 派发站不能接收新取指包,取指要暂停。 (2)派发起点位于BUF2 内,如果此次派发不跨边界,则是 否暂停取指要看BUF1 中取指包是否有效。BUF1 效则暂停取指,无效则可以接收新取指包。(3)派发起点位于BUF1,比如分支来临时,由于BUF2 于空状态可以将BUF1中取指包写入BUF2。使得BUF1 可以 继续接收下一个取指包,故此时取指不暂停。 4.2 性能分析 YHFT-DX 实现指令预取后,对视频编码程序MPEG4 所示,同样一段程序实际执行时间缩短了 719%。表中 暂停时间是指一级数据cache 暂停总时间,P 暂停时间为一级程序cache 暂停总时间。 高频结构优化YHFT-DX 的设计目标是实现6 MHz 的工作频率。优化 前,指控部分在13 工艺典型情况下的关键路径长度为293 ns,离设计目标差距很大,需要进行体系结构上的调整来 优化关键路径。经过分析发现,指令派发单元计算出本拍要派 发的执行包消耗大量的时间,原因是派发部件需要计算出本次 派发位置,然后根据指令标识位计算本次派发执行包的长度, 上述操作消耗掉近1 ns 时间。结构优化的重点就是压缩计算 派发执行包的时间。 优化派发部件的基本思想是尽可能提前对指令进行预处 理,这就要求取指部分必须提前一拍将取指包取到。在取指部 分预留一整站时间对取指包进行预处理,预先译码出要派发执 行包的信息。将解码后的信息压入指令域中,即实现指令域扩 展。指令派发部分根据扩展的指令域进行简单逻辑判断即可计 算出本拍要派发的执行包。改用该方案,指令派发部件的关键 路径延时从293 ns 下降到175 ns。 派发部件从BUF1 和BUF2 共16 条指令中选择出执行包 进行交叉派发,导致指令派发部件的连接非常复杂。交叉派发 单元的连线 多根,对后端设计是巨大的挑战。由于执行包最大长度为8,所以BUF1 和BUF2 对应同一行的指令 不可能同时处于要派发状态,根据这个特点,可以将BUF1 BUF2按照行对齐,由派发控制信号控制通过二选一逻辑从 BUF1 和BUF2 中取出一个指令窗口进行交叉派发,使得交叉 派发部分的连线 根,不仅减小了派发部件的面积,而且减轻了后端设计的压力。 采用高频结构优化前后的派发站的面积、功耗、延时的比 较如表3 所示。所有的结果均在13 工艺典型情况下使用synopsys 的design compiler 工具综合得到。 从表中可以看出,该文的优化结构在延时、功耗和面积方 勇:YHFT-DX高性能DSP 指令控制流水线)IDRP 邻接,但BIS# 和BIS#2 不邻接。RD内建立了ES-IS 连接。 数据传输: 使用CLNP ECHO 功能,ES# 向ES#2 发送ERQ-NPDU。 确认ERQ-NPDU 通过BIS、BIS#3 和BIS#2 传输。确认相应 ERPNPDU通过 BIS#2、BIS#3 ES#传输。 使用CLNP ECHO 功能,ES#2 向ES# 发送ERQNPDU。 确认ERQNPDU 通过BIS#2、BIS#3 和BIS# 传输。确认相应 ERPNPDU通过 BIS# BIS#3 ES#2传输。 第三步:进行路由测试。 初始条件:BIS# 和BIS#3,BIS#2 和BIS#3 已经建立起了 IDRP 邻接,但BIS# 和BIS#2 不邻接。每个RD 内都建立了 ESIS 连接。 数据传输: ()使用CLNP ECHO 功能,ES# 向RD#2 内一个不存在 的NSAP(Network Service Access Point)发送 一个ERQ-NPDU。 确认通过BIS3,BIS2 向ES1 发送了一个ER-NPDU。 (2)使用CLNP ECHO 功能,ES2 向RD1 内一个不存在 的NSAP 发送一个ERQ-NPDU。确认通过BIS3 和BIS1 ES2发送了一个ER-NPDU。 3.3 测试结果及分析 测试所使用的试验性路由器实现了IP SNDCF 模型,并实 现了使用IP 子网连接不同ATN 路由域边界中间系统(BIS)进 行通信的评估实验,建立了IDRP 通信。测试结果表明,虽然在 ENRI 路由器中还存在一些微小的不足,但IP SNDCF 的技术 规定及应用不存在任何问题,测试过程没有出现不兼容或反常 行为。在ATN 中,使用IPv4 或IPv6 网作为ATN 传输子网也不 存在问题。 结语该文阐述的 IP SNDCF 功能在 ATN 试验网中得到了应 用,IP SNDCF 的有效性以及在IP 子网上进行ATN 通信的可 行性也通过试验网得到了验证,以此为基础解决了IP 网络作 为ATN 子网的数据传输问题。但是对于复杂网络,在多种应用 的QoS 需求、现实操作(包括效率和协议花费)、子网安全和管 理等方面仍存在一些问题。目前,ICAO 通过数据加密和VPS 通道鉴权提供数据链路安全防护,但仍无法解决使用IP 子网 时ATN 端系统的安全防护问题。安全问题是使用IP 网络在航 空通信中的关键问题,下一步工作重点是研究ATN 中IP 子网 的安全问题。 参考文献: WhymanT.Proposed SARPs IPSNDCF, Issue 2..DIS/COM/ ProATN_Sup/DCI/AW_6[R].24. TechnicalProvisions AeronauticalTelecom- munication Network(ATN)(Doc975)4th edition[S].256. ISO/IEC8327:Information technologyopen systems interconnection connectionoriented Session protocol[S].996. ISO/IEC8823:Information technology open systems interconnec- tionconnectionoriented presentation protocol[S].994. ISO/IEC828:Information technologyData communicationsX.25 Packet Layer Protocol DataTerminal Equipment[S].2. ISO/IEC8822:Information technology telecommunications informationexchange between systemslocal metropolitanarea networksspecific requirementsPart 2:Logical link control[S].998. ISO/IECTR9577:Information technology telecommunica tions informationexchange between systemsprotocol identification networklayer[S].99. FrenchIP SNDCF Validation Initiative,ACP WGN4 WP[R].24. HerailI.ProATN TARTTS IP SNDCF Validation Report,Issue ISO/IEC882:Information technologytelecommunications formationexchange between systemslocal metropolitanarea networks[S].25. 面均获得显著的效果,同时结构规整,有利于物理设计的开展。 将部分原属于派发的逻辑前移到取指站,使得取指的延时、面 积和功耗均有所增大,但由于取指部分增加后的最长路径仅为 ns,取指部分直接采用综合的方式就可以满足设计要求,系统各站的延时得到了有效平衡。 结束语通过跨取指包边界派发和流水线多级控制来提高流水线 性能。模拟结果显示,跨边界派发使得YHFTDX 整个代码体积 压缩%~2,而指令预取可以获得5~左右的性能提高。 针对高频VLIW处理器提出了体系结构上的改进方案,通过尽 可能早地对取指包进行预处理,减轻流水线关键部件DP 压力。综合结果显示,通过结构优化使得DP站关键路径长度下 降了4。未来将进一步通过变长指令集技术提升代码密度。 参考文献: 章立生,韩承德.VLIWDSP 体系结构及其性能优化的软件方法[J]. 计算机工程与应用,2,37(5):2528. 沈戈,高德远,樊晓桠.数字信号处理器(DSP)结构设计及发展趋势[J].计算机工程与应用,23,39(7):46. 陈书明,李振涛,万江华,等.“银河飞腾”高性能数字信号处理器研 究进展[J].计算机研究与发展,26,43(6):993. AnjumS,CHEN Jie,HAN Liang,et al.A scalable lowpower VLIW DSP core embeddedsystem design[J].Journal HarbinInstitute XieYuan,Wolf W,e compression embeddedVLIW processors using variabletofixed coding[J].IEEE Transactions VeryLarge Integration(VLSI)System,26,4(5):525536. AgarwalaS,Anderson T,Hill A,et al.A 6MHz VLIW DSP[J]. IEEE SolidState Circuits,22,37(11):15321544. 万江华,陈书明.一种提高同时多线程VLIW处理器中取值单元吞 吐率的方法[J].计算机工程与科学,27,29(6):9711. (上接71 飞:IP环境下ATN 网间互联模型的设计与实现

http://cajonbrush.com/zhilingxiangguanxing/302.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有