




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
8086微處理器及其系統第2章2.18086微處理器2.28086系統的存儲器及I/O組織2.38086系統配置2.48086CPU的操作時序2.580386微處理器2.680486微處理器2.7Pentium微處理器8086微處理器及其系統第2章2.18086微處理1●執行部件(EU)●總線接口部件(BIU)
2.1.18086CPU的結構8086微處理器2.1執行部件●內部寄存器●算術邏輯運算單元(ALU)及標志寄存器●內部控制邏輯電路●執行部件(EU)2.1.18086CPU的結構802內部寄存器
●四個通用數據寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8為寄存器。用作8位寄存器分別記作:AH、AL、BH、BL、CH、CL、DH、DL。BX可用作間接尋址的地址寄存器和基地址寄存器,BH、BL可用作8位通用數據寄存器。有些指令約定以AX(或AL)為源或目的寄存器。AX(AH,AL)累加器BX(BH,BL)基址寄存器通用寄存器●8086共有8個16位的內部寄存器,分為兩組:●通用寄存器●指針和變址寄存器內部寄存器●四個通用數據寄存器AX、BX、CX、D3除用作通用寄存器外,在I/O指令中可用作端口地址寄乘除指令中用作輔助累加器。CX(CH,CL)計數寄存器
DX(DH,DL)數據寄存器CX在循環和串操作中操作中充當計數器,指令執行后CX內容自動修改。指針和變址寄存器●BP(BasicPointerRegister)基址指針寄存器●SP(StackPointerRegister)堆棧指針寄存器●SI(SourceIndexRegister)源變址寄存器●DI(DestinationIndexRegister)目的變址寄存器除用作通用寄存器外,在I/O指令中可用作端口地址寄乘除指令中4算術邏輯單元(ALU)及標志寄存器●標志寄存器(FlagRegister)共有16位,其中7位未用。標志寄存器內容如圖:1.條件標志-----共6位,用于寄存程序運行的狀態信息,這些標志往往用作后續指令判斷的依據。2.控制標志-----共3位,用于控制機器或程序的某些運行過程。OFDFIFTFSFZF――AF――PF――CF8765432101514131211109算術邏輯單元(ALU)及標志寄存器●標志寄存器(FlagR5條件標志●CF(CarryFlag)進位標志-----反映在運行結果的最高位有無進位或錯位。●PF(ParityFlag)奇偶標志-----反映運算結果中“1”的個數的奇偶性,主要用于判斷數據傳送過程中是否出錯。●AF(AuxiliaryFlag)輔助進位標志-----加減運算時,若D3向D4產生了進位或錯位則AF=1。否則AF=0。在BCD碼運算時,該標識用于十進制調整。條件標志●CF(CarryFlag)進位標志6-----反映計算結果是否為0。若結果為零則ZF=1,否則ZF=0。●SF(SignFlag)符號標志-----反映計算結果最高位及符號位的狀態。如果運算結果的最高位為1則SF=1(對帶符號數即為負數),否則SF=0(對帶符號數即為正數)。●OF(OverflowFlag)溢出標志-----反映運算結果是否超出了帶符號數的表數范圍。●ZF(ZeroFlag)零進位-----反映計算結果是否為0。若結果為零則ZF=1,否則Z7控制標志●共3位,用于控制機器或程序的某些運行過程。●
DF(DirectionFlag)方向標志-----用于串處理指令中控制串處理的方向。●IF(InterruptFlag)中斷允許標志-----用于控制CPU是否允許相應可屏蔽中斷請求。●TF(trapflag)陷阱標志-----用于單步操作。內部控制邏輯電路控制標志●共3位,用于控制機器或程序的某些運行過程。●DF85.I/O控制邏輯-----是CPU外部三總線(AB、DB、CB)的控制電路,它控制CPU與其他部件交換數據、地址、狀態及控制信息。4.指令隊列緩沖器-----是一個與CPU速度相匹配的高速緩沖寄存器。3.指令指針寄存器(IP)-----又稱程序計數器,是16位寄存器。2.地址加法器-----用于產生20位物理地址。1.段地址寄存器(CS、DS、SS、ES)-----用于存放段地址的寄存器稱為段寄存器,根據其主要用途,計有代碼段寄存器CS、數據段寄存器DS、堆棧段寄器SS、附加段寄存器ES。總線接口部件5.I/O控制邏輯4.指令隊列緩沖器3.指令指針寄98086CPU引腳的功能●8086總線周期●8086CPU的引腳及功能2.1.28086總線周期T1T2T3TwT4T1T18086總線周期圖2-3典型的8086總線周期時序8086CPU引腳的功能●8086總線周期2.1.280810-----CPU向多路復用總線上發送地址信息,指出要尋址的內存單元地址或I/O端口地址。T2狀態:-----CPU從總線上撤消地址,使總線低16位呈現高阻狀態,為數據傳輸作準備。T3狀態:-----A19~A16上狀態信息不變,總線低16位上出現CPU要寫出的數據或準備讀入的數據。T4狀態:-----總線周期結束,若為總線周期則在T4前沿將數據讀入CPU。T1狀態:-----CPU向多路復用總線上發送地址信息,指出要尋址的111.GND(地)和Vcc電源。Vcc引腳接+5V電源,GND引腳接地。2.AD15~AD0(AddressDataBus)地址/數據復用引腳,雙向、三態。3.A19/S6~A16/S3(Address/Status)地址/狀態復用引腳,輸出、三態。4.BHE/S7(BusHighEnable/Status)高8位數據線允許/狀態復用引腳,輸出、三態。8086CPU的引腳及功能在最小模式和最大模式下的通用引腳:1.GND(地)和Vcc電源。Vcc引腳接+5V電源,G12表2-1S3、S4代碼組合的意義S4S3意義00正在使用ES01正在使用SS10正在使用CS11正在使用DS表2-1S3、S4代碼組合的意義S413表2-2BHE與A0信號的意義BHEA0操作所用的數據線00從偶地址開始讀/寫一個字AD15~AD010從偶地址讀/寫一個字AD7~AD001從奇地址開始讀/寫一個字AD15~AD8從奇地址開始讀/寫一個字10(第一個總線周期)AD15~AD801(第二個總線周期)AD7~AD0表2-2BHE與A0信號的意義BHEA014INTR(InterruptRequest)可屏蔽中斷請求引腳,輸入、高電平有效。RD(Read)讀信號,輸出、三態、低電平有效。CLK(Clock)時鐘輸入引腳。RESET(Reset)復位引腳,輸入、高電平有效。READY(Ready)準備好引腳,輸入、高電平有效。11.TEST(Test)測試引腳,輸入、低電平有效。12.MN/MX(Minimum/MaximumModeControl)最小/最大模式控制引腳,輸入。5.NMI(Non-MaskableInterrupt)非屏蔽終端請求引腳,輸入。INTR(InterruptRequest)可屏蔽中斷請求158086系統的存儲器及I/O組織2.2.18086系統的存儲器的結構●8086系統的存儲器結構●8086系統的存儲器的地址●8086系統內存地址的一些專用區域2.28086系統的存儲器及I/O組織2.2.18086系統的168086系統的存儲器結構偶地址存儲體512K×8A0=0奇地址存儲體512K×8A0=1000001000003FFFFFFFFFE000002000000圖2-5存儲體地址空間分配8086系統的存儲器結構000001000003FFFFFF172-7a從偶地址讀寫一個字節(BHEA0=10)AD15~AD8上的數據被忽略,字節內容通過AD7~AD0傳送。被讀的字節忽略的字節YYX存儲器8086CPU10000H10001Ha)從偶地址讀一個字節2-7a從偶地址讀寫一個字節(BHEA0=10)AD1182-7b從奇地址讀寫一個字節(BHEA0=01)。在AD15~AD8上傳送的數據有效,AD7~AD0上的數據被忽略。被讀的字節被讀的字節XYX存儲器8086CPU10008H10009HYb)從偶地址讀一個字2-7b從奇地址讀寫一個字節(BHEA0=01)。被讀的19從偶地址讀寫一個字(BHEA0=00)。AD15~AD0上傳送的數據同時有效。以上三種讀寫操作都是在一個總線周期中完成的。2-7c被讀的字節忽略的字節XYX存儲器8086CPU10050H10051Hc)從奇地址讀一個字節從偶地址讀寫一個字(BHEA0=00)。2-7c被讀的字202-7d從奇地址讀寫一個字。這種操作要占用兩個總線周期。被讀的第一字節忽略的字節YYX存儲器8086CPU10080H10082H忽略的字節被讀的第二字節XZW10081H10083Hd)從奇地址讀一個字節2-7d從奇地址讀寫一個字。這種操作要占用兩個總線周期。被218086系統的存儲器的地址CS=2000HIP=1000H物理地址=21000HCS=2100HIP=0000H物理地址=21000H物理地址的計算公式:物理地址=端地址×16+偏移地址段地址的引入,為程序在內存中浮動創造了條件,一般用戶程序只涉及偏移地址。同一物理地址可以有不同的段地址和偏移地址表示。例如:8086系統的存儲器的地址CS=2000HI228086系統內存地址的一些專用區域●
0000~003FFH1KB空間用于存放中斷向量表,可存放256個中斷服務程序的入口地址,每個地址占4字節。●
B0000~B0FFFH4KB為單色顯示器顯示緩沖區,存放屏幕當前顯示字符的ASCII碼。●
B8000~BBFFFH16KB為彩色顯示器顯示緩沖區,存放屏幕當前像素代碼。●
FFFF0H啟動地址。一般用來存放一條無條件轉移指令,轉到系統初始化程序。8086系統內存地址的一些專用區域●0000~003FFH238086系統配置2.3.1最小模式和最大模式的概念
最小模式最大模式●為了適應各種場合的要求,8086/8088CPU在設計中提供了兩種工作模式,即最小模式和最大模式。實際機器中究竟工作在哪一種模式,根據需要有硬件連接決定。2.38086系統的I/O組織●
8086系統有專有的輸入(IN)、輸入(OUT)令,用于外設端口(即外設接口中的內部寄存器)的尋址。2.2.28086系統配置2.3.1最小模式和最大模式的概念最小模24最小模式最大模式:●如果系統中包括兩個以上處理器,其一個為8086/8088作為主處理器,其它處理器作為協處理器,這樣的系統成為最大模式系統。
:●如果系統中只有一個微處理器8086(或8088),所有由它產生,則系統中總線控制邏輯信號可先減少到最小,因此稱這種系統為最小模式系統。最小模式最大模式:●如果系統中包括兩個以上處理器,其一個為825最小模式系統●當系統只有一個微處理器8086時,將MN/MX引腳接向+5V,構成最小模式系統,其原理如圖2-81.最小模式系統典型配置2.8284時鐘發生器與8086的連接如圖2-93.地址鎖存器8282與8086的連接如圖2-104.總線驅動器8286與8086的連接如圖2-112.3.2最小模式系統●當系統只有一個微處理器8086時,將MN/MX26其他控制信號(1)
M/IO(Memory/Input&Output)及WR信號,輸出、三態。這兩個信號與RD信號盒起來決定系統中數據傳出的方向,其組合集對應功能表2-45.M/IORDWR功能001I/O讀010I/O寫101存儲器讀110存儲器寫X00無效組合X11非讀寫狀態表2-4M/IO、RD及WR信號的功能其他控制信號(1)M/IO(Memory/Input&27(3)HLDA(HoldAcknowledge)總線請求響應信號,輸出、高電平有效。
(4)INTN(InterruptAcknowledge)中斷響應信號,輸出、三態、低電平有效。
(5)ALE(AddressLatchEnable)地址鎖存允許信號,輸出、高電平有效。
(6)DEN(DataEnable)數據允許信號,輸出、三態、低電平有效。
(7)DT/R(DataTransmit/Recieve)數據收發控制信號,輸出、三態。HOLD(HoldRequest)(2)總線保持請求信號,輸入、高電平有效。(3)HLDA(HoldAcknowledge)HOLD28最大模式系統
●將MN/MX引腳接地就構成了8086CPU的最大工作模式。最大模式下的有關引腳信號8288總線控制器最大模式的系統配置2.3.3最大模式系統●將MN/MX引腳接地就構成了8086CPU的29最大模式下的有關引腳信號QS0,QS1(InstructionQueueStatus)指令隊列狀態信號,輸出。QS0QS1意義00無操作01無指令隊列的第1個字節取走代碼10隊列為空11除第1個字節外,還取走了后續字節中的代碼表2-5QS1、QS0代碼組合含義最大模式下的有關引腳信號QS0,QS1(Instructio30S2、S1、S0(BuscycleStatus)總線狀態信號,輸出。3.LOCK(Lock)總線封鎖信號,輸出,低電平有效。4.RQ/GT1,RQ/GT0總線請求/允許信號雙向。2.S2S1S0對應操作8288發出的控制命令00000101001100101110111發出中斷響應信號讀I/O端口寫I/O端口暫停取指令讀內存寫內存無源狀態INTAIORCIOWCAIOWCMRDCMRDCMWTCAMWC表2-6S2、S1、S0的代碼組合操作S2、S1、S0(BuscycleStatus)總線狀318288總線控制器
●在最大模式系統中要用到總線控制器8288,它根據CPU提供的S2,S1,S0信號產生各種總線控制信號。8288邏輯框圖2-12S2、S1、S0來自8286CPU的狀態信號。8288對這些狀態進行譯碼產生相應的總線命令信號和輸出控制信號。CLK時鐘輸入端,通常接8284的CLK端。AEN地址允許信號,輸入。8288總線控制器●在最大模式系統中要用到總線控制器82325.IOB總線方式控制信號,輸入。8288有兩種工作方式:(1)當IOB為低時,8288工作于系統總線方式(多處理器系統)(2)IOB為高時,8288工作于局部總線方式(單處理器系統)CEN命令允許信號4.,輸入。6.AIOWC超前I/O寫命令,輸出。在總線周游該信號提前一個時鐘周期發出I/O寫命令,以便于I/O設備早作準備。7.AMWC超前存儲器寫命令,輸出。其功能與AIOWC信號相似。8.IOWCI/O寫命令,輸出。只是數據總線上數據有效,可將數據寫入被選中的I/O端口。5.IOB總線方式控制信號,輸入。8288有兩種工作方3310.MRDC、MWTC存儲器讀和存儲器寫命令,輸出。11.MCE/PDEN輸出,總線總模塊允許/外部數據允許雙功能信號。12.INTA,DT/R,ALE及DEN與8086最小模式的相應引腳信號功能相同,只有DEN信號的相位與最小模式相應引腳的相位相反。,輸出。通知外設端口將數據發送到數據總線上。IORCI/O讀命令9.10.MRDC、MWTC存儲器讀和存儲器寫命令,348086CPU的操作時序2.4.18086CPU的復位操作時序2.4圖2-148086的復位時序不作用狀態浮空三態們輸出信號內部RESETRESET輸入CLK8086CPU的操作時序2.4.18086CPU的復位35最小模式下的總線讀周期2.4.21.T1狀態:●在T1狀態,地址鎖存允許信號ALE有效,輸出一個正脈沖。在其下降時,將地址鎖入8282地址鎖存器。2.T2狀態:●在T2狀態,地址信號消失,地址/數據復用總線進入高阻狀態,為總線讀操作作準備。3.T3狀態:●在T3狀態內存或I/O端口將數據送上數據總線。4.T4狀態:●
在T4前沿CPU將數據讀入,總線周期完成。最小模式下的總線讀周期2.4.21.T1狀態:36最小模式下的總線寫周期2.4.31.T1狀態:●
T1狀態的操作與總線讀相同,即M/IO應在T1前沿之前有效。2.T2狀態:●A19/S6~A16/S3引腳輸出狀態信息S6~S3,AD15~AD0復用總線上輸出要寫出的數據,并一直保持到T4中部。
3.T3狀態及Tw:●在T3狀態中,T2狀態有效的信號繼保持有效,繼續向外部寫數據。4.T4狀態:●總線寫狀態結束,所有控制信號變為無效狀態,所有三態總線變為高阻態。最小模式下的總線寫周期2.4.31.T1狀態:37最大模式下的總線讀周期2.4.41.T1狀態:●CPU經過A19/S6~A16/S3、AD15~AD0送出20位地址信號及BHE信號。2.T2狀態:●CPU送出狀態信號S7~S3,并將地址數據/復用總線置為高阻狀態,已準備數據讀入。3.T3狀態:●T3狀態中,S2~S0全部上升為高電平,進入無源狀態,并一直繼續到T4。4.T4狀態:●一個總線周期結束。數據從總線上撤銷,數據/地址總線進入高阻狀態。最大模式下的總線讀周期2.4.41.T1狀態:38最大模式下的總線寫周期2.4.51.T1狀態:
●A19/S6~A16/S3及AD15~AD0輸出地址信號。2.T2狀態:●總線控制器輸出DEN高電平使總線驅動器使能。提前的存儲器寫信號AMWC或I/O寫信號AIOWC降為低電平。3.T3狀態:●總線控制器是普通的寫控制信號MWTC或IOWC生效。4.T4狀態:●總線寫周期結束。A19/S6~A19/S3、AD15~AD0復用總線變為高阻狀態。最大模式下的總線寫周期2.4.51.T1狀態:3980386微處理器●80386共有34個寄存器,按功能可分為:2.5.1寄存器組通用寄存器段寄存器段描述符寄存器狀態和控制寄存器系統地址寄存器調試寄存器測試寄存器2.5最小模式下的總線保持(即總線請求/響應)周期2.4.6最大模式下的總線請求/允許周期2.4.780386微處理器●80386共有34個寄存器,按功能40通用寄存器六個16位段寄存器如下:段寄存器
●
8個通用寄存器和8086通用寄存器相同,只擴展到32位,寄存器名字前加一個字符E,即:EAX、EBX、ECX、EDX、ESI、EBP、ESP,仍然支持8位和16位操作,用法和8086系統相同。CS代碼段寄存器DS數據段寄存器SS堆棧段寄存器ES、FS、GS為三個附加段寄存器通用寄存器六個16位段寄存器如下:段寄存器●8個41段描述符寄存器
●
64位的段描述符寄存器對程序員是不可見的。為了加快對內存中描述符表的查詢速度,在段選擇符內容裝入時,段描述符同時裝入段描述符寄存器。狀態和控制寄存器標識寄存器EFLAGS指令指針寄存器EIP四個控制寄存器CR0~CR3它由組成段描述符寄存器●64位的段描述符寄存器對程序員是42系統地址寄存器●
80386為調試提供了硬件支持。芯片內設有DR0~DR7八個調試寄存器。●
80386有四個系統地址寄存器GDTRIDTRTRLDTR調試寄存器測試寄存器●
80386有8個32位的測試寄存器。系統地址寄存器●80386為調試提供了硬件支持。●804380386的存儲管理與保護功能1.邏輯地址與段選擇符段描述符指針T2RPL圖2-26段選擇符的格式2102.段描述符的格式及保護功能3.分頁存儲管理及保護2.5.380386的地址轉換2.5.280386的存儲管理與保護功能1.邏輯地址與段選擇符段描述符44圖2-27段描述符段基地址15…0段限15…0基地址31…24GD00段限19…16PSA基地址23…16DPL類型3100+4字節地址圖2-27段描述符段基地址15…0段限15…0基地址45圖2-28頁目錄描述符和頁表描述符格式頁表地址指針AVL00DA00U/SW/RP311211109876543210頁目錄描述符頁框地址AVL00DA00U/SW/RP311211109876543210頁表描述符圖2-28頁目錄描述符和頁表描述符格式頁表地址指針AVL46(1)總線接口部件(2)指令預取部件-----它負責從存儲器取出指令,有一個能容納16字節的指令隊列。(3)指令譯碼部件
-----從預取部件中取出指令,進行譯碼。1.指令流水線2.5.480386的流水線結構2.執行部件3.地址流水線
●執行部件由包括控制在內的控制部件、寄存器、算術邏輯運算部件和對存儲保護功能進行測試的測試部件組成。
●地址流水線由分段部件、分頁部件和與指令流水線共享的總線接口部件組成。(1)總線接口部件1.指令流水線2.5.480386的流水4780486微處理器2.6.180486微處理器的特點兼容性。全32位的整數處理器。獨立的32位地址、數據總線,可直接尋址4GB的物理地址空間。單時鐘周期執行。片上浮點處理單元支持32位、64位和80位的浮點運算,在二進制上與8087、80287、80387兼容。片上存儲管理單元。2.67.帶有高速緩存支持系統的片上高速緩存。8.外部CACHE控制。指令流水線。成組周期(BurstCycle)。寫緩沖器。總線背關(BusBackoff)。指令重新執行。總線寬度動態可變。80486微處理器2.6.180486微處理器的特點兼4880486微處理器的內部結構圖2-3180486的內部流水線2.6.2取指1階段譯碼2階段譯碼執行寄存器寫回CLK80486微處理器的內部結構圖2-3180486的內部49總線接口單元●總線接口單元用于數據傳輸、指令預取和處理其內部單元與外部系統的控制功能。地址收發和驅動。數據總線收發。總線寬度控制。寫緩沖。總線周期和總線控制。奇偶性的產生和控制。CACHE控制。2.3.指令預取單元4.高速緩沖(CACHE)單元5.指令譯碼單元6.控制單元7.整數(數據通路)單元8.浮點單元9.分段單元10.分頁單元總線接口單元●總線接口單元用于數據傳輸、指令預取和處理其內部50Pentium微處理器2.7.1Pentium體系結構的特點●單靠增加芯片的集成度還不足以提高CPU的整體性能。為此,Intel在Pentium的設計中采用了新的體系結構。圖2-32Pentium新型體系結構的特點可以歸納為以下四個方面:超標量流水線獨立的指令CACHE和數據CACHE重新設計的浮點單元分支預測2.7Pentium微處理器2.7.1Pentium體系結構的特51超標量流水線圖2-33Pentium超標量流水線結構U流水線V流水線U或V流水線超標量流水線圖2-33Pentium超標量流水線結構UV52獨立的指令CACHE和數據CACHE圖2-34雙路CACHE結構32B線寬有回寫取指令U流水線數據V流水線數據TLB數據CACHE8KB指令CACHE8KB32B線寬有回寫TLB獨立的指令CACHE和數據CACHE圖2-34雙路CA53重新設計的浮點單元指令CACHE指令預取指令解碼BTB圖2-35Pentium的BTB機制重新設計的浮點單元指令CACHE指令預取指令解碼BTB圖254相對486體系結構的增強點●除了以上幾個特點外,Pentium微處理器在486體系結構基礎上,還作了一些增強型的改進,歸結為以下幾點:工作頻率提高指令固化頁尺寸增加增強的微指令增強的總線2.7.2相對486體系結構的增強點●除了以上幾個特點外,Pentiu55小結12.1.18086CPU的結構2.1.28086CPU引腳的功能2.18086微處理器2.3.1最小模式和最大模式的概念2.2.28086系統的I/O組織●執行部件(EU)●總線接口部件(BIU)●8086總線周期●8086CPU的引腳及功能2.28086系統的存儲器及I/O組織2.2.18086系統的存儲器的結構2.38086系統配置2.3.2最小模式系統2.3.3最大模式系統2.48086CPU的操作時序2.4.18086CPU的復位操作時序2.4.1最小模式下的總線讀周期2.4.2最小模式下的總線寫周期2.4.3最大模式下的總線讀周期2.4.3最大模式下的總線寫周期小結12.1.18086CPU的結構2.1.2856小結22.4.4最小模式下的總線保持(即總線請求/響應)周期2.4.5最大模式下的總線請求/允許周期2.580386微處理器2.5.1寄存器組2.5.280386的地址轉換2.5.380386的存儲管理與保護功能2.5.480386的流水線結構2.680486微處理器2.6.180486微處理器的特點2.6.280486微處理器的內部結構2.7Pentium微處理器2.7.1Pentium體系結構的特點2.7.2相對486體系結構的增強點小結22.4.4最小模式下的總線保持(即總線請求/響應)578086微處理器及其系統第2章2.18086微處理器2.28086系統的存儲器及I/O組織2.38086系統配置2.48086CPU的操作時序2.580386微處理器2.680486微處理器2.7Pentium微處理器8086微處理器及其系統第2章2.18086微處理58●執行部件(EU)●總線接口部件(BIU)
2.1.18086CPU的結構8086微處理器2.1執行部件●內部寄存器●算術邏輯運算單元(ALU)及標志寄存器●內部控制邏輯電路●執行部件(EU)2.1.18086CPU的結構8059內部寄存器
●四個通用數據寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8為寄存器。用作8位寄存器分別記作:AH、AL、BH、BL、CH、CL、DH、DL。BX可用作間接尋址的地址寄存器和基地址寄存器,BH、BL可用作8位通用數據寄存器。有些指令約定以AX(或AL)為源或目的寄存器。AX(AH,AL)累加器BX(BH,BL)基址寄存器通用寄存器●8086共有8個16位的內部寄存器,分為兩組:●通用寄存器●指針和變址寄存器內部寄存器●四個通用數據寄存器AX、BX、CX、D60除用作通用寄存器外,在I/O指令中可用作端口地址寄乘除指令中用作輔助累加器。CX(CH,CL)計數寄存器
DX(DH,DL)數據寄存器CX在循環和串操作中操作中充當計數器,指令執行后CX內容自動修改。指針和變址寄存器●BP(BasicPointerRegister)基址指針寄存器●SP(StackPointerRegister)堆棧指針寄存器●SI(SourceIndexRegister)源變址寄存器●DI(DestinationIndexRegister)目的變址寄存器除用作通用寄存器外,在I/O指令中可用作端口地址寄乘除指令中61算術邏輯單元(ALU)及標志寄存器●標志寄存器(FlagRegister)共有16位,其中7位未用。標志寄存器內容如圖:1.條件標志-----共6位,用于寄存程序運行的狀態信息,這些標志往往用作后續指令判斷的依據。2.控制標志-----共3位,用于控制機器或程序的某些運行過程。OFDFIFTFSFZF――AF――PF――CF8765432101514131211109算術邏輯單元(ALU)及標志寄存器●標志寄存器(FlagR62條件標志●CF(CarryFlag)進位標志-----反映在運行結果的最高位有無進位或錯位。●PF(ParityFlag)奇偶標志-----反映運算結果中“1”的個數的奇偶性,主要用于判斷數據傳送過程中是否出錯。●AF(AuxiliaryFlag)輔助進位標志-----加減運算時,若D3向D4產生了進位或錯位則AF=1。否則AF=0。在BCD碼運算時,該標識用于十進制調整。條件標志●CF(CarryFlag)進位標志63-----反映計算結果是否為0。若結果為零則ZF=1,否則ZF=0。●SF(SignFlag)符號標志-----反映計算結果最高位及符號位的狀態。如果運算結果的最高位為1則SF=1(對帶符號數即為負數),否則SF=0(對帶符號數即為正數)。●OF(OverflowFlag)溢出標志-----反映運算結果是否超出了帶符號數的表數范圍。●ZF(ZeroFlag)零進位-----反映計算結果是否為0。若結果為零則ZF=1,否則Z64控制標志●共3位,用于控制機器或程序的某些運行過程。●
DF(DirectionFlag)方向標志-----用于串處理指令中控制串處理的方向。●IF(InterruptFlag)中斷允許標志-----用于控制CPU是否允許相應可屏蔽中斷請求。●TF(trapflag)陷阱標志-----用于單步操作。內部控制邏輯電路控制標志●共3位,用于控制機器或程序的某些運行過程。●DF655.I/O控制邏輯-----是CPU外部三總線(AB、DB、CB)的控制電路,它控制CPU與其他部件交換數據、地址、狀態及控制信息。4.指令隊列緩沖器-----是一個與CPU速度相匹配的高速緩沖寄存器。3.指令指針寄存器(IP)-----又稱程序計數器,是16位寄存器。2.地址加法器-----用于產生20位物理地址。1.段地址寄存器(CS、DS、SS、ES)-----用于存放段地址的寄存器稱為段寄存器,根據其主要用途,計有代碼段寄存器CS、數據段寄存器DS、堆棧段寄器SS、附加段寄存器ES。總線接口部件5.I/O控制邏輯4.指令隊列緩沖器3.指令指針寄668086CPU引腳的功能●8086總線周期●8086CPU的引腳及功能2.1.28086總線周期T1T2T3TwT4T1T18086總線周期圖2-3典型的8086總線周期時序8086CPU引腳的功能●8086總線周期2.1.280867-----CPU向多路復用總線上發送地址信息,指出要尋址的內存單元地址或I/O端口地址。T2狀態:-----CPU從總線上撤消地址,使總線低16位呈現高阻狀態,為數據傳輸作準備。T3狀態:-----A19~A16上狀態信息不變,總線低16位上出現CPU要寫出的數據或準備讀入的數據。T4狀態:-----總線周期結束,若為總線周期則在T4前沿將數據讀入CPU。T1狀態:-----CPU向多路復用總線上發送地址信息,指出要尋址的681.GND(地)和Vcc電源。Vcc引腳接+5V電源,GND引腳接地。2.AD15~AD0(AddressDataBus)地址/數據復用引腳,雙向、三態。3.A19/S6~A16/S3(Address/Status)地址/狀態復用引腳,輸出、三態。4.BHE/S7(BusHighEnable/Status)高8位數據線允許/狀態復用引腳,輸出、三態。8086CPU的引腳及功能在最小模式和最大模式下的通用引腳:1.GND(地)和Vcc電源。Vcc引腳接+5V電源,G69表2-1S3、S4代碼組合的意義S4S3意義00正在使用ES01正在使用SS10正在使用CS11正在使用DS表2-1S3、S4代碼組合的意義S470表2-2BHE與A0信號的意義BHEA0操作所用的數據線00從偶地址開始讀/寫一個字AD15~AD010從偶地址讀/寫一個字AD7~AD001從奇地址開始讀/寫一個字AD15~AD8從奇地址開始讀/寫一個字10(第一個總線周期)AD15~AD801(第二個總線周期)AD7~AD0表2-2BHE與A0信號的意義BHEA071INTR(InterruptRequest)可屏蔽中斷請求引腳,輸入、高電平有效。RD(Read)讀信號,輸出、三態、低電平有效。CLK(Clock)時鐘輸入引腳。RESET(Reset)復位引腳,輸入、高電平有效。READY(Ready)準備好引腳,輸入、高電平有效。11.TEST(Test)測試引腳,輸入、低電平有效。12.MN/MX(Minimum/MaximumModeControl)最小/最大模式控制引腳,輸入。5.NMI(Non-MaskableInterrupt)非屏蔽終端請求引腳,輸入。INTR(InterruptRequest)可屏蔽中斷請求728086系統的存儲器及I/O組織2.2.18086系統的存儲器的結構●8086系統的存儲器結構●8086系統的存儲器的地址●8086系統內存地址的一些專用區域2.28086系統的存儲器及I/O組織2.2.18086系統的738086系統的存儲器結構偶地址存儲體512K×8A0=0奇地址存儲體512K×8A0=1000001000003FFFFFFFFFE000002000000圖2-5存儲體地址空間分配8086系統的存儲器結構000001000003FFFFFF742-7a從偶地址讀寫一個字節(BHEA0=10)AD15~AD8上的數據被忽略,字節內容通過AD7~AD0傳送。被讀的字節忽略的字節YYX存儲器8086CPU10000H10001Ha)從偶地址讀一個字節2-7a從偶地址讀寫一個字節(BHEA0=10)AD1752-7b從奇地址讀寫一個字節(BHEA0=01)。在AD15~AD8上傳送的數據有效,AD7~AD0上的數據被忽略。被讀的字節被讀的字節XYX存儲器8086CPU10008H10009HYb)從偶地址讀一個字2-7b從奇地址讀寫一個字節(BHEA0=01)。被讀的76從偶地址讀寫一個字(BHEA0=00)。AD15~AD0上傳送的數據同時有效。以上三種讀寫操作都是在一個總線周期中完成的。2-7c被讀的字節忽略的字節XYX存儲器8086CPU10050H10051Hc)從奇地址讀一個字節從偶地址讀寫一個字(BHEA0=00)。2-7c被讀的字772-7d從奇地址讀寫一個字。這種操作要占用兩個總線周期。被讀的第一字節忽略的字節YYX存儲器8086CPU10080H10082H忽略的字節被讀的第二字節XZW10081H10083Hd)從奇地址讀一個字節2-7d從奇地址讀寫一個字。這種操作要占用兩個總線周期。被788086系統的存儲器的地址CS=2000HIP=1000H物理地址=21000HCS=2100HIP=0000H物理地址=21000H物理地址的計算公式:物理地址=端地址×16+偏移地址段地址的引入,為程序在內存中浮動創造了條件,一般用戶程序只涉及偏移地址。同一物理地址可以有不同的段地址和偏移地址表示。例如:8086系統的存儲器的地址CS=2000HI798086系統內存地址的一些專用區域●
0000~003FFH1KB空間用于存放中斷向量表,可存放256個中斷服務程序的入口地址,每個地址占4字節。●
B0000~B0FFFH4KB為單色顯示器顯示緩沖區,存放屏幕當前顯示字符的ASCII碼。●
B8000~BBFFFH16KB為彩色顯示器顯示緩沖區,存放屏幕當前像素代碼。●
FFFF0H啟動地址。一般用來存放一條無條件轉移指令,轉到系統初始化程序。8086系統內存地址的一些專用區域●0000~003FFH808086系統配置2.3.1最小模式和最大模式的概念
最小模式最大模式●為了適應各種場合的要求,8086/8088CPU在設計中提供了兩種工作模式,即最小模式和最大模式。實際機器中究竟工作在哪一種模式,根據需要有硬件連接決定。2.38086系統的I/O組織●
8086系統有專有的輸入(IN)、輸入(OUT)令,用于外設端口(即外設接口中的內部寄存器)的尋址。2.2.28086系統配置2.3.1最小模式和最大模式的概念最小模81最小模式最大模式:●如果系統中包括兩個以上處理器,其一個為8086/8088作為主處理器,其它處理器作為協處理器,這樣的系統成為最大模式系統。
:●如果系統中只有一個微處理器8086(或8088),所有由它產生,則系統中總線控制邏輯信號可先減少到最小,因此稱這種系統為最小模式系統。最小模式最大模式:●如果系統中包括兩個以上處理器,其一個為882最小模式系統●當系統只有一個微處理器8086時,將MN/MX引腳接向+5V,構成最小模式系統,其原理如圖2-81.最小模式系統典型配置2.8284時鐘發生器與8086的連接如圖2-93.地址鎖存器8282與8086的連接如圖2-104.總線驅動器8286與8086的連接如圖2-112.3.2最小模式系統●當系統只有一個微處理器8086時,將MN/MX83其他控制信號(1)
M/IO(Memory/Input&Output)及WR信號,輸出、三態。這兩個信號與RD信號盒起來決定系統中數據傳出的方向,其組合集對應功能表2-45.M/IORDWR功能001I/O讀010I/O寫101存儲器讀110存儲器寫X00無效組合X11非讀寫狀態表2-4M/IO、RD及WR信號的功能其他控制信號(1)M/IO(Memory/Input&84(3)HLDA(HoldAcknowledge)總線請求響應信號,輸出、高電平有效。
(4)INTN(InterruptAcknowledge)中斷響應信號,輸出、三態、低電平有效。
(5)ALE(AddressLatchEnable)地址鎖存允許信號,輸出、高電平有效。
(6)DEN(DataEnable)數據允許信號,輸出、三態、低電平有效。
(7)DT/R(DataTransmit/Recieve)數據收發控制信號,輸出、三態。HOLD(HoldRequest)(2)總線保持請求信號,輸入、高電平有效。(3)HLDA(HoldAcknowledge)HOLD85最大模式系統
●將MN/MX引腳接地就構成了8086CPU的最大工作模式。最大模式下的有關引腳信號8288總線控制器最大模式的系統配置2.3.3最大模式系統●將MN/MX引腳接地就構成了8086CPU的86最大模式下的有關引腳信號QS0,QS1(InstructionQueueStatus)指令隊列狀態信號,輸出。QS0QS1意義00無操作01無指令隊列的第1個字節取走代碼10隊列為空11除第1個字節外,還取走了后續字節中的代碼表2-5QS1、QS0代碼組合含義最大模式下的有關引腳信號QS0,QS1(Instructio87S2、S1、S0(BuscycleStatus)總線狀態信號,輸出。3.LOCK(Lock)總線封鎖信號,輸出,低電平有效。4.RQ/GT1,RQ/GT0總線請求/允許信號雙向。2.S2S1S0對應操作8288發出的控制命令00000101001100101110111發出中斷響應信號讀I/O端口寫I/O端口暫停取指令讀內存寫內存無源狀態INTAIORCIOWCAIOWCMRDCMRDCMWTCAMWC表2-6S2、S1、S0的代碼組合操作S2、S1、S0(BuscycleStatus)總線狀888288總線控制器
●在最大模式系統中要用到總線控制器8288,它根據CPU提供的S2,S1,S0信號產生各種總線控制信號。8288邏輯框圖2-12S2、S1、S0來自8286CPU的狀態信號。8288對這些狀態進行譯碼產生相應的總線命令信號和輸出控制信號。CLK時鐘輸入端,通常接8284的CLK端。AEN地址允許信號,輸入。8288總線控制器●在最大模式系統中要用到總線控制器82895.IOB總線方式控制信號,輸入。8288有兩種工作方式:(1)當IOB為低時,8288工作于系統總線方式(多處理器系統)(2)IOB為高時,8288工作于局部總線方式(單處理器系統)CEN命令允許信號4.,輸入。6.AIOWC超前I/O寫命令,輸出。在總線周游該信號提前一個時鐘周期發出I/O寫命令,以便于I/O設備早作準備。7.AMWC超前存儲器寫命令,輸出。其功能與AIOWC信號相似。8.IOWCI/O寫命令,輸出。只是數據總線上數據有效,可將數據寫入被選中的I/O端口。5.IOB總線方式控制信號,輸入。8288有兩種工作方9010.MRDC、MWTC存儲器讀和存儲器寫命令,輸出。11.MCE/PDEN輸出,總線總模塊允許/外部數據允許雙功能信號。12.INTA,DT/R,ALE及DEN與8086最小模式的相應引腳信號功能相同,只有DEN信號的相位與最小模式相應引腳的相位相反。,輸出。通知外設端口將數據發送到數據總線上。IORCI/O讀命令9.10.MRDC、MWTC存儲器讀和存儲器寫命令,918086CPU的操作時序2.4.18086CPU的復位操作時序2.4圖2-148086的復位時序不作用狀態浮空三態們輸出信號內部RESETRESET輸入CLK8086CPU的操作時序2.4.18086CPU的復位92最小模式下的總線讀周期2.4.21.T1狀態:●在T1狀態,地址鎖存允許信號ALE有效,輸出一個正脈沖。在其下降時,將地址鎖入8282地址鎖存器。2.T2狀態:●在T2狀態,地址信號消失,地址/數據復用總線進入高阻狀態,為總線讀操作作準備。3.T3狀態:●在T3狀態內存或I/O端口將數據送上數據總線。4.T4狀態:●
在T4前沿CPU將數據讀入,總線周期完成。最小模式下的總線讀周期2.4.21.T1狀態:93最小模式下的總線寫周期2.4.31.T1狀態:●
T1狀態的操作與總線讀相同,即M/IO應在T1前沿之前有效。2.T2狀態:●A19/S6~A16/S3引腳輸出狀態信息S6~S3,AD15~AD0復用總線上輸出要寫出的數據,并一直保持到T4中部。
3.T3狀態及Tw:●在T3狀態中,T2狀態有效的信號繼保持有效,繼續向外部寫數據。4.T4狀態:●總線寫狀態結束,所有控制信號變為無效狀態,所有三態總線變為高阻態。最小模式下的總線寫周期2.4.31.T1狀態:94最大模式下的總線讀周期2.4.41.T1狀態:●CPU經過A19/S6~A16/S3、AD15~AD0送出20位地址信號及BHE信號。2.T2狀態:●CPU送出狀態信號S7~S3,并將地址數據/復用總線置為高阻狀態,已準備數據讀入。3.T3狀態:●T3狀態中,S2~S0全部上升為高電平,進入無源狀態,并一直繼續到T4。4.T4狀態:●一個總線周期結束。數據從總線上撤銷,數據/地址總線進入高阻狀態。最大模式下的總線讀周期2.4.41.T1狀態:95最大模式下的總線寫周期2.4.51.T1狀態:
●A19/S6~A16/S3及AD15~AD0輸出地址信號。2.T2狀態:●總線控制器輸出DEN高電平使總線驅動器使能。提前的存儲器寫信號AMWC或I/O寫信號AIOWC降為低電平。3.T3狀態:●總線控制器是普通的寫控制信號MWTC或IOWC生效。4.T4狀態:●總線寫周期結束。A19/S6~A19/S3、AD15~AD0復用總線變為高阻狀態。最大模式下的總線寫周期2.4.51.T1狀態:9680386微處理器●80386共有34個寄存器,按功能可分為:2.5.1寄存器組通用寄存器段寄存器段描述符寄存器狀態和控制寄存器系統地址寄存器調試寄存器測試寄存器2.5最小模式下的總線保持(即總線請求/響應)周期2.4.6最大模式下的總線請求/允許周期2.4.780386微處理器●80386共有34個寄存器,按功能97通用寄存器六個16位段寄存器如下:段寄存器
●
8個通用寄存器和8086通用寄存器相同,只擴展到32位,寄存器名字前加一個字符E,即:EAX、EBX、ECX、EDX、ESI、EBP、ESP,仍然支持8位和16位操作,用法和8086系統相同。CS代碼段寄存器DS數據段寄存器SS堆棧段寄存器ES、FS、GS為三個附加段寄存器通用寄存器六個16位段寄存器如下:段寄存器●8個98段描述符寄存器
●
64位的段描述符寄存器對程序員是不可見的。為了加快對內存中描述符表的查詢速度,在段選擇符內容裝入時,段描述符同時裝入段描述符寄存器。狀態和控制寄存器標識寄存器EFLAGS指令指針寄存器EIP四個控制寄存器CR0~CR3它由組成段描述符寄存器●64位的段描述符寄存器對程序員是99系統地址寄存器●
80386為調試提供了硬件支持。芯片內設有DR0~DR7八個調試寄存器。●
80386有四個系統地址寄存器GDTRIDTRTRLDTR調試寄存器測試寄存器●
80386有8個32位的測試寄存器。系統地址寄存器●80386為調試提供了硬件支持。●8010080386的存儲管理與保護功能1.邏輯地址與段選擇符段描述符指針T2RPL圖2-26段選擇符的格式2102.段描述符的格式及保護功能3.分頁存儲管理及保護2.5.380386的地址轉換2.5.280386的存儲管理與保護功能1.邏輯地址與段選擇符段描述符101圖2-27段描述符段基地址15…0段限15…0基地址31…24GD00段限19…16PSA基地址23…16DPL類型3100+4字節地址圖2-27段描述符段基地址15…0段限15…0基地址102圖2-28頁目錄描述符和頁表描述符格式頁表地址指針AVL00DA00U/SW/RP311211109
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 追責權利協議書
- 男士離婚協議書
- 美妝學徒協議書
- 廣告帶制作合同協議書
- 小產權買賣合同協議書
- 舊改房買賣合同協議書
- 蘋果充電協議書
- 空調經銷協議書
- 房屋翻改造合同協議書
- 合建自建房合同協議書
- 【MOOC】中國稅法:案例·原理·方法-暨南大學 中國大學慕課MOOC答案
- 習近平總書記教育重要論述(宜賓學院)知到智慧樹章節答案
- DB32T 4457-2023 養老機構認知障礙照護專區設置與服務規范
- 《汽車基礎知識培訓》課件
- 游泳池緊急救援管理制度
- 低血糖護理新技術新進展
- 調酒師職業技能鑒定所(考場)設置標準
- 全過程工程咨詢模式探討
- 承包建筑寺廟合同范本
- 押安徽中考數學第15題(實數的運算、化簡求值、解方程【組】與不等式【組】)(原卷版+解析)
- 十年(2015-2024)高考真題數學分項匯編(全國)專題03 平面向量(學生卷)
評論
0/150
提交評論