版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
ARM體系結(jié)構(gòu)與編程2006.21AssembleLangugeofARM教師:琚小明辦公室:B219電話:62233110-834Email:xmju@scozy_xmju@bbs:/bbs答疑時間:周四下午14:30-16:00B219?PPT下載:26seidowndownload212AssembleLangugeofARM教材《ARM體系結(jié)構(gòu)與編程》,杜春雷編著,清華大學(xué)出版社參考資料《ARMSoC體系結(jié)構(gòu)》,[英]SteveFurber著,田澤等譯,北京航空航天大學(xué)出版社//
3AssembleLangugeofARM目的熟悉ARM體系結(jié)構(gòu)掌握使用匯編語言設(shè)計、編寫、調(diào)試和運行程序的方法4AssembleLangugeofARM成績構(gòu)成:出勤和課堂作業(yè): 20%上機(jī)編程: 20%期末考試: 60%5AssembleLangugeofARM內(nèi)容安排RISC體系結(jié)構(gòu)介紹ARM處理器體系結(jié)構(gòu)ARM指令尋址方式ARM指令集ARM匯編語言語法結(jié)構(gòu)ARM集成開發(fā)環(huán)境ADSARM異常中斷處理6AssembleLangugeofARM1.計算機(jī)語言發(fā)展簡史機(jī)器語言匯編語言高級語言FORTRANBASICCOBOLPASCALC/C++JAVA…...學(xué)習(xí)匯編語言的重要性!
7AssembleLangugeofARM機(jī)器語言:依賴于機(jī)器的低級語言,書寫格式為二進(jìn)制代碼。
優(yōu)點:執(zhí)行速度快,效率高。
缺點:表達(dá)的意義不直觀,編寫、閱讀、調(diào)試較困難。匯編語言:是一種符號語言,與機(jī)器語言一一對應(yīng);使用助記符表示相應(yīng)的操作,并遵循一定的語法規(guī)則。與機(jī)器語言有類似的優(yōu)、缺點,但比機(jī)器語言更易于為人們所理解。高級語言:面向人的語言,有多種類型。
優(yōu)點:便于閱讀,易學(xué)易用,不涉及硬件,具有通用性。
缺點:目標(biāo)代碼冗長,占用內(nèi)存多,從而執(zhí)行時間長,效率不高,不能對某些硬件進(jìn)行操作。8AssembleLangugeofARM匯編語言的特點:面向機(jī)器的低級語言,通常是為特定的計算機(jī)或計算機(jī)系列專門設(shè)計的。(ISA體系結(jié)構(gòu),面向特定的處理器)
保持了機(jī)器語言的優(yōu)點,具有直接和簡潔的特點??捎行У卦L問、控制計算機(jī)的各種硬件設(shè)備,如磁盤、存儲器、CPU、I/O端口等。目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計語言。經(jīng)常與高級語言配合使用(混合編程),應(yīng)用十分廣泛。9AssembleLangugeofARM匯編語言的應(yīng)用:
70%以上的系統(tǒng)軟件是用匯編語言編寫的。某些快速處理、位處理、訪問硬件設(shè)備等高效程序是用匯編語言編寫的。某些高級繪圖程序、視頻游戲程序、圖像解壓縮程序是用匯編語言編寫的。10AssembleLangugeofARM#include"stdafx.h"#include"stdio.h"intmain(intargc,char*argv[]){inta,b,c;a=1; b=2; c=a+b; printf(“c=%d\n",c); return0;}下面是兩個小例子,例1是用高級語言VC++編寫的,例2是用匯編語言編寫的。它們完成相同的功能,即把a(bǔ)、b的內(nèi)容相加賦給c,并在屏幕上顯示出來。例1編譯后的目標(biāo)文件達(dá)到3.59KB11AssembleLangugeofARMdatasegmentadb?bdb?cdb?stringdb'c=$'dataendscodesegmentmainprocfarassumecs:code,ds:data,es:datastart:pushdssubax,axpushaxmovax,datamovds,axmoves,ax
mova,1movb,2moval,aaddal,bmovc,alleadx,stringmovah,09int21haddc,30hmovdl,cmovah,2int21hmovdl,0ahint21hmovdl,0dhint21hretmainendpcodeendsendstart例2匯編后的目標(biāo)文件只有208字節(jié)12AssembleLangugeofARM2.RISC處理器體系結(jié)構(gòu)概述ISA體系結(jié)構(gòu)分類根據(jù)指令使用數(shù)據(jù)的方式,指令系統(tǒng)分為以下幾類堆棧型(Stack):操作數(shù)在棧頂,運算操作不用指定操作數(shù)累加器型(Accumulator):一個操作數(shù)總在累加器中,結(jié)果也寫回累加器寄存器型(Register),每個操作數(shù)都由指令指定Register-Register型,又稱為Load-Store型,所有運算操作的操作數(shù)都在寄存器中Register-Memory型Memory-Memory型上述三種指令系統(tǒng)類型也可以分別稱為0地址指令,單地址指令,以及多地址指令13AssembleLangugeofARM例子:不同指令系統(tǒng)完成C=A+B的指令序列,假設(shè)A、B、C在內(nèi)存中不同的單元stackaccumulatorRegister(memory-memory)Register(register-memory)Register(load-store)pushAloadAaddR1,A,BloadR1,AloadR1,ApushBaddBstoreR1,CaddR1,BloadR2,BaddstoreCstoreR1,CaddR3,R1,R2popCstoreR3,C14AssembleLangugeofARM早期的計算機(jī)多用堆棧和累加器型指令出于降低硬件復(fù)雜度的考慮現(xiàn)在已經(jīng)不用(Intel有點例外)80年代后的機(jī)器主要是寄存器型訪問寄存器比訪問存儲器快便于編譯器使用和優(yōu)化(操作單一,寄存器vs.內(nèi)存)寄存器可以用來存放變量,減少訪存次數(shù)15AssembleLangugeofARM處理器是一個執(zhí)行存儲器中指令的有限狀態(tài)機(jī),采用存儲程序數(shù)字計算機(jī)的原理。存儲程序數(shù)字計算機(jī)把指令和數(shù)據(jù)存放在同一個存儲器系統(tǒng)中,指令和數(shù)據(jù)可以放在一起或分開存放。馮諾依曼結(jié)構(gòu)哈佛結(jié)構(gòu)
16AssembleLangugeofARM17AssembleLangugeofARM馮.諾依曼”型計算機(jī)的邏輯結(jié)構(gòu)的三層含義:計算機(jī)應(yīng)包含運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大基本部件;計算機(jī)內(nèi)部采用二進(jìn)制形式表示指令和數(shù)據(jù);事先將編好的程序和始數(shù)據(jù)放入存儲器中,計算機(jī)工作的時候能夠自動高速地從存儲器中提取指令并執(zhí)行。18AssembleLangugeofARM輸入設(shè)備
存儲器
運算器控制器計算機(jī)的基本組成結(jié)構(gòu)(馮.諾依曼體系)
輸出設(shè)備19AssembleLangugeofARM復(fù)雜指令集計算機(jī)CISC(ComplexInstructionSetComputer)增加指令的復(fù)雜度,一條指令在多個時鐘周期內(nèi)完成。精簡指令集計算機(jī)RISC(ReducedInstructionSetComputer)的思想起源于1980年斯坦福大學(xué)的一項處理器研究項目。RISC的指令是在單個時鐘周期內(nèi)完成的。20AssembleLangugeofARM體系結(jié)構(gòu)發(fā)展歷程計算機(jī)自40年代中葉問世以來,其體系結(jié)構(gòu)的發(fā)展經(jīng)歷了:簡單復(fù)雜極其復(fù)雜簡單復(fù)雜極其復(fù)雜大規(guī)模集成電路VLSI技術(shù)的發(fā)展促進(jìn)了處理器體系結(jié)構(gòu)的發(fā)展。21AssembleLangugeofARMCISCCISC的特點:(VAX機(jī))指令格式不固定,指令可長可短,操作數(shù)可多可少;尋址方式復(fù)雜多樣,操作數(shù)可來自寄存器,也可來自存儲器;采用微程序控制,執(zhí)行每條指令均需完成一個微指令序列;CPI>5,指令越復(fù)雜,CPI越大。22AssembleLangugeofARMCISC(續(xù))CISC的缺點:指令集雖大,但指令使用頻度不均衡;20%/80%定律:20%的指令的使用時間占80%的運行時間;常用指令數(shù)僅占指令集總數(shù)的10-20%。微程序控制器制約了速度提高,因為存放微碼的存儲器速度比CPU慢5-10倍;CPI很大;CISC不利于先進(jìn)指令級并行(ILP)技術(shù)的采用;編譯器代碼優(yōu)化困難。23AssembleLangugeofARMRISC的提出與發(fā)展:Load/Store結(jié)構(gòu)提出:CDC6600(1963)--CRAY1(1976)RISC思想最早在IBM公司提出,但不叫RISC,IBM801處理器是公認(rèn)體現(xiàn)RISC思想的機(jī)器。D.Patterson提出RISC名詞,并研制了RISC-,實驗樣機(jī)。J.Hennessy研制MIPS芯片(1982)。85年后推出商品化RISC:MIPS1(1986)和SPARCV1(1987)24AssembleLangugeofARMRISC的貢獻(xiàn)RISC統(tǒng)一了計算機(jī)的體系結(jié)構(gòu),在此前的計算機(jī)體系結(jié)構(gòu)是五花八門的(累加器結(jié)構(gòu),棧結(jié)構(gòu),寄存器-內(nèi)存結(jié)構(gòu)等)提高了性能,在80年代中期,CPU的MIPS數(shù)由80年代初的2-3MIPS提高到200-300MIPS.Architecture與Compiler緊密相關(guān)(如靜、動態(tài)調(diào)度,ILP)流水線技術(shù)的應(yīng)用25AssembleLangugeofARMRISC體系結(jié)構(gòu)RISC處理器的思想、特點80%/20%定律精簡指令集(reducedinstructionset)典型的RISC處理器的結(jié)構(gòu):MIPS,ARM流水線技術(shù)26AssembleLangugeofARMRISC基本設(shè)計思想:減小CPI: CPUtime=Instr_Count*CPI*Clock_cycle精簡指令集:保留最基本的,去掉復(fù)雜的,使用頻度不高的指令采用Load/Store結(jié)構(gòu),有助于大大減少指令格式,統(tǒng)一了存儲器訪問方式采用硬接線控制代替微程序控制27AssembleLangugeofARMRISC結(jié)構(gòu)的特點:尋址方式少,指令格式少且規(guī)整,指令長度統(tǒng)一(32bit),便于提高流水線效率。(見MIPS指令格式)Load/store指令結(jié)構(gòu)大寄存器文件(32個32位寄存器)CPI接近于1,大多數(shù)指令單周期完成硬接線控制器有助于編譯優(yōu)化代碼28AssembleLangugeofARMCISCvs.RISCCISC復(fù)雜指令集計算機(jī)指令多,功能復(fù)雜,線路復(fù)雜指令長度不一,編程簡單,控制復(fù)雜;尋址方式多,復(fù)雜;每條指令的執(zhí)行周期數(shù)CPI在1~20;RISC精簡指令集計算機(jī)定長指令,條數(shù)少,多級流水線;指令簡化令機(jī)器結(jié)構(gòu)簡單,譯碼簡單統(tǒng)一、優(yōu)化;尋址方式少,簡單;特定指令訪問內(nèi)存,如:Load,Store;每條指令的執(zhí)行周期數(shù)CPI在1~2;29AssembleLangugeofARMMIPS指令格式
OP(6)RS1(5)RS2(5)RD(5)SA(5)funct(6)R-typeOP(6)RS(5)RD(5)ImmediateI-typeOP(6)targetJ-type30AssembleLangugeofARM高性能典型RISC處理器SUN公司的SPARCMIPS公司的SGI:MIPSHP公司的PA-RISCIBM,Motorola公司的PowerPCDEC、Compac公司的AlphaARM
?31AssembleLangugeofARM典型的RISC處理器:MIPS五級流水32AssembleLangugeofARM流水線技術(shù)什么是流水線(pipeline)流水線是實現(xiàn)多條指令重疊執(zhí)行的技術(shù),是加快CPU執(zhí)行速度的關(guān)鍵技術(shù)。術(shù)語:流水級(pipestage):流水線由多個流水級組成,通常一條指令由n級流水級完成。每個流水級完成指令的部分任務(wù)。吞吐量(throughput):單位時間內(nèi)流出流水線的指令數(shù)。33AssembleLangugeofARM機(jī)器周期(machinecycle):不同流水線完成指令功能不等,所需時間有長有短,因此設(shè)計流水線的關(guān)鍵是合理劃分指令功能,使每一流水級完成指令功能的時間大致相等。機(jī)器周期由最長流水級的時間決定,通常等于時鐘周期。34AssembleLangugeofARM理想流水線的加速因子(Speedup)
非流水線機(jī)器指令的平均執(zhí)行時間=--------------------------------流水線機(jī)器指令的平均執(zhí)行時間非流水線機(jī)器指令的平均執(zhí)行時間=----------------------------------------非流水線機(jī)器指令的平均執(zhí)行時間/流水級數(shù)=流水級數(shù)35AssembleLangugeofARM以典型RISC體系結(jié)構(gòu)計算機(jī)為例,RISC指令的流水線實現(xiàn)分五步(即5個時鐘周期)完成:1、取指令周期(IF)IRMem[PC]NPCPC+42、譯碼/讀寄存器周期(ID)AReg[IR6..10]BReg[IR11..15]Imm((IR16)16##IR16..31)36AssembleLangugeofARM3、執(zhí)行/有效地址計算(EX)Load/StoreALUoutputA+ImmR-RALUALUoutputAfuncBR-IALUALUoutputAopImmBranchALUoutputNPC+Imm;CondAop037AssembleLangugeofARM4、存儲器訪問/轉(zhuǎn)移完成(MEM)Load/Store:LMDMem[ALUoutput]Mem[ALUoutput]BBranch
if(Cond)thenPCALUoutputelsePCNPC38AssembleLangugeofARM5、寫回周期(WB)R-RALURegs[IR16..20]ALUoutputR-IALURegs[IR11..15]ALUoutputLoadRegs[IR11..15]LMD39AssembleLangugeofARMRISC五級流水線實現(xiàn)示意圖40AssembleLangugeofARM在兩個相鄰節(jié)拍間增加一暫存器(鎖存器),用來保留指令的狀態(tài)(及數(shù)據(jù)),共有IF/ID,ID/EX,EX/MEM,M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東科學(xué)技術(shù)職業(yè)學(xué)院《園林規(guī)劃設(shè)計原理Ⅲ》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東科技學(xué)院《國家預(yù)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東機(jī)電職業(yè)技術(shù)學(xué)院《安裝工程識圖》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東行政職業(yè)學(xué)院《計算機(jī)電子電路基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東東軟學(xué)院《現(xiàn)代信號處理專題》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東財經(jīng)大學(xué)《倉儲與配送管理實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東財經(jīng)大學(xué)《基礎(chǔ)俄語三》2023-2024學(xué)年第一學(xué)期期末試卷
- 砂鍋菜培訓(xùn)課件
- 贛西科技職業(yè)學(xué)院《互聯(lián)網(wǎng)發(fā)展歷程》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南醫(yī)學(xué)院《企業(yè)仿真綜合實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 建筑公司證書津貼支付管理辦法
- 2024年電大勞動與社會保障法期末考試題庫及答案
- 人教版九年級數(shù)學(xué)上冊21.1《一元二次方程》教學(xué)設(shè)計
- 從古至今話廉潔-大學(xué)生廉潔素養(yǎng)教育智慧樹知到期末考試答案章節(jié)答案2024年吉林大學(xué)
- 高中英語外刊-小貓釣魚50篇
- 開展醫(yī)院安全應(yīng)急演練工作計劃三篇
- 宜賓市敘州區(qū)2021-2022學(xué)年七年級上學(xué)期期末數(shù)學(xué)試題
- 【打油詩】72則創(chuàng)意期末評語模板-每頁8張
- 重慶市2023-2024學(xué)年七年級上學(xué)期期末考試語文試題(解析版)
- 傳承傳統(tǒng)文化教育教案(3篇模板)
- QBT 2460-1999 聚碳酸酯(PC)飲用水罐
評論
0/150
提交評論