2.1.2 输入定标移位器 输入定标移位器的功能是将来自程序存储器或数据存储器的16位数据调整为32位数据,并送到CALU当中。因此16位输入与数据总线相连,32位输出与CALU相连。这种移位操作只是数据从程序或者数据存储器到CALU传输路径的一部分,所以不会占用额外的时钟周期。 2.3 本章小结 本章介绍了TMS320LF240xA系列DSP的CPU和存储器的基本构成及其工作原理。在通过本章的学习之后,读者应该对CPU各模块的工作流程和各模块之间是如何联系的,有个清楚地认识,对片上存储器的构成有个基本的了解,并且能够通过看时序图来掌握DSP是如何访问外部存储空间。 China_54@ China_54@ 第2章 TMS320LF240x的CPU内核结构及存储器映射 本章导读: CPU是DSP中最主要的运算部件,CPU的好坏直接影响着DSP的性能;而存储器在DSP中的作用也不容忽视。本章通过介绍TMS320x240xA系列DSP的CPU及存储器,使读者熟练掌握这两个部件的内部结构和工作原理。 2.1 CPU内部结构 2.1.1 乘法器 TMS320x240xA采用一个16×16位硬件乘法器,可以在一个时钟周期内产生一个32位有符号或者无符号的乘积结果。在硬件乘法器中进行运算的两个16位值都被认为具有二进制补码格式(无符号乘法指令MPYU除外)。 乘法器将来自16位数据存储器或程序存储器的被乘数,与16位临时寄存器(TREG)的乘数相乘,把结果保存在一个32位的乘积寄存器(PREG)中。乘积移位器再将PREG中的乘积移位定标后,送入中央算术逻辑单元。 2.1 CPU内部结构 2.1.3 中央算术逻辑单元(CALU) 中央算术逻辑单元执行大部分的算术和逻辑运算功能,并且实现大多数的功能都只要1个时钟周期,这些功能包括:16位加、16位减、布尔逻辑操作、位测试、移位和循环功能。有关中央算术逻辑单元的结构框图,如下图。 2.1 CPU内部结构 2.1.4 累计器(ACC) 当CALU工作时,会将计算结果送至32位累加器,累计器负责将结果进行单移位或者循环移位,然后将结果输出到数据定标移位器。 2.1.5 输出数据定标移位器 输出数据定标移位器有一个32位的输入和一个16位输出,输入部分与32位累加器相连,输出部分与数据总线相连。这个定标器将32位累加器的内容全部复制下来,并将其内容左移0~7位,然后将移位器的高位字或低位字存至数据存储器中。并且在这个过程中,累加起的内容不改变。 2.1.6 辅助寄存器算术单元 中央处理单元(CPU)中还包括一个与中央算术逻辑单元(CALU)无关的辅助寄存器算术单元(ARAU),如下图。它的主要功能是与中央算术逻辑单元中进行的操作并行地实现对8个辅助寄存器(AR0~AR7)的算术运算。辅助寄存器提供了灵活而强大的间接寻址功能,使用其中任何一个寄存器提供的16位地址都可以访问64K字数据存储空间的任何单元。 2.1 CPU内部结构 2.1 CPU内部结构 2.1.7 状态寄存器 TMS320LF240xA系列的DSP芯片都包含有两个状态寄存器,分别是ST0和ST1。这两个寄存器的值既可以被储存在数据存储器当中,也可以从数据存储器当中读出并装载到两个状态寄存器上,目的是在被子程序调用时保存CPU当前的状态。 LST指令用于向ST0和ST1写数据;SST指令用于从ST0和ST1当中读数据。状态寄存器ST0和ST1的每一位都可以用SETC和CLRC置位或者清零。 1. 状态寄存器ST0 X 1 1 X 0 X 复位值 DP INTM 1 OVM OV ARP 名 称 8~0 9 10 11 12 15~13 位 00 1 1 1 1 1 1 1 1 1 X 0 X PM 1 1 XF 1 1 1 1 C SXM TC CNF ARB 1~0 2 3 4 5 6 7 8 9 10 11 12 15~13 2. 状态寄存器ST1 第三行为复位值 2.2 存储器和I/O空间 2.2 存储器和I/O空间 TMS320LF/LC240xA的存储空间由3组16位的并行总线访问:程序地址总线(PAB)、数据读地址总线(DRAB)、数据写地址总线(DWAB)。这3组总线的操作是独立的,因此可以同时访问程序空间和数据空间。在一个给定的机器周期里,中央算术逻辑单元(CALU)可执行3种存储器操作。 TMS320LF/LC
原创力文档

文档评论(0)