馮諾依曼體系結構計算機的要點和工作過程_第1頁
馮諾依曼體系結構計算機的要點和工作過程_第2頁
馮諾依曼體系結構計算機的要點和工作過程_第3頁
馮諾依曼體系結構計算機的要點和工作過程_第4頁
馮諾依曼體系結構計算機的要點和工作過程_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1、簡述馮諾依曼體系結構計算機的要點和工作過程。答:馮諾依曼體系結構計算機的要點:計算機中的信息(程序和數據)以二進制方式表示。程序預存儲,機器自動執(zhí)行。計算機由運算器、控制器、存儲器、輸入設備和輸出設備五大部分組成。計算機通過執(zhí)行預存儲在存儲器中的程序來完成預定的運算。程序由計算機的指令序列構成,計算機在處理器的控制下,首先從存儲器讀取一條待執(zhí)行的指令到處理器中,接下來分析這條指令,而后發(fā)出該指令對應的電平脈碼序列,即執(zhí)行該指令。并以此遞歸運行程序。2、何謂總線?計算機中有哪幾類總線?簡述其用途。答:計算機的總線(Bus)就是連接計算機硬件各部件,用于計算機硬件各部件之間信息傳輸的公共通道。

2、按照其傳送信號的用途屬性,總線可細分為:地址總線(AddressBu、數據總線(DataBus)和控制總線(ControlBus)三類。地址總線(A_Bus):專用于在 CPU、存儲器和 I/O 端口間傳送地址信息的信號線。此類信號線傳送的信息總是從 CPU 到存儲器或 I/O 端口,它是單向信號線。數據總線(D_Bus):專用于在 CPU、存儲器和 I/O 端口間傳送數據信息的信號線。此類信號線傳送的信息可以是從 CPU 到存儲器或 I/O 端口(寫”操作),也可能是從存儲器或 I/O 端口到 CPU(讀”操作),它是雙向信號線??刂瓶偩€(C_Bus):專用于 CPU 與其它部件之間傳送控制

3、信息和狀態(tài)信息的信號線。此類信號線的構成比較復雜,傳送的控制、狀態(tài)信息可以是從 CPU 到其它部件,也可能是從其它部件到 CPU。此類總線中的某些具體的線是單向的(或從 CPU 到其它部件,或反之),但作為總線來說,它是雙向信號線。3、中央處理器 CPU 是計算機的核心部件,主要功能是解釋并執(zhí)行計算機指令,完成數據處理和對計算機其他各部分進行控制。存儲器是計算機系統中用來存儲程序和數據的信息記憶部件。4、嵌入式系統:以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。簡而言之,嵌入式系統就是嵌入到目標應用系統中、完成特定處理功

4、能的專用計算機系統。5 嵌入式處理器分類嵌入式微處理器、嵌入式微控制器、嵌入式 DSP 處理器、嵌入式片上系統1.何謂計算機體系結構?答:計算機體系結構是對計算機較高層次的抽象,是擺脫具體電路的實現而主要著眼于計算機系統的邏輯特征、原理特征、結構特征和功能特征的抽象。3.什么是 RISO 什么是 CISC 簡述他們的特點與差別。答:RISC 是 ReducedInstructionSetComputer,精簡指令集計算機。特點是指令系統精煉,處理器電路邏輯相對簡單,且能夠以更快的速度執(zhí)行操作。對于負載的功能需要編程實現。CISC 是 ComplexInstructionSetComputer,

5、復雜指令集計算機。特點是指令系統中含有大量的類似于高級程序設計語言結構的復合功能指令。指令系統龐大,處理器硬件電路的復雜度。21.存儲器和 IO 端口統一編址和獨立編址各有什么特點?ARM7 處理器統一編址編址方式答:統一編址方式一存儲器單元資源和 IO 端口資源統一編址在一個地址空間。特點:按地址空間位置約定各分類資源,訪問 IO 端口如同訪問存儲器單元,無需專用的 IO 訪問指令。芯片上沒有專用于 IO 訪問的引腳。獨立編址方式-存儲器資源和 IO 端口資源分別編址在兩個地址空間,存儲器地址空間和 IO 地址空間。特點:按資源分類的地址空間清晰,使用不同的指令訪問存儲器和 IO 端口,處理

6、器指令系統中既有存儲器訪問指令,又有專用的 IO 訪問指令。芯片上有專用于 IO 訪問的引腳。22.大端存儲模式和小端存儲模式的含義:高位數據存儲在高地址字節(jié),這種組織數據的存儲方式稱為小端模式;另一種則反之,高位數據存儲在低地址字節(jié),這種組織數據的存儲方式稱為大端模式;8、ARM 體系結本支持 7 種處理器模式,用戶模式、系統模式、快中斷模式、中斷模式、管理模式、中止模式、未定義模式。ARM 微處理器內共有 37 個 32 位的程序可訪問寄存器物理資源,其中 31 個通用寄存器,6 個狀態(tài)寄存器。ARM 中定義了復位、未定義指令、SWI(軟中斷)、預取指終止、預取數終止、irq 以及 fiq

7、 等 7 種異常。ARM7 的異常處理:異常響應)處理器轉入到 ARM 狀態(tài)對應的異常模式;在該異常模式的 SPSR、LR 寄存器分別備份 CPSR、PC 的當前數據;重置 CPSR 和 PC9、ARM7TDMI 支持哪幾種指令集,各有什么特點?答:ARM7TDMI 支持 32 位的 ARM 指令集和 16 位的 Thumb 指令集。ARM 指令集效率高、功能全,但是代碼密度低,所有 ARM 指令都是可以有條件執(zhí)行的;Thumb 指令集,功能上是 ARM 指令集的子集,Thumb 狀態(tài)下的 ARM7TDMI(-S)仍然是 32 位的處理器,因此具有更高的代碼密度;Thumb指令中僅有 B 指令

8、具備條件執(zhí)行功能。1、解釋滿堆棧、空堆?!薄ⅰ斑f增堆?!焙汀斑f減堆?!??ARM 指令系統中是如何支持的?答:滿堆棧就是堆棧指針總是指向最后壓入堆棧的數據的存儲單元;空堆棧就是堆棧指針總是指向下一個將要放入數據的存儲單元;遞增堆棧就是堆棧底部位于低地址處,堆棧向高地址方向增長;遞減堆棧就是堆棧底部位于高地址處,堆棧向低地址方向遞減;ARM 指令系統支持的是滿遞減堆棧1、請說明 MOV 指令與 LDR 加載指令的區(qū)別和用途。答:MOV 指令用于將 8 位位圖立即數或寄存器數據傳送到目標寄存器(Rd),也可用于移位運算等操作。LDR 指令用于從存儲器中加載一個數據到寄存器中。用于訪問存儲器操作。解釋

9、 B 指令、BL 指令與 BX 指令的功能差別?簡述它們的應用場合。答:B 指令跳轉到標號指定的地址執(zhí)行程序。BL 指令先將下一條指令的地址拷貝到 R14 中,然后跳轉到標號指定地址運行程序。BX 指令跳轉到 Rm 指定的地址處執(zhí)行程序,該指令用于處理器狀態(tài)切換。4、計算機語言:機器語言是一種用二進制代碼表示指令和數據,能被機器直接識別的計算機語言。5、如何在匯編程序中顯示聲明文字池?什么情況下需要顯示聲明文字池?一般應在程序的什么位置顯示聲明文字池?為什么?答:使用 LTORGT 編器偽指令用于顯示聲明一個文字池(literalpool)。實際應用中,如果 ARM 需要處理的操作數不符合 8

10、bit 位圖立即數的要求時,那么就需要使用文字池來存放這個常量。在 ARM 匯編語言中, 使用 LDR 加載指令相對尋址文字池中存放的任意 32bit 立即數。 因為 LDR 指令的尋址范圍是指令位置的前后 4KB,所以如果 LDR 指令所在位置距離文字池超出 4KB 范圍,那么需要在程序中的適當位置,使用 LTORGW 指令顯式聲明文字池。解決方法:一般總可以在 LDR 偽指令前后 4KB 的范圍內找到分支指令,文字池可聲明在分支(B)指令之后的緊鄰位置,因為 B 指令總是會將程序的執(zhí)行轉移到其它地方的,所以這樣做不會影響代碼的正常執(zhí)行。6、簡述匯編程序設計的一般流程。1 分析問題,建立數學

11、模型;確定算法;設計程序流程圖;合理分配寄存器、存儲空間和外設資源;編制程序;調試程序;形成文檔;7、實現匯編程序分支的關鍵語句有哪幾條?分別用于什么場合?答:匯編程序分支結構的實現是通過在運行時由機器根據不同的條件自動作出判斷,選擇執(zhí)行相應的處理程序段。分支指令主要有 BL 指令、B 指令和 BX 指令,分別用于調用子程序、直接跳轉和帶狀態(tài)的跳轉場合。8、循環(huán)控制有哪幾種方法?各有什么應用特點?答:循環(huán)控制有兩種方法。1 計數控制循環(huán):通過計數循環(huán)次數,判斷是否已達到預定次數,控制循環(huán)。適合已知循環(huán)次數的循環(huán)控制。2 條件控制循環(huán):通過判斷循環(huán)終止條件是否已成立,控制循環(huán)。適合僅知道結束條件

12、的循環(huán)控制。9、匯編子程序傳遞參數有哪幾種方式?答:寄存器傳遞參數方式;存儲區(qū)域傳遞參數方式;堆棧傳遞參數方式;10、用匯編語言編寫程序將 R0 寄存器中的字數據分成 4 組,每組 8 位,然后分別存放到 R1、R2、R3 和 R4 中。;代碼段名 decode;程序的入口;將 x 加載到寄存器 R0;取 x 的低八位;取 x 的次低八位;取 x 的次高八位;取 x 的高八位;這三條指令是 ADS 調試環(huán)境特約;程序運行結束返回編譯器調試環(huán)境AREAData,DATA,READWRITE;數據段白名字 DataxDCD123456789END;結束11、用匯編語言編寫程序統計任意字符串包含的字

13、符個數。(約定:字符串以 0 為結束標志)AREAcount,CODE,READONLY;代碼段名 count;將 string 中的一個字符加載到寄存器 R1;是否是字符串結束標志;如果不是,統計個數增加 1;如果不是,指針撥向下一個字符;如果是,將統計的字符串個數,放入單元 num;這三條指令是 ADS 調試環(huán)境特約;程序運行結束返回編譯器調試環(huán)境AREAdecode,CODE,READONLYENTRYCODE32startLDRR0,二 xLDRR0,R0MOVR1,#0 xFFANDR1,R1,R0MOVR2,#0 xFFANDR2,R2,R0,ROR#8MOVR3,#0 xFFAN

14、DR3,R3,R0,ROR#16MOVR4,#0 xFFANDR4,R4,R0,ROR#24stopMOVR0,#0 x18LDRR1,=0 x20026SWI0 x123456ENTRYCODE32startLDRR0,=stringMOVR2,#0CONTILDRBR1,R0CMPR1,#0ADDNER2,R2,#1ADDNER0,R0,#1BNECONTILDREQR3,=NUMSTREQR2,R3stopMOVR0,#0 x18LDRR1,=0 x20026SWI0 x123456;程序的入口;R0 指向字符串 string 中第一個字符100Sum2N12、用匯編語言編寫程序計算:號

15、AREAsum2n,CODE,READONLY;代碼段名 sum2nENTRY;程序的入口CODE32startLDRR0,=sumMOVR1,#0MOVR2,#1CONTI;R0 指向存儲單元 sum;R1 存放累加和;R2 初始化起始值ADDR1,R1,R2,LSL#1CMPR2,#100ADDNER2,R2,#1BNECONTI實現 R1=R1+R2*2判斷 R2 是否等于 100如果不等,R2 累加 1STREQR1,R0stopMOVR0,#0 x18LDRR1,=0 x20026SWI0 x123456;如果相等,將累加和 R1 放入存儲單元 sum 中;這三條指令是 ADS 調試

16、環(huán)境特約;程序運行結束返回編譯器調試環(huán)境AREAData,DATA,READWRITEsumDCD0;數據段白名字 DataEND;結束14 讀程序、文件名:TEST1.S;功能:實現字符串拷貝功能說明:使用 ARMulate 軟件仿真調試AREAExample1,CODE,READONLY;聲明代碼段 Example1numEQU20ENTRYCODE32STARTLDRR0,=src;設置拷貝字的個數;標識程序入口;聲明 32 位 ARM 指令;R0 指向源數據塊LDRR1,=dst;R1 指向目的數據塊MOVR2,#num;R2 需要拷貝的數據個數wordcopyLDRR3,R0,#4;

17、從源數據塊中取一個字,放入 R3 中,R0=R0+4STRR3,R1,#4;將 R3 中的數據存入 R1 指向的存儲單元中,R1=R1+4SUBSR2,R2,#1;R2 計數器減 1BNEwordcopy;如果 R2 不為 0,貝 U 轉向 wordcopy 處stopMOVR0,#0 x18;程序運行結束返回編譯器調試環(huán)境LDRR1,=0 x20026SWI0 x123456AREABlockData,DATA,READWRITE;數據段白名字 BlockDataAREA|.extra|,NOINIT,READWRITE;未初始數據段的名字.extradataSPACE1024END;文件結

18、束第六章1、主機與外設接口之間主要交互的三類信息:狀態(tài)信息(輸入)用于標示設備的狀態(tài)情況。數據信息(輸入/輸出)-要傳送的二進制目標數據。控制信息(輸出)控制外設的工作方式與具體操作。對應于上述的三種信息,外設接口電路中的端口寄存器也分為了三類:狀態(tài)端口(寄存器卜數據端口(寄存器)和控制端口(寄存器)2、接口與端口:接口和端口是兩個不同的概念。接口-側重于物理連接;端口-側重于接口的內部工作方式。接口由若干個端口加上相應的控制電路構成。每個端口都對應與接口電路中的各個工作寄存器。外設通過接口連接入計算機系統,計算機通過端口訪問控制外設工作。3、處理器與外設之間的數據傳送方式主要有:無條件數據訪

19、問方式,狀態(tài)查詢方式數據訪問方式,中斷方式數據訪問方式和直接存儲器訪問(DMA)方式等幾種方式。4、無條件外設-輸入設備總是準備好向 CPU 提供數據,輸出設備總是準備好接收 CPU 送來的數據。5、接口電路的主要功能:任何設備都不能長期占用系統總線;輸入設備要經過三態(tài)緩沖器相連到系統總線;輸出設備要經過數據鎖存器相連到系統總線;6、狀態(tài)查詢方式的原理:在執(zhí)行數據端口訪問指令前,要先查詢該設備的狀態(tài),當設備處于準備好狀態(tài)時,CPU才執(zhí)行對設備數據端口的輸入/輸出指令,與外設交換信息;否則,等待。中斷方式數據訪問:當外設需要與CPU 進行信息交換時,由外設主動向 CPU 發(fā)出數據傳送請求信號(中

20、斷申請),CPU 響應此請求信號后(中斷響應),暫停正在執(zhí)行的程序,轉去執(zhí)行該外設的數據輸入/輸出操作程序(中斷服務程序-ISR),外設數據端口訪問后,CPU 再繼續(xù)執(zhí)行被暫停的程序(中斷返回)。7、中斷向量-中斷服務程序(ISR 的入口地址;中斷現場-CPU 響應中斷離開主程序時,CPU的相關寄存器數據情況。中斷響應-CPU 敏感并進入到 ISR 的一系列動作;中斷返回-CPU返回被中斷主程序斷點處繼續(xù)執(zhí)行主程序的一系列動作;8、中斷處理過程一般包括以下五個步驟:中斷請求、中斷響應、斷點保護、中斷處理和中斷返回。9、例 7-1:使用 Timer0 作為 1 秒鐘的定時器,產生周期為 2 秒,

21、占空比為 1:1 的方波信號。intmain(void)PINSEL0=PINSEL0&(310)|(210);/*設置 P0.5 管腳為 MAT0.1 功能*/T0CTCR=0 x00;/*設置 Timer0 工作在定時方式*/T0TC=0;/*定時器設置為 0*/T0PR=99;/*時鐘 100 預分頻*/T0MCR=0 x023;/*設置 T0MR1 匹配后復位 T0TC,無中斷標志*/T0MR1=Fpclk/100;/*1 秒鐘定時-匹配目標值*/T0EMR|=0 xC2;/*設置 Timer0 發(fā)生 MR1 匹配時翻轉 MAT0.1 位*/T0TCR=0 x01;/*啟動定時

22、器*/while(1);return0;例 7-2:假設車輪轂上已經均勻安裝了 8 個霍爾傳感器,車輪每轉一周可產生 8 個正脈沖。使用LPC2132 中的 Timer0 和 Timeri 資源, 設計一個簡易的車用綜合儀表數據處理系統 (可測量顯示車速、 本次里程、總里程等數據)。10P0.0 管腳,KClr 按下時 P0.0 為低電平*/2.5/*車輪周長 2.5 米*/#defineHrN8/*車輪箍霍爾傳感器個數*/uint32Vspeed;/*當前車速*/uint32VtotalLen;/*總里程*/uint32VthisLen;/*本次里程-Km*/intmain(void)(ui

23、nt32Vx;/*暫存 1 秒鐘車輪轂霍爾脈沖計數值*/PINSEL0=(PINSEL0&(320)|(220);/*設置 P0.10 管腳為 CAP1.0*/PINSEL0=PINSEL0&(-3);/*設置 P0.0 管腳為 GPIO*/*設置 Timer0-1 秒定時器*/T0CTCR&=0 xf0;/*設置 Timer0 工作在定時方式*/T0TC=0;/*定時器設置為 0*/T0PR=99;/*時鐘 100 預分頻*/T0MCR=0 x03;/*設置 T0MR0 匹配后復位 T0TC,產生中斷標志*/T0MR0=Fpclk/100;/*1 秒鐘定時-匹配目標值

24、*/*設置 Timer1-計數器對 P0.10 管腳輸入脈沖計數*/T1CTCR=(T1CTCR&(0 x0f)|0 xf1;/*設置 Timer1 計數方式,計數 CAP1.0 的上升沿*/T1TC=0;/*設置計數器初值為 0*/T1MCR=0 x00;/*這也是芯片的復位值 00*/T1CCR&=0 x07;/*CAP1.0 不再用作捕獲觸發(fā)*/T0TCR=0 x01;/*啟動定時器 0*/T1TCR=0 x01;/*啟動定時器 1*/while(1)if(T0IR&0 x01)=1)/*1S 定時到*/T0IR=0 x01;/*清除 MR0 中斷標志*/Vx=T

25、1TC;T1TC=0;/*下一秒重新計數*/VtotalLen+=Vx;/*累計總里程*/VthisLen+=Vx;/*累計小里程*/Vspeed=(Vx*L*3.6)/HrN;/*單位:Km/Hr*/)if(IO0PIN&KClr)=0)VthisLen=0;/*如果 KClr 按下,清 0 本次里程紀錄*/return0;7、GPIO 應用舉例#defineK110/K1 按鍵連接與 P0.0 管腳,K1 按下時 P0.0 為低電平#defineKClr/*KClr 按鍵連接與#define#defineK211/K2 按鍵連接與 P0.1 管腳,K2 按下時 P0.1 為低電平#defineBEEP17/P0.7 控制蜂鳴器,高電平蜂鳴#defineLED10;dly-)for(i=0;i50000;i+);intmain(void)PINSEL0=0 x00000000;/P015:0管腳用做 GPIO 功能IO0DIR=IO0DIR&(K1);/設置 K1 控制口為輸入IO0DIR=IO0DIR&(K2);/設置 K2 控制口為輸入IO0DIR=IO0DIR|BEEP;/設置 BEEP 控制口為輸出IO0DIR=IO0DIR|LED;/設置 LED 控制口為輸出I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論