




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第二章80x86結構微處理器本章學習提要:1、書中內容以自學為主;2、掌握8086處理器的大體軟、硬件結構體系;3、了解新型處理器的大體結構及運作方式;本章講綱2.18086處理器結構2.1.18086結構概述2.1.28086的內部寄存器結構2.1.38086的編程結構2.1.48086的存儲器結構2.280x86結構微處理器簡介2.2.180x86結構處理器的功能結構2.2.280x86結構微處理器的執行環境2.18086處理器結構
2.1.18086結構概述8086結構有如下特點16位結構,內部所有寄存器均為16位,可直接處理16位數據;20根地址線,可以直接尋址1MB的存儲空間;共40個外部引腳;需單相時鐘,單5V供電;2.18086處理器結構
2.1.18086結構概述8086處理器內部分為兩個部分總線接口單元(BusInterfaceUint,BIU)負責處理器與存儲器間的信息傳遞取出指令并送入指令隊列中根據指令獲得操作數執行單元(ExecuteUnit,EU)負責指令的執行ESCSSSDSIPAHALBHBLCHCLDHDLSPBPSIDI標志65…1執行單元控制邏輯ALUΣ存儲器接口BIU指令隊列EUB-busA-busC-bus8086的總體功能結構示意2.18086處理器結構
2.1.28086的內部寄存器結構AHALBHBLCHCLDHDLSPBPSIDIIPPSWCSDSSSESBXAXDXCX累加器基址寄存器計數器數據寄存器堆棧指針基址指針源指針目的指針程序指針程序狀態字代碼段寄存器數據段寄存器堆棧段寄存器附加段寄存器數據寄存器指針寄存器變址寄存器控制寄存器段寄存器通用寄存器0152.18086處理器結構
2.1.28086的內部寄存器結構通用寄存器包含數據寄存器、地址指針寄存器和變址寄存器數據寄存器:AX、BX、CX、DX地址指針寄存器:SP、BP變址寄存器:SI,DI段寄存器CS、DS、SS和ES控制寄存器IP、PSW2.18086處理器結構
2.1.28086的內部寄存器結構1、通用寄存器用于暫時存放計算過程中所用到的操作數、結果或其他信息;每個通用寄存器均為16位,可以整體訪問,但高字節和低字節也可以獨立訪問;2.18086處理器結構
2.1.28086的內部寄存器結構1、通用寄存器AX:算術運算的主要寄存器,所有IO口指令必須經過AX交換數據。BX:在計算操作數的存放地址時,可以用來存放操作數的基地址。基地址:在訪問操作數時,如果操作數的存放地址由一個相對固定的地址B和一個相對于B的偏移量構成,則B稱為基地址。2.18086處理器結構
2.1.28086的內部寄存器結構1、通用寄存器CX:在循環LOOP指令和串處理指令中用作隱含計數器。DX:可以作為數據寄存器使用。一般在雙字長乘除法運算時,把DX和AX組合在一起存放一個雙字長(32位)數,DX用來存放高16位;對某些I/O操作DX可用來存放I/O的端口地址(口地址256)。2.18086處理器結構
2.1.28086的內部寄存器結構1、通用寄存器地址指針SP和BPSP:堆棧指針寄存器,指示堆棧棧頂的偏移量,其與SS聯合,可計算出堆棧棧頂的物理地址;BP:基址指針,可與SS結合計算出位于堆棧段中的某存儲器單元的物理地址;200609122.18086處理器結構
2.1.28086的內部寄存器結構1、通用寄存器地址指針SP和BPSP:堆棧指針寄存器,指示堆棧棧頂的偏移量,其與SS聯合,可計算出堆棧棧頂的物理地址;BP:基址指針,可與SS結合計算出位于堆棧段中的某存儲器單元的物理地址;200609122.18086處理器結構
2.1.28086的內部寄存器結構堆棧堆棧是按先進后出的原則組織起來的一段儲存區域;用于堆棧的存儲段一端固定,另外一端浮動,固定端稱為棧底,浮動端稱為棧頂。其實現方法為:設置一個指針(寄存器),保存堆棧的棧頂地址,其初值就為棧底,而需入棧的內容始終保存在棧頂端;根據堆棧指針移動方向,堆棧分為向上生長(棧頂向地址增方向移動)和向下生長(棧頂向地址減方向移動)型;根據堆棧指針所指向的單元是否為最后入棧數據,可分為空堆棧(入棧完成后指針指向入棧數據的下一個地址)和滿堆棧(入棧完成后指針指向最后入棧數據的地址);2.18086處理器結構
2.1.28086的內部寄存器結構向上生長型空堆棧12h、34h、56h進棧過程及出棧過程1234H1235H1236H1237H1238H1239H123AH123BH123CH…………123412h34h56h1235123612372.18086處理器結構
2.1.28086的內部寄存器結構向上生長型滿堆棧12h、34h進棧過程及出棧過程1234H1235H1236H1237H1238H1239H123AH123BH123CH…………123434h56h123512362.18086處理器結構
2.1.28086的內部寄存器結構1、通用寄存器變址寄存器SI和DISI:源變址寄存器;DI:目的變址寄存器;SI和DI一般與DS聯合,可以確定源存儲單元和目的存儲單元的物理地址;SI和DI具有自動增加或減小1的能力;2.18086處理器結構
2.1.28086的內部寄存器結構2、段寄存器8086系統認為:程序=代碼+數據,每種編碼各自存放于自己的區域中,引入段的概念,并使用段寄存器來保存每種編碼的起始地址;8086的寄存器包括CS、DS、SS和ES8086系統中的各個段所保存的內容均有特定含義;CS:代碼段寄存器,保存指令代碼存放的起始地址;DS:數據段寄存器,保存用戶數據存放的起始地址;SS:堆棧段寄存器,保存程序堆棧數據的起始地址;ES:附加段寄存器,保存備用信息的起始地址;2.18086處理器結構
2.1.28086的內部寄存器結構3、控制寄存器IP:InstructionPointer,指令指針寄存器;IP用于存放即將執行指令的偏移量;IP與CS一起,才能得到指令的物理地址;PSW:ProgramStatuWord,程序狀態字;PSW通常用于表征程序執行狀態,所保存的內容可分為條件碼標志及控制標志;8086的PSW為16位,使用了其中9位,其中6位為條件碼標志,3位為控制標志;2.18086處理器結構
2.1.28086的內部寄存器結構3、控制寄存器1514131211109876543210OFDFIFTFSFZFAFPFCF位編號名稱條件碼標志包含CF、PF、AF、ZF、SF、OF。條件碼標志的值一般由處理器根據運算結果自動設置,其值與操作數有關;控制標志:DF、IF、TF;控制標志值一般由運行的程序根據需要,利用指令來設置,其值與指令有關;2.18086處理器結構
2.1.28086的內部寄存器結構3、控制寄存器(條件碼標志)OF,OverflowFlag,溢出標志OF=1時,表示運算過程中發生了溢出;OF=0時,表示運算過程中未發生溢出;CF,CarryFlag,進位標志表征運算過程中最高位(第15位)是否發生進位;ZF,ZeroFlag,零標志表征運算結果是否全為0;SF,SignFlag,符號標志表征運算結果的符號2.18086處理器結構
2.1.28086的內部寄存器結構3、控制寄存器(條件碼標志)AF,AuxiliaryCarryFlag,輔助進位位表征運算過程中第3位是否向第4位發生進位;PF,ParityFlag,奇偶效驗位當前累加器中所存放的數的奇偶效驗情況;PF=1,低8位中有偶數個‘1’;PF=0,低8位中有奇數個‘1’;…432101415AF2.18086處理器結構
2.1.28086的內部寄存器結構3、控制寄存器(控制標志)程序對控制標志進行設置后,將對以后的操作起控制作用;TF:TrapFlag,陷阱標志位TF=1時,CPU在每執行一條指令會自動產生一次中斷;TF使處理器處于單步執行方式,常用于程序的調試;IF:InterruptFlag,中斷標志位IF=1時,CPU允許可屏蔽中斷;否則不允許可屏蔽中斷IF只對可屏蔽中斷產生影響,而對軟件中斷及不可屏蔽中斷無影響;2.18086處理器結構
2.1.28086的內部寄存器結構3、控制寄存器(控制標志)DF:DirectionFlag,方向控制位在串處理指令中,用于控制SI、DI的增/減方向DF=1時,每次串處理操所后,變址寄存器SI、DI內容自動減1,使串處理向地址遞減方向進行;DF=0時,每次串處理操所后,變址寄存器SI、DI內容自動加1,使串處理向地址遞增方向進行;2.18086處理器結構
2.1.38086的編程結構總線接口單元BIU負責處理器、存儲器及IO口間的數據傳送;從存儲器中獲得指令并填充到指令隊列;CPU執行指令過程中,配合執行部件從指定的內存單元或IO口獲取數據;將處理結果傳送給指定的內存單元或IO口;執行單元EU2.18086處理器結構
2.1.38086的編程結構1、總線接口單元寄存器包括:CS、DS、SS、ES和IP;20位地址加法器6個字節的指令隊列總線控制接口處理器與外部總線的接口電路外部總線包括地址總線(20),數據總線(16)及控制總線。2.18086處理器結構
2.1.38086的編程結構1、總線接口單元指令隊列指令隊列是一個按FIFO(先進先出)原則組織起來的存儲體;BIU具有預取指令的能力,即在EU執行指令的同時,將下一條或幾條指令填充到預取隊列中;兩種情況下BIU的行為順序執行:BIU順序取出指令并填充到指令隊列中;程序轉移:BIU清除指令隊列,取出目標地址指令,并馬上送入EU,然后重新填滿指令隊列;2.18086處理器結構
2.1.38086的編程結構1、總線接口單元物理地址的形成直觀的說,8086內部所有寄存器均為16位,但外部地址線有20根,需要做一定的變換;8086的物理地址形成方式段寄存器內容×16+偏移量=物理地址邏輯地址段寄存器0000物理地址加法器1501501902.18086處理器結構
2.1.38086的編程結構2、執行單元功能:負責執行指令組成:寄存器:AX、BX、CX、DX和BP、SP、SI、DI;標志寄存器PSW:共9位,6個條件位,3個控制位;算術邏輯運算單元:16位加法器;EU控制邏輯接受BIU送入的指令并向EU各個邏輯部分發出相應的控制信號,完成指令執行;2.18086處理器結構
2.1.48086的存儲器結構1、處理器的地址空間編址統一編址:IO口不單獨編址,存儲器地址與IO口地址位于一個地址空間;分開編址:IO口單獨編址,存儲器與IO口位于不同的地址空間,兩套地址編號可重疊;8086的IO口地址與存儲器地址采用分開編址;8086的存儲空間1MB,IO口空間為64K利用段寄存器及偏移量,8086可直接管理1M存儲器;利用輸入/輸出指令可直接尋址256個端口,使用DX可尋址64K個端口;2.18086處理器結構
2.1.48086的存儲器結構1、處理器的地址空間編址0N0N存儲器IO口存儲器+IO口2.18086處理器結構
2.1.48086的存儲器結構1、處理器的地址空間編址存儲器分段8086的存儲空間分為若干段,每段最大64KB,每段的起始地址由段寄存器保存,段內偏移量由具體的指令提供;根據BIU的存儲器地址形成方式,段寄存器內容須左移4位后再與偏移量相加,所以各個段的起始地址肯定是能被16整除的數,這些數將1M空間分為64K段,這些段稱為小段;2.18086處理器結構
2.1.48086的存儲器結構2、邏輯地址與物理地址邏輯地址:由段寄存器與偏移量構成;邏輯地址記作:Segment:Offset 如:1234:1324、2000:1000…物理地址:處理器在訪問存儲器某單元時,地址總線上所出現的信號所對應的地址;根據BIU地址形成方式,8086的物理地址須由5位16進制數才能完整地表示出來;2.18086處理器結構
2.1.48086的存儲器結構3、各段在存儲器中的分配應用程序開始對該程序所用到的各個段寄存器賦值;各個段可以重疊,8086的每個段最大為64K,但根據具體情況,幾個段可以位于同一個64K段內;如果段重疊,應用程序必須保證各個段的內容不沖突;當程序所使用的段超過64K時,程序在適當的時候必須動態的改變相應段寄存器的值;段寄存器值可以由操作系統自行管理,但分配原理如以上所述;2.18086處理器結構
2.1.48086的存儲器結構64K程序64K數據64K堆棧64K數據1000H2400H4000H5500HESSSDSCS1000H2400H4000H5500H2.18086處理器結構
2.1.48086的存儲器結構4、關于PC機的說明在IBMPC機中,整個存儲器的首尾部分有特定的用途;00000H~003FFH共1K空間,用于存放中斷向量;系統在上電后,將從0FFFF0H處取出第一條指令,即8086的上電復位程序入口地址為0FFFF0H,所以一般在0FFFF0H處放置一條無條件轉移指令,將程序轉移到系統初始化程序處;20060914ThursdayC2032.280x86結構微處理器簡介
2.2.180x86結構微處理器的功能結構從80386開始,從功能結構上看,到80486形成了IA(IntelArchitecture)-32微處理器的基礎;相對于8086,新的x86微處理器在硬件結構上使用了越來越先進的半導體制造工藝;引入了很多的新的技術措施,提高處理器處理指令的速度;桶形移位寄存器、流水線、多執行部件、高速緩存等;加入浮點數處理部件,提高處理器對浮點數的處理速度;2.280x86結構微處理器簡介
2.2.180x86結構微處理器的功能結構相對于8086,微處理器在硬件結構上增強了對上層操作系統的支持;多操作模式、新的存儲器管理機制、支持任務切換等;增強了對多媒體數據的處理能力;MMX、SSE等將原有的寄存器位數擴展為32位,增加了一些寄存器2.2x86結構微處理器簡介
2.2.2x86結構微處理器的執行環境1、操作模式保護模式這種模式下,所有的指令及結構特性可用;實地址模式實現8086編程環境并有一定的擴展:寄存器32位,具有切換到另外兩種模式的能力;系統管理模式為操作系統實現平臺特定功能或系統安全提供的一種透明機制,處于這種模式下的處理器接受到中斷后,會自動保存當前程序上下文并切換到一個獨立的存儲空間;80x86的工作模式主要介紹一下實地址方式和保護虛地址方式。1、實地址方式具有32條地址線的微處理器只有低20條地址線起作用,能尋址1M字節的物理地址。實地址方式和保護虛地址方式的區分是由控制寄存器CR0的最低位PE位決定的。若PE位為0,則工作在實地址方式;若PE位為1,工作在保護虛地址方式;實地址方式下,采用類似于8086的體系結構。歸納起來,有如下幾個特點:①尋址機構、存儲器管理、中斷處理機構和8086一樣
②操作數默認長度為16位,但允許訪問處理器的32位寄存器組,在使用32位寄存器組時,指令中要加上前綴以表示越權存取。
③不用虛擬地址的概念,存儲器容量最大為1M字節;采用分段方式,每段大小固定為64K字節,存儲段可以彼此覆蓋,即一個64K字節的段如未用完,另一個段可以覆蓋未用的存儲區。
④實地址方式下,存儲器中保留兩個固定區域,一個為初始化程序區,另一個為中斷向量區。前者為FFFF0H—FFFFFH,后者為00000—003FFH。
⑤在實地址方式下,運行的程序不分特權等級,實際上,實地址方式下的程序相當于工作在特權級0,除保護虛地址方式下的一些專用指令外,所有其他指令都能在實地址方式下運行。2、保護虛地址方式在保護方式下,全部32根地址有效,可尋址達4G字節的物理空間;支持多任務,一個任務可運行多達16KB個段,每個段最大可為4G字節,故一個任務最大可達64MM字節的虛擬地址,能快速的進行任務切換和任務保護環境;在保護方式運行的程序分為4個特權級:0、1、2、3,操作系統核心運行在最高特權等級0,用戶程序運行在最低特權等級3。
4級特權保護結構
如圖所示:應用程序3級常用擴展程序內核0級2級系統服務程序1級系統和應用程序分離4級特權保護結構(1)保護方式下的尋址機制在保護方式下,一個存儲單元的地址也是由段基地址和段內偏移量兩部分組成。在保護方式下,段基地址也是32位的,所以就不能由段寄存器的內容直接形成32位的段基地址,而是要經過轉換。于是在內存中就有一個表,每一個內存段對應著表中的一項,此項中包含32位的段基地址。在80x86中,一個段用一個8字節的描述符來描述,多個描述符構成一個表,稱為描述表。
由描述符中所規定的段基地址加上32位的段內偏移量就可以尋址一個存儲單元,如圖所示。段寄存器偏移量訪問權界限基地址存儲器操作數段內基址段界}選擇段大到4GB(2)描述符表和描述符描述符表 描述符表定義了訪問存貯器的一種數據結構,是存放在存貯器空間中的一種特殊數據段,其表項是由段描述符或其
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 4015-2021送嫁藥防治水稻二化螟技術規程
- DB32/T 3834-2020水利工程螺桿式啟閉機檢修技術規程
- DB32/T 3772-2020河蟹與南美白對蝦池塘雙主養技術規范
- DB32/T 3761.58-2022新型冠狀病毒肺炎疫情防控技術規范第58部分:防控區域劃分
- DB32/T 3761.39-2021新型冠狀病毒肺炎疫情防控技術規范第39部分:超聲醫學工作場所
- DB32/T 3761.20-2020新型冠狀病毒肺炎疫情防控技術規范第20部分:醫療廢物處置機構
- DB32/T 3657-2019荷葉離褶傘(鹿茸菇)工廠化生產技術規程
- DB32/T 2197-2022水文自動測報系統數據傳輸規約
- DB31/T 932-2015粉煤灰在混凝土中應用技術規程
- DB31/T 705-2013普通級實驗用羊的病原監測
- 鐵路隧道側溝清淤施工方案
- 完整版高中古詩文必背72篇【原文+注音+翻譯】
- 飲水安全保障體系-深度研究
- 丙肝有關的考試題及答案
- 自愿放棄宅基地協議書(2篇)
- 2025年泉州市公交集團有限責任公司招聘筆試參考題庫含答案解析
- 地球的自轉+訓練題 高二地理湘教版(2019)選擇性必修1
- 2025年基本公共衛生服務人員培訓計劃
- 《香格里拉松茸保護與利用白皮書》
- 2025屆上海市中考聯考生物試卷含解析
- 信息化平臺項目集成聯調測試方案
評論
0/150
提交評論