450 likes | 694 Views
第二章 C54XX 的硬件结构 第一节 C54XX 的组成 一、 C5410A 的两种封装形式( 144p) C54X 是低功耗、高性能的定点 DSP 芯片,采用改进的哈佛结构. C54 引脚说明: ( 1 )地址线: A22 ( MSB ) -A0 ( LSB ), 23 根, 8M 的寻址空间, I/O/Z. ( 2 )数据线: D15-D0 , 16 根, I/O/Z. ( 3 )初始化、中断和复位信号: 8 根 ( 4 )多处理信号: 2 根 ( 5 )存储器控制信号: 11 根 ( 6 )时钟信号: 7 根 ( 7 )多通道缓冲串行接口: 18 根
E N D
第二章C54XX的硬件结构 第一节 C54XX的组成 一、C5410A的两种封装形式(144p) C54X是低功耗、高性能的定点DSP芯片,采用改进的哈佛结构
C54引脚说明: (1)地址线:A22(MSB)-A0(LSB),23根,8M的寻址空间,I/O/Z
(3)初始化、中断和复位信号:8根 (4)多处理信号:2根 (5)存储器控制信号:11根 (6)时钟信号:7根 (7)多通道缓冲串行接口:18根 (8)主机接口信号:20根 (9)电源:4根 (10)仿真与测试:7根
二、 C54X的内部硬件结构 C54X采用修正的哈佛结构和八条总线,使处理器的性能大大提高。 * 同时访问程序存储器和数据存储器 在一个周期内,可进行三次读操作和一次写操作 * 数据可在程序存储器和数据存储器之间进行传送 * 包括管理中断、重复操作和函数调用的控制机制 C54X的内部硬件结构包括以下单元: 1,CPU 2,内部总线结构: 四条程序/数据总线和四条地址总线 3,特殊功能寄存器:26个 位于一个具有特殊功能的CPU映射存储区内
4,数据存储器: 双访问RAM(DARAM):一个指令周期进行两次存取操作 单访问RAM(DARAM):一个指令周期进行一次存取操作 不同型号的C54的DARAM和DARAM的容量和存取速度是不同的 5,程序存储器: 片内ROM、双访问RAM(DARAM)、单访问RAM(DARAM)、双访问和单访问可 共享的RAM 大部分C54X的DSP可寻址64K字程序存储器空间 6,I/O端口: 两个通用I/O端口 /BIO 和 XF 可对主机通信并行接口和同步串行接口进行配置 可扩展外部I/O,须加缓冲和锁存电路 7,主机通信接口(HPI): 8,串行接口: 含4类串行接口
9,定时器: 带4位予定标器的16位定时器,通过编程实现停止、重启动、复位和禁止 10,中断系统 含硬件中断和软件中断
三、总线结构 1,程序总线(PB): 从程序存储器中取指令代码和立即操作数 2,三条数据总线(CB、DB和EB) 将CPU、数据地址产生逻辑、程序地址产生逻辑、片上外设及数据存储器连 在一起 * CB和DB传送从数据存储器读取的操作数 * ED传送写到存储器的数据 3,四条地址总线(PAB、CAB、DAB和EAB): 传送执行指令所需的地址
第二节 中央处理器(CPU) C54X的DSP的CPU的基本组成如下: * 40位算术逻辑单元(ALU); * 2个40位累加器寄存器; * 提供一个16-31位的桶式移位器; * 乘法器/加法器单元; * 16位的临时寄存器(T); * 16位的状态转移寄存器(TRN); * CPU的状态和控制寄存器; * 比较、选择和存储单元(CSSU); * 指数编码器
一、CPU状态和控制寄存器 C54X的DSP有三个状态和控制寄存器: 状态寄存器0(ST0) 状态寄存器1(ST1) 处理器工作模式状态寄存器(PMST) *ST0和ST1中包含各种工作条件和工作方式的状态 *PMST中包含存储器的设置状态及控制信息 1,状态寄存器ST0和ST1 ST0和ST1寄存器的各位可以使用SSBX和RSBX指令来设置和清除 * 符号扩展模式可以使用SSBX 1,SXM来设置 可以使用RSBX 1,SXM来复位 * ARP、DP和ASM位可以使用带短立即数的LD加载 * ASM和DP段也可以使用LD指令加载数据存储器的值
ARP: 复位=0,辅助寄存器(AR)指针 TC:复位=1,测试/控制标志位 C:复位=1,进位标志位 OVA:复位=0,累加器A的溢出标志位 OVB:复位=0,累加器BB的溢出标志位 DP:复位=0,数据存储器页面指针
BRAF:复位=0,块重复操作标志 CPL:复位=0,相对直接寻址编译器模式位 XF:复位=1,XF引脚状态位 HM:复位=0,保持模式位 INTM:复位=1,中断模式位 0:复位=0,此位总是为0 OVM:复位=0,溢出方式位 SXM:复位=1,符号扩展方式位 C16:复位=0,双16位/双精度算术模式位 FRCT:复位=0,小数方式位 CMPT:复位=0,修改模式位 SAM:复位=0,累加器移位模式位
2,处理器工作模式状态(PMST)寄存器 PMST寄存器由存储器映射寄存器指令进行加载 IPTR:复位=1FFHh,中断向量指针 MP/MC:复位=为MP/MC引脚的状态,微处理器/微计算机模式位 OVLY:复位=0,RAM重叠位 AVIS:复位=0,地址可见性模式位 DROM:复位=0,数据ROM位 CLKOFF:复位=0,CLOCKOUT时钟输出关 SUML:复位=无效(N/A),乘法饱和模式位 SST:复位=无效(N/A),存储饱和位 **举例(p40) 实例3-1 实例3-2
1,ALU的输入 * X 输入端的数据 (1)移位器的输出 (2)数据总线(DB)数据存储器的操作数 * Y 输入端的数据 (1)累加器 A 或 B 中的数据 (2)数据总线(CB)的数据存储器的操作数 (3)T 寄存器总的数据 *当一个16位数据存储器操作数通过数据总线(CB或DB)加到40位ALU的 输入 端时,40位ALU将按照如下方式之一进行处理: (1)如果第15位~第0位包含数据存储器操作数时,则当状态寄存器ST1的 位SXM=0时,第39位~第16位以0填充;当SXM=1时,第39位~第16位进行符号扩展 (2)如果第31位~第16位包含数据存储器操作数时,则当状态寄存器ST1的 位SXM=0时,第39位~第32位以0填充;当SXM=1时,第39位~第32位进行符号扩展
2,溢出处理 当状态寄存器ST1的OVM 置1时,ALU的饱和逻辑被使能 当一个结果产生溢出时,将按如下方法进行处理: (1)如果OVM=0,则累加器不进行修改,直接加载ALU的结果 (2)如果OVM=1,则根据溢出的方向,累加器加载最大正32位值(00 7FFF FFFFh)或最小的负32位值(FF 8000 0000h) (3)目的累加器设置状态寄存器ST0的溢出标志位(OVA/OVB),并且一定保 持到下面的 事件发生: # 执行一次复位 # 一个条件指令(如转移÷返回÷调用或执行)在溢出条件下被执行 # 溢出标志位(OVA/OVB)被删除 3,进位位 4,双16位模式
三,累加器A和B 1,保存累加器的内容 用户可以用STH、STL、STLM和SACCD等指令或者用并行存储指令,将累加器 的内容放到数据存储器中 * 将累加器的高16位的数据存到数据存储器(问题1) * 将累加器的低16位的数据存到数据存储器(问题2) * 举例 实例3-3(p43)
2,累加器移位和循环操作 3,饱和处理累加器内容 4,专用指令
1,桶形位移器作用 用来为输入数据定标 2,桶形位移器的连接 3,桶形位移器的操作
七、指数编码器 指数编码器是一个专用硬件
第三节 存储器和I/O空间 一、C54 DSP存储器概述 1,C54 DSP总共具有192K字16位的存储空间 程序存储器 64K,数据存储器 64K,I/O 64K 2,C54 DSP片内还有26个映射到数据存储空间的CPU寄存器和外设寄存器 3,在一个机器周期内,执行四个并行存储器操作:一次取指、读取两个操作数和写 一个操作数
二、存储器空间 1,程序存储器空间存放指令和所需的系数表; 数据存储器存放执行指令所需要的数据; I/O存储空间与外设存储器映射外设一起连接,也可以作为附加的数据存 储空间 2,C54 DSP包含RAM(DARAM、SARAM、两种方式共享的RAM)和 ROM RAM总是映射到数据存储器空间,也可映射到程序存储器空间 ROM总是映射到程序存储器空间,也可部分映射到程序存储器空间 3,C54 DSP具有三个CPU状态寄存器位(处理器模式状态寄存器PMST) (1)当MP/*MC=0,片内ROM 映射程序存储器空间 当MP/*MC=1,片内ROM 不映射程序存储器空间 (2)当OVLY=1,片内RAM映射到程序和数据存储空间 当OVLY=0,片内RAM只映射到数据存储空间 (3)当DROM=0,部分片内ROM映射到数据存储器空间 当DROM=1,片内ROM不映射到数据存储器空间
三、程序存储器 1,说明: * 程序存储器 64K: ROM、 DARAM、SARAM、两种方式共享的RAM * 这些片内存储器是否作为程序存储器取决于软件对处理器工作模式状态 (PMST)寄存器的状态位MP/*MC和OVLY的设置
2,程序存储器的可配置性 * 器件复位时,MP/*MC引脚的逻辑状态被传到PMST寄存器的MP/*MC位 * DSP的MP/*MC引脚仅仅在复位时被采样 3,片内ROM的组织 片内ROM可以细分和组织为若干块 根据C54 DSP的不同,ROM可分为2K、4K或8K字的块;对于16K ROM的DSP,其ROM块为 8K
4,程序存储器地址映射和片内ROM的内容 当DSP复位时,复位和中断向量都映射到起始地址为FF80h的第128页的程序存储空间首址。 在C54 DSP的片内ROM中,128字被保留用于器件的测试。写到片内ROM并且在片内ROM执行的应用程序代码必须保留128字(FF00h-FF7Fh) 5, 片内ROM的代码内容和映射 容量大的片内ROM可以把用户的程序代码编写进去,但片内高2K字ROM中 的内容由TI公司定义。 这2K字程序空间(F800h-FFFFh)中包含以下内容: * 自举加载程序 * 256字u律扩展表 * 256字A律扩展表 * 256字正玄函数值查找表 * 中断向量表
四、数据存储器 1,说明: * 数据存储器64K字:DARAM、SARAM、 ROM(通过程序设置) 2,数据存储器的可配置性 用户可以设置PMST寄存器的DROM位,将部分片内ROM映射到数据存储空间
3,片内ROM的组织 片内RAM可以细分为若干块。 分块组织可以使用户在一个周期内从同一块DRAM中取出两个操作数,并将 数据写到另一块DRAM中 RAM可以组织为1K、2K或8K字的块,C5410A 的DRAM的块为2K字
4,存储器映射寄存器 64K字的数据存储空间包括器件的存储器映射寄存器,这些寄存器驻留在数据 页的第0页(数据地址为0000h-007Fh). 第0页数据存储空间包括: * CPU的寄存器(26个) * 外设寄存器用于对外电路进行控制和数据存放 * 暂存寄存器RAM块
五、I/O空间 在后续章节介绍