第2章微機系統中的微處理器_第1頁
第2章微機系統中的微處理器_第2頁
第2章微機系統中的微處理器_第3頁
第2章微機系統中的微處理器_第4頁
第2章微機系統中的微處理器_第5頁
已閱讀5頁,還剩68頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1第第2章章微機系統中的微處理器微機系統中的微處理器內容提要內容提要n 80868086的內部結構的內部結構n 80868086的寄存器結構的寄存器結構n 80868086的存儲器組織的存儲器組織n 80868086的的I/OI/O組織組織n 80868086的尋址方式的尋址方式n 高檔微處理器的寄存器結構和存儲器組織簡介高檔微處理器的寄存器結構和存儲器組織簡介 2常用術語(常用術語(1 1)n位(位(bitbit):計算機處理的最小數據單位,只能為):計算機處理的最小數據單位,只能為“0 0”或或“1 1”,縮寫為,縮寫為b bn千位(千位(KilobitKilobit):代表):代表2 2

2、1010位,即位,即10241024位,縮寫位,縮寫KbKbn兆位(兆位(MegabitMegabit):代表):代表2 22020位,即位,即1024102410241024位,縮寫位,縮寫MbMbn千兆位(千兆位(GigabitGigabit):代表):代表2 23030位,即位,即1024Mb1024Mb位,縮寫位,縮寫GbGbn兆兆位(兆兆位(TerabitTerabit):代表):代表2 24040位,即位,即1024Gb1024Gb位,縮寫位,縮寫TbTb3常用術語(常用術語(2 2)n字節(字節(ByteByte):計算機中存儲器容量的基本單位,一):計算機中存儲器容量的基本單位

3、,一個字節由個字節由8 8位二進制數據組成,位二進制數據組成,ByteByte通常縮寫為通常縮寫為B B,同,同樣有樣有KBKB、MBMB、GBGB、TBTBn字(字(WordWord):不同的場合有不同的含義,軟件上通常):不同的場合有不同的含義,軟件上通常指指2 2個字節,硬件上一般指處理器外部數據總線的寬個字節,硬件上一般指處理器外部數據總線的寬度度n字長:計算機運算部件直接能處理的二進制數據的位字長:計算機運算部件直接能處理的二進制數據的位數。字長越長,計算機的處理能力越強,運算精度越數。字長越長,計算機的處理能力越強,運算精度越高,指令功能越強,可尋址的存儲空間也越大高,指令功能越強

4、,可尋址的存儲空間也越大4常用術語(常用術語(3 3)nCPUCPU主頻主頻: :主振頻率,主振頻率,CPUCPU內部的時鐘頻率,是內部的時鐘頻率,是CPUCPU進行進行運算時的工作頻率。一般來說,主頻越高,一個時鐘運算時的工作頻率。一般來說,主頻越高,一個時鐘周期里完成的指令數也越多,周期里完成的指令數也越多,CPUCPU的運算速度也就越的運算速度也就越快。但由于內部結構不同,并非所有時鐘頻率相同的快。但由于內部結構不同,并非所有時鐘頻率相同的CPUCPU性能也一樣。性能也一樣。 52.1 8086的內部結構的內部結構n8086CPU從功能上來說分成兩大部分:從功能上來說分成兩大部分: 總線

5、接口單元總線接口單元BIU( Bus Interface Unit ) 執行單元執行單元EU( Execution Unit )nBIU的作用:負責對存儲器的訪問以及與的作用:負責對存儲器的訪問以及與I/O設備之間設備之間的信息傳送。的信息傳送。nEU 的作用:負責指令的執行。的作用:負責指令的執行。6 通 用 寄 存 器8086CPU功能框圖功能框圖 執行單元執行單元 AH ALBH BL CLCH DH DL SP BP DI SI CSDS SS ES I P 內部寄存器 總線 控制 邏輯 AX BX CX DX暫存器 A L U 標志寄存器 外部總線8086總線(16位) 指令隊列 8

6、086為 6 字節ALU數據總線(16位)EU控制器總線接口單元(總線接口單元(BIU) 地址加法器(20 位)數據總線(16 位) 段寄存器指令指針(EU)1 2 3 4 5 6隊列總線(8位) 地址總線780868086的功能結構的功能結構n總線接口單元總線接口單元(BIU)qBIU包括個段寄存器、指令指針包括個段寄存器、指令指針IP(PC)、指令隊列寄、指令隊列寄存器存器(IR)、完成與、完成與EU通訊的內部寄存器、地址加法器通訊的內部寄存器、地址加法器和總線控制邏輯。和總線控制邏輯。q它的任務是執行總線周期,完成它的任務是執行總線周期,完成CPU與存儲器和與存儲器和I/O設設備之間信息

7、的傳送。具體地講,就是取指令時,從存儲備之間信息的傳送。具體地講,就是取指令時,從存儲器指定地址取出指令送入指令隊列排隊;執行指令時,器指定地址取出指令送入指令隊列排隊;執行指令時,根據根據EU命令對指定存儲單元或命令對指定存儲單元或I/O端口存取數據。端口存取數據。88086CPU與存儲器、與存儲器、I/O設備的連接設備的連接高位決定接口,高位決定接口,2或或3個低位選擇端口個低位選擇端口CPU數據線數據線控制線控制線地址線地址線接接 口口地址地址存儲器中的字節存儲器中的字節0101I/O接口接口I/O端口端口I/O設備設備高位決定模塊高位決定模塊存儲器模塊存儲器模塊98086的功能結構的功

8、能結構n執行單元執行單元(EU)qEU由算術邏輯單元由算術邏輯單元ALU、暫存器、標志寄存器、暫存器、標志寄存器(FLAGS)、通用寄存器組和、通用寄存器組和EU控制器構成。控制器構成。q它的任務執行指令,進行全部的算術邏輯運算,完成偏它的任務執行指令,進行全部的算術邏輯運算,完成偏移地址的計算,向移地址的計算,向BIU提供指令執行結果的數據和訪問提供指令執行結果的數據和訪問存儲器需要的偏移地址,并對通用寄存器和標志寄存器存儲器需要的偏移地址,并對通用寄存器和標志寄存器進行管理。進行管理。n16位的位的ALU總線和總線和8位隊列總線用于位隊列總線用于EU內部和內部和EU與與BIU之間的通信。之

9、間的通信。108086的指令流水線(的指令流水線(1)n一條指令的執行過程:一條指令的執行過程: 取指令取指令 取操作數(如果需要)取操作數(如果需要) 執行指令執行指令 寫入存儲器寫入存儲器n80868086出現以前,以上指令串行執行出現以前,以上指令串行執行取指取指1執行執行1存結果存結果1取指取指2執行執行2取指取指3執行執行3取操作數取操作數3CPUBUS忙忙忙忙忙忙忙忙忙忙閑閑閑閑閑閑8086以前的處理器以前的處理器118086的指令流水線(的指令流水線(2)n80868086內部有內部有BIUBIU、EUEU兩個獨立單元,可獨立完成總線兩個獨立單元,可獨立完成總線操作和執行指令的任

10、務,即兩個單元可重疊操作操作和執行指令的任務,即兩個單元可重疊操作n流水線就是兩次重疊或多次重疊操作流水線就是兩次重疊或多次重疊操作8086處理器處理器執行執行1執行執行2執行執行3執行執行3執行執行4取指取指1取指取指2存結果存結果1取指取指3取操作數取操作數3取指取指4存結果存結果3取指取指5忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙EUBUSBIU思考n以8086為例,說明微處理器的基本功能。n書上P12 圖2.2中畫出的地址總線為什么是單向的?數據總線為什么是雙向的?12132.28086的寄存器結構的寄存器結構n8086CPU內部具有內部具有14個個16位寄存器,用于提供參與位寄存器,用于提供

11、參與運算的數據、控制指令執行和對指令及操作數尋址。運算的數據、控制指令執行和對指令及操作數尋址。基本分為通用寄存器組、控制寄存器組和段寄存器組。基本分為通用寄存器組、控制寄存器組和段寄存器組。n通用寄存器組通用寄存器組8個個16位通用寄存器組成,這些寄存器分為兩組:數位通用寄存器組成,這些寄存器分為兩組:數據寄存器及地址指針和變址寄存器。據寄存器及地址指針和變址寄存器。148086的寄存器結構(的寄存器結構(1)BHBLAHALCHCLDHDL堆棧指針寄存器堆棧指針寄存器基址指針寄存器基址指針寄存器源變址寄存器源變址寄存器目的變址寄存器目的變址寄存器通通用用寄寄存存器器控制寄存器控制寄存器指令

12、指針寄存器指令指針寄存器狀態標志寄存器狀態標志寄存器代碼段寄存器代碼段寄存器數據段寄存器數據段寄存器堆棧段寄存器堆棧段寄存器附加段寄存器附加段寄存器段段寄寄存存器器AXBXCXDXSPBPDISICSDSSSESIPFLAGS158086的寄存器結構(的寄存器結構(2)1 1、數據寄存器、數據寄存器n4 4個數據寄存器:累加器個數據寄存器:累加器AXAX,基址寄存器,基址寄存器BXBX,計數寄存器,計數寄存器CXCX,數據寄存器數據寄存器DXDXn特點:可分為高特點:可分為高8 8位(位(AHAH、BHBH、CHCH、DHDH)和低)和低8 8位(位(ALAL、BLBL、CLCL、DLDL)。

13、這兩組)。這兩組8 8位寄存器能分別尋址。這樣,可以將數位寄存器能分別尋址。這樣,可以將數據寄存器當作一個據寄存器當作一個1616位寄存器,也可用作兩個位寄存器,也可用作兩個8 8位寄存器位寄存器n可用來存放可用來存放8 8位或位或1616位二進制操作數,這些操作數可以是參位二進制操作數,這些操作數可以是參加運算的操作數、中間結果或操作數地址加運算的操作數、中間結果或操作數地址n大多數算數和邏輯運算指令可以使用這些寄存器大多數算數和邏輯運算指令可以使用這些寄存器168086的寄存器結構(的寄存器結構(3)2 2、地址指針和變址寄存器、地址指針和變址寄存器n4 4個:堆棧指針個:堆棧指針SPSP

14、,基址指針,基址指針BPBP,源變址寄存器,源變址寄存器SISI,目的變,目的變址寄存器址寄存器DIDIn特點:這特點:這4 4個個1616位寄存器只能按位寄存器只能按1616位進行存取操作,主要用位進行存取操作,主要用來形成操作數的地址,用于堆棧操作和變址運算中計算操作來形成操作數的地址,用于堆棧操作和變址運算中計算操作數和有效地址數和有效地址nSPSP,BPBP用于堆棧操作,用于堆棧操作,SPSP用來確定堆棧在內存中的地址,用來確定堆棧在內存中的地址,BPBP用來存放在現行堆棧段的一個數據區的用來存放在現行堆棧段的一個數據區的“基址基址”nSISI,DIDI用于變址操作,存放變址地址用于變

15、址操作,存放變址地址n這這4 4個寄存器也可用作數據寄存器個寄存器也可用作數據寄存器17通用寄存器的特定用法通用寄存器的特定用法寄存器名 特殊用途 隱含性質 在輸入輸出指令中作數據寄存器用 不能隱含 AX, AL 在乘法指令中存放被乘數或乘積,在除法指令中存放被除數或商 隱 含 AH 在LAHF指令中,作目標寄存器用 隱 含 在十進制運算指令中作累加器用 隱 含 AL 在XLAT指令中作累加器用 隱 含 在間接尋址中作基址寄存器用 不能隱含 BX 在XLAT指令中作基址寄存器用 隱 含 CX 在串操作指令和LOOP指令中作計數器用 隱 含 CL 在移位/循環移位指令中作移位次數計數器用 不能隱

16、含 在字乘法/除法指令中存放乘積高位或被除數高位或余數 隱 含 DX 在間接尋址的輸入輸出指令中作地址寄存器用 不能隱含 在字符串運算指令中作源變址寄存器用 隱 含 SI 在間接尋址中作變址寄存器用 不能隱含 在字符串運算指令中作目標變址寄存器用 隱 含 DI 在間接尋址中作變址寄存器用 不能隱含 BP 在間接尋址中作基址指針用 不能隱含 SP 在堆棧操作中作堆棧指針用 隱 含 188086的寄存器結構(的寄存器結構(4)3 3、指令指針、指令指針IPIPn1616位專用寄存器,保存下一條要執行的指令的偏移地位專用寄存器,保存下一條要執行的指令的偏移地址址n當當BIUBIU從內存中取出一個指令

17、字節后,從內存中取出一個指令字節后,IPIP自動加自動加1 1,指,指向下一個字節向下一個字節nIPIP指向的是指令地址的段內地址偏移量,又稱偏移地指向的是指令地址的段內地址偏移量,又稱偏移地址或有效地址址或有效地址n程序員不能對程序員不能對IPIP進行存取操作,程序中的轉移指令、進行存取操作,程序中的轉移指令、返回指令以及中斷處理能對返回指令以及中斷處理能對IPIP進行操作進行操作198086的寄存器結構(的寄存器結構(5)4 4、標志寄存器、標志寄存器FLAGSFLAGS15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CFPFAFZFSFTFIFDFOFn 16

18、 16位,其中有位,其中有6 6個狀態位,個狀態位,3 3個控制位個控制位n 6 6個狀態位有:個狀態位有:CFCF、PFPF、AFAF、ZFZF、SFSF、OFOFn 3 3個控制位有:個控制位有:IFIF、DFDF、TFTF208086的寄存器結構(的寄存器結構(6)標志寄存器標志寄存器FLAGSFLAGS(狀態位)(狀態位)n進位標志進位標志CFCF,反映算術運算后,最高位(字節操作為,反映算術運算后,最高位(字節操作為D D7 7,字操作為字操作為D D1515)出現進位或借位的情況,有則為)出現進位或借位的情況,有則為“1 1”n奇偶標志奇偶標志PFPF,反映操作結果的低八位中,反映

19、操作結果的低八位中“1 1”的個數的的個數的情況,若為偶數,則情況,若為偶數,則PF=1PF=1n輔助進位標志輔助進位標志AFAF,反映一個,反映一個8 8位量的低位量的低4 4位向高位向高4 4位有無位有無進位或借位的情況,有則置進位或借位的情況,有則置“1 1”n零標志零標志ZFZF,反映運算結果是否為,反映運算結果是否為0 0的情況,結果為的情況,結果為0 0,ZFZF置為置為“1 1”,否則為,否則為“0 0”218086的寄存器結構(的寄存器結構(7)n符號標志符號標志SFSF,反映運算結果的符號情況,若結果為負,反映運算結果的符號情況,若結果為負數,數,SFSF為為“1 1”,否則

20、為,否則為“0 0”。SFSF的取值與運算結果最的取值與運算結果最高位(字節操作為高位(字節操作為D D7 7,字操作為,字操作為D D1515)一致。)一致。n溢出標志溢出標志OFOF,反映帶符號數運算結果是否超過機器所,反映帶符號數運算結果是否超過機器所能表示的數值范圍的情況,對字節運算為能表示的數值范圍的情況,對字節運算為-128 +127-128 +127,對字運算為對字運算為-32768 +32767-32768 +32767。若超過上述范圍則稱為。若超過上述范圍則稱為“溢出溢出”,OF=1OF=1,否則為,否則為“0 0”。228086的寄存器結構(的寄存器結構(8)標志寄存器標志

21、寄存器FLAGSFLAGS(控制位)(控制位)n方向標志方向標志DFDF,在進行字符串操作時,每執行一條串操,在進行字符串操作時,每執行一條串操作指令,對地址要進行一次調整,由作指令,對地址要進行一次調整,由DFDF決定地址是增決定地址是增還是減。若還是減。若DF=1DF=1,則為減量;,則為減量;DF=0DF=0,則為增量。,則為增量。n中斷允許標志中斷允許標志IFIF,表示系統是否允許外部可屏蔽中斷。,表示系統是否允許外部可屏蔽中斷。若若IF=1IF=1,表示允許中斷,表示允許中斷, IF=0IF=0,表示不允許中斷。,表示不允許中斷。IFIF對不可屏蔽中斷及內部中斷請求不起作用。對不可屏

22、蔽中斷及內部中斷請求不起作用。n跟蹤標志跟蹤標志TFTF,當,當TF=1TF=1時,時,CPUCPU每執行完一條指令,便自每執行完一條指令,便自動產生一個內部中斷,對程序進行逐條檢查,常用于動產生一個內部中斷,對程序進行逐條檢查,常用于程序的調試。程序的調試。238086的寄存器結構(的寄存器結構(9)5 5、段寄存器、段寄存器n內存中通常存放三種信息:內存中通常存放三種信息: 代碼(指令):計算機執行何種操作代碼(指令):計算機執行何種操作 數據(字符、數值):程序處理的對象數據(字符、數值):程序處理的對象 堆棧信息:保存返回地址和中間結果堆棧信息:保存返回地址和中間結果n為清晰起見,這三

23、類信息分別存放在各自的存儲區域為清晰起見,這三類信息分別存放在各自的存儲區域內(存儲系統中的不同存儲段)內(存儲系統中的不同存儲段)n80868086系統中把可直接尋址的系統中把可直接尋址的1M1M字節內存空間分為稱作字節內存空間分為稱作段的邏輯區域,每個段的物理長度為段的邏輯區域,每個段的物理長度為64K64K字節。每個段字節。每個段的起始地址的有關值存放在稱為段寄存器的的起始地址的有關值存放在稱為段寄存器的4 4個個1616位寄位寄存器中存器中248086的寄存器結構(的寄存器結構(10)4 4個段寄存器為個段寄存器為n代碼段寄存器代碼段寄存器CSCS:指向當前的代碼段,指令由此段取:指向

24、當前的代碼段,指令由此段取出出n數據段寄存器數據段寄存器DSDS:指向當前數據段,通常用來存放程:指向當前數據段,通常用來存放程序變量序變量n堆棧段寄存器堆棧段寄存器SSSS:指向當前的堆棧段,堆棧操作所需:指向當前的堆棧段,堆棧操作所需的就是該段存儲單元的內容的就是該段存儲單元的內容n附加段寄存器附加段寄存器ESES:指向當前附加段,通常也用來存儲:指向當前附加段,通常也用來存儲數據數據思考n8086內部有哪些程序可見的寄存器?其主要作用是什么?25262.38086的存儲器組織(的存儲器組織(1)n存儲器組織存儲器組織q8086CPU有有20條地址線,條地址線,可配置可配置1MB的存儲器,

25、地的存儲器,地址編號為址編號為00000H-FFFFFHq存儲空間按字節存儲空間按字節(8位位)進行進行組織,每個存儲單元存儲一組織,每個存儲單元存儲一個字節的數據,若存放個字節的數據,若存放“字字”數據(數據(16位),則存放在位),則存放在相鄰兩個存儲單元之中,高相鄰兩個存儲單元之中,高字節存放在高地址單元,低字節存放在高地址單元,低字節存放在低地址單元字節存放在低地址單元00000HFFFFFH00001H00002H00003HFFFFEH存儲器存儲器278086的存儲器組織(的存儲器組織(2)q8086允許字從任何地址開始。允許字從任何地址開始。字的地址為偶地址時,稱字的地址為偶地址

26、時,稱字的存儲是對準的字的存儲是對準的,CPU訪問時需要一個總線周期訪問時需要一個總線周期;若字若字的地址為奇地址時,稱字的存儲是未對準的,的地址為奇地址時,稱字的存儲是未對準的,CPU訪問需訪問需要兩個總線周期。要兩個總線周期。 高字節高字節 低字節低字節 15 8 7 060280H60281H60282H288086的存儲器組織(的存儲器組織(3)n存儲器分段存儲器分段q8086CPU寄存器皆為寄存器皆為16位,內部位,內部ALU只能進行只能進行16位運算,位運算,因此,因此,8086CPU對地址只能進行對地址只能進行16位運算,尋址范圍位運算,尋址范圍216=65536(64K)字節。

27、所以引入分段概念,以獲得)字節。所以引入分段概念,以獲得20位地址位地址q一個段是存儲器的一個邏輯單位,其長度可達一個段是存儲器的一個邏輯單位,其長度可達64KB,每,每個段都由連續的存儲單元構成,是存儲器中獨立的可分個段都由連續的存儲單元構成,是存儲器中獨立的可分別尋址的單位別尋址的單位q每段第一個字節的位置稱為每段第一個字節的位置稱為“段起始地址段起始地址”,可由軟件,可由軟件指定指定q段起始地址:必須能被段起始地址:必須能被16整除(即整除(即XXXX0H)q幾個段可以相互重疊,也可指向同一空間幾個段可以相互重疊,也可指向同一空間298086的存儲器組織(的存儲器組織(4)n段基址與段內

28、偏移量段基址與段內偏移量q8086與存儲器之間所有信息的交換都要使用與存儲器之間所有信息的交換都要使用20位的物理位的物理地址,而程序中所涉及到的地址都是地址,而程序中所涉及到的地址都是16位的邏輯地址,位的邏輯地址,對所給定的任一存儲單元而言,有兩部分邏輯地址:對所給定的任一存儲單元而言,有兩部分邏輯地址: “段地址段地址”:一個段的起始地址的高一個段的起始地址的高16位,也稱位,也稱“段基段基址址”。 “段內偏移量段內偏移量”:段內一個存儲單元的地址相對于段起始段內一個存儲單元的地址相對于段起始地址的距離,也稱地址的距離,也稱“有效地址有效地址EA”,“偏移地址偏移地址”。q段地址存放在段

29、寄存器段地址存放在段寄存器CS、DS、SS、ES中中q段內偏移量由段內偏移量由IP、SP、SI、DI、BX、BP以及相應寄存以及相應寄存器的組合而組成器的組合而組成308086的存儲器組織(的存儲器組織(5)n邏輯地址與物理地址邏輯地址與物理地址q在具有地址變換機構的計算機中,有兩種存儲器地址:在具有地址變換機構的計算機中,有兩種存儲器地址: 邏輯地址:允許在程序中編排的地址邏輯地址:允許在程序中編排的地址 物理地址:信息在存儲器中實際存放地址物理地址:信息在存儲器中實際存放地址q在在8086系統中,每個存儲單元也都認為有這兩類地址系統中,每個存儲單元也都認為有這兩類地址318086的存儲器組

30、織(的存儲器組織(6)n物理地址的形成物理地址的形成q存儲單元的存儲單元的20位物理地址是通過將位物理地址是通過將16位的段基址左移位的段基址左移4位,再加上位,再加上16位的偏移地址而形成的,即位的偏移地址而形成的,即 物理地址物理地址=段基址段基址*10H+段內偏移量段內偏移量q例如:例如:6000:0280的物理地址為的物理地址為60280Hq8086CPU中中BIU單元的地址加法器可用來完成物理地址單元的地址加法器可用來完成物理地址的計算的計算328086的存儲器組織(的存儲器組織(7)n信息的分段存儲與段寄存器的關系信息的分段存儲與段寄存器的關系表表 各種類型訪問存儲器時的地址成分各

31、種類型訪問存儲器時的地址成分內存訪問類型內存訪問類型默認段寄存器默認段寄存器可指定段寄存器可指定段寄存器段內偏移地址來源段內偏移地址來源123456取指令取指令堆棧操作堆棧操作源串源串目的串目的串BP用作基址尋址用作基址尋址一般數據存取一般數據存取CSSSDSESSSDS無無無無CS、ES、SS無無CS、ES、DSCS、ES、SSIPSPSIDI按尋址方式計算得到的有效地址按尋址方式計算得到的有效地址按尋址方式計算得到的有效地址按尋址方式計算得到的有效地址338086的存儲器組織(的存儲器組織(8)n段寄存器的使用約定段寄存器的使用約定q任何類型訪問存儲器時,其段地址要么由默認段寄存器任何類型

32、訪問存儲器時,其段地址要么由默認段寄存器提供,要么由提供,要么由“指定指定”的段寄存器提供。的段寄存器提供。q段寄存器段寄存器DS、ES和和SS的內容是用傳送指令置入的,但的內容是用傳送指令置入的,但任何傳送型指令不能向段寄存器任何傳送型指令不能向段寄存器CS置入數,但一些指令置入數,但一些指令可以設置和影響可以設置和影響CS的內容,如:的內容,如:ASSUME偽指令、偽指令、JMP、CALL、RET、INT和和IRET。q表中前四項指明了一個表中前四項指明了一個16位的指針寄存器或變址寄存器位的指針寄存器或變址寄存器作為段內偏移地址的來源,其它都要按指令碼規定的尋作為段內偏移地址的來源,其它

33、都要按指令碼規定的尋址方式求得。址方式求得。思考n什么是邏輯地址?什么是物理地址?如何由邏輯地址求物理地址?34352.4 8086的的I/O組織組織nI/O接口是保證信息和數據在接口是保證信息和數據在CPU和和I/O設備之間正常傳送設備之間正常傳送的電路。的電路。nI/O端口是端口是I/O接口內的寄存器,跟存儲單元相同,也是以接口內的寄存器,跟存儲單元相同,也是以字節為單位編址,一個字節為單位編址,一個I/O端口有唯一的端口有唯一的I/O地址相對應。地址相對應。n8086地址總線的低地址總線的低16位用來對位用來對8位位I/O端口尋址,所以端口尋址,所以8086的的I/O地址空間為地址空間為

34、64K,可以訪問,可以訪問64K個個I/O端口端口n與存儲器類似,任何兩個地址連續的與存儲器類似,任何兩個地址連續的8位位I/O端口,都可以端口,都可以當作一個當作一個16位位I/O端口,類似于存儲器的字。端口,類似于存儲器的字。n對對8086CPU來說,也象存儲器的字那樣,要實現奇地址的來說,也象存儲器的字那樣,要實現奇地址的16位位I/O端口輸入輸出,都必須訪問兩次。端口輸入輸出,都必須訪問兩次。368086CPU與存儲器、與存儲器、I/O設備的連接設備的連接高位決定接口,高位決定接口,2或或3個低位選擇端口個低位選擇端口CPU數據線數據線控制線控制線地址線地址線接接 口口地址地址存儲器中

35、的字節存儲器中的字節0101I/O接口接口I/O端口端口I/O設備設備高位決定模塊高位決定模塊存儲器模塊存儲器模塊37由于存儲器劃分為模塊,所以存儲器地址的高幾由于存儲器劃分為模塊,所以存儲器地址的高幾位可用來選擇模塊,其余低位則用來標識該模塊內的位可用來選擇模塊,其余低位則用來標識該模塊內的字節或字。同樣,利用字節或字。同樣,利用I/OI/O地址中的高位來標識地址中的高位來標識I/OI/O接接口,而用口,而用2 2或或3 3個低位來選擇該接口內的個低位來選擇該接口內的I/OI/O端口。端口。存儲器和存儲器和I/O端口的組織(端口的組織(1)38n地址總線的條數就是二進制地址碼的地址總線的條數

36、就是二進制地址碼的位數位數,它能夠表示,它能夠表示的不同地址的集合稱為的不同地址的集合稱為地址空間地址空間。存儲單元和。存儲單元和I/OI/O端口端口在同一地址空間,這種方法稱為在同一地址空間,這種方法稱為統一編址統一編址,它們的存取,它們的存取指令是一樣的;而兩者在兩個獨立的地址空間,它們的指令是一樣的;而兩者在兩個獨立的地址空間,它們的地址碼的位數不同,采用的存取指令是不一樣的,這種地址碼的位數不同,采用的存取指令是不一樣的,這種方法稱為方法稱為獨立編址獨立編址。n地址碼的位數決定了地址空間的大小。若地址碼共地址碼的位數決定了地址空間的大小。若地址碼共n n位,位,則可以有則可以有2 2n

37、 n個地址。對于個地址。對于單地址空間單地址空間的的CPUCPU的處理器,的處理器,則存儲器和則存儲器和I/OI/O端口合在一起的空間容量為端口合在一起的空間容量為2 2n n個字節。個字節。對于對于獨立空間獨立空間的來說,地址總線的條數決定了存儲器地的來說,地址總線的條數決定了存儲器地址空間的容量;地址總線中用于址空間的容量;地址總線中用于I/OI/O端口編址的條數決端口編址的條數決定定I/OI/O地址空間的容量。地址空間的容量。存儲器和存儲器和I/O端口的組織(端口的組織(2)39 例如在例如在8086CPU8086CPU系統中,地址總線的條數為系統中,地址總線的條數為2020條,則條,則

38、存儲器的最大容量為存儲器的最大容量為2 22020,即,即1MB1MB字節;它的地址總線字節;它的地址總線的低的低1616位用來對位用來對I/OI/O端口編址,則端口編址,則I/OI/O地址空間的容量地址空間的容量為為2 21616,即,即64K64K個個I/OI/O端口地址。端口地址。存儲器和存儲器和I/O端口的組織(端口的組織(3)402.58086的尋址方式的尋址方式n尋址方式:指令中用于說明操作數地址的方法尋址方式:指令中用于說明操作數地址的方法n尋址方式分為數據尋址方式和轉移地址尋址方式尋址方式分為數據尋址方式和轉移地址尋址方式n數據尋址方式通常有數據尋址方式通常有8 8種:種:1

39、1、立即尋址、立即尋址2 2、寄存器尋址、寄存器尋址3 3、直接尋址、直接尋址4 4、寄存器間接尋址、寄存器間接尋址5 5、寄存器相對尋址、寄存器相對尋址6 6、基址變址尋址、基址變址尋址7 7、基址變址且相對尋址、基址變址且相對尋址8 8、隱含尋址、隱含尋址41立即尋址立即尋址存儲器存儲器 9ABC 1234 F5 1000 代代碼碼段段數數據據段段MOV AX, 1000HAXAHAL100030000H31000H31001H32000H32001Hp 操作數為立即數,直接存放在代碼段中操作數為立即數,直接存放在代碼段中42AX12A6HBX12A6Hp 操作數在寄存器中。對于操作數在寄

40、存器中。對于16位數據,寄存器可以是位數據,寄存器可以是8個通用寄存器中的任意一個(個通用寄存器中的任意一個(AX、BX、CX、DX、SI、DI、SP、BP)。對于)。對于8位數據,寄存器可以是位數據,寄存器可以是AL、AH、BL、BH、CL、CH、DL、DH。p 例如:例如:MOV AX,BX43直接尋址直接尋址存儲器存儲器 9ABC 1234 F5 1000 代代碼碼段段數數據據段段30000H31000H31001H32000H32001HMOV AX, 1000HAXAHAL1234DS3000 0100031000物理地物理地址址p 操作數在內存單元中操作數在內存單元中p 指令碼中直

41、接給出數據的偏移地址指令碼中直接給出數據的偏移地址44寄存器間接尋址(寄存器間接尋址(1)n 操作數在內存單元中操作數在內存單元中n 數據的偏移地址由指定的寄存器給出:數據的偏移地址由指定的寄存器給出:BX,SI或或DIEA =(BX)(SI)(DI)45寄存器間接尋址(寄存器間接尋址(2)存儲器存儲器 9ABC 1234 F5 代代碼碼段段數數據據段段30000H31000H31001H32000H32001HMOV AX, BXAXAHAL1234DS3000 0100031000物理地物理地址址BX操作數操作數46寄存器相對尋址(寄存器相對尋址(1)n 操作數在內存單元中操作數在內存單元

42、中n 數據的偏移地址是位移量和一個基址寄存器(數據的偏移地址是位移量和一個基址寄存器(BX、BP)或變址寄存器()或變址寄存器(SI、DI)的內容之和)的內容之和EA =(BX)(BP)(SI)(DI)+8位位disp16位位disp47寄存器相對尋址(寄存器相對尋址(2)存儲器存儲器 9ABC 1234 F5 0500 代代碼碼段段數數據據段段30000H31000H31001H32000H32001HMOV AX, dispSIAXAHAL1234DS3000 00B0031000物理地物理地址址SI操作數操作數0500disp48基址變址尋址(基址變址尋址(1)n 操作數在內存單元中操作

43、數在內存單元中n 數據的偏移地址是一個基址寄存器數據的偏移地址是一個基址寄存器(BX、BP)和一和一個變址寄存器個變址寄存器(SI、DI)的內容之和的內容之和EA =(BX)(BP)+(SI)(DI)49基址變址尋址(基址變址尋址(2)存儲器存儲器 9ABC 1234 F5 代代碼碼段段數數據據段段30000H31000H31001H32000H32001HMOV AX, BXSIDS3000 0100032000物理地物理地址址BX操作數操作數1000SIAXAHAL9ABC50基址變址且相對尋址(基址變址且相對尋址(1)n 操作數在內存單元中。操作數在內存單元中。n 數據的偏移地址是位移量

44、,一個基址寄存器數據的偏移地址是位移量,一個基址寄存器(BX、BP)和一個變址寄存器和一個變址寄存器(SI、DI)的內容三部分之的內容三部分之和。和。+EA =(BX)(BP)+(SI)(DI)8位位disp16位位disp51基址變址且相對尋址(基址變址且相對尋址(2)存儲器存儲器 9ABC 1234 F5 0500 代代碼碼段段數數據據段段30000H31000H31001H32000H32001HMOV AX, dispBXSIDS3000 0100032000物理地物理地址址BX操作數操作數0B00SIAXAHAL9ABC0500disp52隱含尋址隱含尋址有些指令碼中不包含指明操作數

45、地址的部分,而其操有些指令碼中不包含指明操作數地址的部分,而其操作碼本身隱含地說明了操作數地址。作碼本身隱含地說明了操作數地址。例如:例如:MULCL;其操作為;其操作為(AX)(AL)(CL)在這里,在這里,AL操作數并沒有在指令中指明,是由操作數并沒有在指令中指明,是由操作碼本身隱含地說明了操作碼本身隱含地說明了53若若(BX)0158H,(DI)10A5H,位移量,位移量1B57H,(DS)2100H,(SS)1100H,(BP)0100H,段寄存器按默,段寄存器按默認段寄存器,則相對于各種尋址方式的有效地址和物理地認段寄存器,則相對于各種尋址方式的有效地址和物理地址是:址是: 直接尋址

46、:直接尋址:EA1B57H物理地址物理地址(DS)10HEA21000H1B57H22B57H 寄存器間接尋址寄存器間接尋址(假設寄存器為假設寄存器為BX):EA0158H物理地址物理地址(DS)10HEA21000H0158H21158H例題例題54 寄存器相對尋址寄存器相對尋址(假設寄存器為假設寄存器為BP) EA0100H1B57H1C57H物理地址物理地址(SS)10HEA11000H1C57H12C57H 基址變址尋址基址變址尋址(假設寄存器為假設寄存器為BX和和DI) EA0158H10A5H11FDH物理地址物理地址(DS)10HEA21000H11FDH221FDH 基址變址且

47、相對尋址基址變址且相對尋址(假設寄存器為假設寄存器為BP和和DI) EA0100H10A5H1B57H2CFCH物理地址物理地址(SS)10HEA11000H2CFCH13CFCH55轉移地址的尋址方式轉移地址的尋址方式n指令是按順序存放在存儲器中的,其執行順序是由代碼段指令是按順序存放在存儲器中的,其執行順序是由代碼段寄存器寄存器CS和指令指針和指令指針IP的內容決定的。在正常的情況下,的內容決定的。在正常的情況下,BIU自動修改自動修改IP的內容,使它指向下一條指令。的內容,使它指向下一條指令。n程序轉移指令通過改變程序轉移指令通過改變IP和和CS的內容,就可以改變程序的的內容,就可以改變

48、程序的正常執行順序。正常執行順序。n轉移地址的尋址方式有轉移地址的尋址方式有4種:種:段內直接尋址段內直接尋址2.段內間接尋址段內間接尋址3.段間直接尋址段間直接尋址4.段間間接尋址段間間接尋址56段內直接尋址段內直接尋址pJMP指令的操作數部分直接給出目標單元指令的操作數部分直接給出目標單元p指令所在存儲單元的地址的形成:指令所在存儲單元的地址的形成: CS*10H+(IP) (IP)=(IP)disp(8位或者位或者16位位)例如:例如:.JMP ABC1. ABC1: .57段內間接尋址段內間接尋址pJMP指令轉移的目標地址在某一個通用寄存器中或者指令轉移的目標地址在某一個通用寄存器中或

49、者在某一個字存儲單元中在某一個字存儲單元中p指令所在存儲單元的地址的形成:指令所在存儲單元的地址的形成: CS*10H+(IP) (IP) EA(存在寄存器或存儲器單元中存在寄存器或存儲器單元中)例如:例如: JMP CX或者或者JMP WORD PTR BX58段間直接尋址段間直接尋址p指令碼中直接給出指令碼中直接給出16位的段地址和位的段地址和16位的有效地址。位的有效地址。p指令所在存儲單元的地址的形成:指令所在存儲單元的地址的形成: (IP) EA(指令指令)(CS) 段地址段地址(指令指令)例如:例如:COSEG1 SEGMENT. JMP FAR PTR TRAGET.COSEG1

50、 ENDSCOSEG2 SEGMENT. TRAGET: -.COSEG2 ENDS59段間間接尋址段間間接尋址p段間間接尋址和段內間接尋址相似,要得到的轉移地段間間接尋址和段內間接尋址相似,要得到的轉移地址包括址包括16位段地址和位段地址和16位有效地址,使用地址連續位有效地址,使用地址連續的的4個存儲單元存儲個存儲單元存儲p指令所在存儲單元的地址的形成:指令所在存儲單元的地址的形成: (IP)EA(存儲單元的前兩個字節存儲單元的前兩個字節)(CS)段地址段地址(存儲單元的后兩存儲單元的后兩個個字節字節)例如:例如: JMP DWORD PTR ADDRBX或者或者 JMP DWORD PT

51、R BXSI602.7高檔微處理器的寄存器結構和存儲器組織簡介高檔微處理器的寄存器結構和存儲器組織簡介 和和8086內部的寄存器結構和存儲器組織相比,高檔內部的寄存器結構和存儲器組織相比,高檔微處微處理器的寄存器結構和存儲器組織具有以下特點:理器的寄存器結構和存儲器組織具有以下特點:p使高檔微處理器具有更強的數據處理能力;使高檔微處理器具有更強的數據處理能力;p高檔微處理器支持多任務操作系統。高檔微處理器支持多任務操作系統。61AH ALBH BLCH CLDH DLSPBPDISIIPFLAGSCSDSESSSFSGSEAXEBXECXEDXESPEBPEDIESIEIPEFLAGS31 1

52、6 0高檔微處理器的寄存器結構高檔微處理器的寄存器結構62高檔微處理器的訪問存儲器機制高檔微處理器的訪問存儲器機制 p奔騰微處理器可以訪問的存儲器空間為奔騰微處理器可以訪問的存儲器空間為4GB;p采用虛擬存儲技術,還可以大大擴展存儲空間。采用虛擬存儲技術,還可以大大擴展存儲空間。63實模式與保護模式實模式與保護模式 p80286及以上的高檔微處理器都可以工作于實模式或保護及以上的高檔微處理器都可以工作于實模式或保護模式,而模式,而8086只能工作于實模式;只能工作于實模式;p實模式下微處理器只能訪問地址低端的實模式下微處理器只能訪問地址低端的1MB存儲空間,所存儲空間,所以地址低端的以地址低端

53、的1MB存儲區稱為實模式存儲器、常規存儲區存儲區稱為實模式存儲器、常規存儲區或或DOS存儲器系統;存儲器系統;pDOS要求處理器工作于實模式,而且各種微處理器在任何要求處理器工作于實模式,而且各種微處理器在任何情況下每次加電或復位后都默認以實模式開始;情況下每次加電或復位后都默認以實模式開始;pWindows工作于保護模式,只有保護模式才允許訪問低工作于保護模式,只有保護模式才允許訪問低端的端的1MB存儲區和高于存儲區和高于1MB以上的存儲區。以上的存儲區。64保護模式下的存儲器尋址機制保護模式下的存儲器尋址機制p保護模式下訪問存儲器的地址仍由兩部分合成,即偏移保護模式下訪問存儲器的地址仍由兩

54、部分合成,即偏移地址和基地址;地址和基地址;p其基地址不再直接是段寄存器保存的段地址,而是由段其基地址不再直接是段寄存器保存的段地址,而是由段寄存器和對應的描述符寄存器聯合提供的。寄存器和對應的描述符寄存器聯合提供的。選擇符選擇符選擇符選擇符選擇符選擇符選擇符選擇符選擇符選擇符選擇符選擇符15 0 12位屬性位屬性 32位基地址位基地址 20位邊界位邊界段描述符高速緩沖寄存器段描述符高速緩沖寄存器段寄存器段寄存器65保護模式下的存儲器尋址機制保護模式下的存儲器尋址機制p保護模式下的段寄存器保存的不再是段地址,而是提供保護模式下的段寄存器保存的不再是段地址,而是提供找到段地址的選擇符;找到段地址的選擇符;p與選擇符密切相關的概念是段描述符,描述符表和描述與選擇符密切相關的概念是段描述符,描述符表和描述符寄存器。

溫馨提示

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

評論

0/150

提交評論