




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、4.2、80X86CPU的寄存器的寄存器和主存儲器和主存儲器4.2.1 80X86CPU的寄存器的寄存器4.2.2 80X86CPU的的主存儲器主存儲器返回返回4.2.1 80X86CPU的寄存器的寄存器1、 80X86CPU的寄存器分類的寄存器分類2、基本結構寄存器組、基本結構寄存器組返回返回1、 80X86CPU的寄存器分類的寄存器分類返回返回一般應用程序中只能訪問(一般應用程序中只能訪問(1)和()和(3),),(2)只能由系統程序訪問,并且它的特權)只能由系統程序訪問,并且它的特權級必須為零級。級必須為零級。(1)基本結構寄存器組)基本結構寄存器組(2)系統級寄存器組)系統級寄存器組(
2、3)浮點寄存器組)浮點寄存器組(1)基本結構寄存器組)基本結構寄存器組返回返回 通用寄存器通用寄存器指令指針寄存器指令指針寄存器標志寄存器標志寄存器段寄存器段寄存器EAXEBXECXEDXESPEBPESIEDIEIPEFLAGSFSGS80X86CPU基本結構寄存器組基本結構寄存器組(1)、通用寄存器)、通用寄存器8086/8088H 802868086/8088H 80286:1616位位8038680386及后繼機型:及后繼機型:3232位位8086/8088H 802868086/8088H 80286:A A、數據寄存器:、數據寄存器:AXAX、BXBX、CXCX、DXDX用來保存操
3、作數或運算結果等信用來保存操作數或運算結果等信息。息。AX累加器。使用頻度最高,用于算累加器。使用頻度最高,用于算術、邏輯運算以及與外設傳送信息等。術、邏輯運算以及與外設傳送信息等。 BX基址寄存器。常用于存放存儲基址寄存器。常用于存放存儲器地址。器地址。 CX計數器。一般作為循環或串操計數器。一般作為循環或串操作等指令中的隱含計數器。作等指令中的隱含計數器。 DX數據寄存器。常用來存放雙字數據寄存器。常用來存放雙字數據的高數據的高16位,或存放外設端口地址。位,或存放外設端口地址。B、地址寄存器:主要用于存放某個存、地址寄存器:主要用于存放某個存儲單元的偏移地址。儲單元的偏移地址。 SI:存
4、放數據段中某源操作數所在存:存放數據段中某源操作數所在存儲單元相對段首址的偏移量。儲單元相對段首址的偏移量。 DI:存放數據段中某目的操作數所在:存放數據段中某目的操作數所在存儲單元相對段首址的偏移量。存儲單元相對段首址的偏移量。 SP:用于存放當前堆棧段中棧頂單:用于存放當前堆棧段中棧頂單元的偏移地址;元的偏移地址; BP:用于存放堆棧段中某一存儲單:用于存放堆棧段中某一存儲單元的偏移地址。元的偏移地址。 8038680386及后繼機型及后繼機型:3232位的通用寄存器:位的通用寄存器:EAXEAX、EBXEBX、ECXECX、EDXEDX、ESPESP、EBPEBP、ESIESI、EDIE
5、DI; 可以用來存放不同寬度的數據;可以用來存放不同寬度的數據; 所有所有3232位寄存器既可以存放數據,也可以存位寄存器既可以存放數據,也可以存放地址;放地址; 每個寄存器的專用特性與每個寄存器的專用特性與8086/8088的對應寄的對應寄存器一致。存器一致。(2)系統級寄存器組)系統級寄存器組包括:包括:系統地址寄存器系統地址寄存器控制指針寄存器控制指針寄存器測試寄存器測試寄存器調試寄存器調試寄存器返回返回(3)浮點寄存器組)浮點寄存器組包括:包括:數據寄存器數據寄存器標記指針寄存器標記指針寄存器指令和數據指針寄存器指令和數據指針寄存器控制字寄存器控制字寄存器返回返回(2)指令指針寄存器和
6、標志寄存器)指令指針寄存器和標志寄存器指令指針指令指針IP:存放下一條指令的地址。:存放下一條指令的地址。在程序的執行過程中,每當從主存讀在程序的執行過程中,每當從主存讀取指令后,自動修改取指令后,自動修改IP的值,使的值,使IP內容內容為下一條指令起始字節所在單元的偏移為下一條指令起始字節所在單元的偏移量。量。返回本節返回本節指令隊列指令隊列 按先進先出的原則,存放從主存中讀取按先進先出的原則,存放從主存中讀取的指令。當的指令。當EU執行指令時,從指令隊執行指令時,從指令隊列中取最先進入隊列的指令給以執行。列中取最先進入隊列的指令給以執行。 8086:6個字節的指令隊列(空出個字節的指令隊列
7、(空出2個字個字節且無其它總線請求)節且無其它總線請求) 8088:4個字節的指令個字節的指令隊列(空出(空出1個字個字節且無其它總線請求)節且無其它總線請求)標志寄存器: 存放條件標志、控制標志、系統標志位;條件標志、控制標志、系統標志位; 8086/8088H 802868086/8088H 80286:1616位位 8038680386及后繼機型:及后繼機型:3232位位 1條件標志條件標志 2控制標志控制標志 3、系統標志位、系統標志位1條件標志:條件標志:主要用于保存一條指令執行主要用于保存一條指令執行后,后,CPU所處狀態信息及運算結果的特征。所處狀態信息及運算結果的特征。 (1)
8、進位標志)進位標志CF(2)零標志)零標志ZF(3)符號標志)符號標志SF(4)溢出標志)溢出標志 OF (5)奇偶標志)奇偶標志 PF (6)輔助進位標志)輔助進位標志AF2控制標志控制標志 (1)方向標志)方向標志DF返回本節返回本節3系統標志系統標志 可以用于可以用于I/O、可屏蔽中斷、程序調試、可屏蔽中斷、程序調試、任務切換和系統工作發生等的控制。任務切換和系統工作發生等的控制。返回本節返回本節(1)跟蹤標志)跟蹤標志TF(2)中斷允許標志)中斷允許標志IF(3)I/O特權級標志特權級標志(4)嵌套任務()嵌套任務(5)恢復)恢復(6)虛擬)虛擬8086模式位模式位(7)對準檢查方式位
9、)對準檢查方式位(8)虛擬中斷)虛擬中斷(9)虛擬中斷未決標志)虛擬中斷未決標志(10)標識標志)標識標志返回本節返回本節D15D0 OF DF IF TF SF ZF AF PF CF進進借借位位標標志志奇奇偶偶標標志志半半進進借借位位標標志志零零標標志志符符號號標標志志單單步步中中斷斷中中斷斷允允許許方方向向標標志志溢溢出出標標志志1-有進、借位有進、借位0-無進、借位無進、借位1-低低8位有偶數個位有偶數個10-低低8位有奇數個位有奇數個11-低低4位向高位向高4位有進、借位位有進、借位0-低低4位向高位向高4位無進、借位位無進、借位1-結果為結果為00-結果不為結果不為0(3)、段寄存
10、器)、段寄存器 段寄存器:用來確定該段在內存中段寄存器:用來確定該段在內存中的起始地址。的起始地址。 CS、DS、ES、SS、FS、GS4.2.2 80X86的主存儲器的主存儲器返回返回1、存儲器的地址和內容存儲器的地址和內容2、實模式存儲器尋址、實模式存儲器尋址3、保護模式存儲器尋址、保護模式存儲器尋址4 、808X6CPU邏輯地址的來源邏輯地址的來源1、存儲器的地址和內容存儲器的地址和內容1)在存儲器里以字節為單位存儲信息。)在存儲器里以字節為單位存儲信息。2)每一個字節單元給予一個唯一的編號,)每一個字節單元給予一個唯一的編號,即存儲單元地址(物理地址)。地址從即存儲單元地址(物理地址)
11、。地址從0開始編號,順序地每次加開始編號,順序地每次加1,機器里以無,機器里以無符號二進制整數表示,書寫格式為符號二進制整數表示,書寫格式為16進進制數。制數。3)8086/8088的地址總線為的地址總線為20位,可尋址空間位,可尋址空間為為00000HFFFFFH。 80286的地址總線為的地址總線為24位,可尋址空間為位,可尋址空間為000000HFFFFFFH。 80386、80486和和Pentium的地址總線為的地址總線為32位,位,可尋址空間為可尋址空間為00000000HFFFFFFFFH。 Pentium Pro 和和Pentium的地址總線為的地址總線為36位,位,可尋址空間
12、為可尋址空間為000000000HFFFFFFFFFH。4)一個存儲單元中存放的信息稱為該存)一個存儲單元中存放的信息稱為該存儲單元的內容。(儲單元的內容。(0004H)=78H5)一個字數據占用兩個相鄰的存儲單元。)一個字數據占用兩個相鄰的存儲單元。采用采用“低對低、高對高低對低、高對高”的原則。低字的原則。低字節所在存儲單元的地址作為該字數據的節所在存儲單元的地址作為該字數據的單元地址。雙字、單元地址。雙字、4字單元的存放方法與字單元的存放方法與此類似。此類似。主存主存00000H10002H10001H10000H10003H12H34H56H78H(10001H)= 34H(10002
13、H)= 56H(10000H)= 12H(10003H)= 78H(10000H)= 3412H(10001H)= 5634H(10002H)= 7856H字字 節節 單單 元元 字字 單單 元元(34560H)= 34H(34561H)= 12H(34560H)= 1234H(34561H)= 5612H例(例(0004H)=5678H(0004H)=12345678H(X)=Z 存儲單元存儲單元:主存由若干個存儲單元組成。:主存由若干個存儲單元組成。每個存儲單元內存放每個存儲單元內存放8位二進制數。位二進制數。 存儲單元地址存儲單元地址 :8086系統中,為了標識系統中,為了標識 和存取每
14、一個存儲單元,給每個存儲單和存取每一個存儲單元,給每個存儲單元規定一個編號,這就是存儲單元地址。元規定一個編號,這就是存儲單元地址。從從 0 開始順次編號。開始順次編號。 存儲單元的內容存儲單元的內容 :一個存儲單元中存放一個存儲單元中存放的信息稱為該存儲單元的內容。的信息稱為該存儲單元的內容。 2、實模式存儲器尋址實模式存儲器尋址(1)存儲器的)存儲器的分段:分段: 8086/8088只能在實模式下工作外,其他的只能在實模式下工作外,其他的CPU均可在實模式或保護模式下工作。均可在實模式或保護模式下工作。實模式下允許的最大尋址空間為實模式下允許的最大尋址空間為 1MB。 8086/8088的
15、地址總線為的地址總線為20位,用位,用20位無符號位無符號二進制數表示存儲單元的地址二進制數表示存儲單元的地址 (5位十六進制位十六進制數表示數表示,即即00000HFFFFFH)。十六進制地址十六進制地址二進制地址二進制地址存儲單元存儲單元00000H00001H00002H00003HFFFFEHFFFFFH0000,0000,0000,0000,00000000,0000,0000,0000,00010000,0000,0000,0000,00030000,0000,0000,0000,00021111,1111,1111,1111,11101111,1111,1111,1111,111
16、1708086/8088主存儲器主存儲器16位字長的機器里如何提供位字長的機器里如何提供20位地址?位地址?將將1MB1MB主存分為若干段;主存分為若干段;3、16位的段寄存器中存放該段在內存中位的段寄存器中存放該段在內存中的起始地址的高的起始地址的高16位,稱為段基值。位,稱為段基值。機器機器將段起始地址的最低四位設置為將段起始地址的最低四位設置為0 0;(段;(段基址為基址為2020位)位)2 2、每個段的長度不同,但不能超過、每個段的長度不同,但不能超過64K64K字字節。(段內地址為節。(段內地址為16 16 位);位); 段內地址(偏移地址):一個主存段內地址(偏移地址):一個主存單
17、元與所在段的段基址之間的字節單元與所在段的段基址之間的字節距離,計算得到或由距離,計算得到或由IPIP提供。提供。 CPU 訪問某個主存單元內容時由段訪問某個主存單元內容時由段寄存器給出該單元所在段的段基值,寄存器給出該單元所在段的段基值,并給出該單元在該段內的偏移量。段并給出該單元在該段內的偏移量。段基值和段內的偏移量構成物理地址。基值和段內的偏移量構成物理地址。8086/8088CPU中有一個地址加法器,它中有一個地址加法器,它將段寄存器提供的段基值自動左移將段寄存器提供的段基值自動左移4位,位,然后與然后與16位的偏移地址相加,形成。物位的偏移地址相加,形成。物理地址理地址 = 段基值段
18、基值 * 16 +偏移地址。偏移地址。段寄存器值段寄存器值偏移量偏移量+物理地址物理地址16位位4位位16位位20位位存儲器物理地址的計算方法存儲器物理地址的計算方法 每個段寄存器用來確定該段在內存中的每個段寄存器用來確定該段在內存中的起始地址。起始地址。(2 2)段寄存器)段寄存器 808680286:CS、DS、SS、ES。 8038680386及后繼機型:及后繼機型: CS、DS、SS、ES、FS、GS。 80X86中段寄存器與其對應存放偏移地中段寄存器與其對應存放偏移地址的寄存器之間有一種默認的組合關系。址的寄存器之間有一種默認的組合關系。1)CS:存放代碼段的段首址的高存放代碼段的段
19、首址的高16位。位。代碼段中用來存放程序的指令序代碼段中用來存放程序的指令序列。列。2)DS:存放數據段的段首址的高存放數據段的段首址的高16位。位。數據段中存放程序的有關數據。數據段中存放程序的有關數據。3)SS:存放堆棧段的段首址的高存放堆棧段的段首址的高16位。堆位。堆棧段用于存放按后進先出順序存取棧段用于存放按后進先出順序存取的信息。的信息。4)DS:存放數據段的段首址的高存放數據段的段首址的高16位。附位。附加段中常存放運算結果和輔助數據。加段中常存放運算結果和輔助數據。8086存儲器的段結構存儲器的段結構 把把1M字節的存儲器分為任意個段。字節的存儲器分為任意個段。一個邏輯段是存儲
20、器中可獨立尋址的一個一個邏輯段是存儲器中可獨立尋址的一個邏輯單位,每個段的長度不超過邏輯單位,每個段的長度不超過64K字節。字節。 各段起始單元的物理地址,稱為段基址各段起始單元的物理地址,稱為段基址(段首址)每個段基址為(段首址)每個段基址為20位,低四位都位,低四位都為為0,能被,能被16整除。整除。1)段的大小按實際需要確定,最大為)段的大小按實際需要確定,最大為64K,實,實 際應用中可能小于際應用中可能小于64K。2)不同的段可以是)不同的段可以是相鄰的、間隔的、或部分重、間隔的、或部分重疊的或完全重疊或交叉的。疊的或完全重疊或交叉的。3)段的實體不能重疊。)段的實體不能重疊。4)C
21、PU可以通過四個段寄存器訪問四個不同的可以通過四個段寄存器訪問四個不同的當前段當前段。注意事項:注意事項:【例】各獨立段的分配情況示例。【例】各獨立段的分配情況示例。 設設 CS=B000H、DS=1CDEH、 SS=4200H、ES=0150H, 它們分別為代碼段、數據段、堆棧它們分別為代碼段、數據段、堆棧段和附加段的段基值。自每個段首段和附加段的段基值。自每個段首址開始,各段均占址開始,各段均占64KB的范圍,各的范圍,各段之間互不重疊。如圖所示。段之間互不重疊。如圖所示。【例】各段相鄰接情況示例。【例】各段相鄰接情況示例。 設設CS=0200H、DS=0400H、SS=0480H,這樣代
22、碼段、數據段和,這樣代碼段、數據段和堆棧段的物理首地址分別為堆棧段的物理首地址分別為02000H、04000H和和04800H。其中代碼段占。其中代碼段占8KB地址空間,數據段占地址空間,數據段占2KB,堆棧,堆棧段占段占256B,SP=0100H。如圖。如圖1.6所示。所示。 圖圖1.6 各段鄰接存儲單元分配圖各段鄰接存儲單元分配圖3、保護模式存儲器尋址、保護模式存儲器尋址引入保護模式的原因:引入保護模式的原因:實模式下的尋址空間太小;實模式下的尋址空間太小;它使微機系統能支持多任務處理;它使微機系統能支持多任務處理;多任務處理:多個應用程序在一臺計算多任務處理:多個應用程序在一臺計算機上同
23、時運行,而且它們之間必須相互隔機上同時運行,而且它們之間必須相互隔離,使應用程序中缺陷或故障不會破壞系離,使應用程序中缺陷或故障不會破壞系統農業不會影響其它應用程序的運行。統農業不會影響其它應用程序的運行。!保護模式尋址支持虛擬存儲器特性;!保護模式尋址支持虛擬存儲器特性;實模式:實模式:邏輯地址(邏輯地址(程序)程序)物理地址物理地址(執行指令時計算)(執行指令時計算)邏輯地址邏輯地址= 段基值:偏移地址段基值:偏移地址保護模式:保護模式:邏輯地址邏輯地址(程序)(程序)物理地址物理地址(間接方法)(間接方法)邏輯地址邏輯地址=段選擇器:偏移地址段選擇器:偏移地址2、段基值再和偏移地址相加,
24、從而求得線、段基值再和偏移地址相加,從而求得線性地址;性地址;1、段選擇器存放在段寄存器中,它不能直、段選擇器存放在段寄存器中,它不能直接確定段基值,而由接確定段基值,而由CPU通過一定的方通過一定的方法求得相應的段基值;法求得相應的段基值;3、線性地址再通過分頁部件轉換成物理地、線性地址再通過分頁部件轉換成物理地址。址。 段選擇器是通過描述符表取得描述符,段選擇器是通過描述符表取得描述符,從而得到段基址。從而得到段基址。(2)描述符)描述符描述符有描述符有8個字節長,用來說明段的起個字節長,用來說明段的起始地址、大小、段在存儲器中的位置及始地址、大小、段在存儲器中的位置及有關的控制和狀態信息
25、。有關的控制和狀態信息。Base(B15B0)Limit(l15l0)0P DPL S TYPEABase(B23B16)311516080286描述符描述符段基址段基址(Base):用來指定段的起始地址。:用來指定段的起始地址。 段界限段界限(Limit):用來存放該段的段長度。:用來存放該段的段長度。訪問權(訪問權(Access Rights)附加字段附加字段段基址(段基址(Base): 用來指定段的起始地址。用來指定段的起始地址。80286的段基址為的段基址為24位,段可以從位,段可以從16MB存儲器的任何地址開始;存儲器的任何地址開始;80386及以上處理器的段基址為及以上處理器的段基
26、址為32位,位,段可以從段可以從4GB存儲器的任何地址開始;存儲器的任何地址開始;段界限段界限(Limit):用來存放該段的段長度。用來存放該段的段長度。 80286的段界限為的段界限為16位,段長可從位,段長可從1B到到64KB; 80386及以上處理器的段界限為及以上處理器的段界限為20位,同位,同時段描述符中又給出了一個粒度位時段描述符中又給出了一個粒度位G。 G=0時:時:段長的粒度單位為字節,段界限可從段長的粒度單位為字節,段界限可從1B到到1MB;步距為;步距為1B; G=1時:時:段長的粒度單位為頁,每頁為段長的粒度單位為頁,每頁為4KB。段。段界限可從界限可從1*4KB到到1M
27、*4KB;即從;即從4KB到到4GB,步距為,步距為4KB;例:段起始于例:段起始于F00000H單元結束于單元結束于F000FFH單元:單元: 80286的段基址為的段基址為F00000H,界限為,界限為00FFH; 80386及后繼極型段基址為及后繼極型段基址為00F00000H,界限為界限為000FFH,G位為位為0;訪問權(訪問權(Access Rights):有):有8位,用位,用來說明該段在系統中的功能,并給出訪來說明該段在系統中的功能,并給出訪問該段的一些控制信息。問該段的一些控制信息。PDPLSED/CW/RAE706 54321附加字段:附加字段:80386及后繼機型中存在。
28、及后繼機型中存在。包括包括G、D/B、0和和AVL共共4位。位。如何根據段選擇器找到描述符?如何根據段選擇器找到描述符?(3)段選擇器和描述符表)段選擇器和描述符表描述符表存放在存儲器中,主要有描述符表存放在存儲器中,主要有4種描述種描述符表:符表:全局描述符表全局描述符表GDT局部描述符表局部描述符表LDT中斷描述符表中斷描述符表IDT任務狀態段任務狀態段TSS描述符表都存放在存儲器中,每個表分別構描述符表都存放在存儲器中,每個表分別構成一個成一個64KB長的段,表中可存放長的段,表中可存放8K個描述個描述符。符。GDT中的描述符所指定的段可用于所有程中的描述符所指定的段可用于所有程序;序;
29、LDT中的描述符所指定的段通常只用于一中的描述符所指定的段通常只用于一個用戶程序(或稱一個任務)。個用戶程序(或稱一個任務)。在整個系統里只有一個在整個系統里只有一個GDT和一個和一個IDT;二二LDT可以有多個,他們分別對應于不同可以有多個,他們分別對應于不同的任務。的任務。段選擇器存放在段寄存器中,段選擇器存放在段寄存器中,16位長。位長。其格式如下:其格式如下:INDEXTIRPL15 3021INDEX:索引值,即描述符表索引值,:索引值,即描述符表索引值,給出所選描述符在描述符表中的地址。共給出所選描述符在描述符表中的地址。共13位,可從表中位,可從表中8K個描述符中選取一個。個描述
30、符中選取一個。為了提高保護模式存儲器尋址的速度,為了提高保護模式存儲器尋址的速度,CPU中設置了中設置了6個個64位的描述符寄存器,位的描述符寄存器,用來存放對應段的描述符。用來存放對應段的描述符。1、從段寄存器中讀取段選擇器的值;、從段寄存器中讀取段選擇器的值;2、硬件自動地根據段選擇器的索引值,從系、硬件自動地根據段選擇器的索引值,從系統描述符表中取出一個統描述符表中取出一個8字節的描述符,裝字節的描述符,裝入到相應的段描述符寄存器中;入到相應的段描述符寄存器中;3、以后每當出現對該段的訪問時,就直接使、以后每當出現對該段的訪問時,就直接使用相應的段描述符寄存器中段基值計算線用相應的段描述符寄存器中段基值計算線性地址,而不需要在內存中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人裝修簡合同標準文本
- 個人借款抵押合同二零二五年
- 培訓學校全職外教協議
- 二零二五版上海房屋裝修的合同范例
- 中學廚房幫工合同樣本
- 鋼結構安全協議書
- 義烏篁園市場租賃合同樣本
- 教務老師工作職責及績效考核
- 物料提升機維修保養制度
- 學校信息化管理制度和管理辦法-
- 《道德與法治》六年級下《我們愛和平》課件
- 衛生法(教學講解課件)
- 高三沖刺100天勵志主題班會課件
- 全國工業產品生產許可證申請書
- 德能勤績廉個人總結的
- 中層干部崗位競聘報名表格評分表格評分標準
- 思想道德與法治課件:第六章 第一節 社會主義法律的特征和運行
- 有限空間作業及應急物資清單
- 《個人信息保護法》解讀
- 新疆高速公路建設工程季節性施工方案
- 新版(七步法案例)PFMEA
評論
0/150
提交評論