第6章 TMS320C54x基本结构.ppt
《第6章 TMS320C54x基本结构.ppt》由会员分享,可在线阅读,更多相关《第6章 TMS320C54x基本结构.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 TMS320C54x TMS320C54x 基本结构基本结构6.1TMS320C54x结构简介结构简介6.2内部总线结构内部总线结构6.3中央处理单元(中央处理单元(CPU)6.4存储器存储器6.5小结小结【重点难点重点难点】DSP DSP芯片的总线结构及其作用芯片的总线结构及其作用 DSPDSP芯片中央处理单元(芯片中央处理单元(CPUCPU)的组成)的组成 及各部分的功能及各部分的功能 DSPDSP芯片存储器结构和存储空间的组织芯片存储器结构和存储空间的组织 与分配与分配 C5416C5416的存储器映射寄存器的存储器映射寄存器TMS320C54x结构简介结构简介6.1 TM
2、S320C54x 6.1 TMS320C54x 结构简介结构简介 一、内部总线结构:一组程序总线(一组程序总线(PBPB)三组数据总线(三组数据总线(CBCB、DBDB和和EBEB)四组地址总线(四组地址总线(PABPAB、CABCAB、DABDAB、EABEAB)二、CPU组成部分:一个一个 40 40 位的算术逻辑单元(位的算术逻辑单元(ALU)ALU)乘法器加法器单元(乘法器加法器单元(MAC)MAC)两个两个4040位的累加器(位的累加器(A A和和B)B)桶形移位器桶形移位器 比较、选择和存储单元比较、选择和存储单元 指数编码器指数编码器 CPU CPU 状态和控制寄存器状态和控制寄
3、存器TMS320C54x结构简介结构简介6.2 6.2 总线结构总线结构 总线结构总线结构 1 1条程序总线(条程序总线(PBPB):用于从程序存储区提取指令和常):用于从程序存储区提取指令和常 数,其中存放在程序存储区的常数数,其中存放在程序存储区的常数 叫做立即数操作数。叫做立即数操作数。3 3条数据总线(条数据总线(CBCB、DBDB和和EBEB):连接各个组成部分):连接各个组成部分 CBCB和和DBDB传送从数据存储器读出的操作数;传送从数据存储器读出的操作数;EBEB总线传送要写入到存储器中的数据;总线传送要写入到存储器中的数据;4 4条地址总线(条地址总线(PABPAB、CABC
4、AB、DABDAB和和EABEAB):传送执行指令所):传送执行指令所 用的地址。用的地址。表表6-1 6-1 各种读各种读/写方式用到的总线写方式用到的总线读读读读/写方式写方式写方式写方式地址地址地址地址总线总线总线总线程序程序程序程序总线总线总线总线数据数据数据数据总线总线总线总线PABCABDABEABPBCBDBEB程序程序程序程序读读读读 程序写程序写程序写程序写 单单单单数据数据数据数据读读读读 双数据双数据双数据双数据读读读读 长长长长数据数据数据数据(32(32位位位位)读读读读 hwhw lwlw hwhw lwlw单单单单数据写数据写数据写数据写 数据数据数据数据读读读读
5、/写写写写 双数据双数据双数据双数据读读读读/系数系数系数系数读读读读 外外外外设读设读设读设读 外外外外设设设设写写写写 总线结构总线结构6.3 6.3 中央处理单元(中央处理单元(CPUCPU)中央处理单元(中央处理单元(CPU)6.3.1 6.3.1 6.3.1 6.3.1 算术逻辑单元(算术逻辑单元(算术逻辑单元(算术逻辑单元(ALUALUALUALU)1 1、ALU ALU 的输入的输入 ALUALU的的X X输入源输入源 1 1)桶形移位寄存器的输出。)桶形移位寄存器的输出。2 2)来自数据总线)来自数据总线DBDB的数据存储器操作数。的数据存储器操作数。ALUALU的的Y Y输入
6、源输入源 1 1)累加器)累加器A A 中的数据。中的数据。2 2)累加器)累加器B B 中的数据。中的数据。3 3)来自数据总线)来自数据总线CBCB的数据存储器操作数。的数据存储器操作数。4 4)T T 寄存器中的数据寄存器中的数据2 2、ALU ALU 的输出的输出 ALU ALU 的输出为的输出为4040位,被送往累加器位,被送往累加器 A A 或或 B B。3 3、溢出处理、溢出处理 若若OVM=0OVM=0,则对,则对ALUALU的运算结果不作任何调整,的运算结果不作任何调整,直接送入累加器;直接送入累加器;若若OVM=1OVM=1,则对,则对ALUALU的运行结果进行调整。的运行
7、结果进行调整。当正向溢出时,将当正向溢出时,将3232位最大正数位最大正数00 7FFFFFFFH00 7FFFFFFFH装入累加器;装入累加器;当负向溢出时,将当负向溢出时,将3232位最小负数位最小负数FF 80000000HFF 80000000H装入累加器。装入累加器。溢出发生后,状态寄存器溢出发生后,状态寄存器ST0ST0中与目标累加器相关的溢出中与目标累加器相关的溢出 标志位(标志位(OVA OVA 或或 OVBOVB)置)置1 1,直到复位或执行溢出条件指令。,直到复位或执行溢出条件指令。中央处理单元(中央处理单元(CPU)饱和算法:饱和算法:当发生计算结果大于可表示的最大值或者
8、当发生计算结果大于可表示的最大值或者 小于可表示的最小值的时候,结果为这个小于可表示的最小值的时候,结果为这个 最大值或者最小值。最大值或者最小值。非饱和算法:如果结果溢出则直接去掉溢出位,剩下非饱和算法:如果结果溢出则直接去掉溢出位,剩下 的就是结果。的就是结果。中央处理单元(中央处理单元(CPU)4 4、进位位、进位位 进位位进位位C C的功能:的功能:用来指明是否有进位发生;用来指明是否有进位发生;用来支持扩展精度的算术运算;用来支持扩展精度的算术运算;可作为分支、调用、返回和条件操作的执行条件。可作为分支、调用、返回和条件操作的执行条件。注意:注意:进位位进位位C C不受装载累加器操作
9、、逻辑操作、非算术运算不受装载累加器操作、逻辑操作、非算术运算 和控制指令的影响;和控制指令的影响;进位位的值通常可以用用指令(进位位的值通常可以用用指令(RSBXRSBX置置0 0和和SSBXSSBX置置1 1)直)直 接进行设置;接进行设置;硬件复位时,进位位置硬件复位时,进位位置1 1。中央处理单元(中央处理单元(CPU)5 5、双、双1616位算术运算位算术运算 在单个周期内进行两次在单个周期内进行两次1616位加法或两次位加法或两次1616位减法运算。位减法运算。6 6、其他控制位、其他控制位 TCTC测试测试/控制标志,位于控制标志,位于ST0ST0的的1212位;位;ZA/ZBZ
10、A/ZB累加器结果为累加器结果为0 0标志位。标志位。中央处理单元(中央处理单元(CPU)中央处理单元(中央处理单元(CPU)6.3.2 6.3.2 6.3.2 6.3.2 累加器累加器累加器累加器(A/B(A/B(A/B(A/B)39323116150累加器累加器AAGAHAL保护位保护位3932高阶位高阶位3116低阶位低阶位150累加器累加器BBGBHBL保护位保护位高阶位高阶位低阶位低阶位BGBGAGAG保保保保护护护护位位位位:AGAG、BGBG 39323932,作作作作为为为为算算算算术术术术计计计计算算算算时时时时的的的的数数数数据据据据位位位位余余余余量量量量,以防止迭代运算
11、中的溢出以防止迭代运算中的溢出以防止迭代运算中的溢出以防止迭代运算中的溢出。BGBGAGAGBHBHAHAH高阶位:高阶位:高阶位:高阶位:AHAH、BH3116BH3116;BHBHAHAHBLBLALAL低阶位:低阶位:低阶位:低阶位:ALAL、BL150BL150。BLBLALAL累加器累加器累加器累加器A A A A和累加器和累加器和累加器和累加器B B B B的唯一的唯一的唯一的唯一差异差异差异差异在于累加器在于累加器在于累加器在于累加器A A A A的(的(的(的(1616161631313131)位可以用作乘累加单元的一个输入。位可以用作乘累加单元的一个输入。位可以用作乘累加单元
12、的一个输入。位可以用作乘累加单元的一个输入。1 1、保存累加器的内容、保存累加器的内容 使用使用STHSTH、SACCDSACCD和并行存储指令存储累加器内容和并行存储指令存储累加器内容:先将累加器内容移位,再将高先将累加器内容移位,再将高1616位存入存储器。位存入存储器。右移存储:右移存储:AG(BG)AG(BG)右移右移AH(BH)AH(BH),AH(BH)AH(BH)存入存储器;存入存储器;左移存储:左移存储:AL(BL)AL(BL)左移左移AH(BH)AH(BH),AH(BH)AH(BH)存入存储器。存入存储器。使用使用STLSTL指令存储累加器内容指令存储累加器内容:先将累加器内容
13、移位,再将低先将累加器内容移位,再将低1616位存入存储器。位存入存储器。右移存储右移存储,AH(BH),AH(BH)右移右移AL(BL),AL(BL)AL(BL),AL(BL)存入存储器;存入存储器;左移存储左移存储,AL(BL),AL(BL)左移左移AH(BH),AH(BH),低位补低位补0,AL(BL)0,AL(BL)存入存储器。存入存储器。注意:注意:移位操作是在存储累加器内容的过程中同时完成的;移位操作是在存储累加器内容的过程中同时完成的;移位操作是在移位寄存器中完成的,累加器的内容移位操作是在移位寄存器中完成的,累加器的内容 保持不变。保持不变。中央处理单元(中央处理单元(CPU)
14、中央处理单元(中央处理单元(CPU)例例6-16-1:假设累加器:假设累加器A AFF 4321 1234hFF 4321 1234h,执行带移位,执行带移位 的的STHSTH和和STLSTL指令操作后,求数据存储单元指令操作后,求数据存储单元TEMPTEMP 和累加器和累加器A A中的结果。中的结果。STH ASTH A,8 8,TEMP TEMP STH A STH A,-8-8,TEMPTEMP STL A STL A,8 8,TEMP TEMP STL A STL A,-8-8,TEMP TEMP ;TEMPTEMP2112h2112h ;TEMPTEMPFF43hFF43h ;TEM
15、PTEMP3400h3400h ;TEMPTEMP2112h2112hA AFF 4321 1234hFF 4321 1234h中央处理单元(中央处理单元(CPU)例例6-26-2:累加器:累加器A=FF01234567H,执行带移位的执行带移位的STH和和STL指令后,求暂存器指令后,求暂存器T和和A的内容。的内容。STH ASTH ASTH ASTH A,8 8 8 8,T T T T ;A A A A的内容左移的内容左移的内容左移的内容左移8 8 8 8位,位,位,位,AHAHAHAH存入存入存入存入T T T T F F 0 1 2 3 4 5 6 7 F F 0 1 2 3 4 5
16、6 7A A A AAG AH ALAG AH ALAG AH ALAG AH AL 移位移位移位移位寄存器寄存器寄存器寄存器 T T T T F F 0 1 2 3 4 5 6 7 F F 0 1 2 3 4 5 6 70 10 12 3 2 3 4 5 4 5 6 7 6 7 0 0 0 0 2 3 4 52 3 4 5 T=2345HT=2345HT=2345HT=2345H,A A A A=FFFFFFFF 0123012301230123 4567H4567H4567H4567H STH ASTH ASTH ASTH A,-8-8-8-8,T T T T ;A A A A的内容右移的
17、内容右移的内容右移的内容右移8 8 8 8位,位,位,位,AHAHAHAH存入存入存入存入T T T T F F 0 1 2 3 4 5 6 7 F F 0 1 2 3 4 5 6 74 5 4 5 2 3 2 3 0 1 0 1 F F F F F FF FF F 0 1F F 0 1T=FF01HT=FF01HT=FF01HT=FF01H,A A A A=FFFFFFFF 0123012301230123 4567H4567H4567H4567H STL ASTL ASTL ASTL A,8 8 8 8,T T T T ;A A A A的内容左移的内容左移的内容左移的内容左移8 8 8 8
18、位,位,位,位,ALALALAL存入存入存入存入T T T T F F 0 1 2 3 4 5 6 7 F F 0 1 2 3 4 5 6 70 10 12 32 3 4 54 5 6 76 7 0 00 0 6 7 0 06 7 0 0T=6700HT=6700HT=6700HT=6700H,A A A A=FFFFFFFF 0123012301230123 4567H4567H4567H4567H STL ASTL ASTL ASTL A,-8-8-8-8,T T T T ;A A A A的内容右移的内容右移的内容右移的内容右移8 8 8 8位,位,位,位,ALALALAL存入存入存入存入
19、T T T T F F 0 1 2 3 4 5 6 7 F F 0 1 2 3 4 5 6 74 5 4 5 2 3 2 3 0 1 0 1 F F F F F FF F2 3 4 52 3 4 5T=2345HT=2345HT=2345HT=2345H,A A A A=FFFFFFFF 0123012301230123 4567H4567H4567H4567H中央处理单元(中央处理单元(CPU)2 2、累加器移位和循环移位、累加器移位和循环移位 累加器移位或循环移位的指令共有累加器移位或循环移位的指令共有6 6条:条:SFTA SFTA 算术移位。算术移位。SFTL SFTL 逻辑移位。逻辑
20、移位。SFTC SFTC 条件移位。条件移位。ROL ROL 累加器循环左移。累加器循环左移。ROR ROR 累加器循环右移。累加器循环右移。ROLTC ROLTC 累加器带累加器带TCTC位循环左移。位循环左移。3 3、专用指令、专用指令 FIRSFIRS指令指令 LMSLMS指令指令 SQDSTSQDST指令指令 6.3.3 6.3.3 6.3.3 6.3.3 桶形移位寄存器桶形移位寄存器桶形移位寄存器桶形移位寄存器中央处理单元(中央处理单元(CPU)1 1、数的定标、数的定标 2 2、数的转换、数的转换 中央处理单元(中央处理单元(CPU)1 1)浮点数与定点数之间的转换)浮点数与定点数
21、之间的转换浮点数(浮点数(x x)转换为定点数()转换为定点数(x xq q):):(6.3.16.3.1)定点数(定点数(x xq q)转换为浮点数()转换为浮点数(x x):):(6.3.26.3.2)浮点数(浮点数(x x)转换为定点数()转换为定点数(x xq q):):(6.3.36.3.3)2 2)定点二进制数转换为浮点十进制数)定点二进制数转换为浮点十进制数 (1 1)先求整型数,然后利用式()先求整型数,然后利用式(6.3.26.3.2)进行计算)进行计算 (2 2)根据)根据Q Q值,确定小数点位置,然后进行计算值,确定小数点位置,然后进行计算中央处理单元(中央处理单元(CP
22、U)1 1)组成框图)组成框图MUXMUX符号控制符号控制符号控制符号控制SCSC桶形移位器桶形移位器桶形移位器桶形移位器(-1631)(-1631)写选择写选择写选择写选择MSW/LSWMSW/LSWDB15DB0DB15DB0CB15CB0CB15CB0EB15EB0EB15EB0测试位测试位测试位测试位TcTcALUALUCSSUCSSUSXMSXMA AB BT TASM(40)ASM(40)指令寄存器指令寄存器指令寄存器指令寄存器立即数立即数立即数立即数-1615-1615015015 多路选择器多路选择器多路选择器多路选择器MUXMUXMUXMUXMUXMUXMUXMUXMUXMU
23、X 符号控制符号控制符号控制符号控制SCSCSCSC符号控制符号控制符号控制符号控制SCSC符号控制符号控制符号控制符号控制SCSC 桶形桶形桶形桶形移位器移位器移位器移位器桶形移位器桶形移位器桶形移位器桶形移位器(-1631)(-1631)桶形移位器桶形移位器桶形移位器桶形移位器(-1631)(-1631)桶形移位器桶形移位器桶形移位器桶形移位器(-1631)(-1631)桶形移位器桶形移位器桶形移位器桶形移位器(-1631)(-1631)写选择电路写选择电路写选择电路写选择电路 写选择写选择写选择写选择MSW/LSWMSW/LSW写选择写选择写选择写选择MSW/LSWMSW/LSW写选择写
24、选择写选择写选择MSW/LSWMSW/LSW 多路选择器多路选择器多路选择器多路选择器MUXMUXMUXMUX 用来选择输入数据。用来选择输入数据。用来选择输入数据。用来选择输入数据。符号控制符号控制符号控制符号控制SCSCSCSC 用于对输入数据进用于对输入数据进用于对输入数据进用于对输入数据进行符号位扩展。行符号位扩展。行符号位扩展。行符号位扩展。桶形桶形桶形桶形移位器移位器移位器移位器 用来对输入的数据用来对输入的数据用来对输入的数据用来对输入的数据进行定标和移位。进行定标和移位。进行定标和移位。进行定标和移位。写选择电路写选择电路写选择电路写选择电路 用来选择最高有效用来选择最高有效用
25、来选择最高有效用来选择最高有效字和最低有效字。字和最低有效字。字和最低有效字。字和最低有效字。3 3、桶形移位寄存器、桶形移位寄存器中央处理单元(中央处理单元(CPU)2 2)桶形移位寄存器的输入)桶形移位寄存器的输入 通过多路选择器通过多路选择器通过多路选择器通过多路选择器MUXMUX来选择输入信号。来选择输入信号。来选择输入信号。来选择输入信号。取自取自取自取自DBDB数据数据数据数据总线总线总线总线的的的的16161616位位位位 输入数据;输入数据;输入数据;输入数据;取自取自取自取自DBDB和和和和CBCB扩扩扩扩展数据展数据展数据展数据总总总总 线线线线的的的的32323232位输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 TMS320C54x基本结构 TMS320C54x 基本 结构
限制150内