第二章1_CPU内部结构_第1页
第二章1_CPU内部结构_第2页
第二章1_CPU内部结构_第3页
第二章1_CPU内部结构_第4页
第二章1_CPU内部结构_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、1一、中央处理单元一、中央处理单元CPUCPU概述概述 二、二、CPUCPU结构及总线结构及总线三、三、CPUCPU寄存器寄存器兼容性兼容性 在在TMS320C2000系列中,系列中,CPU内核为:内核为: C20 x/C24xC240 x:C2xLP: C27x/C28x: C27x、C28x 这些这些CPU的硬件结构有一定差别,指令集也不相同,但的硬件结构有一定差别,指令集也不相同,但是,在是,在C28x芯片中可以通过选择兼容特性模式,使芯片中可以通过选择兼容特性模式,使C28xCPU与与C27xCPU及及C2xLPCPU具有最佳兼容性。具有最佳兼容性。 可通过可通过状寄存器状寄存器ST1

2、的位的位OBJMODE和位和位AMODE的组的组合,选定模式。合,选定模式。 一、一、中央处理单元中央处理单元CPU 概述概述C28x芯片具有芯片具有3种操作模式:种操作模式:一、一、中央处理单元中央处理单元CPU 概述概述用户可以使用用户可以使用C28x的所有有效特性、寻址方式和指的所有有效特性、寻址方式和指令系统,一般应使令系统,一般应使C28x芯片工作于该种模式。芯片工作于该种模式。 在复位时,在复位时,C28x的的CPU处于处于C27x目标目标-兼容模式。在该兼容模式。在该模式下,目标码与模式下,目标码与C27xCPU完全兼容,且它的循环完全兼容,且它的循环计数也与计数也与C27xCP

3、U兼容。兼容。 允许用户运行允许用户运行C2xLP的源代码,这些源代码是用的源代码,这些源代码是用C28x代码生成工具编译生成的。代码生成工具编译生成的。 C28x模式:模式: C27x目标目标兼容模式:兼容模式: C2xLP源源兼容模式:兼容模式:通过通过状寄存器状寄存器ST1的位的位OBJMODE和位和位AMODE选定模式选定模式一、一、中央处理单元中央处理单元CPU 概述概述 CPUCPU :产生数据和程序产生数据和程序存储地址:编码和运行指令;存储地址:编码和运行指令;执行算术、逻辑和移位操作;执行算术、逻辑和移位操作;控制寄存器阵列内的数据转移、控制寄存器阵列内的数据转移、数据存储和

4、程序存储等。数据存储和程序存储等。 内核组成:内核组成:组成及特性组成及特性一、一、中央处理单元中央处理单元CPU 概述概述CPU仿真逻辑仿真逻辑存储器接口信号存储器接口信号时钟和控制信号时钟和控制信号复位和中断信号复位和中断信号仿真信号仿真信号C28x CPU核核 仿真逻辑:仿真逻辑: 监视和控制监视和控制DSP芯片内不同部件的工作,并且测试设备的芯片内不同部件的工作,并且测试设备的操作情况。操作情况。 信号线信号线 :产生存储器和外围设备的接口信号以及产生存储器和外围设备的接口信号以及CPU的时钟和控制信的时钟和控制信号,显示号,显示CPU状态、仿真逻辑信号以及正在使用的中断情况。状态、仿

5、真逻辑信号以及正在使用的中断情况。CPU主要特性:主要特性: 保护流水线:保护流水线:八级流水线,可以避免从同一地址进行读写而造成八级流水线,可以避免从同一地址进行读写而造成 的秩序混乱。的秩序混乱。 独立寄存器空间:独立寄存器空间:在在CPU中含有一些被映像至数据空间的寄存器,可以作中含有一些被映像至数据空间的寄存器,可以作 为系统控制寄存器、数学寄存器和数据指针。为系统控制寄存器、数学寄存器和数据指针。系统控制系统控制 寄存器可由特殊的指令进行操作,而其他寄存器则通过寄存器可由特殊的指令进行操作,而其他寄存器则通过 特殊指令或寄存器寻址模式来操作特殊指令或寄存器寻址模式来操作。 算术逻辑单

6、元算术逻辑单元(ALU):32位的位的ALU完成二进制补码算术和布尔逻辑操作。完成二进制补码算术和布尔逻辑操作。 地址寄存器算术单元地址寄存器算术单元(ARAU):ARAU产生数据存储地址以及与产生数据存储地址以及与ALU 并行操作的增量和减量指针。并行操作的增量和减量指针。 循环移位器:循环移位器:执行最多执行最多16位的数据左移位和右移位操作。位的数据左移位和右移位操作。 乘法器:乘法器:执行执行32位位x32位的二进制补码乘法运算,获得位的二进制补码乘法运算,获得64位的乘积。乘法可位的乘积。乘法可 以在有符号数和无符号数之间进行。以在有符号数和无符号数之间进行。一、一、中央处理单元中央

7、处理单元CPU 概述概述CPU信号:信号:一、一、中央处理单元中央处理单元CPU 概述概述在在CPU、存储器和外围设备之间进行数、存储器和外围设备之间进行数据传送;进行程序存储器的访问和数据据传送;进行程序存储器的访问和数据存储器的存取;并能根据不同的字段长存储器的存取;并能根据不同的字段长度区分不同的存取操作度区分不同的存取操作(16位或位或32位位)。为为CPU和仿真逻辑提供时钟,可以用来和仿真逻辑提供时钟,可以用来监视和控制监视和控制CPU。用来产生硬件复位和中断,并用来用来产生硬件复位和中断,并用来监视中断的状态。监视中断的状态。用来仿真和调试用来仿真和调试TMS320C2000系列内

8、部结构系列内部结构芯片组成芯片组成 特特 点点 32位位 定点定点 改进哈佛结构改进哈佛结构 循环的寻址方式。循环的寻址方式。 组组 成成 内核内核 存储器存储器 片内外设片内外设内部结构内部结构片片 内内 外外 设设片内存储器片内存储器中断处理中断处理程序和数据控制逻辑程序和数据控制逻辑乘法器乘法器 桶形移位器桶形移位器地址寄存器算术单元地址寄存器算术单元算术逻辑单元算术逻辑单元内核内核(红框)(红框)实时仿真逻辑实时仿真逻辑预取队列预取队列&指令译码指令译码程序和数据地址发生器程序和数据地址发生器二、二、CPU 的结构及总线的结构及总线CPU内内部部结结构构 存储器接口有存储器接口有3组地

9、址总线组地址总线 1PAB(Program Address Bus) 22位。自位。自程序空间,读写操作程序空间,读写操作 地址。地址。 2DRAB(Data-Read Address Bus) 32位。位。数据空间,读操作地址。数据空间,读操作地址。 3DWAB(Data-Write Address Bus) 32位。数据空间,写操作地址。位。数据空间,写操作地址。地址和数据总线地址和数据总线二、二、CPU 的结构及总线的结构及总线 存储器接口还有存储器接口还有3组数据总线组数据总线 1PRDB(Program-Read DataBus) 32位。读取程序空间时用来传送指位。读取程序空间时用

10、来传送指令或数据。令或数据。 2DRDB(Data-ReadDataBus) 32位。读取数据空间时用来传送数位。读取数据空间时用来传送数据。据。 3.DWDB(Data/Program-WriteDataBus) 32位。对位。对数据空间和程序空间写数数据空间和程序空间写数据时用来传送数据。据时用来传送数据。地址和数据总线地址和数据总线二、二、CPU 的结构及总线的结构及总线 注意:注意: 1.运用不同总线的传输是可以同时发生的。运用不同总线的传输是可以同时发生的。 2.程序空间的读和写不能同时发生程序空间的读和写不能同时发生 3.程序空间的写和数据空间的写不能同时发生程序空间的写和数据空间

11、的写不能同时发生二、二、CPU 的结构及总线的结构及总线三、三、CPU寄存器寄存器寄存器寄存器大小大小描述描述复位后结果复位后结果ACC(AH,AL) 32位位累加器累加器0 x00000000XAR0732位位辅助寄存器辅助寄存器070 x00000000AR0716位位辅助寄存器辅助寄存器XAR07的的低低16位位0 x0000DP16位位数据页指针数据页指针0 x0000IFR16位位中断标志寄存器中断标志寄存器0 x0000IER16位位允许中断寄存器允许中断寄存器0 x0000DBGIER16位位允许中断调试寄允许中断调试寄存器存器0 x0000P(PH,PL)32位位乘积结果寄存器

12、乘积结果寄存器0 x00000000PC22位位程序计数器程序计数器0 x3F_FFC0PAB是是22位的位的三、三、CPU寄存器寄存器寄存器寄存器大小大小描述描述复位后结果复位后结果RPC22位位返回程序计数器返回程序计数器0 x00000000SP16位位堆栈指针堆栈指针0 x400ST016位位状态寄存器状态寄存器00 x0000ST116位位状态寄存器状态寄存器10 x080BXT(T,TL)32位位被乘数寄存器被乘数寄存器0 x00000000累加器累加器(ACC、AH、AL)三、三、CPU寄存器寄存器CPU的主要工作寄存器。的主要工作寄存器。ALU操作结果都要送入操作结果都要送入A

13、CC(对存储器和寄存器对存储器和寄存器 的直接操作的直接操作例外例外)。支持单周期数据传送、加法、减法和来自数据存储器的宽度支持单周期数据传送、加法、减法和来自数据存储器的宽度为为32位的比较运算,也可以接受位的比较运算,也可以接受32位乘法操作的运算结果。位乘法操作的运算结果。 对对ACC可以单独进行可以单独进行16位位8位的访问。位的访问。累加器还具有如下的相关状态位。累加器还具有如下的相关状态位。1溢出模式位溢出模式位(OVM)2符号扩展模式位符号扩展模式位(SXM)3测试控制标志位测试控制标志位(TC)4进位位进位位(C)5零标志位零标志位(Z)6负标志位负标志位(N)7锁闭溢出标志位

14、锁闭溢出标志位(V)8溢出计数位溢出计数位(OVC)累加器累加器(ACC、AH、AL)三、三、CPU寄存器寄存器被乘数寄存器被乘数寄存器(XT) XT寄存器:寄存器: 主要用于在主要用于在32位乘法操作之前,存放一个位乘法操作之前,存放一个32位有符号位有符号整数值。整数值。 低低16位部分是位部分是TL寄存器:寄存器: 装载一个装载一个16位有符号数,能自动对该数进行符号扩展,位有符号数,能自动对该数进行符号扩展,然后将其送人然后将其送人32位位XT寄存器。寄存器。 高高16位部分是位部分是T寄存器:寄存器: 主要用来存储主要用来存储16位乘法操作之前的位乘法操作之前的16位整数值。位整数值

15、。 也可以为一些移位操作设定移位值,在这种情况下,也可以为一些移位操作设定移位值,在这种情况下,根据指令,只可以使用根据指令,只可以使用T寄存器的一部分。寄存器的一部分。三、三、CPU寄存器寄存器乘积结果寄存器乘积结果寄存器(P、PH、PL) P主要用来存放乘法运算的结果。主要用来存放乘法运算的结果。 可以直接装入一个可以直接装入一个16位常数。位常数。 可以从可以从16位位32位的数据存储器、位的数据存储器、16位位32位的可寻址位的可寻址CPU寄存器以及寄存器以及32位累加器中读取数据。位累加器中读取数据。 可以作为一个可以作为一个32位寄存器或两个独立的位寄存器或两个独立的16位寄存器:

16、位寄存器:PH(高高16位位)和和PL(低低16位位)来使用。来使用。三、三、CPU寄存器寄存器数据页指针数据页指针(DP) 在直接寻址模式中,对数据存储器的寻址要在在直接寻址模式中,对数据存储器的寻址要在64个字个字(即一即一个页面为个页面为64个字)的数据页中进行。个字)的数据页中进行。 由低由低4兆字的数据存储器组成兆字的数据存储器组成65536个数据页,用个数据页,用065535进行标号。进行标号。 在在DP直接寻址模式下,直接寻址模式下,16位的数据页指针位的数据页指针(DP)包含了目前包含了目前的数据页数。可以通过给的数据页数。可以通过给DP赋新值去改变数据页号。赋新值去改变数据页

17、号。三、三、CPU寄存器寄存器堆栈指针堆栈指针(SP) 堆栈指针堆栈指针(SP)允许在数据存储器中使用软件堆栈。堆栈指针为允许在数据存储器中使用软件堆栈。堆栈指针为16位,可位,可以对数据空间的低以对数据空间的低64K进行寻址。当使用进行寻址。当使用SP时,将时,将32位地址的高位地址的高16位置位置为为0。复位后。复位后SP指向地址指向地址00000400h。堆栈操作说明如下:。堆栈操作说明如下:1堆栈从低地址向高地址增长。堆栈从低地址向高地址增长。2SP总是指向堆栈中的下一个空域。总是指向堆栈中的下一个空域。3复位时,复位时,SP被初始化,它指向地址被初始化,它指向地址00000400h。

18、4将将32位数值存入堆栈时,先存入低位数值存入堆栈时,先存入低16位,然后将高位,然后将高16位存入下一个高地址位存入下一个高地址中。中。5当读写当读写32位的数值时位的数值时,C28x CPU期望存储器或外设接口逻辑把读写排成偶期望存储器或外设接口逻辑把读写排成偶数地址。例如,如果数地址。例如,如果SP包含一个奇数地址包含一个奇数地址00000083h,那么,进行一个,那么,进行一个32位的读操作时,将从地址位的读操作时,将从地址00000082h和和00000083h中读取数值。中读取数值。6如果增加如果增加SP的值,使它超过的值,使它超过FFFFh,或者减少,或者减少SP的值,使它低于的

19、值,使它低于0000h,则表明则表明SP已经溢出。如果增加已经溢出。如果增加SP的值使它超过了的值使它超过了FFFFh,它就会从,它就会从0000h开始计数。例如,如果开始计数。例如,如果SP=FFFEh而而个指令又向个指令又向SP加加3,则结果,则结果就是就是00001h。当减少。当减少SP的值使它到达的值使它到达0000h,它就会重新从,它就会重新从FFFFh计数。计数。例如,如果例如,如果SP=0002h而一个指令又从而一个指令又从SP减减4,则结果就是,则结果就是FFFFh。 7当数值存入堆栈时,当数值存入堆栈时,SP并不要求排成奇数或偶数地址。排列由存储器或并不要求排成奇数或偶数地址

20、。排列由存储器或外设接口逻辑完成。外设接口逻辑完成。三、三、CPU寄存寄存器器辅助寄存器辅助寄存器(XAR0XAR7、AR0AR7) XAR0XAR7:32位,可以作为地址指针指向存位,可以作为地址指针指向存储器,或者作为通用目的寄存器。储器,或者作为通用目的寄存器。 AR0AR7:XAR0XAR7的低的低16位,可用作循位,可用作循环控制和环控制和16位比较的通用目的寄存器。位比较的通用目的寄存器。 访问访问AR0AR7时,寄存器的高时,寄存器的高16位位(AR0H-AR7H)可能改变或不改变,这主要取决于所应用可能改变或不改变,这主要取决于所应用的指令。的指令。 AR0HAR7H只能作为只

21、能作为XAR0XAR7的一部分的一部分来读取,不能单独进行访问。来读取,不能单独进行访问。 三、三、CPU寄存器寄存器程序计数器程序计数器(PC) 当流水线满的时候,当流水线满的时候,22位的程序指针总是指向当前位的程序指针总是指向当前操作的指令,该指令刚刚到达流水线解码的第二阶操作的指令,该指令刚刚到达流水线解码的第二阶段。一旦指令到达了流水线的这一阶段,它就不会段。一旦指令到达了流水线的这一阶段,它就不会再被中断从流水线中清除掉,而是在中断执行之前再被中断从流水线中清除掉,而是在中断执行之前就被执行了。就被执行了。返回程序寄存器返回程序寄存器(RPC) 当通过当通过LCR指令执行一个调用操

22、作时,返回地址存指令执行一个调用操作时,返回地址存储在储在RPC寄存器中,寄存器中,RPC以前的值存在堆栈中以前的值存在堆栈中(在两在两个个16位的操作中位的操作中)。当通过。当通过LRETR指令执行一个返回指令执行一个返回操作时,返回地址从操作时,返回地址从RPC寄存器中读出,堆栈中的寄存器中读出,堆栈中的值被写回值被写回RPC寄存器寄存器(在两个在两个16位的操作中位的操作中)。其他的。其他的调用指令并不使用调用指令并不使用RPC寄存器。寄存器。三、三、CPU寄存器寄存器中断控制寄存器中断控制寄存器(IFR、IER、DBGIER) C28x有有3个寄存器用于控制中断:中断标志寄存个寄存器用

23、于控制中断:中断标志寄存器器(1FR)、中断使能寄存器、中断使能寄存器(1ER)和调试中断使能和调试中断使能寄存器寄存器(DBGIER)。IFR包含的标志位用于可屏蔽包含的标志位用于可屏蔽中断中断(可以用软件进行屏蔽可以用软件进行屏蔽)。当通过硬件或软件设。当通过硬件或软件设定了其中某位时,且相应的中断被使能时,该中定了其中某位时,且相应的中断被使能时,该中断被响应。可以用断被响应。可以用IER中的相应位屏蔽和使能中中的相应位屏蔽和使能中断。当断。当DSP工作在实时仿真模式并且工作在实时仿真模式并且CPU被挂起被挂起时,时,DBGIER表明可以使用时间临近中断表明可以使用时间临近中断(如果被如

24、果被使能使能)。三、三、CPU寄存器寄存器 状态寄存器状态寄存器(ST0) C28x有两个状态寄存器有两个状态寄存器ST0和和STl,其中包含着不同的标,其中包含着不同的标志位和控制位。这些寄存器可以和数据寄存器交换数据,也可志位和控制位。这些寄存器可以和数据寄存器交换数据,也可以保存机器的状态和为子程序恢复状态。状态位根据流水线中以保存机器的状态和为子程序恢复状态。状态位根据流水线中位值的改变而改变,位值的改变而改变,ST0的位在流水线的执行阶段中改变,的位在流水线的执行阶段中改变,STl的位在流水线的解码的位在流水线的解码2阶段中改变。阶段中改变。 下图表示了状态寄存器下图表示了状态寄存器

25、ST0的各位。所有这些位都可以在流的各位。所有这些位都可以在流水线执行的过程中进行更改。水线执行的过程中进行更改。 三、三、CPU寄存器寄存器 状态寄存器状态寄存器(ST1) 下图表示了状态寄存器各位,所有这些位都可以在流水线下图表示了状态寄存器各位,所有这些位都可以在流水线的第二译码阶段进行改变。的第二译码阶段进行改变。 均为均为1616位寄存器,有标志位和控制位,保存在数据存储器中。位寄存器,有标志位和控制位,保存在数据存储器中。 读写指令读写指令:LST SST SETC CLRC。 状态寄存器状态寄存器ST0和和ST1ST0ST1OVC/OVCUPMNTCOVM D15D10 D9D7

26、 D6 D5 D4 D3 D2 D1 D0ARPMOM1MAP保留保留OBJMODE AMODESPA D7 D6 D5 D4 D3 D2 D1 D0XFIDLESTAT EALLOW LOOPVMAP PAGE0BGMVZCSXMD15D13 D12 D11 D10 D9 D8INTMCPU SARAM ROM EVA EVB SCI JTAG PIE SPI eCAN McBSP GPIO CPU SARAM ROM EVA EVB SCI JTAG PIE SPI eCAN McBSP GPIO BGA LQFP PBK BGA RISC ALU ARAU DT-DMA MPY XT P

27、 ACC PABBGA LQFP PBK BGA RISC ALU ARAU DT-DMA MPY XT P ACC PABDRAB DWAB PRDB DRDB DWDB AH AL XAR AR DP IFR IER DBGIERDRAB DWAB PRDB DRDB DWDB AH AL XAR AR DP IFR IER DBGIERPH PL PC RPC SP ST0 ST1 T TL OVM SXM TC C Z N V OVC PMPH PL PC RPC SP ST0 ST1 T TL OVM SXM TC C Z N V OVC PMSUB ARP XF MAP OBJMODE AMODEIDLESTART FALLOW LOOP SPASUB ARP X

温馨提示

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

评论

0/150

提交评论