CPU功能模块和时钟模块.ppt





《CPU功能模块和时钟模块.ppt》由会员分享,可在线阅读,更多相关《CPU功能模块和时钟模块.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3章章 TMS320LF240 xTMS320LF240 x的的CPUCPU功能模块和时钟模块功能模块和时钟模块 3.1 CPU3.1 CPU功能模块功能模块CPU模块包括:输入定标移位器、中央算术逻辑部分和乘法单元等。图3.1 CPU模块的功能结构3.1.1 3.1.1 输入定标移位器输入定标移位器该单元该单元将来自程序将来自程序/数据存储器的数据存储器的1616位数据位数据调调整为整为3232位数据送到中央算术逻辑单元位数据送到中央算术逻辑单元(CALU)CALU)。因此,输入定标移位器的。因此,输入定标移位器的1616位输位输入入与数据总线相连,与数据总线相连,3232位输出位输
2、出与与CALUCALU单元单元相连。相连。输入定标移位器输入定标移位器在在算术定标算术定标及及逻辑操作设置逻辑操作设置时时非常有用。非常有用。输入定标移位器对输入数据进行输入定标移位器对输入数据进行0 01515位左移位左移。左移时,输出的最低有效位。左移时,输出的最低有效位(LSBLSB)为)为0 0,最高有效位(,最高有效位(MSBMSB)根据)根据状态寄存器状态寄存器ST1ST1寄存器的寄存器的SXMSXM位位(符(符号扩展方式)的值号扩展方式)的值来决定是否进行来决定是否进行符号扩展符号扩展。当。当SXMSXM1 1时,则高位进行时,则高位进行符号扩展;当符号扩展;当SXMSXM0 0
3、时,则高位填时,则高位填0 0。移位的次数移位的次数由包含在指令中的由包含在指令中的常量常量或或临时寄存器临时寄存器(TREGTREG)中的值来指定。)中的值来指定。3.1.2 3.1.2 乘法单元乘法单元乘法单元主要由乘法单元主要由乘法器乘法器、乘积寄存器乘积寄存器以及以及乘乘积移位寄存器积移位寄存器组成。组成。16161616位的硬件乘法器位的硬件乘法器,单个机器周期内产,单个机器周期内产生一个生一个3232位的位的有符号有符号或或无符号无符号乘积。乘积。除了执行除了执行无符号乘法无符号乘法指令(指令(MPYUMPYU)外,所有)外,所有的乘法指令均执行有符号的乘法操作,的乘法指令均执行有
4、符号的乘法操作,即即相乘的两个数都作为二进制的补码数,而相乘的两个数都作为二进制的补码数,而运算结果为一个运算结果为一个3232位的二进制的补码数位的二进制的补码数。乘法器乘法器接收的接收的两个乘数两个乘数,一个来自,一个来自1616位的临时寄存器(位的临时寄存器(TREGTREG),另一个通过数),另一个通过数据读总线(据读总线(DRDBDRDB)取自数据存储器,或通过程序读总线()取自数据存储器,或通过程序读总线(PRDBPRDB)取自程序)取自程序存储器。存储器。相乘相乘后,后,3232位的乘积结果保存在位的乘积结果保存在乘积寄存器(乘积寄存器(PREGPREG)中。中。乘积移位寄存器乘
5、积移位寄存器对乘对乘积结果采用积结果采用4 4种种移位方式进行处理,并将结果送到移位方式进行处理,并将结果送到CALUCALU。TREG3.1.3 3.1.3 中央算术逻辑部分中央算术逻辑部分该部分主要由该部分主要由中央算术逻辑单元中央算术逻辑单元CALUCALU、累加器累加器和和输出定标移位器输出定标移位器组成。组成。1 1、中央算术逻辑单元、中央算术逻辑单元CALUCALUCALUCALU实现实现大部分大部分算术和逻辑运算功能算术和逻辑运算功能,大多数,大多数功能只需功能只需一个时钟周期一个时钟周期,这些,这些运算功能运算功能包括包括:加:加/减、布尔运算、位移位和位循减、布尔运算、位移位
6、和位循环等。环等。由于由于CALUCALU可以可以执行布尔运算执行布尔运算,因此使得控制器具有,因此使得控制器具有位操作位操作功能。功能。CALUCALU的的位位移位移位和和位循环位循环在累加器中完成。一旦操作在在累加器中完成。一旦操作在CALUCALU中执行完毕,运算结中执行完毕,运算结果会被传送到累加器中,在累加器中再实现如移位等附加操作。果会被传送到累加器中,在累加器中再实现如移位等附加操作。CALUCALU有两个输入,有两个输入,一个由一个由累加器累加器提供,另一个由提供,另一个由乘积移位寄存器乘积移位寄存器或或输入数输入数据定标移位器据定标移位器提供。提供。2 2 累加器(累加器(A
7、CC)ACC)当当CALUCALU中的运算完成后,其结果就被送至累加器,中的运算完成后,其结果就被送至累加器,并在累加器中执行单一的并在累加器中执行单一的移位或循环操作。移位或循环操作。累加器的累加器的高位字高位字和和低位字低位字中的中的任意一个任意一个可以被送至可以被送至输出数据定标移位器输出数据定标移位器,在,在此定标移位后,再保存于数据存储器。与累加器有关的此定标移位后,再保存于数据存储器。与累加器有关的状态位和转移指状态位和转移指令,令,位于位于状态寄存器状态寄存器ST0ST0和和ST1ST1中。中。进位标志位进位标志位C C溢出方式标志位溢出方式标志位OVMOVM溢出标志位溢出标志位
8、OVOV测试测试/控制标志位控制标志位TCTC3 3 输出数据定标移位器输出数据定标移位器输出数据定标移位器输出数据定标移位器的输入是的输入是累加器输出的累加器输出的3232位数据位数据,将累加器输出的内容,将累加器输出的内容左移左移0 07 7位,然后将移位器的高位字或低位字存到数据存储器中(用位,然后将移位器的高位字或低位字存到数据存储器中(用SACHSACH或或SACLSACL指令)。指令)。在此过程中,累加器的内容保持不变。在此过程中,累加器的内容保持不变。3.1.4 3.1.4 辅助寄存器算术单元(辅助寄存器算术单元(ARAUARAU)ARAUARAU完全独立于中央算术逻辑完全独立于
9、中央算术逻辑单元单元,图图3.23.2所示为所示为ARAUARAU和相和相关的逻辑。关的逻辑。ARAUARAU的的主要功能主要功能是在是在CALUCALU操作操作的同时的同时执行执行8 8个辅助寄存器个辅助寄存器AR7-AR0AR7-AR0中的算术运算中的算术运算,8 8个个辅助寄存器辅助寄存器提供了提供了强大而灵强大而灵活的间接寻址能力活的间接寻址能力。利用利用ARAUARAU中的中的1616位地址位地址可访问可访问数据存储器数据存储器64K64K字空间字空间的任的任一单元。一单元。图3.2 辅助寄存器算术单元ARAUARAUARAU的的8 8个辅助寄存器个辅助寄存器提供了提供了强大而灵活的
10、间接寻址能力强大而灵活的间接寻址能力。利用。利用辅助寄存器中的辅助寄存器中的1616位地址可访问数据存储器位地址可访问数据存储器64K64K字空间的任一字空间的任一单元。单元。ARAUARAU除可数据存储器的寻址外,还可用作它用:除可数据存储器的寻址外,还可用作它用:(1 1)通过)通过CMPRCMPR指令,利用辅助寄存器指令,利用辅助寄存器支持条件转移、调用和返支持条件转移、调用和返回回;(2 2)利用辅助寄存器作为)利用辅助寄存器作为暂存单元暂存单元;(3 3)利用辅助寄存器进行)利用辅助寄存器进行软件计数软件计数。根据需要将其加。根据需要将其加1 1或减或减1 1。3.1.5 3.1.5
11、 状态寄存器状态寄存器ST0ST0和和ST1 ST1 两个状态寄存器两个状态寄存器ST0ST0和和ST1ST1包含了包含了DSPDSP运行时的运行时的各种状态和控制位各种状态和控制位。ST0ST0和和ST1ST1对控制和编程很重要!对控制和编程很重要!ST0ST0ST1ST1两个寄存器的内容可两个寄存器的内容可被读出并保存到数据存储器被读出并保存到数据存储器(SSTSST指令指令),),或或从数据存储器读出加载到从数据存储器读出加载到ST0ST0和和ST1ST1(LSTLST指令指令),从而在子),从而在子程序调用或进入中断时实现程序调用或进入中断时实现CPUCPU各种状态的保存。各种状态的保
12、存。当采用当采用SETCSETC指令指令和和CLRCCLRC指令时,可对指令时,可对ST0ST0和和ST1ST1中的各个位单独置中的各个位单独置1 1或清或清0 0。ARPARP(位(位15-1315-13):辅助寄存器(辅助寄存器(ARAR)间接寻址的指针)间接寻址的指针,选择当前的选择当前的8 8个辅助个辅助寄存器寄存器ARAR中的一个中的一个。ST0ST0OVOV(位(位1212):溢出标志位溢出标志位。用以。用以指示指示CALUCALU中是否发生溢出中是否发生溢出,如溢出则该位保,如溢出则该位保持为持为1 1。OVMOVM(位(位1111):溢出方式标志位溢出方式标志位 0 0,累加器
13、中结果正常溢出。,累加器中结果正常溢出。1 1,根据溢出的情况,累加器被设定为它的最大正值或负值。,根据溢出的情况,累加器被设定为它的最大正值或负值。INTMINTM(位(位9 9):中断总开关位中断总开关位 1 1,所有可屏蔽中断被禁止,所有可屏蔽中断被禁止 0 0,所有可屏蔽中断有效。,所有可屏蔽中断有效。DPDP(位(位8-08-0):数据存储器页面指针数据存储器页面指针,9 9位位的的DPDP与指令中的与指令中的7 7位位形成形成1616位位的数据的数据存储器的直接地址。存储器的直接地址。ARBARB(位(位15-1315-13):辅助寄存器指针缓冲器辅助寄存器指针缓冲器,当,当ARP
14、ARP被加载到被加载到ST0ST0时,原来的时,原来的ARPARP被复制到被复制到ARBARB中,也可将中,也可将ARBARB复制到复制到ARPARP中。中。ST1ST1CNFCNF(位(位1212):片内片内DARAMDARAM配置位配置位 0 0,片内片内DARAMDARAM映射到映射到数据存储器数据存储器区;区;1 1,片内片内DARAMDARAM映射到映射到程序存储器程序存储器区。区。TCTC(位(位1111):测试测试/控制标志位控制标志位。根据被测试位的值,该位被置。根据被测试位的值,该位被置1 1或清或清0 0。SXMSXM(位(位1010):符号扩展方式位符号扩展方式位,决定在
15、计算时是否使用符号扩展:,决定在计算时是否使用符号扩展:1 1,数据通过定标移位器传送到累加器时将产生符号扩展;,数据通过定标移位器传送到累加器时将产生符号扩展;0 0,不产生符号扩展。不产生符号扩展。C C(位(位9 9):进位标志位,进位标志位,在加法结果产生进位时被置在加法结果产生进位时被置1 1,或在减法结果产生借位,或在减法结果产生借位是被清是被清0 0。ST1ST1XFXF(位(位4 4):XFXF引脚状态位,引脚状态位,XFXF是是DSPDSP的一个通用引脚。该位反映的一个通用引脚。该位反映XFXF引脚的状引脚的状态,该位的态,该位的1 1、0 0与与XFXF引脚的逻辑高、低电平
16、一致。可用指令引脚的逻辑高、低电平一致。可用指令SETCSETC置置1 1,用,用指令指令CLRCCLRC清清0 0。PMPM(位(位1-0 1-0):乘积移位方式乘积移位方式0000乘法器的乘法器的3232位乘积不移位,直接入位乘积不移位,直接入CALUCALU。0101PREGPREG左移左移1 1位后装入位后装入CALUCALU,最低位填,最低位填0 0;1010PREGPREG左移左移4 4位后装入位后装入CALUCALU,低,低4 4位填位填0 0;1111PREGPREG输出进行符号位扩展,右移输出进行符号位扩展,右移6 6位。位。3.2 3.2 锁相环(锁相环(PLLPLL)时钟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CPU 功能模块 时钟 模块

限制150内