您好,欢迎访问三七文档
2020年1月12日DSP原理及应用1第2章TMS320C5000DSP芯片的硬件结构2020年1月12日DSP原理及应用2第2章TMS320C54x的硬件结构知识要点●CPU结构●内部存储器结构●内外部总线结构●片内外设电路●引脚功能●系统控制2020年1月12日DSP原理及应用3第2章TMS320C5000的硬件结构2.1内容提要TMS320C5000系列DSP芯片包括TMS320C54x和TMS320C55x两大类。这两大类芯片软件完全兼容,区别在于TMS320C55x功耗更低、性能更高。本章主要介绍TMS320C54x芯片的硬件结构,重点对芯片的引脚功能、CPU结构、内部存储器、片内外设电路、系统控制以及内外部总线进行了讨论。2020年1月12日DSP原理及应用4第2章TMS320C54x的硬件结构2.2.’C54x的内部结构TMS320C54x的组成中央处理器CPU存储器特殊功能寄存器数据存储器RAM程序存储器ROM内部总线控制I/O功能扩展接口串行口主机通信接口HPI定时系统中断系统2020年1月12日DSP原理及应用5第2章TMS320C54x的硬件结构2.2.’C54x的内部结构PAGENDAGEN特殊功能寄存器系统控制程序地址生成器数据地址生成器CPU乘法累加器算术/逻辑运算单元桶形移位器比较器外部存储器接口外部设备接口程序存储器数据存储器串行口并行口定时器计数器中断系统控制接口PABPBCABCBDABDBEABEB2020年1月12日DSP原理及应用6第2章TMS320C54x的硬件结构2.3、’C54x的中央处理器CPU●采用先进的多总线结构,通过1组程序总线、3组数据总线和4组地址总线来实现。CPU的主要特征●40位算术逻辑运算单元ALU,包括1个40位桶形移位寄存器和2个独立的40位累加器。●17×17位并行乘法器,与40位专用加法器相连,可用于进行非流水线的单周期乘法-累加运算。2020年1月12日DSP原理及应用7第2章TMS320C54x的硬件结构CPU包括下列基本部件:①40位算术逻辑运算单元ALU;②2个40位的累加器A和B;③支持-16~31位移位范围的桶形移位寄存器;④能完成乘法-加法运算的乘法累加器MAC;⑤16位暂存寄存器T;⑥16位转移寄存器TRN;⑦比较、选择、存储单元CSSU;⑧指数编码器;⑨CPU状态和控制寄存器。2020年1月12日DSP原理及应用8第2章TMS320C54x的硬件结构2.3.1算术逻辑运算单元ALU’C54x使用40位的算术逻辑运算单元和2个40位累加器,可完成宽范围的算术逻辑运算。’C54x的大多数算术逻辑运算指令都是单周期指令,其运算结果通常自动送入目的累加器A或B。但在执行存储器到存储器的算术逻辑运算指令时(如ADDM、ANDM、ORM和XORM),其运算结果则存入指令指定的目的存储器。2020年1月12日DSP原理及应用9第2章TMS320C54x的硬件结构ALU的功能框图MUXABALU符号ctr符号ctrMUXMUXCB15~CB0DB15~DB0MAC输出SXMSXMOVMC16CZA/ZBTCXYAMUBBACTDSOVA/OVB桶形移位器输出2020年1月12日DSP原理及应用10第2章TMS320C54x的硬件结构1.ALU的输入和输出根据输入源的不同,ALU采用不同的输入方式。(1)ALU的X输入源①来自桶形移位寄存器输出的操作数;②来自数据总线DB中的操作数。(2)ALU的Y输入源①来自累加器A中的数据;②来自累加器B中的数据;③来自数据总线CB中的操作数;④来自T寄存器中的操作数。2020年1月12日DSP原理及应用11第2章TMS320C54x的硬件结构(3)ALU输入数据的预处理当16位数据存储器操作数通过数据总线DB或CB输入时,ALU将采用两种方式对操作数进行预处理。①若数据存储器的16位操作数在低16位时,则当SXM=0时,高24位(39~16位)用0填充;当SXM=1时,高24位(39~16位)扩展为符号位。②若数据存储器的16位操作数在高16位时,则当SXM=0时,39~32位和15~0位用0填充;当SXM=1时,39~32位扩展为符号位,15~0位置0。(4)ALU的输出ALU的输出为40位运算结果,通常被送至累加器A或B。2020年1月12日DSP原理及应用12第2章TMS320C54x的硬件结构2.溢出处理ALU的饱和逻辑可以对运算结果进行溢出处理。当发生溢出时,将运算结果调整为最大正数(正向溢出)或最小负数(负向溢出)。当运算结果发生溢出时:①若OVM=0,则对ALU的运算结果不作任何调整,直接送入累加器;②若OVM=1,则对ALU的运行结果进行调整。当正向溢出时,将32位最大正数007FFFFFFFH装入累加器;当负向溢出时,将32位最小负数FF80000000H装入累加器。③状态寄存器ST0中与目标累加器相关的溢出标志OVA或OVB被置1。2020年1月12日DSP原理及应用13第2章TMS320C54x的硬件结构2.3.2累加器A和B’C54x芯片有两个独立的40位累加器A和B,可以存放ALU或MAC的运算结果,也可以作为ALU或MAC的一个输入。在执行并行指令(LD||MAC)和一些特殊指令(MIN和MAX)时,两个累加器中的一个用于装载数据,而另一个用于完成运算。2020年1月12日DSP原理及应用14第2章TMS320C54x的硬件结构2.3.2累加器A和B1.累加器结构39•••3231•••1615•••0累加器AAGAHAL保护位39•••32高阶位31•••16低阶位15•••0累加器BBGBHBL保护位高阶位低阶位BGAG保护位:AG、BG39~32,作为算术计算时的数据位余量,以防止迭代运算中的溢出。BGAGBHAH高阶位:AH、BH31~16;BHAHBLAL低阶位:AL、BL15~0。BLAL2020年1月12日DSP原理及应用15第2章TMS320C54x的硬件结构2.3.3桶形移位寄存器TMS320C54x的40位桶形移位寄存器主要用于累加器或数据区操作数的定标。它能将输入数据进行0~31位的左移和0~16位的右移。所移动的位数可由ST1中的ASM或被指定的暂存器T决定。2020年1月12日DSP原理及应用16第2章TMS320C54x的硬件结构1.组成框图MUX符号控制SC移位寄存器(-16~31)写选择MSW/LSWDB15~DB0CB15~CB0EB15~EB0测试位TcALUCSSUSXMABTASM(4~0)指令寄存器立即数-16~150~15①多路选择器MUXMUXMUXMUX②符号控制SC符号控制SC符号控制SC③移位寄存器移位寄存器(-16~31)移位寄存器(-16~31)移位寄存器(-16~31)移位寄存器(-16~31)④写选择电路写选择MSW/LSW写选择MSW/LSW写选择MSW/LSW①多路选择器MUX用来选择输入数据。②符号控制SC用于对输入数据进行符号位扩展。③移位寄存器用来对输入的数据进行定标和移位。④写选择电路用来选择最高有效字和最低有效字。2020年1月12日DSP原理及应用17第2章TMS320C54x的硬件结构2.桶形移位寄存器的输入通过多路选择器MUX来选择输入信号。①取自DB数据总线的16位输入数据;②取自DB和CB扩展数据总线的32位输入数据;③来自累加器A或B的40位输入数据。3.桶形移位寄存器的输出①输出至ALU的一个输入端;②经写MSW/LSW选择电路输出至EB总线。MUX符号控制SC移位寄存器(-16~31)写选择MSW/LSWDB15~DB0CB15~CB0EB15~EB0测试位TcALUCSSUSXMABTASM(4~0)指令寄存器立即数-16~150~15DB15~DB0DB15~DB0DB15~DB0DB15~DB0CB15~CB0DB15~DB0CB15~CB0DB15~DB0CB15~CB0AAABBBALUALUALUEB15~EB0EB15~EB0EB15~EB02020年1月12日DSP原理及应用18第2章TMS320C54x的硬件结构4.桶形移位寄存器的功能主要用于格式化操作,为输入的数据定标。①在进行ALU运算之前,对输入数据进行数据定标;②对累加器进行算术或逻辑移位;③对累加器进行归一化处理;④在累加器的内容存入数据存储器之前,对存储数据进行定标。2020年1月12日DSP原理及应用19第2章TMS320C54x的硬件结构【例2.4.2】对累加器A执行不同的移位操作。ADDA,-4,B;A右移4位后加到B中ADDA,ASM,B;A按ASM移位后加到B中NORMA;按T的数值对A进行归一化2020年1月12日DSP原理及应用20第2章TMS320C54x的硬件结构2.3.4乘法-累加单元MAC’C54x的乘法-累加单元MAC是由乘法器、加法器、符号控制、小数控制、零检测器、舍入器、饱和逻辑和暂存器几部分组成。MAC单元具有强大的乘法-累加运算功能,可在一个流水线周期内完成1次乘法运算和1次加法运算。在数字滤波(FIR和IIR滤波)以及自相关等运算中,使用乘法-累加运算指令可以大大提高系统的运算速度。2020年1月12日DSP原理及应用21零检测舍入器饱和逻辑取整40位加法器MUXXMYM乘法器(1717)符号控制符号控制XMUXYMUXTDB15~DB0CB15~CB0PB15~PB0YAXAOVMOVA/OVBZA/ZB至A/BFRCTAB0来自A来自BPACDADT乘法-累加单元功能框图2020年1月12日DSP原理及应用22第2章TMS320C54x的硬件结构1.乘法器MAC单元包含一个1717位硬件乘法器,可完成有符号数和无符号数的乘法运算。(1)乘法器的输入XM输入:YM输入:①取自数据总线DB的数据存储器操作数;②来自暂存器T的操作数;③来自累加器A的32~16位操作数。①来自数据总线DB的数据存储器操作数;②来自数据总线CB的数据存储器操作数;③来自程序总线PB的程序存储器操作数;④来自累加器A的32~16位操作数。2020年1月12日DSP原理及应用23第2章TMS320C54x的硬件结构1.乘法器(2)乘法器的输出乘法器的输出经小数控制电路接至加法器的XA输入端。(3)乘法器的操作MAC单元的乘法器能进行有符号数、无符号数以及有符号数与无符号数的乘法运算。2020年1月12日DSP原理及应用24第2章TMS320C54x的硬件结构(3)乘法器的操作根据操作数的不同情况需进行以下处理:若是两个有符号数相乘,则在进行乘法运算之前,先对两个16位乘数进行符号位扩展,形成17位有符号数后再进行相乘。扩展的方法:在每个乘数的最高位前增加一个符号位,其值由乘数的最高位决定,即正数为0,负数为1。若是两个无符号数相乘,则在两个16位乘数的最高位前面添加“0”,扩展为17位乘数后再进行乘运算。若是有符号数与无符号数相乘,则有符号数在最高位前添加1个符号位,其值由最高位决定,而无符号数在最高位前面添加“0”,然后两个操作数相乘。2020年1月12日DSP原理及应用25第2章TMS320C54x的硬件结构(3)乘法器的操作由于乘法器在进行两个16位二进制补码相乘时会产生两个符号位,为提高运算精度,在状态寄存器ST1中设置了小数方式控制位FRCT。当FRCT=1时,乘法结果左移一位,消去多余的符号位,相应的定标值加1。2020年1月12日DSP原理及应用26第2章TMS320C54x的硬件结构2.专用加法器在MAC单元中,专用加法器用来完成乘积项的累加运算。专用加法器加法器零检测器舍入器溢出/饱和逻辑电路舍入器:用来对运算结果进行舍入处理,即将目标累加器中的内容加上215,然后将累加器的低16位清零。2020年1月12日DSP原理及应用27第2章TMS320C54x的硬件结构2.专用加法器(1)加法器的输入XA输入:来自乘法器的输出。YA输入:①来自累加器A的操作数;②
本文标题:2C54的硬件结构
链接地址:https://www.777doc.com/doc-2914136 .html