




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1微機原理與接口技術(shù)2普通高等教育“十一五”國家級規(guī)劃教材
微型計算機原理及應用
(第二版)候曉霞王建宇編著化學工業(yè)出版社教材:3微型計算機原理及應用學習指導趙邦信林嶸編著化學工業(yè)出版社教輔:4課程內(nèi)容第一章微型計算機概述第二章8086/8088指令系統(tǒng)
第三章匯編語言程序設(shè)計
第四章存儲器系統(tǒng)
第五章定時與計數(shù)
第六章輸入輸出控制
第七章串并行通信及其接口技術(shù)
第八章總線技術(shù)第九章D/A、A/D轉(zhuǎn)換與接口技術(shù)5學習并掌握先修課的有關(guān)內(nèi)容課堂: 聽講與理解、適當筆記課后: 認真看書、消化記憶、完成作業(yè)實驗: 充分準備、細心實驗成績: 期末考試成績80% +平時成績20%學習
要求學習方法建議6第一章微型計算機概述71.1微機發(fā)展概述一、微機的發(fā)展微處理器近40年的發(fā)展歷程,頭20年是Intel時代。每隔7、8年,處理器位數(shù)就會有一個較大的飛躍。如1971年第一片4位微處理器4004,1978年16位處理器8086,1985年32位處理器80386。計算機的發(fā)展核心部件為CPU,因此本小節(jié)主要以CPU的發(fā)展情況來分析微機的發(fā)展過程,以Intel公司的CPU為主線。8時間系列DB(內(nèi)/外)AB內(nèi)存?zhèn)渥?978808616/16201MBIBM用其制造PC機1979808816/8201MBIBM用其制造PC機19828028616/162416MB增加保護模式,處理超過1MB的內(nèi)存19858038632/32324GB內(nèi)存分頁,模擬多個8086同時工作198980486倍頻,使外部設(shè)備的發(fā)展跟上CPU主頻1993Pentium超標量結(jié)構(gòu),具有超頻性能9時間系列特點1996Pentiumpro(高能奔騰)片內(nèi)封裝了與原CPU同頻運行的256KB或512KB二級緩存,支持動態(tài)預測執(zhí)行1997PentiumMMx(多能奔騰)
一級緩存32KB,增加MMX(多媒體擴展指令)1997PIIPentiumpro的改進,鎖定CPU的倍頻數(shù)1998賽揚較好的超頻性能1999PIIICPU序列號,支持SSE(單一指令多數(shù)據(jù)流擴展),大大加強在三維圖像和浮點運算方面的能力2000賽揚II二級緩存與CPU之間的通道擴展到256位
10二、微型計算機的特點體積小,重量輕價格低可靠性高,結(jié)構(gòu)靈活應用面廣功能強,性能高1112CPU實物圖13習題與思考:試述微型計算機系統(tǒng)與一般計算機系統(tǒng)的聯(lián)系和差別。微型計算機系統(tǒng)有哪些特點?具有這些特點的根本原因是什么?141.2微機工作過程一、微機的基本結(jié)構(gòu)運算器控制器存儲器輸入輸出中央處理器俗稱:CPU主機計算機硬件I/O設(shè)備馮·諾依曼計算機的5個組成部分15存儲器輸入設(shè)備運算器控制器輸出設(shè)備鍵盤、掃描儀等存放程序、數(shù)據(jù)、結(jié)果運行程序,輸出結(jié)果顯示器、打印機等CPU16微機系統(tǒng)的組成
微型計算機再加上外設(shè)、電源、軟件等構(gòu)成微機系統(tǒng)。微機系統(tǒng)常用的外圍設(shè)備有顯示器、打印機、鍵盤等;系統(tǒng)軟件一般包括操作系統(tǒng)、編譯、編輯、匯編軟件等。微處理器、微型計算機與微型計算機系統(tǒng)三者之間的關(guān)系如下
17微型計算機采用總線結(jié)構(gòu)總線:連接多個功能部件或多個裝置的一組公共信號線。內(nèi)部總線:CPU內(nèi)部各功能部件和各寄存器的連線。外部總線:又稱系統(tǒng)總線,即連接CPU、存儲器和I/O接口的總線。一個部件只要符合總線標準,就可以連接到采用這種總線標準的系統(tǒng)中。微型機中目前主要采用的總線有:PCI總線、ISA總線、VESA總線等。雖然總線的標準不同,但都包括三類總線:地址總線(AB)、數(shù)據(jù)總線(DB)、控制總線(CB)。18CPU插座內(nèi)存條插座軟驅(qū)、硬盤IDE連接器電源連接器PCI總線插槽華碩P4T主板實物照片芯片組
I/O端口1920內(nèi)存讀寫時地址、數(shù)據(jù)、控制總線如何配合?b0為1或01.地址線控制數(shù)據(jù)線導通2.寫入數(shù)據(jù)時,寫入控制有效,數(shù)據(jù)線上的位信息(0或1)進入存儲器。3.讀出數(shù)據(jù)時,讀出控制有效,存儲器上的位信息(0或1)流向數(shù)據(jù)線。readwrite21對內(nèi)存一個字節(jié)的操作:數(shù)據(jù)總線和控制總線是公用的,每個字節(jié)的地址信號應不同,即同一時刻只有一根地址線有效。22地址線1為0電平,地址線2為1電平,第一個存儲器的存儲單元中的數(shù)據(jù)與數(shù)據(jù)線相連,在控制信號的作用下進行操作。地址線1為1電平,地址線2為0電平,第二個存儲器的存儲單元中的數(shù)據(jù)與數(shù)據(jù)線相連,在控制信號的作用下進行操作。23地址線1為1電平,地址線2為1電平,兩個存儲器的存儲單元中的數(shù)據(jù)與數(shù)據(jù)線都不相連。地址線1為0電平,地址線2為0電平,兩個存儲器的存儲單元中的數(shù)據(jù)都與數(shù)據(jù)線相連,造成數(shù)據(jù)總線混亂,不能進行正確操作。由此可見,在任何時候,最多只能有一個地址線信號為024內(nèi)存的容量為1M字節(jié),即1024×1024個字節(jié),CPU芯片不可能引出這么多的地址線,如何解決地址線單一控制的問題?地址線A0為0電平,存儲單元1有效;地址線A0為1電平,存儲單元2有效。一根地址線可以控制兩個存儲單元。25A0A1存儲單元000110111有效2有效3有效4有效2-4譯碼器兩根地址線最多可控制4個存儲單元.263根地址線用3-8譯碼器進行尋址,共尋址8個單元4根地址線用4-16譯碼器進行尋址,共尋址16個單元n根地址線最多可尋址2n個單元如果一個微機的CPU有16根地址引出線,那么這個微機最多能有多大容量的存儲器?64KB問:1MB容量的內(nèi)存需要多少根地址線?27地址總線(AddressBus)用來傳送地址的信號線地址總線的根數(shù)(位數(shù))決定了CPU可以直接尋址的內(nèi)存范圍。比如,有兩根地址線,每一根地址線都可以有0,1兩種狀態(tài),兩根地址線共有11011000這四種狀態(tài),即可尋址4個空間,4個字節(jié)。28同樣,3根地址線共有8種狀態(tài),為:0000010100111001011101114根地址線共有16種狀態(tài),為:0000000100100011010001010110011110001001101010111100110111101111地址線的根數(shù)(位數(shù))n與CPU可直接尋址范圍的大小之間的關(guān)系為:內(nèi)存范圍=2n298位地址線直接尋址范圍為256個字節(jié)。16位地址線直接尋址范圍為216=64KB8086的地址總線為20位,故8086的尋址范圍為220字節(jié),即1MB。地址總線的信號總是從CPU送出,所以地址總線是單向的。地址總線上的信號除了高低電平外,還可以處于高阻(浮空)狀態(tài),稱為單向、三態(tài)總線。30數(shù)據(jù)總線(DataBus)用來傳送指令代碼和數(shù)據(jù)的信號線,即傳送的是內(nèi)存中存儲的內(nèi)容,數(shù)據(jù)總線的位數(shù)決定CPU一次可以傳輸或處理多少字節(jié)的數(shù)據(jù),這個指標也稱數(shù)據(jù)總線的寬度。8086為16位微處理器,即數(shù)據(jù)總線可允許16位二進制數(shù)據(jù)一次通過,進行運算存儲處理。8088的內(nèi)部為16位數(shù)據(jù)總線,外部為8位數(shù)據(jù)總線目前的主流微機為64/32位數(shù)據(jù)總線。31準16位機16位機32數(shù)據(jù)總線是雙向的,既可以由CPU向存儲器和外設(shè)送出,又可以接收存儲器和外設(shè)的數(shù)據(jù)。同時,數(shù)據(jù)總線也存在高阻(浮空)的狀態(tài),為雙向、三態(tài)總線。33控制總線(ControlBus)用來傳送控制信號。根據(jù)微處理器的不同或連接的芯片、設(shè)備的不同,要求的具體控制信號的時序、狀態(tài)也不同,要根據(jù)實際的需要進行連接、設(shè)置??刂菩盘柧€,根據(jù)使用條件不同,有單向、雙向、三態(tài)或非三態(tài)信號線。34微機的內(nèi)部結(jié)構(gòu)與基本功能典型8位微處理器結(jié)構(gòu)用來完成算術(shù)和邏輯運算特殊的寄存器,有很多指令與其有關(guān)指示運算結(jié)果的狀態(tài)存放下一條指令的地址CPU中的存儲單元,8位35二、微機工作過程程序存儲:將編寫好的程序放入計算機的內(nèi)存,程序中的每條指令是按順序存放的。程序控制:控制器從存儲器中一條一條地取出指令、分析指令、根據(jù)不同的指令向各部件發(fā)出完成該指令的控制信號。程序在計算機是以指令的形式存儲的,指令是計算機可以識別的命令,是一系列的二進制代碼。以8位微機為例進行說明36欲完成的任務(wù):將整數(shù)10和20相加,將結(jié)果放入內(nèi)存地址為30H的單元中。分析:在計算機中,兩個數(shù)不能直接相加,首先應將一個整數(shù)10放入累加器AL中,再使AL與另一個整數(shù)20相加,結(jié)果就在AL中,然后將AL中的內(nèi)容放到指定的內(nèi)存單元中。37內(nèi)存中相應的機器碼如下:將一個數(shù)10放入AL中地址內(nèi)容20H0111010021H0000101022H0011010023H0001010024H0101001125H0011000026H01000011…………30HAL中的數(shù)加上20將AL中的數(shù)放入30H單元停止操作操作碼:將一個數(shù)放入AL中操作數(shù):即將放入AL中數(shù)值有一字節(jié)、兩字節(jié)和多字節(jié)指令38將一個數(shù)10放入AL中地址內(nèi)容20H0111010021H0000101022H0011010023H0001010024H0101001125H0011000026H01000011…………30HAL中的數(shù)加上20將AL中的數(shù)放入30H單元停止操作匯編語言MOVAL,10ADDAL,20MOV[30H],ALHLT00011110運行后的結(jié)果匯編語言與機器一一語言對應。39程序計數(shù)器,自動加11234地址總線5678數(shù)據(jù)總線取指階段示意40程序計數(shù)器,自動加11234地址總線567數(shù)據(jù)總線執(zhí)指階段示意完成一個指令周期41習題與思考:1.微型計算機由哪些部件組成?各部件的主要功能是什么?2.試說明程序存儲及程序控制的概念。3.請說明微型計算機系統(tǒng)的工作過程。4.試說明微處理器字長的意義。5.什么是微處理器?什么是微型計算機?什么是微機系統(tǒng)?它們之間的關(guān)系如何?42431.38086/8088微處理器8086/8088是Intel公司的第三代CPU芯片,是使用最為廣泛的微處理器。均為40腳雙列直插芯片。20根地址線,尋址范圍為220=1MB。這兩種CPU根據(jù)系統(tǒng)規(guī)模的大小,均有兩種工作模式,最大模式和最小模式,在這兩種模式的工作下,個別引腳信號的定義不同。一般工作在最大模式,最小模式引腳信號的定義在括號中。448088808645468086CPU8088CPU對外是16位數(shù)據(jù)總線對外是8位數(shù)據(jù)總線每次讀寫一個字每次讀寫一個字節(jié)指令隊列為6個字節(jié)指令隊列為4個字節(jié)AD0~AD15為數(shù)據(jù)/地址復用線AD0~AD7為數(shù)據(jù)/地址復用線有BHE(高字節(jié)允許)信號無BHE信號,而為狀態(tài)信號SS0存儲器與I/O接口選通線為M/IO存儲器與I/O接口選通線為M/IO47一、編程結(jié)構(gòu)8086/8088CPU從功能上可分為兩個部分總線接口部件BIU:BusInterfaceUnit執(zhí)行部件EU:ExecutionUnit總線接口部件功能:負責與存儲器、I/O傳送數(shù)據(jù)執(zhí)行部件的功能:完成指令的譯碼與執(zhí)行工作。4849段寄存器8086用20位地址尋址,但內(nèi)部的寄存器均為16位,所以要由段寄存器和其他寄存器相加形成20位地址進行尋址。指令隊列8086在執(zhí)行指令的同時,從內(nèi)存中取出下一條或下幾條指令放在指令隊列中,這樣,取指和執(zhí)值分開操作,可以節(jié)省時間,連續(xù)執(zhí)行指令50取指執(zhí)值取指執(zhí)值…………取指取指取指取指……執(zhí)值執(zhí)值執(zhí)值執(zhí)值BIU和EU同時進行,加快程序的執(zhí)行速度。BIU使用指令隊列電路來實現(xiàn)流水線操作,該隊列為先進先出隊列(FIFO),有兩個指針,允許預取6個字節(jié)的指令代碼。BIU的操作原則是:511)
每當隊列中有兩個字節(jié)的空間時,BIU就自動地順序預取后續(xù)指令代碼,并填入指令隊列中。2)
如果指令隊列已滿,且EU又無請求時,BIU不執(zhí)行任何總線周期,進入空閑狀態(tài)。3)
當EU在執(zhí)行中須向BIU申請從內(nèi)存或I/O口讀寫操作數(shù)時,若此時BIU空閑,則會立即完成EU請求;否則BIU先完成取指令操作,然后再進行操作數(shù)的讀寫總線周期(執(zhí)行EU)。4)
如果EU執(zhí)行轉(zhuǎn)移指令,則BIU清除隊列機構(gòu),從新地址取得指令,并立即送給EU去執(zhí)行。然后從后續(xù)指令序列中取指令填滿隊列。52指令指針寄存器IP:控制CPU指令的執(zhí)行順序,存放指令代碼在內(nèi)存中的相對地址,順序執(zhí)行時,CPU每取一個指令字節(jié),IP自動加1。53數(shù)據(jù)寄存器4個16位數(shù)據(jù)寄存器,每個都可以分為2個8位寄存器單獨使用。一般用于以下用途:AX:累加器ADDBX:基址寄存器BASECX:計數(shù)寄存器COUNTERDX:數(shù)據(jù)寄存器DATA54SP:堆棧指針寄存器,指示堆棧在內(nèi)存中的相對位置。BP:基數(shù)指針寄存器,存放數(shù)據(jù)在內(nèi)存中的基地址,使尋址方式更為靈活。SI:源操作數(shù)變址寄存器,存放源數(shù)據(jù)的地址。DI:目的操作數(shù)變址寄存器,存放目的數(shù)據(jù)的地址。SIDIsourcedestination55標志寄存器標志寄存器PSW:存放CPU當前的狀態(tài)。16位寄存器,8088/8086用了其中的9位,標志寄存器這9位的含義在程序的編寫和調(diào)試中起決定性的作用。56OFDFIFTFSFZFAFPFCF1514131211109876543210for(i=0;i<10;i++)s=s+i;MOVCX,10A1:……;開始計算……
DECCX;CX減1JNZA1;不為0,執(zhí)行A1
……語句標號指令中程序的分支,轉(zhuǎn)向均是通過判斷標志寄存器的標志位實現(xiàn)的。CPU在這時去判斷零標志ZF57CF:進位標志,運算器在加減法中出現(xiàn)進位或借位時該標志位置1。CarryFlagPF:奇偶標志,運算結(jié)果的低8位中1的個數(shù)為偶數(shù)時該標志位置1。ParityFlagAF:半進位標志,加法或減法時,位3向位4進位或借位時該標志位置1。用于BCD(十進制)運算。AuxiliaryZF:零標志,運算結(jié)果為零時該標志位置1。ZeroSF:符號標志位,當運算結(jié)果的最高位為1(負數(shù))時該標志位置1。SignOFDFIFTFSFZFAFPFCF151413121110987654321058OFDFIFTFSFZFAFPFCF1514131211109876543210TF:單步標志,該位置1時,8088/8086進入單步運行方式,即每條指令執(zhí)行完后都產(chǎn)生中斷,供用戶檢查各個寄存器及內(nèi)存的當前狀況,通常用于調(diào)試。TrapFlsgIF:中斷標志,該位置1時,8088/8086的CPU可以響應外部可屏蔽中斷,否則,將外部可屏蔽中斷屏蔽,即使有中斷申請信號也不予理會。
InterruptFlagDF:方向標志,該位置1時,串操作指令為自動減量指令,即從高地址向低地址處理字符串。串操作指令是對內(nèi)存中連續(xù)的數(shù)據(jù)進行自動成批操作。DirectionFlag59OFDFIFTFSFZFAFPFCF1514131211109876543210OF:溢出標志,在算術(shù)運算中,帶符號數(shù)的運算結(jié)果超出8位或16位帶符號數(shù)所能表達的范圍時,該標志位置1例如:8位數(shù)運算,當100+34時,結(jié)果為134,超過8位正數(shù)的最大值127,此時,該標志位置1。Overflow100:0110010034:00100010011001000010001010000110
+兩個正數(shù)相加,結(jié)果為負數(shù),這是由正數(shù)表示范圍溢出造成的正數(shù)和正數(shù)相加,負數(shù)和負數(shù)相加有可能造成溢出60OF溢出的判斷方法如下:加法運算:
若兩個加數(shù)的最高位為0,而和的最高位為1,則產(chǎn)生上溢出;若兩個加數(shù)的最高位為1,而和的最高位為0,則產(chǎn)生下溢出;兩個加數(shù)的最高位不相同時,不可能產(chǎn)生溢出。減法運算:若被減數(shù)的最高位為0,減數(shù)的最高位為1,而差的最高位為1,則產(chǎn)生上溢出;若被減數(shù)的最高位為1,減數(shù)的最高位為0,而差的最高位為0,則產(chǎn)生下溢出;被減數(shù)及減數(shù)的最高位相同時,不可能產(chǎn)生溢出。
61舉例:0101010000111001+01000101011010101001100110100011CF=0、AF=1、PF=1、ZF=0、SF=1、OF=1(兩正數(shù)相加結(jié)果為負)62OFDFIFTFSFZFAFPFCF1514131211109876543210是控制位,不是反映目前CPU的狀態(tài),而是由程序進行設(shè)置,使CPU根據(jù)設(shè)置的狀態(tài)運行。其他標志位則是反映CPU的當前運行狀態(tài),程序可以通過判斷這些標志進行轉(zhuǎn)向、循環(huán)等。63二、存儲器組織結(jié)構(gòu)8086/8088有20根地址線,可尋址1MB空間的內(nèi)存,當程序運行時,程序代碼,數(shù)據(jù)等被編譯程序按照一定的規(guī)則放在內(nèi)存中。CPU也依據(jù)同樣的規(guī)則取指、執(zhí)值、存取數(shù)據(jù)、控制程序?!绦駽PU內(nèi)存64程序在內(nèi)存中是分段存放的,即指令代碼、數(shù)據(jù)、堆棧分開存放,每段有明確的首地址,段和段之間的地址可以連續(xù)、斷開、重疊。代碼段(CODE):存放CPU可以運行的指令,程序代碼;數(shù)據(jù)段(DATA):存放程序中定義的變量等數(shù)據(jù);堆棧段(STACK):在程序調(diào)用時存放調(diào)用處的地址、寄存器的內(nèi)容、調(diào)用的參數(shù)等,在調(diào)用完后對寄存器進行恢復;存放一些臨時保存的數(shù)據(jù);附加數(shù)據(jù)段(EXTRA):與數(shù)據(jù)段配合使用,使編程更加靈活每類段又可以由多個邏輯段組成,每個邏輯段的長度不大于64KB。65…………碼段堆棧段數(shù)據(jù)段…………碼段1堆棧段數(shù)據(jù)段碼段2每段的長度均小于等于64KB,即16位寄存器能表示的最大范圍。668086/8088有20根地址線,但每個寄存器只有16位,如何能正確地給出指令或數(shù)據(jù)的唯一的地址?內(nèi)存空間的唯一地址(20位)稱為物理地址是由兩部分組成的:
基地址(絕對地址)×16+偏移地址(相對地址)基地址16位偏移地址0000XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+20位物理地址67例如:基地址:21ABH偏移地址:1678H物理地址:21AB01678+2312823128H每一個邏輯段中,基地址是由計算機編譯系統(tǒng)分配的,在這個邏輯段中不能改變,而偏移地址從0000H開始,最長到FFFFH,所以一個邏輯段的長度不能超過64KB。68…………碼段堆棧段數(shù)據(jù)段物理地址:XXXX0H其中:XXXX為基地址…………000200010000……偏移地址從0000H起基地址與偏移地址用兩個寄存器分別存放,在同一邏輯段尋址時只對偏移地址進行變動即可。69段地址寄存器段地址寄存器:分別存放正在處理的相應段的基地址。CS:CODE代碼段DS:DATA數(shù)據(jù)段SS:STACK堆棧段ES:EXTRA附加段段地址寄存器的內(nèi)容左移4位,與相應段的偏移地址相加,形成20位的物理地址。70其中:代碼段的偏移地址是由指令指針寄存器IP給出的。這個寄存器不能由指令直接賦值。指令指針寄存器當微處理器復位時,CS中的內(nèi)容為FFFFH,IP的內(nèi)容為0000H,所以計算機復位后的第一條指令是從FFFF0H處開始運行的71習題與思考1.8086/8088CPU由哪兩部分組成?它們的主要功能各是什么?它們之間是如何協(xié)調(diào)工作的?
2.8086/8088CPU中有哪些寄存器?各有什么用途?標志寄存器F有哪些標志位?各在什么情況下置位?
3.8086/8088系統(tǒng)中儲存器的邏輯地址和物理地址之間有什么關(guān)系?表示的范圍各為多少?4.已知當前數(shù)據(jù)段位于儲存器的A1000H到B0FFFH范圍內(nèi),問DS=?5.某程序數(shù)據(jù)段中存有兩個數(shù)據(jù)字1234H和5A6BH,若已知DS=5AA0H,它們的偏移地址分別為245AH和3245H,試畫出它們在儲存器中的存放情況。72三、8088/8086CPU引線及其功能具有40根管腳的集成芯片。引腳分成三組,分別為地址引線、數(shù)據(jù)引線、控制引線。1.數(shù)據(jù)地址線分時復用地址引線有20條,數(shù)據(jù)引線有16條,為了減少外接引線的數(shù)目,數(shù)據(jù)引線和地址引線的低16位是分時復用的。73CPU在總線上每完成一次數(shù)據(jù)的傳送稱為一個總線周期。一個總線周期由4個時鐘周期T1~T4組成。在8086的數(shù)據(jù)、地址復用引腳上,T1時刻出現(xiàn)的是地址信號,T2~T4時刻出現(xiàn)的是數(shù)據(jù)信號。16根信號線,有低有高,圖為簡化形式7475地址信號連接地址總線,數(shù)據(jù)信號連接數(shù)據(jù)總線,如何能將同一根信號線上的不同時段的信號送至不同的目的地?在8086中,隨地址信號一起發(fā)出的還有第25腳的ALE信號(地址使能):AddressEnable,該信號打開地址鎖存器鎖存地址信號。ALE信號76T1時刻,鎖存器開啟,鎖存地址信號至地址總線端。77地址線的高4位也是復用線:地址/狀態(tài)復用線。T1時刻,發(fā)送地址信號;T2~T4時刻,輸出CPU當前的狀態(tài)信息,即使用狀況。A16/S3~A19/S6S6:為0指示8086當前與總線相連(S6一直為0)S5:表明中斷運行標志IF的當前狀況。為1,當前允許可屏蔽中斷請求;為0,禁止。S4,S3合起來表示當前正在使用哪一個段寄存器S3S4說明00正在使用ES01SS10CS或未使用11DS78792.最大最小工作模式最小工作模式:微機系統(tǒng)中只有一個CPU,所有總線控制信號都直接由8086產(chǎn)生,系統(tǒng)中總線控制邏輯電路被減少到最小。最大工作模式:微機系統(tǒng)中允許有兩個或兩個以上微處理器存在,其中一個主處理器是8086,其他的稱為協(xié)處理器。與8088/8086CPU配合工作的協(xié)處理器有兩類,一類是數(shù)值協(xié)處理器8087.另一類是輸入/輸出協(xié)處理器8089。80最大最小模式控制腳33腳是最大最小工作模式控制腳,接高電平為工作在最小模式;接低電平為工作在最大模式。81輸入輸出S1S2S3D1D2D3D4D5D6D7D80000111111100110111111010110111110111110111110011110111101111110111101111110111111111110一組輸入對應著唯一的一根輸出線有效。8212345輸出地址地址選通讀信號有效數(shù)據(jù)從內(nèi)存輸出數(shù)據(jù)上數(shù)據(jù)總線8312345輸出地址地址選通寫信號有效數(shù)據(jù)進入內(nèi)存數(shù)據(jù)從CPU上數(shù)據(jù)總線843.CPU引腳信號詳細分析8086的控制信號共有17條,一個VCC,兩個GND,17+20+3=40。其中17根控制信號中,9根控制信號與最大最小模式無關(guān)(共用),8根控制線在最大模式與最小模式中分別有不同的定義。85共用控制信號19管腳時鐘信號CLK,輸入時鐘信號時鐘信號:為CPU和總線控制邏輯電路提供時序,頻率4.77MHz,占空比為33%,即1/3周期高電平,2/3周期低電平。8086微機的時鐘信號是由8284時鐘發(fā)生器提供的。868284與8086連接電路8284可接外時鐘或本地晶振。在微機系統(tǒng)中,接本地晶振14.31818MHz,經(jīng)3分頻后提供給CPU。OSC:晶振頻率,提供給顯示器用。PCLK:晶振6分頻,供外設(shè)用。將控制總線的復位信號和"準備好"信號送入8284與時序同步后再送入CPU。87NMI(Non-MaskableInterrupt)17引腳,非屏蔽中斷請求信號,輸入。上升沿觸發(fā)(邊沿觸發(fā))。非屏蔽中斷請求不受中斷標志IF的影響,不能用軟件控制(屏蔽),每當該端輸入一個正沿觸發(fā)信號時,CPU就會在當前指令周期結(jié)束后,進入中斷類型號為2的中斷處理程序,在8086微機中,該中斷用于I/O與內(nèi)存的奇偶校驗。88CPU在執(zhí)行每條指令的最后一個時鐘周期會對INTR信號進行采樣,若CPU的IF為1且INTR信號為高電平,CPU會在現(xiàn)行指令結(jié)束后響應中斷請求,進入中斷處理程序。可屏蔽中斷請求18引腳,可屏蔽中斷請求信號,輸入。高電平有效(電平觸發(fā))。INTR(InterruptRequest)8932引腳,讀信號,輸出。低電平有效。CPU根據(jù)指令發(fā)出的讀內(nèi)存或I/O口的命令信號,具體是讀內(nèi)存或是讀I/O口要由另外的信號決定。被讀的內(nèi)存或I/O端口,利用這個信號打開數(shù)據(jù)門,使數(shù)據(jù)進入數(shù)據(jù)總線供CPU讀取。讀信號輸出9012345輸出地址地址選通讀信號有效數(shù)據(jù)從內(nèi)存輸出數(shù)據(jù)上數(shù)據(jù)總線91最大最小模式控制腳33腳是最大最小工作模式控制腳,接高電平為工作在最小模式;接低電平為工作在最大模式。33引腳,最大最小模式控制信號,輸入。(Min/Max)9222引腳,準備好信號,輸入。高電平有效。REDAY由所訪問的內(nèi)存或I/O設(shè)備發(fā)回的響應信號,高電平有效,當信號有效時,表示內(nèi)存或I/O設(shè)備準備就緒,馬上就可進行一次數(shù)據(jù)傳輸。準備好信號93CPU在每個總線周期的T3狀態(tài)開始對READY信號采樣,如果檢測到該信號為低電平(未準備好),就插入一個等待周期Tw,在Tw狀態(tài)中繼續(xù)對該信號采樣,如仍為低電平,則繼續(xù)插入Tw,Tw狀態(tài)可以插入多個,直到REDAY信號為高電平時,才進入T4狀態(tài),完成總線周期檢測3次READY信號,插入2個等待周期。9423引腳,測試信號,輸入。低電平有效。和WAIT指令結(jié)合使用,在CPU執(zhí)行WAIT指令時,CPU處于空轉(zhuǎn)狀態(tài)進行等待,并每隔5個時鐘周期重復檢測該信號,當檢測到該信號為低電平時,等待狀態(tài)結(jié)束,CPU繼續(xù)執(zhí)行WAIT后的指令。WAIT指令和該信號是使處理器與外設(shè)同步用的測試信號95WAITMOVBX,2000HMOVAL,3XLATOUT40H,ALMOVAL,5XLATOUT40H,ALCPU空轉(zhuǎn),每5個時鐘周期檢測一次TEST管腳信號當TEST管腳信號為低電平,CPU繼續(xù)運行下面程序9621引腳,復位信號,輸入。高電平有效。RESET復位信號高電平寬度至少大于4個時鐘周期。當信號有效時,CPU結(jié)束當前操作,并對CPU內(nèi)的標志寄存器,IP,DS,SS,ES及指令隊列清零,而將CS設(shè)置為FFFFH,當復位信號變?yōu)榈碗娖綍r,CPU從FFFF0H處開始執(zhí)行程序。復位信號97通常在FFFF0H處存放一條段間轉(zhuǎn)移JMP指令,將指令轉(zhuǎn)移到系統(tǒng)程序的實際開始處.9834引腳,高8位數(shù)據(jù)總線允許/狀態(tài)復用引腳,輸出。(BusHighEnable/Sattus)8086CPU特有信號,在8088中,該引腳或為高電平(最大模式),或與當前總線周期的讀寫動作有關(guān)(最小模式)。高位數(shù)據(jù)總線允許8086是16位數(shù)據(jù)總線,而8088是8位數(shù)據(jù)總線。998086存儲器結(jié)構(gòu)圖由兩片512KB的存儲體構(gòu)成,每片的地址總線為19位,分別接CPU地址總線的A19~A1端,數(shù)據(jù)總線為8位,奇地址存儲體接CPU數(shù)據(jù)總線的高8位,偶地址存儲體接CPU數(shù)據(jù)總線的低8位。100奇地址存儲體的片選端接CPU的端,當為低電平時奇地址存儲體輸出/輸入數(shù)據(jù),即CPU高8位數(shù)據(jù)總線上有數(shù)據(jù);偶地址存儲體的片選端接CPU的A0端,當A0為低電平時偶地址存儲體輸出/輸入數(shù)據(jù),即CPU低8位數(shù)據(jù)總線上有數(shù)據(jù)。101是控制CPU高8位數(shù)據(jù)總線的允許信號,A0端是控制CPU低8位數(shù)據(jù)總線上的允許信號。102MOVAX,[00000010B]將內(nèi)存首地址為00000010開始的一個字(兩個字節(jié))的內(nèi)容送入AX中103高8位:20H低8位:A1H此時:A0為0,BHE為0MOVAX,[00000010B]即奇偶存儲體同時有效,對應相同的單元001H的內(nèi)容同時送上數(shù)據(jù)總線,進入AX,AX的內(nèi)容20A1H。對CPU而言,地址為00000010和00000011。0010H0011HA0A1A2A3104MOVAL,[00000010B]將內(nèi)存首地址為00000010開始的一個字節(jié)的內(nèi)容送入AL中。105低8位:A1H此時:A0為0,BHE為1MOVAL,[00000010B]即偶存儲體有效,對應的單元001H的內(nèi)容送上數(shù)據(jù)總線低8位,進入AL,AL的內(nèi)容A1H。對CPU而言,地址為00000010。0010H106MOVAL,[00000011B]將內(nèi)存首地址為00000011開始的一個字節(jié)的內(nèi)容送入AL中。107低8位:20H此時:A0為1,BHE為0MOVAL,[00000011B]即奇存儲體有效,對應的單元001H的內(nèi)容送上數(shù)據(jù)總線高8位,在CPU內(nèi)部總線的調(diào)節(jié)下,進入AL,AL的內(nèi)容20H對CPU而言,地址為00000011。0010H108MOVAX,[00000011B]將內(nèi)存首地址為00000011開始的一個字(兩個字節(jié))的內(nèi)容送入AX中。0000001100000100109低8位:20H首先:A0為1,BHE為0MOVAX,[00000011B]即奇存儲體有效,對應的單元001H的內(nèi)容送上數(shù)據(jù)總線高8位,在CPU內(nèi)部總線的調(diào)節(jié)下,進入AL,AL的內(nèi)容20H對CPU而言,地址為00000011。第1步高8位:A2H110低8位:20H其次:A0為0,BHE為1MOVAX,[00000011B]即偶存儲體有效,對應的單元010H的內(nèi)容送上數(shù)據(jù)總線低8位,在CPU內(nèi)部總線的調(diào)節(jié)下,進入AH,AH的內(nèi)容A2H對CPU而言,地址為00000100。AX:A220H第2步高8位:A2H111A0操作數(shù)據(jù)引腳00從偶地址開始讀寫一個字(16位)AD15~AD010從偶地址單元或端口讀寫一個字節(jié)(8位)AD7~AD001從奇地址單元或端口讀寫一個字節(jié)(8位)AD15~AD801從奇地址單元開始讀寫一個字(16位)(在第一個總線周期,將低8位數(shù)據(jù)送至AD15~AD8,在第二個總線周期,將高8位字節(jié)送至AD7~AD0。在CPU內(nèi)部進行調(diào)整AD15~AD810AD7~AD0112如果要讀寫從奇地址單元開始的一個字,需要2個總線周期。一般讀寫從偶地址開始的字,地址線A0不參加存儲器片內(nèi)單元的選取。113在8086中,參與了地址的選取。在T2~T4及Tw狀態(tài),該引腳輸出信號S7,但S7并未賦予實際的意義,S7為1。1148086/8088有8根信號線與系統(tǒng)工作模式有關(guān)。最小工作模式(括號內(nèi)管腳定義):微機系統(tǒng)中只有一個CPU,所有總線控制信號都直接由8086產(chǎn)生,系統(tǒng)中總線控制邏輯電路被減少到最小。11524引腳,中斷響應信號,輸出,為連續(xù)兩個總線周期的負脈沖。(InterruptAcknowledge)當外設(shè)向CPU申請可屏蔽中斷INTR,CPU如果允許中斷,則連續(xù)發(fā)出兩個負脈沖給外設(shè)。第一個負脈沖通知外設(shè)已受理中斷;外設(shè)在第二個負脈沖時向數(shù)據(jù)總線上發(fā)送中斷類型碼。中斷響應信號116第1個負脈沖第2個負脈沖外設(shè)發(fā)送中斷類型號進入數(shù)據(jù)總線11725引腳,地址鎖存允許信號,輸出。高電平有效。ALE(AddressLatchEnable)T1時刻有效,用來鎖存AD復用線上的地址信號。地址鎖存118T1時刻,鎖存器開啟,鎖存地址信號至地址總線端。11926引腳,數(shù)據(jù)允許信號,輸出。低電平有效。(DataEnable)T2時刻有效,延至T4,將AD復用線連接到數(shù)據(jù)總線上。數(shù)據(jù)允許使能端120121連接雙向數(shù)據(jù)緩沖器的使能端,使CPU的AD復用總線與數(shù)據(jù)總線在T2~T4時刻連接,輸入輸出數(shù)據(jù)。12227引腳,數(shù)據(jù)收發(fā)輸出方向控制信號,輸出。(DataTransmit/Receive)用來控制雙向數(shù)據(jù)緩沖器數(shù)據(jù)的傳輸方向,高電平為輸出數(shù)據(jù),低電平為輸入數(shù)據(jù),具體的高低電平由指令(軟件)控制。數(shù)據(jù)方向123高電平:數(shù)據(jù)由A->B;低電平:數(shù)據(jù)由B->A12428引腳,存儲器、I/O控制信號,輸出。(Memory/InoutandOutput)用來控制CPU進行的是對存儲器的訪問還是對外部輸入輸出口的訪問。高電平為對存儲器的訪問,低電平為對I/O口的訪問,具體的高低電平由指令(軟件)控制。存儲器/IO選擇125在8086微機系統(tǒng)中,存儲器的地址與I/O口重合,即地址總線上的一個地址信號(300H),即可以訪問到存儲器的300H單元,又可以訪問到I/O口的300H單元,讀寫信號也是公用的,所以讀寫信號必須要與信號配合使用,才能區(qū)分出所訪問的對象去I/O接口去內(nèi)存控制總線CPU產(chǎn)生126MOVAL,[30H]INAL,30H0010001127存儲器讀寫信號12829引腳,寫信號,輸出(Write)低電平有效,表示CPU正在進行寫存儲器或I/O口的操作。寫信號12931引腳,總線保持請求信號,輸入。HOLD(HoldRequest)高電平有效,除CPU外其他主模塊向CPU發(fā)出的請求占用總線的申請信號??偩€請求13030引腳,總線保持響應信號,輸出。HLDA(HoldAcknowledge)高電平有效,CPU將總線(地址、數(shù)據(jù)、控制)浮空,發(fā)信號給請求端,同意出讓總線。在出讓總線期間,HOLD與HLDA均為高電平,HOLD變?yōu)榈碗娖剑硎痉艞墝偩€的占有。總線請求響應131最小工作模式最小工作模式下的系統(tǒng)典型配置132133MOV[80H],AX:高電平:低電平:高電平:高電平10111001011001111243356134MOVAX,[80H]:低電平:高電平:低電平:高電平001100110100111124356135INAX,80H:低電平:高電平:低電平:低電平136OUT80H,AX:高電平:低電平:高電平:低電平137:CPU(總線)操作的目的地。:CPU連接的數(shù)據(jù)緩沖器的方向控制。:操作目的地的數(shù)據(jù)方向控制。:操作目的地的數(shù)據(jù)方向控制。1388086/8088有8根信號線與系統(tǒng)工作模式有關(guān)。最大工作模式:微機系統(tǒng)中允許有兩個或兩個以上微處理器存在,其中一個主處理器是8086,其他的稱為協(xié)處理器。在最大模式中,大部分總線控制信號由總線控制器8288產(chǎn)生,可以構(gòu)成大規(guī)模的控制系統(tǒng)。139總線周期狀態(tài)信號26~28引腳,總線周期狀態(tài)信號,輸出。這三個信號組合起來可以指出當前總線周期中所進行的數(shù)據(jù)傳輸過程的類型。將其送入8288進行譯碼,產(chǎn)生對存儲器及I/O口訪問的控制信號。(BusCycleState)140說明000輸出中斷響應信號INTA001讀I/O端口010寫I/O端口011暫停100取指令101讀存儲器110寫存儲器111無源狀態(tài)1418288結(jié)構(gòu)框圖由總線仲裁信號控制142有源狀態(tài):對來說,在前一個總線周期的T4狀態(tài)和本總線周期的T1,T2狀態(tài)中,至少有一個信號為低電平,每種情況下,都對應了某一個總線操作過程,通常稱為有源狀態(tài)。在總線周期T3和Tw狀態(tài)且READY信號為高電平時,為高電平,此時,一個總線操作過程就要結(jié)束,另一個新的總線周期還未開始,通常稱為無源狀態(tài)。而在總線周期的T4狀態(tài),中任何一個或幾個信號的改變,都意味著下一個新的總線周期的開始。14331引腳,總線請求輸入、總線請求允許信號輸出,輸入輸出雙向。(Request/Grant)CPU外的總線主設(shè)備向CPU申請總線和CPU接受申請后的應答信號。信號是雙向的,方向相反??偩€請求144要占有總線的主設(shè)備輸送一個寬度為一個時鐘周期的脈沖給CPU,表示請求使用總線。CPU在當前總線周期的T4或下一個總線周期的T1狀態(tài)輸出一個寬度為一個時鐘周期的脈沖給該總線主設(shè)備,作為出讓總線的應答信號,從下一個時鐘周期開始,CPU釋放總線。當外設(shè)使用完畢時,該總線主設(shè)備輸出一個時鐘周期的脈沖給CPU表示總線請求的結(jié)束,于是CPU在下一個時鐘周期又開始控制總線。每一次總線主設(shè)備的改變都需要這樣的3個脈沖,脈沖為低電平有效。在兩個總線請求之間,至少要有一個空時鐘周期。14530引腳,總線請求輸入、總線請求允許信號輸出,輸入輸出雙向。(Request/Grant)優(yōu)先級低于第31引腳總線請求14629引腳,總線封鎖信號,輸出。當該引腳上的信號為低電平時,總線上的其他主控設(shè)備不能占有總線。該信號由指令前綴LOCK產(chǎn)生,帶有LOCK前綴的指令執(zhí)行完后,便撤銷了引腳信號。總線封鎖147MOVBX,2000HMOVAL,3XLATOUT40H,ALMOVAL,5XLATOUT40H,ALLOCK指令前綴運行該指令時,LOCK管腳上的信號為低電平14824,25引腳,指令隊列狀態(tài)信號,輸出。QS1,QS0(InstructionQueueStatus)提供了前一個時鐘周期T中指令隊列的狀態(tài),以便于外部對8086CPU內(nèi)部指令隊列的動作跟蹤。指令隊列狀態(tài)149指令隊列150QS1QS0含義00無操作01指令隊列中操作碼的第一個字節(jié)10隊列為011指令隊列中非第一個操作碼字節(jié)151最大工作模式最大工作模式下的系統(tǒng)典型配置152習題與思考:1.8086/8088系統(tǒng)中為什么一定要有地址鎖存器?需要鎖存哪些信息?2.什么是引腳的分時復用?為什么要分時復用?請說出8086/8088CPU有哪些引腳是分時復用引腳?
3.試從內(nèi)部組成、外部結(jié)構(gòu)兩個方面說明8086和8088之間的差別。153154155四、典型時序分析了解微處理器時序可以進一步理解微處理器指令執(zhí)行的過程,掌握各部件與系統(tǒng)總線的連接。指令周期:執(zhí)行一條指令的時間。不同的指令執(zhí)行的時間是不同的,不同的指令長短也是不同的??偩€周期:CPU從存儲器或I/O端口存取一個字節(jié)所用的時間。總線周期包括:存儲器讀/寫;I/O口讀/寫;中斷響應。一般由四個時鐘周期組成。時鐘周期:相鄰兩個時鐘脈沖上升沿之間的時間間隔。CPU所有的操作都以它為基準。156學習CPU時序的目的:可以進一步了解在微機系統(tǒng)的工作過程中,CPU各引腳上信號之間的相對時間關(guān)系??梢陨钊肓私庵噶畹膱?zhí)行過程;
可以使我們在程序設(shè)計時,選擇合適的指令或指令序列,以盡量縮短程序代碼的長度及程序的運行時間。因為對于實現(xiàn)相同的功能,可以采用不同的指令或指令序列,而這些指令或指令序列的字節(jié)數(shù)及執(zhí)行時間有可能是不相同的。3.對于學習各功能部件與系統(tǒng)總線的連接及硬件系統(tǒng)的調(diào)試,都十分有意義。157最小模式下的典型時序(讀數(shù)據(jù))158T1:
地址A0~A19上線ALE:下降沿鎖存地址:進入低電平,持續(xù)到T4T2:A19~A16變?yōu)镾3~S7:有效,打開數(shù)據(jù)總線
溫馨提示
- 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年5G網(wǎng)絡(luò)優(yōu)化工程師理論考試復習題庫(含答案)
- 工會換屆工作總結(jié)
- 七下語文知識點一單元
- 2024-2025學年下學期高三英語人教版同步經(jīng)典題精練之語法填空
- 八省部分重點中學2025屆高三下學期3月聯(lián)合測評(T8聯(lián)考)數(shù)學試題
- 幼兒園獲獎公開課:小班體育活動《螞蟻爬》課件
- 企業(yè)組長培訓心得
- 語文-北京市朝陽區(qū)2025年高三年級第二學期質(zhì)量檢測一(朝陽一模)試題和答案
- 地月通信中繼設(shè)備安裝工程2025深空網(wǎng)絡(luò)接入條款
- 聲譽風險培訓
- 變電所倒閘操作課件
- 光纜的敷設(shè)方法與要求
- [精品]紡織品出口生產(chǎn)企業(yè)(MID)報編申請表
- 3130簡明使用手冊
- 藥品出廠、上市放行管理規(guī)程
- 中醫(yī)基礎(chǔ)理論·緒論課件
- 2020小學四年級下冊科學課件-《串聯(lián)與并聯(lián)》|人教版(49張)ppt課件
- (完整版)小學生必背古詩75首(打印版).docx
- 大學生火電廠實習總結(jié)
- 英文信件模板:警告信
- 斂腸丸_普濟方卷二一二_方劑樹
評論
0/150
提交評論