打印
[DSP]

DSP学习(4)总线结构

[复制链接]
438|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Sode|  楼主 | 2019-10-5 20:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DSP学习(4)总线结构





II.总线结构;
C5402的总线结构由8条主要的16位总线组成(4条程序/数据线,4条地址线):
· 程序总线(PB) 从程序存储区传输指令代码和立即操作数。
· 三条数据总线(CB,DB,EB) 连接内部的不同部分,诸如CPU,数据地址发生逻辑单元,程序地址发生逻辑单元,片内外围设备。
· 四条地址线(PAB,CAB,DAB,EAB),传送执行指令所需的地址。
利用两个辅助寄存器算术单元(ARAU0,ARAU1),C5402能够在一个时钟周期内产生两个数据存储器地址。PB 能够将数据操作数存储至程序空间(例如系数表),以提供乘法器和加法器作乘法和累加运算,或者存储至数据空间的目标寄存器,以提供作数据移位指令(例如MVPD和READA)。这种能力,结合读双操作数的特征,支持单周期三操作数指令(如FIRS)的执行。
C5402 DSP同时具有片内的双向总线,以访问片内外围设备,该总线通过CPU界面内的总线交换器与DB和EB连接起来。通过该总线的访问需要二至三个读或写的周期,具体时间取决于外设的结构。
III.中央处理单元(CPU);
40位的算术逻辑单元ALU,C54X以40位的算术逻辑单元和两个40位的累加器(A和B)执行算术指令,ALU同时也能够执行布尔操作。两个40位的累加器,累加器A和B存储ALU和乘法/加法模块的输出。它们可以给ALU提供第二次的输入,累加器A可以作为乘法/加法器的输入。
串行移位器:C5402的串行移位器具有40位的输入,与累加器或者是数据存储区(通过CB或DB)连接在一起,它由40位的输出,连至ALU或数据存储区(通过EB)。串行移位器可以对输入数据进行0到31位的左移和0到16位的右移。
17×17位的乘法器:快速的片内乘法器允许C5402高效执行诸如卷积,相关和滤波操作。另外,乘法器和ALU一起可以在一个指令周期中执行乘法累加(MAC)运算及并行ALU运算。
比较,选择,和存储单元(CSSU):比较,选择,和存储单元(CSSU)执行比较累加器高位和低位的大小的操作,允许状态寄存器ST0中的检测/控制位TC和传输寄存器(TRN)保持它们的传输记录,并且选择累加器中较大的字存入数据存储区。
IV.存储器结构;
其存储器为哈佛型,分为三个独立的寻址空间;程序,数据,I/O口。它总共提供了
192K word的地址范围,并可通过增强外设接口扩充。C5402的芯片上有16K的DARAM和
4K的P/D ROM。所有的存储空间又分为多个8K大小的块,支持分页寻址处理,这使得在对其中一个块操作时,可同时对另一个块进行操作,增加了处理速度。
1. 片内存储器;
片内ROM的结构(地址为:F800h--FFFFh):引导装入程序、256-word的μ律扩展表,256-word的A律扩展表,256-word的sin查找表和中断矢量表。
片内DARAM的结构(地址为:0060h—3FFFh):分为两个8K的块。
以下的CPU和外设存储映射在第0页(0000h–007Fh)。
· CPU存储器存储映射(0000h--000Fh)
该部分包括:中断屏蔽寄存器,中断标量寄存器,状态寄存器ST0和ST1,累加器A和B,暂存器T,辅助寄存器AR0-AR7,堆栈指针SP,块循环的地址和计数器寄存器,处理器模式寄存器PMST等有关CPU操作和状态的寄存器,不需要等待状态法生,就可以读写以上26个寄存器。
· 外设存储器存储映射(0060h--003Fh)
该部分控制外设的工作,通过映射表的寄存器与外设间发送和接收数据,可以设置控制寄存器的bit位能灵活的配置外设,对之进行使能,初始化等操作。
· 程序和数据存储空间(0060h—3FFFh)
由PMST中OVLY来控制片内RAM被设置为程序或数据空间。OVLY=0时,片内RAM为数据空间。OVLY=1时,RAM可设为数据和程序空间,具体的数据和程序空间的分配由.cmd文件指定,可以在.map文件中看出。
软件可编程等待状态发生器:使外部总线周期延伸至7个机器周期,以便与片外的慢速存储器或I/O设备接口。当无任何外部硬件时,等待状态发生器不工作。对于片外存储器的存取,软件可编程等待状态发生器(SWWSR)可指定0—7个等待状态,这既适用于每个程序/数字存储器,也适用于I/O空间。
可编程存储器转换逻辑:当访问过程跨越程序或数据存储器边界时,可编程存储器转换逻辑会自动插入一个周期。当存储过程由程序存储器转向数据存储器时,也会插入一个周期。这一附加周期通过在其他器件开始驱动总线之前允许存储器释放总线,以避免总线竞争。转换的存储体的大小由存储体转换寄存器(BSCR)确定。
2.寻址模式
· 单操作数寻址,单操作数地址修改;
· ARAU和地址产生操作;
两个辅助寄存器运算单元ARAU0和ARAU1对辅助寄存器的 内容(16比特无符号数)进行操作,通过预先改变辅助寄存器的值,可得到所需的地址。
C5402 DSP有七种基本的寻址方式:
1:立即数寻址:
1) 短立即数寻址 长度可以是3、5、8、9比特。
2) 16比特立即数寻址,使用哪种结构取决于使用哪种指令。
2:绝对寻址:
1) dmad(数据存储区寻址),在数据空间定义寄存器标号,就可进行对该标号指向的存储器进行读写操作。
2) pmad(程序存储区寻址) 。
3) PA (端口寻址) 寻址 ,直接读写端口。
4) *(lk)寻址,是无须改变DP 或 SP ,就可以对数据空间的任何地址进行寻址,但不能用于RPT 和 RPTZ指令。

使用特权

评论回复

相关帖子

沙发
mjs0528| | 2019-10-6 17:56 | 只看该作者
感谢分享,感谢楼主!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1049

主题

1522

帖子

8

粉丝