版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,数字信号处理器 Digital Signal Processor第二部分 TI DSP介绍,纪震博士Dr.Ji Zhen Shenzhen Univ.-Texas Instruments DSPs Lab 2003.01,Dr. JI ZHEN,2,学习目的: 了解典型的定点DSPTMS320C54x的结构特点和组成原理,Dr. JI ZHEN,3,主要内容1TMS320系列DSP发展概况2C54x结构特点3总线结构4CPU5存储器和寻址方式6在片外围电路和外部总线,Dr. JI ZHEN,4,1.1 三个TMS320系列DSP,Lowest Cost Control Systems St
2、orage Motor Control,Highest Efficiency Best MIPS per:Watt / Dollar/ Size Wireless Clients Modems / Telephony VoIP,Highest Performance Multi Channel,Multi Function Comm Infrastructure xDSL Imaging, Video,Dr. JI ZHEN,5,1.2 TMS320系列DSP的典型应用(1),Dr. JI ZHEN,6,1.2 TMS320系列DSP的典型应用(2),Dr. JI ZHEN,7,1.2 TMS
3、320系列DSP的典型应用(3),Dr. JI ZHEN,8,1.2 TMS320系列DSP的典型应用(4),Dr. JI ZHEN,9,主要内容1TMS320系列DSP发展概况2C54x结构特点3总线结构4CPU5存储器和寻址方式6在片外围电路和外部总线,Dr. JI ZHEN,10,2 C54xDSP的主要特点,围绕8条总线构成的增强型哈佛结构 高度并行和带有专用硬件逻辑的CPU设计 高度专业化的指令系统 模块化结构设计 先进的IC工艺 能降低功耗和提高抗核辐射能力的新的静电设计方法,Dr. JI ZHEN,11,2.1 C54xDSP主要特性-CPU,先进的多总线结构(1条程序总线、3条
4、数据总线和4条地址总线) 40位算术逻辑运算单元(ALU),包括1个40位桶形移位寄存器和2个独立的40位累加器 17位*17位并行乘法器,与40位专用加法器相连用于非流水线式单周期乘法/累加(MAC)运算 比较、选择、存储单元(CSSU),用于加法/比较选择 指数编码器,可以在单个周期内计算40位累加器中数值的指数 双地址生成器,包括8个辅助寄存器和2个辅助寄存器算术运算单元(ARAU),Dr. JI ZHEN,12,2.2 C54xDSP主要特性-存储器,192K字可寻址存储空间(64K字程序存储器、64K字数据存储器以及64K字I/O空间C548和C549中存储空间可扩展至8M字 片内R
5、OM,可配置为程序/数据存储器 双寻址在片RAM(DARAM) 单寻址在片RAM(SARAM)(C548和C549),Dr. JI ZHEN,13,2.3 C54xDSP主要特性-指令系统,单指令重复和块指令重复操作 块存储器传送指令 32位长操作数指令 同时输入2或3个操作数的指令 能并行存储和并行加载的算术指令 条件存储指令 从中断快速返回,Dr. JI ZHEN,14,2.4 C54xDSP主要特性-在片外围电路,软件可编程等待状态发生器 可编程分区转换逻辑电路 带有内部振荡器或用外部时钟源的在片锁相环(PLL)时钟发生器 全双工串行口,支持8位或16位传送(仅C541、LC545和LC
6、546) 时分多路(TDM)串行口(仅C542、C543、C548和C549) 缓冲串行口(BSP)(仅C542、C543、LC545、LC546、C548和C549) 16位可编程定时器 8位并行主机接口(HPI)(C542、LC545、C548和C549) 外部总线关断控制,以断开外部的数据总线、地址总线和控制信号 数据总线具有总线保持器特性,Dr. JI ZHEN,15,2.5 C54xDSP主要特性 -电源和在片仿真接口,电源 可用IDLE1、IDLE2和IDLE3指令控制功耗,以工作在省电方式 CLKOUT输出信号可以关断 在片仿真接口 具有符合IEEE1149.1标准的在片仿真接口
7、,Dr. JI ZHEN,16,2.6 C54xDSP主要特性-速度,单周期定点指令的执行时间为25/20/15/12.5/10ns (40/50/66/80/100MIPS),Dr. JI ZHEN,17,2.7 TMS320C54x DSP的主要特性,¥:2个标准串口;:1个时分多路串口(TDM)和1个BSP;:1个标准串口和1个BSP;累加器A右移4位后加到累加器B ADD A, ASM, B ;累加器A按ASM规定移位后加到累加器B NORM A ;按T寄存器中的数值对累加器归一化,这最后一条指令对累加器中的数归一化是很有用的。假设40位累加器A中的定点数为FFFFFFF001。先用E
8、XP A指令,求得它的指数为13h,存放在T寄存器中。再执行NORM A,就可以在单个周期内将原来的定点数分成尾数FF80080000和指数13h两部分。,Dr. JI ZHEN,49,4.4 桶形移位器的任务,在ALU运算前,对来自数据存储器的操作数或者累加器的值进行定标 对累加器的值进行算术或逻辑移位 对累加器归一化处理 对累加器的值存储到数据存储器之前进行定标,Dr. JI ZHEN,50,4.5 乘法器/加法器,到总线,MAC,ALU,17 X 17 MPY 40 BIT ADDER RND, SAT,40 BIT ALU CMPS OPERATOR (VITERBI) EXP ENC
9、ODER,桶式移位寄存器,累加器,40 BIT BARREL (- 16, 31),40 BIT ACC A 40 BIT ACC B,寻址单元,8 辅助寄存器 2 寻址单元,C54x 优化核,Dr. JI ZHEN,51,4.5 乘法器/加法器,Dr. JI ZHEN,52,4.5 乘法器/加法器特点,1717位硬件乘法器 乘法器与40位专用加法器相连(在1个周期内完成乘法累加运算) 小数相乘(FRCT1),乘积左移一位 零检测器 舍入电路 溢出/饱和电路 乘法器输出加法器的XA,累加器A或B加法器的YA 乘法累加结果累加器A或B,Dr. JI ZHEN,53,4.6 比较、选择、存储单元,
10、到总线,MAC,ALU,17 X 17 MPY 40 BIT ADDER RND, SAT,40 BIT ALU CMPS OPERATOR (VITERBI) EXP ENCODER,桶式移位寄存器,累加器,40 BIT BARREL (- 16, 31),40 BIT ACC A 40 BIT ACC B,寻址单元,8 辅助寄存器 2 寻址单元,C54x 优化核,Dr. JI ZHEN,54,4.6 比较、选择、存储单元,专用指令 CMPS src, dst,Dr. JI ZHEN,55,4.6 CSSU支持Viterbi算法,Dr. JI ZHEN,56,4.6 Viterbi算法,Vi
11、terbi算法:加法、比较和选择 应用领域:均衡器,通道译码器 执行Viterbi算法指令的操作: (1)ST1 中的 C16置 1,ALU 进行双16位加法 A(3116)=Met 1+D1 A(150) =Met 2+D2 (2) CMPS A,*AR1 ;比较A(3116)和A(150) ;大数送 *AR1,Dr. JI ZHEN,57,4.6 ALU工作在双16位方式的指令(C16=1),Dr. JI ZHEN,58,4.7 指数编码器,到总线,MAC,ALU,17 X 17 MPY 40 BIT ADDER RND, SAT,40 BIT ALU CMPS OPERATOR (VIT
12、ERBI) EXP ENCODER,桶式移位寄存器,累加器,40 BIT BARREL (- 16, 31),40 BIT ACC A 40 BIT ACC B,寻址单元,8 辅助寄存器 2 寻址单元,C54x 优化核,Dr. JI ZHEN,59,4.7 指数编码器,功能: 求A的指数值,以2的补码形式(-8 至31)存入T 累加器指数值=冗余符号位 - 8 对累加器A归一化: EXP A ;冗余符号位 - 8 T Reg ST T,EXPONENT NORM A ;累加器按T中的值移位,得尾数,Dr. JI ZHEN,60,4.8 CPU状态和控制寄存器,C54有3个状态和控制寄存器: 状
13、态寄存器0(ST0)(MMR:6) 状态寄存器1(ST1)(MMR:7) 处理器工作方式状态寄存器 (PMST) (MMR:1D),Dr. JI ZHEN,61,4.8 状态寄存器0(ST0),状态寄存器0(ST0)的结构如下:,Dr. JI ZHEN,62,4.8 状态寄存器ST0各状态位的功能(1),Dr. JI ZHEN,63,4.8 状态寄存器ST0各状态位的功能(2),Dr. JI ZHEN,64,4.8 状态寄存器ST0各状态位的功能(3),Dr. JI ZHEN,65,4.8 状态寄存器1(ST1),状态寄存器1(ST1)的结构如下:,Dr. JI ZHEN,66,4.8 状态寄
14、存器ST1各状态位的功能(1),Dr. JI ZHEN,67,4.8 状态寄存器ST1各状态位的功能(2),Dr. JI ZHEN,68,4.8 状态寄存器ST1各状态位的功能(3),Dr. JI ZHEN,69,4.8 状态寄存器ST1各状态位的功能(4),Dr. JI ZHEN,70,4.8 处理器工作方式状态寄存器(PMST),处理器工作方式状态寄存器(PMST)的结构如下:,Dr. JI ZHEN,71,4.8 处理器工作方式状态 寄存器PMST各状态位的功能(1),Dr. JI ZHEN,72,4.8 处理器工作方式状态 寄存器PMST各状态位的功能(2),Dr. JI ZHEN,7
15、3,4.8 处理器工作方式状态 寄存器PMST各状态位的功能(3),Dr. JI ZHEN,74,4.8 处理器工作方式状态 寄存器PMST各状态位的功能(4),*:仅LP器件有此状态位,所有其它器件上此位均为保留位 。,Dr. JI ZHEN,75,程序总线PBPAB:从程序储存器取指令和取操作数。 数据总线CB/CAB、DB/DAB、EB/EAB: C、D 数据总线:传送操作数; E数据总线:将数据写入数据存储器。,主要内容1TMS320系列DSP发展概况2C54x结构特点3总线结构4CPU5存储器和寻址方式6在片外围电路和外部总线,Dr. JI ZHEN,76,5 存储器,C54存储空间
16、: 64K字程序存储空间 64K字数据存储空间 64K字I/O空间 C548、C549存储空间可扩展到8192K字,Dr. JI ZHEN,77,5.1 存储器,Dr. JI ZHEN,78,5.1 TMS320C54x 片内程序和数据存储器,*用户可以将双寻址RAM(DARAM)和单寻址RAM(SARAM) 配置为数据存储器或程序/数据存储器。,片内存储器:不需要插入等待状态,成本低,功耗小 片外存储器:存储空间大,Dr. JI ZHEN,79,5.1 存储器,处理器工作方式状态寄存器(PMST)中的3个状态位与片内存储器的关系: MP/MC位 若MP/MC=0,则片内ROM安排到程序空间
17、若MP/MC=1, 则片内ROM不安排到程序空间 OVLY位 若OVLY=1, 则片内RAM安排到程序和数据空间 若OVLY=0, 则片内RAM只安排到数据存储空间 DROM位 当DROM=1,则部分片内ROM安排到数据空间 当DROM=0,则片内ROM不安排到数据空间 DROM如何用法与MP/MC的用法无关,Dr. JI ZHEN,80,5.1 TMS320C541存储器图,Dr. JI ZHEN,81,5.1 TMS320C542、543存储器图,Dr. JI ZHEN,82,5.1 TMS320C545、546存储器图,Dr. JI ZHEN,83,5.1 TMS320C548存储器图,
18、Dr. JI ZHEN,84,5.1 TMS320C548/9外部扩展程序存储器图,(片内RAM不映象到程序空间,OVLY0),地址线:23根 XPC=0 XPC=1 XPC=2 XPC=127,Dr. JI ZHEN,85,5.1 TMS320C548/9外部扩展程序存储器图,(片内RAM映象为程序和数据空间,OVLY1),注:当片内RAM映象到程序空间时,所有对XX0000XX7FFF 区间的寻址,不管页号,都映象到片内RAM(000000007FFFF),Dr. JI ZHEN,86,5.2 程序存储器,C54外部程序存储器可寻址64K字(C548/9 8M字) 片内ROM、SRAM、D
19、ARAM都可以映象为程序存储器 当PAGEN(程序地址生成器)发出的地址处在片内存储器地址范围地址以外时,CPU将自动对外部寻址,Dr. JI ZHEN,87,5.2 片内ROM分块图,目的:可以在某一块取指的同时,又在另一块中读数,Dr. JI ZHEN,88,5.2 C54片内2K字ROM,自举加载程序、串行口、外部存储器、I/O口、或者主机接口(如果存在的话)自举加载 256字律压扩表 256字A律压扩表 256字正弦函数值查找表 中断向量表,(F800hFFFF)中的内容(I公司定义),Dr. JI ZHEN,89,5.2 C54片内ROM(高2K字)存储器图,Dr. JI ZHEN,
20、90,5.3 数据存储器,C54数据存储器容量64K字 片内数据存储器:SRAM,DARAM 通过软件,片内ROM可以映象为数据存储器空间 当CPU发出的地址落在片内存储器范围外时,将自动地对外部存储器空间寻址,Dr. JI ZHEN,91,5.3 TMS320C54可用的片内数据存储器,Dr. JI ZHEN,92,5.3 片内RAM分块图,(C548的2000-7FFFh 为单寻址RAM,其余为双寻址RAM) 目的:同一周期内,可以从某一块DARAM中取两个操作数,并将数据写入另一块DARAM中,Dr. JI ZHEN,93,5.3 C54x片内RAM前1K配置图,MMR存储器映象CPU寄
21、存器:不需要插入等待周期 MMR 存储器映象外围电路寄存器:至少需要两个周期,Dr. JI ZHEN,94,5.4 C54x存储器映象CPU寄存器,Dr. JI ZHEN,95,5.5 C54x的I/O存储器,I/O存储空间:64K字 I/O存储空间全部在片外 访问I/O空间指令:PORTR,PORTW,Dr. JI ZHEN,96,5.6 C54x的程序和数据的安全性,C54xDSP有两级安全性选项ROM级和ROM/ RAM级,以提高程序和数据的保密性。 如果采用ROM级安全选项,则从片内RAM或从外部程序存储器取指并执行时,不能读出片内ROM中的内容(数据总线上呈现无效的数据0FFFFh)
22、。 如果采用ROM/RAM级安全选项,则从片外程序存储器取指并执行时,不能读出片内ROM和片内RAM中的内容(数据总线上呈现无效的数据0FFFFh)。,Dr. JI ZHEN,97,6 数据寻址方式,到总线,MAC,ALU,17 X 17 MPY 40 BIT ADDER RND, SAT,40 BIT ALU CMPS OPERATOR (VITERBI) EXP ENCODER,桶式移位寄存器,累加器,40 BIT BARREL (- 16, 31),40 BIT ACC A 40 BIT ACC B,寻址单元,8 辅助寄存器 2 寻址单元,C54x 优化核,Dr. JI ZHEN,98,
23、6.1 TMS320C54x的数据寻址方式,Dr. JI ZHEN,99,6.1 TMS320C54x的数据寻址方式,16位数 32位数(长字指令,双精度运算指令) 偶地址排列法:第一个字(高16位)在偶地址 奇地址排列法:第一个字(高16位)在奇地址,Dr. JI ZHEN,100,6.1 TMS320C54x的数据寻址方式,偶地址排列法(推荐) 第一个字(高字)在偶地址、低地址,Dr. JI ZHEN,101,6.1 TMS320C54x的数据寻址方式,奇地址排列法 第一个字(高字)在奇地址、高地址,Dr. JI ZHEN,102,6.2 部分寻址缩写语,Dr. JI ZHEN,103,6
24、.3.1 立即寻址,在指令中给出操作数(立即数) 立即数:短立即数: 3、5、8位 长立即数:16位 指令长度:12字 用于初始化 LD# 80h, A;80 LD# 32767,B;32767 LD# 23,DP;23 DP LD# 15,ASM;15 ASM LD# 3,ARP;3 ARP,Dr. JI ZHEN,104,6.3.2 绝对寻址,指令中给出所要寻址的存储单元的16位地址 存储单元的16位地址:16位地址, 地址标号 指令长度至少2个字 MVKD SAMPLE,*AR5 ; (SAMPLE) ; *AR5 MVPD TABLE,*AR7- ;(TABLE) *AR7 PORTR
25、 FIFO,*AR5 ; (FIFO) *AR5 LD *(BUFFER), A ; (BUFFER) A,Dr. JI ZHEN,105,6.3.3 累加器寻址,利用累加器中数值作为程序存储器的地址 大多数C54x 是利用A(15 - 0) C548是利用A(22 - 0) READASmem ; A(15 - 0) PAR ; (Pmem (按PAR寻址) Smem WRITASmem ; A(15 - 0) PAR ; (Smem) Pmem (按PAR寻址) CALAB ; (SP) -1 SP ; (PC)+1 TOS ; B(15 - 0) PC,Dr. JI ZHEN,106,6
26、.3.4 直接寻址,基地址低7位偏移地址16位数据存储器地址 基地址: 1.数据页指针DP(9位)(当CPL0) 2.堆栈指针SP (16位)(当CPL1) 偏移地址:指令中Smem的低7位地址 优点: 在不改变DP或SP情况下,可随机地寻址128个存储单元中的任何一个单元,指令只需一个字,Dr. JI ZHEN,107,6.3.4 直接寻址 例1,CPL0:DP(高9位)与Smem的低7位合并16位地址,Dr. JI ZHEN,108,6.3.4 直接寻址 例2,CPL1:SP(16位)Smem的低7位16位地址,Dr. JI ZHEN,109,6.4 间接寻址,间接寻址:按ARx中的16位
27、地址寻址 AR0AR7 8个辅助寄存器都可用来寻址64K字数据存储器中的任一个单元 利用间接寻址,可在单条指令中: 读/写一个16位操作数 读/写两个顺序的数据存储单元 读一个存储单元、写一个存储单元 C54x 有 ARAU0 和 ARAU1,加上AR0AR7,具有丰富的间接寻址功能(见下表),Dr. JI ZHEN,110,6.4 间接寻址形式(1),Dr. JI ZHEN,111,6.4 间接寻址形式(2),Dr. JI ZHEN,112,6.4 间接寻址形式(3),注:寻址16位字时增量/减量为1,32位字时增量/减量为2 注:这种方式只能用写操作指令。,Dr. JI ZHEN,113,
28、6.5 单操作数间接寻址的硬件框图,Dr. JI ZHEN,114,6.6 位码倒序寻址,以16点FFT为例的位码倒序寻址,Dr. JI ZHEN,115,6.6 位码倒序寻址实现方法,用途: 将基-2 FFT乱序的结果整序 用法举例(对于16点FFT): 设定(AR2)0060 存放16个数据的基地址 (AR0)0008 N/2=8 实现程序 RPT #15 PORTW *AR2+0B,PA0,Dr. JI ZHEN,116,6.7 循环寻址,循环缓冲区滑窗 应用: 卷积、相关、FIR滤波、取SIN和COS值等保存最新一批数据或周期性取数 特点: 1. 循环缓冲区首尾相连 2. 地址增量值可
29、变,可正可负 优点: 滑窗数据不需移位 (每次输入新数据至存放最老数据的单元中),Dr. JI ZHEN,117,6.7 循环寻址,循环缓冲区的长度值存放在BK寄存器(循环缓冲区长度寄存器) 中。BK中的数值由指令STM lk,BK设定。不过,长度为R的缓冲区必须从N位地址的边界开始(即循环缓冲区基地址的N个最低有效位必须为0),N是满足2NR的最小的整数。例如,长度R=31的循环缓冲区必须从地址XXXX XXXX XXX0 0000,(N=5,2531,该地址的最低5位为0)开始,同时必须将R值加载到BK寄存器中。 在循环寻址时,首先要指定一个辅助寄存器ARx指向循环缓冲区,根据ARx的低N
30、位作为循环缓冲区的偏移量进行所规定的寻址操作。寻址操作完成后,再根据以下循环寻址算法修证这个偏移量,并返回ARx的低N位: if 0 index + step BK; index = index + step else if index + stepBK; index = index + step - BK else if index + step 0 index = index + step + BK,Dr. JI ZHEN,118,6.8 存储器映象寻址,存储器映象寻址:操作数为MMR中的值 存储器映象寻址指令: LDM MMR, dst MVDM dmad, MMR MVMD MMR,
31、dmad MVMM MMRx, MMRy POPM MMR PSHM MMR STLM src, MMR STM #lk, MMR,Dr. JI ZHEN,119,6.9 堆栈寻址,利用堆栈指针SP寻址 SP始终指向堆栈中所存放的最后一个操作数 堆栈寻址指令: PSHD 将数据存储器中的一个数压人堆栈 PSHM 将一个MMR中的值压入堆栈 POPD 从堆栈弹出一个数至数据存储单元 POPM 从堆栈弹出一个数至MMR,Dr. JI ZHEN,120,6.10 寻址方式小结,Dr. JI ZHEN,121,6.11 程序存储器地址的形成,主要内容 1. 程序存储器地址的形成 2. 影响PC的各种操
32、作: 分支转移 调用与返回 条件操作 单条指令或块指令重复操作 硬件复位 中断,Dr. JI ZHEN,122,6.11 程序地址生成器(PAGEN)的组成,程序计数器(PC) 重复计数器(RC) 块重复计数器(BRC) 块重复起始地址寄存器(RSA) 块重复结束地址寄存器(REA) PC:16位,寻址64K程序空间(C548、C549还有一个XPC,7位可寻址128个64K字页程序空间),Dr. JI ZHEN,123,6.12 程序计数器PC,加载地址到PC的几种途径,INTR K,TRAP K,Dr. JI ZHEN,124,6.13 分支转移操作,无条件分支转移 条件分支转移 条件 延
33、迟:可以先执行分支转移指令后面、且已被取指的一条双字指令或两条单字指令,Dr. JI ZHEN,125,6.13.1 无条件分支转移指令,Dr. JI ZHEN,126,6.13.2 条件分支转移指令,Dr. JI ZHEN,127,6.13.3 无条件调用与返回,Dr. JI ZHEN,128,6.13.4 条件调用与返回,Dr. JI ZHEN,129,6.13.5 条件操作,C54x有一些指令只有当一个条件或多个条件得到满足时才能执行。,Dr. JI ZHEN,130,6.13.6 条件指令中的各种条件(1),Dr. JI ZHEN,131,6.13.6 条件指令中的各种条件(2),Dr
34、. JI ZHEN,132,6.13.7 多重条件指令中的条件组合,多重条件组合要求 分组选择原则:,无同一组内,可以在A、B或C类中各选择一个条件 不能在同一类中选择两个条件 不同组内不能交叉组合 被测试的必须是同一个累加器,Dr. JI ZHEN,133,6.13.8 条件执行指令XC,XC ,cond ,cond,cond 若条件满足,就执行紧随此命令后的个字的指令(只能取1或2两个值,2时,执行1个双字指令或2个单字指令),否则就执行1条或2条NOP指令。,Dr. JI ZHEN,134,6.13.9 条件存储指令,S-SAVE, AC-ACC, C-CONDITION, D-DM S
35、-SAVE, TR-T Reg., C-CONDITION, D-DM S-SAVE, RC-BRC, C-CONDITION, D-DM,Dr. JI ZHEN,135,6.14 重复操作,1 重复执行单条指令 2 重复执行一段程序,Dr. JI ZHEN,136,6.14.1 重复执行单条指令,指令:RPT和RPTZ 由重复计数器(RC)管理 重复执行次数(RC)1 优点:使一些多周期指令变成单周期指令,Dr. JI ZHEN,137,6.14.2 重复操作时变成单周期的多周期指令,注;表中给出的周期数,均为指令不重复操作时的周期数。,Dr. JI ZHEN,138,6.14.3 程序块重
36、复操作,由块重复计数器(BRC)、块重复起始地址寄存器(RSA)和块重复结束地址寄存器(REA)管理 重复执行次数(BRC)1 举例: STM 99,BRC RPTB NEXT1 . NEXT: . 执行结果:RPTB的下条指令至NEXT的上一条指令之间的程序块重复执行100次,Dr. JI ZHEN,139,6.15 复位操作,复位RS是一个不可屏蔽的外部中断 任何时候复位,都会使C54进入一已知状态 RS至少5个时钟周期的低电平 复位后,处理器从FF80开始执行程序,Dr. JI ZHEN,140,6.15.1 复位期间的操作,将IPTR置成1FFh 将PMST中的 MP/MC位置成与引脚
37、MP/MC相同的数值 将PC置成FF80h XPC寄存器清成零(C548/9) 不管MP/MC状态如何,将FF80h加到地址总线 数据总线变成高阻状态 控制线均处于无效状态 产生 IACK信号 INTM置成1,关闭所有的可屏蔽中断 中断标志寄存器IFR清零 产生同步复位信号(SRESET),对外围电路初始化,Dr. JI ZHEN,141,6.15.2 复位时各状态位的初始值,注意:SP及其它状态位没有初始化。,Dr. JI ZHEN,142,6.16 中断,中断是由硬件驱动或软件驱动的信号。 由程序指令(INTR、TRAP或RESET)要求的软件中断 由外围设备发出的硬件中断 (1) 来自外
38、部中断输入口的外部硬件中断信号 (2) 受片内外围电路信号触发的内部硬件中断信号,Dr. JI ZHEN,143,6.16.1 中断类型,可屏蔽中断:可以用软件屏蔽或开放的硬件或软件中断,16个(SINT15SINT30) C541: INT3 , INT2, INT1, INT0, RINT0, XINT0, RINT1, XINT1, TINT 非屏蔽中断RS、NMI,Dr. JI ZHEN,144,6.16.2 中断标志寄存器IFR,存储器映象的CPU寄存器 例:C541IFR 当中断出现时,相应的标志位置1 以下情况下,中断标志位清0: 1、复位; 2、中断得到响应; 3、将1写到IF
39、R的某一位(此位变成0),相应的尚未处理完的中断被清除; 4、执行INTR指令,相应的中断标志位清0,Dr. JI ZHEN,145,6.16.3 中断屏蔽寄存器(IMR),存储器映象的CPU寄存器 屏蔽外部和内部中断 例:C541IMR 开放中断: (1) 状态寄存器ST1中的 INTM0 (2) IMR中的相应位为1 RS和NMI不能被屏蔽,Dr. JI ZHEN,146,6.16.4 中断处理过程,1. 接受中断请求 当发生硬件或软件指令请求中断时,IFR相应位置1(RS和NMI除外)。 2. 响应中断 对软件中断和非屏蔽中断,CPU立即响应 对可屏蔽中断的响应必须满足以下条件: (1)
40、 优先级别最高(同时出现多个中断时) (2) ST1 中 的 INTM(中断方式位)0 (3) IMR 中 的 相 应 位 为 1 CPU响应中断时,让PC转到相应的中断向量处,并发出IACK信号,清除相应中断标志位 3.执行中断服务子程序,中断返回,Dr. JI ZHEN,147,6.16.5 中断操作流程图,关闭所有的中断,Dr. JI ZHEN,148,6.16.6 中断向量地址的形成,中断向量地址IPTR(9位)左移2位后的中断向量序号 举例:INT0:其序号为10,左移2位为40 若IPTR001,则中断向量地址位00c0h,复位时:IPTR1FF,中断向量表序号为0,故复位向量地址
41、为FF80 改变PMST寄存器中的IPTR值,可改变中断向量地址,Dr. JI ZHEN,149,6.17 省电工作方式,C54可以工作在多种省电工作方式 在省电工作状态(IDLE1、IDLE2、IDLE3、HOLD): CPU暂停工作 功耗减小 保持CPU内容 省电工作方式结束时,CPU继续工作 此外,还有两种省电方式: 将BSCR(分区开关控制)寄存器第0位置1,关断外部总线 将PMST(处理器工作方式状态)寄存器的CLKOFF位置1,关断CLKOUT输出,Dr. JI ZHEN,150,6.17 四种省电工作方式,*与HM位有关,若HM=0,处理器从内部程序存储器取指,继续执行内部操作;
42、否则,暂停内部操作。,Dr. JI ZHEN,151,6.18 流水线,C54中的流水线操作 典型的流水线图 流水线中的时序冲突 等待周期表,Dr. JI ZHEN,152,6.18.1 流水线操作,C54 6级指令流水线 任何一个机器周期内,可有16条指令同时工作,Dr. JI ZHEN,153,6.18.2 流水线的存储器操作,分两阶段: 加载储存单元的地址 进行读/写操作 举例: (a) 取指 (b) 单操作数读 (c) 双操作数读 (d) 单操作数写 (e) 双操作数写 (f) 读一个操作数和写一个操作数,Dr. JI ZHEN,154,6.18.3 流水线中的存储器存取操作(1),D
43、r. JI ZHEN,155,6.18.4 流水线中的存储器存取操作(2),Dr. JI ZHEN,156,6.18.5 分支转移指令的流水线图,黄褐部分表示一条指令的全部操作,Dr. JI ZHEN,157,6.18.5 分支转移指令流水线图分析,周期1:用指令地址a1加载PAB 周期2、3:双字分支转移指令取指 周期3、4:分支转移指令译码 周期5:用b1加载PAB 周期6、7:执行阶段 执行分支转移指令需要4T 在流水线过程中紧随B指令后的i3、i4指令(都是单字单周期指令)根据是否延迟决定能否被执行。,Dr. JI ZHEN,158,6.18.6 延迟分支转移,问题的提出: B指令的执
44、行只需2T,但现在是4T,浪费2个周期 原因: 还未转移到1地址,不可能从地址处取指 解决办法: 延迟分支操作,Dr. JI ZHEN,159,6.18.6 延迟分支转移指令流水线图,延迟分支转移指令在6、7周期执行,变成双周期指令 在转移前,执行i3,i4(两条单字周期指令) 第10个周期转至b1,执行j1指令,Dr. JI ZHEN,160,6.18.6 延迟分支转移指令的用法,Dr. JI ZHEN,161,6.18.7 具有延迟操作功能的指令,BD BANZD CALLD FCALLD RETED FRETD BACCD FBD CALAD FCALAD RETFD FRETED BC
45、D FBACCD CCD RETD RCD,Dr. JI ZHEN,162,6.18.8 条件执行,C54x有一条条件执行指令: XC n, cnd, cnd, cnd 如果条件满足,则执行下面n(n=1或2)条指令,否则下面n条指令改为执行n条NOP指令,它的流水线图如图1-29所示。 由下页流水图可见: 周期4:XC指令的地址a4加载到PAB。 周期5:取XC指令的操作码。 周期7:当XC指令在流水线中进行到寻址级时,求解XC指令所规定的条件。如果条件满足,则后面的两条指令i5和i6进入译码级并执行;如果条件不满足,则不对i5和i6指令译码。 需要注意的是,在求解XC指令的条件时, 它前面
46、的两条指令还没有执行完, 因此, 这两条指令对XC的操作是不会产生影响的。 条件执行指令XC, 是一条单字单周期指令, 与条件跳转指令相比, 具有快速选择其后1或2条指令是否执行的优点。XC指令在执行前2个周期就已经求出条件,如果在这之后到执行前改变条件(例如,发生中断), 将会造成无法预期的结果。所以,要尽力避免在XC指令执行前2个周期改变指令所规定的条件。,Dr. JI ZHEN,163,6.18.8 条件执行指令流水线图,Dr. JI ZHEN,164,6.18.9 双寻址RAM(DARAM)与流水线,C54片内DARAM存储器块内部允许单周期访问其两次单周期内允许同时访问DARAM的不
47、同块单周期内允许两条指令访问DARAM的不同块允许处于不同级的两条指令同时访问同一DARAM块,为何单周期内CPU能同时访问DARAM两次?,原因:一次访问在前半周期 另一次访问在后半周期 前半、后半周期操作: 利用PAB、PB取指前半周期 利用DAB、DB读取第一个数据前半周期 利用CAB、CB读取第二个数据后半周期 利用EAB、EB将数据写入存储器 后半周期,Dr. JI ZHEN,165,6.18.9 DARAM的半周期寻址图(1),Dr. JI ZHEN,166,6.18.9 DARAM的半周期寻址图(2),Dr. JI ZHEN,167,6.18.10 单寻址RAM(SARAM)与流
48、水线,单周期访问2次片内DARAM,一般不会发生时序冲突,有冲突也能自行解决 单周期存储器:SARAM、ROM、或PROM 单周期内寻址不同的存储器块,不会发生时序冲突 单周期内同时访问同一存储器块,就会出现时序上的冲突。此时,先在原来的周期上执行一次寻址操作,并将另一次寻址操作自动延迟到下一个周期。自动解决,流水线等待一个周期。,Dr. JI ZHEN,168,6.18.10 从DARAM块中同时取指和取操作数,Dr. JI ZHEN,169,6.18.10 单寻址存储器与流水线,流水线的优点:允许CPU多条指令同时利用CPU资源 当一个CPU资源同时被一个以上流水级访问时,就会发生时序上的
49、冲突 有些时序冲突,CPU通过延迟寻址,自动缓解 有些时序冲突,无法防止,需插入NOP(空操作)指令(或重新安排指令顺序)解决,Dr. JI ZHEN,170,6.18.11 流水线的等待周期,辅助寄存器(AR0AR7) 重复块长度寄存器(BK) 堆栈指针(SP) 暂存器(T) 处理器工作方式状态寄存器(PMST) 状态寄存器(ST0和ST1) 块重复计数器(BRC) 存储器映象累加器(AG、AH、AL、BG、BH、BL),对下列存储器映象寄存器同时寻址,有可能发生时序上的冲突,Dr. JI ZHEN,171,6.18.12 流水线冲突情况分析,只有某些MMR操作才会引起插入等待周期问题,Dr
50、. JI ZHEN,172,6.18.12流水线冲突情况分析(例1),对辅助寄存器执行标准的写操作引起的等待问题,N表示需要AR1中的值,Dr. JI ZHEN,173,6.18.12 流水线冲突情况分析(例2),将例1中的第一条指令改用STM指令,则情况就发生了变化,(STM是一条保护性指令),Dr. JI ZHEN,174,6.18.12 流水线冲突情况分析(例3),通过插入NOP指令的方法解决流水线冲突,C54自动地将写操作延迟一个周期,缓解了第一个矛盾 第三条指令需要AR1中的值时,没有准备好冲突,Dr. JI ZHEN,175,6.18.12 流水线冲突情况分析(例3),例3的方法解
51、决结果是流水线不再发生冲突,Dr. JI ZHEN,176,6.18.13 等待周期表,例4:对辅助寄存器执行标准的写操作,N表示需要AR1中的值,Dr. JI ZHEN,177,6.18.12 等待周期表,例5:对辅助寄存器执行标准的写操作引起的等待问题,N1表示需要AR2中的值 N2表示需要AR3中的值,Dr. JI ZHEN,178,6.18.13 等待周期表,例6:对ST0执行标准的写操作引起的等待问题,N表示需要ST0中的DP值,Dr. JI ZHEN,179,6.18.14 流水线时序冲突问题小结,CALU操作不存在等待周期问题。 早一点在初始化时设置好MMR,可以避免读MMR时发
52、生冲突。 尽可能利用保护性MMR写指令,也可以避免发生冲突。 利用等待周期表,可以处理好对MMR的写入操作。 在调试中,应当关注未被保护的MMR写操作。,Dr. JI ZHEN,180,主要内容1TMS320系列DSP发展概况2C54x结构特点3总线结构4CPU5存储器和寻址方式6在片外围电路和外部总线,Dr. JI ZHEN,181,6 在片外围电路,1通用I/O引脚:XF和BIO 2定时器 3时钟发生器 4主机接口(C542、C545和C548) 5串行口 6外部总线 7可编程分区开关,Dr. JI ZHEN,182,6.1 通用I/O引脚,受软件控制的专用引脚:BIO和XF BIO引脚用
53、法举例: XC 2,BIO BIO为低,执行后面一条双字或2条单字指令 XF引脚用法举例: SSBXXF RSBXXF,Dr. JI ZHEN,183,6.2 定时器,片内定时器方框图,PRD :周期寄存器 TIM :定时寄存器(-1计数器) TCR :定时器控制寄存器 TDDR:定时器分频系数寄存器 PSC:定时器预先定标计数器,Dr. JI ZHEN,184,6.2 定时器控制寄存器(TCR),(TCR)中包含有定时器的控制位和状态位,Dr. JI ZHEN,185,6.2 条件定时器控制寄存器(TCR)的功能,Dr. JI ZHEN,186,6.2 定时中断的周期,CLKOUT(TDDR
54、1)(PRD1) 其中: CLKOUT时钟周期 TDDR定时器分频系数 PRD定时器时间常数,Dr. JI ZHEN,187,6.2 定时器的用法,关闭定时器: 只要将TCR的TSS位置1,切断时钟输入,定时器停止工作,减小功耗 定时器初始化: (1) 将TCR的TSS位置1(关闭定时器) (2) 加载PRD (3) 加载TCR(使TDDR初始化,令TSS位为0,TRB位置1), 启动定时器 开放定时中断: (1)将IFR中的TINT位置1,清除尚未处理完的定时器中断 (2)将IMR中的TINT位置1,开放定时中断 (3) 将ST1中的INTM位清0,从整体上开放中断 复位时: TIM和PRD
55、都置成FFFF,定时器的分频系数(TCR和TDDR位)清0,定时器开始工作,Dr. JI ZHEN,188,6.3 时钟发生器,组成:内部振荡器和锁相环(PLL)电路两部分 参考时钟:,方法1:外接晶体,方法2:外部时钟信号由引脚X2/CLKIN输入(X1空着),Dr. JI ZHEN,189,6.3 C54x PLL的配置形式,硬件配置的PLL (C541、C542、C543、C545和C546) 软件可编程PLL (C545A,C546A和C548),Dr. JI ZHEN,190,6.3 时钟方式的配置方法,Dr. JI ZHEN,191,6.3 软件可编程PLL,对时钟方式寄存器(CL
56、KMD)进行编程,可以: (1) 提供各种时钟乘法器系数 (2) 控制PLL的通和断 (3) 控制时钟发生器的工作方式 (4) 自动延迟定时,直到PLL锁定 时钟发生器的工作方式: (1) PLL方式:输入时钟(CLKIN)(0.2515) (2) DIV(分频器)方式:输入时钟(CLKIN2或4),Dr. JI ZHEN,192,6.3 复位时设置的时钟方式,Dr. JI ZHEN,193,6.3 时钟方式寄存器(CLKMD)各位的定义,时钟方式寄存器(CLKMD)各位段的功能,Dr. JI ZHEN,194,6.3 时钟方式寄存器(CLKMD)各位段的功能,Dr. JI ZHEN,195,
57、6.3 PLL的乘系数,Dr. JI ZHEN,196,6.4 主机接口(HPI),仅C542,C545和C548片内有HPI HPI是一个8位并行口,C54与主处理器接口,Dr. JI ZHEN,197,6.4 HPI的组成,HPI数据锁存器(HPID) HPI控制寄存器(HPIC) HPI存储器 (DARAM) HPI地址寄存器(HPIA) HPI控制逻辑,Dr. JI ZHEN,198,6.5 C54串行口,高速全双工串行口 与其它C54x 器件、编码解码器、串行A/D等接口 C54x串行口的三种形式: (1) 标准同步串行口(SSSP) (2) 缓冲串行口(BSP) (3) 时分多路串
58、行口(TDM) 串行口可以工作在任意低的时钟频率上,Dr. JI ZHEN,199,6.5 串行口的概述,TMS320C54x 的串行口,Dr. JI ZHEN,200,6.5 标准同步串行口,2个MMR: 发送数据寄存器(DXR) 接受数据寄存器(DRR) 每个串行口都有相关的时钟、帧同步脉冲及串行口移位寄存器 串行数据可按8位字节或16位字转换 收发数据操作时,产生可屏蔽收发中断:RINT 和 XINT 软件管理串行口数据传送 串行口是双缓冲的 最高时钟频率CLKOUT/4 (若CLKOUT周期为25ns时为10Mbit/s),Dr. JI ZHEN,201,6.5 缓冲串行口(BSP),
59、BSP是在标准同步串行口的基础上增加了一个自动缓冲单元(ABU),是一种增强型标准串行口 ABU有独立于CPU的专用总线,可允许串行口直接读写C54的内部存储器 处理事务的开销最省,数据率较高 BSP有两种工作方式: (1)非缓冲方式(与标准串行口相同) (2)自动缓冲方式(串行口直接与 C54 内部存储器进行16位数据传送),Dr. JI ZHEN,202,6.5 时分多路串行口(TDM),将时间分成若干子间隔,每个子间隔传送一个通信信息 C54x TDM最多可以有8个TDM信道 每个C54x 可以用一个信道发送数据,一个或一个以上信道接收数据 应用场合:多处理器通信 TDM有两种工作方式: (1) 非TDM方式(与标准串行口相同) (2) TDM方式,Dr. JI ZHEN,203,6.5 标准串行口的组成,标准串行口的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 同仁堂集团2026届高校毕业生招聘备考题库及答案详解(易错题)
- 2025年江苏苏海投资集团有限公司及下属子公司对外公开招聘工作人员57人备考题库及完整答案详解1套
- 福建省水利投资开发集团有限公司2025年度招聘备考题库及答案详解(夺冠系列)
- 2025年武汉科技大学专项公开招聘工作人员(第三批)8人备考题库有完整答案详解
- 2025年温州白鹿传媒有限公司面向社会公开招聘其他用工形式工作人员的备考题库附答案详解
- 2025年中山大学肿瘤防治中心放疗科何立儒教授课题组自聘技术员招聘备考题库及答案详解一套
- 2025年北京大学医学部医院医学检验专业技术人员招聘备考题库及答案详解一套
- 2025年无锡市第五人民医院公开招聘高端紧缺类专技人才5人备考题库及答案详解(考点梳理)
- 2025年湖北省妇幼保健院备考题库部工作人员招聘备考题库及一套完整答案详解
- 苏州卫生职业技术学院2026年公开招聘36人备考题库及一套答案详解
- 2026年及未来5年中国面粉加工行业市场发展现状及投资方向研究报告
- 女职工特殊保护 政策课件
- 2026年内蒙古建筑职业技术学院单招职业技能考试题库及参考答案详解(新)
- 2026年春季学期德育工作安排方案(德育四表)
- 互联网企业网络安全管理制度(标准版)
- 2026年春节后复工复产安全专题培训
- 2026年春人教PEP版(新教材)小学英语四年级下册(全册)教学设计(附目录)
- 2026内蒙古地质矿产集团有限公司社会招聘65人备考题库含答案详解(培优b卷)
- 2026年渭南职业技术学院单招职业技能考试题库带答案解析
- 智鼎在线测评题库IQT答案
- 1.1时代为我搭舞台(课件)-中职思想政治《心理健康与职业生涯》高教版2023基础模块
评论
0/150
提交评论