第二章 微處理器及系統(tǒng)結(jié)構(gòu)_第1頁(yè)
第二章 微處理器及系統(tǒng)結(jié)構(gòu)_第2頁(yè)
第二章 微處理器及系統(tǒng)結(jié)構(gòu)_第3頁(yè)
第二章 微處理器及系統(tǒng)結(jié)構(gòu)_第4頁(yè)
第二章 微處理器及系統(tǒng)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩76頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第二章微處理器與系統(tǒng)結(jié)構(gòu)2.1微處理器性能指標(biāo)2.28086微處理器結(jié)構(gòu)2.38086總線操作及時(shí)序2.48086存儲(chǔ)器與I/O組織結(jié)構(gòu)2.580X86微處理器結(jié)構(gòu)2.1微處理器性能指標(biāo)字長(zhǎng):決定微處理器與外部存儲(chǔ)器、輸入/輸出部件之間一次交換的二進(jìn)制數(shù)據(jù)位數(shù),即數(shù)據(jù)總線的寬度。如8、16、32、64位。指令數(shù):8086的指令集為基本指令集,擴(kuò)充指令運(yùn)算速度:寄存器加法指令的執(zhí)行時(shí)間主頻:即微處理器時(shí)鐘頻率。如Pentium42GHz同系列的微處理器,主頻越高,速度越快。但主頻相同的微處理器,速度不一定都相同,因結(jié)構(gòu)有差異外頻:微處理器外部總線工作頻率。如Pentium42GHz的外頻為400MHz訪存空間:決定訪存空間。如36位地址線訪問(wèn)236=64GB存儲(chǔ)單元,地址線寬度決定了訪存空間。微處理器主要性能指標(biāo)高速度緩存(CACHE):L1/L2Write-through緩存,只對(duì)讀有效write-back緩存,對(duì)讀寫(xiě)都有效虛擬存儲(chǔ)空間多處理器系統(tǒng)超標(biāo)量結(jié)構(gòu):一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條以上的指令。低標(biāo)量結(jié)構(gòu):一條指令至少需要一個(gè)以上的時(shí)鐘周期工作電壓:微處理器正常工作所需要的電壓,早期為5V,后來(lái)有3.3V,2.8V,1.5V等。制造工藝:晶體管之間的最小線距,0.35m,0.25m,0.18m,0.13m等微處理器標(biāo)識(shí)微處理器2.28086微處理器結(jié)構(gòu)INTEL78年推出(79年推出8088)4萬(wàn)多個(gè)晶體管(8088為2.9萬(wàn)個(gè)晶體管)時(shí)鐘頻率4.77MHZ數(shù)據(jù)線16位(8088的數(shù)據(jù)線8位)地址線20位40腳DIP封裝81年推出PersonalComputer(個(gè)人計(jì)算機(jī)、微機(jī))2.2.18086CPU功能結(jié)構(gòu)圖EU控制器ALU暫存器標(biāo)志寄存器8位隊(duì)列總線總線控制邏輯內(nèi)部總線16位地址加法器20位地址總線16位數(shù)據(jù)總線執(zhí)行部件EU總線接口部件BIU123456指令隊(duì)列通用寄存器AXAHALBXBHBLCXCHCLDXDHDLSPBPDISICSDSSSES80888086IP暫存器8086總線一、8086執(zhí)行部件EU算術(shù)邏輯單元ALU(ArithmeticandLogicUnit)進(jìn)行所有的算術(shù)和邏輯運(yùn)算計(jì)算尋址單元的十六位偏移地址EA(EffectAddress)EU控制器接收指令隊(duì)列中的指令,進(jìn)行指令譯碼、分析,形成各種控制信號(hào),實(shí)現(xiàn)EU各個(gè)部件完成規(guī)定動(dòng)作的控制標(biāo)志寄存器F通用寄存器二、8086總線接口部件BIU(BusInterfaceUnit)BIU負(fù)責(zé)與M、I/O端口傳送數(shù)據(jù)、地址。訪問(wèn)存儲(chǔ)器時(shí),需要生成20位的物理地址;要不斷從內(nèi)存中取指令并送到指令隊(duì)列;CPU執(zhí)行指令時(shí),要配合執(zhí)行部件從指定的內(nèi)存單元或者外設(shè)端口中取數(shù)據(jù),并將數(shù)據(jù)傳送給執(zhí)行部件;或把執(zhí)行部件的操作結(jié)果傳送給指定的M或I/O口指令隊(duì)列緩沖器8088為4字節(jié),8086為6字節(jié)。為FIFO(先進(jìn)先出)結(jié)構(gòu)指令隊(duì)列至少保持有一條指令,且只要有一條指令,EU就開(kāi)始執(zhí)行;指令隊(duì)列只要有空,BIU自動(dòng)執(zhí)行取指操作,直到填滿為止;若EU要進(jìn)行M/IO存取數(shù)據(jù),BIU在執(zhí)行完現(xiàn)行取指操作周期后進(jìn)行。當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),EU要求BIU從新的地址中重新取指。隊(duì)列中原有指令被清除。新取得的第一條指令直接送EU執(zhí)行,隨后取得的指令填入隊(duì)列BIU的段寄存器4個(gè)16位段寄存器CS、DS、SS、ES用來(lái)識(shí)別當(dāng)前可尋址的四個(gè)段,每個(gè)段的功能各不相同CS:CodeSegmentRegister代碼段寄存器,指示當(dāng)前執(zhí)行程序所在存儲(chǔ)器的區(qū)域DS:DataSegmentRegister數(shù)據(jù)段寄存器,指示當(dāng)前程序所用之?dāng)?shù)據(jù)的存儲(chǔ)器區(qū)域。SS:StackSegmentRegister堆棧段寄存器,指示當(dāng)前程序所用之堆棧位于的存儲(chǔ)器區(qū)域ES:ExtraSegmentRegister附加段寄存器,指示當(dāng)前程序所用之?dāng)?shù)據(jù)位于的另外存儲(chǔ)器區(qū)域,在字符串操作中常用到指令指針I(yè)P—InstructionPointer指令指針寄存器用來(lái)存儲(chǔ)代碼段中的偏移地址;程序運(yùn)行過(guò)程中IP始終指向下一次要取出的指令偏移地址通常不能被直接訪問(wèn),也不能直接賦值,指令中不會(huì)出現(xiàn)IP??偩€控制邏輯處理器與外界總線聯(lián)系的轉(zhuǎn)接電路。包括三組總線:20位地址總線,16/8位雙向數(shù)據(jù)總線,一組控制總線地址生成器CS左移4位20位+地址加法器CS16位物理地址20位IP或偏移地址三、EU與BIU的協(xié)同工作在一條指令的執(zhí)行過(guò)程中可以取出下一條(或多條)指令,指令在指令隊(duì)列中排隊(duì);在一條指令執(zhí)行完成后,就可以立即執(zhí)行下一條指令,減少CPU為取指令而等待的時(shí)間,提高CPU的利用率和整個(gè)運(yùn)行速度。2.2.28086/8088的寄存器結(jié)構(gòu)數(shù)據(jù)寄存器地址指針及變址寄存器控制寄存器組段寄存器組AXAHAL累加器BXBHBL基址寄存器CXCHCL計(jì)數(shù)寄存器DXDHDL數(shù)據(jù)寄存器通用寄存器組

SP堆棧指針BP基址指針SI源變址指針DI目的變址指針I(yè)P指令指針FLAG標(biāo)志寄存器

CS代碼段寄存器DS數(shù)據(jù)段寄存器SS堆棧段寄存器ES附加段寄存器

15870AXBXCXDX8086的通用寄存器目的變址指針(DestinationIndex)DI源變址指針(SourceIndex)SI基址指針(BasePointer)BP堆棧指針(StackPointer)SP數(shù)據(jù)寄存器(Data)DLDHDX計(jì)數(shù)寄存器(Count)CLCHCX基址寄存器(Base)BLBHBX累加器(Accumulator)ALAHAX數(shù)據(jù)寄存器可分為兩個(gè)8位,主要用于數(shù)據(jù)操作地址指針主要用于地址操作16位88通用寄存器一般,通用寄存器可以用于任何指令的任意操作,可以相互替換16位的數(shù)據(jù)寄存器可分解為2個(gè)8的使用,是同一個(gè)物理介質(zhì)。如果存儲(chǔ)了一個(gè)16位的數(shù)據(jù),不能同時(shí)存儲(chǔ)另外的1個(gè)或2個(gè)8位數(shù)地址寄存器不能分解為8位使用有些操作規(guī)定只能使用某個(gè)寄存器,即寄存器的特殊用法通用寄存器的特殊用法(默認(rèn)用法)寄存器特殊用法AX,AL乘法/除法指令,作累加器;I/O操作時(shí),作數(shù)據(jù)寄存器AH在LAHF指令中用作目的寄存器((AH)←標(biāo)志)AL在BCD碼及ASCII碼運(yùn)算指令中作為累加器;在XLAT指令中作為累加器(AL)←((AL)+(BX))BX在間接尋址中作為基址寄存器和變址寄存器CX在循環(huán)程序中,作循環(huán)次數(shù)計(jì)數(shù)器CL在移位和循環(huán)移位指令中,作為移位位數(shù)和循環(huán)移位次數(shù)的計(jì)數(shù)寄存器(指令執(zhí)行后,(CL)不變)DXI/O指令間接尋址時(shí),作為地址寄存器;在乘法指令中作為輔助累加器(當(dāng)乘積或被除數(shù)為32位時(shí),存放高16位數(shù))BP在間接尋址中,作為基址寄存器SP在堆棧操作中,作為堆棧指針SI間接尋址時(shí),作為地址寄存器或變址寄存器;在串操作指令中作為源變址寄存器DI在間接尋址時(shí),作為地址寄存器或變址寄存器;在串操作指令中作為目的變址寄存器標(biāo)志寄存器F唯一能按位操作的寄存器只定義了其中9位,另外7位未定義(不用)6位狀態(tài)標(biāo)志:OF、SF、ZF、PF、CF、AF3位控制標(biāo)志:DF、IF、TFOFDFIFTFSFZFAFPFCFD15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0狀態(tài)標(biāo)志反映指令對(duì)數(shù)據(jù)作用之后,結(jié)果的狀態(tài)(不是結(jié)果本身)。這些狀態(tài)將控制后續(xù)指令的執(zhí)行OF(OverflowFlag):溢出標(biāo)志(指補(bǔ)碼),F(xiàn).11OF=1:在運(yùn)算過(guò)程中,如操作數(shù)超過(guò)了機(jī)器表示的范圍稱為溢出。OF=0:在運(yùn)算過(guò)程中,如操作數(shù)未超過(guò)了機(jī)器能表示的范圍稱為不溢出。求解方法:最高位進(jìn)位次高位進(jìn)位字節(jié)允許范圍:-128—+127字允許范圍:-32768—+32767狀態(tài)標(biāo)志CF(CarryFlag):進(jìn)位/借位標(biāo)志,F(xiàn).0CF=1:最高位需要向前產(chǎn)生進(jìn)位/借位。CF=0:最高位不會(huì)向前產(chǎn)生進(jìn)位/借位。AF(AuxiliaryCarryFlag):輔助進(jìn)位標(biāo)志,F(xiàn).4AF=1:數(shù)據(jù)的第3位(半個(gè)字節(jié))需要向前產(chǎn)生進(jìn)位/借位。AF=0:數(shù)據(jù)的第3位(半個(gè)字節(jié))不會(huì)向前產(chǎn)生進(jìn)位/借位。狀態(tài)標(biāo)志SF(SignFlag):符號(hào)標(biāo)志,F(xiàn).7SF=1:運(yùn)算結(jié)果的最高位為1,如果為帶符號(hào)數(shù),則為負(fù)數(shù)。SF=0:運(yùn)算結(jié)果的最高位為0,如果為帶符號(hào)數(shù),則為正數(shù)。帶符號(hào)數(shù)的最高位為符號(hào)位;而無(wú)符號(hào)數(shù)的最高位為數(shù)值位。ZF(ZeroFlag):全零標(biāo)志,F(xiàn).6ZF=1:運(yùn)算結(jié)果為全0。不包括進(jìn)位的情況ZF=0:運(yùn)算結(jié)果不為0。狀態(tài)標(biāo)志PF(ParityFlag):奇偶標(biāo)志PF=1:結(jié)果的低8位中有偶數(shù)個(gè)1。PF=0:結(jié)果的低8位中有奇數(shù)個(gè)1。有些運(yùn)算操作將影響全部狀態(tài)標(biāo)志,如加法、減法運(yùn)算有些操作影響部分狀態(tài)標(biāo)志,如移位操作有些指令的操作不影響任何狀態(tài)標(biāo)志,如數(shù)據(jù)傳送指令10001101001101100011001000011001+0110011010101001運(yùn)算結(jié)果最高位為1 ∴SF=1;例:2個(gè)數(shù)相加后,分析各標(biāo)志位的值第三位向第四位有進(jìn)位 ∴AF=1;次高位向最高位有進(jìn)位,最高位向前沒(méi)有進(jìn)位,∴OF=10=1最高位沒(méi)有進(jìn)位 ∴CF=0;低8位中1的個(gè)數(shù)為偶數(shù)個(gè) ∴PF=1;運(yùn)算結(jié)果本身≠0 ∴ZF=0;10001101001101100011001000011001-0010110010001100運(yùn)算結(jié)果最高位為0 ∴SF=0;例:2個(gè)數(shù)相減后,分析各標(biāo)志位的值第三位向第四位沒(méi)有借位 ∴AF=0;次高位向最高位沒(méi)有借位,最高位向前沒(méi)有借位,∴OF=00=0最高位沒(méi)有借位 ∴CF=0;低8位中1的個(gè)數(shù)為奇數(shù)個(gè) ∴PF=0;運(yùn)算結(jié)果本身≠0 ∴ZF=0;控制標(biāo)志控制標(biāo)志位的值不由數(shù)據(jù)運(yùn)算的結(jié)果決定,而由指令直接賦值控制標(biāo)志決定后續(xù)指令的執(zhí)行情況DF(DirectionFlag):方向控制標(biāo)志位用于串處理指令,控制從前往后、還是從后往前對(duì)字符串進(jìn)行操作處理DF=1,每次串處理操作后使變址寄存器SI和DI的值遞減,使串處理從高地址向低地址方向處理。DF=0,每次串處理操作后使變址寄存器SI和DI的值遞增,使串處理從低地址向高地址方向處理??刂茦?biāo)志IF(InteruptFlag):中斷允許/禁止標(biāo)志位IF=1,允許外部可屏蔽中斷。CPU可以響應(yīng)可屏蔽中斷請(qǐng)求。IF=0,關(guān)閉中斷。CPU禁止響應(yīng)可屏蔽中斷請(qǐng)求。IF的狀態(tài)對(duì)不可屏蔽中斷和內(nèi)部軟中斷沒(méi)有影響。TF(TrapFlag):跟蹤(陷阱)標(biāo)志位TF=1,每執(zhí)行一條指令后,自動(dòng)產(chǎn)生一次內(nèi)部中斷,使CPU處于單步執(zhí)行指令工作方式,便于進(jìn)行程序調(diào)試,用戶能檢查程序。TF=0,CPU正常工作,不產(chǎn)生陷阱??刂茦?biāo)志與狀態(tài)標(biāo)志的區(qū)別控制標(biāo)志的值:由系統(tǒng)程序或用戶程序根據(jù)需要用指令設(shè)置。狀態(tài)信息:由中央處理器執(zhí)行運(yùn)算指令,并根據(jù)運(yùn)算結(jié)果而自動(dòng)設(shè)置。X86CPU也提供了直接設(shè)置狀態(tài)標(biāo)志之值的指令標(biāo)志名標(biāo)志為1標(biāo)志為0OF溢出(是/否)OVNVDF方向(減量/加量)DNUPIF中斷(允許/關(guān)閉)EIDISF符號(hào)(負(fù)/正)NGPLZF零(是/否)ZRNZAF輔助進(jìn)位(是/否)ACNAPF奇偶標(biāo)志(偶/奇)PEPOCF進(jìn)位標(biāo)志(是/否)CYNC調(diào)試狀態(tài)時(shí),標(biāo)志位之值的符號(hào)表示2.2.38086/8088引腳信號(hào)AD0~AD15地址/數(shù)據(jù)復(fù)用引腳(雙向、三態(tài))A16/S3~A19/S6地址/狀態(tài)復(fù)用引腳(輸出、三態(tài))12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET8086/S7總線高位允許/狀態(tài)(輸出,三態(tài))讀信號(hào)(輸出,低電平有效,三態(tài))測(cè)試信號(hào)(輸入、低電平有效)一、通用信號(hào)READY準(zhǔn)備就緒(輸入、高電平有效)狀態(tài)信號(hào)指示當(dāng)前使用段S4S3當(dāng)前正在使用的段寄存器00ES01SS10CS或未使用任何段寄存器11DS一、8086通用引腳信號(hào)INTR可屏蔽中斷請(qǐng)求信號(hào)(輸入、高有效)NMI非屏蔽中斷請(qǐng)求(輸入,上升沿觸發(fā))RESET復(fù)位信號(hào)(輸入,高電平有效)CLK時(shí)鐘輸入端12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET8086MN/

最小/最大模式控制輸入端復(fù)位后相關(guān)寄存器的初始狀態(tài)寄存器初始狀態(tài)寄存器初始狀態(tài)狀態(tài)標(biāo)志寄存器清0IP0000HCSFFFFHDS0000HSS0000HES0000H指令隊(duì)列寄存器清空其他寄存器0000H二、8086最小模式引腳信號(hào)12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET8086寫(xiě)信號(hào)(輸出、低電平有效)中斷響應(yīng)信號(hào)(輸出、三態(tài)、低電平有效)DT/

數(shù)據(jù)發(fā)送/接收控制信號(hào)輸出(輸出、三態(tài))數(shù)據(jù)允許信號(hào)(輸出、三態(tài)、低電平有效)M/存儲(chǔ)器/IO控制信號(hào)(輸出、三態(tài))ALE地址鎖存允許信號(hào)(輸出)HOLD總線保持請(qǐng)求信號(hào)(輸入、高電平有效)HLDA總線保持響應(yīng)信號(hào)(輸出、高電平有效)三、8086最大模式引腳信號(hào)12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDRQ/GT0*RQ/GT1*LOCK*S2*S1*S0*QS0*QS1*TESTREADYRESET8086總線周期狀態(tài)信號(hào)(輸出、三態(tài)),總線請(qǐng)求(輸入)/總線請(qǐng)求允許信號(hào)(輸出)(雙向、均為低電平有效總線封鎖信號(hào)(輸出、三態(tài)、低電平有效)QS0,QS1指令隊(duì)列狀態(tài)信號(hào)(輸出)四、8088引腳信號(hào)AD0-AD7:數(shù)據(jù)/低8位地址復(fù)用線SS0:狀態(tài)信號(hào)12345678910111213141516171819204039383736353433323130292827262524232221GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6SS0MN/MXRDHOLD*HLDA*WR*IO/M*DT/R*DEN*ALE*INTA*TESTREADYRESET8088IO/存儲(chǔ)器/地址選擇線2.2.68088/8086兩種工作模式最小模式:系統(tǒng)只有8086或8088一個(gè)微處理器。所有控制信號(hào)直接由CPU提供最大模式:由兩個(gè)或多個(gè)微處理器(主處理器和協(xié)處理器)組成中(大)規(guī)模系統(tǒng),CPU并不直接向外界提供全部控制信號(hào),而由S0S1S2通過(guò)Intel8288總線控制器提供不同的工作模式下,CPU有一部分引腳具有不同的功能由第33號(hào)引腳(MN/)控制數(shù)字邏輯器件8282DI1DI2DI3DI4DI5DI6DI7DO1DO2DO3DO4DO5DO6DO7DQDOCLKDI00STBOE地址鎖存器8282內(nèi)部結(jié)構(gòu)地址鎖存器8282引腳信號(hào)STBDI0DI1直通保持高阻DO0DO1DO0DO1DO2DO3DO4DO5DO6DO7STBVCC82821234567891020191817161514131211DI1DI2DI3DI4DI5DI6DI7OEGNDDI0OE地址鎖存功能STB為高電平期間,輸出等于輸入;為下降沿時(shí),輸出鎖存,與輸入無(wú)關(guān)ALE為8088/8086地址鎖存允許,高電平有效,輸出,復(fù)用線上出現(xiàn)地址時(shí)為高電平鎖存器的DI0-DI7與CPU的地址/數(shù)據(jù)復(fù)用線相連,STB與ALE相連。ALE為正脈沖時(shí),輸出地址;為低電平時(shí),輸出鎖存,與數(shù)據(jù)無(wú)關(guān)OE為有效電平(低電平)時(shí),正常輸出;為無(wú)效電平(高電平)時(shí),輸出高阻雙向數(shù)據(jù)收發(fā)器8286內(nèi)部結(jié)構(gòu)A0B08286OETA1A2A3A5A4A6A7B1B2B3B5B4B6B7OET傳送方向01Ai→Bi00Bi→Ai11高阻狀態(tài)10高阻狀態(tài)功能表雙向數(shù)據(jù)收發(fā)器8286引腳信號(hào)B0A1A2A3A4A5A6A7OEGNDB1B2B3B4B5B6B7TVCCA082861234567891020191817161514131211兩方面的功能⑴、三態(tài)輸出直接驅(qū)動(dòng)總線⑵、具有數(shù)據(jù)收和發(fā)兩個(gè)方向的傳輸、隔離控制功能。常用芯片:Intel8286,Intel8287和74LS2458286輸入輸出同相8287輸入輸出反相74LS245的功能與8286相同雙向數(shù)據(jù)總線收發(fā)器最小模式總線連接8086最小工作模式下控制核心單元的組成地+5V讀寫(xiě)控制讀寫(xiě)控制讀寫(xiě)控制CSH奇地址存儲(chǔ)體8284時(shí)鐘發(fā)生器RESETREADYCBD7~D0D15~D8DBCSL偶地址存儲(chǔ)體CSI/O接口ABA0A1~A19BHE

STBOE8282鎖存器8086CPUMN/MXINTARDCLKWRREADYM/IORESETALEBHEA19-A16AD15-AD0DENDT/RTOE8286收發(fā)器D15~D0最小模式總線狀態(tài)及操作無(wú)效110寫(xiě)存儲(chǔ)器010讀存儲(chǔ)器100取指令000暫停111寫(xiě)I/O011讀I/O101中斷響應(yīng)001操作SS0DT/RIO/M8288總線控制器多CPU8086/8088系統(tǒng)由總線控制器8288產(chǎn)生總線控制信號(hào)基本功能根據(jù)S2、S1、S0信號(hào)譯出對(duì)應(yīng)的狀態(tài)命令產(chǎn)生地址鎖存信號(hào)和雙向數(shù)據(jù)驅(qū)動(dòng)器控制信號(hào)使總線控制信號(hào)浮空,以允許其他總線控制單元控制總線產(chǎn)生簡(jiǎn)單或級(jí)聯(lián)中斷邏輯所需的控制信號(hào)8288內(nèi)部結(jié)構(gòu)狀態(tài)譯碼器控制邏輯控制信號(hào)發(fā)生器命令信號(hào)發(fā)生器S0S1S2AMWCIORCIOWCAIOWCINTAMWTCMRDCCLKAENCENIOBDT/RDENALEMCE/PDEN+5VGND8086狀態(tài)信息控制輸入8288引腳信號(hào)IOBCLKS1DT/RALEAENMRDCAMWCMWTCGNDVCCS0S2MCE/PDENDENCENINTAIORCAIOWCIOWC8288總線控制器12345678910201918171615141312118086最大工作模式下控制核心單元的組成地地讀寫(xiě)控制讀寫(xiě)控制讀寫(xiě)控制CSI/O接口

STBOE8282鎖存器TOE8286TOE8286收發(fā)器8284時(shí)鐘發(fā)生器RESETREADYA1~A19A0BHEABD7~D0D15~D8DBCBD15~D0CSH奇地址存儲(chǔ)體CSL偶地址存儲(chǔ)體8288S0INTAS1MRDCS2MWTCDENIORCDT/RIOWCALE8086CPUS0S1S2MN/MXCLKREADYRESET

BHEA19-A16AD15-AD0最大模式總線狀態(tài)S0S1S2總線周期狀態(tài)信號(hào)(輸出、三態(tài)),經(jīng)過(guò)8288總線控制器譯碼產(chǎn)生對(duì)存儲(chǔ)器、I/O端口訪問(wèn)所需的控制信號(hào)8288輸出命令CPU狀態(tài)中斷響應(yīng)讀I/O端口寫(xiě)I/O端口暫停取指令讀存儲(chǔ)器寫(xiě)存儲(chǔ)器無(wú)源狀態(tài)INTAIORCIOWCAIOWC無(wú)MRDCMRDCMWTC,AMWC無(wú)000001111110100011010101S2S1S08086最小組態(tài)和最大組態(tài)的比較1)不同之處

最小模式下系統(tǒng)控制信號(hào)直接由8086CPU提供;最大模式下因系統(tǒng)復(fù)雜,芯片數(shù)量較多,為提高驅(qū)動(dòng)能力和改善總線控制能力,大多數(shù)的系統(tǒng)控制信號(hào)由總線控制器8288提供最小模式下8086的31、30腳提供一組總線請(qǐng)求/響應(yīng)信號(hào)(HOLD、HLDA),而最大模式下8086的31、30腳將提供兩組總線請(qǐng)求/響應(yīng)信號(hào)(RQ/GT0、RQ/GT1)。2)相同之處:

8086的低位地址線與數(shù)據(jù)線復(fù)用,為保證地址信號(hào)維持足夠的時(shí)間,需使用ALE信號(hào)將低位地址線鎖存(通過(guò)鎖存器8282),以形成真正的系統(tǒng)地址總線;

8086的數(shù)據(jù)線通過(guò)數(shù)據(jù)收發(fā)器8286后形成系統(tǒng)數(shù)據(jù)總線,以增大驅(qū)動(dòng)能力,數(shù)據(jù)收發(fā)器主要由DEN和DT/R兩個(gè)信號(hào)控制。

8086最小組態(tài)和最大組態(tài)的比較2.38086總線操作及時(shí)序時(shí)序圖:描述某一操作過(guò)程中,芯片/總線上有關(guān)引腳信號(hào)隨時(shí)間發(fā)生變化的關(guān)系圖總線周期:執(zhí)行一個(gè)總線操作所需要的時(shí)間一個(gè)基本的總線周期通常包含4個(gè)T狀態(tài)M/IO高M(jìn)低IOCLKT1T2T3T4A15~0ALEA19~A16/S6~S3S6~S3A19~A16AD15~AD0A15~0D15~0存儲(chǔ)器/IO讀時(shí)序RDDT/RDENCLKT1T2T3T4WRA19~A16S6~S3A19~A16/S6~S3高M(jìn)低IOM/IOA15~A0DT/RDENA15~A0D15~D0AD15~AD0ALE存儲(chǔ)器/IO寫(xiě)時(shí)序單CPU系統(tǒng)8086讀操作

總線周期時(shí)序單CPU系統(tǒng)8086寫(xiě)操作

總線周期時(shí)序8086最大模式下的讀總線周期時(shí)序(DS)=3000H,(BX)=500CH,(3500CH)=9AH

1.IO/M變低,CPU將對(duì)內(nèi)存進(jìn)行操作2.

A19~A0上出現(xiàn)地址信號(hào)001101010000000011003.ALE上出現(xiàn)正脈沖信號(hào)4.

DT/R變低,數(shù)據(jù)收發(fā)器處于接受狀態(tài)執(zhí)行指令MOVAL,[BX]的時(shí)序圖T1

A19~A16T1T2T3T4A19~A16/S6~S3

M/IOA15~A8RDDT/RDENCLKS6~S3

D15~D0AD15~AD0ALEA15~A05.A19~A16上出現(xiàn)狀態(tài)信號(hào)S6S5S44S3=0IF11,使用DS6.AD7~AD0變高阻態(tài)7.RD變低,CPU將進(jìn)行讀操作8.DEN變低,允許數(shù)據(jù)收發(fā)器進(jìn)行數(shù)據(jù)傳送執(zhí)行指令MOVAL,[BX]的時(shí)序圖T2

A19~A16T1T2T3T4A19~A16/S6~S3

M/IOA15~A8RDDT/RDENCLKS6~S3

D15~D0AD15~AD0ALEA15~A0(DS)=3000H,(BX)=500CH,(3500CH)=9AH

9.AD7~AD0上出現(xiàn)數(shù)據(jù)信號(hào)10011010執(zhí)行指令MOVAL,[BX]的時(shí)序圖T3

A19~A16T1T2T3T4A19~A16/S6~S3

M/IOA15~A8RDDT/RDENCLKS6~S3

D15~D0AD15~AD0ALEA15~A010.

RD變高,CPU從數(shù)據(jù)線上讀數(shù)據(jù),數(shù)據(jù)9AH讀到AL中11.

DEN變高,數(shù)據(jù)收發(fā)器與總線斷開(kāi),AD7~AD0變高阻態(tài)執(zhí)行指令MOVAL,[BX]的時(shí)序圖T4

A19~A16T1T2T3T4A19~A16/S6~S3

M/IOA15~A8RDDT/RDENCLKS6~S3

D15~D0AD15~AD0ALEA15~A02.4存儲(chǔ)器與I/O組織結(jié)構(gòu)8086有20條地址線,尋址能力為1MB字節(jié)地址:能存儲(chǔ)一個(gè)字節(jié)的存儲(chǔ)單元的地址字地址:占用兩個(gè)相鄰字節(jié)單元的地址數(shù)值較小的單元地址(低字節(jié)地址)字符串地址:存放在最低地址單元的第一個(gè)字節(jié)地址字的存儲(chǔ):低字節(jié)在較低地址單元,高字節(jié)在較高的相鄰地址單元指針的存儲(chǔ):偏移地址在低地址字單元,段地址在較高地址單元內(nèi)存單元既可以存放數(shù)據(jù),也可以存放地址指針(包括偏移地址和段地址),此時(shí)地址也可以看成是數(shù)據(jù)2.4.1信息存放方式示意圖地址內(nèi)容19H 0CH1AH 1FH

1BH 01H1CH 23H1DH 74H1EH ABH1FH 41H20H 42H21H 43H22H 44H23H 45H地址為1AH的字節(jié)數(shù)據(jù)1FH1AH 1FH地址為1BH的非規(guī)則字?jǐn)?shù)據(jù)2301H1BH 01H1CH 23H地址為1EH的規(guī)則字?jǐn)?shù)據(jù)41ABH1EH ABH1FH 41H首地址為1FH的字符串“ABCDE”

21H43H23H45H20H42H22H44H1FH 41H地址為1AH的雙字?jǐn)?shù)據(jù)7423011FH;如解釋為指針數(shù)據(jù),則段基址為7423H,偏移量為011FH1AH 1FH1BH 01H1CH23H1DH74H2.4.28086奇偶存儲(chǔ)器和總線連接a)存儲(chǔ)器地址空間分配D7~D0D15~D8A0A19~A1DBABb)存儲(chǔ)體與總線的連接地址內(nèi)容內(nèi)容地址00000H00001H00002H00003HFFFFEH偶地址存儲(chǔ)體512K*8bitA0=0奇地址存儲(chǔ)體512K*8bitBHE=0FFFFFHBHED7~D0奇地址存儲(chǔ)體SELA18~A0D7~D0偶地址存儲(chǔ)體SELA18~A0存儲(chǔ)單元的訪問(wèn)A1-A19D15—D8D7—D0SELA0-A18高位(奇)庫(kù)512KD0-D7SELA0-A18低位(偶)庫(kù)512KD0-D7A0BHEA0讀/寫(xiě)的字節(jié)00高低兩個(gè)字節(jié)01奇數(shù)地址的高位字節(jié)10偶數(shù)地址的低位字節(jié)11不傳送2.4.3存儲(chǔ)器分段分段原因:8086有20根地址線,但其內(nèi)部可以表示的地址最多只能是16位。為了能尋址1MB空間,8086對(duì)存儲(chǔ)器進(jìn)行邏輯分段,每個(gè)段最大為64KB,最小為16B(此時(shí)最多64K個(gè)段)。連續(xù)邏輯段A段B段C段D段E段00000H10000H20000H30000H40000H……實(shí)際(物理)存儲(chǔ)器分離完全重疊部分重疊2.4.4存儲(chǔ)器的邏輯地址和物理地址加法器8086物理地址PA的形成,其中的16位偏移量也稱為有效地址EA(出現(xiàn)在指令中)段寄存器15016位偏移量01520位物理地址019段基址1123H偏移量13H段基址1124H偏移量03H物理地址PA與邏輯地址LA的對(duì)應(yīng)存儲(chǔ)單元物理地址

11230H11231H11232H……1123FH11240H11241H11242H

11243H0000存儲(chǔ)器段操作

四個(gè)段寄存器(CS、DS、SS、ES)指示四個(gè)現(xiàn)行段的段地址。段和段之間可以相互分離、連接、部分重疊或完全重疊。存儲(chǔ)器操作默認(rèn)段基址可使用段基址偏移地址取指令CS—IP堆棧操作SS—SP變量DSCS、ES、SS有效地址*源數(shù)據(jù)串DSCS、ES、SSSI目的數(shù)據(jù)串ES—DI堆棧中的變量SS—BP*由指令給的出尋址方式所指定的地址邏輯地址源物理地址的生成取指令時(shí):由代碼段寄存器CS,再加上IP的16位偏移量堆棧操作時(shí):由堆棧段寄存器SS,再加上SP所決定的16位偏移量取數(shù)據(jù):ES或DS再加尋址的偏移地址程序所需的存儲(chǔ)空間不超過(guò)64KB(包括程序、堆棧和數(shù)據(jù)),可使CS、SS、DS、ES相等任務(wù)的程序、堆棧以及數(shù)據(jù)分別不超過(guò)64KB,CS,DS,SS可分別置初值,否則用子程序結(jié)構(gòu)2.4.5

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論