版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第2章微處理器2主要內(nèi)容:8088/8086微處理器特點主要引線功能和內(nèi)部結(jié)構(gòu)內(nèi)部寄存器實地址模式下的存儲器尋址總線時序3一、8088/8086CPU的特點41.
8088/8086CPU的特點采用并行流水線工作方式
——通過設置指令預取隊列實現(xiàn)對內(nèi)存空間實行分段管理
——
將內(nèi)存分為4個段并設置地址段寄存器,以實現(xiàn)對1MB空間的尋址支持多處理器系統(tǒng)CPU內(nèi)部結(jié)構(gòu)存儲器尋址部分工作模式52.8088CPU的兩種工作模式8088可工作于兩種模式下
最小模式最大模式最小模式為單處理器模式,控制信號較少,一般可不必接總線控制器。最大模式為多處理器模式,控制信號較多,須通過總線控制器與總線相連。6最小模式下的總線連接示意圖8088CPU??控制總線數(shù)據(jù)總線地址總線地址鎖存數(shù)據(jù)收發(fā)ALE時鐘發(fā)生器7最大模式下的總線連接示意圖8088CPU數(shù)據(jù)總線地址總線地址鎖存數(shù)據(jù)收發(fā)ALE時鐘發(fā)生器總線控制器
控制總線8兩種工作模式的選擇方式8088是工作在最小還是最大模式由MN/MX引線的狀態(tài)決定。MN/MX=0——工作于最大模式MN/MX=1——工作于最小模式9二、8088/8086的引線及功能101.主要引線——最小模式下的8088引線8088引腳圖AD0—AD7:低8位地址和低8位數(shù)據(jù)信號分時復用。在傳送地址信號時為單向,傳送數(shù)據(jù)信號時為雙向。A8—A15:8位地址信號A16--A19:高4位地址信號,與狀態(tài)信號分時復用。地址線,數(shù)據(jù)線11SS0與IO/M、DT/R決定了當前的總線周期的狀態(tài)(見附錄B.1)S6(與A19復用)恒為0S5(與A18復用)表示IF的狀態(tài)S3(與A16復用)與S4(與A17復用)組合表示當前正在使用的段寄存器狀態(tài)線S4S3當前正在使用的段寄存器00ES01SS10CS或未使用任何段寄存器11DS1213主要的控制WR:寫信號;RD:讀信號;IO/M:為“0”表示訪問內(nèi)存,為“1”表示訪問接口;DEN:低電平有效時,允許進行讀/寫操作;DT/R:數(shù)據(jù)收發(fā)器的傳送方向控制;ALE:地址鎖存信號;14例:當WR=1,RD=0,IO/M=0時,表示CPU當前正在進行讀存儲器操作READY信號外部同步控制輸入信號,高電平有效8088與內(nèi)存/外設之間在一個總線周期內(nèi)的時鐘配合信號8086/8088IO接口/內(nèi)存RD#喂,我要讀數(shù)據(jù)了,你準備好了嗎?等等我,我還有點問題Ready=01516中斷請求和響應信號INTR:可屏蔽中斷請求輸入端NMI:非屏蔽中斷請求輸入端INTA:中斷響應輸出端17總線保持信號HOLD:總線保持請求信號輸入端。當CPU
以外的其他設備要求占用總線時,通過該引腳向CPU發(fā)出請求。HLDA:總線保持響應信號輸出端。CPU對
HOLD信號的響應信號。18其它信號Vcc:5v電源輸入引腳。GND:地線。TEST:測試信號輸入引腳。當CPU執(zhí)行wait指令時,每5個時鐘周期將對引腳進行測試,為低電平時結(jié)束等待。RESET:復位信號。指令隊列清空;CS為0FFFFH,其余寄存器為0.CLK:時鐘信號輸入引腳。
總線周期狀態(tài)信號(輸出、三態(tài))(見附錄B.2),CPU并不直接向外界提供全部控制信號,而由通過Intel8288總線控制器提供8088最大模式的信號8288輸出命令CPU狀態(tài)中斷響應讀I/O端口寫I/O端口暫停取指令讀存儲器寫存儲器無源狀態(tài)INTAIORCIOWCAIOWC無MRDCMRDCMWTC,AMWC無000001111110100011010101SS21S019
總線請求(輸入)/總線請求允許信號(輸出)(雙向、均為低電平有效
總線封鎖信號(輸出、三態(tài)、低電平有效)QS0,QS1指令隊列狀態(tài)信號(輸出)8088最大模式的信號
總線請求(輸入)/總線請求允許信號(輸出)(雙向、均為低電平有效
總線封鎖信號(輸出、三態(tài)、低電平有效)QS0,QS1指令隊列狀態(tài)信號(輸出)(見附錄B.3)HIGH始終為高電平RD引腳不再使用20212.8088和8086CPU引線功能比較數(shù)據(jù)總線寬度不同8088的外部數(shù)據(jù)總線寬度是8位,8086為16位。訪問存儲器和輸入輸出控制信號含義不同8088——IO/M=0表示訪問內(nèi)存;8086——IO/M=1表示訪問內(nèi)存。其他部分引線功能的區(qū)別在8086中SS0引腳改為BHE,以適應16位的數(shù)據(jù)寬度22三、8088/8086的內(nèi)部結(jié)構(gòu)231.組成8088/8086內(nèi)部由兩部分組成:執(zhí)行單元(EU)總線接口單元(BIU)242.執(zhí)行單元運算器8個通用寄存器1個標志寄存器
EU部分控制電路25執(zhí)行單元功能指令譯碼指令執(zhí)行暫存中間運算結(jié)果保存運算結(jié)果特征指令的執(zhí)行在標志寄存器FLAGS中在ALU中完成在通用寄存器中263.總線接口單元功能:從內(nèi)存中取指令到指令預取隊列指令預取隊列是并行流水線工作的基礎負責與內(nèi)存或輸入/輸出接口之間的數(shù)據(jù)傳送在執(zhí)行轉(zhuǎn)移程序時,BIU使指令預取隊列復位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行。27結(jié)論指令預取隊列的存在使EU和BIU兩個部分可同時進行工作,即:實現(xiàn)指令的并行執(zhí)行目的:提高了CPU的效率;降低了對存儲器存取速度的要求28四、內(nèi)部寄存器29內(nèi)部寄存器的類型301.通用寄存器數(shù)據(jù)寄存器(AX,BX,CX,DX)地址指針寄存器(SP,BP)變址寄存器(SI,DI)31數(shù)據(jù)寄存器8088/8086含4個16位數(shù)據(jù)寄存器,它們又可分為8個8位寄存器,即:AXBXCXDXAH,ALCH,CLBH,BLDH,DL32數(shù)據(jù)寄存器特有的習慣用法AX:累加器。所有I/O指令都通過AX與接口傳送信息,中間運算結(jié)果也多放于AX中;BX:基址寄存器。在間接尋址中用于存放基地址;CX:計數(shù)寄存器。用于在循環(huán)或串操作指令中存放計數(shù)值;DX:數(shù)據(jù)寄存器。在間接尋址的I/O指令中存放
I/O端口地址;在32位乘除法運算時,存放高16位數(shù)。33地址指針寄存器SP:堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂?;BP:基址指針寄存器,常用于在訪問內(nèi)存時存放內(nèi)存單元的偏移地址。34BX與BP在應用上的區(qū)別作為通用寄存器,二者均可用于存放數(shù)據(jù);作為基址寄存器,用BX表示所尋找的數(shù)據(jù)在數(shù)據(jù)段;用BP則表示數(shù)據(jù)在堆棧段。35變址寄存器SI:源變址寄存器DI:目標變址寄存器變址寄存器在指令中常用于存放數(shù)據(jù)在內(nèi)存中的地址。2.控制寄存器IP指令指針寄存器,其內(nèi)容為下一條要執(zhí)行指令的偏移地址。FLAGS標志寄存器,存放運算結(jié)果的特征6個狀態(tài)標志位(CF,SF,AF,PF,OF,ZF)3個控制標志位(IF,TF,DF)內(nèi)存中的程序指令1指令2指令n┇分析獲取操作數(shù)執(zhí)行存放結(jié)果┇程序計數(shù)器PC(IP)地址CPU取出操作數(shù)3637標志寄存器FLAGS38狀態(tài)標志位(1)CF(CarryFlag)進位標志位。加(減)法運算時,若最高位有進(借)位則CF=1PF(ParityFlag)奇偶標志位。運算結(jié)果的低8位中“1”的個數(shù)為偶數(shù)時PF=lAF(AuxiliaryCarryFlag)輔助進位標志位。加(減)操作中,若Bit3向Bit4有進位(借位),AF=139狀態(tài)標志位(2)ZF(ZeroFlag)零標志位。當運算結(jié)果為零時ZF=1SF(SignFlag)符號標志位。當運算結(jié)果的最高位為1時,SF=lOF(OverflowFlag)溢出標志位。當算術運算的結(jié)果超出了有符號數(shù)的可表達范圍時,OF=l
40狀態(tài)標志位例給出以下運算結(jié)果及運算后各狀態(tài)標志位的狀態(tài):10110110+11110100101010101CF=OF=AF=PF=SF=ZF=10101041控制標志位TF(TrapFlag)陷井標志位,也叫跟蹤標志位。TF=1時,使CPU處于單步執(zhí)行指令的工作方式。IF(InterruptEnableFlag)中斷允許標志位。IF=1使CPU可以響應可屏蔽中斷請求。DF(DirectionFlag)方向標志位。在數(shù)據(jù)串操作時確定操作的方向。3.段寄存器作用:用于存放相應邏輯段的段基地址8086/8088CPU在使用存儲器時,將它劃分成若干個邏輯段。每個邏輯段用來存放不同目的內(nèi)容,如程序代碼、數(shù)據(jù)等等。每個邏輯段用一個段寄存器來指明該段的起始位置(也叫段基址)。428086/8088內(nèi)存中邏輯段的類型代碼段數(shù)據(jù)段附加段堆棧段8086/8088內(nèi)存中邏輯段的數(shù)量最多為64K個43CS:代碼段寄存器,存放代碼段的段基地址。DS:數(shù)據(jù)段寄存器,存放數(shù)據(jù)段的段基地址。ES:附加段寄存器,存放數(shù)據(jù)段的段基地址。SS:堆棧段寄存器,存放堆棧段的段基地址………………代碼段數(shù)據(jù)段堆棧段附加段ESCSDSSS段寄存器段基址段基址段基址段基址44五、8086/8088的存儲器組織451.
內(nèi)存單元的編址物理地址每個內(nèi)存單元在整個內(nèi)存空間中具有的惟一的地址。8086/8088CPU有20根地址線,它可以產(chǎn)生20位的地址碼,尋址范圍為220,即1兆字節(jié)空間。這一兆字節(jié)存儲單元的地址范圍為:00…...0~11…...1。20位20位46…...07存儲單元(字節(jié))二進制數(shù)地址000000000000000000000000000000000000000100000000000000000010…...
10
11十六進制數(shù)地址00000H00001H00002HFFFFEHFFFFFH…...為了方便書寫,在源程序中常用5位十六進制數(shù)或一個符號來表示一個存儲單元的地址。47例如,將數(shù)據(jù)3456H放在地址為09235H的存儲單元中的存儲分配。......地址存儲單元09235H09236H5634任何兩個相鄰字節(jié)單元就構(gòu)成一個字單元字單元的地址為兩個字節(jié)單元中較小地址字節(jié)單元的地址。字數(shù)據(jù)的存放規(guī)則是低8位放在較低地址字節(jié)單元中,高8位放在較高地址字節(jié)單元中。48邏輯地址將內(nèi)存劃分成多個邏輯段后,就使用邏輯地址來指示存儲單元。使用邏輯地址方便了程序的開發(fā)和對存儲器進行動態(tài)管理。每個存儲單元的邏輯地址由兩部分組成16位的段(基)地址---決定該邏輯段在內(nèi)存中的位置16位的段內(nèi)地址,也叫相對地址,或偏移地址---決定該存儲單元相對段起始單元的距離邏輯段的起始單元稱為段首---段首的偏移地址=0490000段基地址(16位)段首地址(段首的物理地址)×××???×××1904邏輯段的起始單元稱為段首---段首的偏移地址=0例:段基地址=6000H段首地址偏移地址=0009H物理地址數(shù)據(jù)段60009H00H12H60000H9508086/8088的存儲器段結(jié)構(gòu)的特點:1.每個段最大長度為64K(65536)個字節(jié)單元組成。2.每個段的起始地址(段基址)必須是一個小節(jié)的首址。從0地址開始,每16個字節(jié)單元稱為一個小節(jié)(Paragraph)1MB內(nèi)存就可劃分為64K個小節(jié)。第1小節(jié):00000H,00001H,00002H……0000FH第2小節(jié):00010H,00011H,00012H……0001FH第65535小節(jié):FFFE0HFFFE1HFFFE2H……FFFEFH第65536小節(jié):FFFF0HFFFF1HFFFF2H……FFFFFH…..…..…..…..…..每個小節(jié)的首地址最低位必為0(16進制數(shù)表示)。因此段基址只能是上述64K個小節(jié)首址之一。513.邏輯段在物理存儲器中可以是鄰接的、間隔的、部分重疊的和完全重疊的等4種情況。內(nèi)存中的一個物理存儲單元可以映象到一個或多個邏輯段中鄰接部分重疊完全重疊間隔DA_BYTE物理單元可以映象到邏輯段2、段3和段4中。物理存儲器00000H10000HDA_BYTE段1段2段3段4段5邏輯段0FFFFFH524.在任一時刻,一個程序只能訪問4個當前段中的內(nèi)容。4個段分別是代碼段、數(shù)據(jù)段、堆棧段和附加段,稱為當前段。4個段寄存器CS、DS、SS和ES分別保存了當前段的段基址的高16位地址,稱為段基值。段基址的最低4位為0。(小節(jié)首址的低4位為全0)。5354例:已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H畫出各段在內(nèi)存中的分布。CS=1055H段首地址=10550HDS=250AH段首地址=250A0HES=2EF0HSS=8FF0H10550H250A0H2EF00H8FF00H代碼段數(shù)據(jù)段附加段堆棧段542.邏輯地址與物理地址的轉(zhuǎn)換內(nèi)存物理地址由段基地址和偏移地址組合而成物理地址=段基地址×16+偏移地址0000段基地址×××???×××1904×××???×××偏移地址+150×××???×××190物理地址55例設某操作數(shù)存放在數(shù)據(jù)段,DS=250AH,數(shù)據(jù)所在單元的偏移地址=0204H。則該操作數(shù)所在單元的物理地址為:250AH×16H=252A4H560915H003AH09150H003AH+)0918AH偏移量段基值邏輯地址物理地址例:同一個物理地址002D3H被兩個邏輯段中的邏輯地址映射的情況。002B0HH=002D3H002C0HH=002D3H例:偏移量23H段1基址002B0H段2基址002C0H002D3H偏移量13H………左移4位574.堆棧及堆棧段的使用堆棧:堆棧是一個特定的存儲區(qū),訪問該存儲區(qū)一般需要按照專門的規(guī)則進行操作。主要用于暫存數(shù)據(jù)以及在過程調(diào)用或處理中斷時保存斷點信息。堆棧一般分為專用堆棧存儲器和軟件堆棧按堆棧的工作方式專門設計的存儲器專用堆棧存儲器軟件堆棧由程序設計人員用軟件在內(nèi)存中劃出的一塊存儲區(qū)作為堆棧來使用。8086/8088采用這種方式。58堆棧已存放數(shù)據(jù)TOPBottom......主存00000H堆棧的一端是固定的,稱為棧底。棧底是堆棧存儲區(qū)的最大地址單元。另一端是浮動的,稱為棧頂。在任何時刻,棧頂是最后存入信息的存儲單元。棧頂是隨著堆棧中存放信息的多少而改變。為了指示堆棧中棧頂?shù)奈恢茫ǔTO置一個寄存器來指示棧頂位置。其內(nèi)容就象一個指針一樣,因此被稱為堆棧指針SP(StackPointer)。SP的內(nèi)容始終指向棧頂單元堆棧中數(shù)據(jù)進出都由SP來控制59在堆棧中存取數(shù)據(jù)的規(guī)則是:“先進后出FILO”(First-InLast-Out)。即最先送入堆棧的數(shù)據(jù)要到最后才能取出,而最后送入堆棧的數(shù)據(jù),最先取出。8086/8088堆棧的組織在8086/8088微機中堆棧是由堆棧段寄存器SS指示的一段存儲區(qū)。SSSP堆棧BottomTopXXXXXXXXXXXX堆棧初始化時的SP60數(shù)據(jù)在堆棧中以字為單位存放,低8位放在較低地址單元,高8位放在較高地址單元。SP被初始化時指向棧底+2單元,其值就是堆棧的長度。由于SP是16位寄存器,因此堆棧長度
64K字節(jié)。
SP始終表示堆棧段基址與棧頂之間的距離(字節(jié)數(shù))。當SP為最大(初始)值時,表示堆棧為空。當SP為0時,表示堆棧全滿。當用戶程序中要求的堆棧長度超過一個堆棧段的最大長度64KB時,可以設置多個堆棧段。61例:已知SS=1000H,SP=0100H則:堆棧段的段首地址=棧頂(偏移)地址=若該段最后一個單元地址為10200H,則:棧底偏移地址=段首棧底棧頂堆棧區(qū)10000H0100H0200H6263六、8086/8088總線64時序時序:CPU各引腳信號在時間上的關系總線周期的概念
CPU通過系統(tǒng)總線來完成與存儲器、I/O端口之間的操作,取得指令或傳送數(shù)據(jù),這些操作統(tǒng)稱為總線操作。執(zhí)行一個總線操作所需要的時間,即CPU通過總線對外部存儲器或I/O接口進行一次訪問所需的時間,則稱為總線周期。時鐘信號是一定電壓幅度,一定時間間隔發(fā)出的脈沖信號CLKCPU主頻即CPU內(nèi)核工作的時鐘頻率(CPUClockSpeed),它表示在CPU內(nèi)數(shù)字脈沖信號震蕩的速度。
65
每個T狀態(tài)包括:下降沿、低電平、上升沿、高電平CLKT相鄰兩個脈沖之間的時間間隔,稱為一個時鐘周期,又稱T狀態(tài)(T周期)。時鐘周期是CPU基本時間計量單位,由計算機主頻決定。例:主頻5MHz頻率f:1秒內(nèi)的脈沖個數(shù)時鐘周期T:=1/f=200ns
T狀態(tài)66一個基本的總線周期通常包含4個時鐘周期,即4個T狀態(tài),按時間的先后順序分別稱為T1、T2、T3、T4總線周期T1T2T3T4CLK67基本的總線周期等待周期TW,在總線周期的T3和T4之間插入空閑周期TI(沒有BIU工作),兩個總線周期間插入68TW和TI8088的最小總線模式698088的最大總線模式70地址鎖存器8282引腳信號STBDI0DI1直通保持高阻DO0DO1DO0DO1DO2DO3DO4DO5DO6DO7STBVCC82821234567891020191817161514131211DI1DI2DI3DI4DI5DI6DI7OEGNDDI0OE718282地址鎖存功能STB為高電平期間,輸出等于輸入;為下降沿時,輸出鎖存,與輸入無關ALE為8088/8086地址鎖存允許,高電平有效,輸出,復用線上出現(xiàn)地址時為高電平鎖存器的DI0-DI7與CPU的地址/數(shù)據(jù)復用線相連,STB與ALE相連。ALE為正脈沖時,輸出地址;為低電平時,輸出鎖存,與數(shù)據(jù)無關OE為有效電平(低電平)時,正常輸出;為無效電平(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度專業(yè)會議室場地租賃與設施維護合同4篇
- 2025年度水電工程結(jié)算合同樣本4篇
- 二零二五版智慧城市建設納稅擔保與信息化工程合同4篇
- 二零二五年度城市地下綜合交通樞紐建設合同6篇
- 2025年度美團外賣外賣員健康體檢及關愛計劃合同4篇
- 2025年度個人環(huán)保設備貸款合同示例4篇
- 二零二五年門面房租賃權(quán)轉(zhuǎn)讓合同4篇
- 2024科技公司關于物聯(lián)網(wǎng)技術研發(fā)外包合同
- 二零二五年度美術教育機構(gòu)美術教師實習指導合同4篇
- 2025年度個人創(chuàng)業(yè)擔保合同模板
- 圖像識別領域自適應技術-洞察分析
- 個體戶店鋪租賃合同
- 禮盒業(yè)務銷售方案
- 二十屆三中全會精神學習試題及答案(100題)
- 小學五年級英語閱讀理解(帶答案)
- 仁愛版初中英語單詞(按字母順序排版)
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項目可行性研究報告編制標準
- 小學一年級拼音天天練
- 新概念英語第二冊考評試卷含答案(第49-56課)
- 【奧運會獎牌榜預測建模實證探析12000字(論文)】
- 保安部工作計劃
評論
0/150
提交評論