第2章DSP控制器总体结构
DSP第二章DSP芯片的基本结构和特征

允许文本交换的4×12位堆栈 两个间接寻址的辅助寄存器
双通道串行口(TMS32011,TMS320C17/E17) 协处理器接口(TMS320C17/E17) 器件封装:40脚双列直插(DIP)/44脚塑封(PLCC)
h
12
2.3.1.2 TMS320C10 TMS32010采用改进的哈佛结构,即程序和数据
DSP芯片的特征就是有一个专用的硬件乘法器。 在TMS320系列中,由于具有专用的硬件乘法 器,乘法可在一个指令周期内完成。
h
9
2.2.4 特殊的DSP指令
DSP芯片的另一个特征:特殊的指令。 指令DMOV:它完成数据移位功能。在数字信号处理中, 延迟操作非常重要,这个延迟就是由DMOV来实现的。
第二章
DSP芯片的基本 结构和特征
h
1
2.1 引 言
可编程DSP芯片是一种具有特殊结构的微处理器。 DSP芯片一般都具有程序和数据分开的总线结构、 流水线操作功能、单周期完成乘法的硬件乘法器以及 一套适合数字信号处理的指令集。
本章内容:DSP芯片的基本结构,TI公司的各种 DSP芯片的特征及其他公司的DSP芯片的特点。
h
7
CLKOUT1
取指 译码 执行
N N-1 N-2
N+1 N
N-1
N+2 N+1
N
h
8
2.2.3 专用的硬件乘法器
乘法是DSP的重要组成部分。滤波器常常做一 次乘法和一次加法(XY)。乘法速度越快,DSP
处理器的性能就越高。 在通用的微处理器中,乘法指令是由一系列加 法来实现的,故需许多个指令周期来完成。
期使得DSP芯片能够实时实现许多DSP应用。
DSP原理及应用第二章DSP的硬件结构总结(精)

第2章DSP的硬件结构DSP的硬件结构:DSP与标准微处理器有许多共同的地方,都是由CPU、存储器、总线、外设、接口、时钟组成。
从广义上讲,可以说DSP是一种CPU。
但DSP和一般的CPU 又有不同, DSP有自己的一些独特的特点,比如采用哈佛结构、流水线操作、独立的硬件乘法器、独立的DMA总线和控制器等。
Von Neuman结构与Harvard结构:Harvard结构:程序与数据存储空间分开,各有独立的地址总线和数据总线,取指和读数可以同时进行,从而提高速度,目前的水平已达到90亿次浮点运算/秒(9000MFLOPS)。
MIPS--Million Instruction Per SecondMFLOPS--Million Floating Operation Per Second流水操作(pipeline):独立的硬件乘法器:在卷积、数字滤波、FFT、相关、矩阵运算等算法中,都有A(kB(n-k一类的运算,大量重复乘法和累加。
通用计算机的乘法用软件实现,用若干个机器周期。
DSP有硬件乘法器,用MAC指令(取数、乘法、累加)在单周期内完成。
独立的DMA总线和控制器:有一组或多组独立的DMA总线,与CPU的程序、数据总线并行工作,数据的传递和处理可以独立进行,DMA内部总线与系统总线完全分开,避开了总线使用上的瓶颈。
在不影响CPU工作的条件下,DMA速度已达800Mbyte/s。
CPU:通用微处理器的CPU由ALU和CU组成,其算术运算和逻辑运算通过软件来实现,如加法需要10个机器周期,乘法是一系列的移位和加法,需要数十个机器周期。
DSP的CPU设置硬件乘法器,可以在单周期内完成乘法和累加.移位:通用微处理器的移位,每调用一次移位指令移动1-bitDSP可以在一个机器周期内左移或右移多个bit,可以用来对数字定标,使之放大或缩小,以保证精度和防止溢出;还可以用来作定点数和浮点数之间的转换.溢出:通用CPU中,溢出发生后,设置溢出标志,不带符号位时回绕,带符号位时反相,带来很大的误差DSP把移位输出的最高位(MSB)存放在一个位检测状态寄存器中,检测到MSB=1时,就通知下一次会发生溢出,可以采取措施防止.数据地址发生器(DAG):在通用CPU中,数据地址的产生和数据的处理都由ALU来完成在DSP中,设置了专门的数据地址发生器(实际上是专门的ALU),来产生所需要的数据地址,节省公共ALU的时间.外设(peripherals):时钟发生器(振荡器与PLL)定时器(Timer)软件可编程等待状态发生器通用I/O同步串口(SSP)与异步串口(ASP)JTAG扫描逻辑电路(IEEE 1149.1标准便于对DSP作片上的在线仿真和多DSP条件下的调试’C54x的内部结构:中央处理器CPU 、内部总线控制、特殊功能寄存器、数据存储器RAM 、程序存储器ROM、I/O功能扩展接口、串行口、、主机通信接口HPI、定时系统、中断系统。
dsp第二章结构

另一个输入来自移位器:
乘积移位器的输出 或输入移位器的输出
1、中央算术逻辑单元(CALU)
•结果数据输出:
累加器
•符号扩展方式位:
• 符号扩展方式位(SXM)决定了CALU 在计算时是否使用符号扩展:
当SXM=0时,符号扩展被抑制;
SXM=1时,符号扩展被使能。
2、累加器
累加器
•输入: CALU 的运算结果被送入累
加器中,并在累加器中执行移位或 循环操作; • 输出:累加器的输出连至 32位输 出数据定标移位器,从而可以将累 加器的内容复制到输出移位器; •在输出移位器中,这个复制的高或
低 16 位字可分别被移位并存入适当
的数据存储单元
2、累加器
• 与累加器操作有关的状态位:
进位位(C), 状态寄存器(ST1)的第9位:
SST —— 读状态寄存器
例:SST #k, dma (k = 设置或清除两个状态寄存器的某个位。
状态寄存器各位定义:
ST0:
ARP: 辅助寄存器指针。 这个三位域选择哪一个辅助寄存器(AR)用于间接寻址。当写ARP时, 旧的ARP值被复制到ARB中。
任何支持间接寻址的指令、MAR指令或LST指令都可以修改ARP。
正方向溢出时,累加器被填充为最大正数(7FFF FFFFh), 负方向溢出时,累加器被填充为最大负数(80000000h): 当OVM = 0时,累加器对数据溢出不进行使任何特殊处理。
2、累加器
溢出标志位(OV),状态寄存器(ST0)的第12位。 当累加器运算没有溢出时:OV=0; 有溢出时:OV = 1。 测试/控制标志位(TC),状态寄存器(ST1)的第11位:
§2-2 中央处理单元(CPU) 组成: • 输入定标单元
第二章 DSP架构与原理

表1.2 单片可编程DSP芯片
公司 AMI NEC TI DSP芯片 S2811 µPD7720 µPD77230 TMS32010 TMS32020 TMS320C25 TMS320C30 TMS320C40 TMS320C50 TMS320C203 TMS320LC549 TMS320C62X MC56001 MC96002 MC56002 DSP32C DSP16A DSP3210 ADSP2101 ADSP21020 推出时间 1978 1980 1985 1982 1987 1989 1989 1992 1990 1996 1996 1997 1986 1990 1991 1988 1988 1992 1990 1991 MAC周期(ns) 300 250 150 390 200 100 60 40 35 12.5 10 5 75 50 50 80 25 60 60 40 定点位数 12/16 16/32 32 16/32 16/32 16/32 24/32 32 16/32 16/32 16/32 16/32 24 32/64 24/48 16或24 16/36 24 16 32 浮点位数
第一代TMS320处理器采用二级流水线, 第二代采用三级流水线, 而第三代则采用四级流水线。
处理器可以并行处理2~6条指令,每条指令 处于流水线上的不同阶段。
三级流水线操作的例子
CLKOUT1
取指 译码 执行
N N-1 N-2
N+1 N N-1
N+2 N+1 N
取指、译码和执行操作可以独立地处理,这可使指 令执行能完全重叠。在每个指令周期内,三个不同的 指令处于激活状态,每个指令处于不同的阶段。
TMS32010 TMS32010-25 TMS32010-14 TMS32011 TMS320C10 TMS320C10-25 TMS320C15 TMS320C15-25 TMS320E15 TMS320C17200 TMS320C17-25 TMS320E17
DSP总体结构

不变。
累加器 00F0 F0A1 32 输出移位器 (左移4位) 数据存储器 位置 0F0F 16 0F0F (a) 0A10 输出移位器 (左移6位) 3C3C 累加器 00F0 F0A1 32 2840 16 2840
数据存储器 位置 (b)
2.3 辅助寄存器算术逻辑单元
主要功能
在CALU操作的同时实现8个辅助 寄存器(AR7~AR0)上的算术运算。
乘法器的输入
乘法器的输出
16 位 临 时 寄 存 器 (TREG) , 在 乘法之 前把数据读总线的 值加载到TREG;
数据读总线的数据 存储器值和程序读 总线的程序存储器 值。
两个输入值相乘后的32 位结果保存在乘积寄存 器(PREG)中; PREG的输出连接到32 位的乘积移位器,通过 PSCALE将乘积结果送 到CALU或数据存储器。
PM
OV溢出标志位:进行补码运算时,数据超出范围将发生溢出, OV=1。
复位、溢出时条件转移、无溢出时条件转移或LST指令使该位清0。
OVM溢出方式位:该位决定如何管理CALU的溢出。OVM=0,不对溢
出结果进行调整;OVM=1,对溢出结果进行调整,正溢出时ACC的结 果调整为7FFFFFFFH,负溢出时调整为80000000H。
状态寄存器 ST1第9位 说明 C=0:减结果产生借位/加结果未产生进位;C=1:加结果产生进位/减结果 未产生借位;左移或左循环,ACC最高位送至C,否则最低位送至C。
状态位 进位位C
溢出方式位OVM
ST0第11位
决定ACC如何反映算术运算的溢出。OVM=1:正溢出,ACC填充最大 正数,否则填充最大负数;OVM=0:正常溢出。
2-DSP的硬件结构

累加器 A
39-32 AG 保护位 39-32 BG 保护位
31-16 AH 高阶位 31-16 BH 高阶位
15-0 AL 低阶位 15-0 BL 低阶位
累加器 B
•累加器分为保护位(AG、BG)、高阶位(AH、BH) 和低阶位(AL、BL)三部分。 •使用STH、STL等指令,可将累加器的内容存放到数 据存储器中。右移时,AG和BG中各数据位分别移至 AH和BH;左移时,AL和BL中各数据分别移至AH和 BH,而AL和BL的低位添0。 •注意:由于移位操作是在移位寄存器中进行,所以操 作后累加器中的内容保持不变。
流水操作(pipeline)
第一条指令取数时,第二条指令译码,第 三条指令取指,依次类推。
取指 译码 取指 取数 译码 取指 执行 取数 译码 取指 执行 取数 译码 执行 取数 执行
流水线操作
在C54x的流水线中,一条指令分为以 下6个阶段: 在T1机器周期内CPU将PC中的内 预取指 容加载到程序地址总线PAB,找到指
都有算术逻辑单元(32bit、40bit) 都有累加器ACC(一个32bit、两个40bit ) 都有乘法器(16×16bit、17×17bit) 都有移位器(乘积定标、桶形) C24x有辅助寄存器及其算术单元ARAU (用来产生数据存储器的地址);C54x有 比较、选择和存储单元CSSU(完成累加 器高低字节间的最大值比较、选择累加器 中较大的字、存储在数据存储器中) C54x还有指数编码器、CPU状态和控制寄 存器
三、专门的硬件乘法器和乘加指令MAC
在数字信号处理的算法中,乘法和累加是 基本的大量运算,占用绝大部分的处理时 间。例如,数字滤波,卷积,相关,向量 和矩阵运算中,有大量的乘和累加运算。 PC机计算乘法需多个周期用软件实现,而 DSP设置了硬件乘法器以及乘加指MAC, 在单周期内取两个操作数一次完成。
第二章 DSP芯片结构介绍

15 14 13 12 11 10 9 8 7 6
5 4~0
BRAF CPL XF HM INTM 0 OVM SXM C16 FRCT CMPT ASM
块重复操
作标志位,
指示当前 是(1)否(0) 在执行块 重复操作。
直接寻址编 方式位。指 直接寻址时 用何种指针 DP 的 直 接 寻
辑 示 采 。 址
20
3.桶形移位器的功能
• 什么是定标
要 点
• 移位处理的作用 • 归一化的作用
BA CD
信号控制
桶形移位器(40位)
• 为何要扩展符号位
S
ALU
最高/最低有 效字选择
E
21
• 什么是定标
要 • 移位处理的作用
当数据存储器 的数据送入累 加器或与累加
点 • 归一化的作用
器中的数据进 行运算时,先
17X17乘法
• 饱和处理的优点
40位加法
• 数据流向
检零 饱和 取整
25
• 结构
要 • 功能 点 • 什么是舍入处理
• 饱和处理的优点 • 数据流向
乘法器/加法器 单元可以在一 个流水线状态 周期内完成一 次乘法累加 ( MAC ) 运 算 。
26
乘法器能够执行:
无符号数乘法(每个16位操作数前面加一个0);
15~ 13 12 11 10 9 8~ 0 ARP TC C OVA OVB DP
进位位。
执行加法
产生进位
置1,减
Байду номын сангаас
法 位
产则生清借0 。累加器溢出标志位。
数据存储器页指针。 这9位字段与指令字 中的低7位结合在一 起,形成一个16位直 接寻址存储器的地址, 对数据存储器的一个 操作数寻址。
DSP 第二章 DSP芯片的基本结构和特征

1.存储器分配 TMS320C25具有4K字的片内程序ROM和544字的片内RAM。 RAM分为三块:B0、B1、B2。其中,B0块(256字)既可 配置为数据存储器(用CNFD指令),也可配置为程序存储器 (用CNFP指令)。其余288字(B1和B2块)只能是数据存储器。 544字的片内RAM可使C25能处理512字的数据阵列,如可进行 256点复数FFT运算,且尚有32字用作中间结果的暂存。 TMS320C25提供片外可直接寻址的程序和数据空间各64K字。 寄存器组包含8个辅助寄存器(AR0~AR7),它们可用作数据 存储器的间接寻址和暂存,从而增加芯片的灵活性和效率。这 些寄存器既可用指令直接寻址,也可用3比特的辅助寄存器指针 (ARP)间接寻址。辅助寄存器和ARP既可从数据存储器装数, 也可装入立即数。寄存器的内容也可存入数据存储器中。辅助 寄存器组与辅助寄存器算术单元(ARAU)相连接,用ARAU访 问信息表无需CALU参与地址操作,这样可让CALU进行其他操 作。
在哈佛结构中:由于程序和数据存储器 在两个分开的空间中,因此取指和执行能完全 重叠运行。 TMS320系列DSP芯片在基本哈佛结构的基础 上作了改进: 一是允许数据存放在程序存储器中,并被算 术运算指令直接使用,增强了芯片的灵活性; 二是指令存储在高速缓冲器(Cache)中,当 执行此指令时,不需要再从存储器中读取指令, 节约了一个指令周期的时间。如TMS320C30具 有64个字的Cache。进一步提高了运行速度和灵
2.2.4 特殊的DSP指令DSP芯片的另一个特征:特殊的指令。 指令DMOV:它完成数据移位功能。在数字信号处理中, 延迟操作非常重要,这个延迟就是由DMOV来实现的。 指令LTD:它在一个指令周期内完成LT、DMOV和 APAC(将乘法结果加到ACC中 )三条指令。 指令FIRS:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Communications Ports
Multiple standard communication ports provide simple interfaces to other components
11
F281x DSP的 功能框图
12
On-Chip Flash Memory
Code security
脚。 • 外部中断或GPIOE 引脚。 • 通用数字I/O GPIOF或XF输出引脚。据及存储器控制信号引脚
XA[18]~XA[0]: 19根外部地址线。
XD[15]~XD[0]: 16根外部数据线。
XMP/ MC :微处理器/微计算机模式选择 。
XHOLD :外部保持请求。
Real-Time JTAG
RMW Atomic
ALU
32-bit Register
File
Peripheral Bus
Event Mgr A Event Mgr B 12-Bit ADC
Watchdog GPIO
McBSP CAN 2.0B SCI-UART A SCI-UART B
SPI
High-Performance CPU (C28xTM DSP Core)
MCeomnotrroyl SPuebri-pShyesrtaelms
Fast program execution out of both RAM and Flash memory 100-120 MIPS with Flash Acceleration Technology 150 MIPS out of RAM for time-critical code
Control Ports
Event Managers Ultra-Fast 12-bit ADC 12.5 MSPS throughput Dual sample&holds enable simultaneous sampling Auto Sequencer, up to 16 conversions w/o CPU
Code security
128Kw Flash + 2Kw OTP
18Kw RAM
4Kw Boot ROM
XINTF
Memory Bus
Interrupt Management
150 MIPs C28xTM 32-bit DSP
32x32-bit Multiplier
32-bit Timers (3)
128Kw Flash + 2Kw OTP
18Kw RAM
4Kw Boot ROM
XINTF
Memory Bus
Interrupt Management
C28xTM 32-bit DSP
32x32-bit Multiplier
32-bit Timers (3)
Real-Time JTAG
RMW Atomic
• XINTF (External Interface) 信号: 地址(19位)/数据(16 位)及存储器控制信号引脚。
• JTAG仿真测试及其他(振荡器、复位)引脚。 • A/D转换器引脚。 • 电源引脚。 • GPIOA、GPIOD或( EVA)引脚, GPIO 56个引脚。 • GPIOB 、GPIOD或( EVB事件管理器B)引脚。 • 通信模块(SPI/SCI/CAN/McBSP)或GPIOF、GPIOG引
2
2.1 DSP的引脚及其功能
下图分别为TMS320F2812的176引脚PGF LQFP(LowProfile Quad Flatpack)封装图和TMS320F2810的128引脚 PBK LQFP封装图。
3
F2812 DSP的 引脚
4
F2810 DSP的 引脚
5
引脚说明 (见教材表格)
XHOLDA :外部保持应答。
XZCS0AND1 :XINTF 的Zone0和 Zone1选择。
XZCS2
:XINTF 的Zone2选择。
XZCS6AND7 :XINTF 的Zone6和 Zone7选择。
XWE
:写使能。
XRD
:读使能。
XR/ W
:读/写选通。
XREADY :准备好信号 。
7
TI还推出了F2808、F2806、F2801等型号,其内部结 构与F2812类似,但引脚数、时钟频率、内部资源有所降低, 以降低成本。
ALU
32-bit Register
File
Peripheral Bus
Event Mgr A Event Mgr B 12-Bit ADC
Watchdog GPIO
McBSP CAN 2.0B SCI-UART A SCI-UART B
SPI
Memory Sub-System
Quarter of a Megabyte of on-chip Flash Memory
F28x DSP的硬件资源
8
2.2 DSP的片内硬件资源
F281x DSP的功能框图
9
2812 DSP控制器的结构
• CPU • 片内存储器 • 片内外设 (片内接口电路)
10
TMS320F2812 / TMS320F2810
Most Powerful - Most Integrated Dual Function Digital Signal Controller
第2章 TMS320F281x DSP控制器总体结构
本章内容: 2.1 DSP的引脚及其功能 2.2 DSP的片内硬件资源 2.3 存储器扩展外部接口 2.4 DSP 片内Flash和OTP存储器 2.5 代码安全模块
1
2.6 时钟与低功耗模式 2.7 看门狗定时器 2.8 32位 CPU定时器 2.9 通用输入/输出 2.10 片内外设寄存器 2.11 外设中断扩展
Fast program execution out of both RAM and Flash memory