第二章 DSP的硬件结构(整理)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
独立的DMA总线和控制器
有一组或多组独立的DMA总线,与 CPU的程序、数据总线并行工作, 在不影响CPU工作的条件下,DMA 速度目前已达800Mbyte/s
CPU
通用微处理器的CPU由ALU和CU组
成,其算术运算和逻辑运算通过软 件来实现,如加法需要10个机器周 期,乘法是一系列的移位和加法, 需要数十个机器周期。 DSP的CPU设置硬件乘法器,可以 在单周期内完成乘法和累加
算术逻辑运算单元结构
CB15~CB0 暂存器T DB15~DB0
C 40 40
B
T A S 桶形移位输出
MUX
MUX
累加器A
累加器B
SXM
符号ctr
符号ctr
SXM
40 A MAC输出
MUX B M U
40
Y
X
OVM C ZA/ZB
C16 OVA/OVB TC
ALU
40
ALU算术逻辑运算单元
中央处理单元(CPU)
15 13 12 11 10 设置、 I/O14 及中断的控制等。
BRAF CPL XF HM HM INTM 0 0
9
8
7
6
5
4~0
OVM SXM C16 C16 FRCT FRCT CMPT CMPT ASM ASM
OVM :溢出方式控制位; HM INTM 0 :保留位,未被使用,总是读为 C16 FRCT :保持方式位;响应 :双 :中断方式控制位; :小数方式控制位; 16 位/双精度算术运算方式控制位; HOLD信号时,指示 0。 SXM :符号位扩展方式控制位;用来确定数据 CMPT :间接寻址辅助寄存器修正方式控制位; BRAF CPL XF :外部 :直接寻址编辑方式标志位; :块重复操作标志位。 ASM XF :累加器移位方式控制位。 引脚状态控制位。 用来确定累加器溢出时,对累加器的加载方式。 CPU 用来决定 用于屏蔽或开放所有可屏蔽中断。 是否继续执行内部操作。 用来确定乘法器的运算方式。 ALU 的算术运算方式。 在运算之前是否需要符号位扩展。 用来决定 ARP 是否进行修正。 用来指示当前是否在执行块重复操作。 用来控制 用来指示直接寻址选用何种指针。 XF 通用外部输出引脚的状态。 为某些具有移位操作的指令设定一个从 OVM=0 将运算的溢出结果直接加载到累加器中; HM=0 C16=0 INTN=0 FRCT=1 CPU ALU 从内部程序存储器取指, 开放全部可屏蔽中断; 工作在双精度算术运算方式; 乘法器的输出左移一位, SXM=0 数据进入 ALU 之前禁止符号位扩展; CMPT=0 在进行间接寻址单操作数时,不修正 BRAF=0 执行 CPL=0 SSBX 表示当前不进行重复块操作; 选用数据页指针 XF=1 XF 通用输出引脚为 DP的直接寻址; 1;ARP; OVM=1 当正溢出时,将 007FFFFFFFH 加载累加器; 16~15 范围内的移位值。 C16=1 INTN=1 继续执行内部操作。 ALU 禁止所有可屏蔽中断。 工作在双 位算术运算方式。 消除多余的符号位。 SXM=1 数据进入 ALU 之前进行符号位扩展。 CMPT=1 在进行间接寻址单操作数时,修正 当负溢出时,将 FF80000000H 加载累加器。 BRAF=1 执行 CPL=1 RSBX 表示当前正在进行块重复操作。 选用堆栈指针 XF=0 XF 通用输出引脚为 SP16 的直接寻址。 0ARP 。 。 HM=1 CPU停止内部操作。
定点DSP与浮点DSP
浮点格式用指数形式表示,其动态范围比
用小数形式表示的定点格式要大得多,定 点DSP中经常要考虑的溢出问题,在浮点 DSP中基本上可以不考虑 为了保证底数的精度,浮点DSP基本上作 成32-bit的,其总线、寄存器、存储器等 的宽度也相应是32-bit的 浮点DSP的价格高,开发难度也更大
要求全面了解C54系列芯片的硬件资源。
TMS320C54x硬件结构框图
1. 内部结构 – (1) CPU
• 包括算术逻辑运算单元(ALU)、乘法器、累加器、 移位寄存器、各种专门用途的寄存器、地址生成 器及内部总线。
– (2) 存储器系统
• 包括片内程序ROM、片内单访问的数据RAM和 双访问的数据RABaidu Nhomakorabea、外接存储器接口。
中央处理单元(CPU)
状态和控制部件、运算部件和各种寄存器 1.CPU状态和控制寄存器(3个16位存储器映像寄存器)
• • • • (1) 状态寄存器0(ST0); (2) 状态寄存器1(ST1); (3) 处理器工作模式状态寄存器(PMST)。 ST0和ST1主要包含各种工作条件和工作方式的状态;PMST 包含存储器的设置状态及其他控制信息。
第2章 TMS320C54x的硬件结构
CPU状态和控制寄存器
3.处理器工作模式状态寄存器PMST 主要设定和控制处理器的工作方式和存储器的配置,反 映处理器的工作状态。 15~7 6 5 4 3 2 1 0
IPTR MP/MC OVLY AVIS DROM CLKOFF SMUL SST
中 断 向 量 指 针
第二章 DSP的硬件结构
DSP的硬件结构
DSP的硬件结构,大体上与通用 的微处理器相类似,由CPU、存 储器、总线、外设、接口、时钟 等部分组成,但又有其鲜明的特 点。
独立的硬件乘法器
在卷积、数字滤波、FFT、相关、矩阵 运算等算法中,都有 A(k)B(n—k) 一类的运算,大量重复乘法和累加 通用计算机的乘法用软件实现,用若干 个机器周期。 DSP有硬件乘法器,用MAC指令(取数、 乘法、累加)在单周期内完成。
39~32 AG(保护位) 39~32 BG(保护位)
DSP的发展
更高的运行速度和信号处理速度
多DSP协同工作 更方便的开发环境 大量专用DSP的出现(DSP核) 更低的价格,或更高的性能/价
格比 更广泛的应用
C54硬件结构
– – – – – – C54x系列DSP引脚功能 内外部总线结构 CPU结构 内部存储器结构 片内外设电路 系统控制
总线结构
一组程序总线PB – 传送从程序存储器读取的指令代码和立即数;
三组数据总线(CB、DB、EB) – CB,DB: 传送从数据存储器读出的操作数; – EB: 传送写入到数据存储器中的数据;
四组地址总线(PAB、CAB、DAB、
EAB)
– 传送执行指令所需的地址;
总线结构
读/写方式 PAB 程序读 程序写 单数据读 双数据读 32位长数据读 单数据写 数据读/写 双数据读/写 外设读 外设写 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ 地址总线 CAB DAB EAB 程序总线 PB √ √ CB 数据总线 DB EB
• 片内单寻址RAM(SARAM):
– 如C548、C5402、C5416等。
TMS320C54x硬件结构
2. TMS320C54x主要特性 – 低功耗、高性能的16位定点DSP芯片 – (3)片内外设
• • • • • • 软件可编程等待状态发生器(SWWSR) 可编程分区转换逻辑电路 片内锁相环(PLL)和时钟发生器 可编程串行接口(4种) 可编程定时器16位(1-2个) 8位或16位主机接口(HPI)
– (4)指令系统
• 单指令重复和块指令重复操作 • 用于程序和数据管理的块存储器传送指令 • 32位长操作数指令
TMS320C54x硬件结构
多操作数指令:读入2或3个操作数的指令 • 并行存储和并行加载的算术指令 • 条件存储指令 • 中断快速返回指令
– (5)片内仿真接口:IEEE1149.1 – (6)多种节电模式:软件控制片外总线、 CLKOUT、器件电压等 – (7)不同内核电压以获取不同的芯片运行速度: 5.0v-40MIPS,3.3v-80MIPS,2.5v-100MIPS,1.8v200MIPS。
CPU 工 作 方 式 选 择 位
RAM 重 复 占 位 标 志
地 址 可 见 控 制 位
数 据 ROM 映 射 选 择 位
时 钟 输 出 选 择 位
乘 法 饱 和 方 式 位
存 储 饱 和 位
中央处理单元(CPU)
2.运算部件 – (1)算术逻辑单元(ALU)
• 功能: • ① C54X使用40bit的ALU和2个40bit累加器(A、 B)完成二进制补码的算术运算: • ② ALU可完成布尔运算; • ③ 同时完成两个16bit运算(具有两个16位的 ALU)
硬件乘法器
移位
通用微处理器的移位,每调用一
次移位指令移动1-bit DSP可以在一个机器周期内左移 或右移多个bit,可以用来对数字 定标,使之放大或缩小,以保证 精度和防止溢出;还可以用来作 定点数和浮点数之间的转换
溢出
通用CPU中,溢出发生后,设置
溢出标志,不带符号位时回绕, 带符号位时反相,带来很大的误 差 DSP把移位输出的最高位(MSB) 存放在一个位检测状态寄存器中, 检测到MSB=1时,就通知下一次 会发生溢出,可以采取措施防止
2.运算部件 – (1)算术逻辑单元(ALU)
• 功能: • ① C54X使用40bit的ALU和2个40bit累加器(A、 B)完成二进制补码的算术运算: • ② ALU可完成布尔运算; • ③ 同时完成两个16bit运算(具有两个16位的 ALU)
– (2)Accumulator
• 功能:存放参加运算的数据或存放运算的结果 (ALU或MAC) • 组成:三个部分(保护位作用:数据位余量,防 止溢出,迭代运算)。
TMS320C54x硬件结构
2. TMS320C54x主要特性 – 低功耗、高性能的16位定点DSP芯片 – (2)存储器系统
• 192K字可寻址存储空间:
– 程序存储空间、数据存储空间及I/O空间,并可进行适 当扩展。
• 片内双寻址 RAM(DARAM):
– 在每个机器周期内,CPU可以对同一个DARAM块寻 址2次,即CPU可以在一个机器周期内对同一个 DARAM块读出1次和写入1次。DARAM可以映射到 程序空间和数据空间。但一般情况下,DARAM总是 映射到数据空间,用于存放数据。
计时器
乘法 加法器
算术/逻辑 运算单元
桶形 移位器
CPU
比较器
TMS320C54x硬件结构
2. TMS320C54x主要特性 – 低功耗、高性能的16位定点DSP芯片 – (1)CPU部分
• 多总线结构:1条程序总线、3条数据总线和4条地 址总线 • 40位ALU:包括1个40位桶形移位寄存器和2个独 立的40位累加器 • 17位并行乘法器,与40位专用加法器相连,用于 非流水线式单周期乘法/累加(MAC)运算 • CSSU:用于加法/比较选择 • 指数编码器:单个周期内计算40位累加器中数值 的指数 • 双地址生成器:包括8个辅助寄存器(AR)和2个 辅助寄存器算术运算单元(ARAU)
15~13 ARP 12 TC 11 C 10 OVA 9 OVB 8~0 DP
辅助寄存器指针 测试/控制标志 进位位
累加器A溢出标志 累加器B溢出标志 数据存储器页指针
状态寄存器0(ST0)
第2章 TMS320C54x的硬件结构
CPU状态和控制寄存器 2.状态寄存器1 (ST1) 主要反映处理器的寻址要求、计算初始状态的
数据地址发生器(DAG)
在通用CPU中,数据地址的产生和
数据的处理都由ALU来完成 在DSP中,设置了专门的数据地址 发生器(实际上是专门的ALU), 来产生所需要的数据地址,节省公 共ALU的时间
外设(peripherals)
时钟发生器(振荡器与PLL) 定时器(Timer) 软件可编程等待状态发生器 通用I/O 同步串口(SSP)与异步串口(ASP) JTAG扫描逻辑电路(IEEE 1149.1 标准) 便于对DSP作片上的在线仿真和多 DSP条件下的调试
– (3) 片内外设与专用硬件电路
• 包括片内定时器、各种类型的串口、主机接口、 片内锁相环(PLL)、时钟发生器及各种控制电路。
系统控 制界面
系统控制
程序地址生成
数据地址生成
特殊功能寄存器
PAB PB CAB CB DAB DB EAB EB
程序存储器 外部存储 器接口 数据存储器
串行口
并行口 外部设备 接口 定时器