DSP原理与应第二章_第1页
DSP原理与应第二章_第2页
DSP原理与应第二章_第3页
DSP原理与应第二章_第4页
DSP原理与应第二章_第5页
已阅读5页,还剩203页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章TMS320C54x的硬件结构

内容提要

TMS320C54x芯片是一种特殊结构的微处理器,为了快速地实现数字信号处理运算,采用了流水线指令执行结构和相应的并行处理结构,可在一个周期内对数据进行高速的算术运算和逻辑运算。

本章主要介绍TMS320C54x芯片的硬件结构,重点对芯片的CPU结构、内部存储器等进行了讨论。第2章TMS320C54x的硬件结构内容提要1第2章TMS320C54x的硬件结构知识要点●内外部总线结构●

CPU结构●内部存储器结构第2章TMS320C54x的硬件结构知识要点2第2章TMS320C54x的硬件结构2.1’C54x的基本结构2.2’C54x的内部总线结构2.3’C54x的中央处理器

2.4’C54x的存储空间结构第2章TMS320C54x的硬件结构2.1’C54x3第2章TMS320C54x的硬件结构2.1’C54x的基本结构

TMS320C54x(简称’C54x)是TI公司为实现低功耗、高速实时信号处理而专门设计的16位定点数字信号处理器,采用改进的哈佛结构,具有高度的操作灵活性和运行速度,适应于远程通信等实时嵌入式应用的需要,现已广泛地应用于无线电通信系统中。

第2章TMS320C54x的硬件结构2.1’C54x的4第2章TMS320C54x的硬件结构2.1’C54x的基本结构

1.’C54x的主要优点

围绕1组程序总线、3组数据总线和4组地址总线而建立的改进哈佛结构,提高了系统的多功能性和操作的灵活性。

②具有高度并行性和专用硬件逻辑的CPU设计,提高了芯片的性能。

具有完善的寻址方式和高度专业化指令系统,更适应于快速算法的实现和高级语言编程的优化。

第2章TMS320C54x的硬件结构2.1’C54x的5第2章TMS320C54x的硬件结构2.1’C54x的基本结构

1.’C54x的主要优点

围绕1组程序总线、3组数据总线和4组地址总线而建立的改进哈佛结构,提高了系统的多功能性和操作的灵活性。

②具有高度并行性和专用硬件逻辑的CPU设计,提高了芯片的性能。

具有完善的寻址方式和高度专业化指令系统,更适应于快速算法的实现和高级语言编程的优化。

模块化结构设计,使派生器件得到了更快的发展。

采用先进的IC集成电路制造工艺,降低了芯片的功耗,提高了芯片的性能。

采用先进的静态设计技术,进一步降低了功耗,使芯片具有更强的应用能力。

第2章TMS320C54x的硬件结构2.1’C54x的6第2章TMS320C54x的硬件结构

2.’C54x的内部结构

TMS320C54x的组成

中央处理器CPU

I/O功能扩展接口

内部总线控制

特殊功能寄存器

数据存储器RAM

程序存储器ROM

串行口主机通信接口HPI

定时系统

中断系统第2章TMS320C54x的硬件结构2.’C54x的内7第2章TMS320C54x的硬件结构2.’C54x的内部结构

TMS320C54x的硬件结构图

PAGENDAGEN

特殊功能寄存器系统控制程序地址生成器数据地址生成器

CPU乘法累加器算术/逻辑运算单元桶形移位器比较器外部存储器接口外部设备接口程序存储器数据存储器串行口并行口定时器计数器中断系统控制接口PABPBCABCBDABDBEABEB第2章TMS320C54x的硬件结构2.’C54x的内8第2章TMS320C54x的硬件结构

3.各部分的功能

①中央处理器CPU采用了流水线指令执行结构和相应的并行处理结构,可在一个周期内对数据进行高速的算术运算和逻辑运算。

②内部总线结构

由一组程序总线、三组数据总线和四组地址总线组成,可在一个指令周期内产生两个数据存储地址,实现流水线并行数据处理。第2章TMS320C54x的硬件结构3.各部分的功能9第2章TMS320C54x的硬件结构

3.各部分的功能

特殊功能寄存器共有26个特殊功能寄存器,位于具有特殊功能的RAM区。主要用来对片内各功能模块进行管理、控制、监视。

④数据存储器RAM

片内数据存储器

双寻址数据寄存器DARAM

(单指令周期内二次操作)单寻址数据寄存器SARAM(单指令周期内一次操作)第2章TMS320C54x的硬件结构3.各部分的功能10第2章TMS320C54x的硬件结构

3.各部分的功能

⑤程序存储器ROM可由ROM和RAM配置而成,即程序空间可以定义在ROM上,也可以定义在RAM中。当需要高速运行的程序时,可将片外ROM中的程序调入到片内RAM中,以提高程序的运行速度,降低对外部ROM的速度要求,增强系统的整体抗干扰性能。

第2章TMS320C54x的硬件结构3.各部分的功能11第2章TMS320C54x的硬件结构

3.各部分的功能

⑥I/O口

BIO:主要用来监测外部设备的工作状态;

XF:用来给外部设备发送信号。

’C54x芯片还配有主机接口(HPI)、同步串行口和64K字I/O空间。

HPI和串行口可以通过设置,用作通用I/O。

64K字的I/O空间可通过外加缓冲器或锁存电路,配合外部I/O读写控制时序构成片外外设的控制电路。

’C54x共有两个通用I/O引脚(BIO和XF)。

第2章TMS320C54x的硬件结构3.各部分的功能12第2章TMS320C54x的硬件结构3.各部分的功能

⑦串行口

不同型号的’C54x芯片,所配置的串行口功能不同。可分为4种:

单通道同步串行口SP

带缓冲器单通道同步串行口BSP

并行带缓冲器多通道同步串行口McBSP

时分多通道带缓冲器串行口TMD第2章TMS320C54x的硬件结构3.各部分的功能13第2章TMS320C54x的硬件结构

3.各部分的功能

⑧主机接口HPI

HPI是一个与主机通信的并行接口,主要用于DSP与其它总线或CPU进行通信。信息可通过’C54x的片内存储器与主机进行数据交换。不同型号的器件配置不同HPI口,可分为:8位标准HPI接口8位增强型HPI接口16位增强型HPI接口

第2章TMS320C54x的硬件结构3.各部分的功能14第2章TMS320C54x的硬件结构

3.各部分的功能

⑨定时器定时器是一个软件可编程的计数器,用来产生定时中断。可通过设置特定的状态来控制定时器的停止、恢复、复位和禁止。

第2章TMS320C54x的硬件结构3.各部分的功能15第2章TMS320C54x的硬件结构

⑩中断系统

’C54x的中断系统具有硬件中断和软件中断。

硬件中断:

软件中断:

由外围设备信号引起的中断。

分为:片外外设引起的硬件中断;

片内外设引起的硬件中断。

由程序指令所引起的中断。

可屏蔽中断:

非屏蔽中断:

SINT15~SINT0。

包括所有的软件中断和两个外部

中断管理优先级:

11~16个固定级。

硬件中断RS、NMI。第2章TMS320C54x的硬件结构⑩中断系16第2章TMS320C54x的硬件结构2.2’C54x的内部总线结构

TMS320C54x的结构是以8组16位总线为核心,形成了支持高速指令执行的硬件基础。

总线结构

1组程序总线PB3组数据总线CB、DB、EB4组地址总线PAB、CAB、DAB、EAB

第2章TMS320C54x的硬件结构2.2’C54x的17DSP原理与应第二章18第2章TMS320C54x的硬件结构1.程序总线PB

主要用来传送取自程序存储器的指令代码和立即操作数。

PB总线既可以将程序空间的操作数据(如系数表)送至数据空间的目标地址中,以实现数据移动,也可以将程序空间的操作数据传送乘法器和加法器中,以便执行乘法-累加操作。

第2章TMS320C54x的硬件结构1.程序总线PB19第2章TMS320C54x的硬件结构2.数据总线CB、DB和EB

3条数据总线分别与不同功能的内部单元相连接。

如:CPU、程序地址产生逻辑PAGEN、数据地址产生逻辑

DAGEN、片内外设和数据存储器等。

CB和DB用来传送从数据存储器读出的数据;

EB用来传送写入存储器的数据。数据地址产生器DAGEN程序地址产生器PAGEN3.地址总线PAB、CAB、DAB和EAB

用来提供执行指令所需的地址。第2章TMS320C54x的硬件结构2.数据总线CB、D20第2章TMS320C54x的硬件结构4.各总线连接设备

PB:当用于程序指向的操作数传输时输出至乘法-累加器当进行程序命令读取时传输至控制系统接口PAB:与程序地址产生器相连,接收程序地址信息CB:专用于片内数据存储器的数据传输,把数据输出至乘法-累加器、算术逻辑运算单元以及桶型移位单元CAB:与数据地址产生器相连,接收数据地址信息DB:除与CB传输相同内容外,同时还负责向存储器写入地址信息,而外接存储器的数据信息也通过它进行读取。DAB:当参与片内数据传输时,功能与CAB一致;当参与外设数据传输时则向地址产生器输入读入信息的地址信息。EB:负责向存储器和地址产生器写入信息包括程序指令和数据内容及地址EAB:当写入片内,则接受数据地址产生器的信息,当向外部写入,则向地址产生器输送写入的地址信息第2章TMS320C54x的硬件结构4.各总线连接设备P21第2章TMS320C54x的硬件结构’C54x读/写操作占用总线情况读/写方式地址总线程序总线数据总线PABCABDABEABPBCBDBEB程序读程序写单数据读双数据读32位长数据读(hw)(lw)(hw)(lw)单数据写数据读/数据写双/单数据读外设读外设写’C54x读/写操作占用总线情况第2章TMS320C54x的硬件结构’C54x读/写操作占22第2章TMS320C54x的硬件结构2.3’C54x的中央处理器CPU

CPU是DSP器件的核心部件,它的性能直接关系到DSP器件的性能。

’C54x的CPU采用了流水线指令执行结构和相应的并行结构设计,使其能在一个指令周期内,高速地完成多项算术运算。

第2章TMS320C54x的硬件结构2.3’C54x的23DSP原理与应第二章24第2章TMS320C54x的硬件结构CPU包括下列基本部件:①40位算术逻辑运算单元ALU;

②2个40位的累加器A和B;

③支持-16~31位移位范围的桶形移位寄存器;

④能完成乘法-加法运算的乘法累加器MAC;

⑤16位暂存寄存器T;

⑥16位转移寄存器TRN;

比较、选择、存储单元CSSU;

⑧指数译码器;

⑨CPU状态和控制寄存器。

第2章TMS320C54x的硬件结构CPU包括下列基本部件25第2章TMS320C54x的硬件结构2.3.1

算术逻辑运算单元ALU

’C54x使用40位的算术逻辑运算单元和2个40位累加器,可完成宽范围的算术逻辑运算。

’C54x的大多数算术逻辑运算指令都是单周期指令,其运算结果通常自动送入目的累加器A或B。但在执行存储器到存储器的算术逻辑运算指令时(如ADDM、ANDM、ORM和XORM),其运算结果则存入指令指定的目的存储器。

第2章TMS320C54x的硬件结构2.3.1算术逻辑运26第2章TMS320C54x的硬件结构ALU的功能框图

MUXABALU符号ctr符号ctrMUXMUXCB15~CB0DB15~DB0MAC输出SXMSXMOVMC16CZA/ZBTCXYAMUBBACTDSOVA/OVB桶形移位器输出第2章TMS320C54x的硬件结构ALU的功能框图MU27第2章TMS320C54x的硬件结构1.ALU的输入和输出

根据输入源的不同,ALU采用不同的输入方式。(1)

ALU的X输入源①

来自桶形移位寄存器输出的操作数;

来自数据总线DB中的操作数。(2)

ALU的Y输入源

①来自累加器A中的数据;②来自累加器B中的数据;

③来自数据总线CB中的操作数;④来自T寄存器中的操作数。第2章TMS320C54x的硬件结构1.ALU的输入和输出28第2章TMS320C54x的硬件结构(3)

ALU输入数据的预处理

当16位数据存储器操作数通过数据总线DB或CB输入时,ALU将采用两种方式对操作数进行预处理。

若数据存储器的16位操作数在低16位时,则

当SXM=0时,高24位(39~16位)用0填充;

当SXM=1时,高24位(39~16位)扩展为符号位。

若数据存储器的16位操作数在高16位时,则

当SXM=0时,39~32位和15~0位用0填充;

当SXM=1时,39~32位扩展为符号位,15~0位置0。第2章TMS320C54x的硬件结构(3)ALU输入数据29第2章TMS320C54x的硬件结构(4)

ALU的输出

ALU的输出为40位运算结果,通常被送至累加器A或B。

第2章TMS320C54x的硬件结构(4)ALU的输出30第2章TMS320C54x的硬件结构2.溢出处理

ALU的饱和逻辑可以对运算结果进行溢出处理。当发生溢出时,将运算结果调整为最大正数(正向溢出)或最小负数(负向溢出)。

当运算结果发生溢出时:

①若OVM=0,则对ALU的运算结果不作任何调整,直接送入累加器;第2章TMS320C54x的硬件结构2.溢出处理31第2章TMS320C54x的硬件结构

②若OVM=1,则对ALU的运行结果进行调整。

当正向溢出时,将32位最大正数00

7FFFFFFFH装入累加器;

当负向溢出时,将32位最小负数FF80000000H装入累加器。

③状态寄存器ST0中与目标累加器相关的溢出标志OVA或OVB被置1。第2章TMS320C54x的硬件结构②若OVM=32第2章TMS320C54x的硬件结构3.进位位C

ALU有一个与运算结果有关的进位位C,位于ST0的11位。进位位C受大多数ALU操作指令的影响,包括算术操作、循环操作和移位操作。

进位位C的功能:

用来指明是否有进位发生;

用来支持扩展精度的算术运算;

可作为分支、调用、返回和条件操作的执行

条件。第2章TMS320C54x的硬件结构3.进位位C33第2章TMS320C54x的硬件结构注意:①进位位C不受装载累加器操作、逻辑操作、非算术运算和控制指令的影响;

②可通过寄存器操作指令RSBX和SSBX对

其进行置位和复位。第2章TMS320C54x的硬件结构注意:①进位位C不受34第2章TMS320C54x的硬件结构4.双16位算术运算

若要将ST1中的C16置位,则ALU进行双16位算术运算,即在一个机器周期内完成两个16位数的算术运算,进行两次16位加法或两次16位减法运算。

5.其他控制位

除SXM、OVM、C、C16、OVA、OVB外,ALU还有两个控制位。

TC——测试/控制标志,位于ST0的12位;

ZA/ZB——累加器结果为0标志位。

第2章TMS320C54x的硬件结构4.双16位算术运算35第2章TMS320C54x的硬件结构2.3.2累加器A和B

’C54x芯片有两个独立的40位累加器A和B,可以作为ALU或MAC的目标寄存器,存放运算结果,也可以作为ALU或MAC的一个输入。

在执行并行指令(LD||MAC)和一些特殊指令(MIN和MAX)时,两个累加器中的一个用于装载数据,而另一个用于完成运算。

第2章TMS320C54x的硬件结构2.3.2累加器A和36第2章TMS320C54x的硬件结构1.累加器结构39•••3231•••1615•••0累加器AAGAHAL保护位39•••32高阶位31•••16低阶位15•••0累加器BBGBHBL保护位高阶位低阶位BGAG保护位:AG、BG39~32,作为算术计算时的数据位余量,以防止迭代运算中的溢出。

BGAGBHAH高阶位:AH、BH31~16;BHAHBLAL低阶位:AL、BL15~0。

BLAL第2章TMS320C54x的硬件结构1.累加器结构3937第2章TMS320C54x的硬件结构2.带移位的累加器存储操作

使用STH、STL、STLM、SACCD等指令或并行存储指令,可以把累加器中的内容保存到数据存储器中。①使用STH、SACCD和并行存储指令存储累加器内容先将累加器内容移位,再将高16位存入存储器。右移存储:AG(BG)右移AH(BH),AH(BH)存入存储器;左移存儲:AL(BL)左移AH(BH),AH(BH)存入存储器。第2章TMS320C54x的硬件结构2.带移位的累加器存储38第2章TMS320C54x的硬件结构②使用STL指令存储累加器内容先将累加器内容移位,再将低16位存入存储器。右移存储,AH(BH)右移AL(BL),AL(BL)存入存储器;

左移存储,用0左移AL(BL),AL(BL)存入存储器。

注意:①

移位操作是在存储累加器内容的过程中

同时完成的;

移位操作是在移位寄存器中完成的,累

加器的内容保持不变。第2章TMS320C54x的硬件结构②使用STL指令存储39第2章TMS320C54x的硬件结构2.3.3桶形移位寄存器

TMS320C54x的40位桶形移位寄存器主要用于累加器或数据区操作数的定标。它能将输入数据进行0~31位的左移和0~16位的右移。所移动的位数可由ST1中的ASM或被指定的暂存器T决定。第2章TMS320C54x的硬件结构2.3.3桶形移位寄40第2章TMS320C54x的硬件结构

1.组成框图MUX符号控制SC移位寄存器(-16~31)写选择MSW/LSWDB15~DB0CB15~CB0EB15~EB0测试位TcALUCSSUSXMABTASM(4~0)指令寄存器立即数-16~150~15

多路选择器MUXMUXMUXMUX

符号控制SC符号控制SC符号控制SC

移位寄存器移位寄存器(-16~31)移位寄存器(-16~31)移位寄存器(-16~31)移位寄存器(-16~31)

④写选择电路

写选择MSW/LSW写选择MSW/LSW写选择MSW/LSW

多路选择器MUX

用来选择输入数据。

用于对输入数据进行符号位扩展。

移位寄存器

用来对输入的数据进行定标和移位。④写选择电路

用来选择最高有效字和最低有效字。

第2章TMS320C54x的硬件结构1.组成框图MUX41第2章TMS320C54x的硬件结构2.桶形移位寄存器的输入

取自DB数据总线的16位

输入数据;②

取自DB和CB扩展数据总

线的32位输入数据;③

来自累加器A或B的40位

输入数据。3.桶形移位寄存器的输出

输出至ALU的一个输入端

经写MSW/LSW选择电路

输出至EB总线。

MUX符号控制SC移位寄存器(-16~31)写选择MSW/LSWDB15~DB0CB15~CB0EB15~EB0测试位TcALUCSSUSXMABTASM(4~0)指令寄存器立即数-16~150~15DB15~DB0DB15~DB0DB15~DB0DB15~DB0CB15~CB0DB15~DB0CB15~CB0DB15~DB0CB15~CB0AAABBBALUALUALUEB15~EB0EB15~EB0EB15~EB0第2章TMS320C54x的硬件结构2.桶形移位寄存器的输42第2章TMS320C54x的硬件结构4.桶形移位寄存器的功能

主要用于格式化操作,为输入的数据定标。①在ALU运算之前,对输入数据进行数据定标;②

对累加器进行算术或逻辑移位;③

对累加器进行归一化处理;④

在累加器的内容存入数据存储器之前,对存储数据进行定标。

第2章TMS320C54x的硬件结构4.桶形移位寄存器的功43第2章TMS320C54x的硬件结构5.桶形移位寄存器的操作(1)

控制操作数的符号位扩展根据SXM位控制操作数进行符号位的扩展。

若操作数为有符号数,则

当SXM=1时,完成符号位扩展;

当SXM=0时,禁止符号位扩展。

若操作数为无符号数,则不考虑SXM位,不执行符号位的扩展。

如:LDU、ADDS和SUBS指令,操作数为无符号数,不进行符号位扩展。第2章TMS320C54x的硬件结构5.桶形移位寄存器的操44第2章TMS320C54x的硬件结构(2)

控制操作数的移位

根据指令中的移位数,控制操作数进行移位操作。移位数用二进制补码表示,正值时完成左移,负值时完成右移。

移位数的形式:

5位立即数,取值范围:-16~15;

ST1中的ASM位,取值范围:-16~15;

③暂存器T中的低6位数值,取值范围:-16~31。

这种移位操作能使CPU完成数据的定标、位提取、扩展算术和溢出保护等操作。

第2章TMS320C54x的硬件结构(2)控制操作数的移45第2章TMS320C54x的硬件结构(3)

控制操作数完成带测试位的移位

根据ROLTC指令,控制操作数完成带测试位的循环左移。(4)完成MSW和LSW的写选择

MSW/LSW单元根据CSSU信号,选择移位后的信号锁存,并输出至EB总线。

第2章TMS320C54x的硬件结构(3)控制操作数完成46第2章TMS320C54x的硬件结构2.3.4乘法-累加单元MAC

’C54x的乘法-累加单元MAC是由乘法器、加法器、符号控制、小数控制、零检测器、舍入器、饱和逻辑和暂存器几部分组成。

MAC单元具有强大的乘法-累加运算功能,可在一个流水线周期内完成1次乘法运算和1次加法运算。在数字滤波(FIR和IIR滤波)以及自相关等运算中,使用乘法-累加运算指令可以大大提高系统的运算速度。

第2章TMS320C54x的硬件结构2.3.4乘法-累加47第2章TMS320C54x的硬件结构零检测舍入器饱和逻辑取整40位加法器MUXXMYM乘法器(1717)符号控制符号控制XMUXYMUXTDB15~DB0CB15~CB0PB15~PB0YAXAOVMOVA/OVBZA/ZB至A/BFRCTAB0来自A来自BPACDADT乘法-累加单元功能框图

第2章TMS320C54x的硬件结构零检测舍入器饱和逻辑取48第2章TMS320C54x的硬件结构1.乘法器

MAC单元包含一个1717位硬件乘法器,可完成有符号数和无符号数的乘法运算。

(1)乘法器的输入

XM输入:

YM输入:

取自数据总线DB的数据存储器操作数;

来自暂存器T的操作数;

来自累加器A的32~16位操作数。

来自数据总线DB的数据存储器操作数;

来自数据总线CB的数据存储器操作数;

来自程序总线PB的程序存储器操作数;

来自累加器A的32~16位操作数。第2章TMS320C54x的硬件结构1.乘法器M49第2章TMS320C54x的硬件结构(2)乘法器的输出

乘法器的输出经小数控制电路接至加法器的XA输入端。

(3)乘法器的操作

MAC单元的乘法器能进行有符号数、无符号数以及有符号数与无符号数的乘法运算。第2章TMS320C54x的硬件结构(2)乘法器的输出(350第2章TMS320C54x的硬件结构根据操作数的不同情况需进行以下处理:

若是两个有符号数相乘,则在进行乘法运算之前,先对两个16位乘数进行符号位扩展,形成17位有符号数后再进行相乘。

扩展的方法:在每个乘数的最高位前增加一个符号位,其值由乘数的最高位决定,即正数为0,负数为1。

第2章TMS320C54x的硬件结构根据操作51第2章TMS320C54x的硬件结构

若是两个无符号数相乘,则在两个16位乘数的最高位前面添加“0”,扩展为17位乘数后再进行乘运算。

若是有符号数与无符号数相乘,则有符号数在最高位前添加1个符号位,其值由最高位决定,而无符号数在最高位前面添加“0”,然后两个操作数相乘。

第2章TMS320C54x的硬件结构若是两个无52第2章TMS320C54x的硬件结构

由于乘法器在进行两个16位二进制补码相乘时会产生两个符号位,为提高运算精度,在状态寄存器ST1中设置了小数方式控制位FRCT。

当FRCT=1时,乘法结果左移一位,消去多余的符号位,相应的定标值加1。

第2章TMS320C54x的硬件结构由于乘法器在进53第2章TMS320C54x的硬件结构2.专用加法器

在MAC单元中,专用加法器用来完成乘积项的累加运算。

专用加法器加法器零检测器舍入器溢出/饱和逻辑电路

舍入器:用来对运算结果进行舍入处理,即将目标累加器中的内容加上215,然后将累加器的低16位清零。

第2章TMS320C54x的硬件结构2.专用加法器54第2章TMS320C54x的硬件结构(1)加法器的输入

XA输入:来自乘法器的输出。

YA输入:①

来自累加器A的操作数;

来自累加器B的操作数。(2)加法器的输出

输出经零检测器、舍入器和溢出/饱和逻辑电路后,将产生的状态标志送入状态寄存器,并将运算结果送入累加器A或B。

第2章TMS320C54x的硬件结构(1)加法器的输入55第2章TMS320C54x的硬件结构2.3.5比较、选择和存储单元CSSU

’C54x的比较、选择和存储单元(CSSU)是一个特殊用途的硬件电路,专门用来完成Viterbi算法中的加法/比较/选择(ACS)操作。

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

第2章TMS320C54x的硬件结构2.3.5比较、选择56第2章TMS320C54x的硬件结构比较电路COMP状态转移寄存器TRN

状态比较寄存器TC

MUXCOMPTRNTCCCSUABMSW/LSW选择EB15~EB0来自桶形移位器多路选择器MUXMUXMUXCOMPCOMPTRNTRNTCTC第2章TMS320C54x的硬件结构比较电路COMP状态转57第2章TMS320C54x的硬件结构

比较电路COMP将累加器A或B的高阶位与低阶位进行比较;

比较结果分别送入TRN和TC中,记录比较结果以便程序调试;

比较结果输出至写选择电路,选择较大的数据;

将选择的数据通过总线EB存入指定的存储单元。

工作过程:

第2章TMS320C54x的硬件结构①

比较电路COMP58第2章TMS320C54x的硬件结构2.3.6指数编码器EXP

指数编码器是一个用于支持指数运算指令的专用硬件,可以在单周期内执行EXP指令,求累加器中数的指数值。

指数编码器EXP累加器A

累加器B

T寄存器

指数值=冗余符号位-8

第2章TMS320C54x的硬件结构2.3.6指数编码器59第2章TMS320C54x的硬件结构2.3.7CPU状态和控制寄存器

’C54x提供三个16位寄存器来作为CPU状态和控制寄存器,它们分别为:

状态寄存器0(ST0)

状态寄存器1(ST1)

工作方式状态寄存器(PMST)

ST0和ST1主要包含各种工作条件和工作方式的状态;

PMST包含存储器的设置状态和其他控制信息。第2章TMS320C54x的硬件结构2.3.7CPU状态60第2章TMS320C54x的硬件结构

由于这些寄存器都是存储器映像寄存器,因此可以很方便地对它们进行如下数据操作:

●将它们快速地存放到数据存储器;

●由数据存储器对它们进行加载;

用子程序或中断服务程序保存和恢复处理器的状态。

第2章TMS320C54x的硬件结构由于这些寄存器61第2章TMS320C54x的硬件结构1.状态寄存器0(ST0)

主要反映处理器的寻址要求和计算机的运行状态。

ST0的结构:15—1312111098——0ST0:ARPTCCOVAOVBDPARPARP:辅助寄存器指针。用来选择使用单操作数间接寻址时的辅助寄存器AR0~AR7。ARPTCTC:测试/控制标志。

用来保存ALU测试操作的结果。TCCC:进位标志位。

用来保存ALU加减运算时所产生的进/借位。COVBOVAOVA/B:累加器A/B的溢出标志。

用来反映A/B是否产生溢出。OVBOVADPDP:数据存储器页指针。

用来与指令中提供的7位地址结合形成1个

16位数据存储器的地址。DP第2章TMS320C54x的硬件结构1.状态寄存器0(ST62第2章TMS320C54x的硬件结构2.状态寄存器1(ST1)151413121110987654~0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAF:块重复操作标志位。

用来指示当前是否在执行块重复操作。

BRAF=0

表示当前不进行重复块操作;

BRAF=1

表示当前正在进行块重复操作。CPL:直接寻址编辑方式标志位;

用来指示直接寻址选用何种指针。

CPL=0选用数据页指针DP的直接寻址;

CPL=1选用堆栈指针SP的直接寻址。XF:外部XF引脚状态控制位。

用来控制XF通用外部输出引脚的状态。执行SSBX

XF=1

XF通用输出引脚为1;执行RSBX

XF=0

XF通用输出引脚为0。HM:保持方式位;响应HOLD信号时,指示

CPU是否继续执行内部操作。

HM=0

CPU从内部程序存储器取指,

继续执行内部操作。

HM=1

CPU停止内部操作。

INTM:中断方式控制位;

用于屏蔽或开放所有可屏蔽中断。

INTN=0开放全部可屏蔽中断;

INTN=1禁止所有可屏蔽中断。0:保留位,未被使用,总是读为0。OVM:溢出方式控制位;

用来确定累加器溢出时,对累加器的加载方式。

OVM=0将运算的溢出结果直接加载到累加器中;

OVM=1

当正溢出时,将007FFFFFFFH加载累加器;

当负溢出时,将FF80000000H加载累加器。SXM:符号位扩展方式控制位;用来确定数据在运算之前是否需要符号位扩展。

SXM=0数据进入ALU之前禁止符号位扩展;

SXM=1数据进入ALU之前进行符号位扩展。C16:双16位/双精度算术运算方式控制位;

用来决定ALU的算术运算方式。

C16=0

ALU工作在双精度算术运算方式;

C16=1

ALU工作在双16位算术运算方式。FRCT:小数方式控制位;

用来确定乘法器的运算方式。

FRCT=1乘法器的输出左移一位,消除多余的符号位。CMPT:间接寻址辅助寄存器修正方式控制位;

用来决定ARP是否进行修正。

CMPT=0在进行间接寻址单操作数时,不修正ARP;

CMPT=1在进行间接寻址单操作数时,修正ARP。ASM:累加器移位方式控制位。

为某些具有移位操作的指令设定一个从-16~15范围内的移位值。BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM

主要反映处理器的寻址要求、计算初始状态的设置、I/O及中断的控制等。第2章TMS320C54x的硬件结构2.状态寄存器1(S63第2章TMS320C54x的硬件结构3.工作方式状态寄存器PMSTSSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR012345615~7

主要设定和控制处理器的工作方式和存储器的配置,反映处理器的工作状态。中断向量指针CPU工作方式选择位RAM重复占位标志地址可见控制位数据ROM映射选择位时钟输出选择位乘法饱和方式位存储饱和位第2章TMS320C54x的硬件结构3.工作方式状态寄存器64第2章TMS320C54x的硬件结构

IPTR:用来指示中断向量所驻留的128字程序存储器的位置;

MP/MC:用来确定是否允许使用片内程序存储器ROM

OVLY:用来决定片内双寻址数据RAM是否映射到程序空间。

AVIS:用来决定是否可以从器件地址引脚线看到内部程序空间地址线;

DROM:用来决定片内ROM是否可以映射到数据存储空间;

CLKOFF:用来决定时钟输出引脚CLKOUT是否有信号输出;

SMUL:用来决定乘法结果是否需要进行饱和处理;

SST:用来决定累加器中的数据在存储到存储器之前,是否需要饱和处理。第2章TMS320C54x的硬件结构IPTR:用来指示中65第2章TMS320C54x的硬件结构

2.4

’C54x的存储空间结构

’C54x共有192K字的存储空间,分成3个相互独立可选择的存储空间:

64K字(16位)的程序存储空间;

64K字(16位)的数据存储空间;

64K字(16位)的I/O空间。第2章TMS320C54x的硬件结构2.4’C54x的66第2章TMS320C54x的硬件结构

程序存储空间:用来存放要执行的指令和指令执行中所需要的系数表(数学用表);

数据存储空间:用来存放执行指令所需要的数据;

I/O存储空间:用来提供与外部存储器映射的接口,可以作为外部数据存储空间使用。第2章TMS320C54x的硬件结构程序存储空间:用来67第2章TMS320C54x的硬件结构

所有’C54x芯片都含有片内RAM和ROM。

片内RAMSARAMDARAM——

单寻址RAM——

双寻址RAMDARAM:由存储器内的一些分块组成。每个DARAM块在单周期内能被访问2次

SARAM:由存储器分块组成。

每个SARAM块在单周期内只能被访问1次第2章TMS320C54x的硬件结构所有’C54x68第2章TMS320C54x的硬件结构片内ROM:主要存放固化程序和系数表。一般构成程序存储空间,也可以部分地映射在数据存储空间。

DARAM和SARAM既可以被映射到数据存储空间用来存储数据,也可以映射到程序空间用来存储程序代码。

第2章TMS320C54x的硬件结构片内ROM:主69第2章TMS320C54x的硬件结构片内存储器的优点:

不需要插入等待状态;

●与外部存储器相比,成本低;

●比外部存储器功耗小。

第2章TMS320C54x的硬件结构片内存储器的优点:70第2章TMS320C54x的硬件结构’C54x片内存储器资源配置DSP存储器’C541’C542’C543’C545’C546’C548’C549’C5402’C5410’C5416’C5420ROM程序程序/数据DARAMSARAM28K20K8K5K02K2K010K02K2k010K048K32K16K6K048K32K16K6K02K2K08K24K16K16K08K24K4K4K4K16K0

16K16K08K56K

16K16K064K64K

00032K168K

第2章TMS320C54x的硬件结构’C54x片内存储器资71第2章TMS320C54x的硬件结构2.4.1

存储空间结构

’C54x所有内部和外部程序存储器及内部和外部数据存储器分别统一编址。

内部RAM总是映射到数据存储空间,但也可映射到程序存储空间。

ROM可以灵活地映射到程序存储空间,同时也可以部分地映射到数据存储空间。

存储空间的任何一种存储器都可以驻留在片内或片外。

第2章TMS320C54x的硬件结构2.4.1存储空间结72第2章TMS320C54x的硬件结构TMS320VC5402存储器配置结构

中断矢量表(内部存储器)FF80HFFFFH保留FF00HFF7FH内部ROMF000HFEFFH外部存储器4000HEFFFHOVLY=1

内部DARAMOVLY=0

外部存储器0080H3FFFHOVLY=1

保留(0页)OVLY=0

外部存储器0000H007FH程序存储空间地址MP/MC=0微计算机模式中断矢量表(外部存储器)FF80HFFFFH±£ÁôFF7FHƬÄÚROM外部存储器4000HOVLY=1

内部DARAMOVLY=0

外部存储器0080H3FFFHOVLY=1

保留(0页)OVLY=0

外部存储器0000H007FH程序存储空间地址外部存储器MP/MC=1微处理器模式数据存储空间地址DROM控制的数据存储空间

DROM=1

保留

FFFFHDROM=0

外部存储器FF00HDROM=0外部ROMDROM=1

内部ROMF000HFEFFH外部存储器4000HEFFFH内部DARAM(16K×16位)0080H3FFFH存储器映像寄存器暂存寄存器0000H005FH0060H007FHDROM=1保留

DROM=0外部存储器FF00HFFFFHDROM=1内部ROMDROM=0外部存储器F000HFEFFH外部存储器4000HEFFFH内部DARAM(16K×16位字)0080H3FFFH暂存器SPRAM0060H007FH存储器映像寄存器0000H005FH地址数据存储空间第2章TMS320C54x的硬件结构TMS320VC54073第2章TMS320C54x的硬件结构2.4.2程序存储空间

程序存储空间用来存放要执行的指令和执行中所需的系数表。

’C5402共有20条地址线,可寻址1M字的外部程序存储器。它的内部ROM和DARAM可通过软件映射到程序空间。当存储单元映射到程序空间时,CPU可自动地按程序存储器对它们进行寻址。

如果程序地址生成器(PAGEN)产生的地址处于外部存储器,CPU可自动地对外部存储器寻址。第2章TMS320C54x的硬件结构2.4.2程序存储空74第2章TMS320C54x的硬件结构1.程序存储空间的配置

程序存储空间可通过PMST寄存器的MP/MC和OVLY控制位来设置内部存储器的映射地址。

MP/MC控制位用来决定程序存储空间是否使用内部存储器。

当MP/MC=0时,称为微计算机模式。

4000H~EFFFH程序存储空间定义为外部存储器;

F000H~FEFFH程序存储空间定义为内部ROM;

FF00H~FFFFH程序存储空间定义为内部存储器。第2章TMS320C54x的硬件结构1.程序存储空间的配置75第2章TMS320C54x的硬件结构

当MP/MC=1时,称为微处理器模式。

4000H~FFFFH程序存储空间定义为外部存储器。

●OVLY控制位用来决定程序存储空间是否使用内部RAM。

当OVLY=0时,程序存储空间不使用内部RAM。

0000H~3FFFH全部定义为外部程序存储空间,此时内部RAM只作为数据存储器使用。第2章TMS320C54x的硬件结构当MP/76

当OVLY=1时,程序存储空间使用内部RAM。内部RAM同时被映射到程序存储空间和数据存储空间。

0000H~007FH保留,程序无法占用;

0080H~3FFFH定义为内部DARAM。当OVLY=1时,程序存储空间使用内部RAM。内部77第2章TMS320C54x的硬件结构微计算机模式:

MP/MC=0OVLY=10000H~007FH保留

0080H~3FFFH内部DARAM

0000H~EFFFH外部存储器

4000H~EFFFH外部存储器F000H~FEFFH内部ROMFF00H~FF7FH保留FF80H~FFFFH中断矢量表FF00H~FF7FH保留F000H~FEFFH内部ROMOVLY=00000H007FHOVLY=1保留OVLY=0外部存储器0080H3FFFHOVLY=1内部DARAMOVLY=0外部存储器4000HEFFFH外部存储器F000HFEFFH内部ROMFF00HFF7FH保留FF80HFFFFH中断矢量表(内部存储器)地址程序存储空间OVLY=1保留0000H007FHOVLY=1内部DARAM0080H3FFFH外部存储器4000HEFFFH内部ROMF000HFEFFH保留FF00HFF7FH中断矢量表(内部存储器)FF80HFFFFHOVLY=0外部存储器0000H007FHOVLY=0外部存储器0080H3FFFHOVLY=0外部存储器4000HEFFFH保留FF00HFF7FH中断矢量表(内部存储器)FF80HFFFFHFF80H~FFFFH中断矢量表内部ROMF000HFEFFH中断矢量表(内部存储器)保留内部ROM外部存储器OVLY=1内部DARAMOVLY=0外部存储器OVLY=1保留OVLY=0外部存储器内部存储器内部存储器第2章TMS320C54x的硬件结构微计算机模式:MP/78第2章TMS320C54x的硬件结构微处理器模式:

MP/MC=1地址程序存储空间0000H007FHOVLY=1保留OVLY=0外部存储器0080H3FFFHOVLY=1内部DARAMOVLY=0外部存储器4000H外部存储器FF7FHFF80HFFFFH中断矢量表(外部存储器)OVLY=1:

OVLY=1保留OVLY=0外部存储器OVLY=1保留0000H007FH0000H~007FH保留

OVLY=1内部DARAM0080H3FFFH0080H~3FFFH内部DARAM

外部存储器4000HFF7FH4000H~FF7FH外部存储器中断矢量表(外部存储器)FF80HFFFFHFF80H~FFFFH中断矢量表OVLY=0:外部存储器4000HOVLY=1保留OVLY=0外部存储器OVLY=0外部存储器0000H007FHOVLY=0外部存储器0080H3FFFHFF7FH0000H~FF7FH外部存储器中断矢量表(外部存储器)FF80HFFFFHFF80H~FFFFH中断矢量表中断矢量表(外部存储器)外部存储器OVLY=1内部SARAMOVLY=0外部存储器OVLY=1内部DARAMOVLY=0外部存储器OVLY=1保留OVLY=0外部存储器第2章TMS320C54x的硬件结构微处理器模式:MP/79第2章TMS320C54x的硬件结构2.程序存储空间的分页扩展

在’C54x系列芯片中,有些芯片采用分页扩展的方法,使程序存储空间可扩展到1M~8M。

如:’C5409和’C5416可扩展到8M。’C5402有20条外部程序地址总线,其程序空间只能扩展到1M。

第2章TMS320C54x的硬件结构2.程序存储空间的分页80第2章TMS320C54x的硬件结构分页扩展技术的特点:①

有20或23条外部程序地址线,可寻址1M或8M存储空间;②有1个额外的存储器映像寄存器—程序计数器扩展寄存器XPC;③有6条寻址扩展程序空间的指令,用于寻址扩展程序空间。第2章TMS320C54x的硬件结构分页扩展技术的特点:81第2章TMS320C54x的硬件结构

当OVLY=0时,内部RAM不允许映射到程序空间,程序空间分成128页,每页64K。

XPC=127XPC=1XPC=0Page12764K7F0000H………7FFFFFH020000H02FFFFHPage164K010000H01FFFFHPage064K000000H00FFFFHXPC=2Page264K第2章TMS320C54x的硬件结构当OVLY=82第2章TMS320C54x的硬件结构

当OVLY=1时,片内RAM允许映射到程序空间,程序存储器的每一页都由两部分组成:32K字的公共块和32K字的专用块。

公共块可由所有页共享;

专用块只能按指定的页号寻址。

当MP/MC=0时,片内ROM只能允许安排在第0页的程序空间,不能映射到其它页。

第2章TMS320C54x的硬件结构当OVLY=83第2章TMS320C54x的硬件结构

公共块:由所有页共享

专用块:按指定的页号寻址

008000H00FFFFHPage032K01

8000H01

FFFFHPage132K028000H02FFFFHPage132K7F8000H

…7FFFFFHPage12732KXPC=0XPC=1XPC=2XPC=127XX0000HXX7FFFHPage032K(片内RAM)XPC=XX第2章TMS320C54x的硬件结构84第2章TMS320C54x的硬件结构

’C5402共有20条外部程序地址总线,可寻址程序存储空间为1M。整个程序存储空间分成16页,每页共计64K字。

TMS320VC5402扩展程序存储空间结构图

第0页64K字0

0000H0FFFFHXPC=0第1页64K字1

0000H1FFFFHXPC=1………………第15页64K字F

0000HFFFFFHXPC=15第1页低32K字(片外)1

7FFFH第1页高32K字(片外)1

8000H第15页低32K字(片外)F

7FFFH第15页高32K字(片外)F

8000H

扩展程序存储器的页号由XPC寄存器设定,XPC映射到数据存储器的001EH单元。硬件复位时,XPC被置0。

第2章TMS320C54x的硬件结构’C540285第2章TMS320C54x的硬件结构

为了便于软件进行页切换,设置了6条影响XPC的专用指令:

FB[D]——长跳转指令;

FBACC[D]——长跳转到累加器A或B所

指定的位置;

FCALA[D]——长调用累加器A或B所指

定的位置;

FCALL[D]——长调用指令;

FRET[D]——长返回;

FRETE[D]——带中断使能的长返回指令。第2章TMS320C54x的硬件结构为了便于软件86第2章TMS320C54x的硬件结构3.内部ROM

’C5402共有4K字的内部ROM。

当MP/MC=0,4K字的ROM被映射到程序空间的地址范围为F000H~FFFFH。

F000H~F7FFH:用户专用程序,由TI公司固化;

F800H~FFFFH:TI公司定义。第2章TMS320C54x的硬件结构3.内部ROM87第2章TMS320C54x的硬件结构

TI公司定义的内容:

引导程序。

●256字μ律扩展表。

●256字A律扩展表。

●256字正弦函数值查找表。

●保留

●中断向量表。F800H~FBFFHFC00H~FCFFHFD00H~FDFFHFE00H~FEFFHFF00H~FF7FHFF80H~FFFFH引导程序μ律扩展表A律扩展表sin函数表保留中断向量表F800HF900HFA00HFB00HFC00HFD00HFE00HFF00HFF80H第2章TMS320C54x的硬件结构TI公司定义的内88第2章TMS320C54x的硬件结构2.4.3数据存储空间

用来存放执行指令所使用的数据,包括需要处理的数据或数据处理的中间结果。

1.数据存储空间的配置

’C54x的数据存储空间由内部和外部存储器构成,共有64K字,采用内部和外部存储器统一编址。第2章TMS320C54x的硬件结构2.4.3数据存储空89第2章TMS320C54x的硬件结构

DROM=0:

0000H~3FFFH——内部RAM;

4000H~FFFFH——外部存储器;

DROM=1:

0000H~3FFFH——内部RAM;

4000H~EFFFH——外部存储器;

F000H~FEFFH——片内ROM;

FF00H~FFFFH——保留。

第2章TMS320C54x的硬件结构DROM=0:90第2章TMS320C54x的硬件结构

当CPU发生的数据地址处于内部存储器的范围内时,直接对内部数据存储器寻址。

当CPU发生的数据地址不在内部存储器的范围内时,CPU自动对外部数据存储器寻址。

第2章TMS320C54x的硬件结构当CPU发生的91第2章TMS320C54x的硬件结构

’C54x的内部数据存储器由SARAM、DARAM和内部ROM组成。当DROM=0时,内部ROM不映射到数据空间;

当DROM=1时,部分内部ROM映射到数据存储空间。第2章TMS320C54x的硬件结构’C54x的内92第2章TMS320C54x的硬件结构

’C54x的内部数据存储器由SARAM、DARAM和内部ROM组成。当DROM=0时,内部ROM不映射到数据空间;

当DROM=1时,部分内部ROM映射到数据存储空间。’C54x片内数据存储器容量器件ROMDARAMSARAM’C5418K5K—’C542—10K—’C543—10K—’C54516K6K—’C54616K6K—’C548—8K24K’C54916K8K24K’C54024K16K—’C541016K8K56K’C5420—32K168K第2章TMS320C54x的硬件结构’C54x的内93第2章TMS320C54x的硬件结构’C5402数据存储空间结构

0000H~0050H

存储器映像寄存器

0060H~007FH

暂存器SPRAM0080H~3FFFH

内部DARAM4000H~EFFFH

外部存储器DROM=1

使用内部ROM

F000H~FEFFH

内部ROMFF00H~FFFFH

保留DROM=0不使用内部ROM

F000H~FEFFH

外部存储器DROM=1保留

DROM=0外部存储器FF00HFFFFHDROM=1内部ROMDROM=0外部存储器F000HFEFFH外部存储器4000HEFFFH内部DARAM(16K字)0080H3FFFH暂存器SPRAM0060H007FH存储器映像寄存器0000H005FH数据存储空间地址存储器映像寄存器暂存器SPRAM内部DARAM(16K字)外部存储器DROM=1内部ROM

DROM=1保留存储器映像寄存器暂存器SPRAM内部DARAM(16K字)外部存储器DROM=1内部ROM

DROM=1保留DROM=1保留

DROM=0外部存储器DROM=1内部ROMDROM=0外部存储器外部存储器内部DARAM(16K字)暂存器SPRAM存储器映像寄存器第2章TMS320C54x的硬件结构’C5402数据存储空94第2章TMS320C54x的硬件结构内部RAM前1K的配置:0380H~03FFH0300H~03

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论