EDN China > 设计实例 > 嵌入式系统 > 正文
?

嵌入式DSP处理器μDSP的体系结构设计

钟冬庆?? 2008年12月16日 ?? 收藏0

  近年来,我国电子信息产业和市场高速增长,DSP芯片产品需求量持续增大,虽然有一些集成电路设计企业从事DSP系统及相关产品的开发与应用,但在DSP芯片的研发上,只在某些大学、科研院所做过预研性课题,还没有形成自己的独立知识产权的技术,因此对DSP处理器的设计有不可估量的作用,而体系结构的设计是处理器设计的灵魂,处理器的设计首先从体系结构的设计开始,DSP处理器的体系结构一直紧紧围绕着DSP算法和各种应用的不断发展而改进和优化,随着各种并行处理技术(VLIW,SIMD,超标量,多处理机等)、可重构技术和低功耗体系结构技术的出现,使各种新的DSP处理器体系结构不断涌现,使得如今的DSP处理器性能不断提高,并使它们在通信、自动控制、雷达、气象、导航、机器人等许多嵌入式实时领域得到了广泛应用[1]。而这些领域都要求处理器是高速、低功耗的。因此我们在对当前DSP体系结构的最新发展的全面考察的基础上,考虑到低功耗、低成本、高性能等要求,设计了一个16位嵌入式定点DSP处理器μDSP的体系结构,如图1。

16位嵌入式定点DSP处理器

  下面就μDSP的总线结构、流水线设计、特殊的指令系统、寻址方式、强大的控制部件和高速的运算单元等几个方面对μDSP的体系结构设计进行了详细的阐述。

  1.改进型哈佛总线结构

  由于DSP处理器主要应用于各类数据运算,数据吞吐率都非常大。特别是进行乘累加运算时,需要2个甚至3个数据同时参与运算,传统的冯?诺曼结构无法满足数据和指令存取的需求,所以,DSP处理器普遍采用哈佛总线结构。虽然哈佛结构使用采取分开的程序存储器和数据存储器,以满足同时存取数据和取指令的需求,但是这种结构由于缺乏指令和数据存储空间的灵活性,使得存储器空间不能得到灵活、充分的使用。

  为进一步提高性能,μDSP采用了改进的哈佛结构[2],在采用分开的程序存储器和数据存储器的同时,允许数据存储在程序存储器中,数据存储器和程序存储器统一编址。程序存储器的大小为32K*24bit(指令为24位宽),数据存储器大小为32K*16bit(数据位宽为16)。

  采用4总线结构,这4条总线分别是程序地址总线(PMA)、程序数据总线(PMD),数据地址总线(DMA)、数据数据总线(DMD)。存储器采用同步SRAM,并采用流水线方式存取数据和指令,完成一次访问需经过两级流水线。为进一步提高存取灵活性,程序总线既可以取指令,又可以存取数据,既可访问程序存储器,又可以访问数据存储器。另外,为了减少存储器的访问周期,增加了一个片内指令Cache,用来存放常用的指令,Cache的大小为64*43bit,可存储64个指令-地址对。指令Cache采用组相联映射方式,并采取最近最少使用(Least Recently Used)替换策略。

  这种改进的哈佛结构不仅提高了指令和数据存取的效率,还提高了存储器的利用率,是一种比较好的结构。

  2.六级流水线设计

  流水线设计是现代处理器设计的核心。流水线的设计要考虑诸多的因素,比如流水线各级的平衡、流水线的吞吐率以及流水线的结构复杂度等方面,我们采用六级流水线[3]设计,每一级的名称及需要完成的如下功能:

  (1)Look-Ahead Address (LA):这一阶段程序控制器从各个地址来源中选出本时钟进入流水线的指令的地址,把指令地址放在PMA总线上,它也用于解决总线冲突问题。因为PMA总线可能同时被LA和AD两个阶段使用,这时总线发生冲突,程序控制器就查找这条指令是否在Cache里。如果命中(Hit),指令就从Cache中提前取出,使得AD可以使用总线;如果不命中(Miss),就让AD优先使用总线,程序控制器在下一个周期得到PMA总线。

  (2)Prefetch Address (PA):这一阶段把指令地址送到存储器,开始取指令。由于使用的是同步两级流水SRAM,这一阶段指令并没有马上被取出,要到下一周期结束时才完成取指过程。

  (3)Fetch Address (FA):这一阶段指令通过PMD总线从存储器取出。因为存储器需要两个周期的时间完成访问,即从地址放在总线上到得到数据需要两个周期,所以上一周期开始的取指令到这个周期结束。

  (4)Address Decode (AD):指令的某些部分被译码,比如DAG操作。如果指令需要存储器数据,这个数据的地址就放在适当的地址总线上。同时将没有解码的部分送到下一级。

  (5)Instruction Decode (ID):这个阶段对指令的其余部分译码。同时也用于等待存储器访问,由于取数据同样要两个周期。

  (6)Execute (PC):这一阶段执行指令,设置各状态标志位,并把结果写到适当的寄存器中。

  3.特殊的指令系统

  处理器的设计首先从指令系统设计开始,不同的指令系统也决定了不同的处理器结构设计,μDSP的指令系统非常丰富,可以完成各种DSP算法所要求的功能,大体来说,需要设计以下4大类指令:程序流控制指令,数据移动指令,运算指令和多功能指令。必须满足以下要求:

  (1)24位指令宽度;

  (2)高密度指令编码;

  (3)提供多功能指令,使得一条指令可完成多个操作;

  (4)支持双字指令;

  (5)提供零开销循环指令;

  (6)与主流DSP(ADI公司的ADSP219x系列)兼容。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

嵌入式? DSP? 运算单元?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈