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