第2章 DSP芯片的基本结构和特征
更新时间:2023-08-20 15:41:01 阅读量: 高等教育 文档下载
- 第2章 属下玫瑰推荐度:
- 相关推荐
第2章 DSP芯片的基本结构和特征
值得拥有的资料
是来自平时学习积累总结的
有问题的地方肯定有的
还请大家批评指正!
第2章 DSP芯片的基本结构和特征
2.1 引 言
可编程DSP芯片是一种具有特殊结构的微处理器
为了达到快速进行数字信号处理的目的
DSP芯片一般都具有程序和数据分开的总线结构、流水线操作功能、单周期完成乘法的硬件乘法器以及一套适合数字信号处理的指令集
本章将首先介绍DSP芯片的基本结构
然后介绍TI公司的各种DSP芯片的特征
最后简要介绍其他公司的DSP芯片的特点
2.2 DSP芯片的基本结构
为了快速地实现数字信号处理运算
DSP芯片一般都采用特殊的软硬件结构
下面以TMS320系列为例介绍DSP芯片的基本结构
TMS320系列DSP芯片的基本结构包括:(1)哈佛结构;(2)流水线操作;(3)专用的硬件乘法器;(4)特殊的DSP指令;(5)快速的指令周期
这些特点使得TMS320系列DSP芯片可以实现快速的DSP运算
并使大部分运算(例如乘法)能够在一个指令周期内完成
由于TMS320系列DSP芯片是软件可编程器件
因此具有通用微处理器具有的方便灵活的特点
下面分别介绍这些特点是如何在TMS320系列DSP芯片中应用并使得芯片的功能得到加强的
2.2.1 哈佛结构
哈佛结构是不同于传统的冯·诺曼(Von Neuman)结构的并行体系结构
其主要特点是将程序和数据存储在不同的存储空间中
即程序存储器和数据存储器是两个相互独立的存储器
每个存储器独立编址
独立访问
与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线
从而使数据的吞吐率提高了一倍
而冯·诺曼结构则是将指令、数据、地址存储在同一存储器中
统一编址
依靠指令计数器提供的地址来区分是指令、数据还是地址
取指令和取数据都访问同一存储器
数据吞吐率低
在哈佛结构中
由于程序和数据存储器在两个分开的空间中
因此取指和执行能完全重叠运行
为了进一步提高运行速度和灵活性
TMS320系列DSP芯片在基本哈佛结构的基础上作了改进
一是允许数据存放在程序存储器中
并被算术运算指令直接使用
增强了芯片的灵活性;二是指令存储在高速缓冲器(Cache)中
当执行此指令时
不需要再从存储器中读取指令
节约了一个指令周期的时间
如TMS320C30具有64个字的Cac
he
2.2.2 流水线
与哈佛结构相关
DSP芯片广泛采用流水线以减少指令执行时间
从而增强了处理器的处理能力
TMS320系列处理器的流水线深度从2~6级不等
第一代TMS320处理器采用二级流水线
第二代采用三级流水线
而第三代则采用四级流水线
也就
第2章 DSP芯片的基本结构和特征
是说
处理器可以并行处理2~6条指令
每条指令处于流水线上的不同阶段
图2.1所示为一个三级流水线操作的例子
图2.1 三级流水线操作
在三级流水线操作中
取指、译码和执行操作可以独立地处理
这可使指令执行能完全重叠
在每个指令周期内
三个不同的指令处于激活状态
每个指令处于不同的阶段
例如
在第N个指令取指时
前一个指令即第N-1个指令正在译码
而第N-2个指令则正在执行
一般来说
流水线对用户是透明的
2.2.3 专用的硬件乘法器
在一般形式的FIR滤波器中
乘法是DSP的重要组成部分
对每个滤波器抽头
必须做一次乘法和一次加法
乘法速度越快
DSP处理器的性能就越高
在通用的微处理器中
乘法指令是由一系列加法来实现的
故需许多个指令周期来完成
相比而言
DSP芯片的特征就是有一个专用的硬件乘法器
在TMS320系列中
由于具有专用的硬件乘法器
乘法可在一个指令周期内完成
从最早的TMS32010实现FIR的每个抽头算法可以看出
滤波器每个抽头需要一条乘法指令MPY:
LT;装乘数到T寄存器
DMOV;在存储器中移动数据以实现延迟
MPY;相乘
APAC;将乘法结果加到ACC中
其他三条指令用来将乘数装入到乘法器电路( LT)
移动数据(DMOV)以及将乘法结果(存在乘积寄存器P中)加到ACC中(APAC)
因此
若采用256抽头的FIR滤波器
这四条指令必须重复执行256次
且256次乘法必须在一个抽样间隔内完成
在典型的通用微处理器中
每个抽头需要30 ~ 40个指令周期
而TMS32010只需4条指令
如果采用特殊的DSP指令或采用 TMS320C54X等新一代的DSP芯片
可进一步降低FIR抽头的计算时间
2.2.4 特殊的DSP指令
DSP芯片的另一个特征是采用特殊的指令
2.2.3节中介绍的DMOV就是一个特殊的DSP指令
它完成数据移位功能
在数字信号处理中
延迟操作非常重要
这个延迟就是由DMOV来实现的
TMS32010中的另一个特殊指令是LTD
它在一个指令周期内完成LT、DMOV和APAC三条指令
LTD和MPY指令可以将FIR滤波器抽头计算从4条指令降为2条指令
在第二代处理器中
如TMS320C25
增加了2条更特殊的指令
即RPT和MACD指令
采用这2条特殊指令
可以进一步将每个抽头的运算指令数从2条降为1条:
RPTK255;重复执行下条指令256次
MACD;LT, DMOV, MPY 及 APAC
2.2.5 快速的指令周期
哈佛结构、流水线操
作、专用的硬件乘法器、特殊的DSP指令再加上集成电路的优化设计
可使DSP芯片的指令周期在200ns 以下
TMS320系列处理器的指令周期已经从第一代的200ns降低至现在的20ns 以下
快速的指令周期使得DSP芯片能够实时实现许多DSP应用
2.3 TI定点DSP芯片
第2章 DSP芯片的基本结构和特征
自1982年TI推出第一个定点DSP芯片TMS32010以来
TI的定点DSP芯片已经经历了TMS320C1X、TMS320C2X/C2XX、TMS320C5X 、TMS320C54X、TMS320C62X等几代产品
产品的性能价格比不断提高
应用越来越广泛
下面分别介绍这些芯片的主要特征
2.3.1 TMS320C1X
2.3.1.1 基本特点
第一代TMS320系列DSP芯片包括:TMS32010、TMS32011、TMS320C10、 TMS320C15/E15和TMS320C17/E17
其中
TMS32010和TMS32011采用2.4?m的 NMOS 工艺
而其他几种则采用1.8?m CMOS工艺
这些芯片的典型工作频率为20MHz
TMS320第一代DSP芯片的主要特点如下:
指令周期:160ns/200ns/280ns
片内RAM:144字/256字(TMS320C15/E15/C17/E17)
片内ROM:1.5K字/4K字(TMS320C15/C17)
4K字片内程序EPROM(TMS320E15/E17)
4K字外部全速存储器扩展
并行乘法器:乘积为32位
桶形移位器:将数据从存储器移到ALU
并行移位器
允许文本交换的4×12位堆栈
两个间接寻址的辅助寄存器
双通道串行口(TMS32011,TMS320C17/E17)
片内压扩硬件(TMS32011,TMS320C17/E17)
协处理器接口(TMS320C17/E17)
器件封装:40脚双列直插(DIP)/44脚塑封(PLCC)
2.3.1.2 TMS320C10
TMS320 DSP芯片的第一代产品是基于TMS32010和它的CMOS版本TMS320C10的结构
TMS32010于1982年推出
是第一个能够达到 5 个MIPS的微处理器
TMS32010采用改进的哈佛结构
即程序和数据空间相互独立
程序存储器可在片内(1.5K字)或片外(4K字)
片内数据RAM为144字
有四个基本的算术单元:算术逻辑单元(ALU)、累加器(ACC)、乘法器和移位器
(1) ALU:32位数据操作的通用算术逻辑单元
ALU可进行加、减和逻辑运算;
(2)ACC:累加器存储ALU的输出
也是ALU的一个输入
它采用32位字长操作
分高16位和低16位两部分
处理器提供高16位和低16位的专门指令:SACH(高16位)和SACL(低16位);
(3) 乘法器:16×16位并行乘法器由三个单元组成:T寄存器、P寄存器和乘法器阵列
T寄存器存储被乘数
P寄存器存储32位乘积
为了使用乘法器
被乘数首先必须从数据RAM中装入到T寄存器
可用LT、LTA和LTD指令
然后执行MPY(乘)或MPYK(乘立即数)指令
乘和累加器操作可用LTA、LTD和MPY、MPYK指令在两个指令周期内完成;
(4) 移位器:有两个移位器可用于数
据移位
一个是桶形移位器
另一个是并行移位器
桶形移位器又称定标移位器
当数据存储器的数据送入累加器或与累加器中的数据进行运算时
先通过这个移位器进行0~16位左移
然后再进行运算
并行移位器即输出移位器
其作用是将累加器中的数据左移0、1或4位后再送入数据存储器中
以
第2章 DSP芯片的基本结构和特征
实现小数运算或小数乘积的调整
在TMS32010/C10基础上又派生了多个处理器
它们可提供不同的处理器速度、存储器扩展和各种I/O集成
2.3.1.3 TMS320C1X的其他芯片
1.TMS320C15/E15
TMS320C15/E15与TMS32010的代码和管脚全兼容
提供256字的片内RAM和4K字的片内ROM(C15)或EPROM(E15)
TMS320C15的指令周期有200ns和160ns(TMS320C15-25)两种
2.TMS320C17/E17
TMS320C17/E17是一个专用的微处理器
它有4K字的片内程序ROM(C17)或EPROM(E17)
一个全双工串行通信的双通道串行口
片内硬件压扩器(?律/A律)
一个用于串行通信的串行口定时器
及一个协处理器接口
协处理器接口可以在处理器和4/8/16位微处理器之间提供直接接口
TMS320C17/E17与TMS32010目标代码兼容
且可用相同的开发工具
该处理器是基于TMS320C10的CPU内核
外加片内的外设存储器和I/O模块
TMS320C17/E17可认为是半定制的DSP芯片
表2.1 是TMS320第一代产品的比较表
表2.1 TMS320第一代处理器
DSP芯片指令周期
(ns)制造工艺片内程序ROM(字)片内程序EPROM(字)片内数据RAM(字)片外程序(字)TMS32010200NMOS1.5K1444KTMS32010-25160NMOS1.5K1444KTMS32010-14280NMOS1.5K1444KTMS32011200NMOS1.5K144TMS320C10200CMOS1.5K1444KTMS320C10-25160CMOS1.5K1444KTMS320C15200CMOS4K2564KTMS320C15-25160CMOS4K2564KTMS320E15200CMOS4K2564KTMS320C17200CMOS4K256TMS320C17-25160CMOS4K256TMS320E17200CMOS4K256
2.3.2 TMS320C2X
第二代TMS320 DSP芯片包括TMS32020、TMS320C25/E25、TMS320C26及TMS320C28
在这些芯片中
TMS32020是一个过渡的产品
其指令周期为200ns
与TMS32010相当
而其硬件结构则与TMS320C25一致
在第二代DSP芯片中
TMS320C25是一个典型的代表
其他芯片都是由TMS320C25派生出来的
其中TMS320E25将内部4K字的ROM改为EPROM;TMS320C26去掉了内部的4K字ROM
而将片内RAM增加到1.5K字;TMS320C28则将内部ROM增加到8K字
由于TMS320C25的典型性
下面就讨论TMS320C25的基本特征和结构
2.3.2.1 TMS320C25的基本特征
指令周期: TMS320C25:100ns
TMS320C25-33:120ns
TMS320C25-50:80ns
片内掩膜ROM:4K 字
片内RAM:544字
分B0、B1和B2三块
程序和数据空间均为64K字
具有8级硬件堆栈、8个辅助寄存器
具有全静态双缓冲串行口
可与许多串行器件直接接口
与低速片外存储器通信
的等待状态插入
采用HOLD操作的DMA
FFT变换用的比特反转寻址
扩展精度算术和自适应滤波支持
从外部存储器全速执行的MAC/MACD指令
具有在多处理器之间进行同步的能力
支持多处理器共享存储器
1.8μm CMOS工艺
68
第2章 DSP芯片的基本结构和特征
脚PGA或PLCC封装
2.3.2.2 TMS320C25的结构
TMS320C25是第二代TMS320中与TMS32020管脚全兼容的CMOS版本
但指令执行速度是TMS32020的2倍
且增加了硬件和软件资源
指令集是TMS32010和TMS32020的超集
在源代码级与它们兼容
此外
在代码级与TMS32020兼容
因此
TMS32020的程序可不用修改直接在TMS320C25上运行
100ns的指令周期可提供较强的运算能力
由于大部分指令在一个指令周期内执行
处理器在1秒内可执行1000万条指令(10MIPS)
运算能力的增加主要得益于乘累加指令(MAC)和带数据移位的乘累加指令(MACD)、具有专用算术单元的8个辅助寄存器、适合于自适应滤波和扩展精度运算的指令集支持、比特反转寻址、快速的I/O支持等
指令集中提供在两个存储空间中进行数据移动的指令
在外部
程序和数据存储空间在同一总线上复用
从而使得在尽量减少芯片引脚的情况下最大程度地扩大两个空间的地址范围
在内部
TMS320C25结构通过保持程序和数据总线结构分离以使指令全速执行来获得最大的处理能力
芯片内部的程序执行采用三级流水线形式
流水线对用户来说是透明的
但是
在某些情况下流水线可能被打断(如跳转指令)
在这种情况下
指令执行时间要考虑流水线必须清空和重新填充
两块大的片内RAM在系统设计时提供了很大的灵活性
其中一块既可配置为程序存储器也可配置为数据存储器
片外64K字的数据空间可直接寻址
从而使DSP算法实现更为方便
片内4K字的掩膜ROM可用来降低系统成本
若程序不超过4K字
可使TMS320C25不用扩展片外程序存储器
剩下的64K字程序空间在片外
大量的程序可在片外存储器中全速运行
程序也可从片外慢速EPROM中装入到片内高速RAM中全速运行
此外
还有硬件定时器、串行口和数据块搬移功能
下面介绍TMS320C25的存储器分配、中央算术逻辑单元(CALU)、硬件乘法器、控制操作、串行口和I/O接口
1.存储器分配
TMS320C25具有4K字的片内程序ROM和544字的片内RAM
RAM分为三块:B0、B1、B2
其中
B0块(256字)既可配置为数据存储器(用CNFD指令)
也可配置为程序存储器(用CNFP指令)
其余288字(B1和B2块)只能是数据存储器
544字的片内RAM可使C25能处理512字的数据阵列
如可进行256点复数FFT运算
且尚有32字用作中间结果的暂存
TMS32
0C25提供片外可直接寻址的程序和数据空间各64K字
寄存器组包含8个辅助寄存器(AR0~AR7)
它们可用作数据存储器的间接寻址和暂存
从而增加芯片的灵活性和效率
这些寄存器既可用指令直接寻址
也可用3比特的辅助寄存器指针(ARP)间接寻址
辅助寄存器和ARP既可从
第2章 DSP芯片的基本结构和特征
数据存储器装数
也可装入立即数
寄存器的内容也可存入数据存储器中
辅助寄存器组与辅助寄存器算术单元(ARAU)相连接
用ARAU访问信息表无需CALU参与地址操作
这样可让CALU进行其他操作
2.中央算术逻辑单元
CALU包含一个16位的定标移位器(Scaling)
一个16×16位的并行乘法器
一个32位的累加器和一个32位的算术逻辑单元(ALU)
移位器根据指令要求提供0到16位的数据左移
累加器和乘法器输出端的移位器适合于数值的归一化、比特提取、扩展精度算术和溢出保护
典型的ALU指令实现包含以下三步:
(1) 数据在数据总线上从RAM中获取;
(2) 数据移交给完成算术运算的定标移位器和ALU;
(3) 结果送回累加器
32位累加器可分为2个16位以进行数据存储:SACH(高16位)和ACCL(低16位)
累加器有一个进位位可方便加法和减法的多精度运算
3.硬件乘法器
TMS320C25具有一个16×16位的硬件乘法器
它能在一个指令周期内计算一个32位乘积
有两个寄存器与乘法器相关:①16位暂存寄存器TR
用于保存乘法器的一个操作数;②32位乘积寄存器PR
用于保存乘积
乘积寄存器的输出可左移1位或4位
这对于实现小数算术运算或调整小数乘积很有用
PR的输出也可右移6位
这样可连续执行128次乘/加而无溢出
无符号乘(MPYU)指令可方便扩展精度乘法
4.I/O接口
I/O空间由16个输入口和16个输出口组成
这些口可提供全16位并行I/O接口
输入(IN)和输出(OUT)操作典型的是2个周期
但若用重复指令
可变成单周期指令
I/O器件映射到I/O地址空间
其方式与存储器映射方式相同
与不同速度的存储器或I/O器件接口采用READY线完成
TMS320C25也支持外部程序/数据存储器的DMA
其他处理器通过置HOLD\ 为低后可完全控制TMS320C25的外部存储器
使C25将其地址、数据和控制线呈高阻状态
外部处理器和C25的通信可通过中断来完成
TMS320C25芯片提供两种DMA方式
一种是加上HOLD后停止执行;另一种是C25继续执行
但执行是在片内ROM和RAM中进行
这可大大提高性能
2.3.2.3 TMS320C25的软件
TMS320C25的指令总共有133条
其中97条是单周期指令
在另外36条指令中
21条包括跳转、调用、返回等
这些指令需重新装入程序计数器
使执行流水线中断
另外7条指令是双字和长立即数指令
剩
下的8条指令(IN
OUT
BLKD
BLKP
TBLR
TBLW
MAC
MACD)支持I/O操作、存储器之间的数据交换或提供处理器内部额外的并行操作
而且这8条指令与重复计数器配合使用时可成为单周期指令
这主要利用了处理器的并行机制
使得复杂的计算可用很少的几条指
第2章 DSP芯片的基本结构和特征
令来完成
由于大多数指令用单16位字编码
故可在一个周期内完成
存储器寻址方式有三种:直接寻址、间接寻址和立即数寻址
直接寻址和间接寻址都用来访问数据存储器
立即数寻址利用由程序计数器确定的存储器内容
使用直接寻址方式时
指令字的7位和9位数据存储器页指针(DP)构成16位的数据存储器地址
其中
每页长128字
共有512页
故可寻址64K的数据空间
间接寻址借助于8个辅助寄存器(AR0~AR7)
表2.2 列出了7种间接寻址方式
其中的比特反转寻址可大大提高 FFT运算的I/O效率
其中
OP表示某种运算
NARP表示新的ARP
表2.2 TMS320C25的寻址方式
寻址方式操 作 OP A 直接寻址 OP *(,NARP) 间接寻址;AR不变 OP *+(,NARP) 间接寻址;当前AR加1 OP *-(,NARP) 间接寻址;当前AR减1 OP *0+(,NARP) 间接寻址;AR0加到当前AR OP *0-(,NARP) 间接寻址;当前AR减去AR0 OP *BR0+(,NARP) 间接寻址;AR0加到AR() OP *BR0-(,NARP) 间接寻址;当前AR减去AR0()
2.3.3 TMS320C5X
TMS320C5X是TI公司的第五代产品
是继TMS320C1X和TMS320C2X之后的第三代定点DSP处理器
它的核心中央处理器(CPU)以TMS320C25的核心CPU为基础
增强型结构大幅度地提高了整体性能
TMS320C5X工作速度是TMS320C25的2倍以上
对于TMS320C1X和TMS320C2X具有源代码向上兼容特性
这种兼容性保留了过去开发的软件
便于系统升级到更高性能的DSP系统
TMS320C5X系列有TMS320C50/C51/C52/C53等多种产品
它们的主要区别是片内RAM、ROM等资源的多少
如TMS320C50内部具有10K字RAM和2K字ROM
其中2K字ROM已经固化了引导程序;TMS320C51内部具有2K字RAM和8K字ROM;TMS320C52内部具有1K字RAM和4K字ROM
减少了一个串行口;TMS320C53内部则有4K字RAM和16K字ROM
芯片的其他性能则是完全相同的
下面以TMS320C50为例介绍TMS320C5X DSP 芯片
2.3.3.1 TMS320C50的基本特征
TMS320C50的主要特点包括:
25/35/50ns的指令周期(20 ~ 40 MIPS)
224K×16位最大可寻址外部存储空间(64K程序、64K数据、64K I/O、32K全局)
算术逻辑单元(ALU)
32位累加器(ACC)以及32位加法器的缓冲器(ACCB)
并行逻辑单元(PLU)
结果具有32位的16×16位并行乘法器
单周
期乘累加指令
具有一个专用算术单元的8个辅助寄存器
可用于间接寻址
8级硬件堆栈
0~16位数据左移和右移
两个间接寻址的循环缓冲器
用于循环寻址
程序代码的单指令重复和程序块重复
全双工同步串行口
用于完成TMS320C5X与其他串
第2章 DSP芯片的基本结构和特征
行器件之间的直接通信
时分多址访问(TDM )串行口
内部定时器
可用软件控制
64K 并行I/O 口
其中16个有存储器映像
可软件编程的等待状态发生器
扩展保持操作
用于并发外部DMA
四级流水线操作
用于延迟跳转、调用、返回指令
比特反转寻址方式
用于FFT运算
JTAG扫描仿真接口(IEEE标准
P1149.1)
1.核心CPU
TMS320C5X CPU的增强功能在提高性能和通用性的同时
保持了对TMS320C1X和TMS320C2X源代码的兼容性
硬件的改进包括:一个32位累加器缓冲器
附加定标能力
利用附加硬件功能的新指令
新的控制功能包括:独立的并行逻辑单元(PLU)和一组文本交换寄存器
数据管理方面的改进包括:采用新的块搬移指令和存储器映像寄存器指令
TMS320C50有28个存储器映像寄存器和16个存储器映像的I/O口
2.片内ROM
TMS320C50拥有2K×16位掩蔽ROM
内部固化了引导程序
该存储器把程序从外部ROM/EPROM、串行口或并行I/O口引导至运行速度较快的SRAM中
这块引导ROM可通过PMST状态寄存器中的MP/MC\ 位从程序存储空间去除
如果该ROM未选
则TMS320C50由片外存储器启动执行
3.片内数据RAM
TMS320C50具有1056字的片内RAM
这块RAM 可在每个机器周期内访问两次(双寻址RAM)
只要两次访问不是"写"操作
这块存储空间主要用于存储数据
但是如果需要也可用于存储程序和数据
其配置有两种方式:所有的1056字都作为数据存储区
或者将其中的544字作为数据存储器
512字作为程序存储区
可通过状态寄存器ST1中的CNF位选择设置
4.片内程序/数据RAM
TMS320C50还具有9K字的片内RAM
这一存储区可以由软件设置映射到程序或数据存储空间
程序从片外存储器引导后
可装入到该存储区全速运行
5.片内存储器安全
TMS320C50可以通过可屏蔽选择来保护片内存储器的内容
当相关比特置位时
外部无法访问片内存储空间
6.有地址映射的软件等待状态发生器
软件等待状态逻辑不需要任何外部硬件就可以实现TMS320C50与速度较慢的片外存储器和I/O设备接口
该电路系统拥有16个等待状态发生器
其中可由用户编程操作的有0
1
2
3和7状态
7.并行I/O口
TMS320C50共有64K I/O口
其中的16个可映射在数据存储空间
这些口可由IN或OUT指令寻址
具有存储器映像的I/O口可
按存储器的读写方式访问
I/O口的访问由IS\线选通
增加简单的片外地址译码电路
就可实现TMS320C50的I/O口与外部I/O设备的简单连接
8.串行I/O口
TMS320C50有两个高速串行口
串行口最快可按1/4机器周期(CLKOUT1)操作
一个是同步
第2章 DSP芯片的基本结构和特征
全双工串行口
发送和接收都有缓冲
分别由可屏蔽外部中断信号控制
数据可按照8或16位方式传输;另一个串行口为全双工串口
可设置为同步方式
也可设置为时分多址(TDM)方式
TDM串行口一般用于多处理机系统
9.16位硬件定时器
16位硬件定时器可由软件进行控制
通过设置相应的状态位
定时器可工作在停止、重启动、复位或不工作等状态
10.用户可屏蔽中断
TMS320C50有4个外部中断线
片内的中断锁存电路可实现异步中断操作
此外
还有5个内部中断:1个定时器中断和4个串行口中断
11.JTAG扫描逻辑
JTAG扫描逻辑电路用于仿真和测试
采用JTAG可实现在线仿真
2.3.3.2 TMS320C50的结构
TMS320C50采用了与TMS320C25类似的哈佛型总线结构
通过两个独立的数据总线和程序总线
最大限度地提高运算速度
指令支持在两个存储区之间的数据传输
TMS320C50使用32位的ALU和累加器以实现2的补码运算
ALU是一个通用的算术单元
它所使用的运算数据(16位)来自数据RAM或来自立即数指令
也可以是乘积寄存器中32位的乘积结果
除此之外
ALU还可以执行位操作
累加器保存ALU的输出
也为ALU提供下一个输入
字长为32位的累加器分为高字节和低字节
指令提供对低字节和高字节的单独存储
32位的累加器缓冲器用于临时快速地存储累加器的内容
除了ALU之外
并行逻辑单元(PLU)可以在不影响累加器内容的情况下对数据进行逻辑操作
PLU提供了高速控制器需要的位处理能力
并简化了控制和状态寄存器需要的置位、清零和测试操作
乘法器以单指令周期完成16×16位的乘法
结果为32位
乘法器由三部分组成
分别是乘法器阵列、PREG(乘积寄存器)、TREG0(临时寄存器)
16位的TREG0存储乘数
PREG保存32位的乘积结果
乘法器中的数值来自数据存储器
当使用MAC/MACD/MADS/MADD指令时来自程序存储器
或者来自乘立即数指令(MPY #)
片内快速乘法器对执行诸如卷积、相关和滤波等基本的DSP操作十分有效
TMS320C50的定标移位器有一个16位的输入来自数据总线
32位的输出连接到ALU
定标移位器依照指令的编程使输入数据产生0到16位的左移
移位量取决于指令或移位计数寄存器(TREG1)中的定义值
输出的最低有效位(LSB)补零
最高有效位补0或符号扩展(取决于状
态寄存器ST1的符号扩展模式位SXM)
附加的移位能力使处理器能执行数值定标、二进制位提取、符号扩展运算和溢出防止等功能
8级硬件堆栈用于在中断及子程序调用时保存程序计数器的内容
中断发生时
重要寄存器(ACC、ACCB、ARCR、INDX、PMST、PREG、ST0、S
第2章 DSP芯片的基本结构和特征
T1和TREG)压入堆栈
中断返回时弹出
实现了无开销的中断文本切换
2.3.4 TMS320C2XX
TMS320C2XX是继TMS320C2X和TMS320C5X之后出现的一种低价格、高性能定点DSP芯片
主要包括TMS320C20X、TMS320C24X两个子系列
TMS320C2XX系列DSP芯片具有如下特点:
(1) 处理能力强
指令周期最短为25ns
运算能力达40MIPS;
(2) 片内具有较大的闪烁存储器
TMS320C2XX是最早使用闪烁存储器的DSP芯片
闪烁存储器具有比ROM灵活、比RAM便宜的特点
TMS320F206和TMS320F207片内具有32K字的闪烁存储器和4.5K字的RAM
利用闪烁存储器存储程序
不仅降低了成本
减小了体积
同时系统升级也比较方便;
(3) 功耗低
TMS320C2XX系列DSP芯片在5V工作时每个MIPS消耗1.9mA
在3.3V工作时每个MIPS消耗1.1mA
使用DSP核的省电模式可进一步降低功耗;
(4) 资源配置灵活
现有10多种具有不同资源配置的芯片
表2.3是TMS320C2XX系列DSP芯片比较表
此外
TMS320C24X系列芯片为数字控制系统的应用做了优化设计
表2.3 TMS320C2XX系列芯片的资源配置
TMS320
C2XX指令周期
(ns)片内ROM
(字)片内RAM
(字)片内FLM
(字)同步
串行口异步
串行口C20325/35/5054411C20425/35/504K54411C20525/35/504.5K11F20625/35/504.5K32K11F20725/35/504.5K32K21C20935/504K4.5KC2405016K54411F2405054416K11C241508K54411F241505448K11C242504K54411F243505448K11
2.3.5 TMS320C54X
TMS320C54X是为实现低功耗、高性能而专门设计的定点DSP芯片
其主要应用是无线通信系统等
该芯片的内部结构与TMS320C5X不同
因而指令系统与TMS320C5X和TMS320C2X等是互不兼容的
TMS320C54X的主要特点包括:
(1) 运算速度快
指令周期为25/20/15/12.5/10ns
运算能力为40/50/66/80/100 MIPS;
(2) 优化的CPU结构
内部有1个40位的算术逻辑单元
2个40位的累加器
2个40位加法器
1个17×17的乘法器和1个40位的桶形移位器
有4条内部总线和2个地址产生器
此外
内部还集成了维特比加速器
用于提高维特比编译码的速度
先进的DSP结构可高效地实现无线通信系统中的各种功能
如用TMS320C54X实现全速率的GSM 需12.7 MIPS
实现半速率GSM 需26.2 MIPS
而实现全速率GSM 语音编码器仅需2.3 MIPS
实现IS-54/136 VSELP语音编码仅需12.8 MIPS;
(3) 低功耗方式
TMS320C54X可以在3.3V或2.7V电压下工作
三个低功耗方式(IDLE1、IDLE2和IDLE3)可以节省DSP的功耗
TMS320C54X特别适合于无线移动设备
用TMS320C54X实现IS54/136 VSELP语音编码仅需31.1mW
实现GSM 语音编码器仅需5.6mW;
(4) 智能外设
除了标准的串行口和时分复用(TDM)串行口外
TMS320C54X还提供了自动缓冲串行口
第2章 DSP芯片的基本结构和特征
BSP(auto-Buffered Serial Port)和与外部处理器通信的HPI(Host Port Interface)接口
BSP可提供2K字数据缓冲的读写能力
从而降低处理器的额外开销
指令周期为20ns时
BSP的最大数据吞吐量为50M bit/s
即使在IDLE方式下
BSP也可以全速工作
HPI可以与外部标准的微处理器直接接口
表2.4是TMS320C54X系列部分DSP芯片比较表
表2.4 TMS320C54X的资源配置
TMS320C54X指令周期(ns)工作电压(V)片内RAM(字)片内ROM(字)串行口BSPHPIC54120/255/3.3/3.05K28K2个标准口C54220/255/3.3/3.010K 2K1个TDM口11C54320/253.3/3.010K2K1个TDM口1C54520/253.3/3.06K48K1个标准口11C54620/253.3/3.06K48K1个标准口1C54815/20/253.3/3.032K2K1个TDM口21LC/VC54910/12.5/153.3/2.532K16K1个TDM口21VC5402103.3/1.816K4K21
2.3.6 TMS320C62X
这是TI公司于1997年开发的一种新型定点DSP芯片
该芯片的内部结构与以前的DSP芯片不同
内部集成了多个功能单元
可同时执行8条指令
运算能力达1600MIPS
其主要特点有:
(1) 运行速度快
指令周期为5ns
运算能力为1600MIPS;
(2) 内部结构不同于一般DSP芯片
内部同时集成了2个乘法器和6个算术运算单元
且它们之间是高度正交的
使得在一个指令周期内最大能支持8条32bit的指令;
(3) 指令集不同
为充分发挥其内部集成的各执行单元的独立运行能力
TI公司使用了VelociTT 超长指令字(VLIW)结构
它在一条指令中组合了几个执行单元
结合其独特的内部结构
可在一个时钟周期内并行执行几个指令;
(4) 大容量的片内存储器和大范围的寻址能力
片内集成了512K字程序存储器和512K字数据存储器
并拥有32bit的外部存储器界面;
(5) 智能外设
内部集成了 4个DMA接口
2个多通道缓存串口
2个32bit 计时器;
(6) 低廉的使用成本
在一个无线基站的应用中
每片TMS320C62X能同时完成30路的语音编解码
每路成本为3美元
而以前的DSP系列最大只能完成5路
每路的成本为7美元
这种芯片适合于无线基站、无线PDA、组合Modem、GPS导航等需要大运算能力的应用场合
2.4 TI浮点DSP芯片
2.4.1 TMS320C3X
TMS320C3X是TI的第三代产品
也是第一代浮点DSP芯片
TMS320C3X中目前具有TMS320C30、TMS320C31和TMS320C32三种
TMS320C31是TMS320C30的简化和改进型
它在TMS320C30的基础上去掉了一般用户不常用的一些资源
降低了成本
是一个性能价格比较高的浮点处理器
在国内已得
到了较广泛的应用
TMS320C32是TMS320C31的进一步简化和改进
表2.5示出了三种芯片的比较
表2.5 三种TMS320C3X芯片的比较
特征TMS320C30TMS320C31TMS320C32数据/程序总线主总线STRB:
32位数据
24位地
第2章 DSP芯片的基本结构和特征
址
扩展总线IOSTRB:
32位数据
13位地址STRB:
32位数据
24位地址STRB0:8/16/32位
STRB1: 8/16/32位
IOSTRB:32位内部RAM2K字2K字512字串行I/O口2个串行口1个串行口1个串行口用户程序、数据ROM4K字/16K字节无无DMA控制器单通道单通道双通道程序和数据
存储器宽度32位32位程序16/32位可选
数据8/16/32位可选外部中断触发电平触发电平触发电平/边沿可选中断矢量表地址固定固定用户可重定位程序引导无用户可选用户可选
TMS320C30的指令周期为50/60/74ns
TMS320C31的指令周期为33/40/50/60/74ns
TMS320C32的指令周期则为33/40/50ns
2.4.1.1 TMS320C3X的硬件资源
TMS320C30的硬件资源相当丰富
其内部包含了2K×32位的快速RAM块
分开的程序总线、数据总线和DMA总线使得取指、读写数据和DMA操作可并行进行
如CPU可以在一个周期内完成下列操作: 在一个RAM块中存取两个数据值
进行一次外部取指
DMA装入到另一个RAM块
64×32位的指令Cache用来存储经常使用的代码块
这可大大减少片外访问的次数
从而提高程序运行速度
由于主总线的地址总线是24位
因此TMS320C30可以访问多达16M的32位字的存储器空间
程序、数据和I/O空间都包含在TMS320C30这个16M字的空间中
TMS320C30有一个40/32位的浮点/整数乘法器
这个乘法器可以在单周期内完成24位整数和32位浮点值的乘法
为了达到更高的性能
可以采用并行指令在单周期内完成一次乘法和ALU操作
当乘法器进行浮点乘法时
输入是32位单精度浮点值
而输出则是40位的扩展精度浮点数
整数乘法时
输入是24位
而输出则是32位
TMS320C30的整数/浮点算术逻辑运算单元ALU可以进行单周期的32位整数、32位逻辑数和40位的浮点数操作
ALU的运算结果是32位整数或40位浮点数
内部的桶形移位器可以在单周期内进行高达32位的左移或右移
内部总线CPU1/CPU2和REG1/REG2可从存储器中取两个操作数和从寄存器取两个操作数
这就使得对四个操作数进行乘和加/减可以在单周期内完成
TMS320C30内有两个辅助寄存器算术单元(ARAU0和ARAU1)
它们可以在单周期内产生两个地址
ARAU 的操作是和乘法器及ALU的操作并行进行的
ARAU支持多种寻址方式
TMS320C30提供28个寄存器
这些寄存器可以由乘法器和ALU操作
可以用作通用的寄存器
但是
它们
也有一些特殊的功能
如8个扩展精度的寄存器(R0~R7)可当累加器使用
特别适合用于存放扩展精度的浮点结果
8个辅助寄存器(AR0~AR7)支持一系列间接寻址方式
并且可以用作通用的32位整数和逻辑寄存器
其他寄存器提供一些系统功能
如寻址、堆栈管理、处理器状态、中断和块重复
第2章 DSP芯片的基本结构和特征
等
TMS320C30的外设是通过存储器映射的寄存器对外设总线进行控制的
外设总线由32位数据总线和24位地址总线组成
允许与外设直接通信
TMS320C30的外设包括两个可支持8/16/24/32位数据交换的串行口和两个32位定时器
串行口的时钟可以由内部产生也可由外部提供
串行口的引脚可以配置为通用的I/O引脚
特殊的握手方式可保证TMS320C30与串行口的同步
定时器是通用的32位定时器或事件计数器
具有两种信号方式
可由内部或外部提供时钟
每个定时器对应有一个I/O引脚
可作为定时器的输入时钟或输出时钟
也可配置为通用的I/O引脚
片内的DMA功能使得CPU与I/O操作可同时进行
DMA控制器可以在存储器的任何地址进行读写操作而不干扰CPU的操作
因此TMS320C30可与外部的慢速存储器或外设接口而不降低CPU的吞吐量
两个通用的外部引脚(XF0
XF1)可由软件设置为输入或输出
这两个引脚也用作TMS320C30的互锁操作
用于多处理器之间的通信
除了主总线之外
TMS320C30还有一条扩展总线
扩展总线的数据线为24位
地址线为13位
其操作可与主总线操作同时进行
也可独立于主总线
与主总线相比
扩展总线上的I/O口的读写周期为2个H1周期
即是主总线的2倍
扩展总线通常用于I/O操作
如A/D、D/A等
TMS320C30内部有4K字的ROM
在微计算机方式下
程序由内部开始运行
TMS320C31是TMS320C30的简化和改进型
它去掉了扩展总线、一个串行口和内部的4K字ROM
增加了程序的引导功能
当MCBL/MP\引脚为高电平时
工作于微计算机自引导方式
在这种方式下
TMS320C31可从三个特定的地址装入程序(BOOT1
BOOT2
BOOT3)
也可从串行口装入程序
与EPROM接口时
用户可用软件设定等待周期个数
当然也可用硬件来产生等待周期
可设定是按字节(8位)、半字(16位)或字(32位)装入
应用灵活
从串行口装入时
采用固定的32位突发方式
装入方式设置是通过复位之后设置四个外部中断之一来实现
TMS320C32是TMS320C31的简化和改进型
简化主要是将内部的RAM由2K字减少为512字
以降低成本
改进之处包括:外部存储器宽度可变
中断矢量表可重定位
外部中断可由软件选择是电平触发还是边沿触发
DMA控制器增加了一个通道
此外
还增加了两种节电运行方式
TMS320C3X均提供HOLD功能和JTAG仿真功能
2.4
.1.2 TMS320C3X的软件资源
1.丰富的指令系统
TMS320C3X的汇编语言指令集特别适合于数字信号处理
所有指令占一个机器字长
大部分指令是单周器的
指令集共有113条指令
可以分为六类: 数据传送类、二操作数算术/逻辑类、三操作数算术/逻辑类、程序控
第2章 DSP芯片的基本结构和特征
制类、互锁操作类及并行操作类
12条数据传送指令可从存储器中读一个字装入寄存器
将一个字从寄存器中存入存储器中及进行堆栈操作
二操作数指令有35条
提供整数、浮点、逻辑运算及多精度算术操作
17条三操作数指令可以在一个指令周期内完成具有三个操作数的运算
其中两个是源操作数
另一个是目的操作数
程序控制指令共16条
它们影响程序的流向
其中有块重复指令RPTB和单指令重复指令RPTS
除了有标准跳转指令外
还有延迟跳转指令
有些指令具有条件运算功能
5条互锁操作指令主要用来进行多处理器之间的通信
剩下的28条指令都是并行操作指令
每条并行指令由两条指令用符号"||"连接
并行操作指令可使"||"前后的两条指令并行完成
需要注意的是
并不是任意两条指令都可构成并行指令
2.灵活的程序控制
TMS320C3X提供相当灵活的程序流控制
软件的程序控制包括重复、跳转、调用、陷阱及返回等
TMS320C3X重复方式可以实现无开销循环
块重复指令RPTB可以使一块代码重复执行指定的次数
而单指令重复指令RPTS使一条指令重复执行指定的次数
由于RPTS取指次数只有一次
因此减少了总线冲突的机会
这里需要特别注意的是
RPTS指令禁止中断
而RPTB无此禁忌
因此在需要中断的场合
建议采用RPTB指令代替RPTS指令
TMS320C3X提供两种类型的跳转:标准跳转和延迟跳转
标准跳转首先将流水线清空然后执行跳转
这可保证程序计数器的正确管理
但却使跳转指令需4个周期才能执行完毕
延迟跳转则相反
它并不将流水线清空
而是保证在程序跳转之前执行它下面的3条指令
这样使得跳转指令本身仅需1个指令周期
当然有些指令(如CALL、RPTB等)不能出现在延迟跳转指令下面的3条指令
延迟跳转指令在它下面3条指令完成前禁止中断
互锁操作可用来实现多个TMS320C3X之间的通信
通过采用外部信号(XF0
XF1)
互锁操作指令提供强有力的同步机制
可用来实现忙等待循环、两个TMS320C3X之间的同步(无需额外的硬件支撑)和多个计数器控制等
3.流水线操作
流水线操作是TMS320C3X具有高性能的特性之一
5个功能单元控制TMS320C3X的操作:取指(F)、译码(D)、读操作数(R)、执行(E)和DMA
流水线操作就是一个基本指令的取指、译码、读操作数和执行的并行操作
流水线的结构如图2.2所示
周期FDRE
m-3W
m-2XW
m-1
YXW
mZYXW ←完全重叠
m+1ZYX
m+2ZY
m+3Z
注:W、X、Y、Z代表指令;F、D、R、E分别代表取指、译码、读操作数和执行
图2.2 TMS320C3X的流水线结构
图中
第2章 DSP芯片的基本结构和特征
在m周期
流水线完全重叠
4个单元的操作同时进行
5个功能单元的优先级从高到低依次是E、R、D、F、DMA
当一条指令的处理已经准备好到流水线的下一级
但那一级还没有准备好接收新的输入时
就出现所谓的流水线冲突
在这种情况下
低优先级的单元处于等待状态直到高优先级的单元完成它的当前操作
尽管DMA的优先级最低
但由于DMA控制器具有自己的数据和地址总线
因此
通过合适的数据结构
DMA与CPU的冲突可以减少甚至消除
流水线冲突可以分为下列三大类:跳转冲突、寄存器冲突和存储器冲突
这三类冲突都可以采取相应的一些手段予以解决
如由于标准跳转引起的跳转冲突可以采用延迟跳转的方法来克服
4.寻址方式多样
TMS320C3X支持5类寻址方式
在这些类中又可采用6种寻址类型
5类寻址方式是:①通用寻址方式;②三操作数寻址方式;③并行寻址方式;④长立即数寻址方式;⑤条件跳转寻址方式
6种寻址类型是:①寄存器寻址;②直接寻址;③间接寻址;④短立即数寻址;⑤长立即数寻址;⑥相对寻址
此外
TMS320C30还有两种数字信号处理中非常有用的寻址方式
一种是圆周寻址方式
主要用于卷积和相关等运算中存储器循环缓冲;另一种寻址方式是比特反转寻址
主要用于FFT运算
2.4.2 TMS320C4X
TMS320C4X系列浮点处理器是专门为实现并行处理和满足其他一些实时应用的需求而设计的
其主要性能包括275 MOPS的惊人速度和320Mbyte/s的吞吐量
2.4.2.1 TMS320C40的主要特征
(1) 具有6个用于处理器间高速通信的通信口
每个口的最大数据吞吐量可达20Mbyte/s的异步传输速率
处理器之间可直接对通
应用方便、灵活;
(2) 6个DMA通道实现了I/O操作与CPU操作的并行化
每个DMA通道都具备自初始化的能力
无需CPU来完成初始化的工作
从而最大限度地保证了CPU的性能
数据可以在处理器内存映像的任意范围内传递
具有高度的灵活性;
(3) CPU的处理能力达275 MOPS
数据吞吐量为320Mbyte/s
由于高度的并行化
TMS320C40 的CPU在每个周期内可以完成11次操作
指令周期的时间为40ns和50ns
40/32位的单周期浮点/整数乘法为大运算量的算法提供了高性能
单周期IEEE浮点格式转换为IEEE兼容的处理器提供了一个有效的界面
硬件支持除法和平方根倒数运算
具有
字节和半字长控制的能力
以实现快速数据压缩和解压
源代码与TMS320C3X兼容
可移植性好
支持线性、循环和比特反转的寻址方式
单周期跳转、调用和返回
以实现快速程序控制
0~31bit的单周期桶形循环左右移位;
(4) 两条分开的外部数据、地址总线支持共享存储器系
第2章 DSP芯片的基本结构和特征
统和高速数据速率、单周期传输
端口数据传输速率高达100Mbyte/s
16G字连续的程序/数据/外设地址空间为系统设计带来最大的灵活性
状态管脚标明存储器访问类型
以在共享存储器系统中实现快速、智能化的总线仲裁
分离的地址、数据和控制使能管脚可实现高速总线仲裁
4组存储器控制信号支持硬件上不同速率的存储器
使用者可以灵活有效地利用各种高、低速率存储器;
(5) 片内分析模块支持高效的并行处理调试
为程序、数据和DMA访问提供了分离的断点比较器
为快速调试和开发提供了片内硬中断的能力
为硬件追踪设置了非连续栈
可方便快速地调试、开发
具有事件计数器
为标准系统连接留有JTAG界面;
(6) 片内程序高速缓冲存储器(Cache)和双向存取/单周期RAM提高了存储器访问的性能
片内存储器包括:128字的指令高速缓冲存储器;2K字的单周期双向存取程序/数据RAM;ROM中的引导程序支持从8/16/32位中的任一种存储器通过任一通信端口装入程序;
(7) 分开的内部程序、数据和DMA总线使程序和数据的I/O操作高度并行化
最大限度地保证了CPU的性能
2.4.2.2 TMS320C40的结构
TMS320C40的高性能是通过其高精度、宽动态范围的浮点处理单元
大容量的片内存储器
高度的并行化
以及6个DMA协处理器通道体现出来的
1.CPU
TMS320C40有一个基于寄存器的CPU
其组成部分如下:
(1) 浮点/整数乘法器
通过高度的并行化措施
TMS320C40可以在一个40ns的指令周期内对32位的整型数或40位的浮点数完成一次乘法操作
若输入为40位的浮点数
则输出也是40位的浮点数;若输入为32位的整型数
则乘积为64位
输出既可以是32个高有效位
也可以是32个低有效位
(2) 算术逻辑单元(ALU)
ALU对32位的整型数、32位的逻辑数、40位的浮点数执行单周期操作
包括单周期的整型和浮点转换
桶形移位寄存器用来完成单周期的32位左右移位
内部总线CPU1/CPU2和REG1/REG2分别连接存储器和内部寄存器
这样就允许在单周期内对4个整型或浮点数并行进行加/减和乘法运算
(3) 辅助寄存器运算单元(ARAU)
2个辅助寄存器运算单元(ARAU0和ARAU1)可在单周期内产生2个地址
ARAU与乘法器及ALU并行操作
它们支持带有偏移的寻址、变址寄存器(IR0和IR1)寻址、循环寻址和比特反转寻址
(4) CPU主寄存
器组
TMS320C40具有32个主寄存器
其中包括12个40位的扩展精度寄存器(R0~R11)
8个32位的辅助寄存器(AR0~AR7)
1个32位的数据页指针(DP)
32位变址寄存器(IR0和IR1)
32位块长寄存器(BK)
32位的系统栈指针(SP)
状态寄
第2章 DSP芯片的基本结构和特征
存器(ST)
DMA中断允许寄存器(DIE)
CPU内部中断允许寄存器(IIE)
I/O标志寄存器
32位的重复计数器(RC)及32位的重复起始地址寄存器(RS)和重复终止地址寄存器(RE)
程序计数器(PC)是一个32位寄存器
装有下一条要提取指令的地址
虽然PC不是CPU寄存器组的成员
但用修改程序流的指令可对它进行修改
(5)CPU扩展寄存器组
扩展寄存器组包括2个特殊的指针寄存器:IVTP指向中断矢量表
TVTP指向陷阱矢量表
2.存储器组织
TMS320C40总的存储器空间可达4G×32位字
程序存储器(片内RAM或ROM和外部存储器)、定时器、通信口和DMA通道等都包含在这一空间内
这样就使得系数、表、程序代码或数据既可存储在RAM中
亦可存储在ROM中
从而使存储器的利用率达到最高
存储器空间可按要求分配地址
通过控制一个外部管脚(ROMEN)
存储器起始的1M字节的地址空间(0000 0000h到000F FFFFh)既可以映射到局部地址总线的一部分
也可以在使用装入程序时指向片内ROM
(1) RAM、ROM和高速缓冲存储器
TMS320C40的片内包含2个4K字节(1K×32位)的RAM区
片内ROM区保留用作引导程序区
每一个RAM和ROM区都支持单周期内两次存取
分开的程序总线、数据总线和DMA总线
使得指令的读取、数据的读写及DMA操作可以并行进行
例如
在一个周期内CPU可在一个RAM块上存取2个数据
执行一次外部指令的读取
同时DMA可对另一个RAM块作直接存储器存取
一个128×32位的指令高速缓冲存储器用来存储经常重复的代码段
从而大大地减少了必要的片外存取次数
这样就使代码能存储在较慢的、价格较低的片外存储器
外部总线还可被释放
以供DMA、外部存储器操作或系统中的其他设备使用
(2) 内部总线操作
TMS320C40的高性能在很大程度上归功于其内部总线结构及由之带来的并行性
分开的程序总线、数据总线和DMA总线使指令的读取、数据的存取和DMA操作可以并行进行
这些总线连结C40支持的所有物理空间
程序计数器(PC)与32位的程序地址总线相连
指令寄存器(IR)与32位的程序数据总线相连
在每一个机器周期内可以读取一个指令字
32位的数据地址总线和32位的数据总线在每一个机器周期中支持两次数据的存储器操作
数据总线通过CPU1和CPU2总线传送数据到CPU
CPU1和CP
U2总线在每一机器周期可传送2个数据存储器操作数到乘法器、ALU及寄存器组
在CPU内部还有2条寄存器总线REG1和REG2
它们在每一机器周期内
可从寄存器组传送2个数据到乘法器
DMA控制器由32位地址总线和32位数据总线支持
这些总线使DMA能与数据及程序总线并行
第2章 DSP芯片的基本结构和特征
地执行存储器操作
(3) 外部总线操作
TMS320C40具有2个外部接口:全局总线和局部总线
它们都包含1个32位的数据总线、1个31位的地址总线和2组控制信号
这些总线都可用来对外部程序/数据存储器或I/O进行寻址
这些总线还有一个外部信号
用于等待状态的产生
可在软件控制下插入附加的等待状态
(4) 外设
TMS320C40的外设是通过存储器映射寄存器
由一专用的外设总线控制
这一外设总线可以直接与外部设备进行通信
TMS320C40的外设包括2个定时器和2个串行口
(5) 直接存储器访问(DMA)
6个通道的片内DMA控制器可以读写存储器中的任意单元
而不必涉及CPU的操作
因此TMS320C40可以与相对较慢的外部存储器和外设接口而不降低CPU的处理能力
DMA控制器有自己的地址发生器、源地址和目的地址寄存器及传输计数器
专用的DMA地址和数据总线使CPU与DMA控制器之间的冲突降到了最低的程度
一个DMA操作包括对存储器做一块或单个字的存取操作
DMA协处理器的一个关键特性就是它的每一个通道在进行一次数据传输之前都有自动重新初始化的功能
总而言之
由于有一个功能强大的CPU、大规模的存储器以及有足够宽的总线来支持其速度
TMS320C40是一个功能强大的DSP芯片
3.CPU寄存器、存储器和高速缓冲存储器
CPU主寄存器组包括32个寄存器
用来存放乘法器和ALU的操作数
这个寄存器组包括辅助寄存器、扩展精度寄存器和变址寄存器等
这些寄存器支持寻址、浮点/整型操作、栈操作、处理器状态记录、块重复、分支跳转和中断等功能
CPU扩展寄存器组包括中断矢量表指针(IVTP)和陷阱矢量表(TVTP)
TMS320C40能够访问的最大存储器范围为4G个32位字(16G字节)的程序、数据和I/O空间
2个片内RAM块均为1K×32位
片内ROM块包含有自引导程序
每块都支持单周期内2次访问操作
1个128×32位的指令高速缓存可以装入指令代码中重复率高的部分
高速缓存大大减少了片外操作的次数
这样就允许将指令代码存放在片外的低速、廉价的存储器中而又不降低系统的性能
同时由于高速缓存减少了总线上程序指令的读取次数
使得在同一物理空间内进行的数据存取速度大大加快
CPU状态寄存器中的3个比特控制着高速缓冲存储器的清除、允许和冻结
(1)C
PU寄存器
TMS320C40提供了32个CPU主寄存器(不包括程序计数器PC)和2个扩展寄存器
主寄存器都可以用作32位的通用寄存器
存放乘法器及ALU的操作数
除此之外
还有一些更适合于这些寄存器的特殊功能
例如12个扩展精度特别适用于存放扩展精度的浮点运算结
第2章 DSP芯片的基本结构和特征
果;8个辅助寄存器支持各种间接寻址方式;其余寄存器提供寻址、堆栈管理、处理器状态、中断和块重复等系统功能
(2) 存储器分配
TMS320C40总的存储器空间为4G字
有两种地址编排方式
其区别仅在前1M字之内
由外部引脚ROMEN的值控制:ROMEN=1时
0000 0000h~0000 0FFFh为一个可访问的片内ROM区(保留用作引导程序)
0000 01FFh~000F FFFFh保留;ROMEN=0时
片内ROM不在C40的存储器空间中
0000 0000h~000F FFFFh被映射到局部总线上
(3) 指令高速缓冲存储器(Cache)
128×32位的指令高速缓存不但减少了片外取指的次数
同时也将外部总线从程序取指中解脱出来
从而可以被DMA或其他系统部件所采用
Cache能以完全自动的方式工作而无需用户的干预
它使用的是LRU(Least recently used
最近最少使用)算法
4.数据格式与浮点操作
在TMS320C40的体系结构中
数据有3种基本类型:整型、无符号整型和浮点型
TMS320C40对有符号和无符号整型支持短格式和单精度格式
而对于浮点数则支持短格式、单精度和扩展精度3种格式
浮点操作具有迅速、简单、正确和精度高的特点
特别是TMS320C40可以以整型运算的速度来执行浮点操作
同时还可以避免整型运算中的溢出等问题
5.寻址
TMS320C40有以下5种寻址类型:
(1) 寄存器寻址: 在一个CPU的寄存器中包含有操作数;
(2) 直接寻址:数据地址由数据页指针(DP)的16个低有效位和指令字中的16个低有效比特组成;
(3) 间接寻址:间接寻址是通过一个辅助寄存器和变址寄存器的内容来操作在存储器中的地址
地址运算是由辅助寄存器运算单元来完成的
并且是无符号的
(辅助寄存器和变址寄存器的所有32位都在间接寻址中用到);
(4) 立即寻址:操作数是指令字中的16个低有效位构成的1个16位的立即数;
(5)PC相对寻址:PC相对寻址用于分支转移
它用指令字中的16或24个低有效比特来替换程序计数器(PC)的当前值
TMS320C40的寻址方式包括:通用寻址方式、三操作数寻址方式、并行寻址方式、条件转移寻址方式、圆周寻址方式和比特反转寻址方式
2.4.3 TMS320C67X
这是TI公司继定点DSP芯片TMS320C62X系列后开发的一种新型浮点DSP芯片
该芯片的内部结构在TMS320C62X的基础上加以改进
内部同样集成了多个功能单元
可同时执行8条指令
其运算能力可达1G FL
OPS
除了具有TMS320C62X系列的特点外
其主要特点还有:
(1) 运行速度快
指令周期为6ns
峰值运算能力为1336 MIPS
对于单精度运算可达1G FLOPS
对于双精度运算可达250M FLOPS;
(2) 硬件支持IEEE格式的32 比特 单精
第2章 DSP芯片的基本结构和特征
度与64比特双精度浮点操作;
(3) 集成了32×32 比特的乘法器
其结果可为32或64比特;
(4) TMS320C67X的指令集在TMS320C62X的指令集基础上增加了浮点执行能力
可以看作是TMS320C62X指令集的超集
TMS320C62X指令能在TMS320C67X上运行
而无需任何改变
与TMS320C62X系列芯片一样
由于其出色的运算能力、高效的指令集、智能外设、大容量的片内存储器和大范围的寻址能力
这个系列的芯片适合于对运算能力和存储量有高要求的应用场合
2.5 多处理器DSP芯片TMS320C8X
TI公司除了生产定点和浮点两类DSP芯片之外
还推出了功能强大的多处理器DSP芯片TMS320C80
该芯片内部集成了5个微处理器
处理速度达到每秒20亿次操作
与外部交换数据的速度为每秒400Mbyte
特别适合于会议电视等多媒体应用
1.TMS320C80结构
图2.3所示为TMS320C80的内部结构
图2.3 TMS320C80的内部结构
从图中可以看出
TMS320C80是一个多处理器芯片
它集4个可并行处理的高性能DSP芯片、1个RISC主处理器、1个传输控制器、1个视频控制器和50K字节的SRAM等资源于一体
从而使其处理能力达到每秒20亿次操作(2 BOPS)
该芯片可实时实现新一代的视频压缩和解压缩
可广泛应用于会议电视、可视电话、高速电信、多媒体、图像和视频处理、二维和三维图形加速、虚拟现实、保密、雷达和声纳处理等应用场合
2.并行DSP芯片
TMS320C80上集成了4个高性能的DSP芯片
这4个DSP芯片既可独立运行
也可并行工作
采用64位的指令字
以便于在单个周期内进行多个并行操作
每个处理器具有专用的高速指令缓冲Cache和专用的数据RAM
每个DSP芯片具有4个主要的功能单元
即1个程序控制器(PFC)、1个数据单元和2个地址单元
PFC处理所有的指令执行
包括程序计数器增量、跳转和中断
3组无开销循环控制器跟踪循环计数和循环的起始及结束地址
而不增加额外的开销
循环控制器在1个公共的循环结束地址内可支持多至3个嵌套的循环
数据单元可使单周期乘法和算术逻辑单元(ALU)数据通路操作并行执行
32位的ALU可以分解为2个16位ALU或4个8位ALU
以便于对低精度的数据进行更多的并行操作
ALU数据通路内独特的扩展器单元可复制1个1比特值32次、2个1比特值16次或4个8比特数8次以填满1个32位字
这些特征对于减少
图像算法中的软件开销很有帮助
3.传输控制器
TMS320C80可以每秒400M字节的速度与外部交换数据
这个性能主要依赖于片内的传输控制器
在这里
传输控制器起智能DMA控制器的作用
进行对片外存储器的访问
使主处理器不增加任何负担
传输控制器可对二维图形进
第2章 DSP芯片的基本结构和特征
行线性和二维寻址
支持三维图形缓冲
直接存储器接口提供了对多种存储器的灵活操作
包括DRAM、SDRAM、VRAM和SRAM
此外
优先级任务管理器支持动态的总线宽度
可支持8至64位数据传输
灵活的总线宽度满足了如会议电视等的宽带应用
而不需专用的接口
4.RISC主处理器
RISC主处理器(MP)进行整个芯片的管理并协调与系统内其他处理器的通信
该处理器是一个32位的RISC处理器
内部具有一个 运 算能力为100 MFLOPS 并符合IEEE-754标准的浮点单元(FPU)
用以实现高效C语言和作为操作系统的平台
该处理器主要是适应高级语言并协调片内的多处理器资源
可在单周期内完成1个64位数据的访问和1个32位取指
与基本的RISC设计相比
其独特之处在于MP具有完整的浮点指令和一组特殊的矢量浮点指令
这些功能对于图像处理和三维图形来说都是必需的
此外
MP还具有31个32位的寄存器
为整数和浮点操作提供了极大的便利
5.存储器Crossbar结构
TMS320C80的一个重要特征是存储器Crossbar结构
TMS320C80内部有50K字节的SRAM
这些存储器被配置为较小的存储器块以便于通过这个独特的Crossbar开关结构实现多个并行的存储器访问
Crossbar开关还便于片内处理器共享板上RAM
在TMS320C80中
Crossbar在每个时钟周期内可进行5次取指和10次并行数据访问
从而使传输速率达到每秒4.2G字节
硬件控制的优先级机制使得在同一个周期内仅有一个处理器访问一个特定的RAM
存储器Crossbar结构增强了系统的高速并行性能
6.视频控制器
视频控制器具有2个可编程的帧定时器
可按水平或纵向格式同时捕获和显示图像
帧定时器可用于任何捕获/显示的组合中
对不同速率的图像捕获可按异步或同步方式工作
由于帧定时器是软件可编程的
故可用作通用定时器
在TMS320C80基础上
TI公司还推出了简化型的多处理器芯片TMS320C82
其内部包含2个处理器、44K字节的SRAM
性能为每秒15亿次操作
由于省略了2个处理器和视频控制器
其价格约为TMS320C80的一半
表2.6所示为两者的性能比较
表2.6 TMS320C80/C82的主要性能比较
芯片DSP数RISC
主处理器视频
控制器传输
控制器指令周期
(ns)寻址空间
(字节)片内RAM
(字节)处理能力(BOPS)时钟
(MHz)C80411120,254G50K250,40C822101204G44K1.250
2.6 其他DSP芯片简
介
2.6.1 AD公司DSP芯片
美国AD公司在DSP芯片市场上也占有一定的份额
与TI公司相比
AD公司的DSP芯片有自己的特点
如系统时钟一般不经分频直接使用
串行口带有硬件压扩
可从8位EPROM引导程序
可编程等待状态发生器等
AD公司的DS
正在阅读:
第2章 DSP芯片的基本结构和特征08-20
MBO、KPI与BSC的联系和区别04-14
河北某工业区钢结构大门安装方案07-23
教师评职称单位意见05-30
五种民间借贷合同无效06-14
超声引导下臂丛神经阻滞的研究进展05-29
小书虫同学作文500字06-21
工程项目施工质量管理制度07-03
骨科练习题04-15
- 2012诗歌鉴赏讲座 师大附中张海波
- 2012-2013学年江苏省苏州市五市三区高三(上)期中数学模拟试卷(一)
- 市政基础设施工程竣工验收资料
- 小方坯连铸机专用超越离合器(引锭杆存放用)
- 荀子的学术性质之我见
- 氩弧焊管轧纹生产线操作说明
- 小学科学六年级上册教案
- (商务)英语专业大全
- 外汇储备的快速增长对我国经济发展的影响
- 幼儿园中班优秀语言教案《小猴的出租车》
- 第七章 仪表与显示系统
- 身份证号码前6位行政区划与籍贯对应表
- 单位(子单位)工程验收通知书
- 浅谈地铁工程施工的项目成本管理
- 沉积学知识点整理
- 前期物业管理中物业服务企业的法律地位
- 2014微量养分营养试卷
- 地质专业校内实习报告范文(通用版)
- 内部审计视角下我国高校教育经费支出绩效审计研究
- 高次插值龙格现象并作图数值分析实验1
- 芯片
- 特征
- 结构
- 基本
- DSP
- 初中物理概念总复习精要提纲
- c语言第4章
- 经销商培训:Linux操作系统介绍
- 采煤掘进工作面安全技术措施
- 怎样在Word2003中安装公式编辑器
- 学生会十月工作总结
- 天然饵料生物对鱼类生长的影响
- 浙江省农村中小学教师素质提升工程《新课程中学历史与社会教学
- 企业文化与管理理念
- 大气污染防治行动计划
- Houttuynoid A在治疗舌癌药物中的应用
- 设计符号的意谓表达_陈卫民
- 【名师分享】2016年中央财经大学金融学院金融硕士考研复试面试须知面试问题模拟面试联系导师
- 湖南省县级妇幼工作绩效考核解读(1)
- 合作经营协议
- 11019德国口岸通关实务指南
- ABB-ACS510-变频器 标准宏快速调试说明
- 0--大厦 幕墙工程安全专项施工方案
- 音箱结构设计计算公式
- 《全民水浒》卡牌大全五星豪侠九纹龙史进