版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第2章章 16位和位和32位微處理器位微處理器 根本要求根本要求 : 8086微處理器的編程構造 8086微處理器的存放器 8086微處理器的操作時序 中斷、中斷分類、中斷向量、中斷響應、中斷屏蔽 8086的最小形式、最大形式工作方式,最小形式下的存儲器配置 8086的存儲器編址、存儲器的分段構造 8086的IO編址 80386 的功能部件 80386微型機的三種工作方式 32位微型機中指令流水線和地址流水線和實現(xiàn) 32微型機中的兩級存儲管理 邏輯地址到線性地址的轉(zhuǎn)換 邏輯地址到物理地址的轉(zhuǎn)換 線性地址到物理地址的轉(zhuǎn)換 Pentium采用的CISC和RISC技術 分支預測技術的設計思想和實現(xiàn)
2、方法 Pentium的技術特點 Pentium的主要部件 Pentium的主要信號 Pentium的總線狀態(tài)和總線周期2.1 16位微處理器位微處理器80862.1.1 2.1.1 8 8086086的編程構造的編程構造 16位處理器位處理器16位數(shù)據(jù)寬度,內(nèi)部存放器,位數(shù)據(jù)寬度,內(nèi)部存放器,ALU都是都是16位的。位的。 地址總線地址總線20位,以字節(jié)為單位對存儲器進展編制,可位,以字節(jié)為單位對存儲器進展編制,可尋址尋址220 1M字節(jié)。字節(jié)。 為了充分利用為了充分利用Intel原來原來8位的外圍接口芯片,位的外圍接口芯片,Intel在在16位位8086的根底上,還推出了外部數(shù)據(jù)總線位的根底
3、上,還推出了外部數(shù)據(jù)總線位8位的位的8088處理處理器器內(nèi)部與內(nèi)部與8086根本一樣是根本一樣是16位,外部數(shù)據(jù)總線位,外部數(shù)據(jù)總線8位,地位,地址總線址總線20位。位。 所謂編程構造所謂編程構造面向程序設計和應用角度的面向程序設計和應用角度的CPU構造。構造。68086的編程構造從功能上,8086分為兩部分,即總線接口部件bus interface unit,BIU執(zhí)行部件execution unit,EU 1. 總線接口部件總線接口部件根據(jù)根據(jù)EU的懇求,完成的懇求,完成CPU與存儲器、與存儲器、CPU與與I/O設備設備之間的信息傳送。之間的信息傳送。 讀指令讀指令當指令隊列出現(xiàn)空字節(jié)當指
4、令隊列出現(xiàn)空字節(jié)8088 有有1個空個空字節(jié),字節(jié),8086 有有2個空字節(jié)個空字節(jié)時,從內(nèi)存取出后續(xù)指令。時,從內(nèi)存取出后續(xù)指令。BIU取指令時,并不影響取指令時,并不影響EU的執(zhí)行,兩者并行工作,的執(zhí)行,兩者并行工作,大大進步了大大進步了CPU的執(zhí)行速度。的執(zhí)行速度。 讀操作數(shù)讀操作數(shù)EU需要從內(nèi)存或外設端口讀取操作數(shù)需要從內(nèi)存或外設端口讀取操作數(shù)時,根據(jù)時,根據(jù)EU給出的地址從內(nèi)存或外設端口讀取數(shù)據(jù)供給出的地址從內(nèi)存或外設端口讀取數(shù)據(jù)供EU使用。使用。 寫操作數(shù)寫操作數(shù)EU的運算結果、數(shù)據(jù)或控制命令等由的運算結果、數(shù)據(jù)或控制命令等由BIU送往指定的內(nèi)存單元或外設端口。送往指定的內(nèi)存單元或
5、外設端口。9 4個個16位段存放器:位段存放器:代碼段存放器代碼段存放器CSCode Segment、數(shù)據(jù)段存放器、數(shù)據(jù)段存放器DSData Segment、堆、堆棧段存放器棧段存放器SSStack Segment和附加數(shù)據(jù)段存放和附加數(shù)據(jù)段存放器器ESExtra Segment; 一個一個16位的指令指針存放器位的指令指針存放器IPInstruction 一個一個20位地址加法器;位地址加法器; 6字節(jié)指令隊列緩沖器;字節(jié)指令隊列緩沖器; 一個與一個與EU通訊的內(nèi)部存放器以及總線控制電路通訊的內(nèi)部存放器以及總線控制電路。 10 段存放器段存放器 8086CPU的地址引腳有20根,能提供20位
6、的地址信息,可直接對1M個存儲單元進展訪問。 但CPU內(nèi)部可用來提供地址信息的存放器都是16位的, 那么如何用16位存放器實現(xiàn)20位地址的尋址呢? 3存放器簡介存放器簡介118086/8088采用了分段構造的內(nèi)存管理的方法。采用了分段構造的內(nèi)存管理的方法。將指令代碼和數(shù)據(jù)分別存儲在代碼段數(shù)據(jù)段堆棧段附加數(shù)據(jù)段簡城附加段中, 每一段最大64KB216個字節(jié),可用16位的地址存放器管理。 12代碼段段基地址相對于段基地址的偏移量數(shù)據(jù)段段基地址相對于段基地址的偏移量這些段的段基地址分別由這些段的段基地址分別由段存放器段存放器CS、DS、SS、ES提供,提供,而代碼或數(shù)據(jù)在段內(nèi)的偏而代碼或數(shù)據(jù)在段內(nèi)的
7、偏移地址那么由有關存放器移地址那么由有關存放器或立即數(shù)給出。或立即數(shù)給出。13l 代碼段存放器代碼段存放器CS:存儲程序當前使用的代碼段的段地址。代碼段用來存放程序的指令代碼。下一條要讀取指令在代碼段中的偏移地址由指令指針存放器IP提供;l 數(shù)據(jù)段存放器數(shù)據(jù)段存放器DS:用來存放程序當前使用的數(shù)據(jù)段的段地址。一般來說,程序中所用到的原始數(shù)據(jù)、中間結果以及最終結果都存放在數(shù)據(jù)段中;14 堆棧段存放器堆棧段存放器SS:用來存放程序當前所使用的堆棧段的段地址。堆棧是在存儲器中開拓的一個特定區(qū)域; 附加數(shù)據(jù)段存放器附加數(shù)據(jù)段存放器ES:用來存放程序當前使用的附加數(shù)據(jù)段的段地址。附加數(shù)據(jù)段通常用于存放字
8、符串操作時的目的字符串。15程序員在編寫匯編語言源程序時,應該按照上述規(guī)定程序員在編寫匯編語言源程序時,應該按照上述規(guī)定將程序的各個部分放在規(guī)定的段內(nèi)。將程序的各個部分放在規(guī)定的段內(nèi)。每個源程序必須至少有一個代碼段,每個源程序必須至少有一個代碼段,而數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段那么根據(jù)程序的需要而數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段那么根據(jù)程序的需要決定是否設置。決定是否設置。 16 指令指針存放器指令指針存放器指令指針存放器指令指針存放器IP:用來存放下一條要讀取的指令在代碼段中用來存放下一條要讀取的指令在代碼段中的偏移地址。的偏移地址。IP在程序運行中能自動加在程序運行中能自動加1修正,從而使其始終存
9、放的是下一修正,從而使其始終存放的是下一條要讀取的指令在代碼段的偏移地址。由于條要讀取的指令在代碼段的偏移地址。由于CS和和IP的內(nèi)容決定的內(nèi)容決定了程序的執(zhí)行順序,因此程序員不能直接用賦值指令對其內(nèi)容了程序的執(zhí)行順序,因此程序員不能直接用賦值指令對其內(nèi)容進展修改。有些指令能使進展修改。有些指令能使IP和和CS的值改變?nèi)缣D(zhuǎn)指令或使的值改變?nèi)缣D(zhuǎn)指令或使其值壓入堆?;驈亩褩V袕棾龌謴驮等缱映绦蛘{(diào)用指令和其值壓入堆棧或從堆棧中彈出恢復原值如子程序調(diào)用指令和返回指令。返回指令。 174 4 20 20位地址加法器位地址加法器 8086/8088CPU在對存儲單元進展訪問以讀取指令或讀在對存儲單元
10、進展訪問以讀取指令或讀/寫寫操作數(shù)時,必須在地址總線上提供操作數(shù)時,必須在地址總線上提供20位的地址信息,以便選中位的地址信息,以便選中對應的存儲單元。對應的存儲單元。CPU的存放器都是的存放器都是16位段基址存放器和偏移地址都是。位段基址存放器和偏移地址都是。那么,那么,CPU是如何產(chǎn)生是如何產(chǎn)生20位地址的呢?位地址的呢? CPU提供的用來對存儲單元進展訪問的提供的用來對存儲單元進展訪問的20位地址是由位地址是由BIU中的地址加法器產(chǎn)生的。中的地址加法器產(chǎn)生的。 18 存儲器中每個存儲單元的地址可有以下兩種表示方式:存儲器中每個存儲單元的地址可有以下兩種表示方式:邏輯地址:邏輯地址:其表達
11、形式為表達形式為“段地址:段內(nèi)偏移地址段地址:段內(nèi)偏移地址 的地址。的地址。段內(nèi)偏移地址又稱為段內(nèi)偏移地址又稱為“有效地址有效地址EAEffective Address。 19物理地址物理地址:CPU與存儲器進展數(shù)據(jù)交換時在地址總線上提供的20位地址信息稱為物理地址。 物理地址的形成過程如下圖。20015段內(nèi)偏移地址段寄存器190340000 段地址左移4位20位物理地址19021段存放器內(nèi)容左移四位后相當于乘以10H,與16位段內(nèi)偏移地址,在BIU中的地址加法器中進展相加,形成一個20位的物理地址。這就是由邏輯地址求出物理地址的方法。由邏輯地址求物理地址的公式為: 例如:假設當前CS=100
12、0H,取出當前指令后指令指針I(yè)P=4052H,求下一條指令的地址。1000H 左移4位后為:10000H,它與4052H相加10000+4052=14052h。下一條指令所在存儲單元的物理地址為14052H。10000405214052225 5 指令隊列緩沖器指令隊列緩沖器 8086的指令隊列有的指令隊列有6個字節(jié),個字節(jié),8088的指令隊列有的指令隊列有4個字節(jié)。個字節(jié)。 對對8086而言,當指令隊列出現(xiàn)而言,當指令隊列出現(xiàn)2個空字節(jié),個空字節(jié), 對對8088而言,指令隊列出現(xiàn)而言,指令隊列出現(xiàn)1個空字節(jié)時,個空字節(jié)時,BIU就自動執(zhí)行一次取指令操作,將下一條要執(zhí)行的指令就自動執(zhí)行一次取指
13、令操作,將下一條要執(zhí)行的指令1個字個字從內(nèi)存單元讀入到指令隊列。從內(nèi)存單元讀入到指令隊列。 指令隊列采用指令隊列采用“先進先出原那么,按順序存放,并按順序先進先出原那么,按順序存放,并按順序取到取到EU中去執(zhí)行。中去執(zhí)行。 指令隊列的引入使得指令隊列的引入使得EUEU和和BIUBIU可并行工作,即可并行工作,即BIUBIU在讀指令時,在讀指令時,并不影響并不影響EUEU單元執(zhí)行指令,單元執(zhí)行指令,EUEU單元可以連續(xù)不斷地直接從指令隊單元可以連續(xù)不斷地直接從指令隊列中取到要執(zhí)行的指令代碼,從而減少了列中取到要執(zhí)行的指令代碼,從而減少了CPUCPU為取指令而等待的為取指令而等待的時間,進步了時間
14、,進步了CPUCPU的利用率,加快了整機的運行速度。的利用率,加快了整機的運行速度。2. 2. 執(zhí)行部件執(zhí)行部件 1 1功能功能執(zhí)行部件負責指令的執(zhí)行執(zhí)行部件負責指令的執(zhí)行 ,242 2組成組成由以下由以下4部分組成:部分組成: 4 4個通用存放器,即個通用存放器,即AXAX、BXBX、CXCX、DXDX; 1616位字長,又可以作為位字長,又可以作為2 2個獨立的個獨立的8 8位存放器使用。位存放器使用。 4 4個專用存放器,即個專用存放器,即 基數(shù)指針存放器基數(shù)指針存放器BPBPBase PointerBase Pointer 堆棧指針存放器堆棧指針存放器SPSPStack Pointer
15、Stack Pointer 源變址存放器源變址存放器SISISource IndexSource Index 目的變址存放器目的變址存放器DIDIDestination IndexDestination Index; 標志存放器;標志存放器; 算術邏輯部件算術邏輯部件arithmetic logic unit。3標志存放器標志存放器標志存放器標志存放器共有共有1616位,其中位,其中7 7位未用,所用的各位含位未用,所用的各位含義如下:義如下:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 015 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 O
16、FOFDFDFIFIFTFTFSFSFZFZF AFAF PFPF CFCF根據(jù)功能,8086的標志可以分為兩類:狀態(tài)標志控制標志 狀態(tài)標志有6個,即SF、ZF、PF、CF、AF和OF 符號標志SFSign Flag 零標志ZFZero Flag 奇偶標志PFParity Flag 運算結果低8位中1的個數(shù)為偶數(shù),PF=1PE,低8位中1的個數(shù)為奇數(shù),PF=0PO。 進位標志CFCarry Flag 最高位產(chǎn)生進位CF=1 輔助進位標志Auxiliary carry Flag 溢出標志Overflow Flag 算術運算產(chǎn)生溢出8位運算結果超出-128+127 16位運算結果超出-32768+
17、32767286、標志存放器、標志存放器16位存放器,其中有位存放器,其中有7位未用。位未用。D15D0 OF DF IF TF SF ZF AF PF CF進進借借位位標標志志奇奇偶偶標標志志半半進進借借位位標標志志零零標標志志符符號號標標志志單單步步中中斷斷中中斷斷允允許許方方向向標標志志溢溢出出標標志志1-有進、借位有進、借位0-無進、借位無進、借位1-低低8位有偶數(shù)個位有偶數(shù)個10-低低8位有奇數(shù)個位有奇數(shù)個11-低低4位向高位向高4位有進、借位位有進、借位0-低低4位向高位向高4位無進、借位位無進、借位1-結果為結果為00-結果不為結果不為0290101 0100 0011 1001
18、+0100 0101 0110 10101001 1001 1010 0011最高位最高位 = 1 SF=1低八位低八位1的個數(shù)為的個數(shù)為 4 個個 PF=1運算結果不為運算結果不為 0 ZF=0低低 4 位向前有進位位向前有進位 AF=1最高位向前沒有進位最高位向前沒有進位 CF=0次高位向前有進位次高位向前有進位 ,最高位無進位最高位無進位 CF=0,DF=1,OF=115 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 O D I T S Z A P C 101011最高位無進位,CF=0向高4位有進位,AF=130例:例: 設變量設變量x=11101111B,y=
19、11001000B,X=0101101000001010B,Y=01001100 10100011B,請問分別執(zhí),請問分別執(zhí)行行x+y和和X+Y操作后標志存放器中各狀態(tài)位的狀態(tài)如何?操作后標志存放器中各狀態(tài)位的狀態(tài)如何? 11101111 + 11001000 10110111 1自動丟失0101101000001010 0100110010100011 1010011010101101CF=0CF=1DF=1DF=1x+yX+YAF=1CF=1次高位進位信號DF=1最高位進位信號CF=1OF=CF DF=0低8位有5個1,PF=0低8位有6個1,PF=131狀態(tài)狀態(tài)位位執(zhí)行執(zhí)行x+y后后執(zhí)行
20、執(zhí)行X+Y后后CF最高位最高位D7向前有進位,向前有進位,CF=1最高位最高位D15向前沒有進位,向前沒有進位,CF=0PF1的個數(shù)為偶數(shù)的個數(shù)為偶數(shù)(6),PF=11的個數(shù)為奇數(shù)的個數(shù)為奇數(shù)(5位位),PF=0AF低低4位向前有進位,位向前有進位,AF=1低低 4 位 向 前 沒 有 進 位 ,位 向 前 沒 有 進 位 ,AF=0ZF計算結果不為計算結果不為0,ZF=0計算結果不為計算結果不為0,ZF=0SF最高位最高位D7為為1,SF=1最高位最高位D15為為1,SF=1OFCF DF=0,沒有溢出,沒有溢出,OF=0CF DF=1,結果溢出,結果溢出,OF=1控制標志有3個,即 方向標
21、志DFdirection flag 中斷允許標志IFinterrupt enable flag 跟蹤標志TFtrap flag又稱為單步標志80X86的標志存放器各位可以通過程序進展修改。由于它特別重要,為防止意外被修改,因此對標志存放器的修改有特殊的指令和方法。3. 8086的總線周期的概念的總線周期的概念 計算機中的所有工作,都是在嚴格的時鐘脈沖控制下進展的。 總線周期完成一次總線操作所需要的時鐘周期數(shù)。 一般總線操作一次存儲器讀或?qū)懖僮鳌8究偩€周期4個時鐘周期。T1,T2,T3,T4 假如存儲器或外設在四個時鐘周期不能完成所需要的操作,可以再T3后插入1個或多個等待周期TW。34典型的
22、8086總線周期序列:由4個根本時鐘周期和假設干個等待周期可以是0個等待周期組成。 T1狀態(tài),發(fā)地址信息 T2狀態(tài),總線的高4位輸出狀態(tài)信息 T3狀態(tài),高4位輸出狀態(tài)信息,低16位 數(shù)據(jù) T3之后,可能插入TW存儲器或外設提供 在T4狀態(tài),本總線周期完畢。362.1.2 8086的引腳信號和工作形式的引腳信號和工作形式最大工作形式的功能1.最小形式和最大形式的概念最小形式和最大形式的概念1最小形式:在系統(tǒng)中只有一個微處理器,所有總線控制信號都有CPU直接產(chǎn)生。 2最大形式:兩個或多個微處理器主處理器、協(xié)處理器,總線控制信號有專門的電路產(chǎn)生。 與8086配合的協(xié)處理器8087:數(shù)值運算處理器80
23、89:輸入/輸出協(xié)處理器2. 8086/8088的引腳信號和功能的引腳信號和功能注意點:注意點: 8086/8088的數(shù)據(jù)線和地址線復用的數(shù)據(jù)線和地址線復用 8086有有16根數(shù)據(jù)線根數(shù)據(jù)線 第第21腳腳RESET為輸入復位信號為輸入復位信號 第第22引腳為引腳為“準備好準備好READY信號信號 RD:指示讀,:指示讀, WR:指示寫操作:指示寫操作 高高4位地址和狀態(tài)線復用位地址和狀態(tài)線復用 各引腳信號: GND、V地和電源 AD15AD0地址/數(shù)據(jù)復用 A19/S6A16/S3 地址/狀態(tài)復用 BHE/S7 高8位數(shù)據(jù)總線允許/狀態(tài)復用 NMI非屏蔽中斷輸入 INTR可屏蔽中斷懇求信號輸入 RD讀信號輸出 CLK時鐘輸入 RESET復位信號輸入 READY “準備好信號輸入 TEST測試信號輸入 MN/MX最小和最大形式控制輸入 帶#的信號表示低電平有效3. 最小形式最小形式 引腳信號: INTA中斷響應信號輸出 ALE地址鎖存允許信號輸出 DEN數(shù)據(jù)允許信號 DT/R數(shù)據(jù)收發(fā)信號輸出 M/IO存儲器/輸入輸出控制信號輸出 WR寫信號輸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)機械購買補貼合同
- 技術開發(fā)服務合同案例
- 企業(yè)培訓就業(yè)協(xié)議書編寫技巧
- 2第二章-血液一般檢驗-02-血栓與止血、血型
- 室內(nèi)清潔合作合同格式
- 員工個人合同書范本
- 投資合作協(xié)議范本:2024投資合作協(xié)議范本
- 場地游戲安全協(xié)議書
- 建筑安裝工程用地協(xié)議范本
- 個人結算賬戶管理文件
- 麻醉恢復室護理課件
- 五育融合下的新勞動教育課題
- 數(shù)字化轉(zhuǎn)型對中學教育的影響
- 新型電力系統(tǒng)簡介演示
- 基于Android網(wǎng)上購物系統(tǒng)的設計與實現(xiàn)
- 企業(yè)事業(yè)部制的職責與權限
- 廣東省行政執(zhí)法資格考試題庫
- 校園設施規(guī)劃設計案例分析
- 建筑施工安全員培訓
- 普通高中生招生計劃書
- 2024年山東省港口集團有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論