版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
嵌入式系統(tǒng):考試填空選擇問答兩小時(shí)閉卷數(shù)字電路不考SR狀態(tài)寄存器LR連接寄存器,在ARM體系結(jié)構(gòu)中LR的特殊用途有兩種:一是用來保存子程序返回地址;二是當(dāng)異常發(fā)生時(shí),LR中保存的值等于異常發(fā)生時(shí)PC的值減4(或者減2),因此在各種異常模式下可以根據(jù)LR的值返回到異常發(fā)生前的相應(yīng)位置繼續(xù)執(zhí)行。PC(PROGRAMCOUNTER)程序計(jì)數(shù)器CPSR:CurrentProgramStatusRegister當(dāng)前程序狀態(tài)寄存器SPSR:SavedProgramStatusRegister備份程序狀態(tài)寄存器SPSR用來進(jìn)行異常處理,有以下功能:1.保存ALU中的當(dāng)前操作信息。2.控制允許和禁止中斷。3.設(shè)置處理器的運(yùn)行模式。ISR中斷服務(wù)程序RTC實(shí)時(shí)時(shí)鐘(Real-TimeClock)、DMA直接內(nèi)存存取SIO
超級輸入輸出芯片(SIO)PLL鎖相回路DRAM:DynamicRandomAccessMemory),即動(dòng)態(tài)隨機(jī)存取存儲器SRAM靜態(tài)隨機(jī)存取存儲器StaticRandom-AccessMemorySDRAMSynchronousDynamicRandomAccessMemory同步動(dòng)態(tài)隨機(jī)存儲器SDRAM將CPU與RAM通過一個(gè)相同的時(shí)鐘鎖在一起,使RAM和CPU能夠共享一個(gè)時(shí)鐘周期,以相同的速度同步工作,與EDO內(nèi)存相比速度能提高50%。SDRAM基于雙存儲體結(jié)構(gòu),內(nèi)含兩個(gè)交錯(cuò)的存儲陣列,當(dāng)CPU從一個(gè)存儲體或陣列訪問數(shù)據(jù)時(shí),另一個(gè)就已為讀寫數(shù)據(jù)做好了準(zhǔn)備,通過這兩個(gè)存儲陣列的緊密切換,讀取效率就能得到成倍的提高。ROM(ReadOnlyMemory)RAM(RandomAccessMemory)第一課與第二課:(1)嵌入式系統(tǒng)概念:以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件、硬件可裁剪,功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。統(tǒng)一尋址:用總線連接,用統(tǒng)一的地址線數(shù)據(jù)線控制線,用地址選擇芯片(2)RISC和CISC各自全稱、區(qū)別、優(yōu)勢和劣勢、44B0是何指令集44B0是RISC指令集RISC:ReducedInstructionSetComputer,精簡指令集計(jì)算機(jī)。特點(diǎn)是所有指令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水線技術(shù)。CISC:ComplexInstructionSetComputer,復(fù)雜指令計(jì)算機(jī),是臺式計(jì)算機(jī)系統(tǒng)的基本處理部件,每個(gè)微處理器的核心是運(yùn)行指令的電路。指令由完成任務(wù)的多個(gè)步驟所組成,把數(shù)值傳送進(jìn)寄存器或進(jìn)行相加運(yùn)算。CISC:通過設(shè)置一些功能復(fù)雜的指令,把一些原來由軟件實(shí)現(xiàn)的、常用的功能改用硬件的指令系統(tǒng)實(shí)現(xiàn),以此來提高計(jì)算機(jī)的執(zhí)行速度RISC的基本思想是盡量簡化計(jì)算機(jī)指令功能,只保留那些功能簡單、能在一個(gè)節(jié)拍內(nèi)執(zhí)行完成的指令,而把較復(fù)雜的功能用一段子程序來實(shí)現(xiàn)。從而使指令的平均執(zhí)行周期減少,提高計(jì)算機(jī)的工作主頻,同時(shí)大量使用通用寄存器來提高子程序執(zhí)行的速度優(yōu)勢與劣勢:(1)指令系統(tǒng):在RISC機(jī)器上實(shí)現(xiàn)特殊功能時(shí),效率可能較低。但可以利用流水技術(shù)和超標(biāo)量技術(shù)加以改進(jìn)和彌補(bǔ)。CISC計(jì)算機(jī)的指令系統(tǒng)比較豐富,有專用指令來完成特定的功能。CISC處理特殊任務(wù)效率較高。(2)存儲器操作:RISC對存儲器操作有限制,使控制簡單化;而CISC機(jī)器的存儲器操作指令多,操作直接。(3)程序:CISC匯編語言程序一般需要較大的內(nèi)存空間,實(shí)現(xiàn)特殊功能時(shí)程序復(fù)雜,不易設(shè)計(jì);而RISC匯編語言程序編程相對簡單,科學(xué)計(jì)算及復(fù)雜操作的程序設(shè)計(jì)相對容易,效率較高。(4)中斷:RISC機(jī)器在一條指令執(zhí)行的適當(dāng)?shù)胤娇梢皂憫?yīng)中斷,相比CISC指令執(zhí)行的時(shí)間短,所以中斷響應(yīng)及時(shí);而CISC機(jī)器是在一條指令執(zhí)行結(jié)束后響應(yīng)中斷。(5)CPU:RISCCPU包含有較少的單元電路,因而面積小、功耗低;而CISCCPU包含有豐富的電路單元,因而功能強(qiáng)、面積大、功耗大。(6)設(shè)計(jì)周期:RISC設(shè)計(jì)周期短,微處理器結(jié)構(gòu)簡單,布局緊湊,且易于采用最新技術(shù);CISC設(shè)計(jì)周期長,微處理器結(jié)構(gòu)復(fù)雜。(7)用戶使用:RISC易學(xué)易用,微處理器結(jié)構(gòu)簡單,指令規(guī)整,性能容易把握;CISC實(shí)現(xiàn)特殊功能容易,功能強(qiáng)大,微處理器結(jié)構(gòu)復(fù)雜。(8)應(yīng)用范圍:由于CISC指令系統(tǒng)的確定與特定的應(yīng)用領(lǐng)域有關(guān),故CISC機(jī)器更適合于專用機(jī);而RISC機(jī)器則更適合于通用機(jī)。(3)ARM和THUMB各自含義優(yōu)勢劣勢ARM微處理器的在較新的體系結(jié)構(gòu)中支持兩種指令集:ARM指令集和Thumb指令集。其中,ARM指令為32位的長度,Thumb指令為16位長度。Thumb指令集為ARM指令集的功能子集,但與等價(jià)的ARM代碼相比較,可節(jié)省30%~40%以上的存儲空間,同時(shí)具備32位代碼的所有優(yōu)點(diǎn)。ARM:ARM指令集是指計(jì)算機(jī)ARM操作指令系統(tǒng),為32位。在ARM中有兩種方式可以實(shí)現(xiàn)程序的跳轉(zhuǎn):一種是跳轉(zhuǎn)指令;另一種是直接向PC寄存器(R15)中寫入目標(biāo)地址值。ARM指令集可以分為跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器(PSR)處理指令、加載/存儲指令、協(xié)處理器指令和異常產(chǎn)生指令六大類。Thumb:Thumb是ARM體系結(jié)構(gòu)中一種16位的指令集。Thumb指令集可以看作是ARM指令壓縮形式的子集,具有16bit的代碼密度。Thumb指令體系并不完整,只支持通用功能,必要時(shí)仍需要使用ARM指令,如進(jìn)入異常時(shí)。其指令的格式與使用方式與ARM指令集類似,而且使用并不頻繁。區(qū)別:arm指令是32bit,thumb指令16bit。從占內(nèi)存的空間來說,一條thumb比一條ARM少一半。但是,thumb要完成arm完成的所有(或盡可能所有)功能,thumb的數(shù)量一定會比arm指令的個(gè)數(shù)要多一些。Thumb指令與ARM指令的具體區(qū)別1.分支指令:跳轉(zhuǎn)的范圍小,除B指令外,都是無條件跳轉(zhuǎn).2.數(shù)據(jù)處理指令:Thumb指令只有2個(gè)操作數(shù),而ARM指令是3個(gè)操作數(shù).3.單寄存器加載存儲指令:Thumb指令只能訪問R0~R7.4.多寄存器加載存儲指令:Thumb指令只能訪問R0~R7的子集.5.Thumb特有指令:PUSH和POP作用于R13.采用arm指令集還是thumb指令集:工作狀態(tài)利用指令BX進(jìn)行兩種工作狀態(tài)的切換,同時(shí)操作數(shù)寄存器的狀態(tài)位(0位)。1為thumb,0為ARM這條指令的解釋:Rn是R1~R15的任何一個(gè)寄存器,處理器處理這條指令:將Rn的內(nèi)容copy到PC中,然后跳轉(zhuǎn)到相應(yīng)的絕對地址,并利用Rn的bit[0]判斷跳轉(zhuǎn)后執(zhí)行的是arm指令還是thumb指令。(bit[0]=1arm指令;bit[0]=0thumb指令)(1)源碼用c來寫,如果編譯成thumb指令,那么目標(biāo)代碼只有編譯成arm指令的65%,thumb指令密度大。(2)另一方面,處理器在這兩種狀態(tài)下的性能是依附于指令存儲器的寬度的。32bit存儲器情況:ARM性能較好,這是因?yàn)橥瑯拥拇a,編譯的結(jié)果:THUMB的指令會比ARM多,thumb指令仍然花費(fèi)指令周期從32bit內(nèi)存預(yù)取。16bit存儲器情況:盡管thumb的指令數(shù)比arm多,但每一條thumb預(yù)取指令需要一個(gè)周期,而每條arm指令需要2個(gè)周期。但是,有一個(gè)問題。無論在arm下,還是thumb下,堆棧操作都是32bit,因此,對于堆棧的操作,用thumb指令,會使得性能下降。方法,供給32bit的內(nèi)存來存放堆棧。另外,與ARM代碼相比,運(yùn)用thumb代碼,存儲器的功耗降低30%。顯然,ARM和thumb各有所長,若系統(tǒng)要求執(zhí)行效率高,則運(yùn)用32bit存儲器和ARM指令集;若對系統(tǒng)成本及功耗要求高,則應(yīng)運(yùn)用16bit存儲器和thumb指令集。當(dāng)然,若兩者聯(lián)合運(yùn)用,充沛施展各自的長處,會取得更好的效果。補(bǔ)充說明:(1)有些功能只能有arm指令來實(shí)現(xiàn),比如,拜訪CPSR寄存器來使能/禁止中斷或者轉(zhuǎn)變處理器工作模式;拜訪協(xié)處理器CP15;履行C代碼不支持的DSP算術(shù)指令;(2)異常中斷處理。在進(jìn)入異常中斷后,內(nèi)核主動(dòng)切換到ARM狀態(tài)。即在異常中斷處理程序入口的一些指令是ARM指令,然后根據(jù)需要可以切換到thumb狀態(tài)。在異常中斷處理程序返回前,程序再切換到ARM狀態(tài)。(3)ARM處理器總是從ARM狀態(tài)開始執(zhí)行的(自動(dòng)的)。因而,如果要在調(diào)試器中運(yùn)行thumb程序,必須為該thumb程序添加一個(gè)ARM程序頭,然后再切換到thumb狀態(tài),調(diào)用該thumb程序。附加解釋:1.Arm指令32bit,thumb指令16bit,arm體系結(jié)構(gòu)將存儲器看成是以字節(jié)為單位的線性排列,引出問題:16bit的指令和32bit的指令合起來才是有意義的,所以每次需要取出2,4個(gè)單元。ARM處理器(或其他)如何解決,特殊寄存器PC,arm狀態(tài)(低2bit不要,高30bit是PC),thumb狀態(tài)(低1bit不要,高31bit是PC),這樣,PC變化一個(gè)最小單位,就能從存儲器中取出對應(yīng)大小的數(shù)據(jù)。那么這兩個(gè)字節(jié),或4個(gè)字節(jié)在存儲器如何存儲。需要約定,否則,設(shè)計(jì)和實(shí)際亂掉了。(4)大端和小端。確定大小端:ENDIAN接高接低小端低字節(jié)低地址高字節(jié)高地址大端高字節(jié)低地址低字節(jié)高地址2.存儲器中存儲指令的時(shí)候,32bit是如何利用4個(gè)字節(jié)的,引出大端小端。在正常程序執(zhí)行時(shí),每執(zhí)行一條ARM指令,PC的值加4字節(jié),每執(zhí)行一條Thumb指令,PC加2字節(jié),整個(gè)過程是按順序執(zhí)行。所以,在ARM時(shí),PC內(nèi)容低2bit為0b00;在thumb時(shí),PC內(nèi)容低1bit地址是0b0。(5)44B0的七種模式:ARM(S3C44B0)有7種操作模式:在不用應(yīng)用環(huán)境下需要調(diào)用不同的資源不同操作模式的主要目的是為了在不同模式情況下,可使用的資源和信息不同。7種操作模式:(1)用戶模式usr:正常程序執(zhí)行的模式;(2)管理模式svc(超級用戶模式supervisor):供操作系統(tǒng)使用的保護(hù)模式;(3)系統(tǒng)模式sys:運(yùn)行具有特權(quán)的操作系統(tǒng)操作任務(wù)(4)快速中斷模式fiq:用于高速數(shù)據(jù)傳輸和通道處理;(5)中斷模式irq:用戶通常的中斷使用;(6)數(shù)據(jù)訪問終止abt:用于虛擬存儲及存儲保護(hù);(7)未定義模式und:支持硬件協(xié)處理器的軟件仿真(執(zhí)行未定義的指令);關(guān)于7種模式的補(bǔ)充說明(1)除了用戶模式外,其他6模式稱為非用戶模式;除了用戶模式和系統(tǒng)模式外,其他5種稱為異常模式(稱為異常模式的原因是發(fā)生了中斷或異常,或者要訪問被保護(hù)的資源)。(2)ARM的工作模式可以通過軟件改變,也可以通過中斷或異常改變。(3)這7中工作模式對應(yīng)著系統(tǒng)中的中斷向量表(7個(gè))在ARM+Linux系統(tǒng)中,用戶程序不能訪問受操作系統(tǒng)保護(hù)的系統(tǒng)資源,因此,不能進(jìn)行工作模式切換,只有運(yùn)行在內(nèi)核態(tài)的程序才能更改工作模式。當(dāng)需要處理器模式切換時(shí),用戶態(tài)的程序可以中斷,內(nèi)核態(tài)的中斷處理程序開始響應(yīng),并做出處理。系統(tǒng)中所有的調(diào)度都是圍繞著中斷向量表展開的,(6)寄存器上圖中寄存器個(gè)數(shù)為37個(gè),其中寄存器的邏輯類型有17個(gè)(加上SPSR為18個(gè))在不同的模式下,操作者能使用(或說看見)的資源怎么樣?(1)在不同的工作模式下,使用者可以見到的寄存器是不同的。(2)物理寄存器和邏輯寄存器個(gè)人理解:硬件實(shí)現(xiàn)的寄存器稱為一個(gè)物理寄存器;同一個(gè)物理寄存器用作N個(gè)用途時(shí),表現(xiàn)出來為N個(gè)邏輯寄存器;(3)S3C44B0有37個(gè)物理寄存器,如何分配使用。(1)計(jì)算機(jī)任何工作都需要PC和CPSR狀態(tài)寄存器保存的信息:4種狀態(tài)位;irq,fiq中斷是否允許;工作狀態(tài);操作模式(2)堆棧寄存器:指向每種模式專用的棧地址;連接寄存器:兩種用途(a)在程序調(diào)用的時(shí)候用來存放地址;(b)發(fā)生異?;蛑袛鄷r(shí)用來存儲強(qiáng)制轉(zhuǎn)會的地址;(3)程序狀態(tài)寄存器的備份。(異常工作模式,用來處理完異常工作模式后,恢復(fù)CSPR)(4)微處理器大量的數(shù)據(jù)交換:R0~R7(5)還有5個(gè)也用于數(shù)據(jù)交換:R8~R12(6)額外的待遇:FIQ還有5個(gè)自己專用的寄存器R8~R12FIQ擁有自己的5個(gè)數(shù)據(jù)寄存器,就可以不用執(zhí)行保存和恢復(fù)現(xiàn)場的指令。響應(yīng)速度會加快。SR狀態(tài)寄存器LR連接寄存器,在ARM體系結(jié)構(gòu)中LR的特殊用途有兩種:一是用來保存子程序返回地址;二是當(dāng)異常發(fā)生時(shí),LR中保存的值等于異常發(fā)生時(shí)PC的值減4(或者減2),因此在各種異常模式下可以根據(jù)LR的值返回到異常發(fā)生前的相應(yīng)位置繼續(xù)執(zhí)行。PC(PROGRAMCOUNTER)程序計(jì)數(shù)器CPSR:CurrentProgramStatusRegister當(dāng)前程序狀態(tài)寄存器SPSR:SavedProgramStatusRegister備份程序狀態(tài)寄存器SPSR用來進(jìn)行異常處理,有以下功能:1.保存ALU中的當(dāng)前操作信息。2.控制允許和禁止中斷。3.設(shè)置處理器的運(yùn)行模式。(7)芯片手冊圖:(至少記住上半部分圖)總線上最重要的五樣?xùn)|西:CPU,存儲器,中斷控制器,DMA,LCDDMA(DirectMemoryAccess,直接內(nèi)存存取)是所有現(xiàn)代電腦的重要特色,它允許不同速度的硬件裝置來溝通,而不需要依賴于CPU的大量中斷負(fù)載。否則,CPU需要從來源把每一片段的資料復(fù)制到暫存器,然后把它們再次寫回到新的地方。在這個(gè)時(shí)間中,CPU對于其他的工作來說就無法使用。DMA分為ZDMA(通用DMA)和BDMA(橋式DMA)LCD(液晶顯示器liquidcrystaldisplay)四個(gè)通信口:(1)UART通用異步收發(fā)器(計(jì)算機(jī)與外圍設(shè)備串行通信)(2)IIC(3)IIS(4)SIO計(jì)算機(jī)應(yīng)用越大,外部設(shè)備的種類和數(shù)量就會越多1.任何一個(gè)微處理器都要與一定數(shù)量的部件和外圍設(shè)備連接,但如果將各部件和每一種外圍設(shè)備都分別用一組線路與CPU直接連接,那么連線將會錯(cuò)綜復(fù)雜,甚至難以實(shí)現(xiàn)。為了簡化硬件電路設(shè)計(jì)、簡化系統(tǒng)結(jié)構(gòu),常用一組線路,配置以適當(dāng)?shù)慕涌陔娐?,與各部件和外圍設(shè)備連接,這組共用的連接線路被稱為總線。采用總線結(jié)構(gòu)便于部件和設(shè)備的擴(kuò)充,尤其制定了統(tǒng)一的總線標(biāo)準(zhǔn)則容易使不同設(shè)備間實(shí)現(xiàn)互連。2.總線的競爭問題;高速器件和低速器件的問題。如何實(shí)現(xiàn)總線連接:統(tǒng)一的地址線,數(shù)據(jù)線,控制線,用地址選擇芯片。3.所有部件掛在一條總線上存在的問題:(1)各個(gè)設(shè)備速度不一致,在競爭總線時(shí)帶來麻煩。如果碰見慢速設(shè)備,造成瓶頸(申請和釋放總線的速度很慢),對于高速設(shè)備影響很大。(2)掛在總線上的設(shè)備過多的時(shí)候,造成延時(shí)。這對高速器件影響很大。4.S3C44B0的總線:(1)系統(tǒng)總線;系統(tǒng)總線橋&仲裁/BDMA;外圍設(shè)備總線。(2)高速設(shè)備接在系統(tǒng)總線;低速設(shè)備接在外圍設(shè)備總線;(3)主設(shè)備和從設(shè)備的介紹。系統(tǒng)總線有多個(gè)主設(shè)備,總線不允許大于等于2個(gè)主設(shè)備同時(shí)申請總線。引出“總線仲裁器”??偩€仲裁器根據(jù)約定好的總線優(yōu)先級來決定總線的歸屬。44b0關(guān)于總線優(yōu)先級的約定有兩種選項(xiàng):輪詢;固定優(yōu)先級a)復(fù)位之后(固定優(yōu)先級法),S3C44B0總線優(yōu)先級順序(7個(gè)總線master):從高到低:DRAM刷新控制器;LCD_DMA;ZDMA0,1;BDMA0,1;外部總線master;寫緩沖區(qū);cache和cpuLCD_DMA;ZDMA0,1;BDMA0,1之間的優(yōu)先級順序可以通過SBUSCON編程來控制(b)輪詢方式下,所有的主設(shè)備都是相同的優(yōu)先級。5.引出Cache:在cpuwrapper中的一個(gè)直接存儲器(8k)(1)用作8K(數(shù)據(jù)或指令)高速緩沖存儲器cache;(2)用作4Kcache和4Ksram;(3)用作8k的sram。cache提高運(yùn)行效率;sram提高isr的運(yùn)行效率(中斷服務(wù)程序ISR的運(yùn)行速度很重要)。(8)地址映射:百度概念:為了保證CPU執(zhí)行指令時(shí)可正確訪問存儲單元,需將用戶程序中的邏輯地址轉(zhuǎn)換為運(yùn)行時(shí)由機(jī)器直接尋址的物理地址,這一過程稱為地址映射。28根地址線---2^28=2^10*2^10*2^8=256M分為8個(gè)bank6、7bank間大小可變,分界線可變Bank~bank7首地址速記:0x00,000000;0x02,000000;0x04,000000;0x06,000000。。。逗號后面6個(gè)零,16M,所以,每2單位(16M)就是32M。2的零次方哪一列2的一二次方哪一塊2的三次方哪一行(9)內(nèi)存控制器(13個(gè)):(10)內(nèi)存控制器初始化程序語句:ldrr0,=標(biāo)號將初始化區(qū)域數(shù)據(jù)首地址加載到R0ldmiar0,{r1,r13}將初始化的數(shù)據(jù)存入通用寄存器r1,r2,r3,r4……r13ldrr0,0x01c8,0000指向13個(gè)內(nèi)存控制器的首地址stmiar0,{r1,r13}將通用寄存器r1,r2,r3,r4……r13中的初始化數(shù)據(jù)存入13個(gè)內(nèi)容控制寄存器逐字逐句解釋!?。。。?!LDRR0,=SMRDATA;將存儲控制組件各控制器的初始化數(shù)據(jù)區(qū)的起始地址裝載到R0LDMIAR0,{r1-r13};將R0作為起始地址的13個(gè)連續(xù)字的初始化數(shù)據(jù)裝載到R1~R13LDRR0,=0x01C80000;配置總線寬度與等待控制寄存器BWSCON的地址STMIAR0,{R1-R13};將R1~R13中內(nèi)容存儲到R0作為起始地址的13個(gè)連續(xù)字的存儲區(qū)SM(1)ldr加載指令LDR指令的格式為:LDR{條件}目的寄存器,<存儲器地址>LDR指令用于從存儲器中將一個(gè)32位的字?jǐn)?shù)據(jù)傳送到目的寄存器中。該指令通常用于從存儲器中讀取32位的字?jǐn)?shù)據(jù)到通用寄存器,然后對數(shù)據(jù)進(jìn)行處理。當(dāng)程序計(jì)數(shù)器PC作為目的寄存器時(shí),指令從存儲器中讀取的字?jǐn)?shù)據(jù)被當(dāng)作目的地址,從而可以實(shí)現(xiàn)程序流程的跳轉(zhuǎn)。該指令在程序設(shè)計(jì)中比較常用,尋址方式靈活多樣,請讀者認(rèn)真掌握。指令示例:LDRR0,[R1];將存儲器地址為R1的字?jǐn)?shù)據(jù)讀入寄存器R0。LDRR0,[R1,R2];將存儲器地址為R1+R2的字?jǐn)?shù)據(jù)讀入寄存器R0。LDRR0,[R1,#8];將存儲器地址為R1+8的字?jǐn)?shù)據(jù)讀入寄存器R0。(2)ldmiard!,{Rlist}將寄存器Rlist中的內(nèi)容加載到基地址為Rn處。!一定需要嗎?還是說,!表示增加后的基地址返回,不加是基地址不變。依次將R1到R13的值傳入R0相應(yīng)的地址,每次傳輸之后遞增R1指向的存儲地址(3)stmia:存儲寄存器的內(nèi)容到基地址為Rd處。CPU單元Cache的引入:(1)高速cpu與低速SDRAM之間的速度問題。(2)SRAM運(yùn)行速度高于SDRAM(3)程序訪問的局部性:(a)指令訪問的局部性比數(shù)據(jù)明顯;(b)但數(shù)組型數(shù)據(jù),結(jié)構(gòu)體等數(shù)據(jù)局部性很強(qiáng)。(4)引入cache后cpu與sdram之間的數(shù)據(jù)或指令傳輸。(5)cache大小和SDRAM大小的比例:4:1000(命中率90%)采用LRU機(jī)制提高命中率;利用寫穿式保證數(shù)據(jù)的一致性。1.S3C44B0如何保證cache和SDRAM讀取的一致性寫穿式:任一從CPU發(fā)出的寫信號送到Cache的同時(shí),也寫入主存,以保證主存的數(shù)據(jù)能同步地更新。
優(yōu)點(diǎn)是操作簡單,但由于主存的慢速,降低了系統(tǒng)的寫速度并占用了總線的時(shí)間。S3C44B0中cache的結(jié)構(gòu):1.8Kcache分為4組,每組分為128行,每行16bit信息,共2K。2.四路組相連映射的cache中,SDRAM中4×16bit大小的塊作為映射單位,其中,每16bit存放在每一組中對應(yīng)行。組相聯(lián)映射SDRAM:SynchronousDynamicRandomAccessMemory,同步動(dòng)態(tài)隨機(jī)存儲器CPU單元:寫緩沖機(jī)構(gòu)(11)中斷1.來自芯片外部的中斷:5pin,8種中斷2.來自芯片內(nèi)部的中斷(外圍):(1)從CPU手中申請控制資源的權(quán)利:(2)外設(shè)與CPU的通信:(3)定時(shí)器(4)其他:看門狗和ADC理解:關(guān)于44b0的中斷:1.44b0允許30個(gè)中斷,這些中斷來自于外部,和芯片內(nèi)部(芯片內(nèi)部的外圍,例如uart)。2.這30個(gè)中斷可以被44b0編成兩個(gè)級別(優(yōu)先級)的中斷:IRQ和FIQ。3.對于編成同一類型中斷的中斷源,如果同時(shí)發(fā)生,如何解決?44b0提供了兩種中斷服務(wù)的方式:(1)需要通過程序確定中斷源的優(yōu)先級,方法是查詢中斷pending寄存器?!八砻鳌皩ⅰ卑l(fā)生中斷的類型”。這種中斷處理方法的缺點(diǎn):有等待時(shí)間(latencytime)。(2)中斷矢量的方式:CISC類型的微處理器的通用特性(為什么RISC沒有,CISC的硬件可以做的復(fù)雜)。主要好處能夠減少等待時(shí)間。44b0能夠完成這一功能主要是因?yàn)樾酒瑑?nèi)的中斷控制器硬件提供了中斷服務(wù)向量。實(shí)現(xiàn)過程:當(dāng)多個(gè)中斷發(fā)生的時(shí)候,“硬件優(yōu)先級邏輯”確定先服務(wù)那個(gè)哪個(gè)中斷,同時(shí),這個(gè)硬件邏輯申請(應(yīng)用apply)中斷向量表(首地址是0x18或0x1c)中的跳轉(zhuǎn)指令。這個(gè)跳轉(zhuǎn)指令的目的就是去執(zhí)行對應(yīng)的ISR.這樣能夠減少等待時(shí)間。I_ispr:irq的中斷程序的pending寄存器。Movs和mov的區(qū)別:加s影響標(biāo)志位,不加s不影響標(biāo)志位。subsp,sp,#4stmfdsp!,{r8-r9}ldrr9,=I_ISPRldrr9,[r9]movr8,#0x0movr9,r9,lsr,#1bcs%F1addr8,r8,#4b%B0ldrr9,=handleADCaddr9,r9,r8ldrr9,[r9]strr9,[sp,#8]ldmfdsp,[r8-r9,pc]isrIRQ解釋:(1)r8,r9入棧。(2)將I_ISPR的內(nèi)容存到r9里面(先存地址,再將地址的內(nèi)容存入)。(3)將r9邏輯右移,當(dāng)移除為1時(shí),知道對應(yīng)bit位為待處理的中斷。該中斷的相對地址由r8計(jì)算。(4)r8用來存儲pending寄存器中發(fā)生中斷的中斷源的“相對地址”。先令r8=0x0,然后pending中等于1的位置,每隔一個(gè)加地址4。(5)如果沒有移除1,則跳轉(zhuǎn)到0繼續(xù)移(B0表示向后back到0),如果移除1,則向前跳轉(zhuǎn)到1(F1:forward1)(6)將相對地址編成絕對地址:r8+(=handleADC),然后將r9入棧。(7)將r8,r9,還有中斷處理程序的絕對地址同時(shí)出棧,其中中斷處理程序的首地址(絕對地址)賦予了PC1.只適用于IRQ;2.包括1個(gè)主單元+4個(gè)輔單元。3.每個(gè)單元都分為四個(gè)“G”和兩個(gè)“Gk”。前者的優(yōu)先級大于后者;并且“GkA”高于“GkB”。所以mGKB的優(yōu)先級是最低的,即ADC的中斷。4.“G”中連接的4個(gè)優(yōu)先級是可以編程的。5.FIQ中斷優(yōu)先于IRQ中斷動(dòng)畫次序:1.mGn和sGn中的四個(gè)中斷源的優(yōu)先級是可編程的。寄存器I_PSLV和I_PMST優(yōu)先級產(chǎn)生單元中的4個(gè)從單元的優(yōu)先級由I_PSLV來定義。每個(gè)從單元有4個(gè)可編程中斷源,需要2bit×4來說明優(yōu)先級1~4(00:1;01:2.。。越小級別越高),那么4個(gè)從單元共需要32bit。I_PMST:定義4個(gè)從單元的優(yōu)先級,需要8bit,因此,還剩下的bit用來還做了兩件工作:(1)主單元工作模式是固定的,還是輪詢的。(2)從單元。,。。。。。。。。。。2.相應(yīng)當(dāng)前狀態(tài)的查詢是I_CSLV和I_CMST在輪詢情況下,I_CSLV和I_CMST與對應(yīng)的I_PSLV和I_PMST可以不一樣。3.如果多個(gè)中斷同時(shí)發(fā)出申請,可以通過查詢I_ISPR(類似于INTPND)只適用于IRQ.FIQ需要查詢INTPND。4.清除INTPND,用I_ISPC(用于IRQ。F_ISPC用于FIQINTMODEREGISTER中斷模式寄存器DMA與CPU協(xié)調(diào):DMA是利用DMA控制器(專門的硬件)來執(zhí)行數(shù)據(jù)傳送。DMA控制器可以從CPU那里接管系統(tǒng)總線的控制權(quán),并且由本身發(fā)出存儲器地址信號以及訪問存儲器和IO設(shè)備的控制信號,使得數(shù)據(jù)通過總線,直接在存儲器和io設(shè)備(或存儲器)之間由于DMA傳送方式僅僅在需要占用總線傳送數(shù)據(jù)時(shí)才暫停CPU的操作,CPU的工作效率極高,傳輸數(shù)據(jù)可由硬件自身控制,大大提高了傳送速率,十分適合于高速數(shù)據(jù)的采集。DMA的主要特點(diǎn)是可以在兩地自動(dòng)傳輸數(shù)據(jù)而不需要CPU的干涉。第三課:S3C44B0的IO控制器(12)LCD控制器LCD控制器:(1)生成時(shí)序信號;(2)把視頻數(shù)據(jù)變換成要求格式的數(shù)據(jù):4,8單掃描;4雙掃描;(3)LCDDMA負(fù)責(zé)數(shù)據(jù)從mem傳送到lcd控制器。44b0中與LCD有關(guān)的(8+4)個(gè)管腳。借鑒xscale,管腳說明:(1)VCLK:像素點(diǎn)時(shí)鐘。(2)VLINE:表明行的結(jié)束。(3)VFRAME:表明幀的開始。(4)VM:LCD驅(qū)動(dòng)器的AC信號(13)通用異步收發(fā)器UARTUART的功能(提供RS-232C數(shù)據(jù)終端設(shè)備接口):(1)發(fā)送時(shí):將“計(jì)算機(jī)內(nèi)部”傳來的”并行數(shù)據(jù)“轉(zhuǎn)換為“串行數(shù)據(jù)流”,在輸出的串行數(shù)據(jù)流中加入奇偶校驗(yàn)位,輸出數(shù)據(jù)流+奇偶校驗(yàn)位兩端加上開始bit=0,停止bit=1。(2)接收時(shí):將“計(jì)算機(jī)外部”來的串行數(shù)據(jù)轉(zhuǎn)換成字節(jié)(計(jì)算機(jī)用的是并行數(shù)據(jù));對接收來得數(shù)據(jù)進(jìn)行奇偶效驗(yàn),在接收數(shù)據(jù)中刪除起始和結(jié)束bit。實(shí)現(xiàn)串口通信需要完成兩部分工作:(1)將串口電平轉(zhuǎn)換為設(shè)備電路板的工作電平,即實(shí)現(xiàn)RS-232電平和TTL/COMS電平的轉(zhuǎn)換;(2)接收并檢驗(yàn)串行數(shù)據(jù),將數(shù)據(jù)編程并行的,并提供給處理器使用。實(shí)現(xiàn)RS-232電平和TTL/COMS電平轉(zhuǎn)換用接口芯片;實(shí)現(xiàn)數(shù)據(jù)的串行到并行轉(zhuǎn)換用UART。它們是實(shí)現(xiàn)串行通信必不可少的兩個(gè)部分。(14)IIC總線:IIC即Inter-IntegratedCircuit(集成電路總線),這種總線類型是一種簡單、雙向、二線制、同步串行總線,主要是用來連接整體電路(ICS),IIC是一種多向控制總線,也就是說多個(gè)芯片可以連接到同一總線結(jié)構(gòu)下,同時(shí)每個(gè)芯片都可以作為實(shí)時(shí)數(shù)據(jù)傳輸?shù)目刂圃?。這種方式簡化了信號傳輸總線接口。I2C總線由數(shù)據(jù)線SDA和時(shí)鐘信號線SCL構(gòu)成串行總線。開始信號之后,如果是master先傳地址(7bit)和傳輸方向(讀或?qū)懀?,然后傳?shù)據(jù)。以字節(jié)為單位,沒字節(jié)后有ack應(yīng)答信號。在一次完整的傳輸過程中,傳輸?shù)摹白止?jié)”數(shù)是不限制的。IIC傳輸是以字節(jié)為單位的。無論字節(jié)是地址還是數(shù)據(jù),一個(gè)字節(jié)結(jié)束后都有一個(gè)應(yīng)答信號。如果地址超過8bit,則用兩個(gè)字節(jié)傳(字節(jié)間有有ack)(15)IIS總線I2S(Inter—ICSound)總線,又稱集成電路內(nèi)置音頻總線,是為數(shù)字音頻設(shè)備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標(biāo)準(zhǔn),該總線專門用于音頻設(shè)備之間的數(shù)據(jù)傳輸,采用了沿獨(dú)立的導(dǎo)線傳輸時(shí)鐘與數(shù)據(jù)信號的設(shè)計(jì),通過將數(shù)據(jù)和時(shí)鐘信號分離,避免了因時(shí)差誘發(fā)的失真IIS傳輸是如何實(shí)現(xiàn)的:(1)IIS傳輸需要5個(gè)管腳。數(shù)據(jù)入、出兩個(gè)。串行數(shù)據(jù)傳輸時(shí)的時(shí)鐘1個(gè)。因?yàn)槁曇羰橇Ⅲw聲,所以,要傳一個(gè)左右聲道的時(shí)鐘信號(如果約定好先8bit是左聲道,后8bit是右聲道是不是也可以,可以省掉一個(gè)LRCK),還需要一個(gè)codeclk信號。估計(jì)聲音編碼的基本單位。(2)IIS傳輸:(1)設(shè)定IIS控制器是master還是slaver(2)設(shè)定IIS是發(fā),還是收,還是收發(fā)。IISCON(2)IIS還是MSB-JUSTIFIED(3)先設(shè)置DCLK,LRCK和CODECLK。通過設(shè)置寄存器IISPSR中的prescaler值。還要通過IISCON選擇CODECLK和DCLK。(4)FIFO的設(shè)置:IISFCON和IISFIF讀寫:普通還是DMA大?。篎IFO使能:(5)其他的設(shè)置:LRCK高為左聲道還是右聲道;串行數(shù)據(jù)是8bit,還是16bit。(5)開啟FIFO(IISFCON)開啟DMA(IISCON)開啟IIS,即啟動(dòng)傳輸(IISCON)(16)GPIO總線擴(kuò)展器GeneralPurposeInputOutput(通用輸入/輸出)簡稱為GPIO,或總線擴(kuò)展器,人們利用工業(yè)標(biāo)準(zhǔn)I2C、SMBus或SPI接口簡化了I/O口的擴(kuò)展。當(dāng)微控制器或芯片組沒有足夠的I/O端口,或當(dāng)系統(tǒng)需要采用遠(yuǎn)端串行通信或控制時(shí),GPIO產(chǎn)品能夠提供額外的控制和監(jiān)視功能。問題:L3總線包含什么?(GPIO)L3MODEL3DATAL3CLOCK第四課:ARM程序設(shè)計(jì)(17)ARM體系混合編程P5B:無條件跳轉(zhuǎn)到resetISRIRQ查詢那一段指令被中斷,中斷矢量模式比非中斷矢量模式快Ldrpc,HandlerHandleADC這段程序的作用是:(1)保存r0信息;(2)利用r0將pc指向handleLabel中的地址。(18)初始化初始化堆棧:1.針對7種操作模式,有6種sp,要想對sp進(jìn)行初始化,首先要讓系統(tǒng)進(jìn)入該工作狀態(tài)。因?yàn)椋瑓R編中sp只有一個(gè)標(biāo)識符。2.用戶堆棧不用初始化。3.程序細(xì)節(jié):先將MODE位全部清零(保存在r0),然后,將用“或”來實(shí)現(xiàn)各種模式的選擇(保存在r1)。注意:這時(shí)不允許INT,所以,同時(shí)進(jìn)行“NOINT”的設(shè)置。P19未定義模式下SR的初始化逐行解釋:?。?!Mrsr0,CPSR取當(dāng)前程序狀態(tài)寄存器的內(nèi)容賦值到r0BICR0,R0,#MODEMASK(#0x1F)清空模式位ORRR1,R0,#UNDEFMODE|NOINT(#0x1b|0xc0)選擇新的模式,將新的模式控制字賦值給r0Mrscpsr_cxsf,r1取當(dāng)前r0的內(nèi)容賦值到當(dāng)前程序狀態(tài)寄存器Ldrsp,=UndefStack表示將UndefStack這個(gè)標(biāo)號所代表的地址賦給堆棧指針注釋:bicr0,r0,#0x1f@bic指令(bitclear):r0:=r0and(notop2).上邊的指令目的是把bit0~bit4清零.mrs將狀態(tài)存儲器內(nèi)容傳到通用寄存器bic比特清零ORRLogicalOR邏輯或(19)宏指令1.MACRO,MEND偽操作可以將一段代碼定義為一個(gè)整體,稱為宏指令。2.宏操作的使用方法與子程序有些相似,子程序可以提供模塊化的程序設(shè)計(jì),節(jié)省存儲空間并提高運(yùn)行速度。但是,使用子程序結(jié)構(gòu)時(shí)需要保護(hù)現(xiàn)場,從而增加了系統(tǒng)能量開銷,因此,在代碼較短且需要傳遞的參數(shù)較多時(shí),可以使用宏操作代替子程序。第五課:(20)OSI:開放系統(tǒng)互連(opensysteminterconnet)1.物理層:為設(shè)備之間的數(shù)據(jù)通信提供傳輸媒體(物理通道)。(數(shù)據(jù)鏈路層解決的問題)2.數(shù)據(jù)鏈路層:設(shè)備之間的物理媒體是長期存在的,但是“連接”是有生存期的。所謂連接就是真正進(jìn)行的數(shù)據(jù)通信。每次通信都要經(jīng)過兩個(gè)過程:“建立通信聯(lián)絡(luò)”和“拆除通信聯(lián)絡(luò)”。這種建立起來的數(shù)據(jù)收發(fā)關(guān)系叫做“數(shù)據(jù)鏈路”。物理媒體上傳輸數(shù)據(jù)不可避免會產(chǎn)生差錯(cuò),為了彌補(bǔ)物理層的不足,需要對數(shù)據(jù)進(jìn)行檢錯(cuò)和糾錯(cuò)。數(shù)據(jù)鏈路的建立,拆除,對數(shù)據(jù)的檢查,糾錯(cuò)是數(shù)據(jù)鏈路層的基本任務(wù)。3.網(wǎng)絡(luò)層:如
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)備維修合同簡易范本
- 研發(fā)部保密協(xié)議書
- 禮儀模特活動(dòng)合同
- 北京市汽車轉(zhuǎn)讓合同
- 新汽車租賃合同模板
- 2025年全球及中國穿戴美甲行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球肺部電阻抗斷層成像儀行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025-2030全球云原生數(shù)字引擎服務(wù)行業(yè)調(diào)研及趨勢分析報(bào)告
- 23年-24年企業(yè)主要負(fù)責(zé)人安全培訓(xùn)考試題含完整答案(易錯(cuò)題)
- 23-24年企業(yè)主要負(fù)責(zé)人安全培訓(xùn)考試題及下載答案
- 子宮畸形的超聲診斷
- 2024年1月高考適應(yīng)性測試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- DB11∕T 2035-2022 供暖民用建筑室溫?zé)o線采集系統(tǒng)技術(shù)要求
- EPC項(xiàng)目采購階段質(zhì)量保證措施
- T-NAHIEM 101-2023 急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)
- 《復(fù)旦大學(xué)》課件
- 針灸與按摩綜合療法
- 四川2024年專業(yè)技術(shù)人員公需科目“數(shù)字經(jīng)濟(jì)與驅(qū)動(dòng)發(fā)展”參考答案(通用版)
- 《我的家族史》課件
- 煤炭裝卸服務(wù)合同
評論
0/150
提交評論