- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章:c5000 dsp硬件结构
1. ‘C54x的算术逻辑单元(ALU): ‘C54x/’LC54x使用40-bit的算术逻辑单元(ALU)和两个40-bit的累加器(ACCA和ACCB)来完成二进制补码的算术运算。同时ALU也能完成布尔运算。ALU可使用以下输入: 16-bit的立即即数 从数据存储器读出的 16-bit字 暂存器T中的16-bit值 从数据存储器读出的两个16-bit字 从数据存储器读出的一个32-bit字 从其中一个累加器输出的40-bit值 ALU能起两个16-bit ALUs的作用,且在状态寄存器ST1中的C16位置1时,可同时完成两个16-bit运算 2. 累加器: 累加器ACCA和ACCB存放从ALU或乘法器/加法器单元输出的数据,累加器也能输出到ALU或乘法器/加法器中。 执行MIN和MAX指令或并行指令LD||MAC时,一个累加器加载数据,另一个完成运算 保护位作为计算时的头区(Head margin),用作数据位余量,以防止自相关等迭代运算时溢出 A和B不同之处:A的高16位可作为乘/加单元的一个输入 3. 桶形移位器 40位的桶形移位器是对一些操作进行定标和标准化 ‘C54x的桶形移位器有一个与累加器或数据存储器(CB,DB)相连接的40-bit输入,和一个与ALU或数据存储器(EB)相连接的40-bit输出。 桶形移位器能把输入的数据进行0到31bits的左移和0到16bits的右移。 所移的位数由ST1中的移位数域(ASM)或被指定作为移位数寄存器的暂存器(TREG)决定。 4. 辅助寄存器算术单元 ‘C54x通过使用两个辅助寄存器算术单元(ARAU0和ARAU1),每周期能产生两个数据存储器地址。 PB总线能把存储在程序空间的数据操作数(如系数表)传送到乘法器和加法器中进行乘/累加运算,或者在数据移动指令(MVPD和READA)中传送到数据空间。这种能力再加上双操作数读的特性,支持单周期3操作数指令的执行,如FIRS指令。 ‘C54x还有一组寻址片内外设的片内双向总线,通过CPU接口中的总线交换器与DB和EB 相连接。对这组总线的访问,需要两个或更多的机器周期来进行读和写,具体所需周期数由片内外设的结构决定。 5. 乘法器/加法器单元 乘法器/加法器与一个40-bit的累加器在一个单指令周期里完成17x17-bit的二进制补码运算。乘法器/加法器单元由以下部分组成:乘法器,加法器,带符号/无符号输入控制,小数控制,零检测器,舍入器(二进制补码),溢出/饱和逻辑和暂存器(TREG)。 乘法器有两个输入:一个是从TREG,数据存储器操作数,或一个累加器中选择;另一个则从程序存储器,数据存储器,一个累加器或立即数中选择。 另外,乘法器和ALU在一个指令周期里共同执行乘/累加(MAC)运算且并行ALU运算。这个功能可用来确定欧几里德距离,以及完成复杂的DSP算法所需要的LMS滤波 比较、选择和存储单元(CSSU)完成累加器的高位字和低位字之间的最大值比较,即选择累加器中较大的字并存储在数据存储器中,不改变状态寄存器ST0中的测试/控制位和传送寄存器(TRN)的值。同时,CSSU利用优化的片内硬件促进Viterbi型蝶形运算。 8.CPU状态和控制寄存器 ‘C54x有三个状态和控制寄存器,它们分别为:状态寄存器ST0,状态寄存器ST1和处理器方式状态寄存器PMST。ST0和ST1包括了各种条件和方式的状态,PMST包括了存储器配置状态和控制信息。 ST0 ST1 PMST 2.3 ‘C54x的总线结构 C54X主要围绕8组16-bit总线而建立的: 程序总线(PB)传送从程序存储器来的指令代码和立即数。 三组数据总线(CB,DB和EB)连接各种元器件,如CPU、数据地址产生逻辑、程序地址产生逻辑,片内外设和数据存储器。CB和DB总线传送从数据存储器读出的操作数。EB总线传送写入到存储器中的数据。 四组数据总线(PAB,CAB,DAB和EAB)传送执行指令所需要的地址。 2.3 ‘C54x的总线结构 C54X的总线结构为指令并行执行提供硬件支持。 利用ARAUO和ARAU1(辅助寄存器算术单元)在单周期内最多产生两个数据存储器地址,同时读取两个操作数。 PB能把存储在程序空间的数据操作数,传送到乘/加单元进行乘/加操作,或通过数据传送指令(MVPD和READA)传送到数据空间的目的地。使得C54X器件可支持三操作数指令的执行(FIR) C54X还有一条访问片内外设的总线。 该总线通过CPU接口的总线变换器连接到DB和EB,使用该总线读和写需要2个和多个周期。 2.4 存储器空间: ‘C54x存储器由三个独立的可选择空间组成:程序,数据和
文档评论(0)