版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
微處理器系統(tǒng)結構
及嵌入式系統(tǒng)設計2022/10/201第一章理解馮·諾依曼結構計算機和哈佛結構計算機各自的特點;理解CISC架構計算機和RISC架構計算機各自的特點;理解高速緩存、虛擬內(nèi)存、流水線、并行等先進技術;理解嵌入式計算機系統(tǒng)的特點、發(fā)展現(xiàn)狀及發(fā)展趨勢。2電子工程學院第二章計算機系統(tǒng)組成與工作原理掌握馮·諾依曼體系結構的特征;掌握計算機存儲器子系統(tǒng)的分級技術;掌握存儲器的存取原理(如編址技術及存放技術等);掌握CPU內(nèi)部控制單元、數(shù)據(jù)通路的設計原理;掌握計算機接口的基本結構。掌握計算機性能的評測方法。3電子工程學院計算機體系結構定義為機器語言程序員所看到的計算機系統(tǒng)的屬性,由硬件或固件完成的功能包括:數(shù)據(jù)表示、尋址規(guī)則、寄存器定義、指令集、終端系統(tǒng)、存儲系統(tǒng)、信息保護、I/O結構等計算機組成(ComputerOrganization)指的是計算機體系結構的邏輯實現(xiàn)包括機器內(nèi)部的數(shù)據(jù)流和控制流的組成以及邏輯設計等計算機實現(xiàn)(ComputerImplementation)指的是計算機組成的物理實現(xiàn)包括處理機、存儲器等部件的物理結構,器件的集成度和速度,模塊、插件、底板的劃分與連接,信號傳輸,電源、冷卻及整機裝配技術4電子工程學院馮·諾伊曼體系結構主要特點:使用二進制數(shù)和存儲程序設計思想:存儲程序并按地址順序執(zhí)行把程序及其操作數(shù)據(jù)一同存儲哈佛體系結構(HarvardArchitecture)把程序與其操作數(shù)據(jù)分開存儲,兩套總線5電子工程學院模型機總線結構AB:通常是單向的,由主設備(如CPU)發(fā)出,用于選擇讀寫對象(如某個特定的存儲單元或外部設備);DB:用于數(shù)據(jù)交換,通常是雙向的;CB:包括真正的控制信號線(如讀/寫信號)和一些狀態(tài)信號線(如是否已將數(shù)據(jù)送上總線),用于實現(xiàn)對設備的監(jiān)視和控制。6電子工程學院模型機內(nèi)存儲器存儲器組織由許多字節(jié)單元組成,每個單元都有一個唯一的編號(存儲單元地址),保存的信息稱為存儲單元內(nèi)容。訪問(讀或?qū)?存儲單元:存儲單元地址經(jīng)地址譯碼后產(chǎn)生相應的選通信號,同時在控制信號的作用下讀出存儲單元內(nèi)容到數(shù)據(jù)緩沖器,或?qū)?shù)據(jù)緩沖器中的內(nèi)容寫入選定的單元。7電子工程學院算術邏輯單元ALU累加器ACC累加鎖存器暫存器標志寄存器FR通用寄存器組堆棧指針SP程序計數(shù)器PC微操作控制電路指令譯碼器ID指令寄存器IR
操作碼,地址碼脈沖分配器時鐘脈沖源控制總線CB地址總線AB數(shù)據(jù)總線DB內(nèi)部總線地址緩沖器數(shù)據(jù)緩沖器運算器寄存器組控制器模型機CPU子系統(tǒng)8電子工程學院把輸入的任務分割為一系列子任務,各子任務能在流水線各個階段并發(fā)執(zhí)行流水線沖突數(shù)據(jù)冒險(如后面的計算要用到前面的結果)結構冒險(硬件資源不夠)控制冒險(分支等跳轉指令引起)流水線技術9電子工程學院1、用MIPS(MillionInstructionsPerSecond,每秒百萬條指令)或MFLOPS(每秒百萬次浮點操作)的數(shù)值來衡量計算機系統(tǒng)的硬件速度。2、用CPU執(zhí)行時間T來量化硬軟件結合系統(tǒng)的有效速度。MIPS=f(MHz)/CPIT(s)=(IC×CPI)/f(Hz)f(時鐘頻率):CPU的基本工作頻率IC(指令數(shù)目):運行程序的指令總數(shù)CPI(CyclesPerInstruction):指令執(zhí)行的平均時鐘周期數(shù),可從運行大量測試程序或?qū)嶋H程序產(chǎn)生的統(tǒng)計數(shù)據(jù)中計算出來性能測定CPI數(shù)越小,CPU執(zhí)行指令的速度越快10電子工程學院第三章微處理器體系結構及關鍵技術掌握CPU的功能和模塊構成;掌握控制器的組成、工作原理、操作過程和電路原理結構;掌握處理器數(shù)據(jù)通路結構、組成和工作原理;掌握指令系統(tǒng)的基本設計要素(包括操作碼、操作數(shù)、尋址方式等的確定);掌握機器指令的組成、指令格式。11電子工程學院程序的執(zhí)行過程取指令、分析指令、執(zhí)行指令ABDBALUR1暫存器標志寄存器FR寄存器組
操作控制器OC指令譯碼器ID指令寄存器IR
操作碼,地址碼內(nèi)部總線地址緩沖器數(shù)據(jù)緩沖器程序計數(shù)器PC地址譯碼讀控制B0H5CH04H2EH地址1001H1002H1003H內(nèi)容1000H內(nèi)存儲器MOV5CH,R1ADDR1,2EH,R1+1CPU外CPU內(nèi)①②③④⑤⑥①②③④⑤⑥①③④⑤⑥②①②③④⑤⑥⑦⑧12電子工程學院微處理器的工作過程①取指令:當程序已在存儲器中時,首先根據(jù)程序入口地址取出一條程序,為此要發(fā)出指令地址及控制信號。②分析指令:即指令譯碼,是指對當前取得的指令進行分析,指出它要求什么操作,并產(chǎn)生相應的操作控制命令。③執(zhí)行指令:根據(jù)分析指令時產(chǎn)生的“操作命令”形成相應的操作控制信號序列,通過運算器、存儲器及輸入/輸出設備的執(zhí)行,實現(xiàn)每條指令的功能,其中包括對運算結果的處理以及下條指令地址的形成。13電子工程學院寄存器傳輸級(RTL)描述數(shù)據(jù)通路CPU的寄存器傳輸級(ResistorTransistorLevel,
RTL)描述:數(shù)據(jù)通路:ALU+寄存器+內(nèi)部總線功能:基本的二進制算術、邏輯及移位運算;根據(jù)運算結果設置狀態(tài)標志(進/借位、溢出等);特性:數(shù)據(jù)通路寬度:即字長,CPU單次傳送和處理數(shù)據(jù)的能力。數(shù)據(jù)通路周期:ALU運算并將保存結果的過程。14電子工程學院機器指令要素操作碼(operationcode,opcode):需要完成的操作;源操作數(shù)
(sourceoperandreference):操作所需的輸入;結果操作數(shù)
(resultoperandreference):操作產(chǎn)生的結果;下一條指令
(nextinstructionreference):告訴CPU到哪里取下一條指令。15電子工程學院指令格式 操作碼字段:說明CPU應進行的操作按操作類型分組:同類操作要求同樣或類似的控制信號,因此編碼也類似(有盡可能多的公共位)操作數(shù)字段/地址字段:說明源操作數(shù)和目的操作數(shù)存放的位置信息(R、M或I/O);說明源操作數(shù)和目的操作數(shù)的數(shù)據(jù)類型;下一條指令地址字段:
如緊跟當前指令,在主存或虛存中,則不需顯示引用;如可能產(chǎn)生跳轉,則需要顯示給出存儲地址;指令類型決定了CPU的軟件功能特性尋址方式?jīng)Q定了CPU硬件功能特性16電子工程學院操作數(shù)字段根據(jù)地址碼的數(shù)量,可以將指令的格式分為:零地址指令、一地址指令、二地址指令、三地址指令和多地址指令17電子工程學院尋址方式1.在指令碼中指定操作數(shù):立即數(shù)尋址2.在寄存器中指定操作數(shù):寄存器(直接)尋址3.在存儲器中指定操作數(shù):存儲器直接尋址、存儲器間接尋址4.在匯編程序中指定操作數(shù):
相對尋址5.操作數(shù)在I/O接口中:存儲器尋址(存儲器映像編址)或端口尋址(獨立編址)18電子工程學院吞吐量(ThroughputRate)吞吐量Tp:指單位時間內(nèi)能完成的作業(yè)量。最大吞吐量Tpmax:流水線達到穩(wěn)定狀態(tài)后的吞吐率。用于描述流水線執(zhí)行各種運算的速率,通常表示為每秒執(zhí)行的運算數(shù)或每周期執(zhí)行的運算數(shù)。若一個m級線性流水線各級時長(即拍長)均為Δt,則連續(xù)處理n條指令時的實際吞吐量Tp為:可以看出,當n→時,最大吞吐量Tpmax=1/Δt19電子工程學院加速比(SpeedupRatio)非流水線執(zhí)行時間相對流水線執(zhí)行時間之比。若一個m級線性流水線各級時長(即拍長)均為Δt,則連續(xù)處理n條指令時的加速比Sp為:可以看出,當
n→時,Sp→m,即最大加速比等于流水線的段數(shù)m。20電子工程學院效率(Efficiency)一定時段內(nèi),流水線所有段處于工作狀態(tài)的比率。若一個m級線性流水線各級時長(即拍長)均為Δt,則連續(xù)處理n條指令時的效率E為:E=指令完成時間內(nèi)占用的時空區(qū)/指令總時空區(qū)可以看出,當
n→時,E→1,即流過流水線的指令越多,流水線效率越高。21電子工程學院第四章總線技術與總線標準掌握總線帶寬、總線仲裁的初步概念;掌握時鐘周期、總線周期、指令周期等概念;掌握同步、異步以及半同步總線時序的特點。22電子工程學院總線分類按所處位置(數(shù)據(jù)傳送范圍)片內(nèi)總線芯片總線(片間總線、元件級總線)系統(tǒng)內(nèi)總線(插板級總線)系統(tǒng)外總線(通信總線)非通用總線(與具體芯片有關)通用標準總線地址總線控制總線按總線功能數(shù)據(jù)總線并行總線串行總線按數(shù)據(jù)格式按時序關系(握手方式)同步異步半同步同步異步單總線多級總線按總線組織雙總線23電子工程學院計算機系統(tǒng)④外部總線、(系統(tǒng))外總線如并口、串口主板③系統(tǒng)總線、(系統(tǒng))內(nèi)總線如ISA、PCICPU②片(間)總線三總線形式①片內(nèi)總線單總線形式計算機系統(tǒng)的四層總線結構運算器寄存器控制器存儲芯片I/O芯片擴展接口板擴展接口板其他計算機系統(tǒng)其他儀器系統(tǒng)24電子工程學院典型的總線控制信號總線的控制信號存儲器寫信號存儲器讀信號I/O寫信號I/O讀信號總線請求信號總線授予信號中斷請求信號中斷應答信號時鐘信號復位信號25電子工程學院總線的性能指標總線時鐘頻率:總線上的時鐘信號頻率總線寬度:數(shù)據(jù)線、地址線寬度總線速率:總線每秒所能傳輸數(shù)據(jù)的最大次數(shù)??偩€速率=總線時鐘頻率/總線周期數(shù)總線周期數(shù):總線傳送一次數(shù)據(jù)所需的時鐘周期數(shù)有些幾個周期才能傳輸1個數(shù)據(jù)總線帶寬:總線每秒傳輸?shù)淖止?jié)數(shù)同步方式總線負載能力26電子工程學院總線仲裁總線周期的4個階段:總線請求與仲裁、尋址、傳數(shù)、結束。總線仲裁(arbitration)也稱為總線判決:合理地控制和管理系統(tǒng)中多個主設備的總線請求,以避免總線沖突。分布式(對等式)仲裁控制邏輯分散在連接于總線上的各個部件或設備中協(xié)議復雜且昂貴,效率高集中式(主從式)仲裁采用專門的控制器或仲裁器總線控制器或仲裁器可以是獨立的模塊或集成在CPU中菊花鏈、并行、混合27電子工程學院時鐘周期處理操作的最基本時間單位,由機器的主頻決定總線周期總線設備完成一次完整信息交換的時間讀/寫存儲器周期、讀/寫IO口周期DMA周期、中斷周期指令周期CPU取出一條指令并執(zhí)行該指令所需的時間周期28電子工程學院
總線時序總線時序是指總線事件的協(xié)調(diào)方式,以實現(xiàn)可靠的尋址和數(shù)據(jù)傳送同步:所有設備都采用一個統(tǒng)一的時鐘信號來協(xié)調(diào)收發(fā)雙方的定時關系異步:依靠傳送雙方互相制約的握手(handshake)信號來實現(xiàn)定時控制半同步:具有同步總線的高速度和異步總線的適應性29電子工程學院串行總線傳輸方式串行同步:收發(fā)雙方需要使用(傳送)同一時鐘信號傳輸信息的字節(jié)與字節(jié)之間、位與位之間均與時鐘嚴格同步.通常以數(shù)據(jù)塊為基本單位進行傳送串行異步:雙方時鐘不要求嚴格同步以字符為基本單位幀間異步,無需使用(傳送)同一時鐘源,收發(fā)雙方的時鐘在誤差范圍內(nèi)幀內(nèi)各位按固定時序和順序傳送30電子工程學院第五章存儲器系統(tǒng)掌握地址映射、地址譯碼等存儲器接口設計技術;掌握由多個存儲芯片構建主存儲器的方法;掌握存儲器模塊電路的設計。31電子工程學院存儲器分層結構設計目標整個存儲系統(tǒng)速度接近M1而價格和容量接近Mn二.操作策略映像規(guī)則:用于確定一個新的塊(頁)被調(diào)入本級存儲器時應放在什么位置上。查找規(guī)則:用于確定需要的塊(頁)是否存在本級存儲器中以及如何查找。替換規(guī)則:用于確定本級存儲器不命中且已滿時應替換哪一塊(頁)。寫規(guī)則:用于確定寫數(shù)據(jù)時應進行的操作。32電子工程學院存儲器的地址映射
地址映射也叫地址重定位,指將用戶程序中的邏輯地址,轉換為運行時機器可直接尋址的物理地址。分頁技術頁是信息的物理單位,與源程序的邏輯結構無關;頁長由系統(tǒng)確定,大小固定,用戶不可見;頁面只能以頁大小的整倍數(shù)地址開始,頁一般不能共享;33電子工程學院不同寬度數(shù)據(jù)的存儲方式按任意邊界對齊存儲可以保證存儲空間的利用(非規(guī)則存放)字字節(jié)字節(jié)半字字節(jié)半字字半字1半字2雙字(part1)雙字(part2)字節(jié)字節(jié)字節(jié)字節(jié)半字字節(jié)8字節(jié)主存寬度1字的位寬為32bits即4字節(jié)(4Bytes)34電子工程學院浪費半字浪費字雙字浪費字浪費字節(jié)雙字浪費字節(jié)按整數(shù)邊界對齊存儲可以保證訪存指令的速度(規(guī)則存放)8字節(jié)主存寬度數(shù)據(jù)存放是按邊界A2A1A0=000對其的.若主存寬度4字節(jié),則是按邊界A1A0=00對其的.35電子工程學院主存儲器的擴展CPU對存儲器進行讀/寫操作,首先由地址總線給出地址信號,然后發(fā)出讀操作或?qū)懖僮鞯目刂菩盘枺詈笤跀?shù)據(jù)總線上進行信息交流因此,存儲器同CPU連接時,要完成地址線、數(shù)據(jù)線和控制線的連接存儲器芯片容量有限,需要在字向和位向兩方面進行擴充,才能滿足實際存儲器的容量要求通常采用位擴展法、字擴展法、字位同時擴展法36電子工程學院兩級物理地址譯碼方案讀/寫控制信號、數(shù)據(jù)寬度指示信號、傳送方式指示信號等37電子工程學院三種譯碼方式的比較全譯碼
系統(tǒng)所有地址線全部都應該參與譯碼:低段地址線應直接接在模塊上,尋址模塊內(nèi)單元;中段地址線譯碼后產(chǎn)生片選信號區(qū)分不同模塊;高段地址線可用作片選信號有效的使能控制;部分譯碼
高段地址信號不參與譯碼,會造成地址空間的重疊及不連續(xù)。線譯碼
電路結構簡單,但系統(tǒng)必須保證參與片選的地址線不能同時為有效電平;同部分譯碼法一樣,因為有地址信號不參與譯碼,也存在地址重疊及不連續(xù)的問題;38電子工程學院第六章輸入/輸出接口掌握輸入/輸出接口電路的功能和結構;掌握端口編址方式、地址譯碼方法;掌握無條件及查詢控制接口的硬件及驅(qū)動設計方法;掌握程序控制及中斷控制輸入/輸出方式的特點。39電子工程學院接口的分類數(shù)據(jù)交換方式:串行數(shù)據(jù)接口、并行數(shù)據(jù)接口時序控制方式:同步接口、異步接口CPU訪問I/O的控制方式:程序查詢接口程序中斷接口直接存儲器訪問(DMA)接口通道40電子工程學院接口邏輯通常做成標準化的部件,稱為標準接口。典型的接口通常具有如下功能:設備選擇:譯碼選擇設備、端口數(shù)據(jù)收發(fā)和格式轉換:讀/寫,串/并、并/串接收、解釋、執(zhí)行CPU的命令:控制信號的實現(xiàn)外設狀態(tài)接收并轉發(fā)給CPU:端口狀態(tài)支持查詢、中斷、DMA等多種傳輸控制方式提供緩沖、暫存、驅(qū)動能力:信號驅(qū)動錯誤檢測功能:奇偶校驗復位接口功能41電子工程學院
總線外設數(shù)據(jù)緩沖/鎖存器狀態(tài)寄存器控制寄存器總線驅(qū)動地址譯碼控制邏輯接總線一側接外設一側DBABCB數(shù)據(jù)信息控制信息狀態(tài)信息端口
端口(PORT):接口中的寄存器一個外設可能有多個端口,一個端口也可能屬于多個外設;主機(CPU)可讀寫、8位長、存儲器映像或I/O獨立編址42電子工程學院兩種編址方式比較存儲器CPUABDBCB接口外設接口外設CPUABDBCB存儲器存儲器讀寫I/O讀寫統(tǒng)一編址獨立編址43電子工程學院I/O地址譯碼方法地址譯碼的方法靈活多樣高位地址線與CPU的控制信號進行組合,經(jīng)譯碼電路產(chǎn)生I/O接口芯片的片選信號CS,實現(xiàn)系統(tǒng)中的接口芯片尋址
低位地址線直接接到I/O接口芯片的地址引腳,進行I/O接口芯片的片內(nèi)端口尋址44電子工程學院I/O端口地址譯碼電路設計譯碼電路的形式固定式譯碼:接口中用到的端口地址不能更改可選式譯碼譯碼電路采用的元器件來分門電路譯碼譯碼器譯碼可編程邏輯器件譯碼45電子工程學院程序控制方式總結無條件控制(同步控制)特點:要求外設數(shù)據(jù)變化緩慢,操作時間固定,可以被認為始終處于就緒狀態(tài),如一組開關或LED顯示管。優(yōu)點:簡單,CPU隨時可無條件讀/寫數(shù)據(jù)。缺點:無法保證數(shù)據(jù)總是有效,適用面窄。條件控制(查詢控制)特點:CPU主動、外設被動。執(zhí)行I/O操作時CPU總要先查詢外設狀態(tài);若傳輸條件不滿足時,CPU等待直到條件滿足。
優(yōu)點:解決了CPU與外設之間的同步問題,可靠性高。缺點:CPU利用率低,低優(yōu)先級外設可能無法及時得到服務46電子工程學院中斷
中斷源:引起中斷的原因(可能是軟件或硬件)
中斷類型號:為區(qū)分不同中斷源進行的編號
中斷向量:中斷服務子程序的入口地址
斷點:指CPU執(zhí)行的現(xiàn)行程序(主程序)被中斷時的下一條指令的地址;
現(xiàn)場:指執(zhí)行中斷服務程序前CPU的運行狀態(tài),如CPU內(nèi)部各寄存器值等;
中斷嵌套47電子工程學院中斷處理過程
中斷檢測
是否有中斷請求;
一般在每條指令執(zhí)行完后由CPU硬件自動檢測;中斷判優(yōu)確認已有中斷請求中優(yōu)先級最高的中斷源;一般CPU內(nèi)部和接口電路中都會進行判優(yōu);中斷響應
保護斷點、現(xiàn)場,并獲取中斷向量;一般由CPU內(nèi)部硬件自動完成;中斷服務運行用戶自行編制的服務子程序;
中斷返回恢復現(xiàn)場、斷點;一般由CPU內(nèi)部硬件自動完成;堆棧中斷向量表48電子工程學院DMA傳送過程可在I/O設備和存儲器之間直接傳送數(shù)據(jù)。一般用于高速批量數(shù)據(jù)的傳輸傳送時,源和目的均直接由硬件指定。傳輸?shù)臄?shù)據(jù)塊長度需要指定,計數(shù)由硬件自動進行。在一批數(shù)據(jù)傳輸完成后,通過中斷方式通知CPU進行后續(xù)處理。CPU和I/O設備能在一定程度上并行工作,效率高。I/ODMA請求DMAC總線請求CPU總線響應DMA響應49電子工程學院第七章ARM處理器編程模型理解ARM處理器工作狀態(tài)及其設置方法;掌握ARM處理器的運行模式;掌握ARM處理器的寄存器組織結構及其特點;掌握處理器數(shù)據(jù)類型和ARM處理器系統(tǒng)的數(shù)據(jù)存儲格式。掌握ARM處理器對異常和中斷的處理方式。50電子工程學院ARM體系結構的特點RISC芯片,其簡單的結構使ARM內(nèi)核非常小、功耗低、成本低、性能高統(tǒng)一和固定長度的指令集,簡化了指令的譯碼,便于指令流水線設計裝載/保存結構,數(shù)據(jù)處理操作只針對寄存器的內(nèi)容,而不直接對存儲器進行操作支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件每條數(shù)據(jù)處理指令都對算術邏輯單元和移位器控制,實現(xiàn)了ALU和移位器的最大利用尋址方式靈活簡單,執(zhí)行效率高地址自動增加和減少尋址模式,優(yōu)化程序循環(huán)多寄存器裝載和存儲指令實現(xiàn)最大數(shù)據(jù)吞吐量所有指令的條件執(zhí)行實現(xiàn)最快速的代碼執(zhí)行51電子工程學院處理器模式說明備注
用戶(usr)正常程序執(zhí)行模式不能直接切換到其它模式特權模式系統(tǒng)(sys)運行操作系統(tǒng)的特權任務與用戶模式類似,但具有可以直接切換到其它模式等特權異常模式快中斷(fiq)支持高速數(shù)據(jù)傳輸及通道處理FIQ異常響應時進入此模式中斷(irq)用于通用中斷處理IRQ異常響應時進入此模式管理(svc)操作系統(tǒng)保護模式系統(tǒng)復位和軟件中斷響應時進入此模式中止(abt)用于支持虛擬內(nèi)存和/或存儲器保護在ARM7TDMI沒有大用處未定義(und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應時進入此模式ARM處理器運行模式52電子工程學院處理器工作狀態(tài)及相互切換進入Thumb狀態(tài)處理器在Thumb狀態(tài)進入異常,則當異常處理(IRQ、FIQ、Undef、Abort和SWI)返回時,自動轉換到Thumb狀態(tài)進入ARM狀態(tài)處理器進行異常處理(IRQ、FIQ、Undef、Abort和SWI)
時,把程序計數(shù)器PC放入異常模式鏈接寄存器中。從異常向量地址開始執(zhí)行可以進入ARM狀態(tài)。ARM狀態(tài):此時處理器執(zhí)行32位的字對齊的ARM指令。Thumb狀態(tài):此時處理器執(zhí)行16位的、半字對齊的Thumb指令
53電子工程學院ARM處理器工作狀態(tài)切換使用BX指令將ARM內(nèi)核的操作狀態(tài)在ARM狀態(tài)和Thumb狀態(tài)之間進行切換,程序如下所示;從Arm狀態(tài)切換到Thumb狀態(tài)
LDRR0,=Lable+1BXR0;從Thumb狀態(tài)切換到ARM狀態(tài)
LDRR0,=LableBXR0地址最低位為1,表示切換到Thumb狀態(tài)地址最低位為0,表示切換到ARM狀態(tài)跳轉地址標號注意:處理器復位后開始執(zhí)行代碼時,處于ARM狀態(tài)54電子工程學院寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM狀態(tài)各模式下的寄存器組織55電子工程學院NZCV——IM0M1M2M3M4TF—...313029282726876543210程序狀態(tài)寄存器條件代碼標志保留控制位溢出標志oVerflow進位或借位擴展Carry零Zero負或小于NegativeIRQ禁止InterruptFIQ禁止Fast狀態(tài)位Thumb模式位ModeNZCVIM0M1M2M3M4TFCPSR寄存器的格式56電子工程學院程序AIRQ服務程序系統(tǒng)模式IRQ模式程序寄存器組圖示進入異常過程1.程序在系統(tǒng)模式下運行用戶程序,假定當前處理器狀態(tài)為Thumb狀態(tài)、允許IRQ中斷;2.用戶程序運行時發(fā)生IRQ中斷,硬件完成以下動作:LR_sysSPSR_irqLR_irqLRPCCPSRSPSRSYS1?0...????MODTFI...NZCV置位I位(禁止IRQ中斷)清零T位(進入ARM狀態(tài))設置MOD位,切換處理器模式至IRQ模式將下一條指令的地址存入IRQ模式的LR寄存器將CPSR寄存器內(nèi)容存入IRQ模式的SPSR寄存器將跳轉地址存入PC,實現(xiàn)跳轉IRQ0?1...????BackAddrJumpAddrJumpSYS1?0...????“?”表示對該位不關心57電子工程學院在異常處理結束后,異常處理程序完成以下動作:程序AIRQ服務程序系統(tǒng)模式IRQ模式程序寄存器組圖示退出異常過程LR_sysSPSR_irqLR_irqLRPCCPSRSPSRSYS1?0...????MODTFI...NZCV將SPSR寄存器的值復制回CPSR寄存器;將LR寄存的值減去一個常量后復制到PC寄存器,跳轉到被中斷的用戶程序。IRQ0?1...????BackAddrJumpAddrreturnSYS1?0...????SYS1?0...????BackAddr-4Jump“?”表示對該位不關心58電子工程學院第八章ARM匯編指令掌握ARM指令的條件域的含義和作用;理解第2操作數(shù)的類型和意義。掌握指令尋址分類及其含義;掌握匯編語言指令執(zhí)行結果的分析方法。59電子工程學院
ARM是三地址指令格式,指令的基本格式如下:ARM指令基本指令格式<opcode>{<cond>}{S}<Rd>,<Rn>{,<operand2>}其中<>號內(nèi)的項是必須的,{}號內(nèi)的項是可選的。各項的說明如下:opcode:指令助記符; cond:執(zhí)行條件;S:是否影響CPSR寄存器的值;Rd:目標寄存器; Rn:第1個操作數(shù)的寄存器;operand2:第2個操作數(shù);指令語法目標寄存器(Rd)源寄存器1(Rn)源寄存器2(Rm)ADDr3,r1,r2r3r1r2例:60電子工程學院操作碼條件助記符標志含義0000EQZ=1相等0001NEZ=0不相等0010CS/HSC=1無符號數(shù)大于或等于0011CC/LOC=0無符號數(shù)小于0100MIN=1負數(shù)0101PLN=0正數(shù)或零0110VSV=1溢出0111VCV=0沒有溢出1000HIC=1,Z=0無符號數(shù)大于1001LSC=0,Z=1無符號數(shù)小于或等于1010GEN=V有符號數(shù)大于或等于1011LTN!=V有符號數(shù)小于1100GTZ=0,N=V有符號數(shù)大于1101LEZ=1,N!=V有符號數(shù)小于或等于1110AL任何無條件執(zhí)行(指令默認條件)1111NV任何從不執(zhí)行(不要使用)指令條件碼表所有的ARM指令都可以條件執(zhí)行,而Thumb指令只有B(跳轉)指令具有條件執(zhí)行功能如果指令不標明條件代碼,將默認為無條件(AL)執(zhí)行61電子工程學院
ARM指令的基本格式如下:ARM指令的第2個操作數(shù)<opcode>{<cond>}{S}<Rd>,<Rn>{,<operand2>}靈活的使用第2個操作數(shù)“operand2”能夠提高代碼效率。#immed_8r——常數(shù)表達式;
Rm——寄存器方式;
Rm,shift——寄存器移位方式;0x12000100100x00000000000x00000000000x00000000000x00000000000x00000000000x80100000000x04000001008位常數(shù)循環(huán)右移10位常數(shù)#immed_8r是一個8位的常數(shù)通過循環(huán)右移偶數(shù)位得到62電子工程學院ARM處理器尋址方式尋址方式是根據(jù)指令中給出的地址碼字段來實現(xiàn)尋找真實操作數(shù)地址的方式。ARM處理器具有9種基本尋址方式。1.立即尋址; 2.寄存器直接尋址;3.寄存器移位尋址; 4.寄存器間接尋址;5.基址尋址; 6.多寄存器尋址;7.相對尋址; 8.堆棧尋址;9.塊拷貝尋址。63電子工程學院堆棧尋址-四種類型的堆棧方式滿遞增(FA):堆棧向上增長,堆棧指針指向內(nèi)含有效數(shù)據(jù)項的最高地址。指令如LDMFA、STMFA等;空遞增(EA):堆棧向上增長,堆棧指針指向堆棧上的第一個空位置。指令如LDMEA、STMEA等;滿遞減(FD):堆棧向下增長,堆棧指針指向內(nèi)含有效數(shù)據(jù)項的最低地址。指令如LDMFD、STMFD等;空遞減(ED):堆棧向下增長,堆棧指針向堆棧下的第一個空位置。指令如LDMED、STMED等64電子工程學院ARM指令集數(shù)據(jù)處理指令大致可分為3類:
數(shù)據(jù)傳送指令:MOV、MVN算術邏輯運算指令:ADD、SUB、RSB、ADC、SBC、RSC、MUL、MLA、UMULL、UMLAL、SMULL、SMLAL、AND、ORR、EOR、BIC
比較指令:
CMP、CMN、TST、TEQ數(shù)據(jù)處理指令只能對寄存器的內(nèi)容進行操作,而不能對內(nèi)存中的數(shù)據(jù)進行操作。所有ARM數(shù)據(jù)處理指令均可選擇使用S后綴,以使指令影響狀態(tài)標志。65電子工程學院堆棧操作數(shù)據(jù)塊傳送存儲堆棧操作壓棧說明數(shù)據(jù)塊傳送加載堆棧操作出棧說明STMDASTMED空遞減LDMDALDMFA滿遞增STMIASTMEA空遞增LDMIALDMFD滿遞減STMDBSTMFD滿遞減LDMDBLDMEA空遞增STMIBSTMFA滿遞增LDMIBLDMED空遞減;使用數(shù)據(jù)塊傳送指令進行堆棧操作STMDA R13!,{R5-R6}...LDMIB R13!,{R5-R6};使用堆棧指令進行堆棧操作STMED R13!,{R5-R6}...LDMED R13!,{R5-R6}使用堆棧指令的壓棧和出棧操作編程簡單(只要前后一致)使用數(shù)據(jù)塊指令進行壓棧和出棧操作則需要考慮空與滿、加與減對應的問題。堆棧操作和數(shù)據(jù)塊傳送指令之間的關系66電子工程學院第九章ARM程序設計掌握偽指令對存儲器單元的定義和分配。掌握ARM匯編語言的程序設計;掌握匯編語言程序的分析;掌握ARM匯編與C/C++混合語言編程方法。67電子工程學院符號定義偽指令
符號類型指示符功能
符號定義偽指令GBLA聲明和初始化一個全局算術變量,初始值為0GBLL聲明和初始化一個全局邏輯變量,初始值為{FALSE}GBLS聲明和初始化一個全局字符串變量,初始值為空LCLA聲明和初始化一個局部算術變量,初始值為0。局部算術變量只能在宏中進行聲明。LCLL聲明和初始化一個局部邏輯變量,初始值為{FALSE}。局部邏輯變量只能在宏中進行聲明。LCLS聲明和初始化一個局部字符串變量,初始值為空。局部字符串變量只能在宏中進行聲明。SETA給一個局部或全局算術變量置值SETL給一個局部或全局邏輯變量置值SETS給一個局部或全局字符串變量置值RLIST給寄存器集命名CN給一個協(xié)處理器寄存器命名CP給一個特定協(xié)處理器命名,協(xié)處理器號為0~15DN給一個雙精度VFP寄存器命名SN給一個單精度VFP寄存器命名FN給一個特定的浮點寄存器命名68電子工程學院數(shù)據(jù)定義偽指令
數(shù)據(jù)定義偽指令LTORG指定一個文字池用以保存數(shù)據(jù)^或MAP指定一個內(nèi)存表的首址#或FIELD指定內(nèi)存表中的各數(shù)據(jù)域的長度(一般在MAP之后)%或SPACE指定一塊存儲器的長度并將其中單元初始化為0=或DCB分配一片連續(xù)的字節(jié)單元并初始化分配一片連續(xù)的字節(jié)單元并用于存放代碼&或DCD分配一片連續(xù)的字單元并初始化(字邊界對齊)DCDU分配一片連續(xù)的字單元并初始化(任意邊界)DCDO分配一片連續(xù)的字單元,并初始化為到靜態(tài)基址寄存器R9的偏移量(字邊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機械工程中的機械表面處理規(guī)范要求
- 民主生活會征求意見表
- 關于質(zhì)量、工期、服務等方面的承諾及合理化建議
- 二零二五年度高鐵站燈箱廣告經(jīng)營權競拍合同3篇
- 二零二五年度股權眾籌項目分配協(xié)議書范本3篇
- 2024年清遠職業(yè)技術學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 2024年海南軟件職業(yè)技術學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 語文S版六下《鯀禹治水》課件知識分享
- 資產(chǎn)監(jiān)督檢查研究報告
- 學習進口合同的履行講義資料
- 大慶油田幾種高難套損井修復技術
- 產(chǎn)品方案技術白皮書模板(含系統(tǒng)架構說明書)
- 有害生物防治合同書
- 羊、羊絨針織物起毛起球性能的研究
- 腦惡性腫瘤的護理查房
- 格物致勝:中國中低壓電器盤柜廠市場白皮書-2023-精華版
- 2022公務員錄用體檢操作手冊(試行)
- 骨盆骨折PPT完整版
- 事業(yè)單位登記管理講座課件
- 柴油加氫設備-加氫循環(huán)氫壓縮機
- 中小學德育工作指南考核試題及答案
評論
0/150
提交評論