一种消除内存访问等待的DSP内存控制设计_第1页
一种消除内存访问等待的DSP内存控制设计_第2页
一种消除内存访问等待的DSP内存控制设计_第3页
一种消除内存访问等待的DSP内存控制设计_第4页
一种消除内存访问等待的DSP内存控制设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、概述1 数字信号处理器()主要运用在信号传送、音频视DSP 频压缩解码、频谱分析等领域,这些领域无一例外地需要处理器进行大量的数据交换,所以确保在运行过程中获得DSP 高数据吞吐率是设计的一个基本前提。DSP 当今各个应用领域对运算性能不断提出新的要求,DSP 已向着高主频深度流水线的方向发展1。表为目前主流1DSP 的流水线深度2,3。但是,随着流水线深度的不断增加,DSP 不可避免地产生了数据相关问题。表国际上主流流水线深度1 DSPDSP 型号主频流水线深度TI C54100MHz 6TI C55200MHz 8TI C6200600MHz 11ADI BlackFin300MHz8所谓

2、流水线数据相关问题指的是处理器低层次流水线上所需数据仍处在高层次流水线上。当这种情况发生时,处理器一般将自动进入等待周期,等到深层流水线完成运算,数据相关消除后才继续工作。所以如果过多地进入等待周DSP 期,从实际工作效能评价,其实质主频已经下降,如若不能很好地解决数据相关等待的问题,即使拥有一个相对较DSP 高的主频,其处理能力的优势仍得不到相应的体现。本文从解决数据相关性问题出发,提出了一种将读写操作分层并采用硬件写回缓冲的方法,在硬件层次上实现了一种数据相关消除的方案。此方案对于软件开发过程完全DSP 透明,是一种无需程序员干预的纯硬件解决方案,并最终 在汉芯的设计中成功得到应用。DSP

3、 数据相关的具体分析2 的数据相关问题主要体现在访存等待上。所谓访存DSP 等待指的是当处理器需要访存时,内存控制单元由于需DSP 要总线冲突或者由于所需数据仍然处在运算单元中无法得到所引起的。在传统的中,由于运算单元仅占用了单层流DSP 水线,所以访存单元与运算单元处在相同的流水线层,因而整个问题并不突出。但是由于近一两年来,主频已开始DSP 突破,并向进军,运算单元若处在单层流水线300MHz 1GHz 已难以跟上主频的发展,所以运算单元的流水线分层已不可避免,图是本次所讨论的汉芯的运算单元流水线结构1DSP 示意图。 P7P9P11 P13图汉芯运算单元流水线结构1 DSP从图中可以看出

4、,整个运算单元的完整操作会在层流14水中完成。首先在层整个流水线会进行指令解码操作,P7然后层将进行乘法操作,层进行加减、移位和逻辑操P9P11作,最后在层实现标志位和写回操作。由于运算单元在P13层开始数据操作,访存单元必须在层即为运算单元提P7P7供运算数据,而访存单元执行写存操作时必须等到层方P13一种消除内存访问等待的内存控制设计DSP 徐如淏,王兵,李宇飞(上海交通大学微电子学院,上海)200030摘要: 随着数字信号处理器主频的不断提高,其中的运算单元已由单层流水线结构向多层流水线结构变迁。但随之带来了访问内存时出现等待周期的问题。文章提出了读写分层及硬件写回缓冲的设计,消除了访存

5、单元等待周期,使访存单元获得的工作效率。100%关键词:数字信号处理器;内存控制单元;写回缓冲;读写操作DSP Memory Control Design for Eliminating Memory Access WaitXU Ruhao, WANG Bing , LI Yufei(School of Microelectronics, Shanghai Jiaotong University, Shanghai 200030【Abstract 】During the increment of the main frequency of digital signal processor, t

6、he arithmetic module is divided into multi-level. But it causes the problem of memory access wait cycle. The paper proposes a design which arranges reading and writing access in different pipeline level and introduces a write-back buffer to eliminate the memory access wait cycle, and then the memory

7、 access unit can achieve 100% work efficiency.【Key words】DSP; Memory control unit; Write-back buffer; Reading and writing access第31卷第5期Vol.31 5计算机工程Computer Engineering2005年3月·基金项目论文·中图分类号:TP302文章编号:10003428(200505 003803文献标识码:A38March 2005可取得运算结果。以下程序是一段典型的数据依赖程序。1mac r2,r1,r6u:(ar6+n6,r0

8、v:(ar1+,r32macr r0,r3,r6r7,u:(ar5+v:(ar0,r73subl r6,r7u:(ar0,r6r6,v:(ar44mac r0,r1,r6u:(ar0+,r7r7,v:(ar55macr r2,r3,r6u:(ar1,r1v:(ar6,r26Subl r6,r7r6,u:(ar4+v:(ar0,r6当运行指令时,须将寄存器的数据写入内存,DSP 3r6但是恰好是上一条乘加指令的运算结果,所以此时访存单r6元无法取得正确的运算结果,只能在流水线上等待到指令2完全流出流水线。同样,指令与指令之间,指令与指令3456之间都存在数据依赖关系,如果以平均一个等待周期进行计

9、算,以上这段条指令构成的程序运行周期数为:6(指令周期)(等待周期)个周期6+3=9整个流水线性能将下降,如果整块工作在33%DSP 的主频下,其实质上仅相当于一块不产生等待的300MHz 以主频进行工作。DSP 200MHz 从上述分析中可以得出,如果不解决访存等待问题,高主频的性能将完全无法发挥。以下将讨论采用读写操作DSP 流水层分隔及写回缓冲的方法解决访存等待的问题。访存等待的解决3 读写操作流水层分隔3.1 从流水线等待的分析中可以发现,产生流水线等待的原因是由于运算单元要求的运算源操作数的时间早于运算单元给出运算结果到个周期。正是由于这到个周期的间1212 隙,使得后序指令必须在流

10、水线上等待。针对这一情况,设计时将访存单元的读写操作流水层分开,将读取操作的流水层提前于写存流水层一个周期。图是汉芯访存单元的2DSP 流水线示意图。 P7P9P11 P5图汉芯访存单元流水线结构2 DSP 表流水线访存工作情况2 P13I1I2I3从图可看出,内存读写操作的流水层已经被拆开,由2于为时钟同步触发单元结构,因此在层发出相应寻SRAM P7址地址,在层即可得到所需要的数据,而写存层次为了P9保持和运算单元的同步也相应移动到了层,这样就解决P11了第节程序中所产生的访存等待问题。表为经过分层调整22后,流水线在实际工作时的运行情况。当引入读写分层的方法后,会产生新的写后读数据相关问

11、题,以下将采用写回缓冲的方法加以进一步解决。写后读冲突与写回缓冲3.2 当采用读写操作流水线层次分开后,运算源数据和运算结果的写回等待问题得到了很好的解决,但是也产生了总线争抢,如下列程序所示。I1MOVE R3,U :(AR6)I2MOVE U:(AR7),R4从表可以看出,由于流水线的分层,当运行到时间3C3片时,的写操作在流水线层,的读操作在层。对 I1P11I2P9于而言,一个工作周期只能进行一次操作,两者不可SRAM 同时进行,所以如果不加以控制,整个流水线在此处将再产生等待等待前序指令写操作运行完成。结合第节的程序( 2分析,指令与指令之间、指令与指令之间都存在相应的2361问题。

12、表访存写后读总冲突流水线工作情况3 P7I1I2P9I1I2STALL I2P11I1P13I1从数据等待的原因分析,流水线发生等待的原因主要是由于读操作是在写操作完成之后再进行操作,这样后序指令必须在流水线上多停留一个周期。但是从数据流的使用上来看,写操作相对于读操作而言并不需要“即刻”操作,所谓“即刻操作”指的是某条指令如果不在第一时间执行,则后序的指令将无法运行,这一点相对于读操作是成立的,原因是后序指令的源操作都是来自读操作的运行结果,而写操作完全可以在访存空闲时操作。根据这一原则,在汉芯DSP 访存单元的设计中,引入“写回缓冲”这一硬件结构。DSP “写回缓冲”指的是当写后读冲突时,

13、写操作的优先级将自动低于读操作,读操作将先拥有总线的控制权,而将写操作的内容先临时存入一段特别设置的缓冲中,当内存总线空闲时,再将写操作送入内存总线。图是写回缓冲的结构3和工作方式示意图。图写回缓冲工作示意图3 结合访存写后读冲突程序段分析可知,当指令运行在I1流水层上,发现层有读操作时,自动进入写回缓冲,P11P9此时层读操作将不受任何干扰。当下一周期层为空,P9P9写回缓冲自动执行写操作。表是实现写回缓冲后的流水线439工作情况。表访存写后读冲突流水线工作情况4 C1C2C3C4 P7I1I2P9I1I2(读)P11I1(写,进入写回缓冲)I2(I1写内存P13可见当读写操作流水线层分开与

14、写回缓冲同时实现后,访存单元可达到工作效率,所有的访存等待都在硬件100%层面上得到解决,从软件的角度上看,访存单元将不产生任何等待。最后讨论一下写回缓冲的深度。可以发现写回缓冲仅在写后读这一情况下出现,当出现写后读操作时,写回缓冲内容深度为,一旦只要有一条写指令出现在后序指令流中并1运行到层时,内存总线将产生一个空隙,写回缓冲可以P9使用这个空隙完成写操作,所以整个写回缓冲的长深度不会大于,完全可以用同步寄存器来模拟实现,而不会引入新1的内存模块而带来后端实现困难。至此,整体设计问题都得到了很好的解决。结论4 综合以上讨论可以发现,如果将访存单元在设计时配合运算单元流水线进行调整,将读写操作

15、层次分开,并且在分层后引入写回缓冲后,访存单元可以为整个提供DSP 100%效率的访存控制能力,不会因为访存单元而产生任何的DSP 等待,从整体上而言既可以达到高主频,也可以实现高DSP 效能。在设计汉芯时,成功地采用了以上设计,使汉芯DSP 在高主频工作时,每个周期都可以访问内存。并且由于DSP 无需将内存奇偶分开,故将内部嵌入式内存进行了合DSP并,使得整个的静态功耗得到了一定程度的下降(根据DSP 软件估计约的得到了控10%Leakage Power Consumption制)。图是汉芯内存控制单元版图。4DSP图版图(高亮部分为内存控制单元)4 DSP在经过以上一系列的改进后,汉芯的运

16、算能力得到DSP 了提高,见表。5表运算能力提升对照表5 DSP算术名称原周期数现周期数提升FFT 9n 7n 22%FIR8n 7n 12.5%Matrix Multiply14n12n14%参考文献计算机体系结构量化研究方法北1 Patterson D A , Hennessy J L. . 京机械工业出版社: , 20022 Rabaey J M. Digital Integrated Circuits. Prentice Hall, 19963 Ohkubo K. A4.4 ns CMOS 54X54-b Multiplier Using Precharged Pass Transis

17、tor Logic. In ISSCC Dig. Tech. Papers, 1996-02:364-3654 Synopsys. Guide to DesignWare IP Library Documentation. Version U - 2003.03,20035 Synopsys. PrimeTime User Guide. Version U-2003.03,2003(上接第页)30房屋宗地房屋宗地主宗地if !(within(, TRUE AND (. .检测到不一致性将房屋对象存储在错误报告中。OID then , 对于系统中违反一致性要求的空间对象,系统要针对错误类型采取相

18、应的策略进行调整。一般情况下系统无法自动修复这些不一致的错误,因此这些错误需要人工的干预才能得到修正1,2,本文在此不再赘述。总结4 本文对空间数据的拓扑一致性问题进行了讨论,分析了空间拓扑语义规则,提出了一种基于规则的拓扑一致性处理模型,该模型通过定义拓扑规则和约束表达式情况进行拓扑一致性维护;作为进一步研究,采用版本化技术将这种处理策略扩展到时空系统当中,以处理和维护时空系统中的时空拓扑一致性。这种拓扑关系处理方法在如下几个方面具有明显的优势:用户可自行定义哪些对象将受拓扑关系规则的约束;拓扑规则可以随时修改和扩充;所定义的拓扑关系及规则可以在工业标准的中进行管理。这种全新的基于规DBMS 则的拓扑关系管理机制,有利于用户在局部检查拓扑关系以提高查询处理效率。基于本文提出的规则模型,作者开发实现了一致性维护的原型系统并在武汉市消防地理信息系统, 使用中取得较好的效果,限于篇幅,本文不作介绍。参考文献1 Servigne S, Ubeda T, Puricelli A, et al. A Methodology for Spatial Consistency Improvement of Geographic Databases. GeoInformatica, 2000, 4(1: 7-342 Gadish D

温馨提示

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

评论

0/150

提交评论