第2章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第二章结构

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总体结构

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:正常溢出。

DSP原理及应用第二章DSP的硬件结构总结(精).doc

DSP原理及应用第二章DSP的硬件结构总结(精).doc

DSP原理及应用第二章DSP的硬件结构总结(精)【例2.4.1】累加器A=FF01234567H,执行带移位的STH 和STL指令后,求暂存器T和A的内容。

2.4.3桶形移位寄存器:TMS320C54x的40位桶形移位寄存器主要用于累加器或数据区操作数的定标。

它能将输入数据进行0~31位的左移和0~16位的右移。

所移动的位数可由ST1中的ASM或被指定的暂存器T决定。

1.组成框图①多路选择器MUX:用来选择输入数据。

②符号控制SC:用于对输入数据进行符号位扩展。

③移位寄存器:用来对输入的数据进行定标和移位④写选择电路:用来选择最高有效字和最低有效字。

2.桶形移位寄存器的输入通过多路选择器MUX来选择输入信号。

①取自DB数据总线的16位输入数据;②取自DB和CB扩展数据总线的32位输入数据;③来自累加器A或B的40位输入数据。

3.桶形移位寄存器的输出①输出至ALU的一个输入端;②经写MSW/LSW选择电路输出至EB总线。

4.桶形移位寄存器的功能主要用于格式化操作,为输入的数据定标。

①在进行ALU运算之前,对输入数据进行数据定标;②对累加器进行算术或逻辑移位;③对累加器进行归一化处理;④在累加器的内容存入数据存储器之前,对存储数据进行定标。

2.4.5比较、选择和存储单元CSSUCSSU单元主要完成累加器的高阶位与低阶位之间最大值的比较,即选择累加器中较大的字,并存储在数据存储器中。

工作过程:①比较电路COMP将累加器A或B的高阶位与低阶位进行比较;②比较结果分别送入TRN和TC中,记录比较结果以便程序调试;③比较结果输出至写选择电路,选择较大的数据;④将选择的数据通过总线EB存入指定的存储单元。

例如,CMPS指令可以对累加器的高阶位和低阶位进行比较,并选择较大的数存放在指令所指定的存储单元中。

指令格式:CMPSA,*AR1功能:对累加器A的高16位字(AH)和低16位字(AL)进行比较,若AH>AL,则AH→*AR1,TRN左移1位,0→TRN(0,0→TC;若AH,则AL→*AR1,TRN 左移1位,1→TRN(0,1→TC。

2-DSP的硬件结构

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芯片结构介绍

第二章 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芯片的基本结构和特征

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:

DSP课件NO[1].2-DSPCPU结构PPT精品文档34页

DSP课件NO[1].2-DSPCPU结构PPT精品文档34页

改进的哈佛结构
CPU
PB
DB
PAB
DAB
程序存储器
数据存储器
10.01.2020
7
Harvard结构
程序与数据存储空间分开,各有独 立的地址总线和数据总线,取指和 读数可以同时进行,从而提高速度, 目前的水平已达到90亿次浮点运算 /秒(9000MFLOPS)
MIPS--Million Instruction Per Second MFLOPS--Million Floating Operation Per Second
如果有写,那这个阶 段装载写的地址
访问
读取
执行/写回
从PB总线 取回指令加
载到IR
执行指令且
如果需要:加载DAB数据1的地址; 如果需要:加载CAB数据2的地址;
更新辅助寄存器和堆栈指针
把要写入的 数据加载到
存储器中
例2.2: 流水线中的跳转指令
12
3
45
67
8
预取 指取 译码 访问 读取 执行/写回
Program word size Data word size Auxiliary Register ALUs ALU Auxiliary Registers Data Registers
Memory
16 bits 16 bits 2 (16-bit each) 1 (40-bit)
8 0 separate data/prog
溢出
通用CPU中,溢出发生后,设置 溢出标志,不带符号位时回绕, 带符号位时反相,带来很大的误 差
DSP把移位输出的最高位(MSB) 存放在一个位检测状态寄存器中, 检测到MSB=1时,就通知下一次 会发生溢出,可以采取措施防止
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Memory Bus Peripheral Bus
12-Bit ADC Watchdog
Interrupt Management
100-120 MIPS with Flash Acceleration Technology 150 MIPS out of RAM for time-critical code
29
受CSM影响的片内资源
地址
0x8000~0x8FFF 0x9000~0x9FFF 0x3D 7800~0x3D 7BFF 0x3D 8000~0x3F 7FFF

L0 SARAM (4KW) L1 SARAM (4KW) OTP (1KW) Flash (128/64KW)
McBSP CAN 2.0B SCI-UART A SCI-UART B SPI
128-bit security protects software investment External memory interface (XINTF) supports systems with larger memory models (up to 1MW address reach)
2
2.1 DSP的引脚及其功能
下图分别为TMS320F2812的176引脚PGF LQFP(LowProfile Quad Flatpack)封装图和TMS320F2810的128引脚 PBK LQFP封装图。
3
F2812 DSP的 引脚
4
F2810 DSP的 引脚
5
引脚说明 (见教材表格)
10
TMS320F2812 / TMS320F2810
Most Powerful - Most Integrated Dual Function Digital Signal Controller High-Performance CPU (C28x
Code security
128Kw Flash + 2Kw OTP XINTF 18Kw RAM 4Kw Boot ROM Event Mgr A Event Mgr B
7
TI还推出了F2808、F2806、F2801等型号,其内部结 构与F2812类似,但引脚数、时钟频率、内部资源有所降低, 以降低成本。
F28x DSP的硬件资源
8
2.2 DSP的片内硬件资源
F281x DSP的功能框图
9
2812 DSP控制器的结构
• CPU • 片内存储器 • 片内外设 (片内接口电路)
Watchdog
GPIO
Interrupt Management
150 MIPs C28xTM 32-bit DSP 32x32-bit Multiplier 32-bit Timers (3) Real-Time JTAG 32-bit Register File RMW Atomic ALU
128Kw Flash + 2Kw OTP 18Kw RAM 4Kw Boot ROM Event Mgr A Event Mgr B XINTF
Memory Sub-System
Quarter of a Megabyte of on-chip Flash Memory Fast program execution out of both RAM and Flash memory
24
Flash存储器的特点
• • • • •
多个分区。 有代码安全保护。 有低功耗模式。 可根据CPU频率调整的等待状态。 可提高性能的流水线模式。
25
Flash和OTP的功耗模式
• Sleep Mode. • Standby Mode. • Active Mode.
26
Flash和OTP的性能
21
XINTF 时序寄存器XTIMINGx (x=0,1,2,6,7):
Bit 名称 31-23
Reserved
22
X2TIMING
21-18
Reserved
17-16
XSIZE
15 READY MODE Nhomakorabea14 …
1
0 XWRTAIL
XINTF 时序寄存器XTIMINGx用来配置建立/保持和等待时 间。
6
• XINTF 信号: 地址/数据及存储器控制信号引脚 XA[18]~XA[0]: 19根外部地址线。 XD[15]~XD[0]: 16根外部数据线。 XMP/MC :微处理器/微计算机模式选择 。 XHOLD :外部保持请求。 XHOLDA :外部保持应答。 XZCS0AND1 :XINTF 的Zone0和 Zone1选择。 :XINTF 的Zone2选择。 XZCS2 XZCS6AND7 :XINTF 的Zone6和 Zone7选择。 :写使能。 XWE :读使能。 XRD :读/写选通。 XR/ W XREADY :准备好信号 。
Control Ports
McBSP CAN 2.0B SCI-UART A SCI-UART B SPI
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

TM
DSP Core)

150MIPS performance Single cycle 32 x32-bit MAC (or dual 16 x16 MAC) Very Fast Interrupt Response Single cycle read-modified-write F24x/LF240x Source Code Compatible
13
2812 DSP的 存储器映射
14
2810 DSP的 存储器映射
15
存储器地址空间
281xDSP 具有1M存储空间:包括数据, 程序, I/O空间。 片内存储器: SARAM: M0 (00 0000-00 03FFH) ,1KW SARAM: M1(00 0400-00 07FFH), 1KW 片内外设:PF0, ( 00 0800-00 0CFFH) , 2KW 中断矢量PIE Vector-RAM: D00-DFFH ,256W 片内外设:PF1/2, ( 00 6000-00 7FFFH) ,8KW SARAM: L0 (00 8000-00 8FFFH), 4KW, 安全 SARAM: L1 (00 9000-00 9FFFH) ,4KW, 安全 OTP: (3D 7800-3D 7BFFH) 1KW, 安全 Flash : (3D 8000-3F 7FFFH), 128KW, 安全 SARAM: H0(3F 8000-3F BFFFH) ,8KW Boot ROM: (3F F000-3F FFFFH), 4KW
第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 外设中断扩展
Memory Bus Peripheral Bus
12-Bit ADC
Memory Control Sub-System Peripherals
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
18
2812 DSP外部接口 分区 XINTF
19
时钟XTIMCLK和SYSCLKOUT的关系示意图
20
对访问时序进行配置依赖于F2812的工作频率 SYSCLKOUT和XINTF的定时时钟XTIMCLK。 XINTF对外访问时序被分成三个阶段,即 起始(Lead)阶段、激活(Active)阶段和收尾(Trail) 阶段。XINTF对不同的地址区域进行访问时, 可以通过对应各区的XTIMING寄存器对访问时 序加等待状态进行延时,等待状态可配置为若 干个XTIMCLK的周期数。
Communications Ports
Multiple standard communication ports provide simple interfaces to other components 11
F281x DSP的 功能框图
12
On-Chip Flash Memory
Code security
• • • • • •
32位取指令。 16位或32位数据空间读操作。 16位程序空间读操作。 Flash存储器随机存取。 Flash存储器页面存取。 OTP操作。
27
Flash和OTP配置寄存器
28
2.5 代码安全模块CSM
代码安全模块CSM (Code Security Module) 可以防止未被授权的人看到片内存储器的内容, 防止对受保护的代码进行复制和反向工程。 • 代码安全模块的功能 • CSM对其他片内资源的影响 • 代码安全功能的使用
GPIO
Up to 128K x 16 Flash

C28xTM 32-bit DSP
32x32-bit Multiplier 32-bit Timers (3) Real-Time JTAG 32-bit Register File RMW Atomic ALU
相关文档
最新文档