第2章 TMS320C54x的CPU结构和存储器配置 2.1 TMS320C54x DSP的结构 2.2 TMS320C54x的总线结构

Slides:



Advertisements
Similar presentations
二、数控机床的组成 数控机床构成图 图 数控机床的构成 零 件 图 样 程 序 编 制 信 息 介 质 输 入 装 置 数控装置
Advertisements

信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
2017年3月5日 单片机原理与应用 背景知识调查.
DSP 及应用 徐朝胜 博客:
实验四 利用中规模芯片设计时序电路(二).
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
计算机基础知识 丁家营镇九年制学校 徐中先.
单片机系统的三总线的构造 半导体存储器 程序存储器和数据存储器的扩展方法 E2PROM的使用 程序存储器和数据存储器的同时扩展
Hadoop I/O By ShiChaojie.
第三章 微机基本系统的设计 第一章 8086程序设计 第二章 MCS-51程序设计 第四章 存贮器与接口 第五章 并行接口
总 复 习.
存储系统.
华为—E8372h- 155 外观设计 产品类型:数据卡 建议零售价格:299元 上市时间:2017年6月7日 目标人群:大众
第2章 TMS320C54x的硬件结构 内容提要 TMS320C54x芯片是一种特殊结构的微处理器,为了快速地实现数字信号处理运算,采用了流水线指令执行结构和相应的并行处理结构,可在一个周期内对数据进行高速的算术运算和逻辑运算。 本章主要介绍TMS320C54x芯片的硬件结构,重点对芯片的引脚功能、CPU结构、内部存储器、片内外设电路、系统控制以及内外部总线进行了讨论。
第三章 DSP指令系统与特点 第一节 数据寻址方式 第二节 程序存储器地址的生成方式 第三节 流水线 第四节 指令系统概述.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第二部分 微机原理 第2章 MCS-51单片机 的内部结构 主讲教师:喻红.
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
CPU结构和功能.
第2章 TMS320C54x的硬件结构及原理 TMS320C54x系列DSP是一种低功耗、高性能 的16位定点芯片
版权所有,引用请注明出处 第六章、中央控制器 原著 谭志虎 主讲(改编) 蒋文斌.
第2章 AT89C51单片机内部结构基础 2.1 内部结构和引脚功能 内部结构框图和主要部件
认识计算机系统.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
C语言程序设计 主讲教师:陆幼利.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
K60入门课程 02 首都师范大学物理系 王甜.
计算机组成原理 课程设计.
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
第三章 MCS 51的硬件结构.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
iSIGHT 基本培训 使用 Excel的栅栏问题
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
第3章 汇编语言指令系统 在DSP应用中,虽然可以使用C/C++高级语言编程,降低了对编程者的要求,但在一些实时性要求高的场合仍然需要采用汇编编程,以充分利用DSP丰富的硬件资源,发挥它的实时运算能力。 用汇编语言编程,要求编程者对DSP的低层有充分的了解,包括硬件结构、存储器空间模型和I/O口的组织等。同时又要求编程者对指令系统有深刻的了解。
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
HSC高速输出例程 HORNER APG.
微机原理与接口技术 ——8086微处理器 西安邮电大学 计算机学院 范琳.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
6.1 定时器/计数器的结构及工作原理 定时器/计数器的结构 定时器/计数器T0、T1的逻辑结构如图6-1所示。
第二章:‘C5000 DSP硬件结构 在这一章中,我们介绍: TMS320C54XX硬件结构特点 ★
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
得技通电子 问题 三 判断题:.
第3章 汇编语言指令系统 在DSP应用中,虽然可以使用C/C++高级语言编程,降低了对编程者的要求,但在一些实时性要求高的场合仍然需要采用汇编编程,以充分利用DSP丰富的硬件资源,发挥它的实时运算能力。 用汇编语言编程,要求编程者对DSP的低层有充分的了解,包括硬件结构、存储器空间模型和I/O口的组织等。同时又要求编程者对指令系统有深刻的了解。
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
第九章 存储器和可编程逻辑器件 本章主要内容 半导体存储器 只读存储器 随机存取存储器 存储器容量的扩展 可编程逻辑器件
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
第9章 位 运 算.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
DSP技术与应用 电子与信息技术系.
一个实时嵌入式操作系统移植问题研究 报告人:荣峰华.
Presentation transcript:

第2章 TMS320C54x的CPU结构和存储器配置 2.1 TMS320C54x DSP的结构 2.2 TMS320C54x的总线结构 2.4 TMS320C54x存储器和I/O空间

2.1 TMS320C54x DSP的结构 2.1.1 TMS320C54x DSP的基本结构

图2-1 TMS320C54x的组成框图

图2-2 TMS320C54x的功能框图

TMS320C54x是16位定点DSP。TMS320C54x的中央处理单元(CPU)具有改进的哈佛结构、低功耗设计和高度并行性等特点。除此之外,高度专业化的指令系统可以全面地发挥系统性能。使用TMS320C54x的专用硬件逻辑的CPU,再配以按照用户需要所选择的片内存储器和片内外设,可组成用户的ASIC(Application Specific Intergrated Circuit,专用集成电路)以应用于电子产品的不同领域。

2.1.2 TMS320C54x DSP的主要特点 TMS320C54x系列定点DSP芯片共享同样的CPU内核和总线结构,但每一种器件片内存储器的配置和片内外设不尽相同。表2-1提供了TMS320C54x各DSP基本性能的概要。

表2-1 TMS320C54x系列基本配置汇总表

TMS320C54x的主要特征如下: (1) CPU(中央处理单元)利用其专用的硬件逻辑和高度并行性提高芯片的处理性能。 ● 1条程序总线、3条数据总线和4条地址总线组成的改进型哈佛结构,提供了更快的速度和更高的灵活性。 ● 40 bit的算术逻辑单元(ALU)包括40 bit的桶形移位器和两个独立的40 bit累加器A、B。 ● 17×17 bit并行乘法单元和专用的40 bit加法器用于无等待状态的单周期乘/累加操作。

● 比较、选择和存储单元(CSSU)能够完成维特比(Viterbi,通信中的一种编码方式)的加/比较/选择操作。 ● 指数译码器可以在单周期内对40 bit累加器进行指数运算。 ● 两个地址发生器包括8个辅助寄存器(AR0~AR7)和两个辅助寄存器算术运算单元(ARAU0、ARAU1)。 ● TMS320C5420还包括一个双CPU的结构。

(2) 存储器具有192 K字可寻址存储空间(包括64 K字程序存储空间、64 K字数据存储空间和64 K字I/O空间)。其中,TMS320C548、TMS320C549、TMS320C5402、TMS320C5410和TMS320C5420的程序存储空间还可以扩展到8 M字。 片内存储器配置因型而异。

(3) 高度专业化的指令集能够快速地实现算法并用于高级语言编程优化。其包括: ● 单指令重复和块指令重复。 ● 用于更好地管理程序存储器和数据存储器的块移动指令。 ● 32位长整数操作指令。 ● 指令同时读取2或3个操作数。 ● 并行存储和加载的算术指令。 ● 条件存储指令。 ● 快速中断返回。

(4) 片内外设和专用电路采用模块化的结构设计,可以快速地推出新的系列产品。其包括: ● 可编程软件等待状态发生器。 ● 可编程分区转换逻辑电路。 ● 可使用内部振荡源或外部振荡源的锁相环(PLL)时钟发生器。当使用外部振荡源时,内部允许使用多个值对芯片倍频。

● 外部总线接口可以禁止或允许外部数据总线、地址总线和控制线的输出。 ● 数据总线支持总线挂起的特征。 ● 可编程定时器。 ● 8 bit并行主机接口(HPI)。 ● 串行口:全双工串口(支持8 bit或16 bit数据传送)、时分多路(TDM)串口和缓冲(BSP)串口。

(5) TMS320C54x执行单周期定点指令时间为25/20/15/12.5/10 ns,每秒指令数为40/66/100MIPS。 (6) TMS320C54x电源由IDLE1、IDLE2和IDLE3功耗下降指令控制功耗,以便DSP工作在节电模式下,使之更适合于手机。其控制CLKOUT引脚的输出,省功耗。 (7) 在片仿真接口、片上的JTAG接口符合IEEE1149.1边界扫描逻辑接口标准,可与主机连接,用于芯片的仿真和测试。

2.2 TMS320C54x的总线结构 TMS320C54x DSP片内由8组16 bit总线(1组程序总线、3组数据线和4组地址总线)构成。程序总线(PB)传送从程序存储器装载的指令代码和立即数。这些总线的功能分别是:3组数据总线(CB、DB和EB)负责将片内的各种元器件相互连接,例如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器等。

TMS320C54x能利用两个辅助寄存器算术单元(ARAU0和ARAU1)在同一个周期内生成两个数据存储器地址。 PB能加载保存于程序空间的操作数(例如,系数表),并将操作数传送到乘法器和加法器中进行乘累加操作,或利用数据移动指令(MVPD和READA)把程序空间的数据传送到数据空间。

TMS320C54x还有一组双向的片内总线用于访问片内外设,这组总线轮流使用DB和EB与CPU连接。访问者使用这组总线进行读/写操作需要两个或更多的周期,具体所需周期数取决于片内外设的结构。表格2-2总结了各种不同类型的总线访问。

表2-2 总线访问类型

2.3 TMS320C54x的CPU结构 CPU是DSP芯片中的核心部分,是用来实现数字信号处理运算和高速控制功能的部件。CPU内的硬件构成决定了其指令系统的性能。TMS320C54x的CPU包括:

● 40位算术逻辑单元(ALU); ● 两个40位的累加器A、B; ● 桶型移位寄存器(Barrel Shifter); ● 乘法器/加法器单元(Multiplier/Adder); ● 比较、选择和存储单元(CSSU); ● 指数编码器(EXP Encoder); ● CPU状态和控制寄存器(ST0、ST1和PMST); ● 寻址单元(Addressing Unit)。

2.3.1 算术逻辑运算单元 使用算术逻辑单元(ALU)和两个累加器(A、B)能够完成二进制的补码运算,同时,ALU还能够完成布尔运算。算术逻辑单元的输入操作数可以来自: ● 16位的立即数; ● 数据存储器中的16位字; ● 暂存器T中的16位字; ● 数据存储器中读出的2个16位字; ● 累加器A或B中的40位数; ● 移位寄存器的输出。

2.3.2 累加器 累加器A和B可作为ALU和乘法器/加法器单元的目的寄存器,累加器也能输出数据到ALU或乘法器/加法器中。累加器可分为三部分:保护位、高位字和低位字。累加器A和B的示意图如图2-3和图2-4所示。

图2-3 累加器A

图2-4 累加器B

保护位用于保存计算时产生的多余高位,防止在迭代运算中产生溢出,例如自相关运算。 AG、AH、AL、BG、BH和BL都是存储器映像寄存器(在存储空间中占有地址),由特定的指令将其内容放到16位数据存储器中,并从数据存储器中读出或写入32位累加器值。

2.3.3 桶形移位器 桶形移位器能把输入的数据进行0~31位的左移和0~15位的右移。40位桶形移位器的输入来自数据总线DB的16位输入数据、DB和CB的32位输入数据及任意一个40位累加器,并输出到ALU,经过MSW/LSW(最高有效字/最低有效字)写选择单元至EB总线。它所移的位数就是指令中的移位数。移位数都是用二进制补码表示,正值表示左移,负值表示右移。移位数可由立即数、状态寄存器ST1中的累加器移位方式(ASM)字段和被指定为移位数值寄存器的暂存器T来决定。

桶形移位器可以执行以下定标操作: ● 在执行ALU操作前预定好一个数据存储器操作数或累加器内容; ● 对累加器的值进行算术或逻辑移位; ● 归一化累加器; ● 在保存累加器到数据存储器之前定标累加器。

2.3.4 乘累加器单元 TMS320C54x CPU的乘累加器单元能够在一个周期内完成一次17*17 bit的乘法和一次40位的加法。乘法器和ALU并行工作可在一个单指令周期内完成一次乘累加(MAC)运算。该单元能够快速高效地完成如卷积、相关和滤波等运算。乘法器/加法器单元由17×17 bit的硬件乘法器、40位专用加法器、符号位控制逻辑、小数控制逻辑、0检测器、溢出/饱和逻辑和16位的暂存器(T)等部分组成,可支持有/无符号的整数、小数乘法运算,并可对结果进行舍入处理。

乘累加器单元的一个输入操作数来自T寄存器、数据存储器或累加器A(31~16位);另一个则来自于程序存储器、数据存储器、累加器A(31~16位)或立即数。乘法器的输出加到加法器的输入端,累加器A或B则是加法器的另一个输入端,最后结果送往目的累加器A或B。

2.3.5 比较选择存储单元   通信领域常常用到维持比(Viterbi)算法,该算法需要完成大量的加法/比较/选择(ACS)运算。CSSU单元支持各种Viterbi算法,其中加法由ALU单元完成,只要将ST1中的C16置1,所有的双字指令都会变成双16位算术运算指令,这样ALU就可以在一个机器周期内完成两个16位数的加/减法运算,其结果分别存放在累加器的高16位和低16位中。CSSU可以最大限度地完成累加器高字与低字的比较操作,即选择累加器中较大的字,并存储在数据存储器中,且不改变状态寄存器ST0中的测试/控制位TC字段和状态转移寄存器TRN的值。CSSU利用优化的片内硬件加速Viterbi的蝶形运算。

2.3.6 指数编码器 指数编码器是一个专用硬件,它支持单周期指令EXP。它可以求出累加器中的指数值,并以二进制补码形式存放于T中。用EXP和NORM指令可以对累加器中的内容归一化,完成定点数和浮点数之间的转换。

2.3.7 CPU状态控制寄存器 1.状态寄存器(ST0和ST1) 使用置位指令SSBX和复位指令RSBX可以单独设置和清除状态寄存器的各位。例如: SSBX SXM ;符号扩展SXM=1 RSBX SXM ;禁止符号扩展SXM=0 APR、DP和ASM字段可以通过LD指令装载一个短立即数,ASM和DP也可以通过LD指令由数据存储器装载。 ST0的结构如图2-5所示,含义见表2-3。

图2-5 ST0寄存器结构

表2-3 ST0 寄 存 器

图2-6 ST1寄存器结构

表2-4 ST1寄 存 器

2.处理器工作方式状态寄存器(PMST) PMST可由存储器映像寄存器指令装载,如STM。图2-7是PMST寄存器的结构图。PMST各位的含义列于表2-5中。

图2-7 PMST寄存器结构

表2-5 PMST寄存器

2.3.8 寻址单元 TMS320C54x有两个地址发生器:PAGEN(Program Address Generation Logic)和DAGEN(Data Address Generation Logic)。PAGEN包括程序计数器PC、IPTR、块循环寄存器(RC、BRC、RSA和REA),这些寄存器可支持程序存储器寻址。DAGEN包括循环缓冲区大小寄存器BK、DP、堆栈指针寄存器SP、8个辅助寄存器(AR0~AR7)和2个辅助寄存器算术单元(ARAU0和ARAU1)。8个辅助寄存器和2个辅助寄存器算术单元一道可进行16位无符号数算术运算,支持间接寻址模块,AR0~AR7由ST0中的ARP来指定。

2.4 TMS320C54x存储器和I/O空间 DSP扩展存储器主要分为两类:ROM和RAM。ROM包括EPROM、EEPROM、Flash Memroy等。这一类存储器主要用于存储用户程序和系统常数表,一般映像在程序存储空间。RAM主要指静态RAM(SRAM)。本章主要讨论片内存储器,而片外扩展存储器将在第8章中详细介绍。

所有TMS320C54x芯片内都包含随机存储器(RAM)和只读存储器(ROM)。在芯片中有两类RAM:双寻址RAM(DARAM)和单寻址RAM(SARAM),分别也可称为双口RAM和单口RAM。DARAM每个机器周期可被访问两次。TMS320C54x因具体器件不同,片内存储器的类型或容量也有些差异。表2-6列出了几种常用的TMS320C54x器件的存储器容量。

TMS320C54x有26个CPU寄存器和片内外设寄存器被映像在数据存储空间,各类TMS320C54x存储器的特征及组织和使用不同的片内存储器块将在下面详细介绍。

表2-6 TMS320C54x内部存储器容量

2.4.1 存储器空间 TMS320C54x采用改进的哈佛结构。存储空间由三个独立可选的存储空间组成,这三个独立可选的存储空间包括64 K字的程序存储空间、64 K字的数据存储空间和64 K字的I/O空间。片内或片外的ROM和RAM、外部的EPROM和EEPROM以及芯片中的存储器映像寄存器包括在这三个空间中。

在TMS320C54x中,片内存储器有DARAM、SARAM和ROM三种类型。它们通常配置在数据存储空间,但也可以配置在程序存储空间。片内ROM则一般配置在程序存储空间,但一部分ROM也可以配置到数据存储空间中。 TMS320C54x的工作方式状态寄存器PMST提供了三个控制位:MP/、OVLY和DROM,用于在存储空间中配置片内存储器。使用这三个控制位可以设置片内存储器是否配置到存储空间,并指定片内存储器是配置到程序存储空间还是数据存储空间。

● MP/ :微处理器/微型计算机工作方式位。 当MP/ =0时,允许片内ROM配置到程序存储空间; 当MP/ =1时,禁止片内ROM配置到程序存储空间。 ● OVLY:RAM重叠位。 当OVLY=1时,片内ROM配置到程序和数据存储空间; 当OVLY=0时,片内RAM仅配置到数据存储空间。 ● DROM:数据ROM位。 当DROM=1时,片内ROM配置到程序和数据存储空间。 当DROM=0时,禁止ROM配置到数据存储空间。 DROM的用法与MP/ 的状态无关。

图2-8~图2-12是TMS320C54x芯片数据和程序存储空间的配置图,从中也可以看到上述三个控制位与内存储器的关系。

图2-8 TMS320C541存储器图

图2-9 TMS320C543 存储器图

图2-10 TMS320C545 存储器图

图2-11 TMS320C548存储器图

图2-12 TMS320C5402存储器图

2.4.2 程序存储器 TMS320C54x可以寻址64 K字的程序存储空间。(TMS320C548、TMS320C549、TMS320C5410、TMS320C5402和TMS320C5420可以扩展到8 M字。) TMS320C54x的片内ROM、片内双寻址RAM(DARAM)和片内单寻址RAM(SARAM)可以通过软件配置到程序存储空间中。如果片内存储器配置到程序存储器中,则芯片在访问程序存储器时会自动访问这些存储单元。当PAGEN产生了一个不在片内存储器的地址时,会自动使用一个外部总线操作。表2-7是TMS320C54x系列芯片的片内存储器配置。

表2-7 TSM320C54x芯片片内程序存储器配置 (单位:K字)

1.程序存储器配置 MP/ 和OVLY位决定片内存储器是否配置到程序存储空间。复位时,MP/ 引脚上的逻辑电平将设置PMST寄存器的MP/位。MP/ 引脚在复位时有效。复位后,PMST寄存器的MP/ 位决定芯片的工作方式,直到下一次复位。 下面以TMS320C541芯片(如图2-8所示)为例,介绍TMS320C54x器件的地址映像与程序存储器的分配。 图2-13给出了在两种情况下,两个控制位对程序存储器配置的影响。

图2-13 TMS320C541程序存储器配置图

当MP/ =1,OVLY=0时,TMS320C541工作在微处理器模式下,片内ROM、片内RAM不安排到程序存储空间。 当MP/ =0,OVLY=1时,TMS320C541工作在微型计算机模式下,片内28 K字ROM(9000H~FF7FH)、片内复位和中断向量(FF80H~FFFFH)可作为程序存储器;片内5 K字DARAM可作为程序存储器。

2.片内ROM的组织 为了提高芯片的性能,对片内的ROM按照块的方式组织,如图2-14所示。这样,可以在一个块中取指的同时不会影响在另一个块中读取操作数。

图2-14 TMS320C54x的片内ROM的组织

3.片内ROM在程序存储空间中的地址配置 当芯片复位时,复位、中断向量分配在FF80H开始的程序存储空间中,然而,TMS320C54x的中断矢量表可以重定位到任意一个128字的边界上去,这就很容易将中断矢量表从引导ROM中移出来,然后再根据存储器图安排。在片内ROM中,有128个字用于保存检测设备的目的,应用程序不要写到这段存储器中(FF00H~FF7FH)。

4.片内ROM的内容和配置 TMS320C54x的片内ROM的容量有大有小,大的ROM(24 K、28 K或48 K字)可把用户的程序代码写进去;小的ROM(高2K字)由TI公司定义。根据不同的型号,TMS320C54x的2 K字程序空间中包含以下内容:

● 自举加载程序:完成串行口、外部存储器、I/O口或并行口BOOT-LOAD功能的程序代码; ● 256字的μ率扩展表; ● 256字的A率扩展表; ● 256字的正弦表; ● 中断向量表。 图2-15是片内ROM中包含上述各种内容的总结。当MP/ =0时,FF80H~FFFFH配置成片内ROM。

图2-15 片内ROM程序存储器图

5.扩展程序存储器 TMS320C548/549/5402/5410/5420采用分页技术,可以将程序存储空间扩展为8 M字。因此,这些芯片提供了一些增强的特性: ● 23条地址线(TMS320C5402有18条地址线,TMS320C5420有18条地址线); ● 额外的存储器映像寄存器、程序计数器扩展寄存器(XPC); ● 6条额外的指令用于寻址扩展的程序存储空间,改变XPC的值。它们是:

FB[D]:远跳转。 FBACC[D]:远跳转到累加器A或B指定的地址。 FCALA[D]:远调用累加器A或B指定的子程序。 FCALL[D]:远调用。 FRET[D]:远返回。 FRETE[D]:远返回且中断允许。

以下两条指令使用累加器的23位数进行寻址: READA:从累加器A或B指定的程序存储器地址中读取操作数,并把它写到数据存储器地址中。 WRITA:从累加器A或B指定的数据存储器地址中读取操作数,并把它写到程序存储器地址中。 除此之外的其他指令不能影响XPC,它们只能在当前页中进行操作。

TMS320C548、TMS320C549和TMS320C5410的程序存储空间为128页,每页64 K字;TMS320C5402则仅有16页存储空间。下面分两种情况介绍TMS320C548的扩展程序存储器空间。 当MP/ =1,OVLY=0时,片内RAM不映像到程序空间。TMS320C548将程序空间分为128页,XPC=0…127,每页64 K字,如图2-16所示。

图2-16 TMS320C548扩展程序空间示意图

当MP/ =1,OVLY=1时,片上RAM配置到程序存储空间后,扩展程序存储器的所有页都被分成两个部分:共享部分和独立部分。共享部分有32 K字,在任何一页中都可以访问;而每页独立的32 K字则仅在特定页中被访问。图2-17给出了OVLY=1时,TMS320C548的扩展存储器图。

图2-17 TMS320C548扩展程序空间映像图

2.4.3 数据存储器 TMS320C54x可以寻址64 K字的数据存储空间,其片内ROM、片内双口RAM(DARAM)和片内单口RAM(SARAM)可以通过软件配置到数据存储空间。如果片内存储器配置到数据存储空间,则芯片在访问程序存储器时会自动访问这些存储单元。当DAGEN产生的地址不在片内存储器的范围内时,处理器会自动地对外部数据存储器寻址。表2-8是TMS320C54x系列芯片的片内数据存储器配置。

表2-8 TMS320C54x系列芯片片内数据存储器配置 (单位:K字)

1.数据存储器配置 数据存储器包含片内或片外的RAM,片内的DARAM映像到数据存储空间。一些TMS320C54x的芯片还能够把一部分片内ROM配置到数据存储空间中,这种配置需要修改PMST寄存器的DROM位。这部分片内ROM既可以在数据空间使能(DROM=1),也可以在程序空间使能(MP/ =0)。在复位时,处理器把DROM位清零。

图2-18 TMS320C541数据存储器配置图

2.片内RAM配置 片内RAM可细分成若干块以提高性能。例如,分块后,允许用户在同一周期内从同一块DARAM中提取两个操作数,并将一个操作数写到另一块DARAM中。图2-19给出了片内RAM的分块图。

图2-19 片内RAM的分块图

3.存储器映像寄存器 在数据存储器的64 K字空间中,包含存储器映像寄存器MMR,它们都放在存储空间的第0页(0000H~007FH)。第0页包含如下内容: ● 存储器映像CPU寄存器(0000H~001FH)(共26个),当寻址这些寄存器时,不需插入等待状态。 ● 外围电路寄存器(0020H~005FH),访问它们需使用专门的外设总线结构。 ● 32字的暂存器SPRAM(0060H~007FH)。

表2-9列出了CPU存储器映像寄存器的地址及名称,各种TMS320C54x存储器映像外围电路寄存器参见附录4。

表2-9 存储器映像CPU寄存器

2.4.4 I/O空间 TMS320C54x除了程序存储空间和数据存储空间之外,还提供一个64 K字的I/O空间(0000H~0FFFFH)。I/O空间都在片外,它的作用是与片外设备连接。使用PORTR和PORTW两条指令可对I/O空间寻址。I/O空间的读/写时序不同于程序和数据存储器,它适用于访问映像到I/O空间的设备,而不是存储器。 TMS320C54x还有一个可屏蔽存储器保护选项,用来保护片内存储器的内容。当选定这项时,所有外部产生的指令都不能访问片内存储器空间。