硬件结构A学习.pptx

上传人:莉*** 文档编号:88402627 上传时间:2023-04-26 格式:PPTX 页数:198 大小:2.53MB
返回 下载 相关 举报
硬件结构A学习.pptx_第1页
第1页 / 共198页
硬件结构A学习.pptx_第2页
第2页 / 共198页
点击查看更多>>
资源描述

《硬件结构A学习.pptx》由会员分享,可在线阅读,更多相关《硬件结构A学习.pptx(198页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、图图2-1 TMS320VC5509A框框图图第1页/共198页2.1.1 C55x CPU内部总线结构l内部独立总线:12组u程序地址总线(PAB):1组,24位u程序数据总线(PB):1组,32位u数据读地址总线(BAB、CAB、DAB):3组,24位u数据读总线(BB、CB、DB):3组,16位u数据写地址总线(EAB、FAB):2组,24位u数据写总线(EB、FB):2组,16位。第2页/共198页2.1.2 C55x的CPU组成组成:3216位指令缓冲队列;指令译码器。功能:接收程序代码并放入指令缓冲队列;由指令译码器解释指令,再把指令流传给其它的工作单元l指令缓冲单元(I单元)l程

2、序流单元(P单元)l地址-数据流单元(A单元)l数据运算单元(D单元)l存储器接口单元(M单元)组成:程序地址发生器;程序控制逻辑功能:产生所有程序空间地址,并送到PAB总线组成:数据地址产生电路(DAGEN);附加16位ALU和1组寄存器功能:产生读/写数据空间地址,并送到BAB、CAB、DAB总线组成:1个40位的筒形移位寄存器(barrel shifter);2个乘加单元(MAC);1个40位的ALU;若干寄存器。功能:CPU中最主要的部分,是主要的数据处理部件 是CPU和数据空间或I/O空间之间传输所有数据的中间媒介 第3页/共198页2.1.3 C55x存储器配置l存储空间l支持的存

3、储器类型l特点 片内存储空间共有352KB(176K字);外部存储空间共有16MB(8M字)异步SRAM、EPROM;同步DRAM;同步突发SRAM采用统一的程序/地址空间存储空间;I/O空间与程序/地址空间分开存储器存储器5501550255035506550755095510ROM(KB)32326464646432RAM(KB)326464128128256320表2-1 C55x片内存储器配置第4页/共198页2.1.4 C55x外设配置l模数转换器(ADC)l可编程数字锁相环时钟发生器(DPLL)l指令高速缓存(I-Cache)l外部存储器接口(EMIF)l直接存储器访问控制器(DM

4、A)l多通道串行缓冲口(McBSP)10位,用于采集电压、面板旋钮的输入值VC5509A的时钟频率可达200MHz,最小机器周期为5ns1个可配置的24KB的存储器,可最小化对外部存储区的访问可以实现与各种存储器件无缝连接在无CPU涉入的情况下,允许数据在内部存储器和外部存储器、增强型主机接口(EHPI)之间传输为全双工串口,VC5509设有3个McBSP第5页/共198页l增强型主机接口(EHPI)l2个16位的通用定时/计数器l8个可配置的通用I/O引脚(GPIO)l实时时钟(Real Time Clock,RTC)l看门狗定时器(Watchdog Timer)lUSB 为16位并行接口,

5、用于提供主处理器对DSP上的内部存储器的访问,可被配置成复用或非复用形式提供一个时间参考,并能产生基于时间的报警来中断DSP可以在软件陷入循环有没有受控退出的情况下,防止 系统死锁目前VC5506、VC5507、VC5509各提供了1个USB接口,从机第6页/共198页表2-2 C55x片内外设配置 第7页/共198页2.2 C55x的封装和引脚功能 不同C55x芯片通常有不同封装为满足不同用途需求,C55x同一个芯片也往往有多种封装 本节以TMS320VC5509A PGE 封装为例讲述引脚配置及功能只给出VC5509A PGE引脚的定义和简要描述,详细描述请参考文献SPRS205J第8页/

6、共198页图2-2 TMS320VC5509A的封装(a)179脚脚BGA封封装装(底底视视图图)(b)144脚脚PGE封封装装(顶顶视视图图)第9页/共198页2.2.1 引脚属性表2-3 VC5509A PGE信号引脚对应图(1)第10页/共198页表2-3 VC5509A PGE信号引脚对应图(2)第11页/共198页表2-3 VC5509A PGE信号引脚对应图(3)第12页/共198页表2-3 VC5509A PGE信号引脚对应图(4)第13页/共198页2.2.2 引脚信号定义与描述并行总线引脚初始化、中断和复位引脚位输入/输出信号振荡器/时钟信号实时时钟I2C总线nMcBSP接口

7、nUSB接口nA/D接口n测试/仿真引脚n电源引脚第14页/共198页1.并行总线引脚lA13:0uC55x内核的并行地址总线A13A0的外部引脚。u3种功能:HPI地址线HPI.HA13:0EMIF地址总线EMIF.A 13:0通用输入输出GPIO.A 13:0 lD15:0uC55x内核的并行双向数据总线D31D0u2种功能:EMIF 数据总线 (EMIF.D15:0)HPI数据总线(HPI.HD15:0)第15页/共198页lC0:EMIF异步存储器读选通(EMIF.)或通用输入输出口8(GPIO.8)lC1:EMIF异步输出使能(EMIF.)或HPI中断输出(HPI.)lC2:EMIF

8、异步存储器写选通(EMIF.)或HPI读/写(HPI.)lC3:EMIF数据输入准备就绪(EMIF.ARDY)或HPI输出准备就绪(HPI.HRDY)第16页/共198页lC4:存储空间CE0的EMIF片选信号(EMIF.)或通用输入输出口9(GPIO.9)lC5:存储空间CE1的EMIF片选信号(EMIF.)或通用输入输出口10(GPIO.10)lC6:存储空间CE2的EMIF片选信号(EMIF.)或HPI访问控制信号0(HPI.HCNTL0)lC7:存储空间CE3的EMIF片选信号(EMIF.)或通用输入输出口11(GPIO.11)或HPI访问控制信号1(HPI.HCNTL1)第17页/共

9、198页lC8:EMIF字节使能控制0(EMIF.)或HPI 字节 辨识(HPI.)lC9:EMIF字节使能控制1(EMIF.)或HPI 字节 辨识(HPI.)lC10:EMIF SDRAM行选通信号(EMIF.)或HPI地址选通信号(HPI.)或通用输入输出口12(GPIO.12)第18页/共198页lC11:EMIF SDRAM列选通信号(EMIF.)或HPI片选输入信号(HPI.)lC12:EMIF SDRAM写使能信号(EMIF.)或HPI数据选通信号 1(HPI.)lC13:SDRAM A10地址线(EMIF.SDA10)或通用输入输出口13(GPIO.13)lC14:SDRAM存储

10、器时钟信号(EMIF.CLKMEM)或HPI数据选通信号2(HPI.)第19页/共198页2.初始化、中断和复位引脚l l 外部中断请求信号;为可屏蔽中断,并且可由中断使能寄存器(IER)和中断方式位屏蔽;可以通过中断标志寄存器(IFR)进行查询和复位复位信号,低电平有效;使DSP终止程序执行并且使程序计数器指向FF8000h处。当引脚电平为高时,从程序存储器FF8000h地址处开始执行;影响寄存器和状态位;此引脚需要外接上拉电阻第20页/共198页2.初始化、中断和复位引脚l l 外部中断请求信号;为可屏蔽中断,并且可由中断使能寄存器(IER)和中断方式位屏蔽;可以通过中断标志寄存器(IFR

11、)进行查询和复位复位信号,低电平有效;使DSP终止程序执行并且使程序计数器指向FF8000h处。当引脚电平为高时,从程序存储器FF8000h地址处开始执行;影响寄存器和状态位;此引脚需要外接上拉电阻第21页/共198页3.位输入/输出信号lGPIO7:6,4:0lXF可以配置为输入口或输出口;当配置为输出引脚时,可以单独置位或者复位;在复位时,被配置为输入引脚;复位完成后,在片bootloader采样GPIO3:0 决定启动方式。为输出信号,用于配置其它处理器的复用状态或者作为通用输出引脚;指令BSET XF可以使XF输出电平为高;指令BCLR XF 可以使XF输出电平为低;加载ST1.XF位

12、可以控制XF输出电平。第22页/共198页4.振荡器/时钟信号lCLKOUTlX2/CLKINl X1l TIN/TOUT0 时钟输出引脚;CLKOUT 周期为CPU的机器周期;当/OFF为低电平时,CLKOUT呈高阻状态时钟振荡器输入引脚;若使用内部时钟,用来外接晶体电路;若使用外部时钟,该引脚接外部时钟输入。由内部系统振荡器到晶体的输出引脚;若不使用内部振荡器时,X1引脚悬空;当/OFF为低,X1不会处于高阻状态定时器T0 输入/输出;当作为定时器T0的输出时,计数器减少到0,TIN/TOUT0 信号输出一个脉冲或者状态发生改变;当作为输入时,TIN/TOUT0为内部定时器模块提供时钟;复

13、位时,此引脚配置为输入引脚。只有定时器0 信号可以输出。定时器T1信号不能提供输出。第23页/共198页5.实时时钟lRTCINX1u实时时钟振荡器输入,32.768KHz。lRTCINX2u实时时钟振荡器输出。第24页/共198页6.I2C总线lSDAuI2C(双向)数据信号u复位时,此引脚处于高阻状态。lSCLuI2C(双向)时钟信号u复位时,此引脚处于高阻状态。第25页/共198页7.McBSP接口 VC5509A共有3个McBSP接口,其中McBSP1与McBSP2为多功能口。lCLKR0lDR0lFSR0lCLKX0lDX0lFSX0McBSP0串行接收器的串行移位时钟McBSP0数

14、据接收信号McBSP0接收帧同步信号,初始化DR0的数据接收McBSP0发送时钟信号,为串行发送器的串行发送时钟。McBSP0数据发送信号。McBSP0发送帧同步信号,初始化DX0的数据发送。第26页/共198页lS10lS11lS12lS13lS14lS15McBSP1 接收时钟信号或者MMC/SD1的命令/响应信号;复位时被配置为McBSP1.CLKRMcBSP1 数据接收信号或者SD1的数据信号1;复位时被配置为McBSP1.DRMcBSP1接收帧同步信号或者SD1的数据信号2;复位时被配置为McBSP1.FSRMcBSP1数据发送信号或者MMC/SD1串行时钟信号;复位时被配置为McB

15、SP1.DXMcBSP1发送时钟信号或MMC/SD1数据信号0;复位时被配置为McBSP1.CLKXMcBSP1发送帧同步信号或者SD1数据信号3;复位时被配置为McBSP1.FSX第27页/共198页lS20lS21lS22lS23lS24lS25McBSP2 接收时钟信号或者MMC/SD2的命令/响应信号;复位时被配置为McBSP2.CLKRMcBSP2 数据接收信号或者SD2的数据信号1;复位时被配置为McBSP2.DRMcBSP2接收帧同步信号或者SD2的数据信号2;复位时被配置为McBSP2.FSRMcBSP2数据发送信号或者MMC/SD2串行时钟信号;复位时被配置为McBSP2.D

16、XMcBSP2发送时钟信号或MMC/SD2数据信号0;复位时被配置为McBSP2.CLKXMcBSP2发送帧同步信号或者SD2数据信号3;复位时被配置为McBSP2.FSX第28页/共198页8.USB接口lDPu差分数据接收/发送(正向)u复位时,此引脚配置为输入端lDNu差分数据接收/发送(负向)u复位时,此引脚配置为输入端lPU:上拉输出u用于上拉USB模块需要的检测电阻u通过一个软件控制开关(USBCTL寄存器的CONN位),此引脚在VC5509内部与USBVDD连接第29页/共198页9.A/D接口lAIN0:模拟输入通道0lAIN1:模拟输入通道1 注意:VC5509A PGE有2

17、个 10位 A/D 接口;VC5509A BGA有4个 10位 A/D 接口.第30页/共198页10.测试/仿真引脚lTCK:IEEE 标准 1149.1 测试时钟输入引脚。lTDI:IEEE 标准1149.1测试数据输入信号。lTDO:IEEE 标准1149.1测试数据输出信号。lTMS:IEEE 标准1149.1测试方式选择信号。l/TRST:IEEE 标准1149.1测试复位信号。lEMU0:仿真器中断0引脚。lEMU1/OFF第31页/共198页11.电源引脚l 数字电源,+1.6V,专为CPU内核提供电源。l 数字电源,+3.3V,为I/O引脚提供电源。l 数字电源,+3.3V,专

18、为USB 模块的I/O引脚(DP,DN 和PU)提供电源。第32页/共198页l 数字电源,+1.6V。专为USB PLL提供电源。l 数字电源,+3.3V。专为RTC模块的I/O引脚提供电源。l 数字电源,+1.6V。专为RTC模块提供电源。第33页/共198页l 数字地。l 模拟电源,专为10位 A/D模块提供电源。l 模拟地,10位 A/D内核部分接地引脚。l 模拟数字地,10位 A/D模块的数字部分接地引脚。l 数字地,用于USB PLL。第34页/共198页2.3 C55x的CPU结构 存储器接口单元(M单元)指令缓冲单元(I单元)程序流单元(P单元)地址数据流单元(A单元)数据计算

19、单元(D单元)内部地址总线与数据总线第35页/共198页图2-3 C55x的CPU结构框图第36页/共198页地址总线与数据总线lC55x的CPU总线u1组32位程序总线:PBu5组16位数据总线:BB、CB、DB、EB、FBu6组24位地址总线:PAB、BAB、CAB、DAB、EAB、FABl特点:这种总线并行机构使CPU在一个机器周期内,能够读1次32位程序代码、读3次16位数据、写2次24位地址第37页/共198页地址总线与数据总线PAB:24bit 读程序地址总线,传送24位程序代码地址;PB:32bit 读程序数据总线,传送32位程序代码;第38页/共198页地址总线与数据总线BAB

20、/CAB/DAB:24bit读数据地址总线,分别与16bit读数据总线BB/CB/DB对应;BB:只与D单元相连,实现从存储器到D单元的MAC的数据传送;CB/DB:传送单操作数(16bit)使用DB总线;传送双操作数或长类型操作数使用DB和CB总线,CB传送高16bit第39页/共198页地址总线与数据总线EAB/FAB:24bit写数据地址总线,与16bit 写数据总线EB/FB对应;EB:写单操作数时使用;FB:写双操作数或长类型数据时使用,传送高16bit。第40页/共198页表2-4 地址总线和数据总线的功能第41页/共198页表2-5 各种访问类型下总线的使用(1)第42页/共19

21、8页表2-5 各种访问类型下总线的使用(2)第43页/共198页2.3.1 存储器接口单元(M单元)l内部数据流、指令流接口l管理所有来自CPU、数据空间或I/O空间的数据和指令l负责CPU和数据空间以及或CPU和I/O空间的数据传输第44页/共198页2.3.2 指令缓冲单元(I单元)图2-4 I单元结构框图每个机器周期,PB从程序空间传送32位的程序代码至I单元的指令缓冲队列;最大可以存放64个字节的待译码指令,可以执行块循环指令,具有对于分支、调用和返回指令的随机处理能力当CPU准备译码时,6个字节的代码从队列发送到I单元的指令译码器;能够识别指令边界,译码8、16、24、32、40和4

22、8位的指令,决定2条指令是否并行执行,将译码结果和立即数送至P单元、A单元、D单元第45页/共198页2.3.3 程序流单元(P单元)图2-5 P单元结构框图程序地址产生逻辑:产生24位的程序空间取指的地址;可产生顺序地址;也可以I单元的立即数或D单元的寄存器值作为地址程序控制逻辑:接收来自I单元的立即数,并测试来自A单元或D单元的结果从而执行如下动作:测试条件执行指令的条件是否成立,把测试结果送程序地址发生器;当中断被请求或使能时,初始化中断服务程序;控制单一指令重复或块指令重复;管理并行执行的指令P单元的作用:产生程序空间地址,并加载地址到PAB;控制指令流顺序第46页/共198页2.3.

23、4 地址数据流单元(A单元)图2-6 A单元结构框图 DAGEN产生所有读写数据空间的地址。可接收来自I单元的立即数或来自A单元的寄存器值;根据P单元指示,对间接寻址方式时选择使用线性寻址还是循环寻址。ALU可接收来自I单元的立即数或与存储器、I/O空间、A单元寄存器、D单元寄存器和P单元寄存器进行双向通信。可完成如下动作:加法、减法、比较、布尔逻辑、符号移位、逻辑移位和绝对值计算;测试、设置、清空、求补A单元寄存器位或存储器位域;改变或转移寄存器值,循环移位寄存器值,从移位器向一个A单元寄存器送特定值。第47页/共198页2.3.5 数据计算单元(D单元)图2-7 D单元结构框图 接收来自I

24、单元的立即数,与存储器、I/O空间、D单元寄存器、P单元寄存器、A单元寄存器进行双向通信;把移位结果送至D单元的ALU或A单元的ALU;实现40位累加器值最大左移31位或最大右移32位;实现16位寄存器、存储器或I/O空间数据最大左移31位或最大右移32位;实现16位立即数最大左移15位;提取或扩张位域,执行位计数;对寄存器值进行循环移位;在累加器的值存入数据空间之前,对它们进行取整/饱和处理。可从I单元接收立即数,或与存储器、I/O空间、D单元寄存器、P单元寄存器、A单元寄存器进行双向通信,还可接收移位器的结果;加法、减法、比较、取整、饱和、布尔逻辑以及绝对值运算;在执行一条双16位算术指令

25、时,同时进行两个算术操作;测试、设置、清除以及求D单元寄存器的补码;对寄存器的值进行移动。可支持乘法和加/减法。在单个机器周期内,每个MAC可以进行一次1717位小数或整数乘法运算和一次带有可选的32或40位饱和处理的40位加/减法运算。MAC的结果送累加器;MAC接收来自I单元的立即数,或来自存储器、I/O空间、A单元寄存器的数据,和D单元寄存器、P单元寄存器进行双向通信;MAC的操作会影响P单元状态寄存器的某些位。第48页/共198页2.3.7 指令流水线 C55x的指令流水线分为两个阶段:第一阶段取指阶段:从存储器取来32位指令包,将其存入指令缓冲队列(IBQ)中,并送48位指令包给第二

26、流水阶段第二阶段执行阶段:对指令进行译码,并完成数据访问和计算。1.概况:第49页/共198页表2-6 取指阶段流水线的意义图2-8 指令流水线(取指阶段)2.取指阶段第50页/共198页图2-9 指令流水线(执行阶段)3.执行阶段第51页/共198页表2-7 执行阶段流水线的意义(1)第52页/共198页表2-7 执行阶段流水线的意义(2)第53页/共198页2.4 CPU寄存器lC55x的寄存器(见表2-8)lC55x寄存器的映射地址及描述(见表2-9)2.4.1 概况 注意事项:ST0_55、ST1_55和ST3_55都有两个访问地址;T3、RSA0L、REA0L和SP有两个访问地址;任

27、何装入BRC1的指令将相同的值装入BRS1。对于ST0_55、ST1_55和ST3_55,对于其中一个地址,所有的C55x位均可访问;在另外一个地址(称为保护地址),某些保护位不能被修改。保护地址是为了提供对C54x代码的支持,以便写入ST0、ST1以及PMST(C54x对应ST3_55)对于T3、RSA0L、REA0L和SP,当使用DP直接寻址方式访问存储器映射寄存器时,将访问两个地址中更高的地址,即 T3=23H(不是0EH);RSA0L=3DH(不是1BH);REA0L=3FH(不是1CH);SP=4DH(不是18H)第54页/共198页表2-8 寄存器总表(1)缩 写名 称大小AC0A

28、C3累加器0340位AR0AR7辅助寄存器0716位BK03,BK47,BKC循环缓冲区大小寄存器16位BRC0,BRC1块循环计数器0和116位BRS1BRC1保存寄存器16位BSA01,BSA23,BSA45,BSA67,BSAC循环缓冲区起始地址寄存器16位CDP系数数据指针(XCDP的低位部分)16位CDPHXCDP的高位部分7位CFCT控制流关系寄存器8位CSR计算单循环寄存器16位DBIER0,DBIER1调试中断使能寄存器0和116位DP数据页寄存器(XDP的低位部分)16位DPHXDP的高位部分7位IER0,IER1中断使能寄存器0和116位IFR0,IFR1中断标志寄存器0和

29、116位IVPD,IVPH中断向量指针16位第55页/共198页表2-8 寄存器总表(2)PC程序计数器24位PDP外设数据页寄存器9位REA0,REA1块循环结束地址寄存器0和124位RETA返回地址寄存器24位RPTC单循环计数器16位RSA0,RSA1块循环起始地址寄存器0和124位SP数据堆栈指针16位SPHXSP和XSSP的高位7位SSP系统堆栈指针16位ST0_55ST3_55状态寄存器0316位T0T3暂时寄存器16位TRN0TRN1变换寄存器0和116位XAR0XAR7扩展辅助寄存器0723位XCDP扩展系数数据指针23位XDP扩展数据页寄存器23位XSP扩展数据堆栈指针23位

30、XSSP扩展系统堆栈指针23位第56页/共198页表2-9 存储器映射寄存器(1)第57页/共198页表2-9 存储器映射寄存器(2)第58页/共198页表2-9 存储器映射寄存器(3)第59页/共198页表2-9 存储器映射寄存器(4)第60页/共198页表2-9 存储器映射寄存器(5)第61页/共198页表2-9 存储器映射寄存器(6)第62页/共198页表2-9 存储器映射寄存器(7)第63页/共198页表2-9 存储器映射寄存器(8)第64页/共198页表2-9 存储器映射寄存器(9)第65页/共198页2.4.2 累加器(AC0AC3)lC55x的CPU包括4个40位的累加器AC0、

31、AC1、AC2、AC3lAC0、AC1、AC2、AC3等价。任何一条使用一个累加器的指令,都可以通过编程来使用4个累加器中的任何一个l在C54x兼容模式(C54CM=1)下,累加器AC0、AC1分别对应于C54x里的累加器A、B l 每个累加器分为低字(ACxL)、高字(ACxH)和8个保护位(ACxG),用户可以使用访问存储器映射寄存器的寻址方式,分别访问这3部分 第66页/共198页2.4.3 变换寄存器TRN0、TRN1lC55x有2个变换寄存器TRN0、TRN1l用途:在比较-选择-极值指令里使用u比较两个累加器的高段字和低段字后,执行选择两个16位极值的指令,以更新TRN0和TRN1

32、。比较累加器的高段字后更新TRN0,比较累加器的低段字后更新TRN1u在比较完两个累加器的全部40位后,执行选择一个40位极值的指令,以更新被选中的变换寄存器(TRN0或TRN1)第67页/共198页2.4.4 T寄存器(T0-T3)l用途u存放乘法、乘加以及乘减运算里的一个乘数u存放D单元里加法、减法和装入运算的移位数u用交换指令交换辅助寄存器(AR0-AR7)和T寄存器中的内容时,跟踪多个指针值u在D单元ALU里作双16位运算时,存放Viterbi蝶形的变换尺度l CPU包括4个16位通用T寄存器:T0、T1、T2、T3第68页/共198页2.4.5 用作数据地址空间和I/O空间的寄存器

33、表2-10 用作数据地址空间和I/O空间的寄存器第69页/共198页1.辅助寄存器(XAR0XAR7/AR0AR7)低字的作用:用于AR间接寻址模式,以及双AR间接寻址模式。提供7位数据页内的16位偏移量(形成一个23位地址);存放位地址;作为通用寄存器或计数器。高7位用于指定要访问数据空间的数据页访问属性:XARn只能用专用指令访问;ARn可用专用指令访问,也可以作为存储器映射寄存器访问;ARnH不能单独访问,必须通过访问XARn来访问ARnH第70页/共198页lCPU在存储器中映射了一个系数数据指针(CDP)和一个相关的扩展寄存器(CDPH):2.系数数据指针(XCDP/CDP)第71页

34、/共198页lCPU可以连接这个寄存器形成一个扩展系数数据指针(XCDP)u高7位(CDPH)用于指定要访问数据空间的数据页u低字(CDP)用来作为16位偏移量与7位数据页形成一个23位地址 第72页/共198页lXCDP或CDP用在CDP间接寻址方式和系数间接寻址方式中,CDP可用于任何指令中访问一个单数据空间值,在双MAC指令中,它还可以独立地提供第三个操作数。表2-12 XCDP的访问属性 第73页/共198页3.循环缓冲区首地址寄存器lCPU有5个16位的循环缓冲区首地址寄存器:BSA01,BSA23,BSA45,BSA67,BSACl作用:定义循环的首地址l每个循环缓冲区首地址寄存器

35、与一个或两个特殊的指针相关联第74页/共198页4.循环缓冲区大小寄存器l三个16位的循环缓冲区大小寄存器(BK03,BK47,BKC)l 用途:指定循环缓冲区大小(最大为65535)l每个循环缓冲区大小寄存器与一个或四个特殊的指针相关联第75页/共198页5.数据页寄存器(XDP/DP)lCPU在存储器中映射了一个数据页寄存器(DP)和一个相关的扩展寄存器(DPH)第76页/共198页lCPU连接这两个寄存器形成一个扩展数据页寄存器(XDP)uDPH指定要访问数据空间的7位数据页u低字(DP)用来代表一个16位偏移地址第77页/共198页l用途:u在基于DP的直接寻址方式中,XDP指定23位

36、地址u在k16绝对寻址方式中,DPH与一个16位的立即数连接形成23位地址表2-15 XDP寄存器的访问属性第78页/共198页6.外设数据页指针(PDP)l对于PDP直接寻址方式,9位的外设数据页指针(PDP)选择64K字I/O空间中的一个128字页面第79页/共198页7.堆栈指针(XSP/SP,XSSP/SSP)l有关堆栈指针u数据堆栈指针(SP)u系统堆栈指针(SSP)u相关扩展寄存器(SPH)第80页/共198页l当访问数据堆栈时,CPU连接SPH和SP形成一个扩展的堆栈指针(XSP),指向最后压入数据堆栈的数据uSPH代表7位数据页uSP指向页中某个具体地址l当访问系统堆栈时,CP

37、U连接SPH和SSP形成一个扩展的堆栈指针(XSSP),指向最后压入系统堆栈的数据第81页/共198页表2-16 堆栈指针的访问属性第82页/共198页2.4.6 程序流寄存器(PC、RETA、CFCT)l程序流寄存器(3个)寄存器寄存器描描 述述PCPC2424位的程序计数器。存放位的程序计数器。存放I I单元里解码的单元里解码的1616字节代码的地址字节代码的地址.当当CPUCPU执执行中断或调用子程序时,当前的行中断或调用子程序时,当前的PCPC值(返回地址)存起来,然后把新值(返回地址)存起来,然后把新的地址装入的地址装入PCPC。当。当CPUCPU从中断服务或子程序返回时,返回地址重

38、新装从中断服务或子程序返回时,返回地址重新装入入PCPCRETARETA返回地址寄存器。如果所选择的堆栈配置使用快速返回,则在执行子返回地址寄存器。如果所选择的堆栈配置使用快速返回,则在执行子程序时,程序时,RETARETA就作为返回地址的暂存器。就作为返回地址的暂存器。RETARETA和和CFCTCFCT一起,高效执行一起,高效执行多层嵌套的子程序。可用专门的多层嵌套的子程序。可用专门的3232位装入和存储指令,成对地读写位装入和存储指令,成对地读写RETARETA和和CFCTCFCTCFCTCFCT控制流关系寄存器。控制流关系寄存器。CPUCPU保存有激活的循环记录(循环的前后关系)。保存

39、有激活的循环记录(循环的前后关系)。如果选择的堆栈配置使用快速返回,则在执行子程序时,如果选择的堆栈配置使用快速返回,则在执行子程序时,CFCTCFCT就作为就作为8 8位循环关系的暂存器。位循环关系的暂存器。RETARETA和和CFCTCFCT一起,高效执行多层嵌套的子程一起,高效执行多层嵌套的子程序。可用专门的序。可用专门的3232位位 装入和存储指令,成对地读写装入和存储指令,成对地读写RETARETA和和CFCT CFCT 第83页/共198页lCFCT寄存器 CPU由内部位按照一定规则来存放循环的前后关系,即子程序里循环的状态(激活和未激活)u当CPU执行中断或调用子程序时,循环关系

40、位就存放在CFCT里u当CPU从中断或调用子程序返回时,循环关系位就从CFCT恢复第84页/共198页表2-18 CFCT各位的含义第85页/共198页2.4.7 中断管理寄存器表2-19 中断管理寄存器 第86页/共198页1.中断向量指针(IVPD,IVPH)lDSP中断向量指针(IVPD)l主机中断向量指针(IVPH)16位,指向256字节的程序空间中的中断向量表(IV0IV15和IV24IV31),这些中断向量供DSP专用16位,指向256字节的程序空间中的中断向量表(IV16 IV23),这些中断向量供DSP和主机共享使用 说明:如果IVPD和IVPH的值相同,所有中断向量可能占有相

41、同的256字节大小的程序空间;DSP硬件复位时,IVPD和IVPH都被装入到FFFFH地址处;IVPD和IVPH均不受软复位的影响 第87页/共198页表2-20 中断向量地址 在修改IVP之前应确保:INTM=1,即所有可屏蔽中断不能响应。每个硬件不可屏蔽中断对于原来的IVPD和修改后的IVPD都有一个中断向量和中断服务程序。由16位的中断向量指针加上一个5位的中断编号后左移3位组成一个24位的中断地址。第88页/共198页2.中断标志寄存器(IFR0,IFR1)第89页/共198页表2-21 中断标志寄存器IFR1表2-22 中断标志寄存器IFR0第90页/共198页16位的中断标志寄存器

42、IFR0和IFR1包括所有可屏蔽中断的标志位当一个可屏蔽中断向CPU提出申请时,IFR中相应的标志位置1,等待CPU应答中断可以通过读IFR标志已发送申请的中断,或写1到IFR相应的位撤销中断申请,即写入1清相应位为0中断被响应后将相应位清0,器件复位将所有位清0第91页/共198页3.中断使能寄存器(IER0,IER1)第92页/共198页表2-23 中断使能寄存器IER1表2-24 中断使能寄存器IER0 第93页/共198页通过设置IER0、IER1的位为 1,打开相应的可屏蔽中断 0,关闭相应的可屏蔽上电复位时,将所有IER位清0。ER0、IER1不受软件复位指令和DSP热复位的影响,

43、在全局可屏蔽中断使能(INTM=1)之前应初始化它们。第94页/共198页4.调试中断使能寄存器(DBIER0,DBIER1)l仅当CPU工作在 实时 仿真模式 调试 暂停 时,这两个16位的调试中断使能寄存器才会使用l如果CPU工作在实时方式下,DBIER0、DBIER1将被忽略第95页/共198页2.4.8 循环控制寄存器l单循环指令可以重复执行一个单周期指令或并行执行两个单周期指令,重复次数N被装在RPTC中,指令将被重复执行N+1次。l在一些无条件单指令循环操作中,可以使用CSR设置重复次数。1.单指令循环控制寄存器(RPTC,CSR)第96页/共198页2.块循环寄存器(BRC0,B

44、RC1,BRS1,RSA0,RSA1,REA0,REA1)l块循环指令可以实现2级嵌套,一个块循环(1级)嵌套在另一个块循环(0级)内部l当C54CM=0,即工作在C55x方式下,才实现2级嵌套u当无循环嵌套时,CPU使用0级寄存器u当出现循环嵌套时,CPU对于1级嵌套使用1级寄存器l当C54CM=1,即工作在C54x方式下u只能使用0级寄存器,通过借助块重复标志寄存器(BRAF)完成嵌套第97页/共198页表2-25 块循环寄存器第98页/共198页2.4.9 状态寄存器ST0_55 ST0_55(以及ST1_55和ST3_55)有两个访问地址。所有位都可以由第一个地址访问,而在另一个地址(

45、保护地址)里,加黑部分不能修改;保护地址是为了支持把C54x的代码写入ST0、ST1和PMST第99页/共198页1.累加器溢出标志(ACOV0,ACOV1,ACOV2,ACOV3)l当累加器AC0、AC1、AC2或AC3有数据溢出时,相应的ACOV0、ACOV1、ACOV2或ACOV3被置1,直到发生以下任一事件:u复位uCPU执行条件跳转、调用、返回,或执行一条测试ACOVx状态的指令u被指令清0l溢出方式受M40位的影响u当M40=0时,溢出检测在第31位,与C54x兼容u当M40=1时,溢出检测在第39位第100页/共198页2.进位位(CARRY)l进位/借位的检测取决于M40位u当

46、M40=0时,由第31位检测进位/借位u当M40=1时,由第39位检测进位/借位l当D单元ALU做加法运算时,若产生进位,则置位CARRY;如果不产生进位时,则将CARRY清0例外:使用以下语句(将Smem移动16位),有进位时置位CARRY,无进位时不清0。ADD Smem#16,ACx,ACy第101页/共198页l当D单元ALU做减法运算时u若产生借位,将CARRY清0。u如果不产生借位,则置位CARRY。例外:使用以下语句(将Smem移动16位),有借位时 CARRY 清0,无借位时CARRY不变。SUB Smem#16,ACx,ACylCARRY位可以被逻辑移位指令修改。对带符号移位

47、指令和循环移位指令,可以选择CARRY位是否需要修改第102页/共198页l目的寄存器是累加器时,用以下指令修改CARRY位,以指示计算结果MIN src,dstMAXsrc,dstABSsrc,dstNEGsrc,dstl可以通过下面两条指令对CARRY清零和置位:BCLRCARRY ;清零BSETCARRY ;置位第103页/共198页3.DP位域lDP位域u占据ST0_55的第80位u提供与C54x兼容的数据页指针lC55x有一个独立的数据页指针DPuDP(157)的任何变化都会反映在ST0_55的DP位域上。u基于DP的直接寻址方式,C55x使用完整的数据页指针DP(150),因此不需

48、要使用ST0_55的DP位域。l如果想装入ST0_55,但不想改变DP位域的值,可以用OR或AND指令。第104页/共198页l所有能影响一个测试/控制位的指令,都可以选择影响TC1还是TC2lTCx或关于TCx的布尔表达式,都可以在任何条件指令里用作触发器l可以通过下面指令对TCx置位和清零:BCLR TC1 ;TC1清零BSET TC1 ;TC1置位BCLR TC2 ;TC2清零BSET TC2 ;TC2置位4.测试/控制位(TC1,TC2)测试/控制位用于保存一些特殊指令的测试结果,使用要点如下:第105页/共198页2.4.10 状态寄存器ST1_55第106页/共198页l如果C54

49、CM=0C55x忽略ASM,C55x移位指令在暂存寄存(T0T3)里指定累加器的移位值,或者直接在指令里用常数指定移位值。l如果C54CM=1 C55x以兼容方式运行C54x代码,ASM用于给出某些C54x移位指令的移位值,移位范围-1615。1.ASM位第107页/共198页l如果C54CM=0,C55x不使用BRAF。l如果C54CM=1,C55x以兼容方式运行C54x代码,BRAF用于指定或控制一个块循环操作的状态。u在由调用、中断或返回引起的代码切换过程中,都要保存和恢复BRAF的值。u当执行远程跳转(FB)或远程调用(FCALL)指令时,BRAF自动清零。2.BRAF位第108页/共

50、198页l如果C54CM=0,C55x忽略C16 指令本身决定是用单32位操作还是双16位操作。l如果C54CM=1,C55x以兼容方式运行C54x代码,C16会影响某些指令的执行。u当C16=0时,关闭双16位模式,D单元ALU执行一条指令是以单32位操作(双精度运算)形式u当C16=1时,打开双16位模式,D单元ALU执行一条指令是以两个并行的16位操作(双16位运算)形式3.C16位第109页/共198页l如果C54CM0,C55x CPU不支持C54x代码l如果C54CM1,C55x的CPU支持C54x编写的代码u在使用C54x代码时就必须置位该模式,所有C55x CPU的资源都可以使

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁