DSP的基本原理及应用第四讲.docx

上传人:b****7 文档编号:15666605 上传时间:2023-07-06 格式:DOCX 页数:36 大小:31.94KB
下载 相关 举报
DSP的基本原理及应用第四讲.docx_第1页
第1页 / 共36页
DSP的基本原理及应用第四讲.docx_第2页
第2页 / 共36页
DSP的基本原理及应用第四讲.docx_第3页
第3页 / 共36页
DSP的基本原理及应用第四讲.docx_第4页
第4页 / 共36页
DSP的基本原理及应用第四讲.docx_第5页
第5页 / 共36页
DSP的基本原理及应用第四讲.docx_第6页
第6页 / 共36页
DSP的基本原理及应用第四讲.docx_第7页
第7页 / 共36页
DSP的基本原理及应用第四讲.docx_第8页
第8页 / 共36页
DSP的基本原理及应用第四讲.docx_第9页
第9页 / 共36页
DSP的基本原理及应用第四讲.docx_第10页
第10页 / 共36页
DSP的基本原理及应用第四讲.docx_第11页
第11页 / 共36页
DSP的基本原理及应用第四讲.docx_第12页
第12页 / 共36页
DSP的基本原理及应用第四讲.docx_第13页
第13页 / 共36页
DSP的基本原理及应用第四讲.docx_第14页
第14页 / 共36页
DSP的基本原理及应用第四讲.docx_第15页
第15页 / 共36页
DSP的基本原理及应用第四讲.docx_第16页
第16页 / 共36页
DSP的基本原理及应用第四讲.docx_第17页
第17页 / 共36页
DSP的基本原理及应用第四讲.docx_第18页
第18页 / 共36页
DSP的基本原理及应用第四讲.docx_第19页
第19页 / 共36页
DSP的基本原理及应用第四讲.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DSP的基本原理及应用第四讲.docx

《DSP的基本原理及应用第四讲.docx》由会员分享,可在线阅读,更多相关《DSP的基本原理及应用第四讲.docx(36页珍藏版)》请在冰点文库上搜索。

DSP的基本原理及应用第四讲.docx

DSP的基本原理及应用第四讲

第6章DSP55xx芯片的指令系统及编程

TMS320C55xxDSP指令集可分为六大类操作类型:

 装载和存储指令:

交换、数据移动、堆栈操作及复制(DELAY)

 算术指令:

加法、减法、加减、减加、乘法、乘累加、乘累减、移位、带条件加减、带条件移位,比较指令等

 程序控制指令:

条件转移、无条件转移、重复、条件执行、CALL等

 bit控制指令:

bitTest、Set、Clear、Complement

 扩展辅助寄存器指令:

辅助寄存器数据移动、堆栈操作

 逻辑操作指令:

与、或、非、异或、取反、逻辑移位

 其它操作指令:

mmap、port

§6.1装载和存储指令

语法

并行使能bit

长度

周期

流水线

执行单元

Accumulator,Auxiliary,orTemporaryRegisterContentSwap

AunitALU

SWAPARx,Tx

Yes

2

1

AD

Aunitregisterfile

SWAPTx,Ty

Yes

2

1

AD

Aunitregisterfile

SWAPARx,ARy

Yes

2

1

AD

Aunitregisterfile

SWAPACx,ACy

Yes

2

1

X

Dunitregisterfile

SWAPPARx,Tx

Yes

2

1

AD

Aunitregisterfile

SWAPPT0,T2

Yes

2

1

AD

Aunitregisterfile

SWAPPAR0,AR2

Yes

2

1

AD

Aunitregisterfile

SWAPPAC0,AC2

Yes

2

1

X

Dunitregisterfile

SWAP4AR4,T0

Yes

2

1

AD

Aunitregisterfile

Accumulator,Auxiliary,orTemporaryRegisterLoad

MOVk4,dst

Yes

2

1

X

AorDunitregisterfile

MOV–k4,dst

Yes

2

1

X

AorDunitregisterfile

MOVK16,dst

No

4

1

X

AorDunitregisterfile

MOVSmem,dst

No

2

1

X

AorDunitregisterfile

MOV[uns()high_byte(Smem)[]],dst

No

3

1

X

AorDunitregisterfile

MOV[uns()low_byte(Smem)[]],dst

No

3

1

X

AorDunitregisterfile

MOVK16<<#16,ACx

No

4

1

X

DunitALU

MOVK16<<#SHFT,ACx

No

4

1

X

Dunitshifter

MOV[rnd()Smem<

No

3

1

X

Dunitshifter

MOVlow_byte(Smem)<<#SHIFTW,ACx

No

3

1

X

Dunitshifter

MOVhigh_byte(Smem)<<#SHIFTW,ACx

No

3

1

X

Dunitshifter

MOVSmem<<#16,ACx

No

2

1

X

DunitALU

MOV[uns()Smem[]],ACx

No

3

1

X

Dunitregisterfile

MOV[uns()Smem[]]<<#SHIFTW,ACx

No

4

1

X

Dunitshifter

MOV[40]dbl(Lmem),ACx

No

3

1

X

Dunitregisterfile

MOVXmem,Ymem,ACx

No

3

1

1

Dunitregisterfile

MOVdbl(Lmem),pair(HI(ACx))

No

3

1

X

Dunitregisterfile

MOVdbl(Lmem),pair(LO(ACx))

No

3

1

X

Dunitregisterfile

MOVdbl(Lmem),pair(TAx)

No

3

1

X

Aunitregisterfile

Accumulator,Auxiliary,orTemporaryRegisterMove(page4-41)

MOVsrc,dst

Yes

2

1

X

AorDunitALU

MOVHI(ACx),TAx

Yes

2

1

X

AunitALU

MOVTAx,HI(ACx)

Yes

2

1

X

DunitALU

Accumulator,Auxiliary,orTemporaryRegisterStore(page4-46)

MOVsrc,Smem

No

2

1

X

AorDunitregisterfile

MOVsrc,high_byte(Smem)

No

3

1

X

AorDunitregisterfile

MOVsrc,low_byte(Smem)

No

2

1

X

AorDunitregisterfile

MOVHI(ACx),Smem

No

2

1

X

Dunitregisterfile

MOV[rnd()HI(ACx)[]],Smem

No

3

1

X

Dunitregisterfile

MOVACx<

No

3

1

X

Dunitregisterfile

MOV[rnd(]HI(ACx<

No

3

1

X

Dunitregisterfile

MOVACx<<#SHIFTW,Smem

No

3

1

X

Dunitregisterfile

MOVHI(ACx<<#SHIFTW),Smem

No

3

1

X

Dunitregisterfile

MOV[rnd()HI(ACx<<#SHIFTW)[]],Smem

No

4

1

X

Dunitregisterfile

MOV[uns(][rnd(]HI(saturate(ACx))[))],Smem

No

3

1

X

Dunitregisterfile

MOV[uns(][rnd(]HI(saturate(ACx<

No

3

1

X

Dunitregisterfile

MOV[uns()(rnd()HI(saturate(ACx<<#SHIFTW))[])],Smem

No

4

1

X

Dunitregisterfile

MOVACx,dbl(Lmem)

No

3

1

X

Dunitregisterfile

MOV[uns(]saturate(ACx)[)],dbl(Lmem)

No

3

1

X

Dunitregisterfile

MOVACx>>#1,dual(Lmem)

No

3

1

X

Dunitregisterfile

MOVpair(HI(ACx)),dbl(Lmem)

No

3

1

X

Dunitregisterfile

MOVpair(LO(ACx)),dbl(Lmem)

No

3

1

X

Aunitregisterfile

MOVpair(TAx),dbl(Lmem)

No

3

1

X

Dunitregisterfile

MOVACx,Xmem,Ymem

No

3

1

X

Dunitregisterfile

MemoryDelay

DELAYSmem

No

3

1

X

AorDunitregisterfile

Memory-to-MemoryMove/MemoryInitialization

AorDunitregisterfile

MOVCmem,Smem

No

3

1

X

MOVSmem,Cmem

No

3

1

X

MOVK8,Smem

No

3

1

X

MOVK16,Smem

No

4

1

X

MOVCmem,dbl(Lmem)

No

3

1

X

MOVdbl(Lmem),Cmem

No

3

1

X

MOVdbl(Xmem),dbl(Ymem)

No

3

1

X

MOVXmem,Ymem

No

3

1

X

PopTopofStack(TOS)

AorDunitregisterfile

POPdst1,dst2

Yes

2

1

X

POPdst

Yes

2

1

X

POPdst,Smem

No

3

1

X

POPdbl(ACx)

Yes

2

1

X

POPSmem

No

2

1

X

POPdbl(Lmem)

No

2

1

X

PushtoTopofStack(TOS)

AorDunitregisterfile

PSHsrc1,src2

Yes

2

1

X

PSHsrc

Yes

2

1

X

PSHsrc,Smem

No

3

1

X

PSHdbl(ACx)

Yes

2

1

X

PSHSmem

No

2

1

X

PSHdbl(Lmem)

No

2

1

X

SpecificCPURegisterLoad

AorDunitregisterfile

MOVk12,BK03

Yes

3

1

AD

MOVk12,BK47

Yes

3

1

AD

MOVk12,BKC

Yes

3

1

AD

MOVk12,BRC0

Yes

3

1

AD

MOVk12,BRC1

Yes

3

1

AD

MOVk12,CSR

Yes

3

1

AD

MOVk7,DPH

Yes

3

1

AD

MOVk9,PDP

Yes

3

1

AD

MOVk16,BSA01

No

4

1

AD

MOVk16,BSA23

No

4

1

AD

MOVk16,BSA45

No

4

1

AD

MOVk16,BSA67

No

4

1

AD

MOVk16,BSAC

No

4

1

AD

MOVk16,CDP

No

4

1

AD

MOVk16,DP

No

4

1

AD

AorDunitregisterfile

MOVk16,SP

No

4

1

AD

MOVk16,SSP

No

4

1

AD

MOVSmem,BK03

No

3

1

X

MOVSmem,BK47

No

3

1

X

MOVSmem,BKC

No

3

1

X

MOVSmem,BSA01

No

3

1

X

MOVSmem,BSA23

No

3

1

X

MOVSmem,BSA45

No

3

1

X

MOVSmem,BSA67

No

3

1

X

MOVSmem,BSAC

No

3

1

X

MOVSmem,BRC0

No

3

1

X

MOVSmem,BRC1

No

3

1

X

MOVSmem,CDP

No

3

1

X

MOVSmem,CSR

No

3

1

X

MOVSmem,DP

No

3

1

X

MOVSmem,DPH

No

3

1

X

MOVSmem,PDP

No

3

1

X

MOVSmem,SP

No

3

1

X

MOVSmem,SSP

No

3

1

X

MOVSmem,TRN0

No

3

1

X

MOVSmem,TRN1

No

3

1

X

MOVdbl(Lmem),RETA

No

3

5

X

SpecificCPURegisterMove

AunitALU

MOVTAx,BRC0

Yes

2

1

X

MOVTAx,BRC1

Yes

2

1

X

MOVTAx,CDP

Yes

2

1

X

MOVTAx,CSR

Yes

2

1

X

MOVTAx,SP

Yes

2

1

X

MOVTAx,SSP

Yes

2

1

X

MOVBRC0,TAx

Yes

2

1

X

MOVBRC1,TAx

Yes

2

1

X

MOVCDP,TAx

Yes

2

1

X

MOVRPTC,TAx

Yes

2

1

X

MOVSP,TAx

Yes

2

1

X

MOVSSP,TAx

Yes

2

1

X

SpecificCPURegisterStore

AorDunitregisterfile

MOVBK03,Smem

No

3

1

X

MOVBK47,Smem

No

3

1

X

MOVBKC,Smem

No

3

1

X

MOVBSA01,Smem

No

3

1

X

MOVBSA23,Smem

No

3

1

X

MOVBSA45,Smem

No

3

1

X

MOVBSA67,Smem

No

3

1

X

MOVBSAC,Smem

No

3

1

X

MOVBRC0,Smem

No

3

1

X

MOVBRC1,Smem

No

3

1

X

MOVCDP,Smem

No

3

1

X

MOVCSR,Smem

No

3

1

X

MOVDP,Smem

No

3

1

X

MOVDPH,Smem

No

3

1

X

MOVPDP,Smem

No

3

1

X

MOVSP,Smem

No

3

1

X

MOVSSP,Smem

No

3

1

X

MOVTRN0,Smem

No

3

1

X

MOVTRN1,Smem

No

3

1

X

MOVRETA,dbl(Lmem)

No

3

5

X

§6.2算术指令

语法

并行使能bit

长度

周期

流水线

执行单元

(矢量距离)AbsoluteDistance

ABDSTXmem,Ymem,ACx,ACy

No

4

1

X

(绝对值)AbsoluteValue

ABS[src,]dst

Yes

2

1

X

AorDunitALU

(加法)Addition

ADD[src,]dst

Yes

2

1

X

AorDunitALU

ADDk4,dst

Yes

2

1

X

AorDunitALU

ADDK16,[src,]dst

No

4

1

X

AorDunitALU

ADDSmem,[src,]dst

No

3

1

X

AorDunitALU

ADDACx<

Yes

2

1

X

DunitALU&shifter

ADDACx<<#SHIFTW,ACy

Yes

3

1

X

DunitALU&shifter

ADDK16<<#16,[ACx,]ACy

No

4

1

X

DunitALU

ADDK16<<#SHFT,[ACx,]ACy

No

4

1

X

DunitALU&shifter

ADDSmem<

No

3

1

X

DunitALU&shifter

ADDSmem<<#16,[ACx,]ACy

No

3

1

X

DunitALU

ADD[uns(]Smem[)],CARRY,[ACx,]ACy

No

3

1

X

DunitALU

ADD[uns(]Smem[)],[ACx,]ACy

No

3

1

X

DunitALU

ADD[uns(]Smem[)]<<#SHIFTW,[ACx,]ACy

No

4

1

X

DunitALU&shifter

ADDdbl(Lmem),[ACx,]ACy

No

3

1

X

DunitALU

ADDXmem,Ymem,ACx

No

3

1

X

DunitALU

ADDK16,Smem

No

4

1

X

DunitALU

ADDV[ACx,]ACy

Yes

2

1

X

DunitMAC

(比较)CompareandSelectExtremum

DunitALU

MAXDIFFACx,ACy,ACz,ACw

Yes

3

3

X

DMAXDIFFACx,ACy,ACz,ACw,TRNx

Yes

3

1

X

MINDIFFACx,ACy,ACz,ACw

Yes

3

1

X

XDMINDIFFACx,ACy,ACz,ACw,TRNx

Yes

3

1

X

(带条件加减法)ConditionalAddition/Subtraction

ADDSUBCCSmem,ACx,TC1,ACy

No

3

1

X

DunitALU

ADDSUBCCSmem,ACx,TC2,ACy

No

3

1

X

DunitALU

ADDSUBCCSmem,ACx,TC1,TC2,ACy

No

3

1

X

DunitALU

ADDSUB2CCSmem,ACx,Tx,TC1,TC2,ACy

No

3

1

X

Dunitshifter

(带条件移位)ConditionalShift

SFTCCACx,TCx

Yes

2

1

X

Dunitshifter

(带条件减法)ConditionalSubtract

SUBCSmem,[ACx,]ACy

No

3

1

X

DunitALU

双16bit加减法Dual16-BitArithmetic

DunitALU

ADDSUBTx,Smem,ACx

No

3

1

X

SUBADDTx,Smem,ACx

No

3

1

X

ADDdual(Lmem),[ACx,]ACy

No

3

1

X

SUBdual(Lmem),[ACx,]ACy

No

3

1

X

SUBACx,dual(Lmem),ACy

No

3

1

X

SUBdual(Lmem),Tx,ACx

No

3

1

X

ADDdual(Lmem),Tx,ACx

No

3

1

X

SUBTx,dual(Lmem),ACx

No

3

1

X

ADDSUBTx,dual(Lmem),ACx

No

3

1

X

SUBADDTx,dual(Lmem),ACx

No

3

1

X

并行乘法(Accumulate/Subtract)

DunitMACs

MPY[R][40][uns()Xmem[]],[uns()Cmem[]],Acx

∷MPY[R][40][uns()Ymem[]],[uns()Cmem[)],ACy

No

4

1

X

MAC[R][40][uns()Xmem[]],[uns()Cmem[]],Acx

∷MPY[R][40][uns()Ymem[]],[uns()Cmem[]],ACy

No

4

1

X

MAS[R][40][uns()Xmem[]],[uns()Cmem[]],Acx

∷MPY[R][40][uns()Ymem[]],[uns()Cmem[]],ACy

No

4

1

X

AMARXmem

∷MPY[R][40][uns()Ymem[]],[uns()Cmem[]],ACx

No

4

1

X

MAC[R][40][uns()Xmem[]],[uns()Cmem

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2