TS系列DSP内核结构_第1页
TS系列DSP内核结构_第2页
TS系列DSP内核结构_第3页
TS系列DSP内核结构_第4页
TS系列DSP内核结构_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1会计学TS系列系列DSP内核结构内核结构2345M0M1M2Sequencer128-entry BTB128bJ-RFJ ALU031128b128bK-RFK ALU031128bProc El Y RF031ALUMultShiftALUProc El XRF031ALUMultShift两个计算模块两个计算模块程序控制器程序控制器内部储存器内部储存器3套内部总线套内部总线2个个 IALU6781011MultALUShifterCtrl & Dependency Check UnitRegisterFile32x32DABInternal Buses 128 x 364641

2、28128ALU、乘法器、移位器12Computation block XRegFile031ALUMultShiftUnmapped存储器映射存储器映射- - 通用寄存器组通用寄存器组(RF). 32x32 (RF). 32x32 可以被以下访问可以被以下访问: :- - 处理器核处理器核 - - 外部总线设备外部总线设备非储存器映射寄存器非储存器映射寄存器 对于全局状态对于全局状态 (XSTAT/YSTAT) (XSTAT/YSTAT) 专门用于专门用于: : - ALU - ALU - - 乘法器乘法器 - - 移位器移位器 Comp block XALUMultShiftReg Fil

3、e13XR 31XR 0X computation block.YR 31YR 0Y computation block.32-bits32-bits14ALUComputation block XRegisterFile0STATUSALUMultShiftPRMRBFOTMP321516短字指令短字指令6304个个16位的操作数位的操作数4个个 16位的操作数位的操作数4个个16位结果位结果630+/-+/-+/-+/-17181931 24 23 16 15 8 7 031 16 15 031 0计算块计算块X中的寄存器中的寄存器 8位数据位数据计算块计算块X中的寄存器中的寄存器 16位

4、数据位数据计算块计算块X中的寄存器中的寄存器 32位数据位数据XBR3 (B = Byte)XSR3 (S = Short = 16 bit)XR3 (No letter = Normal = 32-bit) 8-bits 8-bits 8-bits 8-bits16-bits 16-bits32-bits20 63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0寄存器寄存器 R3寄存器寄存器 R28-bits 8-bits 8-bits 8-bits 8-bits 8-bits 8-bits 8-bitsXBR 3 : 2 63 48 47 32 31 1

5、6 15 016-bits 16-bits 16-bits 16-bits 63 32 31 032-bits 63 064-bitsXSR 3 : 2XR 3 : 2XLR 3 : 232-bits212224Comp block XALUMultShiftReg File25Comp block XALUShiftn 32-或者 40-位浮点操作数n输出 32- 或者 40-位结果.262728用)nI整型数n例如:nYBR9 = R2 + R8 (S);2930R5PR0 output31 0 31 09=R40 5 0 4Assuming that previous value of

6、PR0 is 031SR1:0PR0 result31 031 0 31 07 -3 5 2SR3:231 0 31 05 6 7 9ABS (5-7)ABS (6-(-3)ABS(7-5)ABS (9-2)+15 015 015 015 0+20Assuming that previous value of PR0 is 03233R1:0 31 0 31 07 8 6 5 R3:2 131 0 31 09 2 2 3SR9:831 0 31 09 8 6 5864 X 16 bit comparators0 x800031 0 31 0PR1:0Bits shifted into PR1:

7、0 from the MSB950 x0000 0 x0000 0 x0000Assuming that previous value of PR0 is 03431 0 31 0PR1:01 1 1 1从MSB移位下一个 VMAX/VMIN 将使这些 4 位右移4位。如果指令循环执行,这些位将继续移到 PR1:0寄存器中 第一个字的结果比较3536在一个并行指令中,状态标志是所有操作结果的或。在一个并行指令中,状态标志是所有操作结果的或。 Ex: 假设假设 YR0 = 0 x00050003和和YR1 =0 x00040008, 执行完指令执行完指令 ySR2 = R0-R1;之后之后,结果

8、是结果是: 由于两个数的减法产生了负值,设置由于两个数的减法产生了负值,设置 yAN标志位。标志位。 YR131 0 4 8YR031 05 3YR231 01 -537nSticky 状态标志nAUSSticky FP 下溢仅浮点(FP)操作nAVSSticky FP 溢出仅浮点(FP) 操作nAOS Sticky Fxd P 下溢仅定点操作nAISSticky FP 无效操作仅浮点(FP) 操作38394041注意 X, Y, 和XY 对于所有的指令都是有效的选项42434445Comp block XALUMultShiftReg Filen输出16位, 32 位或者 64位结果n输出

9、20 位, 40 位, 或者80 位累加(MAC) 结果464732-bit word inst.31032 operandRm32 x 32 MULT32 operandRn32 or 64 resultRsldual accum (64 or 80)MR4816-bit short word inst.630quad 16 operandRmlquad 16 operandquad 16/32 resultRnl630Rsl16 x 16 MULT16 x 16 MULT16 x 16 MULT16 x 16 MULTquad accum (16/20 or 32/40)MRMAC 是寄存

10、器Rmd 和 Rnd中 4个16-位字(短字)的乘法运算,乘积的结果可以作为字的结果与MR3:0当前的内容相加,也可以作为16-位短字的结果与双寄存器MR3:2中的内容相加 。溢出位放到寄存器 MR4中。49MAC 是 Rm和 Rn 中的复数值相乘,乘积的结果与MR3:2的当前内容相加。溢出位放入寄存器MR4中。16-bit complex word inst.310imag 1dual 32/40 result630MR16 x 16 MULT16 x 16 MULT16 x 16 MULT16 x 16 MULTreal 1imag 2real 2+ / +- / +505152Singl

11、e Precision Flt.310exp (8)mantissa (24)32-bit result24 x 24 MULTexp (8)mantissa (24)adderexp (8)mantissa (24)Extended Precision Flt.630exp (8)32 x 32 MULT32-bit mantissaexp (8)Fmlmantissa (32)Fnlmantissa (32)exp (8)40-bit resultadder53Single Precision Floating pt.310exp (8)mantissa (24)32-bit result

12、24 x 24 MULTexp (8)mantissa (24)adderexp (8)mantissa (24)54Extended Precision Floating Pt.630exp (8)32 x 32 MULT40-bit resultRslFmlmantissa (32)Fnlmantissa (32)exp (8)32-bit mantissaadder8-bit exponent55n清零和截断CR未清零/截断n饱和S未饱和n共轭J非共轭565758Sign bit263 262 261 260 24 23 22 21 20 Bit 63Bit 0二进制小数点Unsigne

13、d integerUnsigned FractionalSign bit2-1 2-2 2-3 2-4 2-62 2-63 2-64 Bit 63Bit 0Binary pointWeight-263 262 261 260 24 23 22 21 20 Bit 63Bit 0二进制小数点Signed integerWeight. . . . . . .Signed Fractional-2-0 2-1 2-2 2-3 2-61 2-62 2-63 Bit 63Bit 0Binary point. . .WeightWeight5960616263MR1:0MR3:216MR4310MR0MR

14、316MR4310824MR2MR1MR0MR316MR4310824MR2MR14122028MR0MR2MR1MR3HLHLHLHLL = low short fieldH = high short field6465n状态和粘连状态标志保存在 X/Y STAT寄存器中。66nNMLT 乘积不小于零MN 和MZnNMLE 乘积不小于或者等于零MN 或者 MZ6768nX|Y|XY Rsd = Rmd * Rnd (UITS)nX|Y|XY Rsq = Rmd * Rnd (UI)nX|Y|XY Rsd=MRb, MRb+= Rmd * Rnd (UIC)nX|Y|XY MRb += Rmd

15、 * Rnd (UIC|CR) MRb 是MR1:0 或者 MR3:2 或者 MR3:0之一69707172Comp block XALUMultShiftReg Filen四个或者八个 8位操作数7374750001 0010 0011 0100 0101 0110 1110 1111 0000 0001 0010 0011 0100 0101 0110 11100010 0011 0100 0101 0110 1110 1111 0000 xxxx xxxx xxxx xxxx xxxx xxxx xxxx 0100RmShift magnitude = 4RnRsRsShift left

16、 by 4 bitsShift right by 4 bitsZero fill bits in MSBsZero fill bits in LSBs0 x123456EF0 x0123456E0 x000000040 x23456EF0761001 0010 0011 0100 0101 0110 1110 1111 xxxx xxxx xxxx xxxx xxxx xxxx x111 1000RmRnRsShift right by 8 bitsSign extended MSBs1111 1111 1001 0010 0011 0100 0101 01101110 1111 delete

17、d LSBsArithmetic left shift is identical to Logical left shift0 x923456EF0 xFFFFFFF80 xFF923456Shift value = -877n短字5 bitsn字节4 bits移位和循环移位和循环只移位只移位78790001 0010 0011 0100 0101 0111 1110 1111xxxx xxxx xxxx xxxx xxxx xxxx xx00 1000RmRnRs0001 0010 0011 0100 0101 0110 1110 1111Eighth bit in Rn clearedVa

18、lue = 80 x000000080 x123456EF0 x123457EF31031318th bit80双字-寄存器。8163 32 0 RmdRm31 15 8 6 0 Len 指定抽取的位数Pos 指定Rn中的起始位置抽取位存储在Rs的右端82Rm31 15 8 0 xxxx xxxx xxxx xxxx 0000 0101 x000 1000Length 8 bitsStart at bit 50 x0000050831 15 0 xxxx xxxx xxxx xxxx 0001 0010 0011 010031 15 0 xxxx xxxx xxxx xxxx xxxx xxx

19、x 1001 0001 RnRs0 x000012340 x00000091bit 5838485nif NSLT; DO R3=R5+R6; 868731 0 31 0BFP6Len6RmdRbRbBFP - 6-位段 当前的位FIFO指针,指向Rnq中位流的位置,在开始此处抽取/插入。 Len - 6-位段 - 指定抽取的位数 注意: 位 FIFO指针必须利用 BFOINC ALU指令进行增操作88移位器把抽取的位放到Rsd中,其右端从零开始。 SE选项 符号扩展 用与抽取数据的MSB相同的数填充。31 0RnqRfBFP6Len6RsReRdRcRkRh8990919293M0M1M2S

20、equencer128bJ ALUJ-RF031128b128bK ALUK-RF031128bComp block XComp block Y9495nJ30 = LSHIFTR J12 nJ5 = J11和0 x1ffff96n4 个基址 (B)寄存器n4个长度(L) 寄存器允许同时使用8个循环缓冲区J ALU J - RF031Status9798n注意: m = 0,1,2或者3n注意: 循环缓冲需要后修正99nYR3:2=LK1+0 x0003333100101JmJnJmJn+Jm + JnJm + Jn1. output2. updateoutputRa = Jm + JnRa = Jm += Jnpremodify WITHOUT UPDATEPOST-MODIFY 102标志。1030123456789100123456789100123456789100123456789101234567891011Length = 11Modifier (step size) = 4Base address = 0图中序列按顺序表示出在一次传递过程中各单元被访问的次序。图中序列按顺序表示出在一次传递过程中各单元被访问的次序。 序列按传递的顺序重复

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论