4 硬件及存储结构7.doc_第1页
4 硬件及存储结构7.doc_第2页
4 硬件及存储结构7.doc_第3页
4 硬件及存储结构7.doc_第4页
4 硬件及存储结构7.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 CPU及存储结构本章简要介绍了TMS320DM642的CPU结构及存储器空间分配,对CPU数据总线及状态寄存器进行了重点阐述,本章的知识要点为掌握存储器空间分配方法,本章建议安排4个课时进行学习。4.1 CPU结构4.1.1 中央处理单元CPUTMS320DM642结构框图如图4-1所示,图中中间深色部分为CPU,它包括:图4-1 DM642结构框图 (1)程序读入及指令译码、分配机构:包括程序取指单元、指令分配单元和指令译码单元。程序总线连接程序取指单元和片内程序存储器。 (2)程序执行机构:包括2个对称数据通路A和B(2个对称的通用寄存器组、2组对称的功能单元(每组四个)、控制寄存器组和控制逻辑、以及中断逻辑等。每组数据通路有读入及存储(写出)数据总线与片内数据存储器想连。 (3)芯片测试和仿真端口及其控制逻辑。在CPU内部采用哈佛结构,其程序总线与数据总线分开,取指令与执行指令可以并行运行。片内程序存储器保存指令代码,程序总线连接程序存储器与CPU。由于芯片的程序总线宽度位256位,程序取指、指令分配和指令译码单元可以传送高达每个CPU时钟8个32位指令到功能单元。DSP片内的程序总线与数据总线分开,程序存储器与数据存储器分开,但片外的存储器及总线都不分,两者是统一的。全部存储空间(包括程序存储器和数据存储器、片内和片外)以字节为单位统一编址。无论从片外读取指令或与片外交换数据,都要通过EDMA与EMIF。 4.1.2 CPU数据总线与控制DM642的数据总线包括下述物理资源:l 2个通用寄存器组(A和B);l 8个功能单元(.L1,.L2,.S1,.S2,.M1,.M2,.D1,.D2);l 2个数据读取通路(LD1和LD2);l 2个数据存储通路(ST1和ST2);l 2个数据地址通路(DA1和DA2);l 2个寄存器组交叉通路(1X和2X);(1) CPU通用寄存器组在DM642数据总线中有2个通用寄存器组(A和B),每个寄存器组包括32个32位寄存器,这些通用寄存器可以当作数据、数据地址指针或条件寄存器使用。DM642芯片支持8/16位打包数据、30/40/64位定点数据。32位数据可放在任何一个通用寄存器内,长于32位的数据,比如40位和64位定点数据均需放在一个寄存器对内,其中低32位数据放在偶数寄存器中,其余的8位或32位数据放在一个寄存器内。一个寄存器对由一个偶数寄存器及序号比它1的奇数寄存器组成,如表4-1所示。表4-1 40/64位寄存器对寄存器对寄存器对ABABA1:A0B1:B0A17:A16B17:B16A3:A2B3:B2A19:A18B19:B18A5:A4B5:B4A21:A20B21:B20A7:A6B7:B6A23:A22B23:B22A9:A8B9:B8A25:A24B25:B24A11:A10B11:B10A27:A26B27:B26A13:A12B13:B12A29:A28B29:B28A15:A14B15:B14A31:A30B31:B30(2) 数据总线的功能单元DM642数据总线中的8个功能单元分为两组,每组4个。两组数据总线功能单元的功能基本相同。.M单元主要完成乘法运算,.D单元是唯一能产生地址的功能单元,.L与.S是主要的算术逻辑运算单元(ALU),四个功能单元的执行操作表如图4-2所示。表4-2 功能单元的执行操作 功能单元 定点操作 功能单元定点操作.L单元(.L1,.L2)32/40位算术和比较操作.M单元(.M1,.M2)16*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位比较运算带有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个寄存器的寻址模式(线性寻址/循环寻址),如果是循环寻址还包括循环寻址的大小CSR控制状态寄存器包括全局中断使能,高速缓存控制及其他控制和状态位IFR中断标志寄存器显示中断状态ISR中断设置寄存器允许手动设置挂起的中断ICR中断清除寄存器允许手动清除挂起的中断IER中断使能寄存器允许/禁止单个中断ISTP中断服务表指针指向中断服务表的起点IRP中断返回指针含有从可屏蔽中断返回的地址NRP中断返回指针含有从非屏蔽中断返回的地址PCEI程序计数器,E1节拍含有E1节拍中获取包的地址由于控制状态寄存器CSR是最常用的控制寄存器,这里只简述控制状态寄存器CSR。控制状态寄存器包括控制位和状态位,如图4-2所示,表4-4给出了CSR寄存器字段的描述。31 24 23 16 CPU ID 版本ID 15 10 9 8 7 5 4 2 1 0PWRX SAT EN PCCDCC PGIE GIE图4-2 控制状态寄存器(CSR)表4-4 CSR寄存器字段描述 位字段名 描述31-24CPU IDCPU的识别号(只读)23-16REV IDCPU修订版本(只读)15-10PWRD控制低功耗模式9SAT饱和位,任一功能单元执行一个饱和操作时被置18EN1:小终端模式;0:大终端模式7-5PCC程序高速缓冲存储器控制模式4-2DCC数据高速缓冲存储器控制模式1PGIE一个中断发生时,保存以前的全局中断使能位GIE0GIEGIE=1时,使能所有可屏蔽中断;GIE=0时,禁止所有可屏蔽中断。42 存储器空间分配 TMS320DM642采用两级存储器分层结构: L1存储器和L2存储器,L1存储器包括16KB的高速程序缓存(L1P)和16KB的高速数据缓存(L1D),L1P和L1D采用段和行的单元组合结构,地址和数据的存取包括段索引、字节偏移量和数据操作3部分。DM642的L1P为16KB,分成了512个段,其中行宽为32B,一个32位的程序地址被划分为3个部分共同定义数据在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(高速数据缓存)和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字段设置为111时,L2全部设置为4路高速数据援存。L2在不同情况下的地址分配和空间分配如图4-3所示。128KB SRAM64KB RAM32KB RAM32KB RAML2MODE L2存储器 基地址0x0000 00000x0002 00000x0003 00000x0003FFFF000 001 010 011 111256KB Cache (4路)128KB Cache (4路) 128KB SRAM64KB Cache 192KB SRAM(4路)32KB Cache 224KB SRAM(4路) 256KB SRAM 图4-3 L2空间分配DM642 外部的存储器地址的范围从0x8000000开始,表格4-4为DM642的寄存器和存储器空间分配方式。表4-4 DM642的存储器映射存储器块描述块大小(字节)十六进制地址范围内部RAM(L2)256K0000 0000 - 0003 FFFF保留768K0004 0000 - 000F FFFF保留23M0010 0000 - 017F FFFFEMIFA寄存器256K0180 0000 - 0183 FFFFL2 寄存器256K0184 0000 - 0187 FFFFHPI寄存器256K0188 0000 - 018B FFFFMcBSP 0 寄存器256K018C 0000 - 018F FFFFMcBSP 1寄存器256K0190 0000 - 0193 FFFFTimer 0寄存器256K0194 0000 - 0197 FFFFTimer 1寄存器256K0198 0000 - 019B FFFF中断选择器寄存器256K019C 0000 - 019F FFFFEDMA存储器和EDMA 寄存器256K01A0 0000 - 01A3 FFFF保留512K01A4 0000 - 01AB FFFFTimer 1寄存器256K01AC 0000 - 01AF FFFFGP0寄存器4K-256K01B0 0000 - 01B3 EFFF器件配置寄存器4K01B3 F000 - 01B3 FFFFI2C数据和控制寄存器16K01B4 0000 - 01B4 3FFF保留32K01B4 4000 - 01B4 BFFFMcASP控制寄存器16K01B4 C000 - 01B4 FFFF保留192K01B5 0000 - 01B7 FFFF保留256K01B8 0000 - 01BB FFFF仿真256K01BC 0000 - 01BF FFFFPCI寄存器256K01C0 0000 - 01C3 FFFFVP0控制寄存器16K01C4 0000 - 01C4 3FFFVP1控制寄存器16K01C4 4000 - 01C4 7FFFVP2控制寄存器16K01C4 8000 - 01C4 BFFFVIC控制寄存器16K01C4 C000 - 01C4 FFFF保留192K01C5 0000 - 01C7 FFFFEMAC控制寄存器4K01C8 0000 - 01C8 0FFFEMAC Wrapper8K01C8 1000 - 01C8 2FFFEWRAP寄存器2K01C8 3000 - 01C8 37FFMDIO控制寄存器2K01C8 3800 - 01C8 3FFF保留3.5M01C8 4000 - 01FF FFFFQDMA寄存器520200 0000 - 0200 0033保留52-736M0200 0034 - 2FFF FFFFMcBSP 0 数据空间64M3000 0000 - 33FF FFFFMcBSP 1 数据空间64M3400 0000 - 37FF FFFF保留64M3800 0000 - 3BFF FFFFMcASP 0 数据空间1M3C00 0000 - 3C0F FFFF保留1M-64M3C10 0000 - 3FFF FFFF保留832M4000 0000 - 73FF FFFFVP0通道A数据32M7400 0000 - 75FF FFFFVP0通道B数据32M7600 0000 - 77FF FFFFVP1通道A数据32M7800 0000 - 79FF FFFFVP1通道B数据32M7A00 0000 - 7BFF FFFFVP2通道A数据32M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论