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