- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3讲 281x流水线及存储器映射
281xDSP指令流水线
281xDSP存储空间结构
1
3.1 指令流水线
2
取指1(F1)
取指2(F2)
译码1(D1)
CPU将一个程序存储器的地址送到22位的PAB(21:0)
CPU从PRDB(31:0)读取程序存储器,并将指令载入取指令队列中
C28x支持32位和16位指令,译码1(D1)硬件辨识指令队列中指令的边界,它也决定了该指令是否是一条合法的指令 。
C28x 的CPU在8个独立的阶段执行这些操作。在任何时刻,同时有8条指令运行在不同的阶段。
译码2(D2)
译码2(D2)向指令队列请求一条指令,并完成译码操作。一条指令一旦到达 D2阶段,该指令将一直执行完毕。
3.1 指令流水线
3
读1(R1)
读2(R2)
执行(E)
若数据已经在R1阶段被寻址,读2(R2)将从相应的数据总线上读入数据。
CPU执行所有的乘法、移位和ALU操作 。
对于具体的指令来说并不是每一个阶段都有效。一些指令在译码2阶段就完成了,其他的在执行阶段,还有一些在写阶段。
写(W)
在写(W)阶段完成一个转换值或者结果写入存储器。
若需要从存储器中读数据,读1(R1)会把地址送到相应的地址总线。
3.1 指令流水线
4
C28x Pipeline
Protected Pipeline
Order of results are as written in source code
Programmer need not worry about the pipeline
8-stage pipeline
E G Access
same address
F1: Instruction Address
F2: Instruction Content
D1: Decode Instruction
D2: Resolve Operand Addr
R1: Operand Address
R2: Get Operand
X: CPU doing “real” work
W: store content to memory
H
5
3.2 281x的存储空间结构
281x的存储空间分成3个部分:
程序空间和数据空间。2812所具有的RAM、ROM和FLASH都被统一编址,映射到了程序空间和数据空间,这些空间的作用就是存放指令代码和数据变量。
保留区。数据空间里面某些地址被保留了,作为CPU的仿真寄存器使用,这些地址是不向用户开放的。
CPU中断向量。在程序空间里也保留了64个地址作为CPU的32个中断向量。通过CPU寄存器ST1中的VMAP位来将这一段地址映射到程序空间的底部或者顶部。
6
F2812总线与存储空间
3.2 281x的存储空间结构
7
F2812片内存储器资源
存储器名称
存储器容量
FLASH
128K*16位
H0(SRAM)
8K*16位
L0(SRAM)
4K*16位
L1(SRAM)
4K*16位
M0(SRAM)
1K*16位
M1(SRAM)
1K*16位
Boot ROM
4K*16位
OTP(One Time Programmable ROM)
1K*16位
3.2 281x的存储空间结构
8
TMS320F2812 Memory Map
128-Bit Password
CSM: LO, L1
OTP, FLASH
0x3D 7C00
片外存储器XINT
片内存储器
9
TMS320F2812在逻辑上有4M*l6位程序空间和4G*l6位数据空间,但物理上统一为4M*16位的存储空间。
F2812片上有128K*16位FLASH、18K*l6位SRAM、4K*16位BootROM和1Kx16位的OTP ROM。
18K*16位单周期单次访问随机存储器SARAM,分成5个块,它们分别称为M0、M1、L0、L1I和H0,均可映射到程序空间和数据空间。
L0和L1受片上FLASH中的密码保护,以免存放在L0和L1中的程序或数据被非法拷贝。
3.2 281x的存储空间结构
10
BootRom的空间分配
Boot ROM存储器是掩模型片内存储器
出厂时固化了Boot Loader软件
根据引导模式信号(Boot Mode)确定引导方式,可以从内部Flash引导,也可从外部引导。
Boot ROM中还包括一些标准的数学运算表。
11
Reset – Bootloader
Init Boot
RESET
初始化器件:
OBJMODE = 1
AMODE = 0
M0M1MAP = 1
DP = 0
OVM = 0
SPM = 0
SP = 0x00 0400
Dummy Read
CSM passwords
Call
BootMode
文档评论(0)