第二章 存储器
一般而言,C54x的存储空间可达192K16比特字,64K程序空间,64K数据空间,64KI/O空间。
依赖其并行的工艺特性和片上RAM双向访问的性能,在一个机器周期内,C54x可以执行4条并行并行存储器操作:取指令,两操作数读,一操作数写。
使用片内存储器有三个优点:高速执行(不需要等待),低开销,低功耗。
1存储空间分配(以C549为例)
复位后,中断矢量表位于程序区FF80H位置,可重新定位于程序空间任何一个128字的页面(其地址高9比特即页号由PMST中IPTR确定)。
2程序存储区
C54x有片内ROM、DARAM、SARAM,这些区域可以通过软件配置到程序空间。当地址落在这些区域内,自动对这些区域进行访问;当地址落在这些区域以外,自动产生对外部存储器的访问。
2.1片内ROM
片内ROM(4K,16K,24K,28K或48K字)可能包括的内容有:
l 引导程序,可以从串口、外部存储器、I/O口或HPI口引导
l 256字的μ率扩展表
l 256字的A率扩展表
l 256字的正弦表
l 中断矢量表
2.2扩展程序存储器
‘548、’549、’5410、’5420采用分页扩展的方式使可寻址程序空间达到8192K字。这一功能的实现有赖于:
l 23条地址线
l 扩展程序计数器XPC
l 6条访问外部程序空间的指令
当程序空间可以使用片内RAM时,程序空间的每一页分为以下两部分:最大32K字的通用块和32K字的专有块。通用块为所有页共享。
XPC寄存器指示选定页,复位后,初始化为0。影响XPC的6条指令是:
l FB[D]-长跳转指令
l FBACC[D]-长跳转指令,跳转地址由A或B中内容确定
l FCALA[D]-长调用指令,子程序地址由A或B中内容确定
l FCALL[D]-长调用指令
l FRET[D]-长返回指令
l FRETE[D]-长中断返回指令
其它的指令不修改XPC寄存器,而在当前页中做内部访问。