DSP原理及应用PPT教程-第三章 存储与寻址方式

上传人:jiups****uk12 文档编号:55473897 上传时间:2018-09-30 格式:PPT 页数:49 大小:1.57MB
返回 下载 相关 举报
DSP原理及应用PPT教程-第三章 存储与寻址方式_第1页
第1页 / 共49页
DSP原理及应用PPT教程-第三章 存储与寻址方式_第2页
第2页 / 共49页
DSP原理及应用PPT教程-第三章 存储与寻址方式_第3页
第3页 / 共49页
DSP原理及应用PPT教程-第三章 存储与寻址方式_第4页
第4页 / 共49页
DSP原理及应用PPT教程-第三章 存储与寻址方式_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《DSP原理及应用PPT教程-第三章 存储与寻址方式》由会员分享,可在线阅读,更多相关《DSP原理及应用PPT教程-第三章 存储与寻址方式(49页珍藏版)》请在金锄头文库上搜索。

1、第三章 存储结构与寻址方式,本章内容 1、存储结构(TMS320C55x DSP存储结构)程序空间数据空间I/O空间 2、寻址方式对数据存储空间、存储映射寄存器、寄存器位、I/O空间的寻址绝对寻址模式直接寻址模式间接寻址模式,第三章 存储结构与寻址方式,3.1 存储结构C55x DSP 有两个独立的存储空间:统一的数据/程序空间;I/O空间。程序空间:用于存取执行的指令代码和执行指令时用到的表。数据空间:用于存储指令需要的数据、映射寄存器(MMR);I/O空间:提供对外设寄存器的访问。数据空间地址用于访问存储器和内存映射寄存器,利用程序空间地址从存储器中读取指令代码,而I/O空间用于CPU与外

2、设之间双向通信。,CPU通过6条24位的地址总线对上述两部分存储空间访问。,第三章 存储结构与寻址方式,一、存储映射24位地址可以寻址16MB存储空间;C55x的寻址空间为16MBCPU从程序空间读取代码时,使用以字节为基准的24位地址;当访问数据空间时,使用以16比特的字为基准的23位地址。地址总线24位,当访问数据空间时将23位地址左移一位(LSB补0)构成24位地址。数据空间被分成128个主数据页(0-127),每个数据页64K的字地址,指令通过7比特的主数据页指针和16比特的偏移量,可以访问任何一个主数据页中的任何一个地址。,第三章 存储结构与寻址方式,第0主数据页中 数据空间的前96

3、个地址(000000h00005Fh)为存储映射寄存器MMR。 相对应的程序空间的前192个地址(000000h0000BFh) 建议不要用来存放程序代码。,存储器映射图,第三章 存储结构与寻址方式,存储空间又分为:内部存储空间和外部存储空间。 1、内部存储空间(352KB):DARAM:8块 8KB,共64KBSARAM:32块 8KB,共256KBROM:1块32kB 2、外部存储空间(352KB16MB)EMIF根据片选信号(CE0CE3)来确定要访问的外部存储空间。,第三章 存储结构与寻址方式,二、程序空间 只有当CPU读取指令时,程序空间才被访问。CPU采用字节寻址来读取变长的指令,

4、指令的读取要和32位的偶地址对齐(地址的低两位为零)。 1、C55X采用字节寻址来读取程序代码字节寻址:地址按照字节进行分配,且地址为24位。 下图是32比特宽的存储器中的一行存储内容与地址间的关系。,第三章 存储结构与寻址方式,2、程序空间的指令结构C55X DSP支持变长指令,其长度可以是8、16、24、 32、 40、48比特。例如:1 byte:NOP 2 byte:MOV T0,*AR03 byte:MOV T0,high_byte(*AR0)4 byte:MOV low(AC000 0102h,高8位添0。,第三章 存储结构与寻址方式,3.2 寻址方式 寻址方式:寻找地址的方法,即

5、如何指定指令和操作数所在存储单元的地址。 C55x支持三种类型的寻址方式 绝对寻址模式:在指令中利用常数值直接确定存取位置。MOV *(#00 0001h),AC0 直接寻址模式:通过地址偏移量进行位置寻址。如 SP=0000h,MOV *SP(5),T0 间接寻址模式:通过辅助寄存器确定存取位置如 AR0=0,BSET *AR2, AC0通过上面方式可以实现对数据存储空间、存储映射寄存器、寄存器位和I/O空间的寻址。,第三章 存储结构与寻址方式,一、绝对地址寻址:K16,K23和I/O绝对寻址,1、K16绝对寻址: 操作数:*abs16(#k16) 将扩展数据页指针XDP的高位部分DPH中的

6、7比特值与16比特无符号常数(k16)级联形成23位地址。然后用该地址存取数据空间,可以用来访问一个存储单元或存储映射寄存器,第三章 存储结构与寻址方式,例1:MOV *abs16(#2003h),T1说明:假设PDH=1,CPU将数据空间地址为01 2003h的值装入T1中。 例2:MOV *abs16(#AR2),T0说明:CPU将AR2(000012h)中的值装入T0中 注意:当使用这种寻址模式时由于常数编码将指令扩展了2个字节,故该模式不能与其它指令并行执行。,第三章 存储结构与寻址方式,2、K23绝对寻址 操作数:*(#k23) 该模式将23位无符号常数(k23)作为完整的数据寻址地

7、址,可以用来访问一个存储单元或存储映射寄存器。当使用这种寻址模式时不能与其它指令并行执行。,使用这种寻址方法的指令将常数编码为3字节(去掉最高位),第三章 存储结构与寻址方式,例1:MOV *(#002003h),AC0 ;k23=002003h 例2:利用存储映射寄存器访问的K23的绝对寻址MOV *(#AC0L),T2 ;CPU将AC0中的低16位装入T2中。MOV dbl(*(#AC0L),pair(T0);CPU将AC0中的低16位装入T0中,将AC0中的高16位装 入T1中。 绝对寻址模式的缺点是它要更多的空间来表示其23bit地址。,第三章 存储结构与寻址方式,二、直接寻址数据页指

8、针DP直接寻址;堆栈指针SP直接寻址;对寄存器位的直接寻址;外设数据页指针PDP直接寻址; 注意:DP和SP直接寻址与状态寄存器ST1_55中的CPL位有关。,CPL=0时,DP直接寻址,CPL=1时,SP直接寻址,寄存器位寻址和PDP直接寻址与CPL位无关,第三章 存储结构与寻址方式,1、DP直接寻址 23位地址的高7位: 由XDP的高7bit (DPH)确定,确定了主数据页;23位地址的低16位:16比特的DP和7比特偏移量Doffset的和确定。 DP的值确定在主数据页内长度为128个字的局部数据页开始地址,该开始地址可以是选定主数据页内的任何地址。 7位偏移量:128个字的范围。,特点

9、:不用改变DP或SP的值,就可以随便访问128个单元。,第三章 存储结构与寻址方式,$、直接寻址中偏移值(Doffset)的计算方法 (1)对于数据空间的存取时,偏移量的计算方法:Doffset = (Daddr .dp_addr) & 7FhDaddr:存取数据空间16bit地址;.dp_addr:汇编指示符“.dp” 为DP寄存器赋的值;&:逐位与操作; 例: AMOV #03FFF0h, XDP;数据位于第03主数据页.dp #FFF0h ;编译时,DP的值为FFF0hMOV FFF4h, T2 ;DaddrFFF4h 汇编器计算出偏移量:Doffset = (Daddr - .dp)

10、& 7Fh = 04h 执行时产生23位地址: DPH:(DP + Doffset)=03:(FFF0h+0004h)= 03FFF4h,第三章 存储结构与寻址方式,(2)对存储映射寄存器空间的存取时,偏移量的计算方法:Doffset = Daddr & 7Fh 例:MOV mmap(AR0), T2;把 AR0的值装入T2寄存器中。mmap() 表示是对 MMR存储区的访问,所以此时DPHDP=0。AR0的地址为:Daddr000010h (表33)汇编器计算出偏移量: Doffset = Daddr& 7Fh = 0010h & 7Fh = 10h执行时产生23位地址: DPH:(DP +

11、 Doffset) = 00:(0000h + 0010h) = 000010h,第三章 存储结构与寻址方式,2、SP直接寻址: 23比特地址 SPH提供高7比特 16比特由SP和7比特的偏移值决定。偏移值范围是0127。这种寻址方式用于访问数据堆栈。 例:假设SPH=0、SP=FF00h,用SP直接寻址MOV *SP(5), T2 ;SPH:(SP + offset) = 00 FF05hMOV dbl(*SP(5), pair(T2) ;SPH:(SP + offset) = 00 FF05h的值装入T2SPH:(SP + offset - 1) = 00 FF04h的值装入T3,第三章 存储结构与寻址方式,3寄存器位直接寻址后面和其间接寻址一起介绍。4. PDP直接寻址后面和I/O间接寻址一起介绍。,第三章 存储结构与寻址方式,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号