第2章 TMS320C55X系列DSP
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
和以往的处理器系列相比,C55X强化了仿真和调试能力 ,所提供的仿真环境更加接近实际的应用环境,而且可以在仿 真时进行实时的应用程序操作。
C55X开发工具的强化仿真特性包括: ● 用观察点/断点来做非插入式的实时调试; ● 更快的屏幕更新; ● 在仿真停顿事件期间,更好地控制程序代码的执行; ● 实时数据交换(RTDX)。
21
3. 实时数据交换(RTDX)
RTDX是在目标系统和运行调试器的仿真主机之间交换数 据。片内的实时仿真硬件提供一条与调试控制共享的路径。目 标系统与主机之间的数据交换率可达2 MB/s,所开辟的新的仿 真能力包括:
● 仿真到目标系统的实时输入; ● 在主机上实时地更新目标系统的性能曲线。
22
2.2 TMS320C55XCPU的结构
C55X灵活的指令Cache(高速缓冲存储器)也可以对不同类 型的代码做优化配置。改善Cache的访问率,就意味着减少片 外的访问,从而减少系统的功耗。
14
(3) 外设和片上存储器阵列的自动低功率机制。C55X的核 处理器会自动地管理片上外设和存储器阵列的功耗。这种资源 的管理完全是自动的,对用户透明。而且,这种功耗的降低, 并不影响处理器的性能。当某个片上的存储器阵列没有被使用 时,它们就自动地切换到低功率模式。当一个访问的要求到达 时,该阵列就恢复到正常的工作状态,完成存储器的访问,无 须应用程序的干预。如果没有进一步的访问,该阵列又回到低 功率状态。该处理器对片上外设也提供类似的控制。当外设没 有激活,以及CPU不需要其关注时,就进入低功率状态。外设 响应处理器的要求,退出低功率状态,也不需要程序的干预。 这种功率管理也可以在软件的外设IDLE(闲置)域控制下进行。
24
图2-1 TMS320C55X内核结构图
25
2.2.2 片内的数据和地址总线
在图2-1中所示的总线有: (1) 读数据的数据总线(BB、CB、DB)。这3组总线从数据 空间或I/O空间,传送16 bit的数据到CPU的各个功能单元。BB 总线仅从内部存储器传输数据到D单元(主要是到两个MAC单 元。有特殊指令时,用BB、CB和DB这3组总线来同时读取3个 操作数。(注意:BB总线没有连接到外部存储器上。如果一条 指令要从BB总线上获取一个操作数,则该操作数必须是内存 中的数据。)CB和DB总线给P单元、A单元和D单元提供数据。 对要求每次同时读两个操作数的指令,需要利用CB和DB两组 总线;对每次只读一个操作数的指令,就只用DB总线。
15
(4) 可控制的功能IDLE域,提供了极大的省电灵活性。节 电最重要的是,当应用是处于IDLE或低活动状态时,达到最 小功耗。C55X通过用户可控制的IDLE域,来改善低活动域功 率管理的灵活性。这里所谓的域,是指器件里的不同部分,可 以由软件来选择,使其使能或禁止。在禁止时,该域进入非常 低功率的IDLE状态,但寄存器及存储器的内容仍然保留。当 该域使能时,返回到正常的工作状态。各个域都可以单独地使 能或禁止,使应用程序可以尽可能有效地管理低活动域的功耗 状态。在C55X系列最初的器件里,可以分开配置的IDLE域包 括CPU、DMA、外设、外部存储器接口(EMIF)、指令Cache以 及时钟发生电路。
C55X的主要性能和优点如下所示: ● 一个32 × 16 bit指令缓冲队列:缓冲可变长度指令和 实现块重复操作。 ● 两个17 bit × 17 bit MAC:在单周期内实现双MAC操 作。 ● 一个40 bit ALU:执行高精度算术和逻辑运算。 ● 一个40 bit 桶形移位寄存器:可以把40 bit结果左移31位 或右移32位。 ● 一个16 bit ALU:和主ALU并行执行简单算术运算。
18
这些强化能力的集成为软件和系统的开发者提供了不用停 止CPU或消耗CPU的资源就能观察硬件的工作,达到仿真的目 的。这样的仿真环境能最大限度地仿真DSP的全部性能。
19
2. 跟踪能力
C55X片内仿真硬件的另一个强化,是程序计数器(PC)的 跟踪能力。这种跟踪能力可以更好地观察应用程序流。PC跟 踪能力所关注的是,通过输出足够的信息,用一个离线程序来 重构应用程序。要选择多种能力来输出,作为运行时用户的选 项,以便控制输出哪些信息,什么时候输出,以及以什么样的 格式输出。在仿真器里,PC跟踪硬件所关注的是:最后32个 PC值的跟踪,或最后16个不连续的PC值的跟踪。
C55X的指令结构允许在一个周期里执行两条指令。处理 器内的两组写总线,可以在一个周期里作两次写或一次写两个 字,从而降低每个任务所需要的周期数。这也就意味着,更多 的时间是处于节电模式(IDLE)。
12
(1) 对于许多任务来说,使用不同的计算单元,可以降低 功耗。C55X的CPU内有两个ALU,一个是40 bit(C54X的标准 配置),一个是16 bit(C55X增加的)。40 bit的ALU用于基本的计 算任务。16 bit的ALU可以用于较小的算术与逻辑任务。灵活 的指令集可以直接将比较简单的计算或逻辑/位操作任务交给 16 bit的ALU,从而减小功耗。由于两个ALU可以并行工作, 从而减少每个任务的周期数,来降低功耗。
9
● 四个40 bit 累加器:保持计算结果和减少所需存储器数 量。
● 12条独立总线:并行地对不同操作单元同时提供处理 指令和操作数。
● 用户配置的IDLE域:改善低活动性时的电源管理。
10
2.1.4 对低功耗能力的加强
C55X是在C54X的基础上发展起来的,后者已经是低功耗的DSP。通 过工艺、设计、结构等一系列的强化,使C55X的功耗降低到新的水平,不 仅降低了功耗,而且提高了性能。
6
② 在保持或稍微延长电池寿命的条件下,大大提高性能 。例如,刚刚推出使用的3G手机,可以用于因特网的音频、 视频、数据的移动产品等,用户所期待的是具有一定水平的待 机时间和使用时间的电池寿命,而不愿意为增加功能而牺牲电 池的寿命。
③ 要求很小的尺寸、超低功耗、中低水平的DSP性能。例 如,助听器和医疗检测设备,要求DSP具有相当的能力,但电 池的寿命要达到数周乃至数月。
1. 提高并行处理的能力
C55X通过结构上的改进,提高了并行性并降低了每个任务所需要的周 期数。它采用的手段主要包括:
● 两个乘法累加(MAC)单元; ● 两个算术逻辑单元(ALU); ● 三组读总线; ● 两组写总线。
11
采用这些措施后,C55X可以处理两个数据流,或者以两 倍的速度来处理一个数据流,不需要将系数值读两遍。对于一 个给定的任务,减少存储器的访问,就可以改善功耗和性能。
2
2.1 TMS320C55X概述
2.1.1 C55X在C5000系列DSP中的地位
第1章我们讲到C5000系列DSP是高效能的DSP,功耗低, 适合于消费类数字产品市场以及通信电子产品。其发展方向是 朝更加有效的电源使用以及更多的集成方向发展,并且有多核 、DSP+RISC、功能强化三个产品系列。
20
最后32个PC值的跟踪,用于观察最近的程序流的历史。 例如,一个子程序可能在子程序里的许多不同地方调用。在子 程序里设置断点,就可以用PC跟踪能力来判断主程序里调用 该子程序的位置。
最后16个不连续的PC值的跟踪,用于观察程序流的长期 历史。在高度依赖条件转移和调用的代码里,这种功能非常有 用。
Hale Waihona Puke 2.2.1 CPU结构概述C55X DSP是一款采用改良型哈佛结构,高度模块化的数 字信号处理器,拥有比普通DSP更为丰富的硬件资源,能够有 效提高运算能力。其内核结构如图2-1所示,整个处理器内部 分为5个大的功能单元:存储器缓冲单元(M单元)、指令缓冲单 元(I单元)、程序控制单元(P单元)、地址生成单元(A单元)和数 据计算单元(D单元),各个功能单元之间通过总线连接。
3
C55X DSP是C5000 DSP系列中最新的一代产品,包含 TMS320VC5503、TMS320VC5507和TMS320VC5509A DSP。 C55X对C54X有很好的继承性,与C54X源代码兼容,从而有 效地保护用户在软件上的投资。
C55X继承了C54X的发展趋势,低功耗、低成本,在有限 的功率条件下,保持最好的性能。其工作在0.9 V下,待机功 耗低至0.12 mW,性能高达600 MIPS,并且具有业界目前最低 的待机功耗,极大地延长了电池的寿命,对数字通信等便携式 应用所提出的挑战,提供了有效的解决方案。其软件也与所有 C5000 DSP兼容。与120 MHz的C54X相比,300 MHz的C55X性 能大约提高了5倍,而功耗则降为C54X的1/6。
26
16
2. 低电压工艺技术的发展
除通过结构和指令集来降低功耗外,C55X系列处理器还 通过先进的低电压CMOS技术来进一步突破降低功耗的壁垒。 C55X系列处理器所使用的CMOS技术支持器件工作在1.5 V和 0.9 V。这些低电压的处理器仍然可以和其他标准的3.3 V CMOS器件直接接口。
17
2.1.5 嵌入式仿真特性 1. 基本的仿真特性及其强化
5
2.1.2 TMS320C55X DSP的应用
C55X的结构和设计是为了达到四个相关的目标:超低功 耗,有效的DSP性能,降低代码密度,与C54X完全的代码兼 容。
C55X支持四类基本的应用: ① 在保持或略微提高性能的条件下,大大延长电池寿命 。例如,将数字蜂窝电话、便携式声音播放器、数码相机的电 池使用时间,从小时延长到天,从天延长到周。
7
④ 高功效的设施,要求提高信道密度,但又有严格的板 级功耗和空间的限制。
一般地说,C55X的目标市场是消费和通信市场,多用于 语音编解码,线路回音和噪声消除,调制解调,图像和声音的 压缩与解压,语音的加密与解密,语音的识别与合成等领域。
8
2.1.3 TMS320C55X DSP的主要性能和优点
第2章 TMS320C55X系列DSP
2.1 TMS320C55X概述 2.2 TMS320C55XCPU的结构 2.3 TMS320C55X DSP的存储器和 2.4 启动加载程序 2.5 本章小结 习题与思考题
1
本章介绍TMS320C55X(以下简称为C55X)在 TMS320C5000 (以下简称为C5000)系列DSP中的地位、C55X的 存储器和I/O空间,C55X的CPU结构、低功耗的强化以及嵌入 式仿真器的特性。其中C55X的CPU结构是本章的重点。
23
C55X DSP中有1条32位程序数据总线(P总线),1条24位程序地 址总线(PA总线),5条16位的数据总线(B、C、D、E、F总线) 和5条24位的数据地址总线(BA、CA、DA、EA、FA总线)。这 种高度模块化的多总线结构使得C55X DSP拥有超强的并行处 理能力。下面分别介绍总线和各功能单元。
13
(2) 将存储器的访问减到最少。存储器的访问,无论是片 内的还是片外的,都是功率消耗的主要部分。将存储器的访问 减到最少,无疑是降低每个任务功耗所必需的。在C55X里, 指令的提取是32 bit(C54X里是16 bit)。此外,可变长度指令集 意味着,每个32 bit指令的提取可以提出一个以上的长度可变 的指令,按照所需要的信息来决定指令的长度,从而改善代码 的密度。这种指令集的设计和处理器结构的结合,就可以保证 在达到最高性能的同时,使功耗降到最小。
4
C55X的超低功耗,是通过低功率设计以及功率管理技术的进 步而达到的。设计者使用了一种非并行层次的节电配置,以及 创新的粒度耦合自动功率管理,对于用户是透明的。
与C54X相比,C55X的片内有两个乘法累加器(MAC),并 且增加了累加器(ACC)、算术逻辑单元(ALU)、数据寄存器等 ,配合以并行指令,每个机器周期的效率提高了一倍。其指令 集是C54X的超集,加入了适应扩展的新的硬件单元的指令。 其指令长度从8 bit到48 bit。这种长度可变的指令可以使每个函 数的控制代码量比C54X降低40%。减少代码量,就意味着减 少存储器的用量,从而降低系统成本。
C55X开发工具的强化仿真特性包括: ● 用观察点/断点来做非插入式的实时调试; ● 更快的屏幕更新; ● 在仿真停顿事件期间,更好地控制程序代码的执行; ● 实时数据交换(RTDX)。
21
3. 实时数据交换(RTDX)
RTDX是在目标系统和运行调试器的仿真主机之间交换数 据。片内的实时仿真硬件提供一条与调试控制共享的路径。目 标系统与主机之间的数据交换率可达2 MB/s,所开辟的新的仿 真能力包括:
● 仿真到目标系统的实时输入; ● 在主机上实时地更新目标系统的性能曲线。
22
2.2 TMS320C55XCPU的结构
C55X灵活的指令Cache(高速缓冲存储器)也可以对不同类 型的代码做优化配置。改善Cache的访问率,就意味着减少片 外的访问,从而减少系统的功耗。
14
(3) 外设和片上存储器阵列的自动低功率机制。C55X的核 处理器会自动地管理片上外设和存储器阵列的功耗。这种资源 的管理完全是自动的,对用户透明。而且,这种功耗的降低, 并不影响处理器的性能。当某个片上的存储器阵列没有被使用 时,它们就自动地切换到低功率模式。当一个访问的要求到达 时,该阵列就恢复到正常的工作状态,完成存储器的访问,无 须应用程序的干预。如果没有进一步的访问,该阵列又回到低 功率状态。该处理器对片上外设也提供类似的控制。当外设没 有激活,以及CPU不需要其关注时,就进入低功率状态。外设 响应处理器的要求,退出低功率状态,也不需要程序的干预。 这种功率管理也可以在软件的外设IDLE(闲置)域控制下进行。
24
图2-1 TMS320C55X内核结构图
25
2.2.2 片内的数据和地址总线
在图2-1中所示的总线有: (1) 读数据的数据总线(BB、CB、DB)。这3组总线从数据 空间或I/O空间,传送16 bit的数据到CPU的各个功能单元。BB 总线仅从内部存储器传输数据到D单元(主要是到两个MAC单 元。有特殊指令时,用BB、CB和DB这3组总线来同时读取3个 操作数。(注意:BB总线没有连接到外部存储器上。如果一条 指令要从BB总线上获取一个操作数,则该操作数必须是内存 中的数据。)CB和DB总线给P单元、A单元和D单元提供数据。 对要求每次同时读两个操作数的指令,需要利用CB和DB两组 总线;对每次只读一个操作数的指令,就只用DB总线。
15
(4) 可控制的功能IDLE域,提供了极大的省电灵活性。节 电最重要的是,当应用是处于IDLE或低活动状态时,达到最 小功耗。C55X通过用户可控制的IDLE域,来改善低活动域功 率管理的灵活性。这里所谓的域,是指器件里的不同部分,可 以由软件来选择,使其使能或禁止。在禁止时,该域进入非常 低功率的IDLE状态,但寄存器及存储器的内容仍然保留。当 该域使能时,返回到正常的工作状态。各个域都可以单独地使 能或禁止,使应用程序可以尽可能有效地管理低活动域的功耗 状态。在C55X系列最初的器件里,可以分开配置的IDLE域包 括CPU、DMA、外设、外部存储器接口(EMIF)、指令Cache以 及时钟发生电路。
C55X的主要性能和优点如下所示: ● 一个32 × 16 bit指令缓冲队列:缓冲可变长度指令和 实现块重复操作。 ● 两个17 bit × 17 bit MAC:在单周期内实现双MAC操 作。 ● 一个40 bit ALU:执行高精度算术和逻辑运算。 ● 一个40 bit 桶形移位寄存器:可以把40 bit结果左移31位 或右移32位。 ● 一个16 bit ALU:和主ALU并行执行简单算术运算。
18
这些强化能力的集成为软件和系统的开发者提供了不用停 止CPU或消耗CPU的资源就能观察硬件的工作,达到仿真的目 的。这样的仿真环境能最大限度地仿真DSP的全部性能。
19
2. 跟踪能力
C55X片内仿真硬件的另一个强化,是程序计数器(PC)的 跟踪能力。这种跟踪能力可以更好地观察应用程序流。PC跟 踪能力所关注的是,通过输出足够的信息,用一个离线程序来 重构应用程序。要选择多种能力来输出,作为运行时用户的选 项,以便控制输出哪些信息,什么时候输出,以及以什么样的 格式输出。在仿真器里,PC跟踪硬件所关注的是:最后32个 PC值的跟踪,或最后16个不连续的PC值的跟踪。
C55X的指令结构允许在一个周期里执行两条指令。处理 器内的两组写总线,可以在一个周期里作两次写或一次写两个 字,从而降低每个任务所需要的周期数。这也就意味着,更多 的时间是处于节电模式(IDLE)。
12
(1) 对于许多任务来说,使用不同的计算单元,可以降低 功耗。C55X的CPU内有两个ALU,一个是40 bit(C54X的标准 配置),一个是16 bit(C55X增加的)。40 bit的ALU用于基本的计 算任务。16 bit的ALU可以用于较小的算术与逻辑任务。灵活 的指令集可以直接将比较简单的计算或逻辑/位操作任务交给 16 bit的ALU,从而减小功耗。由于两个ALU可以并行工作, 从而减少每个任务的周期数,来降低功耗。
9
● 四个40 bit 累加器:保持计算结果和减少所需存储器数 量。
● 12条独立总线:并行地对不同操作单元同时提供处理 指令和操作数。
● 用户配置的IDLE域:改善低活动性时的电源管理。
10
2.1.4 对低功耗能力的加强
C55X是在C54X的基础上发展起来的,后者已经是低功耗的DSP。通 过工艺、设计、结构等一系列的强化,使C55X的功耗降低到新的水平,不 仅降低了功耗,而且提高了性能。
6
② 在保持或稍微延长电池寿命的条件下,大大提高性能 。例如,刚刚推出使用的3G手机,可以用于因特网的音频、 视频、数据的移动产品等,用户所期待的是具有一定水平的待 机时间和使用时间的电池寿命,而不愿意为增加功能而牺牲电 池的寿命。
③ 要求很小的尺寸、超低功耗、中低水平的DSP性能。例 如,助听器和医疗检测设备,要求DSP具有相当的能力,但电 池的寿命要达到数周乃至数月。
1. 提高并行处理的能力
C55X通过结构上的改进,提高了并行性并降低了每个任务所需要的周 期数。它采用的手段主要包括:
● 两个乘法累加(MAC)单元; ● 两个算术逻辑单元(ALU); ● 三组读总线; ● 两组写总线。
11
采用这些措施后,C55X可以处理两个数据流,或者以两 倍的速度来处理一个数据流,不需要将系数值读两遍。对于一 个给定的任务,减少存储器的访问,就可以改善功耗和性能。
2
2.1 TMS320C55X概述
2.1.1 C55X在C5000系列DSP中的地位
第1章我们讲到C5000系列DSP是高效能的DSP,功耗低, 适合于消费类数字产品市场以及通信电子产品。其发展方向是 朝更加有效的电源使用以及更多的集成方向发展,并且有多核 、DSP+RISC、功能强化三个产品系列。
20
最后32个PC值的跟踪,用于观察最近的程序流的历史。 例如,一个子程序可能在子程序里的许多不同地方调用。在子 程序里设置断点,就可以用PC跟踪能力来判断主程序里调用 该子程序的位置。
最后16个不连续的PC值的跟踪,用于观察程序流的长期 历史。在高度依赖条件转移和调用的代码里,这种功能非常有 用。
Hale Waihona Puke 2.2.1 CPU结构概述C55X DSP是一款采用改良型哈佛结构,高度模块化的数 字信号处理器,拥有比普通DSP更为丰富的硬件资源,能够有 效提高运算能力。其内核结构如图2-1所示,整个处理器内部 分为5个大的功能单元:存储器缓冲单元(M单元)、指令缓冲单 元(I单元)、程序控制单元(P单元)、地址生成单元(A单元)和数 据计算单元(D单元),各个功能单元之间通过总线连接。
3
C55X DSP是C5000 DSP系列中最新的一代产品,包含 TMS320VC5503、TMS320VC5507和TMS320VC5509A DSP。 C55X对C54X有很好的继承性,与C54X源代码兼容,从而有 效地保护用户在软件上的投资。
C55X继承了C54X的发展趋势,低功耗、低成本,在有限 的功率条件下,保持最好的性能。其工作在0.9 V下,待机功 耗低至0.12 mW,性能高达600 MIPS,并且具有业界目前最低 的待机功耗,极大地延长了电池的寿命,对数字通信等便携式 应用所提出的挑战,提供了有效的解决方案。其软件也与所有 C5000 DSP兼容。与120 MHz的C54X相比,300 MHz的C55X性 能大约提高了5倍,而功耗则降为C54X的1/6。
26
16
2. 低电压工艺技术的发展
除通过结构和指令集来降低功耗外,C55X系列处理器还 通过先进的低电压CMOS技术来进一步突破降低功耗的壁垒。 C55X系列处理器所使用的CMOS技术支持器件工作在1.5 V和 0.9 V。这些低电压的处理器仍然可以和其他标准的3.3 V CMOS器件直接接口。
17
2.1.5 嵌入式仿真特性 1. 基本的仿真特性及其强化
5
2.1.2 TMS320C55X DSP的应用
C55X的结构和设计是为了达到四个相关的目标:超低功 耗,有效的DSP性能,降低代码密度,与C54X完全的代码兼 容。
C55X支持四类基本的应用: ① 在保持或略微提高性能的条件下,大大延长电池寿命 。例如,将数字蜂窝电话、便携式声音播放器、数码相机的电 池使用时间,从小时延长到天,从天延长到周。
7
④ 高功效的设施,要求提高信道密度,但又有严格的板 级功耗和空间的限制。
一般地说,C55X的目标市场是消费和通信市场,多用于 语音编解码,线路回音和噪声消除,调制解调,图像和声音的 压缩与解压,语音的加密与解密,语音的识别与合成等领域。
8
2.1.3 TMS320C55X DSP的主要性能和优点
第2章 TMS320C55X系列DSP
2.1 TMS320C55X概述 2.2 TMS320C55XCPU的结构 2.3 TMS320C55X DSP的存储器和 2.4 启动加载程序 2.5 本章小结 习题与思考题
1
本章介绍TMS320C55X(以下简称为C55X)在 TMS320C5000 (以下简称为C5000)系列DSP中的地位、C55X的 存储器和I/O空间,C55X的CPU结构、低功耗的强化以及嵌入 式仿真器的特性。其中C55X的CPU结构是本章的重点。
23
C55X DSP中有1条32位程序数据总线(P总线),1条24位程序地 址总线(PA总线),5条16位的数据总线(B、C、D、E、F总线) 和5条24位的数据地址总线(BA、CA、DA、EA、FA总线)。这 种高度模块化的多总线结构使得C55X DSP拥有超强的并行处 理能力。下面分别介绍总线和各功能单元。
13
(2) 将存储器的访问减到最少。存储器的访问,无论是片 内的还是片外的,都是功率消耗的主要部分。将存储器的访问 减到最少,无疑是降低每个任务功耗所必需的。在C55X里, 指令的提取是32 bit(C54X里是16 bit)。此外,可变长度指令集 意味着,每个32 bit指令的提取可以提出一个以上的长度可变 的指令,按照所需要的信息来决定指令的长度,从而改善代码 的密度。这种指令集的设计和处理器结构的结合,就可以保证 在达到最高性能的同时,使功耗降到最小。
4
C55X的超低功耗,是通过低功率设计以及功率管理技术的进 步而达到的。设计者使用了一种非并行层次的节电配置,以及 创新的粒度耦合自动功率管理,对于用户是透明的。
与C54X相比,C55X的片内有两个乘法累加器(MAC),并 且增加了累加器(ACC)、算术逻辑单元(ALU)、数据寄存器等 ,配合以并行指令,每个机器周期的效率提高了一倍。其指令 集是C54X的超集,加入了适应扩展的新的硬件单元的指令。 其指令长度从8 bit到48 bit。这种长度可变的指令可以使每个函 数的控制代码量比C54X降低40%。减少代码量,就意味着减 少存储器的用量,从而降低系统成本。