第2章 DSP内核结构及存储器映射
DSP课件2-内核
辅助寄存器算术单元(ARAU)
ARAU除可对数据存储器的寻址外,还可用作它用: (1)通过CMPR指令,利用辅助寄存器支持条件转移、 调用和返回; (2)利用辅助寄存器作为暂存单元; (3)利用辅助寄存器进行软件计数。根据需要将其加1 或减1。
240x具有独立的外设总线,外设总线通过系统 模块实现与内部总线的接口,使得挂在该总线上 的片内外设的内部寄存器可以映射到片内数据存 储空间,因此通过访问内部数据存储空间的指令 可以对外设寄存器进行操作。
外设总线
流水线操作
为提高速度,采用流水线结构 取指、指令译码、取操作数、指令执行四个阶 段的操作重叠进行; 流水线操作对用户是不可见的。
LF240x系列DSP控制器概述
LF240x系列DSP控制器包含32位中央处理单元、32 位累加器、16X16位硬件乘法器; 改进的哈佛结构,4级流水线, 6个外部中断,8级硬 件堆栈; 片内存储器:16K字(16位)程序ROM、2.5K字RAM, 其中包含544字的双存取RAM(DARAM),2K字的单存 取SARAM (视型号而不同) ; 双8路或单16路的10位A/D转换器,转换时间为 375ns(该指标视型号而不同); 可独立编程的多路复用I/O引脚(视型号而不同) ; 设事件管理器,适用于控制各种类型的电机,用于工业 自动化(2407:两个事件管理器EVA、EVB)
输出数据定标移位器将累加器的32位数据进行复制; 它根据存储指令中指定的位数,将累加器输出的内 容左移0-7位,然后将移位器的高位字或低位字存 到数据存储器中(用SACH或SACL指令); 在此过程中,累加器的内容保持不变。
输出数据定标移位器
《DSP内部结构》课件
指令调度:通过指令调度,优化指令顺序,提高流水线的 执行效率
寄存器分配:通过寄存器分配,减少寄存器冲突,提高流 水线的执行效率
内存优化:通过内存优化,减少内存访问次数,提高流水 线的执行效率
并行处理优化
并行处理技术:将任务分解为多个 子任务,同时执行
并行处理技术
并行处理技术是 DSP的核心技术之 一,可以实现多个 任务同时执行
并行处理技术可 以提高DSP的处 理速度和效率, 降低功耗
并行处理技术可 以实现数据的并 行处理,提高数 据处理速度
并行处理技术可 以实现指令的并 行执行,提高指 令执行效率
高速缓存技术
作用:提高DSP的运行速度和效率 原理:将频繁访问的数据存储在高速缓存中,减少对主存的访问次数 特点:速度快、容量小、价格高 应用:在DSP中广泛应用于指令和数据的缓存
数字信号处理单元
算术逻辑单元(ALU):进 行基本的算术和逻辑运算
添加标题
寄存器组(REG):存储数 据和指令
添加标题
指令存储器(ROM):存 储指令
添加标题
输入/输出接口(I/O):与 外部设备进行数据交换
添加标题
添加标题
添加标题
累加器(ACC):存储中间 运算结果
添加标题
程序计数器(PC):指示当 前指令的地址
集成开发环境(IDE)
集成开发环境(IDE)是 DSP编程和开发的重要 工具
常见的IDE包括Keil uVision、IAR Embedded Workbench等
IDE提供了代码编辑、编 译、调试等功能
IDE支持多种编程语言, 如C、C++等
第2课 F2812系统结构
BGA封装的F2812
179引脚GHH球形网格阵列BGA(Ball Grid Array)
11
BGA封装的机械尺寸
12
贴片封装的F2812
176引脚LQFP封装顶视图
128引脚PBK封装顶视图
13
贴片封装的机械尺寸
14
F2812电源
2812采用了高性能的静态CMOS技术,时钟 频率可达150MHZ(6.67ns),其核心电压 为1.8V,I/O口电压3.3V,Flash编程电压也 为3.3V。 在设计2812电源部分的时候,需要将常用 的5V电压转换成1.8V和3.3V的电压之后, 才能供给2812。
8
TMS320F2812的主要特点
4) 片上存储器 --有多达128K×16的FLASH存储器 (4个8K×16和 6个16K×16) --有多达128K×16的ROM 5)外部存储器接口 --有多达1MB的寻址空间 --三个独立的片选端 6)时钟与系统控制 --支持动态的改变锁相环(PLL)的频率 --片上振荡器 7)三个外部中断 8)外部中断扩展(PIE)模块,支持45外部中 断
MUX
Data Memory
XAR31-16
XAR15-0
=AR7-0
28
C28x Pipeline
A F1 F2 D1 D2 R1 R2 B C D E F G H
F1: 取指令地址 F2: 取指令内容 D1: 32/16判断边界 D2: 取指译码 R1: 操作数地址 R2: 取操作数 E: 指令执行 W: 写内容回存储单元
Program Bus
32-bit 定点DSP
32 x 32 bit MAC
2次单周期16 x 16 MAC (DMAC) 快速中断响应机制 单周期读、写、修改指令
第2讲TS系列DSP内核结构
2.3 ALU
❖ 概述 ❖ 定点指令 ❖ 浮点指令 ❖ 特殊指令- PR 寄存器 ❖ 特殊指令 - VMAX 和 VMIN ❖ 指令选项 ❖ 状态标志和条件 ❖ 条件指令
ALU – 概述(I)
❖计算块的ALU单元支持:
▪ 逻辑运算 (AND, OR, XOR, NOT )
▪ 算术运算 (加, 减, 递增, 递减, sideways 加法)
▪ s, m n 是寄存器的个数 ▪ d 表示双寄存器
❖ R1:0 = R3:2 + R5:4;;
/* 数据被看作2个 32-位的值 */
❖ BR1:0 = R3:2 + R5:4;; /* 数据被看作8个8-位的值 */
❖ xBR1:0 = R3:2 + R5:4;; /* 与上面相同的指令,只在 CBX
▪ 存储器映射的寄存器 ▪ 非储存器映射的寄存器
存储器映射 - 通用寄存器组(RF). 32x32
可以被以下访问: - 处理器核 - 外部总线设备
非储存器映射寄存器 –对于全局状态 (XSTAT/YSTAT) 专门用于:
- ALU - 乘法器 - 移位器
Computation block X
Unmapped
87
0
8-bits
8-bits
8-bits
8-bits
XBR3
(B = Byte)
计算块X中的寄存器 – 16位数据
31 16-bits
16 15
16-bits
计算块X中的寄存器 – 32位数据 31
32-bits
0 XSR3 (S = Short = 16 bit)
0 XR3 (No letter = Normal = 32-bit)
DSP第二章C54x结构与工作原理——总线结构和存储器结构
2020年12月2日
DSP技术与应用基础
17
C54x可用的片内程序存储器地址的容量
表2-3
器件 C541 C542 C543 C545 C546 C548 C549
ROM MP/MC=0
28K 2K 2K 48K 48K 2K 16K
DARAM OVLY=1
5K 10K 10K 6K 6K 8K 8K
若DROM=1,则部分片内ROM安排为数据空间。 DROM位的用法与MP/ MC位的用法无关。不同的 C54x的数据和程序存储区分配略有不同,下图给出了 TMS320C549存储器空间分配图。
2020年12月2日
DSP技术与应用基础
11
TMS320C549存储器空间分配图
2020年12月2日
DSP技术与应用基础
数据总线
CB
DB
EB
△
△
△
△
△(h △ w) (lw)
△
△
△
△
△
△
△
3
要点
并行处理和流 水线工作
• 为何要设置多内部总线 • 一个机器周期内可完成的存取操作
取1指、 读2字、 写1字。
• 为何要用两个辅助寄存器算术运算单元
• 一个周期内如何执行3操作数指令
双字寻址取 双操作数
2020年12月2日
用C、D、P总 线取操作数
1
2020年12月2日
DSP技术与应用基础
2
读/写方式
程序读
程序写
单数据读
双数据读 长数据(32位)
读 单数据写 数据读/数据
写 双数据读/系
数读 外设读
外设写
2020年12月2日
DSP(知识点+思考题)
DSP复习要点第一章绪论1、数的定标:Qn表示。
例如:16进制数2000H=8192,用Q0表示16进制数2000H=0.25,用Q15表示2、‟C54x小数的表示方法:采用2的补码小数;.word 32768 *707/10003、定点算术运算:乘法:解决冗余符号位的办法是在程序中设定状态寄存器STl中的FRCT位为1,让相乘的结果自动左移1位。
第二章CPU结构和存储器设置一、思考题:1、C54x DSP的总线结构有哪些特点?答:TMS320C54x的结构是围绕8组16bit总线建立的。
(1)、一组程序总线(PB):传送从程序存储器的指令代码和立即数。
(2)、三组数据总线(CB,DB和EB):连接各种元器件,(3)、四组地址总线(PAB,CAB,DAB和EAB)传送执行指令所需要的地址。
2、C54x DSP的CPU包括哪些单元?答:'C54X 芯片的CPU包括:(1)、40bit的算术逻辑单元(2)、累加器A和B(3)、桶形移位寄存器(4)、乘法器/加法器单元(5)、比较选择和存储单元(6)、指数编码器(7)、CPU状态和控制寄存器(8)、寻址单元。
1)、累加器A和B分为三部分:保护位、高位字、地位字。
保护位保存多余高位,防止溢出。
2)、桶形移位寄存器:将输入数据进行0~31bits的左移(正值)和0~15bits的右移(负值)3)、乘法器/加法器单元:能够在一个周期内完成一次17*17bit的乘法和一次40位的加法4)、比较选择和存储单元:用维比特算法设计的进行加法/比较/选择运算。
5)、CPU状态和控制寄存器:状态寄存器ST0和ST1,由置位指令SSBX和复位指令RSBX控制、处理器模式状态寄存器PMST2-3、简述’C54x DSP的ST1,ST0,PMST的主要功能。
答:’C54x DSP的ST1,ST0,PMST的主要功能是用于设置和查看CPU的工作状态。
•ST0主要反映处理器的寻址要求和计算机的运行状态。
DSP第2章 'C54x的硬件结构2
2013年8月15日
DSP原理及应用
6
3.工作方式状态寄存器PMST
主要设定和控制处理器的工作方式和存储器的配置,反映 处理器的工作状态。
15~7 6 5 4 AVIS 3 2 1 0 SST
IPTR MP/MC OVLY
DROM CLKOFF SMUL
中 断 向 量 指 针
CPU 工 作 方 式 选 择 位
③ 暂存器SPRAM。
2013年8月15日
DSP原理及应用
14
特殊功能寄存器
功能:主要用于程序的运算处理和寻址方式的选
择和设定。地址范围:0000H~001FH。 外设寄存器 ’C5402的CPU寄存器共有27个,CPU访问这 功能:用来控制片内外设电路的状态和存放数据。 些寄存器时,不需要插入等待时间。 地址范围:0020H~005FH。 包括串行口通信控制寄存器组、定时器定时控 暂存器SPRAM 制寄存器组、时钟周期设定寄存器组等。 功能:用来暂存变量。地址范围:0060H~007FH。
中断屏蔽寄存器 10H 中断标志寄存器 11H 保留 ( 用于测试 ) 12H 保留 ( 用于测试 ) 13H 保留 ( 用于测试 ) 14H 保留 ( 用于测试 ) 15H 状态寄存器0 16H 状态寄存器1 17H 累加器A低字(15~0位) 18H 累加器A高字(31~16位) 19H 累加器A保护位(39~32位) 1AH 累加器B低字(15~0位) 1BH 累加器B高字(31~16位) 1CH 累加器B保护位(39~32位) 1DH 暂存寄存器 1EH DSP原理及应用 状态转移寄存器 1FH
2013年8月15日
存储器映像的CPU寄存器, 存储器映像的外设寄存器 特殊功能寄存器
0004:DSP原理及应用——第2章DSP芯片的硬件结构21—23节讲稿
3.控制引脚 HOLDA:响应控制存储器请求信号;
MSC:微状态完成信号;
IAQ:中断请求信号;
IACK:中断响应信号;
MP/MC:DSP工作方式选择信号;
INT0、INT1、INT2、INT3:外部中断请求信号。
NMI:非屏蔽中断。
《DSP原理及应用》 成都理工大学工程技T术M 学院 石坚
13
13
第2章 TMS320C54x的硬件结构
电源电路一
《DSP原理及应用》 成都理工大学工程技T术M 学院 石坚
14
14
第2章 TMS320C54x的硬件结构
电源电路二
+5 V
4
N C G ND
1
3
IN O UT
2
C6
C7
A S11 17 -3.3
0. 1u
0. 1u
10 uF
3. 3V 10 uF
● 2.5V电压的器件,其速度可达到100MIPS, 指令周期时间为10ns。
● 1.8V电压的器件,其速度可达到200MIPS, 每个核的指令周期时间为10ns。
《DSP原理及应用》 成都理工大学工程技T术M 学院 石坚
10
10
第2章 TMS320C54x的硬件结构
2.2.2 ’ C54x的引脚功能
中央处理器CPU 内部总线控制
I/O功能扩展接口 串行口
特殊功能寄存器 数据存储器RAM 程序存储器ROM
主机通信接口HPI 定时系统 中断系统
《DSP原理及应用》 成都理工大学工程技T术M 学院 石坚
4
4
第2章 TMS320C54x的硬件结构
系统
DSP的存储空间映射、配置
.sector “vectors” 表 明 中 断 向 量表代码位于vectors段 必 须 把 vectors 段放置在片内 RAM中,用以高速响应中断 在 DSP 程 序 初 始 化 时 , 若 将 IPTR=0x001,则中断向量表 初始地址为0x80 在 CMD 文件中,在 PAGE0 中 配置一块地址从 0x80 开始 , 共128 Words,并将vectors段 配置到该区域 设 计 OVLY=1 , 将 DARAM0~3 块映射到程序空 间,实现中断向量表在 DARAM中运行
TMS320VC5416 DSP的内部存储资源
64K Words的DARAM (双访问RAM) 每8K一块,被分成8块,由低地址开始记作DARAM0 -DARAM7 在同一块内一个指令周期支持两个操作 64K Words的SARAM (单访问RAM) 每8K一块,被分成8块,由低地址开始记作SARAM0- SARAM7 在同一块内一个指令周期仅支持一个操作,但支持一个指 令周期同时对不同的块完成两个操作 16K Words的ROM 掩模ROM,只能读不能写
TMS320VC5416 DSP的存储空间配置-CMD文件结构
TMS320VC5416 DSP的存储空间分配和配置综合
OVLY=1 DROM=1
以TMS320VC5416 的中断设计为例看存储空间映射和配置 1. 中断向量地址计算方法
(1)取PMST寄存器的IPTR的值(中断向量指针,9位) (2)查DSP的中断表得到中断向量序号(5位) (3)将中断向量序号左移2位 (4)将IPTR值左移7位与(3)相加,得到中断向量地址
INT0序号为16 左移两位后为 40H
1. 硬件复位 值为0x1FF。 2. 用户可以 软件设置 3. 软件复位 该值不变化
《DSP的硬件结构》课件
背板总线架构
背板总线将DSP模块连接起来, 组成一个大型系统
DSP系统外设接口
1
视频接口
2
提供各种视频输入和输出
3
串口
用于连接其他设备,方便数据传输
PCIE接口
用于DSP与主机之间的数据传输
存储器管理单元
1 用途
控制内存和I/O 存储器的 访问速度和方式,优化存 储器的使用和管理
2 主要功能
为指令和数据提供地址映 射和文件管理
低功耗
DSP设计更加贴合功耗优化的要求,使得DSP的 功耗是相对较低的
高速缓存
尽量减少对外存的访问,改用内存缓存,提高效 率
精度和动态范围高
DSP在数字信号处理中,对精度和动态范围的要 求都很高,需要满足高标准的数字信号处理需求
DSP的数据通路结构
数据通路的基本结构
用于协调指令和数据在DSP内部 的传输和处理
3 工作原理
根据外部访问请求,从具 体的处理器单元中选择一 个空闲存储器,然后对存 储器进行操作
DMA控制器和中断控制器
控制器功能 DMA控制器 中断控制器
控制器作用 实现高速数据传输和处理 负责处理来自外设和系统的中断事件
DSP芯片的能耗和功率管理
核心器件
用于减少DSP的功耗
电源管理
通过设置电源管理机制,使 插入的设备自动进入暂停模 式以节约电力
SIMD和VLIW架构
SIMD (单指令流多数据流)
操作一个指令并处理多组数据,广泛用于数字信号处理和图像处理
VLIW (超长指令字)
指令宽度比较大,多种指令同时运行,常用于高性能计算
DSP指令集的特点
1 并行性
2 低功耗
第2章TMS320C55x 的硬件结构
Cycle 5
图2-1 TMS320C55x CPU结构图
6
总线和单元
1. 内部地址总线和数据总线(Internal Address Bus and Data Bus) 2. 存储器接口单元(Memory Interface Unit) 3. 指令缓冲单元 (Instruction Buffer Unit: I Unit ) 4. 程序流单元(Program Flow Unit: P Unit ) 5. 地 址 数 据 流 单 元 (Address-Data Flow Unit: A Unit ) 6. 数据计算单元(Data Computation Unit: D Unit )
22
2.2 中断
2. DSP处理中断的步骤
① 接收中断请求。请求由软件或硬件发出。
② 响应中断请求。对于可屏蔽中断,需要满足若 干条件,才发生响应;而对于不可屏蔽中断, 则立即响应。 ③ 准备执行中断服务程序。
-完成当前正在执行的指令;将进入流水线但还未解码 的指令清除。 -自动保存若干寄存器的值到数据堆栈和系统堆栈。
读数据的数据总线。
9
总线
宽度
功能
BAB
BB EAB、 FAB EB、FB
23-bit
16-bit 每条23bit 每条16bit
读数据的地址总线。用于间接寻 址模式。
读数据的数据总线。 写数据的地址总线。 每组16-bit 写数据的数据总线。
10
2.1.3 指令缓冲单元(I Unit )
1. 指令缓冲队列
– 16M Bytes 的程序存储空间,通过24位地址总线进行访问。程 序空间字节地址范围是0x000000-0xFFFFFF。 – 8M Words 的数据存储空间,通过23位地址总线进行访问。数 据空间字地址(1字=16 位)范围是0x000000-0x7FFFFF。
《DSP内部结构》PPT课件
AA==FFFF
00112233
44556677HH
26
2. 算术逻辑运算单元 (ALU)
• ALU如何获取数据
要
• ALU输出送往何方
点
• 溢出怎么办
• 进位位的作用
• 什么是双16位算术运算
27
28
TMS320C54x使用40位算术逻辑单元(ALU)和两 个40位累加器(ACCA和ACCB)来完成算术运算 和逻辑运算,且大多数都是单周期指令。ALU可 使用以下输入:
程序 总线 PB
△
△
数据总线
CB
DB
EB
△
△
△
△
△(h △ w) (lw)
△
△
△
△
△
△
△
三、C54x芯片的CPU结构
40位算术逻辑运算单元(ALU)
2个40位累加器A和B
包 括
移位-16~31位的桶形移位寄存器 乘法器/加法器单元 比较和选择及存储单元(CSSU)
指数编码器
CPU状态和控制寄存器
19
30
进位位的作用: 进行算术运算时,累加器的第31位向第32位有 进位或借位时,反映在C。 加法有进位,减法无借位时为1。
在状态寄存器ST1中的C16位置1时,ALU能起两个 16-bitALUs的作用,可同时完成两个16-bit运算
31
3.桶形移位器的功能
• 桶形移位器能把输入的数据进行0到31bits 的左移和0到16bits的右移。所移的位数由 ST1中的移位数域(ASM)或被指定作为 移位数寄存器的暂存器(TREG)或由指 令决定。
采用的技术 器件代号 版本 封装 温度范围 速度 C=CMOS E=CMOS EPROM F=CMOS Flash EEPROM LC=低电压CMOS(3.3V) LF=低电压Flash EEPROM VC=低电压CMOS[(3.3V)/2.5V核] UC=低电压CMOS[(3.3V)/1.8V核]
DSP原理与应第二章 共105页
第2章 TMS320C54x的硬件结 构
ALU的功能框图
CB15~CB0
T CB
DB15~DB0
A
MUX
DS
MUX
桶形移位 器输出
A
B
MUX
A MAC输出 M
B U
SXM 符号ctr
符号ctr SXM
Y
X
ALU
OVM C16 C OVA/OVB ZA/ZB TC
第2章 TMS320C54x的硬件结 构
2.1 ’C54x的基本结 构1. ’C54x的主要优点
① 围绕1组程序总线、3组数据总线和4组地址总 线而建立的改进哈佛结构,提高了系统的多功能性和 操作的灵活性。
② 具有高度并行性和专用硬件逻辑的CPU设计, 提高了芯片的性能。
③ 具有完善的寻址方式和高度专业化指令系统, 更适应于快速算法的实现和高级语言编程的优化。
⑥ 采用先进的静态设计技术,进一步降低了功 ③ 具有完善的寻址方式和高度专业化指令系统, 更耗适,应使于芯快片速具算有法更的强实的现应和用高能级力语。言编程的优化。
第2章 TMS320C54x的硬件结 构
2. ’C54x的内部结构
TMS320C54x的组成
中央处理器CPU 内部总线控制 特殊功能寄存器 数据存储器RAM 程序存储器ROM
当正向溢出时,将32位最大正数00 7FFFFFFFH 装入累加器;
当负向溢出时,将32位最小负数FF 80000000H 装入累加器。
③状态寄存器ST0中与目标累加器相关的溢出标 志OVA或OVB被置1。
第2章 TMS320C54x的硬件结 构
3.进位位C ALU有一个与运算结果有关的进位位C,位于
2.溢出处理 ALU的饱和逻辑可以对运算结果进行溢出处理
第2章-DSP内核结构及存储器映射
中央算术逻辑单元执行大部分的算术和逻辑运算功能,并且实现大多数 的功能都只要1个时钟周期,这些功能包括:16位加、16位减、布尔逻辑操作、 位测试、移位和循环功能。有关中央算术逻辑单元的结构框图,如下图。
2.1 CPU内部结构
2.1.4 累计器(ACC)
当CALU工作时,会将计算结果送至32位累加器,累计器负责将结果进行 单移位或者循环移位,然后将结果输出到数据定标移位器。
2.2 存储器和I/O空间
❖ I/O空间的访问都可用IN和OUT指令。当用IN或OUT指令时,信号IS将变成有效, 因此可用信号IS作为外围I/O设备的片选信号。访问外部I/O端口与访问程序存储器、 数据存储器复用相同的地址总线和数据总线。数据总线的宽度为16位,若使用8位 的外设,即可使用高8位数据总线,也可使用低8位数据总线,以适应特定应用的 需要。
块模1C令时。L时块,钟K置O钟时芯使进1U且钟片能行后T正且进该锁引需常正入模相脚要运常那块倍输用行运种时频出户;行低钟的C用P当;功,系软U该当耗以数时件位该模使。钟清值位式当A;0/,为值。C当DL清为0转该K时0P0换位的S,时正=值方禁,0常为法0止禁进01是该止时行对模该4,;倍该块模C当频位L时块该K;写钟时O位当1U。钟值。T。引为检脚0
2.2.5 外部存储器接口及其操作
1. 外部存储器接口简介
这 里 以 TMS320LF2407A 为 例 介 绍 外 部 存 储 器 接 口 及 其 操 作 , TMS320LF2407A包含2K×16位字的SARAM和544×16位字的片上DARAM, 其中DARAM被分成B0、B1和B2三个单元。通过不同的设置,可将SARAM 和DARAM的B0单元用作程序存储器,又可将它们用作数据存储器。当系统 用慢速的程序存储器存放程序时,为提高运行速度,通常将程序放到SARAM 和DARAM的B0单元中;此时这部分RAM映射到程序空间。对于许多应用来 说,仅有的SRAM是不够的,需要进行扩展来作为程序存储器或数据存储器。
“DSP技术”第2章内部资源介绍
2.1 TMS320LF240x DSP的CPU内
部功能模块介绍
3、中央算术逻辑部分
中央算术逻辑单元(CALU): 实现各种算术、逻辑功能;
Central arithmetic logic
32 位 累 加 器 (ACC) : 接 收 section
输乘 入积 移移 位位 器器
32 32
MUX
本操作不需要额外的周期。
Input scaling section
程数 序据 读读 总总 线线
16 16
MUX
16
31
16 15
0
Input shifter (32bits)
32
中央算术逻辑 单元
2.1 TMS320LF240x DSP的CPU内部 功能模块介绍
移位器的输入来源
数据读总线(DRDB), 该输入值来自指令操 作数据所引用的数据 存储单元;
PM
移位
说明
00
不移位 乘积结果没有移位地送到CALU单元或数据总线
01
左移1位 移去在一次2的补码乘法运算中产生的1位附加符号位,以得到一个Q31的乘积
10
左移4位
当与一个13位的常数相乘时,移去在16×13位的2的补码乘法运算中产生的4位附加符
号位,以生成一个Q31的乘积
11
右移6位 对乘积结果进行定标,以使得运行128次的乘积累加器不会溢出
中央算术逻辑单元(CALU)
运算功能:16位加、16位减、布尔逻辑操作、位测试、移动 和循环。
输入:一个由累加器提供,另一个由乘积定标移位器或输入 数据定标移位器提供。
输出:其结果送至32位累加器,进行移位。 相关状态位:符号扩展模式位SXM(ST1第10位)确定CALU是否
第2章TMS320F2812DSP内部结构
内容摘要
TMS320C2000概述 2.1 TMS320F2812中央处理单元 2.2 TMS320F2812存储器配置 2.3 TMS320F2812的引导加载方式 2.4 TMS320F2812的低功耗模式
2
TMS320C2000概述
TMS320C2000是TI公司继第二代定点DSP 处理器TMS320C2X和第三代定点DSP处理器 TMS320C5X之后出现的一种低价格、高性能的 定点DSP芯片。 主要包括: TMS320C24X、TMS320C28X两个子系列。
EVA/EVB
16通道
12位ADC
XRS
X1/XCLKIN X2 XF_XPLLDIS
系统控制 (振荡器、 PPL、外设时 钟、低功耗模 式、看门狗)
RS
CLKIN 存储器总线 外设总线
26
代码保护的模块
2.1.1 TMS320F2812CPU内部结构
TMS320F2812中包含一个高性能低功耗的32位 定点CPU内核,它主要负责DSP内部指令的控制和 数据的处理,主要由CPU内部寄存器、总线及相应 控制逻辑组成: 1.32位中央算术逻辑单元(CALU) 2.32位累加器(ACC) 3.能进行16bit×16bit或32bit×32bit定点乘法运 算的硬件乘法器(MUL) 4.桶形移位器 5.辅助寄存器算术单元(ARAU)及地址产生逻辑 6. 程序地址产生器及控制逻辑
Register Bus / Result Bus Data/Program-write Data Bus (32) Data-write Address Bus (32)
乘法器
Program Bus Data Bus
32 16 32
操作数1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1.6 辅助寄存器算术单元
中央处理单元(CPU)中还包括一个与中央算术逻辑单元(CALU)无关 的辅助寄存器算术单元(ARAU),如下图。它的主要功能是与中央算术逻 辑单元中进行的操作并行地实现对8个辅助寄存器(AR0~AR7)的算术运算。 辅助寄存器提供了灵活而强大的间接寻址功能,使用其中任何一个寄存器提 供的16位地址都可以访问64K字数据存储空间的任何单元。 China_54@
China_54@
China_54@
2.1.2 输入定标移位器
输入定标移位器的功能是将来自程序存储器 或数据存储器的16位数据调整为32位数据,并送 到CALU当中。因此16位输入与数据总线相连, 32位输出与CALU相连。这种移位操作只是数据 从程序或者数据存储器到CALU传输路径的一部 分,所以不会占用额外的时钟周期。
China_54@
2.2 存储器和I/O空间
2.2.2 程序存储器
TMS320LF240xA的程序存储器空间的作用是:保存程序代码以及数据表 信息和常量。它的寻址范围为64KB,包括片内DARAM和片内Flash EEPROM/ROM。当访问片外程序地址空间时,TMS320LF240xA自动产生一 个访问外部程序地址空间的信号,如PS和DS等。如下图。
第三行为复位值
China_54@
2.2 存储器和I/O空间
2.2 存储器和I/O空间
TMS320LF/LC240xA的存储空间由3组16位的并行总线访问:程序地址总线 (PAB)、数据读地址总线(DRAB)、数据写地址总线(DWAB)。这3组总线 的操作是独立的,因此可以同时访问程序空间和数据空间。在一个给定的机 器周期里,中央算术逻辑单元(CALU)可执行3种存储器操作。 TMS320LF/LC240xA可访问的独立的选择空间有以下4种: 64KB程序存储器空间,包含要执行的指令及程序执行时使用的数据。 64KB局部数据存储器空间,保存指令使用的数据。 32KB全局数据存储器空间,保存于其它处理器共用的数据,或者作为一个 附加的数据空间。 64KB的I/O空间,用于外设接口,包括一些片内外设的寄存器。
2.1 CPU内部结构
China_54@
2.1 CPU内部结构
2.1.7 状态寄存器
TMS320LF240xA系列的DSP芯片都包含有两个状态寄存器,分别是ST0和ST1。 这两个寄存器的值既可以被储存在数据存储器当中,也可以从数据存储器当 中读出并装载到两个状态寄存器上,目的是在被子程序调用时保存CPU当前的 状态。 LST指令用于向ST0和ST1写数据;SST指令用于从ST0和ST1当中读数据。状态 寄存器ST0和ST1的每一位都可以用SETC和CLRC置位或者清零。 1. 状态寄存器ST0
China_54@
2.1 CPU内部结构
2.1.4 累计器(ACC)
当CALU工作时,会将计算结果送至32位累加器,累计器负责将结果进行 单移位或者循环移位,然后将结果输出到数据定标移位器。
2.1.5 输出数据定标移位器
输出数据定标移位器有一个32位的输入和一个16位输出,输入部分与32 位累加器相连,输出部分与数据总线相连。这个定标器将32位累加器的内容 全部复制下来,并将其内容左移0~7位,然后将移位器的高位字或低位字存 至数据存储器中。并且在这个过程中,累加起的内容不改变。
China_54@
2.2 存储器和I/O空间
China_54@
2.2 存储器和I/O空间
2.2.3 数据存储器
1. 数据存储器简介 TMS320LF240xA的数据存储空间寻址范围为64K字。每个器件都有3个片内DARAM块: B0、B1和B2。B1和B2只可以用于数据存储。B0既可以配置为数据存储器,也可以 配置为程序存储器。针对数据存储器有两种寻址模式:直接寻址模式和间接寻址 模式。当使用直接寻址时,按128字的数据块来对数据存储器进行寻址。如表2-2 所示显示了这些块是如何被寻址的。全部64KB的数据存储器被分为512个数据页, 其标号为0~511。当前页由状态寄存器ST0中的9位数据页指针(DP)值来确定, 所以,当使用直接寻址指令时,用户必须事先指定数据页,并在访问数据存储器 的指令中指定偏移量。
China_54@
2.2 存储器和I/O空间
2.2.1 内部存储器
TMS320LF/LC240xA具有192K字的可寻址存储空间:64K字程序空间、64K字数 据空间和64K字的I/O空间。一些芯片还通过扩展页增加地址空间。片内存储 器的结构和容量根据芯片的型号有所区别,一般包括随机存取存储器(RAM)、 只读存储器(ROM)和Flash型存储器。对于以LF为前缀的DSP芯片具有Flash, 而以LC为前缀的芯片没有Flash。其中RAM又可以分为两种类型:单存取RAM (SRAM)和双存取RAM(DARAM:B0块、B1块和B2块),DARAM和SARAM可以被 配置为数据存储器或者程序存储器。
2.3.2系统配置寄存器SCSR2 (地址是7019h )
位 15~7 名 - 6 5 4 3
BOOT _ EN
2
1
0 PON
I/P WD XMIF QUAL OVERRIDE HI-Z
MP / MC DON
初
0
0
1
0
引脚
引脚
1
1
位 / 外程序存储器选择控制位,又称微处理器 / 微控制 位2 6。片内 5 4 3 1 :输入时钟限定位。当 : :引导 ~ WD XMIF 0 :单口存储器 保护位。用户可通过软件将 ROM 高阻控制位。它的作用是控制外部存储器的接口信 使能位。当该位值为 SARAMCAP1 的程序 -6 /0 、 数据空间选择控制位。当该 WDCR 时,使能引导 XINT1 寄存器中的 -2、ADCSOC ROM WDDIS ,地址空 等引脚 控制 器模式选择位。可通过软件来改变该位值以改变存储器映射到 被指定为特殊功能时,该位决定了输入到这些引脚信号被正确 位置 号。当位值为 间 两位为 0000h 1来禁止 00 ~ 时,地址空间被分配到外部存储器;当该两位为 00FFh WD 0时,所有的外部存储器接口信号 工作。向该位写 被片内引导ROM1 块占用,该方式禁止使用 可以对其清0。该位为 (XMIF)0 处于正 时,不 FLASH 01时, ; 片内或片外。当该位值为 0 锁存所需的最少脉冲数。当位值为 能通过软件来禁止 常驱动模式 当位值为 SARAM 被映射为片内程序空间;当该两位为 1时,禁止引导 (接通)WD ;当该位值为 ;为 ROM 1时,器件设置为微控制器模式,程 时,可通过软件来禁止 ,允许使用 1时,所有的外部存储器接口 0时,至少需 FLASH, 10时, 对于 5个时钟周期; WD SARAM 工作。 被映射 序存储器地址范围 0000h - 7FFFh 被映射到片内 FLASH;当位值 当位值为1时,至少需 11个时钟周期。 信号处于高阻状态,即断开外部存储器接口信号。 TMS320LF2407A 为片内数据空间;当该两位为 片内 FLASH 程序存储器映射地址范围为 11时, SARAM被同时映射到片内 0000h~ 为 1时,器件设置为微处理器模式,程序存储器地址范围 0000h。 7FFFh 程序空间和片内数据空间。 。 退出 China_54@
China_54@
2.1 CPU内部结构
2.1.3 中央算术逻辑单元(CALU)
中央算术逻辑单元执行大部分的算术和逻辑运算功能,并且实现大多数 的功能都只要1个时钟周期,这些功能包括:16位加、16位减、布尔逻辑操作、 位测试、移位和循环功能。有关中央算术逻辑单元的结构框图,如下图。
2.2 存储器和I/O空间
2. 数据存储器映射 在64K字的数据存储器中,包含了TMS320LF240xA器件的映射寄存器,这些寄存器 位于数据存储空间的Page0上,如下表:
China_54@
2.2 存储器和I/O空间
2.2.4 I/O空间
TMS320LF/LC240xA的I/O空间寻址可达64K字,如下图TMS320LF/LC240xA的 I/O空间地质映射。
2.1 CPU内部结构
2.1.1 乘法器
TMS320x240xA采用一个16×16位硬件乘法器,可 以在一个时钟周期内产生一个32位有符号或者无符号的 乘积结果。在硬件乘法器中进行运算的两个16位值都被 认为具有二进制补码格式(无符号乘法指令MPYU除 外)。 乘法器将来自16位数据存储器或程序存储器的被乘 数,与16位临时寄存器(TREG)的乘数相乘,把结果保 存在一个32位的乘积寄存器(PREG)中。乘积移位器再 将PREG中的乘积移位定标后,送入中央算术逻辑单元。
位 名 称
15~13 ARPBiblioteka 12 OV11 OVM
10 1
9 INTM
8~0 DP
复位值
X
0
X
1
1
X
China_54@
2. 状态寄存器ST1 15~1 3 ARB X 12 CNF 0 11 TC X 10 SXM 1 9 C 1 8 1 1 7 1 1 6 1 1 5 1 1 4 XF 1 3 1 1 2 1 1 1~0 PM 00
China_54@
China_54@
2.4 系统配置寄存器
2.4.1系统配置寄存器SCSR1(地址7018h )
位 名 位 名 15 7 ADC CLKEN 14 CLKSRC 6 SCI CLKEN 13 LPM1 5 SPI CLKEN 12 LPM0 4 CAN CLKEN 11 CLKPS2 3 EVB CLKEN 10 CLKPS1 2 EVA CLKEN 9 CLKPS0 1 0 ILLADR 8 -
第2章 TMS320LF240x的CPU内核结构及存储器映射
本章导读:
CPU是DSP中最主要的运算部件,CPU的好坏直接影响着DSP的性能;而 存储器在DSP中的作用也不容忽视。本章通过介绍TMS320x240xA系列DSP的 CPU及存储器,使读者熟练掌握这两个部件的内部结构和工作原理。