1 / 30

第二章 DSP 硬件基础

第二章 DSP 硬件基础. C5400 总体结构. 存储器结构. 中央处理单元( CPU ). C5400 总体结构. 改进的哈佛结构. 独立的 程序总线和数据 总线 (取指和数据访问可以同时进行). 多套总线. 四套总线(一套程序总线,三套数据总线) (提高 CPU 的数据吞吐量). 具备中断管理、重复操作及函数调用等控制机制. C5400 的功能模块. C5400 总体结构 ( 续 ). 总线结构. 程序总线 PB ,负责读取指令和数据表格 数据总线 CB 、 DB 和 EB , CB 和 DB 读取数据 EB 存储数据

zuri
Download Presentation

第二章 DSP 硬件基础

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 DSP硬件基础 C5400总体结构 存储器结构 中央处理单元(CPU)

  2. C5400总体结构 • 改进的哈佛结构 独立的程序总线和数据总线 (取指和数据访问可以同时进行) • 多套总线 四套总线(一套程序总线,三套数据总线) (提高CPU的数据吞吐量) • 具备中断管理、重复操作及函数调用等控制机制

  3. C5400的功能模块

  4. C5400总体结构(续) • 总线结构 • 程序总线PB,负责读取指令和数据表格 • 数据总线CB、DB和EB,CB和DB读取数据 EB存储数据 • 地址总线PAB、CAB、DAB和EAB • 外设总线

  5. 访问类型 数据总线 PAB CAB DAB EAB PB CB DB EB 读程序   地址总线 写程序   读单数据   读双数据     读长数据(32bit)     写单数据   并行读/写数据     Dual Read/Coeff Read       读外设   写外设   • 总线结构(续) 读写访问中的总线使用

  6. 存储器结构 • 程序空间: 程序代码、常系数表格 • 数据空间:程序处理时的数据和结果 • I/O空间 :映射为外部设备、扩展外部 数据存储器等

  7. 存储器结构 (续) • 存储器类型 • RAM(片内或片外) • DARAM (Dual Access RAM ) • SARAM (Single Access RAM ) • ROM (片内或片外)

  8. 存储器 类型 ’541 ’542 ’543 ’545 ’546 ’548 ’549 ’5402 ’5409 ’5410 ’5420 ROM 程序 程序/ 数据 DARAM SARAM 28K 20K 8K 5K 0 2K 2K 0 10K 0 2K 2K 0 10K 0 48K 32K 16K 16K 0 48K 32K 16K 6K 0 2K 2K 0 8K 24K 16K 16K 16K 8K 24K 4K 4K 4K 16K 0 16K 16K 16K 32K 0 16K 16K 0 8K 56K 0 0 0 32K 168K 存储器结构 (续) 常见的C5400系列器件的片内存储器配置

  9. 存储器结构 (续) C5400包括三个相互独立的数据空间、程序空间和I/O空间,每个空间为64K字,字长为16比特 C5400包含片内存储器和片外可扩展存储器,片内存储器的优点包括: • 不需要等待状态,可以高速访问 • 比使用外部存储器成本低 • 比使用外部存储器功耗低

  10. C5400的存储器结构(续) • 存储器空间 • 存储器配置标志位 • MP/MC位 • 0 片内ROM使能并能够访问 • 1 表示片内ROM无法访问 • OVLY位 • 0 片内RAM只映射在数据空间 • 1 片内RAM同时映射到程序空间和数据空间 • DROM位 • 0 片内ROM的不映射到数据空间 • 1 片内ROM的一部分映射到数据空间

  11. C5400的存储器结构(续) • 存储器空间(续) • C5402存储器空间 • 20根地址线,最高位的4根可供扩展程序空间 • 专用寄存器—程序指针扩展寄存器(XPC) • 6条可对扩展程序空间寻址的指令 • C5402的扩展后的程序空间可分成16页,每页64K

  12. Page 0 Program Page 0 Program Page 1 Data Hex Hex Hex 0000 0000 • 存储器空间(续) 0000 Reserved Reserved Memory (OVLY=1) (OVLY=1) Mapped or or Register 005F External External Scratch- 0060 (OVLY=0) (OVLY=0) 007F 007F Pad 0080 0080 RAM 007F On-Chip On-Chip 0080 DARAM DARAM On-Chip (OVLY=1) (OVLY=1) RAM External External 16K (OVLY=0) (OVLY=0) 5402 存储器空间 配置 3FFF 3FFF 3FFF 4000 4000 4000 External External EFFF EFFF F000 F000 ROM On-Chip External (DROM=1) ROM or External 4K (DROM=0) FEFF FEFF FF00 FF00 Reserved Reserved FF7F FF7F (DROM=1) FF80 FF80 or External Interrupts Interrupts (DROM=0) (External) (On-Chip) FFFF FFFF FFFF MP/MC=1 MP/MC=0 (Microprocessor (Microcomputer Mode) Mode)

  13. C5400的存储器结构(续) • 存储器空间(续) C5402扩展程序空间(OVLY=0)

  14. C5400的存储器结构(续) • 存储器空间(续) C5402扩展程序空间(OVLY=1)

  15. C5400的存储器结构(续) • 程序空间 • 程序空间的组织主要通 过设置MP/MC、OVLY和DROM位来实现 • 片内ROM的安排

  16. C5400的存储器结构(续) • 数据存储器 • 数据空间寻址范围64K字 • DROM位的设置 • “块”组织形式 • 特殊区间-存储器映射寄存器MMR CPU寄存器、片上外设寄存器

  17. 地址(HEX) 名称 功 能 0 IMR 中断屏蔽寄存器 1 IFR 中断标志寄存器 2~5 - 保留,用于测试 6 ST0 状态寄存器0 7 ST1 状态寄存器1 8 AL 累加器A的低位字(15~0位) 9 AH 累加器A的高位字(31~16位) A AG 累加器A的保护字(39~32位) B BL 累加器B的低位字(15~0位) C BH 累加器B的高位字(31~16位) D BG 累加器B的保护字(39~32位) E T 临时寄存器 F TRN 转换寄存器 10 AR0 辅助寄存器0 C5400的存储器结构(续) • 存储器映射寄存器MMR

  18. 11 地址(HEX) 名称 AR1 功 能 辅助寄存器1 12 AR2 辅助寄存器2 13 AR3 辅助寄存器3 14 AR4 辅助寄存器4 15 AR5 辅助寄存器5 16 AR6 辅助寄存器6 17 AR7 辅助寄存器7 18 SP 堆栈指针 19 BK 循环缓冲大小寄存器 1A BRC 块重复计数器 1B RSA 块重复起始地址 1C REA 块重复终止地址 1D PMST 处理器模式状态寄存器 1E XPC 程序计数扩展寄存器 1F~5F - 保留 C5400的存储器结构(续) • 存储器映射寄存器MMR(续)

  19. C5400的存储器结构(续) • I/O空间 • I/O空间寻址范围64K字 • 两条I/O空间操作指令PORTR、PORTW

  20. 中央处理单元(CPU) • CPU状态和控制寄存器 • 算术逻辑单元(ALU) • 累加器 • 桶形移位器 • 乘加器 • 比较选择和存储单元 (CSSU) • 指数编码器

  21. 15 BRAF 14 CPL XF 13 HM 12 11 INTM 0 10 9 OVM SXM 8 7 C16 6 FRCT CMPT 5 ASM 4~0 • CPU状态和控制寄存器 • 状态寄存器ST0 15~13 12 11 10 9 8~0 ARP TC C OVA OVB DP • 状态寄存器ST1

  22. IPTR 15~7 MP/MC 6 OVLY 5 AVIS 4 3 DROM 2 CLKOFF SMUL 1 0 SST • CPU状态和控制寄存器(续) • 处理器模式状态寄存器PMST

  23. 算术逻辑单元(ALU) • 40位长 • 输入数据扩展 • 数据输入至高/低16位 取决于 • 符号扩展位SXM • 利用ST1的OVM位具有溢出处理功能 • 利用ST1中的C16位可实现多精度算术运算 • 支持常规32位数运算或双16位算术模式

  24. 算术逻辑单元(续) ALU结构框图

  25. 累加器 • 双累加器:A、B • 累加器结构 39-32 31-16 15-0 AG AH AL 39-32 31-16 15-0 BG BH BL • 累加器A和B之间唯一区别 • 累加器相关指令

  26. 桶形移位器 • 桶形移位器功能 • 数据定标 • 桶形移位器结构

  27. 桶形移位器(续) • 桶形移位器的移位数 • 指令操作数中立即数,范围为-16至15 add A,-4,B; 累加器A右移4位后加到累加器B • 用ASM字段的值作为移位数 add A,ASM,B ;累加器按ASM所指定的位数移位后, 加到累加器B中 • 用寄存器T的低6位值作为移位数 norm A; 归一化累加器A

  28. 乘加器 • 一个17×17位乘法器 + 一个40位加法器 • 乘法器完成乘法运算 • 加法器可以完成累加、取整、饱和等操作 • 累加器A的高位可作为乘数以加速迭代运算 • 临时寄存器T可作为乘数以方便矢量与标量相乘

  29. 乘加器(续) 乘法器 结构

  30. 序号 指 令 类 型 X乘法器输入 Y乘法器输入 T DB A PB CB DB A 1 2 3 4 5 6 7 8 9 mpy #1234h,A mpy[r] *AR2,A mpya B macp *AR2, pmad, A mpy *AR2, *AR3, B squr *AR2, B mpya *AR2 firs *AR2, *AR3, pmad squr A, B                   • 乘加器(续) • 乘法器的输入

More Related