微機(jī)原理及接口技術(shù)課件_第1頁
微機(jī)原理及接口技術(shù)課件_第2頁
微機(jī)原理及接口技術(shù)課件_第3頁
微機(jī)原理及接口技術(shù)課件_第4頁
微機(jī)原理及接口技術(shù)課件_第5頁
已閱讀5頁,還剩611頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章微型計算機(jī)概述1.1微型計算機(jī)的發(fā)展概況1.2微型計算機(jī)的基本結(jié)構(gòu)1.3微型計算機(jī)系統(tǒng)1.4微型計算機(jī)的應(yīng)用1.1微型計算機(jī)的發(fā)展概況1.1.1微型計算機(jī)的發(fā)展歷史1.1.2微型計算機(jī)的發(fā)展現(xiàn)狀返回1.1.1微型計算機(jī)的發(fā)展歷史第一代(1971-1973年):4位和低檔8位微處理器時代第二代(1973-1978年):中高檔8位微處理器時代第三代(1978-1980年):16位微處理器時代第四代(1983-1993年):32位微處理器時期第五代(1993~1996):Pentium微處理器的時代第六代(1997至今):加強(qiáng)型Pentium時代

第七代:64位CPU時代第一代(1971-1973年):4位和低檔8位微處理器時代典型產(chǎn)品有Intel4004(1971年、4位)和Intel8008(1972年、8位)。特點字長:4位或8位時鐘頻率:1MHz平均執(zhí)行指令時間:20μs集成度:2000管/片第二代(1973-1978年):中高檔8位微處理器時代Intel8080,Motorola公司的M6800,Zilog公司的Z80,Intel公司的8085,Rockwell與MOSTechnology的6502等。特點字長:8位時鐘頻率:2~4MHz平均執(zhí)行指令時間:1~2μs集成度:5000~10000管/片第三代(1978-1980年):16位微處理器時代Intel公司的8086/8088、Motorola公司的M68000和Zilog公司的Z8000特點字長:16位時鐘頻率:4~40MHz平均執(zhí)行指令時間:0.5μs集成度:20000~60000管/片第四代(1983-1993年):32位微處理器時期Intel公司推出80186、802861985年,Intel公司推出能進(jìn)行多任務(wù)處理的32位微處理器80386,同時有Motorola公司的M680201989年,Intel公司推出80486,同期有Motorola公司的M68040特點字長:32位時鐘頻率:10~120MHz平均執(zhí)行指令時間:0.2μs集成度:幾十萬~上百萬管/片第五代(1993~1996):Pentium微處理器的時代1993年3月,Intel公司的奔騰(Pentium)

時鐘頻率:60/66MHz

運(yùn)行速度:112MIPS

集成度:310萬管/片

1995年2月,Intel公司的PentiumPro

時鐘頻率:166MHz以上集成度:550萬管/片

1996年Intel公司的PentiumMMX(多能奔騰)

第六代(1997至今):加強(qiáng)型Pentium時代1997年到1999年,Intel公司的PentiumⅡ、PentiumⅢ、AMD公司的AMD-K7,這些芯片的集成度高達(dá)750萬管/片,時鐘頻率達(dá)到750MHz。2001年底,PentiumⅣ主頻高達(dá)2GHz,具有4200萬只晶體管,主流高端32位CPU市場的佼佼者。AMD公司的AthlonCPU,1.33GHz主頻及2GHz主頻。第七代:64位CPU時代

2001年5月,Intel公司正式推出了第一種64位微處理器Itanium。Itanium由英特爾和惠普聯(lián)合開發(fā),主要用于工作站和服務(wù)器機(jī)型,內(nèi)置2~4MB的3級緩存、工作頻率為800MHz及722MHz的產(chǎn)品,價格為1177美元至4427美元。AMD公司的AMD-K8

Intel的CPU的發(fā)展史intel4004,intel的發(fā)展史就是從這塊cpu起步的80088085808680286,intel最后一塊16位cpu80386,intel第一代32位cpu486,這是intel最后一代以數(shù)字編號的cpupentium,傳說中的586pentiumpropentiummmxpentiumⅱceleron,引發(fā)超頻熱潮pentiumⅲ_katmaipentiumⅲIntelpentiumⅲtualatin/coppermineintelpentiumⅳ_423intelpentiumⅳ_478返回微型化、網(wǎng)絡(luò)化、智能化1.1.2微型計算機(jī)的發(fā)展現(xiàn)狀超級流水線技術(shù)將流水線深度增加了一倍數(shù)據(jù)流單指令多數(shù)據(jù)擴(kuò)展2(SSE2)指令集擴(kuò)展MMX和SSE技術(shù),更好的支持DVD播放,音頻和3D圖形數(shù)據(jù)處理,網(wǎng)絡(luò)流數(shù)據(jù)處理等采用了全新的一級(L1)指令高速緩存技術(shù)采用先進(jìn)的400MHz系統(tǒng)總線具有雙通道RDRAM,可實現(xiàn)更高性能

返回1.2微型計算機(jī)的基本結(jié)構(gòu)1.2.1微型計算機(jī)的結(jié)構(gòu)特點1.2.2微處理器1.2.3內(nèi)存儲器1.2.4輸入輸出設(shè)備和輸入輸出接口1.2.5總線返回1.2.1微型計算機(jī)的結(jié)構(gòu)特點微型計算機(jī)結(jié)構(gòu)框圖由運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大部分組成返回

1.2.2微處理器微處理器也稱作中央處理單元,簡稱CPU(CentralProcessingUnit)本身具有運(yùn)算和控制功能控制器:負(fù)責(zé)全機(jī)的控制工作運(yùn)算器:執(zhí)行所有的算術(shù)和邏輯運(yùn)算微處理器是微型計算機(jī)的核心多數(shù)CPU是單片的,有時也會見多片型的,即幾個片合起來完成一個CPU的功能

CPU一般都具備下列功能:

可以進(jìn)行算術(shù)和邏輯運(yùn)算能對指令進(jìn)行譯碼并執(zhí)行規(guī)定的動作可暫存少量數(shù)據(jù)提供整個系統(tǒng)所需要的定時和控制能和存儲器、外設(shè)交換數(shù)據(jù)可以響應(yīng)其他部件發(fā)來的中斷請求

CPU在內(nèi)部結(jié)構(gòu)組成算術(shù)邏輯部件(ALU):處理各種數(shù)據(jù)信息,可以進(jìn)行加、減、乘、除算術(shù)和與、或、非、異或等邏輯運(yùn)算

累加器和通用寄存器組:用來保存參加運(yùn)算的數(shù)據(jù)以及運(yùn)算的中間結(jié)果,也用來存放地址程序計數(shù)器(指令指針):指向下一條要取出的指令

指令寄存器:存放從存儲器中取出的指令碼譯碼器:對指令碼進(jìn)行譯碼和分析,從而確定指令的操作,并確定操作數(shù)的地址,再得到操作數(shù),以完成指定的操作。

時序和控制部件:指令譯碼器對指令進(jìn)行譯碼時,產(chǎn)生相應(yīng)的控制信號送到時序和控制邏輯電路,組合成外部電路所需要的時序和控制信號。這些信號送到微型計算機(jī)的相應(yīng)部件,以控制這些部件協(xié)調(diào)工作。

由CPU內(nèi)部產(chǎn)生相應(yīng)的控制信號:送到存儲器、輸入/輸出接口電路和其他部件微型計算機(jī)系統(tǒng)的其它部件也會在它們需要的時候向CPU發(fā)出各種請求信號:如中斷請求、總線請求等。CPU的控制信號返回1.2.3內(nèi)存儲器內(nèi)存儲器又叫內(nèi)存或主存,計算機(jī)的記憶部件,存放編寫的程序或程序中所用的數(shù)據(jù)、信息、中間結(jié)果內(nèi)存中存放的數(shù)據(jù)和程序,從形式上看都是二進(jìn)制數(shù)存儲單元的地址和內(nèi)容位——計算機(jī)存儲信息的基本單位字節(jié):每8位組成一個字節(jié)字:16位雙字:32位每一個字節(jié)單元有一個存儲器地址,地址用二進(jìn)制數(shù)表示,為無符號整數(shù),書寫格式為16進(jìn)制1514131211109876543210高位字節(jié)低位字節(jié)字76543210

一個存儲單元中存放的信息稱為該存儲單元的內(nèi)容16位時,低位字節(jié)存入低地址,高位字節(jié)存入高地址

兩個字節(jié)單元構(gòu)成一個字單元,字單元的地址采用它的低地址表示如用X表示某存儲單元的地址,則X單元的內(nèi)容用(X)表示,假如X單元中存放著Y,則(X)=Y,而Y又是一個地址,則可用(Y)=((X))來表示Y單元的內(nèi)容。例如字節(jié)

34H

12H

1EH

2FH

0004H0005H1234H1235H

(0004)=1234H

(1234)=2F1EH((0004H))=2F1EH

例題存儲器以字節(jié)(8bit)為單位存儲信息每個字節(jié)單元有一個地址,從0編號,順序加1地址也用二進(jìn)制數(shù)表示(無符號整數(shù),寫成十六進(jìn)制)地址是16位,可表示216=65536=64K個地址,即0000H—FFFFH字長16位,一個字要占用相繼的兩個字節(jié)低位字節(jié)存入低地址,高位字節(jié)存入高地址機(jī)器以偶地址訪問(讀/寫)存儲器字單元地址用它的低地址來表示存儲器地址與內(nèi)容有關(guān)說明CPU對內(nèi)存的操作有讀、寫兩種讀操作是CPU將內(nèi)存單元的內(nèi)容取入CPU內(nèi)部寫操作是CPU將其內(nèi)部信息傳送到內(nèi)存單元保存起來內(nèi)存操作按工作方式不同,內(nèi)存可分為兩大類:隨機(jī)存取存儲器RAM(RandomAccessMemory)只讀存儲器ROM(ReadOnlyMemory)RAM可以被CPU隨機(jī)地讀和寫,所以又稱為讀寫存儲器ROM中的信息只能被CPU隨機(jī)讀取,而不能由CPU任意寫入內(nèi)存分類返回

輸入輸出設(shè)備是指微型計算機(jī)上配備的I/O設(shè)備也稱為外部設(shè)備或外圍設(shè)備(簡稱外設(shè)),其功能是為微型計算機(jī)提供具體的輸入/輸出手段微型計算機(jī)上配置的標(biāo)準(zhǔn)輸入設(shè)備和標(biāo)準(zhǔn)輸出設(shè)備一般是指鍵盤和顯示器,二者又合稱為控制臺

為了解決微型計算機(jī)與種類繁多的外設(shè)之間的信息交換,各種外設(shè)都通過相應(yīng)的接口(Interface)電路與主機(jī)系統(tǒng)相連。1.2.4輸入輸出設(shè)備和輸入輸出接口返回1.2.5總線數(shù)據(jù)總線(databus,DB)數(shù)據(jù)總線用來傳輸數(shù)據(jù)信息,是雙向總線地址總線(addressbus,AB)地址總線用于傳送CPU發(fā)出的地址信息,是單向總線

控制總線(controlbus,CB)控制總線用來傳送控制信號、時序信號和狀態(tài)信息等。其中有的是CPU向內(nèi)存和外設(shè)發(fā)出的信息,有的則是內(nèi)存或外設(shè)向CPU發(fā)出的信息可見,CB中每一根線的方向是一定的、單向的,但CB作為一個整體是雙向的返回1.3微型計算機(jī)系統(tǒng)1.3.1微型計算機(jī)系統(tǒng)的組成1.3.2微型計算機(jī)的主要性能指標(biāo)1.3.3典型微型計算機(jī)的組成結(jié)構(gòu)返回1.3.1微型計算機(jī)系統(tǒng)的組成一臺完整的計算機(jī)必須由硬件和軟件這兩大部分組成,其中硬件是基礎(chǔ),軟件是靈魂,二者缺一不可微型計算機(jī)硬件系統(tǒng)是機(jī)器的實體部分,主要包括主機(jī)和外圍設(shè)備。微型計算機(jī)軟件系統(tǒng)主要包括系統(tǒng)軟件、各種程序設(shè)計語言、應(yīng)用程序和數(shù)據(jù)庫等

微型計算機(jī)系統(tǒng)的基本組成返回1.3.2微型計算機(jī)的主要性能指標(biāo)基本字長基本字長是指參與運(yùn)算數(shù)的基本位數(shù),它是由加法器、寄存器、數(shù)據(jù)總線的位數(shù)決定的主存容量一個主存儲器所能存儲的最大信息容量稱為主存容量運(yùn)算速度人們用計算機(jī)的主頻——時鐘頻率來表示運(yùn)算速度,以MHz或GHz為單位系統(tǒng)配置外部設(shè)備、軟件性能價格比返回1.3.3典型微型計算機(jī)的組成結(jié)構(gòu)Pentium系列處理器主處理器總線(3.3V或2.5VI/O,60~66MHz)第二級CacheCache(PBSRAM)標(biāo)簽CntlTagCntlTIO[7:0]82439TX(MTXC)DRAM接口(3.5V或5V)主存儲器(DRAM)PCI總線(3.3V或5V,30/33MHz)ISA插槽PCI擴(kuò)充連接器PCI插槽PCI插槽PCI總線(5V)82380FB(MPCI2)82380AB(MISA)ISA總線(5V)CD-ROM硬盤IDEUDMA/33通用串行總線(USB)ISA/EIO總線(兼容3.3V,5V)USB1USB2GP[I,O](30+)SMB(I2C)音頻PC87317VULBIOS串行口紅外口并行口鼠標(biāo)口鍵盤口軟盤口82371AB(PIIX4)硬盤只適應(yīng)可撤卸的擴(kuò)充站

微處理器,高速緩存,存儲器,邏輯芯片組,I/O控制器,圖形、視頻、音頻系統(tǒng)控制器并行端口、COM0、視頻口、鍵盤、鼠標(biāo)、游戲口ISA插槽音頻編碼視頻擴(kuò)展卡插槽COM1Socket7CPUDIMMSocketsDIMMSockets512KBCacheFLASH視頻輸入視頻存儲器揚(yáng)聲器板面狀態(tài)接口配置跳線接口圖形控制器視頻抓取處理器PCI插槽TV輸出多媒體通道連接器GPIO82430TXMTXC82430TXPIIX4電源連接器軟盤連接器PC87307VULIDE連接器IDE連接器電池穩(wěn)壓器

典型微型計算機(jī)主板結(jié)構(gòu)圖返回1.4微型計算機(jī)的應(yīng)用1.4.1科學(xué)計算和信息處理1.4.2輔助設(shè)計和輔助制造1.4.3測控領(lǐng)域1.4.4網(wǎng)絡(luò)通信返回1.4.1科學(xué)計算和信息處理科學(xué)計算一直是計算機(jī)的重要應(yīng)用領(lǐng)域。發(fā)明計算機(jī)的原始目的就是為了科學(xué)計算信息處理是微型計算機(jī)應(yīng)用得最廣泛的領(lǐng)域信息處理就是用微型計算機(jī)對生產(chǎn)、經(jīng)濟(jì)活動、社會和科學(xué)研究中獲得的大量信息進(jìn)行存儲、分類、變換、計算和傳輸,以符合人們要求和習(xí)慣的形式輸出、顯示或再控制返回1.4.2輔助設(shè)計和輔助制造計算機(jī)輔助設(shè)計和輔助制造(CAD/CAM)是微型計算機(jī)應(yīng)用中的另一個重要領(lǐng)域CAD是指人們利用計算機(jī)幫助設(shè)計者進(jìn)行各種工程設(shè)計、模擬和測試CAM是指利用計算機(jī)控制機(jī)械加工和制造返回1.4.3測控領(lǐng)域軍事方面:用于導(dǎo)彈、核武器、宇宙飛船、潛水艇、雷達(dá)、電子對抗等。工業(yè)方面:用于化工過程控制、機(jī)床自動控制、冶煉過程控制、發(fā)電廠控制、裝配機(jī)械控制、生產(chǎn)自動化控制、機(jī)器人等。測試與儀器方面:智能儀器、自動測試系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、虛擬儀器、遙控遙測等。通信及交通方面:程控交換機(jī)、傳真電報、移動通信電臺及手記、汽車電子設(shè)備、自動點火系統(tǒng)、交通信號控制、自動售票、車輛調(diào)度、導(dǎo)航及空中管制、航空自動駕駛。文體衛(wèi)生方面:計算機(jī)、CT掃描儀、超聲診斷儀、腦電圖儀、X射線機(jī)。家電產(chǎn)品:以嵌入式微處理器為主,如電視機(jī)、空調(diào)器、電冰箱、洗衣機(jī)、電飯鍋、智能玩具等返回2.18086微處理器的結(jié)構(gòu)2.1.18086的功能結(jié)構(gòu)2.1.28086的寄存器結(jié)構(gòu)2.1.38086的工作模式和引腳特性返回2.1.18086的功能結(jié)構(gòu)8086微處理器的內(nèi)部功能結(jié)構(gòu)由兩個獨(dú)立的工作部件——執(zhí)行部件EU(ExecutionUnit)和總線接口部件BIU(BusInterfaceUnit)構(gòu)成EU由運(yùn)算器、寄存器組、控制器等組成,負(fù)責(zé)指令的執(zhí)行BIU由指令隊列、地址加法器、總線控制邏輯等組成,負(fù)責(zé)與系統(tǒng)總線打交道數(shù)據(jù)寄存器指針和變址寄存器AHALBHBLCHCLDHDLSPBPSIDIAXBXCXDX暫存寄存器ALU標(biāo)志寄存器FR

EU控制器ALU數(shù)據(jù)總線(16位)指令隊列緩沖器123456總線控制邏輯8086總線地址加法器

CSDSSSESIP內(nèi)部暫存器AB(20位)執(zhí)行部件(EU)總線接口部件(BIU)DB(16位)(8位)隊列總線

8086CPU的內(nèi)部功能結(jié)構(gòu)框圖執(zhí)行部件EU的功能

從BIU的指令隊列緩沖器中取出指令,由EU控制器的指令譯碼器譯碼產(chǎn)生相應(yīng)的操作控制信號給各部件

對操作數(shù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算,并將運(yùn)算結(jié)果的狀態(tài)特征保存到狀態(tài)寄存器FR中EU不直接與CPU外部系統(tǒng)相連,當(dāng)需要與主存儲器或I/O設(shè)備交換數(shù)據(jù)時,EU向BIU發(fā)出命令,并提供給BIU16位有效地址及所需傳送的數(shù)據(jù)執(zhí)行部件EU的組成EU由算術(shù)邏輯單元ALU通用數(shù)據(jù)寄存器組地址指針和變址寄存器標(biāo)志寄存器數(shù)據(jù)暫存寄存器EU控制器組成EU的特點DLDHCLCHBLBHALAHAXBXCXDX通用數(shù)據(jù)寄存器AX,BX,CX,DX,既可以作16位寄存器使用,也可以分成高、低8位分別作兩個8位寄存器使用ALU的核心是16位二進(jìn)制加法器16位狀態(tài)標(biāo)志寄存器(7位未用)存放操作后的狀態(tài)特征和設(shè)置的控制標(biāo)志EU控制器是執(zhí)行指令的控制電路,實現(xiàn)從隊列中取指令、譯碼、產(chǎn)生控制信號等。D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0CFPFAFZFSFTFIFDFOFPSW

BIU從主存取指令送到指令隊列緩沖器CPU執(zhí)行指令時,總線接口單元要配合EU從指定的主存單元或外設(shè)端口中取數(shù)據(jù),將數(shù)據(jù)傳送給EU或把EU的操作結(jié)果傳送到指定的主存單元或外設(shè)端口中

計算并形成訪問存儲器的20位物理地址總線接口部件BIU的功能

BIU的組成與特點BIU由4個16位段寄存器、16位指令指針寄存器、20位物理地址加法器、6字節(jié)指令隊列及總線控制邏輯組成

BIU的特點:

指令隊列是由6個字節(jié)的寄存器組成(8088指令隊列由4個字節(jié)組成)先進(jìn)先出

地址加法器是用來產(chǎn)生20位存儲器物理地址的8086分配20條引腳線分時傳送20位地址,16位數(shù)據(jù)和4位狀態(tài)信息物理地址=16d

段地址+偏移地址返回2.1.28086的寄存器結(jié)構(gòu)通用數(shù)據(jù)寄存器組地址指針和變址寄存器段寄存器組指令指針寄存器IP(InstructionPointer)標(biāo)志寄存器AHALBHBLCHCLDHDL

AX:累加器,算術(shù)計算的主要寄存器,所有的I/O

指令都使用這一寄存器與外部設(shè)備傳送信息

BX:通用寄存器,在計算存儲器地址時,用作基址存儲器AXBXCXDX

CX:通用寄存器,在循環(huán)和串處理指令中用作隱含的計數(shù)器DX:通用寄存器,一般在作雙字長運(yùn)算時把DX和AX組合在一起存放一個雙字長數(shù),用來存放高位字,也可用來存放I/O的端口地址四個寄存器(8位或16位):存放計算過程中所用到的操作數(shù)、結(jié)果或其他信息。DX、AX組合成一個雙字長,DX放高位字通用數(shù)據(jù)寄存器寄存器一般用法隱含用法AX16位累加器(Accumulator)字乘時提供一個操作數(shù)并存放積的低字;字除時提供被除數(shù)的低字并存放商ALAX的低8位字節(jié)乘時提供一個操作數(shù)并存放積的低字節(jié);字節(jié)除時提供被除數(shù)的低字節(jié)并存放商;BCD碼運(yùn)算指令和XLAT指令中作累加器;字節(jié)I/O操作中存放8位輸入/輸出數(shù)據(jù)AHAX的高8位字節(jié)乘時提供一個操作數(shù)并存放積的高字節(jié);字節(jié)除時提供被除數(shù)的高字節(jié)并存放余數(shù);LAHF指令中充當(dāng)目的操作數(shù)BX基址(Base)寄存器,支持多種尋址,常用作地址寄存器XLAT指令中提供被查表格中源操作數(shù)的間接地址CX16位計數(shù)器(Counter)串操作時用作串長計數(shù)器;循環(huán)操作中用作循環(huán)次數(shù)計數(shù)器CL8位計數(shù)器移位或循環(huán)移位時用作移位次數(shù)計數(shù)器DX16位數(shù)據(jù)(Data)寄存器在間接尋址的I/O指令中提供端口地址;字乘時存放積的高字,字除時提供被除數(shù)高字并存放余數(shù)表2-18086中通用寄存器的一般用法和隱含用法

SP

堆棧指針寄存器(存放棧頂?shù)钠频刂罚?/p>

BP

基址指針寄存器(堆棧區(qū)中的一個基址地址)

SISI

源變址寄存器

DI

目的變址寄存器SP(StackPointer)BP(BasePointer)SI(SourceIndex)DI(DestinationIndex)

段寄存器(4個16位):CSDSSSES指針寄存器變址寄存器

指針及變址寄存器(4個16位寄存器)寄存器一般用法隱含用法SP堆棧指針(StackPointer),與SS配合指示堆棧棧頂?shù)奈恢脡簵?、出棧操作中指示棧頂BP基址指針(BasePointer),它支持間接尋址、基址尋址、基址加變址等多種尋址手段。在子程序調(diào)用時,常用它來取壓棧的參數(shù)SI源變址(SourceIndex)寄存器。它支持間接尋址、變址尋址、基址加變址尋址等多種尋址串操作時用作源變址寄存器,指示數(shù)據(jù)段(段默認(rèn))或其他段(段超越)中源操作數(shù)的偏移地址DI目的變址(DestinationIndex)寄存器。它支持間接尋址、變址尋址、基址加變址尋址等多種尋址串操作時用作目的變址寄存器,指示附加段(段默認(rèn))中目的操作數(shù)的偏移地址表2-28086中地址寄存器的一般用法和隱含用法

DF為1,SI、DI減量,由高地址向低地址處理;DF為0,SI、DI增量,由低地址向高地址處理SP、BP、SI、DI聯(lián)用說明SP,BP與SS聯(lián)用→確定堆棧段中某一存儲器單元的地址,SP用來表示棧頂?shù)钠频刂罚珺P可作為堆棧區(qū)中的一個基地址以便訪問堆棧中的其他信息。SI,DI與DS聯(lián)用→確定數(shù)據(jù)段中某一存儲器單元的地址,SI和DI有自動增量和自動減量的功能。在串處理指令中,SI和DI作為隱含的源變址和目的變址寄存器,SI和DS聯(lián)用,DI和ES聯(lián)用,分別達(dá)到在數(shù)據(jù)段和附加段中尋址的目的。(1)8086的堆棧及堆棧操作有以下特點雙字節(jié)操作。即每次進(jìn)、出棧的數(shù)據(jù)均為兩字節(jié)。且高位字節(jié)對應(yīng)高地址,低位字節(jié)對應(yīng)低地址。無論是源操作數(shù)還是目的操作數(shù),也無論是存儲器操作數(shù)還是寄存器操作數(shù),都必須按這個原則執(zhí)行。堆棧向低地址方向生成。數(shù)據(jù)每次進(jìn)棧時堆棧指針SP向低地址方向移動(減2);反之,數(shù)據(jù)出棧時,SP向高地址方向移動(加2)(2)BP、BX都被稱為基址指針,但兩者用法不同。BP只能尋址堆棧段(段缺省),不允許段跨越;BX可以尋址數(shù)據(jù)段(段缺省),也可以尋址附加段(段跨越)。(3)由于大多數(shù)算術(shù)和邏輯運(yùn)算中又可以使用BP、SP和變址寄存器,因而也將這4個寄存器歸入通用寄存器組。使用中應(yīng)該注意這4個寄存器只能用于16位的存取操作特別說明段寄存器8086CPU中有4個段寄存器,用于存放當(dāng)前程序所用的各段的起始地址,也稱為段的基地址。代碼段寄存器CS(CodeSegment)其內(nèi)容左移4位再加上指令指針I(yè)P的內(nèi)容,就形成下一條要執(zhí)行的指令存放的實際物理地址。數(shù)據(jù)段寄存器DS(DataSegment)DS中的內(nèi)容左移4位再加上按指令中存儲器尋址方式計算出來的偏移地址,即為數(shù)據(jù)段指定的單元進(jìn)行讀寫的地址。堆棧段寄存器SS(StackSegment)堆棧是按“后進(jìn)先出”原則組織的一個特別存儲區(qū)。操作數(shù)的存放地址是由SS的內(nèi)容左移4位再加上SP的內(nèi)容而形成的。附加段寄存器ES(ExtendedSegment)附加段是在進(jìn)行字符串操作時作為目的區(qū)地址使用的一個附加數(shù)據(jù)段。在字符串操作指令中SI作為源變址寄存器,DI作為目的變址寄存器,其內(nèi)容都是偏移地址。指令指針寄存器和標(biāo)志寄存器(1)指令指針寄存器IP指令指針寄存器IP是一個16位的表示地址指針的寄存器(2)標(biāo)志寄存器FR(FlagRegister)標(biāo)志寄存器也稱為程序狀態(tài)字PSW(ProgramStatusWord)寄存器,它是一個16位的標(biāo)志寄存器,但僅使用其中的9位D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0CFPFAFZFSFTFIFDFOFPSW

圖2-28086CPU標(biāo)志寄存器

OF(OverFlag)溢出標(biāo)志:溢出為1

SF(SignFlag)符號標(biāo)志:負(fù)為1,取最高有效位

ZF(ZeroFlag)零標(biāo)志:是0為1

CF(CarryFlag)進(jìn)位標(biāo)志:右進(jìn)位為1

AF(AuxiliaryFlag)輔助進(jìn)位標(biāo)志:第3位右進(jìn)位置1(半字節(jié))

PF(ParityFlag)奇偶進(jìn)位標(biāo)志:結(jié)果中1的個數(shù)位為偶數(shù)置1。

條件碼標(biāo)志flag(6個)控制信息由系統(tǒng)程序或用戶程序根據(jù)需要用指令設(shè)置狀態(tài)信息由中央處理機(jī)根據(jù)計算機(jī)的結(jié)果自動設(shè)置

DF(DirectionFlag)方向標(biāo)志:DF為1,SI、DI減量,由高地址向低地址處理;DF為0,SI、DI增量,由低地址向高地址處理

IF(InteruptFlag)中斷標(biāo)志:IF為1時允許中斷

TF(TrapFlag)陷阱標(biāo)志(又叫跟蹤標(biāo)志):每執(zhí)行一條指令就引起一個內(nèi)部中斷。用于單步方式操作,TF為1,指令執(zhí)行完后產(chǎn)生陷阱,由系統(tǒng)控制計算機(jī);TF為0,CPU不產(chǎn)生陷阱,正常工作.返回控制標(biāo)志(3個)例題例1:MOVAX,1MOVBX,2ADDAX,BX

指令執(zhí)行后,(AX)=3,OF=0,CF=0,ZF=0,SF=0例2:MOVAX,FFFFHMOVBX,1ADDAX,BX

指令執(zhí)行后,(AX)=0,OF=0,CF=1,ZF=1,SF=0返回

芯片引腳特性的描述8086的工作模式8086的引腳特性2.1.38086的工作模式和引腳特性芯片引腳特性的描述:引腳的功能信號的有效電平信號的有效電平信號流向引腳的復(fù)用三態(tài)能力

引腳的功能

即引腳信號的定義。人們約定,引腳名為該引腳功能的英文縮寫,基本反映了信號的作用,即含義。信號的有效電平指控制引腳使用有效時的邏輯電平。低電平有效的引腳名字上面加有一條橫線,引腳名字上無橫線者為高電平有效。另有一些引腳信號編碼使用,即高、低電平均有效,分別表示不同的狀態(tài)或數(shù)值。還有些引腳信號為邊沿有效,即信號僅在上升(或下降)沿有效。信號的流向芯片與其他部件的聯(lián)系全靠在引腳上傳送信息,這些信息可能自芯片向外輸出,也可能從外部輸入到芯片,還可能是雙向的。CPU的地址線(AB)是輸出的,用以尋址存儲器單元或I/O端口數(shù)據(jù)線(DB)是雙向的,CPU可通過它從存儲器或外設(shè)讀取數(shù)據(jù),也能將數(shù)據(jù)輸出給它們CPU的某些控制線是輸出的,用來對外界提供控制,也有些控制線是輸入的,通過這些流入的信息,可以接受外界的聯(lián)絡(luò)信號引腳的復(fù)用在芯片的設(shè)計中,有時為了以少量引腳提供更多的功能,會采用引腳復(fù)用的做法。如8086中就采用地址、數(shù)據(jù)線分時復(fù)用的方法,即當(dāng)引腳上出現(xiàn)有效信號時,前一時刻總線上出現(xiàn)地址,后一時刻,其上傳輸?shù)氖菙?shù)據(jù)。三態(tài)能力“三態(tài)”能力是指有些引腳除了能正常輸出或輸入高、低電平外,還能輸出高阻狀態(tài)。當(dāng)它輸出高阻狀態(tài)時,表示芯片實際上已放棄了對該引腳的控制,使之“浮空”。這樣,與總線相連接的其它設(shè)備就可以獲得對總線的控制權(quán),系統(tǒng)轉(zhuǎn)為接受總線的設(shè)備控制下工作。8086的工作模式8086系統(tǒng)處于最小模式,就是系統(tǒng)中的CPU只有8086單獨(dú)一個處理器。在這種系統(tǒng)中,所有總線控制信息都直接由8086產(chǎn)生,系統(tǒng)中總線控制邏輯電路被減到最少,這些特征就是最小模式名稱的由來。最小模式適合于較小規(guī)模的系統(tǒng)。在最大模式系統(tǒng)中有多個微處理器,其中必有一個主處理器8086,其他處理器稱為協(xié)處理器或輔助處理器,承擔(dān)某一方面的專門工作。8086的引腳特性VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS1)INTA(QS0)TESTREADYRESETGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND123456789101112131415161718192040393837363534333231302928272625242322218086有40個引腳,其中第33(最小/最大模式)腳很關(guān)鍵,它是一條輸入線,可以加高電平,也可以加低電平,由該線所加電平的高或低電平?jīng)Q定24-31引腳的功能(24-31引腳的功能取決于8086工作在最小模式還是最大模式)其他引腳不受第33引腳的影響,我們把這部分引腳稱為一般引腳。最小模式1-40引腳的功能定義MN/MXVCC、GNDCLKAD15-AD0A19-A16/S6-S3BHE/S7ALERD,WRM/IODENRESETREADYTESTNMIINTRINTAHOLDMN/MXMN/MX=1,8086系統(tǒng)設(shè)置為最小模式在最小模式系統(tǒng)中,全部控制信號由8086提供VCC、GND8086VCC接入的電壓為+5V±10%GND有兩條(1,20腳)CLK該時鐘信號的占空比為33%(即1/3周期為低電平,2/3周期為高電平)。系統(tǒng)時鐘為CPU和總線控制邏輯電路提供了時序基準(zhǔn)(定時手段)。AD15-AD0AD15-AD0(地址/數(shù)據(jù)):分時復(fù)用的存儲器或端口的地址/數(shù)據(jù)總線。傳送地址時為單向的三態(tài)輸出,傳送數(shù)據(jù)時可雙向三態(tài)輸入/輸出。在總線周期的T1狀態(tài),輸出要訪問的存儲器或I/O端口的地址;T2狀態(tài)浮置成高阻狀態(tài),為傳輸數(shù)據(jù)做準(zhǔn)備;在T3狀態(tài),用于傳輸數(shù)據(jù);T4狀態(tài),結(jié)束總線周期。當(dāng)CPU響應(yīng)中斷,DMA方式時,這些線處于浮空狀態(tài)(高阻態(tài))。直接存儲器存取(DMA)方式,使數(shù)據(jù)的傳送不經(jīng)過CPU,由DMA控制器來實現(xiàn)內(nèi)存與外設(shè),或外設(shè)與外設(shè)之間的直接快速傳送。A19--A16是地址的高4位,在T1輸出地址。S6--S3是CPU的狀態(tài)信號,在T2-T4時輸出CPU狀態(tài)當(dāng)訪問存儲器時,T1輸出的A19--A16與AD15--AD0組成20位地址信號而訪問I/O端口時A19-A16=0000,AD15--AD0為16位地址信號狀態(tài)信號的S6=0,表示當(dāng)前8086與總線相連S5標(biāo)志中斷允許IF的狀態(tài)S4和S3組合指示當(dāng)前使用的段寄存器(00,01,10,11)分別指ES,SS,CS,DS在進(jìn)行DMA方式時,A19-A16/S6-S3浮空AD19-AD16/S6-S3BHE/S7

高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳,三態(tài),輸出

BHE

在T1時輸出,表示總線高8位AD15—AD8上的數(shù)據(jù)有效

S7在T2—T4時輸出,未賦予定義,作備用狀態(tài)信號線

BHE

和A0組合起來表示當(dāng)前數(shù)據(jù)在總線上的格式,如下表BHE、A0代碼表示的相應(yīng)操作BHEA0操作所用數(shù)據(jù)引腳00從偶地址讀/寫一個字AD15~AD010從偶地址讀/寫一個字節(jié)AD7~AD001從奇地址讀/寫一個字節(jié)AD15~AD80110從奇地址讀/寫一個字(分兩個總線周期實現(xiàn),首先作奇字節(jié)讀/寫,然后作偶字節(jié)讀/寫)AD15~AD8AD7~AD0ALE(AddressLatchEnable)ALE是8086在每個總線周期的T1狀態(tài)時發(fā)出的,作為地址鎖存器的選通信號,表示當(dāng)前地址/數(shù)據(jù)復(fù)用線上輸出的是地址信息,要求進(jìn)行地址鎖存,注意ALE端不能被浮空。RD、WRRD=0,表示8086為存儲器或I/O端口讀操作。當(dāng)DMA時,此線浮空。WR=0,表示8086為存儲器或I/O端口寫操作。當(dāng)DMA時,此線浮空。**具體到底是讀取存儲器某地址單元的內(nèi)容還是某輸入設(shè)備輸入端口的內(nèi)容,這取決于M/IO信號。**在最小模式中,信號M/IO、WR、RD組合起來決定了系統(tǒng)中數(shù)據(jù)傳送方式M/IO輸出,高,低電平均有效,三態(tài)。M/IO用于指示是存儲器還是I/O訪問M/IO=1,表示CPU與存儲器之間數(shù)據(jù)傳輸M/IO=0,表示CPU和I/O設(shè)備之間數(shù)據(jù)傳輸當(dāng)DMA時,此線浮空DEN(DataEnable)DT/R(DataTransmit/Recieve)DEN

是8086提供給數(shù)據(jù)收發(fā)器的選通信號。DT/R是控制其數(shù)據(jù)傳輸方向的信號。如果DEN有效,表示允許傳輸。此時,DT/R=1,進(jìn)行數(shù)據(jù)發(fā)送;DT/R=0,進(jìn)行數(shù)據(jù)接收。在DMA下,它們被置浮空。DEN、DT/R

RESET引起處理器立即結(jié)束現(xiàn)行操作。

CPU結(jié)束當(dāng)前操作后,對狀態(tài)標(biāo)志寄存器、IP、DS、SS、ES清零,而將CS設(shè)置為0FFFFH。

當(dāng)RESET=0時,CPU從0FFFFH開始執(zhí)行程序。RESETREADY準(zhǔn)備好信號線,輸入,高電平有效。當(dāng)READY=1時,表示內(nèi)存或I/O設(shè)備準(zhǔn)備就緒,馬上可以進(jìn)行依次數(shù)據(jù)傳輸。

CPU在每個總線周期的T3狀態(tài)開始對READY進(jìn)行采樣,如READY=0,CPU在T3之后,自動插入一個或幾個等待狀態(tài)TW。一旦READY=1,才進(jìn)入T4狀態(tài),完成數(shù)據(jù)傳輸過程,從而結(jié)束當(dāng)前總線周期。

等待測試信號,輸入。用于多處理器系統(tǒng)中,且只有在執(zhí)行WAIT指令時才使用。當(dāng)CPU執(zhí)行WAIT指令時,它就進(jìn)入空轉(zhuǎn)的等待狀態(tài),每隔5個時鐘周期對該線的輸入進(jìn)行一次測試。若TEST=1,則CPU將停止取下條指令而繼續(xù)等待,直至TEST=0。TESTNMI(Non-MaskableInterrupt)中斷請求不受中斷允許標(biāo)志位的影響,也不能用軟件進(jìn)行屏蔽只要此信號一有效,CPU就在現(xiàn)行指令結(jié)束后立即響應(yīng)中斷,進(jìn)入非屏蔽中斷處理程序NMI

當(dāng)INTR=1,表示外設(shè)提出了中斷請求。CPU在執(zhí)行每條指令的最后一個時鐘周期采樣此信號,若INTR=1且IF=1(中斷允許),則響應(yīng)中斷。INTR所謂中斷,是指在CPU正常運(yùn)行程序時,由于內(nèi)部事件、外部事件或由程序預(yù)先安排的事件所引起的CPU暫時停止正在運(yùn)行的程序,而轉(zhuǎn)去執(zhí)行請求CPU服務(wù)的內(nèi)部/外部事件或預(yù)先安排事件的服務(wù)程序,待服務(wù)程序處理完畢后又返回去繼續(xù)執(zhí)行被暫停的程序,這個過程稱為中斷

INTA(InterruptAcknowledge)有效表示對INTR的外部中斷請求作出響應(yīng),進(jìn)入中斷響應(yīng)周期。INTA信號實際上是位于連續(xù)周期中的兩個負(fù)脈沖,在每個總線周期的T2、T3和TW狀態(tài),INTA端為低電平。第一個負(fù)脈沖通知外部設(shè)備的接口,它發(fā)出的中斷請求已經(jīng)得到允許;外設(shè)接口收到第二個負(fù)脈沖后,往數(shù)據(jù)總線上放中斷類型碼(中斷向量號),從而CPU便得到了有關(guān)此中斷請求的詳盡信息。INTAHLDA(HoldAcknowledge)HOLD和HLDA是一對配合使用的總線聯(lián)絡(luò)信號。當(dāng)系統(tǒng)中的其他總線主控部件要占用總線時,向CPU發(fā)HOLD=1總線請求。如果此時CPU允許讓出總線,就在當(dāng)前總線周期完成時,發(fā)HLDA=1應(yīng)答信號,且同時使具有三態(tài)功能的地址/數(shù)據(jù)總線和控制總線處于浮空,表示讓出總線??偩€請求部件收到HLDA=1后,獲得總線控制權(quán),在這期間,HOLD和HLDA都保持高電平。當(dāng)請求部件完成對總線的占用后,HOLD=0總線請求撤消,CPU收到后,也將HLDA=0。這時,CPU又恢復(fù)了對地址/數(shù)據(jù)總線和控制總線的占有權(quán)。HOLD,HLDA最大模式24-31引腳的功能定義MN/MX=0,8086系統(tǒng)設(shè)置為最大模式在最大模式下,許多總線控制信號不是由8086直接產(chǎn)生的,而是通過總線控制器8288產(chǎn)生S2,S1,S0QS1,QS0PQ/GT1,PQ/GT0LOCKS0,S1,S2S0,S1,S2

的組合表示CPU總線周期的操作類型。8288總線控制器依據(jù)這三個狀態(tài)信號產(chǎn)生相關(guān)訪問存儲器和I/O端口的控制命令。下表給出S2,S1,S0對應(yīng)的數(shù)據(jù)傳輸過程的類型。S2、S1、S0的代碼組合對應(yīng)的操作S2

S1

S0

操作過程000001010011100101110111發(fā)出中斷響應(yīng)信號讀I/O端口寫I/O端口暫停取指令讀存儲器(內(nèi)存)寫存儲器(內(nèi)存)無源狀態(tài)(不起作用)QS1,QS0InstructionQueueStatusQS1,QS0組合起來提供前一個時鐘周期(指總線周期的前一個狀態(tài))中指令隊列的狀態(tài)標(biāo)志,以便讓外部對8086內(nèi)部指令隊列的動作跟蹤QS0,QS1,組合與隊列狀態(tài)的對應(yīng)關(guān)系見下表QS1,QS0與隊列狀態(tài)

QS1QS0隊列狀態(tài)0

01

10

10

1無操作從隊列緩沖器中取出指令的第一字節(jié)清除隊列緩沖器從隊列緩沖器中取出指令的第二字節(jié)以后部分RQ/GT0,RQ/GT1

RQ/GT0、RQ/GT1分別是最大模式時裁決總線使用權(quán)的信號可供CPU以外的兩個處理器用來發(fā)出使用總線的請求信號和接收CPU對總線請求信號的回答信號RQ為輸入信號,表示總線請求,GT為輸出信號,表示總線允許,當(dāng)它們兩個同時有請求時,RQ/GT0

的優(yōu)先權(quán)更高。當(dāng)8086使用總線,其RQ/GT為高電平(浮空);這時若8087或8089要使用總線,它們就使RQ/GT0輸出低電平(請求,相當(dāng)于HOLD信號)。經(jīng)8086檢測,若總線處于開放狀態(tài),則8086輸出的RQ/GT0變?yōu)榈碗娖剑ㄔ试S,相當(dāng)于HLDA信號),再經(jīng)8087或8089檢測出此允許信號,對總線進(jìn)行使用。待使用完結(jié),將RQ/GT0變成低電平(釋放),8086再檢測出該信號,又恢復(fù)對總線的使用。LOCK當(dāng)LOCK信號有效時,系統(tǒng)中其它總線主要部件就不能占用總線。LOCK信號是為避免多個處理器使用共有資源時產(chǎn)生沖突而設(shè)置的,為低電平表示CPU獨(dú)占總線使用權(quán)。LOCK信號由指令前綴LOCK產(chǎn)生,在LOCK前綴后面的一條指令執(zhí)行完后,便撤消了LOCK信號。此外,在8086的中斷響應(yīng)周期,LOCK信號也自動變?yōu)橛行щ娖?,以防止其他的總線主部件在中斷響應(yīng)過程中占有總線,而使一個完整的中斷響應(yīng)過程被間斷。在DMA時,LOCK端處于浮空。返回2.28086的系統(tǒng)組成和總線時序2.2.18086的系統(tǒng)組成2.2.28086的總線時序返回2.2.18086的系統(tǒng)組成系統(tǒng)組成的特點最小模式系統(tǒng)組成最大模式系統(tǒng)組成存儲器組織與分段I/O組織系統(tǒng)組成的特點MN/MX端接VCC或GND,決定工作在最小模式或最大模式8084A為時鐘發(fā)生器,外接15MHz振蕩源,經(jīng)8284A三分頻后,得5MHz主頻送到8086系統(tǒng)時鐘端CLK。除此之外,8284A還將外部的復(fù)位信號RESET和就緒信號READY實現(xiàn)同步后發(fā)給8086相應(yīng)引腳用3片8282作地址鎖存器,在T1時鎖存地址/數(shù)據(jù)復(fù)用線上的地址A19-A0和BHE信號當(dāng)系統(tǒng)所連的存儲器和外設(shè)較多時,需要增加數(shù)據(jù)總線的驅(qū)動能力系統(tǒng)組成還必須有其他的一些,如半導(dǎo)體存儲器RAM和ROM,外部設(shè)備的I/O接口,中斷控制管理部件等組件最小模式系統(tǒng)組成BHECLKREADYRESET等待狀態(tài)發(fā)生A19~A16AD15~AD0地址/數(shù)據(jù)8286收發(fā)器TOE8282鎖存器STBD15~D08284ARES8288總線控制器CLKMN/MX80861S0S1S2S0S1S2RDYOEDENDT/RALEA19~A0MRDCMWTCAMWCIORCIOWCAIOWCINTABHECLKREADYRESET等待狀態(tài)發(fā)生A19~A16AD15~AD0地址/數(shù)據(jù)8286收發(fā)器TOE8282鎖存器STBD15~D08284ARES8288總線控制器CLKMN/MX80861S0S1S2S0S1S2RDYOEDENDT/RALE最大模式系統(tǒng)組成總線控制器8288最大模式與最小模式在總線部件配置上最主要的差別就是總線控制器8288。系統(tǒng)因包含多個處理器,需要解決主處理器和協(xié)處理器之間的協(xié)調(diào)工作以及對總線的共享控制等問題。為此,最大模式系統(tǒng)中要采用8288總線控制器。系統(tǒng)的許多控制信號不再由8086直接發(fā)出,而是由總線控制器8288對8086發(fā)出的控制信號進(jìn)行變換和組合,以得到系統(tǒng)各種總線控制信號。8086最大模式系統(tǒng)的其他組件,例如,協(xié)處理器8087或8089,總線仲裁器8289,中斷控制器8259,存儲器,I/O接口等根據(jù)實際系統(tǒng)的需要選配,目的是支持多總線結(jié)構(gòu),形成一個多處理器系統(tǒng)。地址總線BHE控制總線

S0S1S28086CPUCLK8259A&STB8282鎖存器(3片)8286總線收發(fā)器(2片)OETDENALECLKS0S1S2AENIOBCENINTAMRDMWT8288總線控制器IORCIOWCMCE/PDEN8259A中斷控制器INTAWRDT/RSP/ENRD圖2-6總線控制器8288與系統(tǒng)的連接8288的兩種工作方式8288提供了兩種工作方式,由IOB——I/O總線工作方式信號決定。當(dāng)IOB接地,8288適用于單處理器系統(tǒng),稱作系統(tǒng)總線方式,此時,還要求AEN接地,CEN接+5V。圖2-6給出的就是這種方式的系統(tǒng)的連接。當(dāng)IOB接+5V,且CEN接+5V,8288則適合工作于多處理器系統(tǒng),稱作局部總線方式。存儲器組織與分段所謂存儲器分段技術(shù)就是把1MB空間分成若干邏輯段,每個邏輯段的容量≤64KB。段內(nèi)地址是連續(xù)的,段與段之間是互相獨(dú)立的。邏輯段可以在整個存儲空間浮動,即段的排列可以連續(xù)、分開、部分重疊或完全重疊,非常靈活。這里所謂的重疊是指存儲單元可以分屬于不同的邏輯段。存儲器的邏輯分段斷開排列A段B段C段D段E段40000H50000H60000H70000H連續(xù)排列部分重疊完全重疊

∑偏移地址段基址地址加法器物理地址段寄存器15150190圖2-8存儲器物理地址的形成存儲器物理地址的形成I/O組織8086系統(tǒng)和外部設(shè)備之間是通過I/O接口進(jìn)行相互傳輸信息的。每個I/O接口都有一個或幾個I/O端口,一個端口往往對應(yīng)于接口上一個寄存器或一組寄存器。微機(jī)要為每個I/O端口分配一個地址,稱端口地址。端口地址和存儲單元地址一樣,應(yīng)具有惟一的地址編碼。微機(jī)I/O端口有兩種編址方式(1)統(tǒng)一編址(2)獨(dú)立編址編址方式統(tǒng)一編址這種編址方式是將I/O端口和存儲單元統(tǒng)一編址,即把I/O端口置于存儲器空間,也看作是存儲單元。因此,存儲器的各種尋址方式均可用來尋址I/O端口。在這種方式下I/O端口操作功能強(qiáng),使用起來也很靈活,I/O接口與CPU的連接和存儲器與CPU的連接相似。但是I/O端口占用了一定的存儲空間,而且執(zhí)行I/O操作時,因地址位數(shù)長,速度較慢。獨(dú)立編址這種編址方法是將I/O端口進(jìn)行獨(dú)立編址,I/O端口空間與存儲器空間相互獨(dú)立。這就需要設(shè)置專門的輸入、輸出指令對I/O端口進(jìn)行操作。8086系統(tǒng)采用的就是這種獨(dú)立的I/O編址方式。端口地址說明8086使用A15~A0這16根地址線作為I/O端口地址線,可訪問端口最多可達(dá)64K個8位端口或32K個16位端口。和存儲器的字單元一樣,對于奇地址的16位端口的訪問,要進(jìn)行兩次操作才能完成。16位的I/O端口地址無需經(jīng)過地址加法器產(chǎn)生,因而不使用段寄存器。從AB總線上發(fā)出的端口地址仍為20位,只不過最高四位A19~A16為0。返回2.2.28086的總線時序最小模式下的讀寫總線周期最小模式下的讀寫總線周期8086的總線時序微型計算機(jī)系統(tǒng)內(nèi)的所有操作都要按統(tǒng)一的時鐘節(jié)拍進(jìn)行。8086的總線操作包括:存儲器的讀/寫操作、I/O端口的輸入/輸出操作、中斷響應(yīng)操作、總線請求和響應(yīng)操作等。每項總線操作都需要一定的時間,稱之為總線周期。典型的總線周期由4個時鐘周期(或稱T狀態(tài))構(gòu)成。不同的總線操作需要不同的總線信號,而“總線時序”則是對這些信號的變化進(jìn)行時間順序的描述。總線周期8086CPU為了要與存儲器及I/O端口交換數(shù)據(jù),需要執(zhí)行一個總線周期,即完成一次總線操作。依照數(shù)據(jù)傳輸?shù)姆较?,總線操作分為總線讀操作和總線寫操作??偩€讀操作指CPU從存儲器或I/O端口讀取數(shù)據(jù)總線寫操作指CPU將數(shù)據(jù)寫入存儲器或I/O端口一個基本的讀/寫周期包括4個T狀態(tài),即T1、T2、T3、T4。在存儲器和外設(shè)速度較慢時,要在T3之后插入一個或幾個等待周期Tw,以使其在數(shù)據(jù)傳送時能與CPU同步。最小模式下的讀/寫總線周期最大模式下的讀/寫總線周期總線空閑狀態(tài)最小模式下的總線讀操作①高為讀內(nèi)存低為讀I/O地址輸出狀態(tài)輸出地址輸出數(shù)據(jù)輸入④BHE③②⑤⑥⑦⑨⑩11輸出DT/RDENALERDAD15~AD0A19/S6~A16/S3BHE/S7M/IOCLKT1T2T3Tw(1+n)T4⑧最小模式下的總線寫周期操作AD15~AD0T1T2T3TwT4CLKM/IOA19/S6~A16/S3BHE/S7ALEWRDT/RDEN高為寫內(nèi)存低為寫I/O地址輸出狀態(tài)輸出地址輸出數(shù)據(jù)輸出④BHE⑩⑤⑨③⑧②②①⑥⑦輸出總線空閑狀態(tài)當(dāng)CPU不執(zhí)行總線周期時,總線接口部件不與總線打交道,進(jìn)入總線空閑周期。此時,CPU內(nèi)部指令隊列已滿,且EU單元正在進(jìn)行有效的內(nèi)部操作。所以說,總線空操作是總線接口部件對執(zhí)行部件的等待狀態(tài)??偩€空閑周期由一系列T1構(gòu)成,基本維持前一總線周期時的狀態(tài)。如果前一個總線周期為寫周期,AD15~AD0的數(shù)據(jù)仍被繼續(xù)驅(qū)動;如果前一個總線周期為讀周期,則AD15~AD0在空閑周期處于高阻狀態(tài)。最大模式下的讀總線周期T1T2T3T4一個總線周期無源狀態(tài)S2~S0CLKAD15~AD0BHE/S7A19/S6~A16/S3S2~S0*ALE*MRDC或*IORC*DT/R*DENA19~A16BHES7~S3浮空A15~A0D15~D0地址輸入數(shù)據(jù)T1T2T3T4一個總線周期CLKS2~S0BHE/S7A19/S6~A16/S3AD15~AD0*DT/R*ALE*MRDC或*IORC*MWTC或*IOWC*DEN高電平無源狀態(tài)A19~A16BHES7~S3A15~A0S2~S0輸出數(shù)據(jù)地址最大模式下的寫總線周期返回2.3高檔微處理器2.3.180386微處理器2.3.2Pentium微處理器返回2.3.180386微處理器主要特點內(nèi)部結(jié)構(gòu)內(nèi)部寄存器三種工作方式8086的存儲器管理80386微處理器的主要特點

采用全32位結(jié)構(gòu),其內(nèi)部寄存器、ALU和操作是32位,數(shù)據(jù)線和地址線均為32位提供32位外部總線接口,最大數(shù)據(jù)傳輸率為32MB/s,具有自動切換數(shù)據(jù)總線寬度的功能具有片內(nèi)集成的存儲器管理部件MMU,可支持虛擬存儲和特權(quán)保護(hù),虛擬存儲器空間可達(dá)64太字節(jié)(TB)

具有實地址方式、保護(hù)方式和虛擬8086方式3種工作方式采用了比8086更先進(jìn)的流水線結(jié)構(gòu),使其能高效、并行地完成取指、譯碼、執(zhí)行和存儲管理功能(指令隊列16字節(jié)長)返回80386的內(nèi)部結(jié)構(gòu)總線接口部件(BIU)指令預(yù)取部件(IPU)指令譯碼部件(IDU)指令執(zhí)行部件(EU)分段部件(SU)分頁部件(PU)返回

總線接口部件(BIU)微處理器與系統(tǒng)的接口其功能是:在取指令、取數(shù)據(jù)、分段部件請求和分頁部件請求時,有效地滿足微處理器對外部總線的傳輸要求。BIU能接收多個內(nèi)部總線請求,并且能按優(yōu)先權(quán)加以選擇,最大限度地利用所提供的總線寬度,為這些請求服務(wù)。指令預(yù)取部件(IPU)職責(zé)是從存儲器預(yù)先取出指令有一個能容納16條指令的隊列指令譯碼部件(IDU)職責(zé)是從預(yù)取部件的指令隊列中取出指令字節(jié),對它們進(jìn)行譯碼后存入自身的已譯碼指令隊列中,并且作好供執(zhí)行部件處理的準(zhǔn)備工作。如果在預(yù)譯碼時發(fā)現(xiàn)是轉(zhuǎn)移指令,可提前通知總線接口部件BIU去取目標(biāo)地址中的指令,取代原預(yù)取隊列中的順序指令。指令執(zhí)行部件(EU)由控制部件、數(shù)據(jù)處理部件和保護(hù)測試部件組成。控制部件中包含著控制ROM、譯碼電路等微程序驅(qū)動機(jī)構(gòu)。數(shù)據(jù)處理部件中有8個32位通用寄存器、算術(shù)邏輯運(yùn)算器ALU、一個64位桶形移位器、一個乘除法器和專用的控制邏輯,它負(fù)責(zé)執(zhí)行控制部件所選擇的數(shù)據(jù)操作。保護(hù)測試部件用于微程序控制下,執(zhí)行所有靜態(tài)的與段有關(guān)的違章檢驗。執(zhí)行部件EU中還設(shè)有一條附加的32位的內(nèi)部總線及專門的總線控制邏輯,以確保指令的正確完成。分段部件(SU)作用是應(yīng)執(zhí)行部件的請求,把邏輯地址轉(zhuǎn)換成線性地址。在完成地址轉(zhuǎn)換的同時還執(zhí)行總線周期的分段合法性檢驗。該部件可以實現(xiàn)任務(wù)之間的隔離,也可以實現(xiàn)指令和數(shù)據(jù)區(qū)的再定位。分段部件SU和分頁部件PU統(tǒng)稱為存儲器管理部件MMU(MemoryManagementUnit)分頁部件(PU)作用是把由分段部件產(chǎn)生的線性地址轉(zhuǎn)換成物理地址,并且要檢驗訪問是否與頁屬性相符合。為了加快線性地址到物理地址的轉(zhuǎn)換速度,80386內(nèi)設(shè)有一個頁描述符高速緩沖存儲器(TLB),其中可以存儲32項頁描述符,使得在地址轉(zhuǎn)換期間,大多數(shù)情況下不需要到內(nèi)存中查頁目錄表和頁表。試驗證明TLB的命中率可達(dá)98%。對于在TLB內(nèi)沒有命中的地址轉(zhuǎn)換,80386設(shè)有硬件查表功能,從而緩解了因查表引起的速度下降問題。系統(tǒng)總線分段部件SU分頁部件PU執(zhí)行部件EU預(yù)取部件IPU譯碼部件IDU總線部件BIU線性地址譯碼指令數(shù)據(jù)(操作和結(jié)果)有效地址物理地址32位指令字節(jié)指令80386功能結(jié)構(gòu)簡圖有效地址總線有效地址總線移位地址加法器乘/除寄存器棧狀態(tài)標(biāo)志ALU控制保護(hù)檢測部件控制控制ROM譯碼和定序位移總線指令和譯碼兩個譯碼指令隊列指令預(yù)譯碼內(nèi)部控制總線分段部件輸入加法器描述符寄存器界限和屬性PLA分頁部件加法器頁面超高速緩存器控制和特性PLA預(yù)取器界限檢測器指令預(yù)取16字節(jié)指令隊列指令流線性地址總線請求特權(quán)地址驅(qū)動器流水線I/O總線寬度控制多路收發(fā)器取代碼取頁數(shù)物理地址總線控制總線控制HOLD,INTR,NMI,ERRORBUSY,HLDA,RESETBE0~BE3A2~A3M/IO,D/C,W/R,LOCK,ADS,NA,BSIG,READYD0~D33232323234ALU總線323280386的內(nèi)部結(jié)構(gòu)圖返回80386內(nèi)部寄存器通用寄存器段寄存器系統(tǒng)地址寄存器指針和標(biāo)志寄存器控制寄存器調(diào)試寄存器測試寄存器通用寄存器8個32位的通用寄存器,是由8088/8086/80286的相應(yīng)16位通用寄存器擴(kuò)展成32位而成。名字分別是:EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP。每個32位寄存器的16位可單獨(dú)使用,與8088/8086/80286的相應(yīng)16位通用寄存器作用相同。同時,AX、BX、CX、DX寄存器的高、低8位也可分別當(dāng)作8位寄存器使用。段寄存器段寄存器80386設(shè)置6個16位段寄存器.CS,SS,DS和ES與8086完全相同,新增加的FS,GS是兩個支持當(dāng)前數(shù)據(jù)段的段寄存器。系統(tǒng)地址寄存器80386和80286一樣設(shè)置了4個專用的系統(tǒng)表地址寄存器GDTR,LDTR,IDTR和TR,用于保存保護(hù)方式下所需要的有關(guān)信息。指令指針和標(biāo)志寄存器80386設(shè)置了一個32位的指令指針EIP和一個32位的標(biāo)志寄存器EFLAGS。EIP是IP的擴(kuò)充,它可直接尋址4GB的實存空間。EFLAGS寄存器的低16位與80286標(biāo)志寄存器完全相同,高16位目前只設(shè)置了兩個新的標(biāo)志:虛擬方式標(biāo)志位VM(D17)和恢復(fù)標(biāo)志位RF(D16)。若VM=1,表示80386是在虛擬8086方式。若RF=1,表示下邊指令中的所有調(diào)試故障都被忽略??刂萍拇嫫?0386設(shè)置了4個32位的控制寄存器:CR0,CR1,CR2和CR3。它們和系統(tǒng)地址寄存器一起,保存著全局性的機(jī)器狀態(tài),主要供操作系統(tǒng)使用。

調(diào)試寄存器80386設(shè)有8個32位調(diào)試寄存器DR0~DR7,它們?yōu)檎{(diào)試提供了硬件支持。測試寄存器80386設(shè)置了8個32位的測試寄存器TR0~TR7,其中TR0~TR5由INTEL公司保留,用戶只能訪問TR6,TR7。TR6是測試控制寄存器,TR7是測試狀態(tài)寄存器,保存測試結(jié)果的狀態(tài)。返回80386的工作方式實地址方式保護(hù)虛擬地址方式虛擬8086方式實地址方式系統(tǒng)啟動后,80386自動進(jìn)入實地址方式。尋址方式、存儲器管理、中斷處理與8086一樣。操作數(shù)默認(rèn)長度為16位,但允許訪問32位寄存器(在指令前加前綴)。不用虛擬地址,最大地址范圍仍限于1MB,只采用分段方式,每段最大64KB。

存儲器中保留兩個固定的區(qū)域,一個是初始化程序區(qū)FFFFFH-FFFF0H,另一個為中斷向量表003FFH-00000H。80386的4特權(quán)級,在實地址方式下,程序在最高級0級上執(zhí)行,80386指令集除了少數(shù)指令外,絕大多數(shù)指令在實地址方式下都有效。虛擬存儲保護(hù)虛擬地址方式所謂保護(hù)是在執(zhí)行多任務(wù)操作時,對不同任務(wù)使用的虛擬存儲器空間進(jìn)行完全的隔離,保護(hù)每個任務(wù)順利執(zhí)行。保護(hù)方式是80386最常用的方式,系統(tǒng)啟動后先進(jìn)入實地址方式,完成系統(tǒng)初始化后立即轉(zhuǎn)到保護(hù)方式。這種方式提供了多任務(wù)環(huán)境下的各種復(fù)雜功能以及對復(fù)雜存儲器組織的管理機(jī)制。只有在保護(hù)方式下,80386才能發(fā)揮其強(qiáng)大的功能。保護(hù)虛擬地址方式特點存儲器采用虛擬地址空間、線性地址空間和物理地址空間三種方式來描述。在保護(hù)方式下,80386尋址機(jī)構(gòu)不同于8086,與80286類似,是通過描述符的數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)對內(nèi)存訪問的。強(qiáng)大的尋址空間。在保護(hù)方式下,80386可以尋址的空間大致64TB(246)。這個空間就是所謂的虛擬地址空間。使用80386的4級保護(hù)功能,可實現(xiàn)程序與程序、用戶與用戶、用戶與操作系統(tǒng)之間的隔離和保護(hù),為多任務(wù)操作系統(tǒng)提供優(yōu)化支持。在保護(hù)方式下,80386既可以進(jìn)行16位運(yùn)算,又可進(jìn)行32位運(yùn)算。無論是16位,還是32位的運(yùn)算,只要在保護(hù)方式下,它就能啟動其分頁單元,以支持虛擬內(nèi)存。虛擬8086方式所謂虛擬8086模式是指一個多任務(wù)的環(huán)境(Multitasking),即模擬多個8086的工作方式。在這個模式之下,80386被模擬成多個8086微處理器并行工作。虛擬8086模式允許80386將內(nèi)存劃分成若干部分,每個部分由操作系統(tǒng)分配給不同的應(yīng)用程序,而應(yīng)用程序、數(shù)據(jù)以及內(nèi)存管理程序等部分則存放在所分配的內(nèi)存中。因此操作系統(tǒng)可根據(jù)時間上的平均分配或優(yōu)先權(quán),分給每個應(yīng)用程序的執(zhí)行時間。虛擬8086方式主要特點可執(zhí)行原來采用8086書寫的應(yīng)用程序。段寄存器的用法與實地址方式一樣,即段寄存器內(nèi)容乘以16后加上偏移量即可得到20位的線性地址。可以使用分頁方式,將1MB分為256個頁面。分頁內(nèi)存是將內(nèi)存以4KB為單位進(jìn)行劃分,每一個4KB稱為一“頁”,因此可以比段尋址方式劃分要細(xì),從而可處理較小的應(yīng)用程序與數(shù)據(jù)段。盡管在V86方式下得到的線性地址是20位即1MB的空間,但由于線性地址可以通過頁表映射到任何32位物理地址,所以應(yīng)用程序可以在80386現(xiàn)有實際內(nèi)存的任何地方執(zhí)行。如果沒有分頁內(nèi)存管理能力,則小片段的程序或數(shù)據(jù)在段尋址模式下,仍需要占有數(shù)十KB的空間,且數(shù)據(jù)讀寫緩慢。實地址方式與虛擬8086方式的主要區(qū)別實地址方式的內(nèi)存管理只采用分段管理方式,不采用分頁管理,而虛擬8086方式既分段又分頁。存儲空間不同。實地址下的最大尋址空間為1MB,而虛擬8086方式下每個任務(wù)可以在整個內(nèi)存空間尋址,即1MB的尋址空間可以在整個存儲器范圍內(nèi)浮動,因此V86方式實際尋址空間為4GB。實地址方式下微處理器所有的保護(hù)機(jī)制都不起作用,因此不支持多任務(wù),而虛擬8086方式即可以運(yùn)行8086程序,又支持多任務(wù)操作,這就解決了80286保護(hù)方式既要維持保護(hù)機(jī)制,又要運(yùn)行8086程序的矛盾。虛擬8086方式可以是80386保護(hù)方式中多任務(wù)操作的一個任務(wù),而實地

溫馨提示

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

最新文檔

評論

0/150

提交評論