CPU内部结构与时钟系统.ppt
《CPU内部结构与时钟系统.ppt》由会员分享,可在线阅读,更多相关《CPU内部结构与时钟系统.ppt(101页珍藏版)》请在三一办公上搜索。
1、DSP原理与应用技术,第二章 CPU内部结构与时钟系统,学习要点,1.CPU的组成结构和总线类型2.CPU寄存器及其作用3.CPU时钟类型及使用方法4.看门狗模块的作用及使用方法5.程序流的种类,2.1中央处理单元CPU 概述,在TMS320C2000系列中,CPU内核为:C20 x/C24xC240 xC27x/C28x TMS320C28x系列芯片有3个主要组成部分:中央处理单元CPU存储器片内外设TMS320C28x系列芯片的功能框图,C281x Block Diagram,32x32 bitMultiplier,SectoredFlash128K16b,A(18-0),D(15-0),
2、Program Bus,Data Bus,RAM18K16b,BootROM 4K16b,22,32-bitAuxiliaryRegisters,332 bit Timers,RealtimeJTAG,CPU,Register Bus,R-M-WAtomicALU,PIE Interrupt Manager,32,32,32,EventManager A,EventManager B,12-bit ADC,Watchdog,McBSP,CAN2.0B,SCI-A,SCI-B,SPI,GPIO,片内外设,L0,L1:4K16bH0:8K16bMO,M1:1K16b,3个32位定时器T0,T1,T
3、2,外部中断扩展模块,支持96个中断,只使用45个,2个事件管理器其中的PWM单元,用于电机控制,16通道,分辨率为12位的模数转换模块,作用是防止程序跑飞或进入死循环,,多通道缓冲串行接口,增强型局域网络,串行通信接口,串行外围接口,通用并行接口,支持片上调试功能,TMS320C28x的CPU是一种低功耗的32位定点数字信号处理器,集中了数字信号处理器和微控制器的诸多优秀特性。采用改进型哈佛结构和循环寻址方式,精简指令集RISC(Reduction Instruction Set Computer)、支持字节的组合与拆分、位操作等。改进型哈佛结构可以并行地执行指令和读取数据。,2.1中央处理
4、单元CPU 概述,2.1.1 兼容性TMS320C2000系列CPU的硬件结构有一定差别,指令集也不相同,但是,在C28x芯片中可以通过选择兼容特性模式,使C28xCPU与C27xCPU及C2xLP CPU具有最佳兼容性。C28x芯片具有3种操作模式:C27x目标-兼容模式C28x模式C2xLP源-兼容模式,2.1中央处理单元CPU 概述,C28x模式:在该模式中,用户可以使用C28x的所有有效特性、寻址方式和指令系统,因此,一般应使C28x芯片工作于该种模式。C27x目标兼容模式:在复位时,C28x的CPU处于C27x目标-兼容模式。在该模式下,目标码与C27xCPU完全兼容,且它的循环计数
5、也与C27xCPU兼容。C2xLP源兼容模式:该模式允许用户运行C2xLP的源代码,这些源代码是用C28x代码生成工具编译生成的。,2.1中央处理单元CPU 概述,可通过状寄存器STl(P38)的位OBJMODE(D9)和位AMODE(D8)组合,选定模式。,2.1中央处理单元CPU 概述,2.1.2 CPU组成及特性1.CPU的组成,CPU,仿真逻辑,存储器接口信号,时钟和控制信号,复位和中断信号,仿真信号,产生数据和程序存储地址:编码和运行指令;执行算术、逻辑和移位操作;控制寄存器阵列内的数据转移、数据存储和程序存储等。,监视和控制DSP芯片内不同部件的工作,并且测试设备的操作情况。,2.
6、1中央处理单元CPU 概述,2.CPU的主要特征(1)保护流水线(Pretected pipeline):CPU具有八级流水线,可以避免从同一地址进行读写而造成的秩序混乱。(2)独立寄存器空间(Independent register space):在CPU中含有一些被映像至数据空间的寄存器。这些寄存器可以作为系统控制寄存器、数学寄存器和数据指针。系统控制寄存器可由特殊的指令进行操作,而其他寄存器则通过特殊指令或寄存器寻址模式来操作。,2.1中央处理单元CPU 概述,(3)算术逻辑单元ALU(Arithmetic Logic Unit):32位的ALU完成二进制补码算术和布尔逻辑操作。(4)地
7、址寄存器算术单元ARAU(Address Register Arithmetic Uint):ARAU产生数据存储地址以及与ALU并行操作的增量和减量指针。(5)循环移位器(Barrel shifter):执行最多16位的数据左移位和右移位操作。(6)乘法器(Multiplier):执行32位32位的二进制补码乘法运算,获得64位的乘积。乘法可以在有符号数和无符号数之间进行。,2.1中央处理单元CPU 概述,2.1.3 CPU信号CPU有4种主要信号(1)存储器接口信号(Memory-interface signals):这些信号在CPU、存储器和外围设备之间进行数据传送;进行程序存储器的访问
8、和数据存储器的存取;并能根据不同的字段长度区分不同的存取操作(16位或32位)。(2)时钟和控制信号(Clock and control signaks):这些信号为CPU和仿真逻辑提供时钟,它们可以用来监视和控制CPU。,2.1中央处理单元CPU 概述,(3)复位和中断信号(Reset and interrupt signals):这些信号用来产生硬件复位和中断,并用来监视中断的状态。(4)仿真信号(Emulation signals):这些信号用来仿真和调试。,2.1中央处理单元CPU 概述,2.2 CPU的结构及总线,2.2.1 CPU结构CPU的主要单元有:(1)程序和数据控制逻辑:用
9、来存储从程序存储器中取出的指令队列(2)实时仿真逻辑:实现可视化操作(3)地址寄存器算术单元ARAU:为从数据存储器中取出的值分配地址。对于数据读操作,它把地址放在数据读地址总线DRAB上对于数据写操作,它把地址装入数据写地址总线DWAB上ARAU也可以改变SP和辅助寄存器XAR7XAR0的值,(4)算术逻辑单元ALU:32位的ALU可以完成二进制补码运算和布尔运算。运算之前,ALU从寄存器、数据存储器或程序控制逻辑中接收数据;运算之后,ALU将数据存入寄存器和数据存储器(5)预取队列和指令译码:(6)程序和数据地址发生器(7)定点乘法器:完成32位32位的二进制补码乘法运算,获得64位的乘积
10、。(8)中断处理,2.2 CPU的结构及总线,2.2.2 地址和数据总线存储器接口有3组地址总线:1PAB(Program Address Bus)程序地址总线:PAB用来传送来自程序空间的读/写地址。PAB是一个22位的总线。2DRAB(Data-Read Address Bus)数据读地址总线:32位的DRAB用来传送来自数据空间的读地址。,2.2 CPU的结构及总线,3DWAB(Data-Write Address Bus)数据写地址总线:32位的DWAB用来传送来自数据空间的写地址。存储器接口还有3组数据总线:1PRDB(Program-Read DataBus)程序读数据总线:PRD
11、B在读取程序空间时用来传送指令或数据。PRDB是一个32位的总线。,2.2 CPU的结构及总线,2DRDB(Data-ReadDataBus)数据读数据总线:DRDB在读取数据空间时用来传送数据。DRDB是一个32位的总线。3DWDB(DataProgram-WriteDataBus)数据程序写数据总线:32位的DWDB在对数据空间和程序空间写数据时用来传送数据。,2.2 CPU的结构及总线,C28x Internal Bus Structure,数据/写地址总线 DWAB-Data-write Address Bus(32位),程序地址总线PAB-Program Address Bus(22
12、位),Execution,R-M-WAtomicALU,Real-TimeEmulation&TestEngine,程序读数据总线 PRDB-Program-read Data Bus(32位),JTAG,Program,Decoder,PC,XAR0toXAR7,SP,ARAU,MPY32x32,XT,P,ACC,ALU,Registers,Debug,Register Bus/Result Bus,数据/程序写数据总线 DWDB-Data/Program-write Data Bus(32位),数据读地址总线 DRAB-Data-read Address Bus(32位),数据读数据总线
13、DRDB-Data-read Data Bus(32位),Memory,Data(4G*16),Program(4M*16),StandardPeripheralsExternalInterfaces,用于访问数据空间和程序空间的总线概况,不能同时操作,不能同时操作,2.2 CPU的结构及总线,注意:程序空间的读和写不能同时发生,因为它们都要使用程序地址总线PAB。程序空间的写和数据空间的写也不能同时发生,因为两者都要使用数据程序写数据总线DWDB。而运用不同总线的传输是可以同时发生的。如:CPU可以在程序空间完成读操作(使用PAB和PRDB),在数据空间完成读操作(使用DRAB和DRDB),
14、同时在数据空间进行写操作(使用DWAB和DWDB)。,2.2 CPU的结构及总线,2.3 CPU寄存器,2.3 CPU寄存器,2.3 CPU寄存器,2.3 CPU寄存器,2.3 CPU寄存器,2.3 CPU寄存器,2.3 CPU寄存器,2.3.1 累加器(ACC、AH、AL),累加器(ACC)是CPU的主要工作寄存器。除了那些对存储器和寄存器的直接操作外,所有的ALU操作结果最终都要送入ACC。ACC支持单周期数据传送、加法、减法和来自数据存储器的宽度为32位的比较运算,它也可以接受32位乘法操作的运算结果。对ACC可以单独进行16位8位的访问。,2.3.2 被乘数寄存器XT,被乘数寄存器XT
15、主要用于在32位乘法操作之前,存放一个32位有符号整数值。XT寄存器的低16位部分是TL寄存器。该寄存器能装载一个16位有符号数,能自动对该数进行符号扩展,然后将其送人32位XT寄存器。XT寄存器的高16位部分是T寄存器。该寄存器主要用来存储16位乘法操作之前的16位整数值。,T寄存器也可以为一些移位操作设定移位值,在这种情况下,根据指令,只可以使用T寄存器的一部分。ASRAX,T;完成一个基于T最低4位的算术右移,(D3D0)十进制数 015ASRLACC,T;完成一个基于T最低5位的算术右移,(D4D0)十进制数 031,2.3.2 被乘数寄存器XT,2.3.3 结果寄存器(P、PH、PL
16、),结果寄存器P主要用来存放乘法运算的结果。可以直接装入一个16位常数,或者从一个16位32位的数据存储器、16位32位的可寻址CPU寄存器以及32位累加器中读取数据。P寄存器可以作为一个32位寄存器或两个独立的16位寄存器:PH(高16位)和PL(低16位)来使用。,当通过一些指令存取P、PH、PL时,所有的32位数都要复制到ALU移位器中,执行左移、右移。指令的移位操作由状态寄存器ST0中的乘积移位模式为PM(Product shift mode)D9D7位来决定。,2.3.3 结果寄存器(P、PH、PL),2.3.4 数据页指针(DP),DP是16位寄存器,与6位偏移量构成数据页地址在直
17、接寻址模式中,对数据存储器的寻址要在64个字的数据页中进行,即一个页面为26=64个字数据存储器共有216=64K=65536个数据页,用0000HFFFFH(065535)进行标号组成26216=222=4M字的数据存储器在DP直接寻址模式下,16位的数据页指针(DP)保存了目前的数据页号。可以通过给DP赋新值去改变数据页号。,2.3.5 堆栈指针 SP,堆栈指针SP为16位,可以对数据空间的低64K(216)进行寻址。当使用SP时,将32位地址的高16位置为0(SP高16位不可操作)。复位后SP指向地址0000 0400H。堆栈操作说明如下:1.堆栈从低地址向高地址增长。2.SP总是指向堆
18、栈中的下一个空域。3.复位时,SP被初始化,它指向地址00000400H,4.将32位数值存入堆栈时,先存入低16位,然后将高16位存入下一个高地址中(低位在低地址,高位在高地址)。5当读写32位的数值时,C28x CPU期望存储器或外设接口逻辑把读/写排成偶数地址。例如,如果SP包含一个奇数地址0000 0083H,那么,进行一个32位的读操作时,将从地址0000 0082H和0000 0083H中读取数值。,2.3.5 堆栈指针 SP,6.如果增加SP的值,使它超过FFFFH,或者减少SP的值,使它低于0000H,则表明SP已经溢出。如果增加SP的值使它超过了FFFFH,它就会从0000H
19、开始计数。例如,如果SP=FFFEH而一个指令又向SP加3,则结果就是SP=00001H。当减少SP的值使它到达0000H,它就会重新从FFFFH计数。例如,如果SP=0002H而一个指令又从SP减4,则结果就是FFFEH。7.当数值存入堆栈时,SP并不要求排成奇数或偶数地址。排列由存储器或外设接口逻辑完成。,2.3.5 堆栈指针 SP,2.3.6 辅助寄存器XAR0XAR7、AR0AR7,CPU提供8个32位的辅助寄存器:XAR0、XARI、XAR2、XAR3、XAR4、XAR5、XAR6、XAR7。它们可以作为地址指针指向存储器,或者作为通用目的寄存器使用。许多指令可以访问XAR0-XAR
20、7的低16位,其中,辅助寄存器的低16位为AR0-AR7,它们用作循环控制和16位比较的通用目的寄存器。,当访问AR0-AR7时,寄存器的高16位(AR0H-AR7H)可能改变或不改变,这主要取决于所应用的指令。AR0H-AR7H只能作为XAR0-XAR7的一部分来读取,不能单独进行访问。,2.3.6 辅助寄存器XAR0XAR7、AR0AR7,2.3.7 程序指针PC,当流水线满的时候,22位的程序指针总是指向当前操作的指令,该指令刚刚到达流水线解码的第2阶段。一旦指令到达了流水线的第2阶段,它就不会再被中断从流水线中清除掉,而是在中断执行之前就被执行了。,2.3.8 返回程序寄存器RPC,R
21、PC存放LCR(长调用指令)指令的返回地址当通过LCR(长调用指令)指令执行一个调用操作时,返回地址存储在RPC寄存器中,RPC以前的值存在堆栈中(在两个16位的操作中)。当通过LRETR指令执行一个返回操作时,返回地址从RPC寄存器中读出,堆栈中的值被写回RPC寄存器(在两个16位的操作中)。其他的调用指令并不使用RPC寄存器。,2.3.9 中断控制寄存器 IFG、IER、DBGIER,C28x有3个寄存器用于控制中断:中断标志寄存器(IFR)、中断使能寄存器(IER)和调试中断使能寄存器(DBGIER)。IFR包含的标志位用于可屏蔽中断(可以用软件进行屏蔽)。当通过硬件或软件设定了其中某位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CPU 内部结构 时钟 系统
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5423834.html