收藏 分享(赏)

4 硬件及存储结构7.doc

上传人:yjrm16270 文档编号:6802204 上传时间:2019-04-22 格式:DOC 页数:8 大小:266KB
下载 相关 举报
4  硬件及存储结构7.doc_第1页
第1页 / 共8页
4  硬件及存储结构7.doc_第2页
第2页 / 共8页
4  硬件及存储结构7.doc_第3页
第3页 / 共8页
4  硬件及存储结构7.doc_第4页
第4页 / 共8页
4  硬件及存储结构7.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、第四章 CPU 及存储结构本章简要介绍了 TMS320DM642 的 CPU 结构及存储器空间分配,对 CPU 数据总线及状态寄存器进行了重点阐述,本章的知识要点为掌握存储器空间分配方法,本章建议安排 4 个课时进行学习。4.1 CPU 结构4.1.1 中央处理单元 CPUTMS320DM642 结构框图如图 4-1 所示,图中中间深色部分为 CPU,它包括:C 6 4 x 器 件程 序 缓 存 / 程 序 存 储 器3 2 位 地 址2 5 6 位 数 据数 据 缓 存 / 数 据 存 储 器3 2 位 地 址8 / 1 6 / 3 2 / 6 4 位 数 据D M A , E M F程 序

2、 取 指指 令 分 配指 令 译 码寄 存 器 组 A 寄 存 器 组 A数 据 通 路 A 数 据 通 路 B控 制寄 存 器控 制逻 辑测 试中 断仿 真L 1 M 1S 1 D 1 D 2 M 2 S 2 L 2其 他 外 设 :定 时 器 、 串 口 等C 6 4 x C P U图 4-1 DM642 结构框图(1)程序读入及指令译码、分配机构:包括程序取指单元、指令分配单元和指令译码单元。程序总线连接程序取指单元和片内程序存储器。(2)程序执行机构:包括 2 个对称数据通路 A 和 B(2 个对称的通用寄存器组、2 组对称的功能单元(每组四个) 、控制寄存器组和控制逻辑、以及中断逻辑

3、等。每组数据通路有读入及存储(写出)数据总线与片内数据存储器想连。(3)芯片测试和仿真端口及其控制逻辑。在 CPU 内部采用哈佛结构,其程序总线与数据总线分开,取指令与执行指令可以并行运行。片内程序存储器保存指令代码,程序总线连接程序存储器与 CPU。由于芯片的程序总线宽度位 256 位,程序取指、指令分配和指令译码单元可以传送高达每个 CPU 时钟 8 个32 位指令到功能单元。DSP 片内的程序总线与数据总线分开,程序存储器与数据存储器分开,但片外的存储器及总线都不分,两者是统一的。全部存储空间(包括程序存储器和数据存储器、片内和片外)以字节为单位统一编址。无论从片外读取指令或与片外交换数

4、据,都要通过 EDMA与 EMIF。 4.1.2 CPU 数据总线与控制DM642的数据总线包括下述物理资源: 2个通用寄存器组(A和B); 8个功能单元(.L1,.L2,.S1,.S2,.M1,.M2,.D1,.D2); 2个数据读取通路(LD1和LD2); 2个数据存储通路(ST1和ST2); 2个数据地址通路(DA1和DA2); 2个寄存器组交叉通路(1X和2X);(1) CPU通用寄存器组在DM642数据总线中有2个通用寄存器组(A和B),每个寄存器组包括32个32位寄存器,这些通用寄存器可以当作数据、数据地址指针或条件寄存器使用。DM642芯片支持8/16位打包数据、30/40/64

5、位定点数据。32位数据可放在任何一个通用寄存器内,长于32位的数据,比如40位和64位定点数据均需放在一个寄存器对内,其中低32位数据放在偶数寄存器中,其余的8位或32位数据放在一个寄存器内。一个寄存器对由一个偶数寄存器及序号比它1的奇数寄存器组成,如表4-1所示。表4-1 40/64位寄存器对寄存器对 寄存器对A B A BA1:A0 B1:B0 A17:A16 B17:B16A3:A2 B3:B2 A19:A18 B19:B18A5:A4 B5:B4 A21:A20 B21:B20A7:A6 B7:B6 A23:A22 B23:B22A9:A8 B9:B8 A25:A24 B25:B24A

6、11:A10 B11:B10 A27:A26 B27:B26A13:A12 B13:B12 A29:A28 B29:B28A15:A14 B15:B14 A31:A30 B31:B30(2) 数据总线的功能单元DM642数据总线中的8个功能单元分为两组,每组4个。两组数据总线功能单元的功能基本相同。.M单元主要完成乘法运算,.D单元是唯一能产生地址的功能单元,.L与.S是主要的算术逻辑运算单元(ALU),四个功能单元的执行操作表如图4-2所示。表4-2 功能单元的执行操作功能单元 定点操作 功能单元 定点操作.L单元(.L1,.L2) 32/40位算术和比较操作 .M单元(.M1,.M2) 1

7、6*16乘法运算字节移位 4个8*8乘加运算数据打包/解包 位扩展5位常数产生 位交叉/解交叉双16位算术运算 变量移位运算4个8位算数运算 旋转双16位最小/最大值运算 Galois域乘法4个8位最小/最大值运算 16*32乘法运算32位逻辑运算 4个8*8乘法运算32位中最左边1或0计数 双16*16乘法运算32位和40位的归一化计算 双16*16乘加/乘减运算.S单元(.S1,.L2) 32位算术运算 .D单元(.D1,.D2) 32位加、减线性和循环寻址计算寄存器与控制寄存器组(仅.S2)之间的传输5位常数产生字节移位 32位逻辑运算数据打包/解包 带有5位常数偏移量的转载和存储双16

8、位比较运算 带有15位常数偏移量的转载和存储(仅对.D2)4个8位比较运算 带有5位常数偏移量的双字转载和存储双16位移位运算4个8位比较运算双16位移位运算双16位带饱和的算术运算32/40位移位和32位位字段运算32位逻辑运算分支常数产生(3) 控制状态寄存器(CSR)用户可以通过控制寄存器组编程来选用 CPU 的部分功能。编程时应注意,只有功能单元.S2 可通过搬移指令 MVC 访问控制寄存器,从而对控制寄存器进行读/写操作。表 4-3 给出了 DM642 的控制寄存器组。表4-3 C62X/C67X和C64X内核共有的控制寄存器缩写 寄存器名称 描述AMR 寻址模式寄存器 指定8个寄存

9、器的寻址模式(线性寻址/循环寻址),如果是循环寻址还包括循环寻址的大小CSR 控制状态寄存器 包括全局中断使能,高速缓存控制及其他控制和状态位IFR 中断标志寄存器 显示中断状态ISR 中断设置寄存器 允许手动设置挂起的中断ICR 中断清除寄存器 允许手动清除挂起的中断IER 中断使能寄存器 允许/禁止单个中断ISTP 中断服务表指针 指向中断服务表的起点IRP 中断返回指针 含有从可屏蔽中断返回的地址NRP 中断返回指针 含有从非屏蔽中断返回的地址PCEI 程序计数器,E1节拍 含有E1节拍中获取包的地址由于控制状态寄存器 CSR 是最常用的控制寄存器,这里只简述控制状态寄存器 CSR。控制

10、状态寄存器包括控制位和状态位,如图 4-2 所示,表 4-4 给出了 CSR 寄存器字段的描述。31 24 23 16CPU ID 版本ID15 10 9 8 7 5 4 2 1 0PWRX SAT EN PCC DCC PGIE GIE图4-2 控制状态寄存器(CSR)表4-4 CSR寄存器字段描述位 字段名 描述31-24 CPU ID CPU的识别号(只读)23-16 REV ID CPU修订版本(只读)15-10 PWRD 控制低功耗模式9 SAT 饱和位,任一功能单元执行一个饱和操作时被置18 EN 1:小终端模式;0:大终端模式7-5 PCC 程序高速缓冲存储器控制模式4-2 DC

11、C 数据高速缓冲存储器控制模式1 PGIE 一个中断发生时,保存以前的全局中断使能位GIE0 GIE GIE=1时,使能所有可屏蔽中断;GIE=0时,禁止所有可屏蔽中断。42 存储器空间分配TMS320DM642 采用两级存储器分层结构: L1 存储器和 L2 存储器,L1 存储器包括 16KB的高速程序缓存(L1P)和 16KB 的高速数据缓存(L1D) ,L1P 和 L1D 采用段和行的单元组合结构,地址和数据的存取包括段索引、字节偏移量和数据操作 3 部分。DM642 的 L1P 为16KB,分成了 512 个段,其中行宽为 32B,一个 32 位的程序地址被划分为 3 个部分共同定义数

12、据在 L1P 中的物理地址,其中 Bit4-Bit0 表示行中的字节偏移量,Bit13-Bit5 为段的编号,Bit31-Bit14 表示当前行上的实际数据。DM642 的 L1D 被划分成了 128 个段,行宽64B,共 16KB 高速数据缓存.来自 CPU 的物理地址被划分为 4 个字段,Bit1-Bit0 为字偏移量,Bit5-Bit2 为数据,Bit12-Bit6 为段索引编号,Bit31-Bit13 为请求的地址。L1P(只读)和 L1D 是高速缓存,不可配置为 SRAM。L2 的容量为 256KB,通过 CCFG 寄存器可以把 L2 配置为大小不同的 CACHE(高速数据缓存)和

13、SRAM,包括 5 种划分方法:(1)当 CCFG 寄存器中的 L2MODE2:0字段设置为 000 时,256KB 的 L2 全部分配给SRAM; (2)当 L2MODE2:0字段设置为 001 时,L2 中的 224KB 分配给 SRAM,剩余的 32KB 设置为 4 路高速数据缓存;(3)当 L2MODE2:0字段设置为 010 时,L2 中的 192KB 分配给 SRAM,剩余的 64KB 设置为 4 路高速数据缓存;(4)当 L2MODE2:0字段设置为 011 时,L2 中的 128KB 分配给 SRAM,剩余的 128KB 设置为 4 路高速数据缓存;(5)当 L2MODE2:0

14、字段设置为 111 时,L2 全部设置为 4 路高速数据援存。L2 在不同情况下的地址分配和空间分配如图 4-3 所示。128KB SRAM64KB RAM32KB RAM32KB RAML2MODE L2 存储器 基地址0x0000 00000x0002 00000x0003 00000x0003FFFF000 001 010 011 111256KBCache(4路)128KBCache(4路) 128KBSRAM64KBCache192KBSRAM(4路)32KBCache224KBSRAM(4路)256KBSRAM图4-3 L2空间分配DM642 外部的存储器地址的范围从0x80000

15、00开始,表格4-4为DM642的寄存器和存储器空间分配方式。表4-4 DM642的存储器映射存储器块描述 块大小(字节) 十六进制地址范围内部RAM(L2) 256K 0000 0000 - 0003 FFFF保留 768K 0004 0000 - 000F FFFF保留 23M 0010 0000 - 017F FFFFEMIFA寄存器 256K 0180 0000 - 0183 FFFFL2 寄存器 256K 0184 0000 - 0187 FFFFHPI寄存器 256K 0188 0000 - 018B FFFFMcBSP 0 寄存器 256K 018C 0000 - 018F FF

16、FFMcBSP 1寄存器 256K 0190 0000 - 0193 FFFFTimer 0寄存器 256K 0194 0000 - 0197 FFFFTimer 1寄存器 256K 0198 0000 - 019B FFFF中断选择器寄存器 256K 019C 0000 - 019F FFFFEDMA存储器和EDMA 寄存器 256K 01A0 0000 - 01A3 FFFF保留 512K 01A4 0000 - 01AB FFFFTimer 1寄存器 256K 01AC 0000 - 01AF FFFFGP0寄存器 4K-256K 01B0 0000 - 01B3 EFFF器件配置寄存器

17、 4K 01B3 F000 - 01B3 FFFFI2C数据和控制寄存器 16K 01B4 0000 - 01B4 3FFF保留 32K 01B4 4000 - 01B4 BFFFMcASP控制寄存器 16K 01B4 C000 - 01B4 FFFF保留 192K 01B5 0000 - 01B7 FFFF保留 256K 01B8 0000 - 01BB FFFF仿真 256K 01BC 0000 - 01BF FFFFPCI寄存器 256K 01C0 0000 - 01C3 FFFFVP0控制寄存器 16K 01C4 0000 - 01C4 3FFFVP1控制寄存器 16K 01C4 40

18、00 - 01C4 7FFFVP2控制寄存器 16K 01C4 8000 - 01C4 BFFFVIC控制寄存器 16K 01C4 C000 - 01C4 FFFF保留 192K 01C5 0000 - 01C7 FFFFEMAC控制寄存器 4K 01C8 0000 - 01C8 0FFFEMAC Wrapper 8K 01C8 1000 - 01C8 2FFFEWRAP寄存器 2K 01C8 3000 - 01C8 37FFMDIO控制寄存器 2K 01C8 3800 - 01C8 3FFF保留 3.5M 01C8 4000 - 01FF FFFFQDMA寄存器 52 0200 0000 -

19、 0200 0033保留 52-736M 0200 0034 - 2FFF FFFFMcBSP 0 数据空间 64M 3000 0000 - 33FF FFFFMcBSP 1 数据空间 64M 3400 0000 - 37FF FFFF保留 64M 3800 0000 - 3BFF FFFFMcASP 0 数据空间 1M 3C00 0000 - 3C0F FFFF保留 1M-64M 3C10 0000 - 3FFF FFFF保留 832M 4000 0000 - 73FF FFFFVP0通道A数据 32M 7400 0000 - 75FF FFFFVP0通道B数据 32M 7600 0000

20、- 77FF FFFFVP1通道A数据 32M 7800 0000 - 79FF FFFFVP1通道B数据 32M 7A00 0000 - 7BFF FFFFVP2通道A数据 32M 7C00 0000 - 7DFF FFFFVP2通道B数据 32M 7E00 0000 - 7FFF FFFFEMIFA CE0 256M 8000 0000 - 8FFF FFFFEMIFA CE1 256M 9000 0000 - 9FFF FFFFEMIFA CE2 256M A000 0000 - AFFF FFFFEMIFA CE3 256M B000 0000 - BFFF FFFF保留 1G C000 0000 - FFFF FFFF习 题1简述 DM642 的数据通路包含的物理资源。2简述 DM642 控制状态寄存器每位的含义。3简述 DM642 的存储器映射。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报