版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章指令系統(tǒng)-ARM&SHARC2.1體系結(jié)構(gòu)分類馮?諾伊曼結(jié)構(gòu)
?
哈佛結(jié)構(gòu)存儲(chǔ)器CPU程序存儲(chǔ)器CPU數(shù)據(jù)存儲(chǔ)器體系結(jié)構(gòu)分類精簡指令系統(tǒng)(RISC)復(fù)雜指令系統(tǒng)(CISC)2.2
ARM處理器體系結(jié)構(gòu):版本1~版本6變種:Thumb指令集(T);長乘法指令(M);增強(qiáng)DSP指令(E);Java加速器(J);多媒
體擴(kuò)展(SIMD)2.2.1
ARM處理器系列-ARM7ARM7DMI內(nèi)核32位RISC,最高主頻130M,支持Thumb指令集包括:ARM7TDMI,ARM7TDMI-S,ARM7EJ-S,ARM720T4特點(diǎn):低功耗;代碼密度高;眾多操作系統(tǒng)支持;代碼兼容ARM9,ARM9E,ARM10E處理器;ARM處理器系列-ARM9ARM9TDMI內(nèi)核包括ARM920T、ARM922T、ARM940T支持32位ARM與16位Thumb指令集五級(jí)整數(shù)流水線32位AMBA總線接口含MMU及MPU統(tǒng)一的數(shù)據(jù)與指令cacheARM處理器系列-ARM9E包括ARM926EJ-S、ARM946E-S、ARM966E-S三種類型包含DSP指令集可選的VFP9浮點(diǎn)協(xié)處理器ARM處理器系列-ARM10EARM1020E,ARM1022E,ARM1026EJ-S六級(jí)流水線400M主頻VFP10浮點(diǎn)協(xié)處理器SecurCore系列支持ARM及Thumb指令集包括SecurCore
SC100,SecurCore
SC110,SecurCore
SC200及SecurCore
SC2104軟內(nèi)核技術(shù),提供靈活性提供安全特性,抵制攻擊提供面向智能卡的存儲(chǔ)保護(hù)單元MPU其它Intel
Xscale系列Intel
StrongARM系列2.2.2ARM寄存器組31個(gè)32位通用寄存器R0~R7:無備份寄存器:8R8~R12:備份寄存器(快速中斷FIQ):10R13:棧指針:6R14:連接寄存器:6R15:PC:1ARM寄存器組CPSR(程序狀態(tài)寄存器)條件標(biāo)志位:NZCVQ:DSP是否溢出控制位I:IRQ中斷禁止位控制位F:FIQ中斷禁止位控制位T:指示是ARM還是Thumb指令M[4:0]:指示處理器模式N
|
Z
|
C
|
V
|
Q
|
DNM(RAZ)
|
I
|
F
|
T
|
M4
|
M3
|
M2
|
M1
|
M02.2.3
ARM指令分類數(shù)據(jù)處理指令Load/Store指令跳轉(zhuǎn)指令程序狀態(tài)寄存器傳輸指令協(xié)處理器指令異常中斷產(chǎn)生指令指令格式cond
|
00
|
X
|
opcode
|
S
|
Rn
|
Rd
|
格式由X位決定31
27
25
24
20
19
15
11
0X=1立即數(shù)方式#rot
|
8位立即數(shù)11
7
0X=0#shift |
Sh
|
0
|
Rm11
6
4
3
0Rs |
0
|
Sh
|
1
|
Rm11
7
6
4
3
0指令語法<opcode>
{<cond>}{S}
<Rd>,<Rn>,<shifter_operand>MOVADDADDLDRLDRR3,R2R3,R1,R2R0,R1,#2R0,[R1,-R2]R0,[R1,#4]2.2.3.1數(shù)據(jù)處理指令數(shù)據(jù)傳送指令MOV
R0,R1MVN
R0,[R1]算術(shù)運(yùn)算指令A(yù)DDSUBANDR0,R1,R1,LSL
#1
;R0=R1+R1*2R0,R0,#1
;R0=R0-1R0,R1,#15比較指令CMPTSTR1,#256R1,#2552.2.3.2
Load/Store指令32位字指令LDRLDRSTRR0,[R1,#4]R0,[R1,R2]R0,[R1,#100]8位字節(jié)指令LDRBLDRBTSTRBR0,[R1]R0,[R1,R2,LSL
#2]R0,[R1]半字指令LDRHLDRSHR0,[R1]R0,[R1],#2偽指令–
ADRR1,X2.2.3.3
跳轉(zhuǎn)指令跳轉(zhuǎn)指令范圍32MB;PC+400B
LabelB
#100BL
Func示例1X=(a+b)-CADR
r4,aLDR
r0,[r4]ADR
r4,bLDR
r1,[r4]ADD
r3,r0,r1ADR
r4,cLDR
r2,[r4]SUB
r3,r3,r2ADR
r4,xSTR
r3,[r4]示例2Z=(a
<<2)|(b&15)ADRLDRMOVADRLDRANDORRADRSTRr4,ar0,[r4]r0,r0,LSL
#2r4,br1,[r4]r1,r1,#15r1,r0,r1r4,zr1,[r4]if
(a
<
b){X
=
5;Y
=
c
+
d;}else x=c
–
d;ADRLDRADRLDRCMPBGEMOVADRSTRADRLDRADRr4,ar0,[r4]r4,br1,[r4]r0,r1fblockr0,#5r4,xr0,[r4]r4,cr0,[r4]r4,d示例3–LDRr1,[r4]–ADDr0,r0,r1–ADRr4,y–STRr0,[r4]–BafterFblockADRr4,cLDRr0,[r4]ADRr4,dLDRr1,[r4]SUBr0,r0,r1ADRr4,xSTRr0,[r4]after示例3‘–
ADRr4,a–
ADRGEr4,c–
LDRr0,[r4]–
LDRGEr0,[r4]–
ADRr4,b–
ADRGEr4,d–
LDRr1,[r4]–
LDRGEr1,[r4]–
CMPr0,r1–
SUBGEr0,r0,r1–
MOVLTr0,#5–
ADRGEr4,x–
ADRLTr4,x–
STRGEr0,[r4]–
STRLTr0,[r4]–
ADRLTr4,c–
LDRLTr0,[r4]–
ADDLTr0,r0,r1–
ADRLTr4,y–
STRLTr0,[r4]示例4Switch
(test){–ADRr2,testCase
0:…break;–LDRr0,[r2]Case
1:…break;–ADRr1,switchtab…–LDRr15,[r1,r0,LSL
#2]}–
Switchtab
DCDcase0DCDcase1…–
Case0
…;code–
Case1
…;codeFIR濾波器For
(I=0,f=0;
I<N;
I++)–
F
=
f
+
c[I]*x[I]I=0;F=0;While(I<N){–
F=f+c[I]*x[I];I++;}示例5–MOVr0,#0–MOVr8,#0–ADRr2,N–LDRr1,[r2]–MOVr2,#0–ADRr3,c–ADRr5,xLoopLDRr4,[r3,r8]LDRr6,[r5,r8]MULr4,r4,r6ADDr2,r2,r4ADDr8,r8,#4ADDr0,r0,#1CMPr0,r1BLTloop函數(shù)調(diào)用X
=
a
+
bFoo(x)Y
=
c
–
dBL
FooMOV
LR,PC;由BL自動(dòng)執(zhí)行MOV
PC,LR;過程返回Void
f1(int
a){–
F2(a);}F1
LDRr0,[r13];棧頂取參數(shù)STRr14,[r13,#4]!STRr0,[r13,#4]!BLf2SUBr13,#4LDRr15,[r13],#-42.3
SHARC處理器ADSP-21XX:16位定點(diǎn)DSPADSP-2106X:32位浮點(diǎn)DSPSHARC:超級(jí)哈佛結(jié)構(gòu)計(jì)算機(jī)32位數(shù)據(jù)與地址片上存儲(chǔ)器,分PM與DMSHARC處理器概述計(jì)算單元:ALU,MAC,Shifter(定點(diǎn)、浮點(diǎn))指令長48位,基本數(shù)據(jù)32位,地址32位支持?jǐn)?shù)據(jù)類型:32位單精度浮點(diǎn),40位擴(kuò)展精度浮點(diǎn),32位整數(shù)2.3.1
寄存器組定點(diǎn)數(shù)寄存器R0~R15浮點(diǎn)數(shù)寄存器F0~F15算術(shù)狀態(tài)寄存器(ASTAT)粘著寄存器(STKY)模式1寄存器(MODE1)地址數(shù)據(jù)生成寄存器組DAGASTAT的ALU狀態(tài)標(biāo)志位名稱定義0AZ結(jié)果為0或下溢1AV結(jié)果溢出2AN結(jié)果為負(fù)3AC定點(diǎn)進(jìn)位4ASX輸入量的符號(hào)(ABS,MANT指令)5AI浮點(diǎn)無效10AF最近一次操作是浮點(diǎn)24~31CACC比較累計(jì)寄存器(最近8次結(jié)果)ASTAT的乘法器狀態(tài)標(biāo)志位名稱定義6MN結(jié)果為負(fù)7MV溢出8MU浮點(diǎn)向下溢出9MI浮點(diǎn)無效操作STKY的ALU狀態(tài)標(biāo)志位名稱定義0AUS浮點(diǎn)下溢1AVS浮點(diǎn)溢出2AOS定點(diǎn)溢出5AIS浮點(diǎn)無效操作STKY的乘法器狀態(tài)標(biāo)志位名稱定義6MOS定點(diǎn)乘法溢出7MVS操作溢出8MUS浮點(diǎn)向下溢出9MIS浮點(diǎn)無效操作MODE1控制位位名稱定義13ALUSATALU飽和使能,1=使能,0=禁止15TRUNC舍入方式控制,1=截尾,0=靠近實(shí)際值16RND32浮點(diǎn)數(shù)截取界限控制,1=截取到32位,0=截取到40位DAGI0I1I2I3M0M1M2M3L0L1L2L3B0B1B2B3I4I5I6I7M4M5M6M7L4L5L6L7B4B5B6B7I8I9I10I11M8M9M10M11L8L9L10L11B8B9B10B11I12I13I14I15M12M13M14M15L12L13L14L15B12B13B14B15DAG1DAG2DAGDAG1:32位數(shù)據(jù)地址
(DMA總線)DAG2:24位程序地址
(PMA總線)I:索引,存儲(chǔ)器指針M:修正,移動(dòng)指針修改值B:基址,循環(huán)緩沖基址L:長度,循環(huán)緩沖區(qū)長度每個(gè)DAG寄存器都有備份寄存器事先修改、事后修改PM(Mx,Ix),DM(Mx,Ix)不修改IxPM(Ix,Mx),DM(Ix,Mx)修改IxR1=DM(0x400,I1)PM(I8,0x0B)=ASTATDAG循環(huán)尋址:必須用事后修改–
F1=DM(I0,M0)初始化非零L寄存器初始化基址B寄存器初始化基址同時(shí)置入I位反序?qū)ぶ稤AG1中的I0按位反序輸出成為地址DAG2中的I8按位反序輸出成為地址I0=0x80400000;R1=DM(I0,3);(DM地址=0x201,I0=0x8040003)尋址操作示例絕對(duì)地址:–
R0=DM(0x2000000);–
R0=DM(_a);–
DM(_a)=R0;后修改模式地址:–
R0=DM(I3,M1);–
DM(I2,1)=R1;基址加偏移量:–
R0=DM(M1,I0);程序存儲(chǔ)器存儲(chǔ)數(shù)據(jù)Float
dm
a[N];2.3.2
指令集定點(diǎn)ALU操作浮點(diǎn)ALU操作移位操作分支條件操作2.3.2.1
定點(diǎn)算術(shù)操作Rn=Rx+RyRn=Rx-RyRn=Rx+Ry+CIRn=Rx-Ry+CI-1Rn=(Rx+Ry)/2COMP(Rx,Ry)Rn=Rx+CIRn=Rx+CI-1Rn=Rx+1Rn=Rx-1Rn=-RxRn=ABS
RxRn=PASS
RxRn=Rx
AND
RyRn=Rx
OR
RyRn=Rx
XOR
RyRn=NOT
RxRn=MIN(Rx,Ry)Rn=MAX(Rx,Ry)Rn=CLIP
Rx
by
Ry2.3.2.2浮點(diǎn)算術(shù)操作Fn=Fx+FyFn=Fx-FyFn=ABS(Fx+Fy)Fn=ABS(Fx-Fy)Fn=(Fx+Fy)/2COMP(Fx,Fy)Fn=-FxFn=ABS
FxFn=PASS
FxFn=RND
FxFn=SCALB
Fx
by
RyFn=MANT
FxFn=LOGB
FxFn=Fix
Fx,Rn=TRUNC
FxFn=Float
Rx
by
Fy,FLOATRxFn=RECIPT
RxFn=RSQRTS
FxFn=Fx
COPYSIGN
FyFn=MIN(Fx,Fy)Fn=MAX(Fx,Fy)Fn=CLIP
Fx
by
Fy示例1X=(a+b)-cR0=DM(_a);R1=DM(_b);R3=R0+R1;R2=DM(_c);R3=R3-R2;DM(_x)=R3;Y=a*(b+c)R1=DM(_b);R2=DM(_c);R2=R1+R2;R0=DM(_a);R2=R2*R0;DM(_y)=R2;R2=DM(I1,M5),R1=PM(I8,M13);R0=R2+R1,R12=DM(I0,M5);R6=R12*R0;DM(I0,M5)=R6;2.3.2.3移位操作Rn=LSHIFT
Rx
by
RyRn=Rn
OR
LSHIFT
Rx
by
RyRn=ASHIFT
Rx
by
RyRn=Rn
OR
ASHIFT
Rx
by
RyRn=ROT
Rx
by
RyRn=BCLR
Rx
by
RyRn=BSET
Rx
by
RyRn=BTGL
Rx
by
RyBTST
Rx
by
RyRn=FDEP
Rx
by
RyRn=Rn
O
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市保障性住房施工合同
- 山東施工合同違約
- 溜冰場租賃合同適用于溜冰租賃
- 體育訓(xùn)練搭棚施工合同范本
- 大學(xué)校園真石漆修復(fù)協(xié)議
- 家政公司保姆勞動(dòng)合同范本
- 婚禮場地遮陽棚工程協(xié)議
- 《詩歌的暗示性》課件
- 大班歌唱活動(dòng)花兒開教案
- 關(guān)于幼兒師德培訓(xùn)心得體會(huì)
- 國家自然科學(xué)基金申請(qǐng)經(jīng)驗(yàn)匯總課件
- 青春期女孩自尊自愛課件
- 2023年西藏開發(fā)投資集團(tuán)有限公司招聘筆試題庫及答案解析
- 小學(xué)語文人教三年級(jí)上冊(cè)觀察桔子孫娟課件
- 藏族人的名字標(biāo)準(zhǔn)英語翻譯
- DB61-T 477-2021學(xué)生公寓床上用品質(zhì)量規(guī)范
- 市場營銷產(chǎn)品組合與產(chǎn)品策略課件
- 醫(yī)院會(huì)計(jì)實(shí)務(wù)操作培訓(xùn)課件
- 《江蘇省建筑業(yè)10項(xiàng)新技術(shù)(2021)》
- 高中化學(xué)實(shí)驗(yàn)員招聘考試試卷及評(píng)分標(biāo)準(zhǔn)
- ()國民經(jīng)濟(jì)行業(yè)分類(2019修改版-)
評(píng)論
0/150
提交評(píng)論