02微處理器體系與結構_第1頁
02微處理器體系與結構_第2頁
02微處理器體系與結構_第3頁
02微處理器體系與結構_第4頁
02微處理器體系與結構_第5頁
已閱讀5頁,還剩48頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、el微處理器的概要歷史第一節8086/8088時鐘頻率為4.77MHz初始數據總線和外部數據總線都是16位地址總線為20位,可最大尋址1MB的80386空間80 x86的第一個32位處理器和外部數據總線都是32位地址總線也是32位,可尋址高達4GB內存具有實模式和保護模式外,還增加了一種叫虛擬86的工作方式,可以通過同時模擬多個8086處理器來提供多任務能力el 8086/8088微處理器的第二節結構分三部分:一、執行單元與總線接口單元二、8086/8088的寄存器結構三、8086/8088的器組織一、執行單元與總線接口單元注:8086 CPU數據總線16位,指令隊列為六個字節;8088 CP

2、U數據總線八位,指令隊列為節。20 地址加 法16 位CS DS SS ES IP 暫存 器位部分 1 2 3 4 5 6電路8位 指令 隊列 緩沖 器( EU )總線 接口 位外部 總線 ( B IU )AHAL 通 用 BH BL 寄 存 器 CH CL DH DL SP BP DI SI AL U標志 執行 16 執行 控制 輸入 / 輸出 控制電路 運算寄存器 (一)、總線接口單元BIU(Buserface Unit)功能:負責與 Memory、I/O 端口傳送數據。取指令時,從器指定地址取出指令送入指令隊列排隊。執行指令時,根據EU命令對指定組成器單元或I/O端口存取數據。4 個段地

3、址寄存器(CS、DS、ES、SS)16位指令指針寄存器IP20位的地址加法器(16d段地址+偏移地址物理地址)6字節(8086)或4字節(8088)的指令隊列總線控制電路:處理器與外界總線聯系的轉接電路。括三組總線:20位地址總線, 8 位雙向數據總線,一組控制總線。(一)、總線接口單元BIU(Bus指令隊列erface Unit)(cont.)8086 的指令隊列為6個字節,8088 的指令隊列為4個字節。不論是8086還是8088都會在執行指令的同時從內存中取下一條或幾條指令,取來的指令放在指令隊列中,使 BIU 具有預取指令的功能,是一種先進先出(FIFO)的數據結構。指令執行順序順序指

4、令執行:指令隊列存放緊接在執行指令后面的那一條指令。執行轉移指令:BIU 清除指令隊列中的內容,從新的地址取入指令,立即送往執行單元,然后再從新單元開始重新填滿隊列。(二)、執行單元EU( Execution Unit )功能執行指令,進行全部算術邏輯運算、完全偏移地址的計算向總線接口單元BIU提供指令執行結果的數據和偏移地址,并對通用寄存器和標志寄存器進行管理。組成:4個通用寄存器:AX、BX、CX、DX4個寄存器:BP、SP、SI、DI標志寄存器(PSW):9個標志位,其中6個條件標志位用于存放結果狀態,算術邏輯單元:16 位加法器,用于對寄存器和指令操作數進行算術或邏輯運算,EU 控制系

5、統:接受從總線接口單元的指令隊列中取來的指令代碼,對其譯碼和向 EU 內各有關部分發出時序命令信號,協調執行指令規定的操作。(三)、流水線工作方式8086/8088取指部分與執行部分是分開的。在一條指令的執行過指令隊列中排隊;可以取出下一條(或多條)指令,指令 在在一條指令執行完成后,就可以立即執行下一條指令,減少CPU為取指令而等待的時間,提高CPU的利用率和整個運行速度。8086/8088微處理器:BIU和EU分開,取指和執行可以重迭,大大減少了等待取指所需的時間,提高CPU的利用率。取 指取 指取 指取 指得 到 數 據等 待執 行執 行執 行執 行(三)、流水線工作方式(cont.)對

6、于8080與8085及較早的8位微處理器:程序執行由取指令和執行指令的循環來完成的,每條指令執行完后CPU必須等待到下條指令取出來后才能執行。取指執行取指執行.取指執行時間坐標二、8086/8088的寄存器結構158 70AX BX CXDX累加器基址寄存器計數寄存器數據寄存器數據寄存器堆棧指針 基址指針源變址寄存器 目的變址寄存器指令指針標志寄存器代碼段寄存器數據段寄存器堆棧段寄存器附加段寄存器通用寄存器組地址指針、變址寄存器控制寄存器段寄存器AHALBHBLCHCLDHDLSPBPSIDIIPFLAGSCSDSSSES二、8086/8088的寄存器結構(cont.)1、通用寄存器 通用寄存

7、器包括:數據寄存器、地址指針寄存器、變址寄存器數據寄存器包括:AX 、BX 、CX 、DX地址指針寄存器包括: SP 、 BP變址寄存器包括:2、段寄存器SI 、 DI段寄存器包括: CS 、 SS 、 DS 、 ES3、控制寄存器控制寄存器包括:IP 、PSW(一)、通用寄存器(1)、數據寄存器AX:(Accumulator)作為累加器。它是算術運算的主要寄存器,所有I/O指令都使用這一寄存器與外部設備交換數據。BX : Base用作基址寄存器使用。在計算內器地址時,經常用來存放基址。CX : Count可以作計數寄存器使用。在循環LOOP指令和串處理指令中用作隱含計數器。DX : Data

8、可以作為數據寄存器使用。一般在雙字長乘除法運算時,把DX和AX組合在一起存放一個雙字長(32位)數,DX用來存放高16位;對某些I/O操作DX可用來存放I/O的端口地址(口地址 256)。(一)、通用寄存器(cont.)(2)、地址指針與變址寄存器SP、BP、SI、DI四個16位寄存器。以字為在運算過存放操作數,經常用以在段內尋址時提供偏移地址。SP(stack poer)堆棧指針寄存器用來指示棧頂的偏移地址, 必須與SS段寄存器聯合使用確定實際地址。BP(base poer)基址指針寄存器可以與SS寄存器聯合使用來確定堆棧段中某一變址寄存器(SI 、 DI)SISource Index Re

9、gister 源變址寄存器。器單元地址。DIDestination Index目的變址寄存器。使用場合:常用于變址尋址。一般與DS聯用,用來確定數據段中某一自動增量和自動減量功能.單元的地址,SI , DI具有(二)、段寄存器段寄存器:4個16位段寄存器CS、DS、SS、ES。用來識別當前可尋址的四個段,不可互換的使用。CSCode Segment Register 代碼段寄存器用來識別當前代碼段(程序一般放在代碼段)。DSData Segment Register數據段寄存器用來識別當前數據段寄存器。SSStack Segment Register堆棧段寄存器,用來識別當前堆棧段。ESExt

10、ra Segment Register附加段寄存器,用來識別當前附加段。(三) 、控制寄存器控制寄存器:IP 、 PSWIPInstruction Poer指令指針寄存器代碼段中的偏移地址;用來IP始終指向下一次要取出的指令偏移地程序運行過址IP要與。CS寄存器相配合才能形成真正的物理地址。PSW(Prosor Ses Word Program)程序狀態字寄存器, 16位寄存器。由條件碼標志FLAG、控制標志。只用了其中9位, 6位條件碼標志 ,3位控制標志。控制標志狀態標志溢出標志位增量方向標志位允許中斷標志位單步標志位符號標志位進位標志位奇偶標志位輔助進位標志 位零標志位ODITSZAPC

11、(三) 、控制寄存器(cont.)條件碼標志用來程序中運行結果的狀態信息作為后續條件轉移指令的轉移控制條件。條件碼包括6位:CF 、 PF 、 AF 、 ZF 、 SF 、 OF 。OF(Overflow Flag)溢出標志(一般指補碼溢出)OF=1:在運算過OF=0:在運算過,如操作數超過了機器表示的范圍稱為溢出。,如操作數未超過了機器能表示的范圍稱為不溢出。字節允許范圍 -128+127,字運算范圍-32768。SF(Sign Flag)符號標志SF=1:SF=0:運算結果的符號為負。運算結果的符號為正。ZF(Zero Flag)零標志ZF=1:運算結果為0。ZF=0:運算結果不為0。(三

12、) 、控制寄存器(cont.)條件碼標志 CF(Carry Flag)進位標志CF=1:CF=0:運算時從最高有效位產生進位值。運算時從最高有效位不產生進值。 AF(Auxiliary Carry Flag)輔助進位標志AF=1:AF=0:運算時第3位(半個字節)產生進位值。 運算時第3位(半個字節)不產生進位值。 PF(Parity Flag)奇偶標志PF=1:PF=0:結果操作數低8位中有偶數個1。結果操作數低8位中有奇數個1。用來為機器中傳送信息時可能產生的代碼出現情況提供檢驗條件。(三) 、控制寄存器(cont.)控制標志對控制標志位進行設置后,對其后的操作起控制作用。控制標志位包括3

13、位:向標志 DF 。TF、 IF 、 DF 。(陷阱)標志TF、中斷標志IF 、方TF(Trap Flag)(陷阱)標志位TF=1 ,每執行一條指令后,自動產生一次中斷,使CPU處于單步執行指令工作方式,便于進行程序調試,用戶能檢查程序。TF=0, CPU正常工作,不產生陷阱。IF(erupt Flag)中斷標志位IF=1, 允許外部可中斷。CPU可以響應可中斷請求。IF=0, 關閉中斷。CPU響應可中斷請求。IF的狀態對不可中斷和軟中斷沒有影響。DF(Direction Flag)方向標志位DF=1,每次串處理操作后使變址寄存器SI和DI減量,使串處理從高地址向低地址方向處理。DF=0,每次

14、串處理操作后使變址寄存器SI和DI增量, 使串處理從低地址向高地址方向處理。DF方向標志位是在串處理指令中控制處理信息的方向用的。例1:執行兩個數的加法,分析對標志位的影響。標志:運算結果最為0SF=0;ZF=0PF=0;CF=0AF=0;運算結果本身0低8位中1的個數為奇數個最沒有進位第三位向第四位無進位向前沒有進位 ,次向最沒有進位 ,最OF=0。0010001101000101+01010101010111100011001000011001例2:執行兩個數的加法,分析對標志位的影響。標志:運算結果最為1, SF=1 ;運算結果本身不為0, ZF=0 ;向前無進位, CF=0最次產生進位

15、,而最向前沒有進位, OF=1 ;向最結果低8位含偶數個1, PF=1 ;第三位向第四位有進位, AF=1 。在絕大多數情況下,一次運算后并不影響所有標志,程序也并不需要對所有的標志作全面的關注。一般只是在某些操作后,對其中某個標志進行檢測。0101010000111001+OF=1AF=1 10011001101000110100010101101010三、8086/8088的器組織(一)、(二)、器結構器的分段結構和物理地址的形成(三)、信息分段與段寄存器(一)、器結構單元的地址和內容76543210器位:8088字長16位,由二個字節組成,位如下:15 7 86543210字節 MSB(

16、815位)低位字節LSB(07位)8088的 ALU 能進行16 位運算。有關地址寄存器如 SP、IP、BP、SI、DI 等都是16位的。器結構(cont.)(一)、單元地址,按字節物理地址內 容00000H 00001H 00002H 00006H FFH . 1100 1111B . 器結構(cont.)(一)、單元的的內容:一個單元有效的信息。機器字長是16位,大部分數據以字節為表示,一個字存入器占有相繼的二個單元:低位字節存入低地址,字節存入高地址。字單元的地址采用它的低地址來表示。例:字單元字節單元:(0004H)=1234H,:(0004H)=34H同一個地址既可以看作字節單元地址

17、,又可看作字單元地址,需要根據使用情況確定。字單元地址:可以是偶數也可以是奇數,0000H0001H0002H0003H0004H0005H0006H. 1234H1235H1236H34H12H.1EH2FH器結構(cont.)(一)、8086/ 8088系統的體結構BHE8086系統的8088系統的體結構體結構SELSEL數據總線 00000 HFFH A19 A0 地址總線 D7 D 01 M X 8位體A19 A0 器結構(cont.)器或I/O端口之間傳送數據(一)、(2)、CPU和80868086數據總線是16位的。80888088數據總線只有8位。CPU和器或I/O端口之間傳送數

18、據方式:字數據讀/寫操作字節讀/寫操作器結構(cont.)(一)、(1)字數據讀/寫操作(a)單元或兩個 I/O操作數存放在偶地址開始兩個端口中:即操作數字 低8位在偶地址單元或 在偶地址端口;高8位在奇地址單元或在奇地址端口。在一個總線周期內完成(通常4個時鐘周期)16位數據傳送,單元或兩個 I/O操作數必須存放在偶地址開始兩個端口中。器結構(cont.)(一)、字數據讀/寫偶地址字操作如下圖:對應的偶地址單元/偶地址端口數據通過數據總線低8位傳輸。對應的奇地址單元/奇地址端口數據通過數據總線高8位傳輸。低 地 址低 8 位數據線偶 地 址高 8 位數據線奇 地 址高 地 址內 存讀 / 寫

19、 偶 地 址 字CPU 低 8 位數據 高 8 位數據 器結構(cont.)(一)、(b)操作數存放在奇地址開始兩個如下圖所示:單元或兩個I/O端口中字數據讀/寫:讀/寫奇地址字低地址空閑數據奇地址CPU數據偶地址內存高地址第一個總線周期低地址奇地址偶地址高地址CPU數據數據空閑內存第二個總線周期器結構(cont.)(一)、在第一個總線周期中:地址單元或奇地址端口字節(操作字低8位)通過數據總對應線高8位進行傳輸,而數據總線低8位處于空閑狀態;在第二個總線周期中:對應于偶地址單元或偶地址端口字節(操作字高8位)通過數據總線低8位進行傳輸,而數據總線高8位處于空閑狀態.單元/兩個由此可見,操作數

20、存放在奇地址開始兩個I/O端口中進行數據傳輸,8086需要二個總線周期。器結構(cont.)(一)、低地址字節讀/寫操作:對偶地址單元/偶地址端口的字節數據進行讀/寫如下圖所示:在一個總線周期中,只有數據總線的低8位傳輸數 據,高8位處于空閑狀態。對奇地址單元/奇地址端口的字節數據進行讀/寫如下圖所示:在一個總線周期中,只有數據總線的高8位傳輸數據,而低8位處于空閑狀態。數據偶地址CPU空閑奇地址內存高地址讀/寫偶地址字節低地址空閑偶地址數據奇地址CPU內存高地址讀/寫奇地址字節(二)、器的分段結構和物理地址的形成8088有20條地址總線,直接尋址能力為220=1M字節。用16進制數表示1M字

21、節的地址范圍應為0000HFFH。(1)、 808820位物理地址形成(2)、邏輯地址與物理地址(二)、器的分段結構和物理地址的形成(cont.)(1)、器地址分段8088地址總線是20位的,CPU中的寄存器是16位的,20位地址無法用16位寄存器表示,必須分段。程序員在編制程序時把器劃分。段內地址16位,每個段的大小最大可達64KB;實際可以根據需要來確定段大小,可以是1,100,1000等在64K范圍內的任意字節數。IBM PC機對段的起始地址有限制,即段不能從任意地址開始:必須從任一小段(paragraph)地址開始。從0地址開始每16字節為一小段的首(二)、 成(cont.)器的分段結

22、構和物理地址的形(2)、20位物理地址形成物理地址:在1M字節地址作為該單元都有一個唯一的20位器里,每個單元的物理地址。CPU器時,必須先確定所要的單元的物理地址才能取出(或存入)該單元中的內容。20位物理地址形成:由16位段地址和16位偏移地址組成。段地址:只取段起始地址高16位值。偏移地址:指在段內某內存單元物理地址相對段起始地址的偏移值。(二)、 成(cont.)器的分段結構和物理地址的形邏輯地址與物理地址概念邏輯地址與物理地址概念如下頁圖所示。邏輯地址:由段基址和段內偏移地址組成的地址,段基址和段內偏移地址都是16位的無符號二進制數,在程序設計時使用。器的絕對地址(20位的實際地址)

23、,物理地址:范圍從00000H總線發出的地址。FFH , 是由CPU器時由地址器管理:將程序中邏輯地址轉移為物理地址的機構。(二)、 成(cont.)器的分段結構和物理地址的形物理地址計算方法:即把段地址4位再加上偏移地址值形成物理地址,寫成:物理地址= 16d段地址+偏移地址。每個單元只有唯一的物理地址。但可由不同的段地址和不同的偏移地址組成。150+基址加法器位物理地址20位物理地址位偏移地址位偏移地址位段地址位段地址(二)、器的分段結構和物理地址的形成(cont.)器典型的分段結構00000H00000H01000H01000H段寄存器段寄存器21000H20000HCS DS SSES

24、CS DSSS02800H46000HA0000H(a) 64K為一段(b)各段允許0100H0200H0280H0100H2100H4600HA000H4K程序2K數據100H堆棧64K程序64K數據64K堆棧64K附加數據(三)、信息分段與段寄存器邏輯地址來源操作類型正常使用(隱含)段基址可替換段地址偏移地址物理地址計算取指令CS無IP(CS)16d+(IP)堆棧操作SS無SP(SS) 16d+(SP)BP間址SSCS,DS,E S有效地址EA(SS) 16d+EA存取變量DSCS,ES,S S有效地址EA(DS )16d+EA源字符串DSCS,ES,S SSI(DS) 16d+(SI)目

25、標字符串ES無DI(ES) 16d+(DI)(三)、信息分段(cont.)與段寄存器各段在各段在器中分配器中分配分4種情況:(1)由操作系統負責分配一般情況,各段在器中的分配是由操作系統負責。每個段可以獨立地占用64K區。(2)各段也可以允許重迭每個段的大小允許根據實際需要分配,不一定要占64KB。每個單元的內容不允許發生(段可重迭,但使用時防止)。( 3)在程序的首部設定各段寄存器的值如果程序中的四個段都是64K的范圍之內,程序運行時所需要的信息都在本程序所定義的段區之內,程序員只要在程序的首部設定各段寄存器的值就可以了。( 4)動態地修改段寄存器的內容會超過64K空間,或者如果程序的某一段

26、(如數據段)在程序運行過程序中可能除本身四個段以外的其他段區的信息,那么在程序中必須動態地修改段寄存器的內容。(三)、信息分段(cont.)與段寄存器以8088為CPU的IBM途固定。PC系統中,器首尾地址的用00000H003FFH共1K內存單元用于存放中斷向量。F0HFFH是器底部的16個單元。系統加電復位時,會自動轉到F0H單元執行,而在F0H處存放一條無條件轉移指令,轉向系統初始化程序。el 80386微處理器的結構第三節一、80386微處理器的體系結構二、器管理三、80386的工作方式四、中斷一、80386微處理器的體系結構80386的主要特性靈活的32位微處理器,提供32位的指令。提供32位外部總線接口,最大數據傳輸速率為32Mbps。具有片內集成的保護 。器管理MMU,可支持虛擬和具有實地址方式、保護方式和虛擬8086方式。具有極大的尋址空間。通過配用數值協處理器可支持高速數值處理。在目標碼一級與8086、80286完全兼容。80386微處理器的功能結構8086到80386的改進:16位寄存器發展為32位寄存器;增加了保護方式;引入了多任務、任務切換的概念;引入了四級切換;機制,程序能在不同間引入了器管理單元MMU;增加了新指令。80386的寄存器結構80386的寄存器結構80386有7類32個寄

溫馨提示

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

評論

0/150

提交評論