概述
80286是Intel公司於1982年製造成功的。80286 CPU是比8086/8088 CPU更為先進的16位微處理器。晶片上共集成13.5萬隻電晶體,具有68個引腳,採用四列直插式封裝。地址線和數據線不再復用,分開設定16條數據線和24條地址線,從而使CPU的運算速度及可定址的記憶體空間都較8086有提高。記憶體空間容量為16 MB,時鐘頻率為8~10 MHz。
80286 CPU具有存儲器管理和保護機構。它採用分段的方法管理存儲器,每段最大為64 KB,支持虛擬存儲器。這就是說,80286CPU有兩種工作方式:實地址方式和虛地址方式。運行實地址方式時,相當於一個快速的8086 CPU。從邏輯地址到物理地址的轉換與8086CPU的相同,物理地址空間為1 MB。運行虛擬保護方式時,可定址16 MB的物理地址,提供1 GB的虛地址空間,並能實現段暫存器保護、存儲器訪問保護及特權級保護和任務之間的保護等。因而,80286 CPU能可靠地支持多用戶系統。
80286 CPU可以配接80287數學協處理器,並具有8086/8088 CPU的全部功能。
8086/8088 CPU的彙編語言程式不加修改便可在80286 CPU上運行。
內部結構
80286 CPU內部分為4個獨立的處理部件:執行部件(EU)、地址部件(Address Unit,AU)、指令部件(Instruction Unit,IU)和匯流排接口部件(BIU)。每個部件都可與其他部件異步並行操作。因此,80286 CPU的運行速度較8086 CPU的快。
執行部件
執行部件(EU)包括算術邏輯部件(ALU)及標誌暫存器、通用暫存器佇列和控制電路等。EU中的控制電路接收已解碼指令的69位內部碼,根據指令的要求產生執行指令所需的控制電位序列後送入EU及其他部件,以便完成指令執行並以操作結果影響標誌位。EU中的通用暫存器用來暫存運算元和運算結果。此外,80286還增加了1個16位的機器狀態字(MSW)暫存器。
地址部件
地址部件(AU)包括物理地址發生器、段暫存器、段描述符高速緩衝存儲器等。它是80286 CPU中的地址管理部件。
當80286 CPU運行於實地址方式時,與8086 CPU一樣,AU負責將段地址與偏移地址組合起來形成20位物理地址。當80286 CPU運行於保護方式時,每次對存儲器存取操作(包括指令代碼預取)時,AU都必須做許可性檢查和當前任務的段限制檢查,以便測試本次存儲器存取操作是否違反了存儲器保護機制。若檢查後存儲器的存取操作是允許的,則AU就將邏輯地址(或虛擬地址)轉換成BIU使用的物理地址。為了實現存儲器存取操作的保護功能和加速邏輯地址向物理地址的轉換,AU中設定了一個段描述符高速緩衝存儲器。它可以與CPU中其他部件並行工作,不需要單獨占用CPU時間,且具有高速性能。
指令部件
指令部件IU包括指令解碼器和已解碼指令佇列。當BIU從程式代碼段預取來指令位元組後,指令部件就將指令位元組從預取佇列中取出,送入指令解碼器。指令解碼器將每個指令位元組解碼
變成69位的內碼形式,並存入已解碼指令佇列中。已解碼指令佇列共可保存3條被解碼指令的內部碼,即容量為(69×3)位。
匯流排接口部件
BIU包括匯流排接口電路、預取器和6 B的預取佇列。BIU負責處理CPU和系統匯流排之間的所有通信和數據傳輸。也就是說,BIU處理對存儲器和I/O設備進行訪問時的匯流排操作,包括產生匯流排操作時使用的地址、命令和數據信號。
與8086/8088 CPU一樣,在CPU不使用匯流排進行運算元存取的空閒時間,BIU中的預取器從記憶體程式區中預取代碼存入6 B的預取佇列中。只要預取佇列中至少有2 B為空時,便可開始預取操作。由於執行指令時,執行部件必須等待數據從記憶體取出(如果需要)後方能執行運算,因而數據存取請求與預取指令請求同時發生時,BIU將優先處理數據存取操作。控制轉移類指令將使6 B預取佇列清零,並從轉移到的目標地址開始預取新的指令。
286的改進
(1)80286內部有執行單元EU(Execution Unit)、地址單元AU(Address Unit)、指令單元IU(Instruction Unit)和匯流排單元BU(Bus Unit)4個獨立的部件並行操作,可實現4級流水線作業,提高了吞吐率,加快了處理速度。
(2)80286的地址匯流排和數據匯流排完全分開,不再像8086/8088那樣採用數據匯流排和低16位/8位地址線分時復用方式,具有獨立的數據線16條、地址線24條。
(3)80286是第一個具有多任務處理指令而又與8086兼容的晶片。它提供了許多新指令及專用保護方式使處理器在各種任務間快速而方便地切換。
(4)80286的存儲器管理可以實現在實地址和保護虛地址兩種方式下訪問存儲器。無論在哪一種方式下,80286的存儲空間仍採用分段管理,每段最大長度仍為64KB。但是,在這兩種方式下,24條地址線(A23~A0)的使用情況不同。
在實地址方式下,記憶體邏輯地址為“段基址:偏移地址”,物理地址仍為20位,只使用A19~A0,因此可定址的記憶體實地址空間仍為1MB,且物理地址的計算方法也與8086/8088相同。這相當於8086/8088的工作方式,只是速度更快,所以也叫8086方式。80286CPU在開機復位後便進入實地址方式。
在保護虛地址方式(保護方式)下,記憶體邏輯地址又稱為虛擬地址,其書寫格式為“段選擇符:偏移地址”,物理地址為24位,A23~A0全部使用,可定址的記憶體實地址空間擴充到16MB。在這種方式下,從用戶或任務角度所看到的記憶體容量叫“虛擬空間”,且每個用戶或任務所擁有的虛擬空間為1GB。可見,80286是首次利用其片記憶體儲器管理部件MMU實現虛擬存儲管理功能的微處理器,這是一個十分重要的技術與特性。
(5)80286提供了4個等級的特權系統和3種形式的保護機構,以實現作業系統與任務之間、任務與任務之間、任務內程式與數據之間的相互隔離與保護。特權系統和保護機構保證了虛址空間到實址空間的安全轉換。
總之,80286主要是增加了多用戶、多任務系統所必須的任務轉換功能、虛擬存儲器管理功能和多種保護功能,使它不僅運算速度達到8086的5~6倍,而且可支持多用戶多任務操作。但要注意,80286的優越性必須在多任務作業系統(如OS/2、UNIX、XENIX等)的支持下才能充分發揮。在DOS環境下,它僅工作在實地址方式下,可直接訪問的記憶體只有1MB,這時的80286隻是一個快速的8086。