第2章入輸出技術(shù)_第1頁(yè)
第2章入輸出技術(shù)_第2頁(yè)
第2章入輸出技術(shù)_第3頁(yè)
第2章入輸出技術(shù)_第4頁(yè)
第2章入輸出技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 第第2 2章章 輸入輸出技術(shù)輸入輸出技術(shù) 2.1 2.1 概述概述 在微型計(jì)算機(jī)系統(tǒng)的應(yīng)用中,在微型計(jì)算機(jī)系統(tǒng)的應(yīng)用中,cpucpu除與內(nèi)存交換信息外,除與內(nèi)存交換信息外,還必然要經(jīng)常與各種外部設(shè)備交換信息。主機(jī)與外設(shè)進(jìn)行還必然要經(jīng)常與各種外部設(shè)備交換信息。主機(jī)與外設(shè)進(jìn)行信息交換過(guò)程主要是完成數(shù)據(jù)輸入或輸出的傳送操作。輸信息交換過(guò)程主要是完成數(shù)據(jù)輸入或輸

2、出的傳送操作。輸入或輸出操作的確切含義是有選擇地啟動(dòng)被微處理器選中入或輸出操作的確切含義是有選擇地啟動(dòng)被微處理器選中的外部設(shè)備,以便使其接收來(lái)自的外部設(shè)備,以便使其接收來(lái)自cpucpu的數(shù)據(jù)或向的數(shù)據(jù)或向cpucpu送入數(shù)送入數(shù)據(jù)。據(jù)。 數(shù)據(jù)傳送的方向標(biāo)準(zhǔn)通常以微處理器為中心,當(dāng)數(shù)據(jù)是由數(shù)據(jù)傳送的方向標(biāo)準(zhǔn)通常以微處理器為中心,當(dāng)數(shù)據(jù)是由外部設(shè)備,如鍵盤(pán)、紙帶讀入機(jī)、光筆等設(shè)備向外部設(shè)備,如鍵盤(pán)、紙帶讀入機(jī)、光筆等設(shè)備向cpucpu送入送入時(shí),稱(chēng)為輸入傳送;而當(dāng)數(shù)據(jù)自時(shí),稱(chēng)為輸入傳送;而當(dāng)數(shù)據(jù)自cpucpu送到如發(fā)光二極管、送到如發(fā)光二極管、七段顯示器、七段顯示器、crtcrt顯示器、點(diǎn)陣打印機(jī)

3、、繪圖儀等設(shè)備時(shí),顯示器、點(diǎn)陣打印機(jī)、繪圖儀等設(shè)備時(shí),稱(chēng)為輸出傳送。稱(chēng)為輸出傳送。 當(dāng)實(shí)現(xiàn)一個(gè)數(shù)據(jù)的輸入輸出操作時(shí),當(dāng)實(shí)現(xiàn)一個(gè)數(shù)據(jù)的輸入輸出操作時(shí),cpucpu必須在眾多的外必須在眾多的外部設(shè)備中尋找一個(gè)確定的設(shè)備,而如何尋找這一特定的外部設(shè)備中尋找一個(gè)確定的設(shè)備,而如何尋找這一特定的外部設(shè)備就是輸入輸出尋址方式所解決的問(wèn)題。當(dāng)找到一個(gè)部設(shè)備就是輸入輸出尋址方式所解決的問(wèn)題。當(dāng)找到一個(gè)確定的外部設(shè)備以后,接下來(lái)的問(wèn)題就是如何同它進(jìn)行信確定的外部設(shè)備以后,接下來(lái)的問(wèn)題就是如何同它進(jìn)行信息交換,這就是輸入輸出控制方式所解決的問(wèn)題。息交換,這就是輸入輸出控制方式所解決的問(wèn)題。計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算

4、機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 2.2 2.2 輸入輸出的尋址方式輸入輸出的尋址方式 1 1 存儲(chǔ)器映象尋址方式存儲(chǔ)器映象尋址方式 存儲(chǔ)器映象尋址方式的主要優(yōu)點(diǎn)是:存儲(chǔ)器映象尋址方式的主要優(yōu)點(diǎn)是: (1 1)指令豐富。)指令豐富。所有存儲(chǔ)器訪(fǎng)問(wèn)指令都可以用來(lái)處理所有存儲(chǔ)器訪(fǎng)問(wèn)指令都可以用來(lái)處理i/oi/o操作,而不使用操作,而不使用專(zhuān)用的專(zhuān)用的i/0i/0指令。在微型機(jī)的指令系統(tǒng)中,存儲(chǔ)器操作指令數(shù)量多,功能

5、指令。在微型機(jī)的指令系統(tǒng)中,存儲(chǔ)器操作指令數(shù)量多,功能強(qiáng),尋址方式靈活,這給程序設(shè)計(jì)帶來(lái)了方便,同時(shí)也大大增強(qiáng)了系統(tǒng)的強(qiáng),尋址方式靈活,這給程序設(shè)計(jì)帶來(lái)了方便,同時(shí)也大大增強(qiáng)了系統(tǒng)的i/0i/0功能,使功能,使i/0i/0端口不僅能完成數(shù)據(jù)的傳送,還能對(duì)端口的內(nèi)容進(jìn)行算術(shù)端口不僅能完成數(shù)據(jù)的傳送,還能對(duì)端口的內(nèi)容進(jìn)行算術(shù)邏輯運(yùn)算或移位等。邏輯運(yùn)算或移位等。 (2 2)i/oi/o端口空間大。端口空間大。由于在存儲(chǔ)器空間中劃出一個(gè)區(qū)域作為由于在存儲(chǔ)器空間中劃出一個(gè)區(qū)域作為i/oi/o端口地址端口地址空間,所以系統(tǒng)中的空間,所以系統(tǒng)中的i/oi/o端口數(shù)目幾乎不受限制,其最大數(shù)目只受系統(tǒng)的端口數(shù)目

6、幾乎不受限制,其最大數(shù)目只受系統(tǒng)的存儲(chǔ)容量的限制。這對(duì)大型控制或數(shù)據(jù)通訊系統(tǒng)等一些特殊場(chǎng)合是很有用存儲(chǔ)容量的限制。這對(duì)大型控制或數(shù)據(jù)通訊系統(tǒng)等一些特殊場(chǎng)合是很有用處的。處的。 (3 3)尋址的控制邏輯比較簡(jiǎn)單。)尋址的控制邏輯比較簡(jiǎn)單。這種尋址方式的主要缺點(diǎn)是:這種尋址方式的主要缺點(diǎn)是: (1 1)i/oi/o端口占用了一部分存儲(chǔ)器地址空間,端口占用了一部分存儲(chǔ)器地址空間,使可用的內(nèi)存空間相對(duì)減少。使可用的內(nèi)存空間相對(duì)減少。另外,當(dāng)所有地址都必須做為存儲(chǔ)器單元使用時(shí),則不能采用這種方法。另外,當(dāng)所有地址都必須做為存儲(chǔ)器單元使用時(shí),則不能采用這種方法。 (2 2)對(duì)外設(shè)的訪(fǎng)問(wèn)和對(duì)存儲(chǔ)器的訪(fǎng)問(wèn)一樣

7、,)對(duì)外設(shè)的訪(fǎng)問(wèn)和對(duì)存儲(chǔ)器的訪(fǎng)問(wèn)一樣,必須對(duì)全部地址線(xiàn)譯碼,因而必須對(duì)全部地址線(xiàn)譯碼,因而地址譯碼電路比較復(fù)雜。地址譯碼電路比較復(fù)雜。 (3 3)存儲(chǔ)器操作指令字節(jié)長(zhǎng),)存儲(chǔ)器操作指令字節(jié)長(zhǎng),需要較長(zhǎng)的執(zhí)行時(shí)間,降低了需要較長(zhǎng)的執(zhí)行時(shí)間,降低了i/oi/o操作速度。操作速度。 (4 4)用存儲(chǔ)器指令來(lái)處理輸入)用存儲(chǔ)器指令來(lái)處理輸入/ /輸出,輸出,在程序清單中不易區(qū)別,給程序的在程序清單中不易區(qū)別,給程序的設(shè)計(jì),分析和調(diào)試帶來(lái)一定的困難。設(shè)計(jì),分析和調(diào)試帶來(lái)一定的困難。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer s

8、cience and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 輸入輸出的尋址方式輸入輸出的尋址方式 2 i/o2 i/o映象尋址方式映象尋址方式 i/oi/o映象尋址方式的主要優(yōu)點(diǎn)是:映象尋址方式的主要優(yōu)點(diǎn)是:(1 1)i/oi/o空間與存儲(chǔ)器空間各自獨(dú)立,空間與存儲(chǔ)器空間各自獨(dú)立,可分開(kāi)設(shè)計(jì)??煞珠_(kāi)設(shè)計(jì)。 (2 2)由于采用單獨(dú)的)由于采用單獨(dú)的i/oi/o指令,指令,其助記符與存儲(chǔ)器指令明顯不同,其助記符與存儲(chǔ)器指令明顯不同,因而使程序編制清晰,易于理解。因而使程序編制清晰,易于理解。(3 3)i/oi/o地址線(xiàn)較少,地址線(xiàn)較少,

9、所以譯碼電路簡(jiǎn)單。所以譯碼電路簡(jiǎn)單。(4 4)i/oi/o指令格式短,指令格式短,執(zhí)行時(shí)間快。執(zhí)行時(shí)間快。這種尋址方式的主要缺點(diǎn)是:這種尋址方式的主要缺點(diǎn)是:(1 1)需要專(zhuān)門(mén)的)需要專(zhuān)門(mén)的i/oi/o指令,指令,且這些指令一般不如存儲(chǔ)器訪(fǎng)問(wèn)指令且這些指令一般不如存儲(chǔ)器訪(fǎng)問(wèn)指令豐富,程序設(shè)計(jì)靈活性較差。豐富,程序設(shè)計(jì)靈活性較差。(2 2)參加譯碼的地址線(xiàn)較少,)參加譯碼的地址線(xiàn)較少,使外設(shè)端口數(shù)目受到限制。使外設(shè)端口數(shù)目受到限制。(3 3)采用專(zhuān)用的)采用專(zhuān)用的i/oi/o周期和專(zhuān)用的周期和專(zhuān)用的i/oi/o控制線(xiàn),控制線(xiàn),這不僅使微處理這不僅使微處理器有限的引腳更加緊張,而且也增加了控制邏輯

10、的復(fù)雜性。最小器有限的引腳更加緊張,而且也增加了控制邏輯的復(fù)雜性。最小模式下的模式下的80888088則用則用m/iom/io信號(hào)來(lái)區(qū)分存儲(chǔ)器或信號(hào)來(lái)區(qū)分存儲(chǔ)器或i/oi/o端口的訪(fǎng)問(wèn)。最端口的訪(fǎng)問(wèn)。最大模式下的大模式下的80888088與協(xié)處理器與協(xié)處理器80878087連接,引腳更為緊張,只有通過(guò)連接,引腳更為緊張,只有通過(guò)輸出三個(gè)總線(xiàn)周期信號(hào),再由輸出三個(gè)總線(xiàn)周期信號(hào),再由82888288總線(xiàn)控制器解讀后生成存儲(chǔ)器總線(xiàn)控制器解讀后生成存儲(chǔ)器讀讀/ /寫(xiě)、寫(xiě)、i/oi/o讀讀/ /寫(xiě)的控制信號(hào)。寫(xiě)的控制信號(hào)。計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and

11、technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 80888088專(zhuān)用專(zhuān)用i/oi/o指令指令 對(duì)于采用直接尋址方式,其指令格式為:對(duì)于采用直接尋址方式,其指令格式為:輸入指令:輸入指令:in alin al,n n和和in axin ax,n n輸出指令:輸出指令:out nout n,alal和和out nout n,ax ax 對(duì)于采用間接尋址方式,其指令格式為:對(duì)于采用間接尋址方式,其指令格式為:輸入指令:輸入指令:in alin al,dxdx和和in axin ax,dx

12、dx輸出指令:輸出指令:0ut dx0ut dx,alal和和out dxout dx,ax ax 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 門(mén)電路組合法門(mén)電路組合法常見(jiàn)的端口地址選擇方法有三種:常見(jiàn)的端口地址選擇方法有三種:門(mén)電路組合法、譯碼器譯碼法、門(mén)電路組合法、譯碼器譯碼法、比較器比較法比較器比較法。門(mén)電路組合法門(mén)電路組合法是最簡(jiǎn)單的一種端口地址選擇方法,它采用常見(jiàn)的是最簡(jiǎn)單的一種端口地址

13、選擇方法,它采用常見(jiàn)的邏輯門(mén)電路,比如與門(mén)、或門(mén)、非門(mén)等作為基本的組合元件。邏輯門(mén)電路,比如與門(mén)、或門(mén)、非門(mén)等作為基本的組合元件。一般端口都是指寄存器、鎖存器或緩沖器,這些器件都有一個(gè)芯一般端口都是指寄存器、鎖存器或緩沖器,這些器件都有一個(gè)芯片選擇信號(hào),簡(jiǎn)稱(chēng)片選信號(hào),多數(shù)是低電平有效,當(dāng)然,也有一片選擇信號(hào),簡(jiǎn)稱(chēng)片選信號(hào),多數(shù)是低電平有效,當(dāng)然,也有一些芯片沒(méi)有片選信號(hào),而是有使能端,或脈沖控制端,總之是使些芯片沒(méi)有片選信號(hào),而是有使能端,或脈沖控制端,總之是使器件產(chǎn)生動(dòng)作的控制端。器件產(chǎn)生動(dòng)作的控制端。端口地址選擇的目的,是當(dāng)?shù)刂肪€(xiàn)上出現(xiàn)某種信息組合時(shí),在電端口地址選擇的目的,是當(dāng)?shù)刂肪€(xiàn)上出

14、現(xiàn)某種信息組合時(shí),在電路的輸出端會(huì)產(chǎn)生一個(gè)有效信號(hào)(有效信號(hào)有四種狀態(tài),即高電路的輸出端會(huì)產(chǎn)生一個(gè)有效信號(hào)(有效信號(hào)有四種狀態(tài),即高電平、低電平、上跳沿、下降沿,具體使用哪種狀態(tài),視所使用器平、低電平、上跳沿、下降沿,具體使用哪種狀態(tài),視所使用器件而定),該信號(hào)連到器件的控制端,使器件產(chǎn)生動(dòng)作,從而完件而定),該信號(hào)連到器件的控制端,使器件產(chǎn)生動(dòng)作,從而完成成i/oi/o端口的讀端口的讀/ /寫(xiě)操作。寫(xiě)操作。這種方法簡(jiǎn)單、直觀,適合于單個(gè)端口,常用的基本門(mén)電路有這種方法簡(jiǎn)單、直觀,適合于單個(gè)端口,常用的基本門(mén)電路有74007400(2 2輸入輸入4 4與非門(mén))、與非門(mén))、74087408(2

15、2輸入輸入4 4與門(mén))、與門(mén))、74207420(4 4輸入雙輸入雙與非門(mén))、與非門(mén))、74307430(8 8輸入與非門(mén))、輸入與非門(mén))、74027402(2 2輸入輸入4 4或非門(mén))、或非門(mén))、74327432(2 2輸入輸入4 4或門(mén))、或門(mén))、74047404(六反相器)等等。(六反相器)等等。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 譯碼器譯碼法譯碼器譯碼法 這是最常用的一種方法,就

16、是利用譯碼器芯片對(duì)地址進(jìn)行譯碼。這是最常用的一種方法,就是利用譯碼器芯片對(duì)地址進(jìn)行譯碼。pc/xtpc/xt微型機(jī)系統(tǒng)板上接口芯片的端口地址譯碼采樣了一個(gè)微型機(jī)系統(tǒng)板上接口芯片的端口地址譯碼采樣了一個(gè)74ls13874ls138譯碼譯碼電路。這些芯片也都有片選信號(hào),電路。這些芯片也都有片選信號(hào),74lsl3874lsl38譯碼器的輸出與這些芯片的片譯碼器的輸出與這些芯片的片選信號(hào)連接。各接口芯片內(nèi)部有多個(gè)寄存器,因而應(yīng)有多個(gè)端口地址。選信號(hào)連接。各接口芯片內(nèi)部有多個(gè)寄存器,因而應(yīng)有多個(gè)端口地址。譯碼器只直接使用譯碼器只直接使用a a9 9a a5 5,其余的低,其余的低5 5位地址位地址a a

17、4 4a a0 0末接,留給各接口芯末接,留給各接口芯片自行內(nèi)部譯碼,以便尋址多個(gè)寄存器。顯然,由于片自行內(nèi)部譯碼,以便尋址多個(gè)寄存器。顯然,由于a a4 4a a0 0未接到譯碼器,未接到譯碼器,所以每個(gè)譯碼器的輸出端對(duì)應(yīng)所以每個(gè)譯碼器的輸出端對(duì)應(yīng)2 25 5=32=32個(gè)端口地址,其地址范圍依次是:個(gè)端口地址,其地址范圍依次是:8237 000h 8237 000h 01fh01fh8259 020h 8259 020h 03fh03fh8253 040h 8253 040h 05fh05fh8255 060h 8255 060h 07fh07fhdmadma頁(yè)面寄存器頁(yè)面寄存器 080h

18、 080h 09fh09fhnminmi屏蔽寄存器屏蔽寄存器 0a0h 0a0h 0bfh0bfh保留的保留的 0c0h 0c0h 0dfh0dfh保留的保留的 0e0h 0e0h 0ffh0ffh系統(tǒng)為每個(gè)接口芯片預(yù)留出系統(tǒng)為每個(gè)接口芯片預(yù)留出3232個(gè)端口地址,至于每個(gè)接口芯片用多少,個(gè)端口地址,至于每個(gè)接口芯片用多少,則視接口芯片內(nèi)部寄存器的數(shù)目而定。則視接口芯片內(nèi)部寄存器的數(shù)目而定。譯碼器譯碼法可以方便地對(duì)多個(gè)地址進(jìn)行譯碼,適合于多個(gè)端口的電路。譯碼器譯碼法可以方便地對(duì)多個(gè)地址進(jìn)行譯碼,適合于多個(gè)端口的電路。常用的譯碼器有常用的譯碼器有74139/7415574139/74155(雙(

19、雙2 2線(xiàn)線(xiàn)-4-4線(xiàn)譯碼器)、線(xiàn)譯碼器)、7413874138(3 3線(xiàn)線(xiàn)-8-8線(xiàn)譯線(xiàn)譯碼器)、碼器)、7415474154(4 4線(xiàn)線(xiàn)-16-16線(xiàn)譯碼器)。線(xiàn)譯碼器)。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 比較器比較法比較器比較法這是比較靈活的一種方法,就是這是比較靈活的一種方法,就是利用數(shù)碼比較器把地址線(xiàn)利用數(shù)碼比較器把地址線(xiàn)上的地址同預(yù)定的地址相比較上的地址同預(yù)定的地址相比較,

20、進(jìn)而確定地址是否相符。,進(jìn)而確定地址是否相符。如果比較后兩個(gè)地址相等,則表示地址總線(xiàn)送來(lái)的端口地如果比較后兩個(gè)地址相等,則表示地址總線(xiàn)送來(lái)的端口地址就是該端口的地址。址就是該端口的地址。用比較器比較法進(jìn)行端口地址譯碼不僅原理直觀,方法簡(jiǎn)用比較器比較法進(jìn)行端口地址譯碼不僅原理直觀,方法簡(jiǎn)便,更主要的是通過(guò)改變預(yù)設(shè)置,就能夠很容易地改變接便,更主要的是通過(guò)改變預(yù)設(shè)置,就能夠很容易地改變接口電路中端口的地址,而不需要改變線(xiàn)路,使用非常靈活??陔娐分卸丝诘牡刂罚恍枰淖兙€(xiàn)路,使用非常靈活。在一些通用接口模板中,這一方法已得到廣泛的應(yīng)用。在一些通用接口模板中,這一方法已得到廣泛的應(yīng)用。常用的比較器有

21、常用的比較器有74857485(4 4位數(shù)字比較器)、位數(shù)字比較器)、7468874688(8 8位數(shù)位數(shù)字比較器)。字比較器)。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 2.3 2.3 輸入輸出控制方式輸入輸出控制方式 i/oi/o設(shè)備與存儲(chǔ)器區(qū)別:設(shè)備與存儲(chǔ)器區(qū)別:1 1存儲(chǔ)器的工作速度幾乎和中央處理機(jī)一樣,而大存儲(chǔ)器的工作速度幾乎和中央處理機(jī)一樣,而大多數(shù)多數(shù)i/oi/o設(shè)備工作較慢,且

22、不同的設(shè)備工作較慢,且不同的i/oi/o設(shè)備又有不同的工作設(shè)備又有不同的工作速度。速度。2 2存儲(chǔ)器的字長(zhǎng)一般是以字節(jié)為單位或等于機(jī)器字存儲(chǔ)器的字長(zhǎng)一般是以字節(jié)為單位或等于機(jī)器字長(zhǎng),而長(zhǎng),而i/oi/o設(shè)備傳送的過(guò)程中可能是設(shè)備傳送的過(guò)程中可能是8 8位數(shù)據(jù),也可能是位數(shù)據(jù),也可能是1 1位,位,2 2位位不等的狀態(tài)或控制信息。不等的狀態(tài)或控制信息。3 3存儲(chǔ)器中的信號(hào)形式與存儲(chǔ)器中的信號(hào)形式與cpucpu相同,而相同,而i/oi/o設(shè)備可能設(shè)備可能是數(shù)字信號(hào)也可能是模擬信號(hào),可能是電壓信號(hào)也可能是是數(shù)字信號(hào)也可能是模擬信號(hào),可能是電壓信號(hào)也可能是電流信號(hào),可能是并行的也可能是串行的等等。電流

23、信號(hào),可能是并行的也可能是串行的等等。4 4存儲(chǔ)器的控制信號(hào)主要是讀存儲(chǔ)器的控制信號(hào)主要是讀/ /寫(xiě)信號(hào),而寫(xiě)信號(hào),而i/oi/o設(shè)備設(shè)備一般有多種控制信號(hào),如設(shè)備工作,空閑等狀態(tài)信號(hào),設(shè)一般有多種控制信號(hào),如設(shè)備工作,空閑等狀態(tài)信號(hào),設(shè)備的啟動(dòng),清除等控制信號(hào)。備的啟動(dòng),清除等控制信號(hào)。這些差異都使得這些差異都使得i/oi/o數(shù)據(jù)傳送過(guò)程較為復(fù)雜,隨之而來(lái)的數(shù)據(jù)傳送過(guò)程較為復(fù)雜,隨之而來(lái)的就是根據(jù)不同設(shè)備需采用不同的傳送方式,相應(yīng)的也就要就是根據(jù)不同設(shè)備需采用不同的傳送方式,相應(yīng)的也就要采用不同的控制方式。采用不同的控制方式。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer sci

24、ence and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) i/oi/o控制方式控制方式 cpucpu對(duì)對(duì)i/oi/o控制方式,就微機(jī)系統(tǒng)而言有控制方式,就微機(jī)系統(tǒng)而言有四種基本方式四種基本方式,即,即無(wú)條件傳送控制方式,程序查詢(xún)傳送控制方式,中斷傳送無(wú)條件傳送控制方式,程序查詢(xún)傳送控制方式,中斷傳送控制方式和控制方式和dmadma控制方式??刂品绞?。無(wú)條件傳送方式,無(wú)條件傳送方式,cpucpu可在任何時(shí)刻與可在任何時(shí)刻與i/oi/o設(shè)備交換數(shù)據(jù),設(shè)備交換數(shù)據(jù),對(duì)對(duì)cpucp

25、u而言,而言,i/oi/o設(shè)備總是處于準(zhǔn)備就緒狀態(tài)。設(shè)備總是處于準(zhǔn)備就緒狀態(tài)。程序查詢(xún)方式,程序查詢(xún)方式,cpucpu通過(guò)查詢(xún)通過(guò)查詢(xún)i/oi/o設(shè)備的狀態(tài),斷定哪個(gè)設(shè)設(shè)備的狀態(tài),斷定哪個(gè)設(shè)備需要服務(wù),然后轉(zhuǎn)入相應(yīng)的服務(wù)程序。備需要服務(wù),然后轉(zhuǎn)入相應(yīng)的服務(wù)程序。中斷方式,中斷方式,當(dāng)當(dāng)i/oi/o設(shè)備需要設(shè)備需要cpucpu為其服務(wù)時(shí),可以發(fā)生中斷為其服務(wù)時(shí),可以發(fā)生中斷請(qǐng)求信號(hào)請(qǐng)求信號(hào)intrintr,cpucpu接到請(qǐng)求信號(hào)后,中斷正在執(zhí)行的程接到請(qǐng)求信號(hào)后,中斷正在執(zhí)行的程序,轉(zhuǎn)去為該設(shè)備服務(wù),服務(wù)完畢,返回原來(lái)被中斷的程序,轉(zhuǎn)去為該設(shè)備服務(wù),服務(wù)完畢,返回原來(lái)被中斷的程序并繼續(xù)執(zhí)行。序

26、并繼續(xù)執(zhí)行。直接存儲(chǔ)器存?。ㄖ苯哟鎯?chǔ)器存?。╠madma)方式,)方式,采用這種方式時(shí),在采用這種方式時(shí),在dmadma控控制器的管理下,制器的管理下,i/oi/o設(shè)備和存儲(chǔ)器直接交換信息,而不需設(shè)備和存儲(chǔ)器直接交換信息,而不需要要cpucpu介入。介入。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 無(wú)條件傳送控制方式無(wú)條件傳送控制方式 無(wú)條件傳送方式又稱(chēng)同步方式,是最簡(jiǎn)單的一種無(wú)條件傳送方式又稱(chēng)

27、同步方式,是最簡(jiǎn)單的一種i/oi/o控制控制方式,多用于方式,多用于cpucpu與低速接口之間的信息交換。如開(kāi)關(guān)、與低速接口之間的信息交換。如開(kāi)關(guān)、繼電器、繼電器、ledled顯示器,它們總是被認(rèn)為處于顯示器,它們總是被認(rèn)為處于“待命待命”狀態(tài)狀態(tài)(即總是處于準(zhǔn)備就緒或閑置狀態(tài)),(即總是處于準(zhǔn)備就緒或閑置狀態(tài)),cpucpu可在任何時(shí)候可在任何時(shí)候執(zhí)行執(zhí)行i/oi/o指令,無(wú)條件地與外部設(shè)備進(jìn)行信息交換,而不指令,無(wú)條件地與外部設(shè)備進(jìn)行信息交換,而不必考慮外部設(shè)備的狀態(tài)。必考慮外部設(shè)備的狀態(tài)。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technolo

28、gycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 程序查詢(xún)傳送控制方式程序查詢(xún)傳送控制方式 程序查詢(xún)方式是有條件的傳送控制方式,在這種方式中,程序查詢(xún)方式是有條件的傳送控制方式,在這種方式中,cpucpu對(duì)對(duì)i/oi/o設(shè)備的控制(調(diào)度)全部由程序來(lái)實(shí)現(xiàn),所有的設(shè)備的控制(調(diào)度)全部由程序來(lái)實(shí)現(xiàn),所有的輸入輸出操作都處于正在被執(zhí)行的程序的控制下,輸入輸出操作都處于正在被執(zhí)行的程序的控制下,i/oi/o設(shè)設(shè)備完全處于被動(dòng)地位。備完全處于被動(dòng)地位。所謂查詢(xún),就是詢(xún)問(wèn)外部設(shè)備的工作狀態(tài),通過(guò)這一狀態(tài)所謂查

29、詢(xún),就是詢(xún)問(wèn)外部設(shè)備的工作狀態(tài),通過(guò)這一狀態(tài)來(lái)判定外設(shè)是否已具備了與來(lái)判定外設(shè)是否已具備了與cpucpu交換數(shù)據(jù)的條件,即外設(shè)交換數(shù)據(jù)的條件,即外設(shè)是否已準(zhǔn)備好與是否已準(zhǔn)備好與cpucpu交換數(shù)據(jù)。交換數(shù)據(jù)。對(duì)輸入設(shè)備而言,這個(gè)狀態(tài)指示輸入設(shè)備的數(shù)據(jù)是否已經(jīng)對(duì)輸入設(shè)備而言,這個(gè)狀態(tài)指示輸入設(shè)備的數(shù)據(jù)是否已經(jīng)準(zhǔn)備就緒,準(zhǔn)備就緒,cpucpu是否可以隨時(shí)來(lái)讀取這個(gè)數(shù)據(jù)。對(duì)輸出設(shè)是否可以隨時(shí)來(lái)讀取這個(gè)數(shù)據(jù)。對(duì)輸出設(shè)備而言,這個(gè)狀態(tài)指示輸出設(shè)備的數(shù)據(jù)接收寄存器是否已備而言,這個(gè)狀態(tài)指示輸出設(shè)備的數(shù)據(jù)接收寄存器是否已空,是否可以隨時(shí)接受空,是否可以隨時(shí)接受cpucpu送來(lái)的數(shù)據(jù)。送來(lái)的數(shù)據(jù)。 程序查詢(xún)是

30、最常用的程序查詢(xún)是最常用的i/oi/o控制方式,其控制方式,其特點(diǎn)是特點(diǎn)是i/oi/o操作由操作由cpucpu啟動(dòng),即啟動(dòng),即cpucpu是主動(dòng)的而是主動(dòng)的而i/oi/o是被動(dòng)的,所有的傳送都是被動(dòng)的,所有的傳送都是與程序的執(zhí)行同步的。它的優(yōu)點(diǎn)是能較好地協(xié)調(diào)外設(shè)與是與程序的執(zhí)行同步的。它的優(yōu)點(diǎn)是能較好地協(xié)調(diào)外設(shè)與cpucpu之間定時(shí)的差別,并且用于接口的硬件較少,也不需之間定時(shí)的差別,并且用于接口的硬件較少,也不需要專(zhuān)門(mén)的硬件。要專(zhuān)門(mén)的硬件。它的它的主要缺點(diǎn)主要缺點(diǎn)有兩個(gè):一個(gè)是因它需踏步檢測(cè)某設(shè)備狀態(tài)有兩個(gè):一個(gè)是因它需踏步檢測(cè)某設(shè)備狀態(tài)或周期性檢查所有設(shè)備狀態(tài),所以影響微機(jī)系統(tǒng)的效率?;蛑?/p>

31、期性檢查所有設(shè)備狀態(tài),所以影響微機(jī)系統(tǒng)的效率。二是系統(tǒng)所接入的設(shè)備越多,查詢(xún)的周期就越長(zhǎng),因此對(duì)二是系統(tǒng)所接入的設(shè)備越多,查詢(xún)的周期就越長(zhǎng),因此對(duì)工作速度較快的工作速度較快的i/oi/o設(shè)備會(huì)因服務(wù)不及時(shí)而丟失數(shù)據(jù)。設(shè)備會(huì)因服務(wù)不及時(shí)而丟失數(shù)據(jù)。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 中斷傳送控制方式中斷傳送控制方式 程序查詢(xún)方式獨(dú)占程序查詢(xún)方式獨(dú)占cpucpu,而通常外設(shè)的輸入輸出速度很慢

32、,而通常外設(shè)的輸入輸出速度很慢,浪費(fèi)了大量的浪費(fèi)了大量的cpucpu時(shí)間,它使得時(shí)間,它使得cpucpu在查詢(xún)過(guò)程中除了檢測(cè)在查詢(xún)過(guò)程中除了檢測(cè)外設(shè)狀態(tài)以外,不能做任何其他事情。外設(shè)狀態(tài)以外,不能做任何其他事情。 在中斷傳送控制方式中,在中斷傳送控制方式中,cpucpu執(zhí)行功能程序與外部設(shè)備工執(zhí)行功能程序與外部設(shè)備工作,二者是并行進(jìn)行的,它改變了作,二者是并行進(jìn)行的,它改變了cpucpu主動(dòng)查詢(xún)外設(shè)狀態(tài)主動(dòng)查詢(xún)外設(shè)狀態(tài)的情況,而是當(dāng)外設(shè)一切準(zhǔn)備就緒后,主動(dòng)向的情況,而是當(dāng)外設(shè)一切準(zhǔn)備就緒后,主動(dòng)向cpucpu提出進(jìn)提出進(jìn)行數(shù)據(jù)傳輸?shù)恼?qǐng)求。行數(shù)據(jù)傳輸?shù)恼?qǐng)求。 中斷過(guò)程就是中斷過(guò)程就是cpucpu

33、對(duì)一個(gè)隨機(jī)的請(qǐng)求進(jìn)行處理的過(guò)程,它對(duì)一個(gè)隨機(jī)的請(qǐng)求進(jìn)行處理的過(guò)程,它一般一般包括五個(gè)方面包括五個(gè)方面,即,即中斷申請(qǐng)、中斷排隊(duì)、中斷響應(yīng)、中斷申請(qǐng)、中斷排隊(duì)、中斷響應(yīng)、中斷服務(wù)和中斷返回中斷服務(wù)和中斷返回。計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 中斷申請(qǐng)中斷申請(qǐng) 中斷源中斷源就是指能夠發(fā)出中斷請(qǐng)求信號(hào)的來(lái)源。就是指能夠發(fā)出中斷請(qǐng)求信號(hào)的來(lái)源。中斷源能夠產(chǎn)生中斷申請(qǐng)信號(hào)有兩個(gè)條件:中斷源能夠產(chǎn)生

34、中斷申請(qǐng)信號(hào)有兩個(gè)條件:(l l)中斷源自身工作已經(jīng))中斷源自身工作已經(jīng)“準(zhǔn)備就緒準(zhǔn)備就緒”。比如對(duì)于輸入比如對(duì)于輸入設(shè)備,設(shè)備,“準(zhǔn)備就緒準(zhǔn)備就緒”就是指它已經(jīng)準(zhǔn)備好數(shù)據(jù),就是指它已經(jīng)準(zhǔn)備好數(shù)據(jù),cpucpu可以可以隨時(shí)來(lái)讀取這個(gè)數(shù)據(jù);對(duì)于輸出設(shè)備,隨時(shí)來(lái)讀取這個(gè)數(shù)據(jù);對(duì)于輸出設(shè)備,“準(zhǔn)備就緒準(zhǔn)備就緒”就是就是指它已經(jīng)準(zhǔn)備好隨時(shí)接收指它已經(jīng)準(zhǔn)備好隨時(shí)接收cpucpu送來(lái)的數(shù)據(jù)。送來(lái)的數(shù)據(jù)。(2 2)cpucpu允許該中斷源申請(qǐng)中斷。允許該中斷源申請(qǐng)中斷。一般來(lái)說(shuō),一般來(lái)說(shuō),cpucpu本身有本身有一個(gè)中斷允許觸發(fā)器,而每一個(gè)中斷源也有一個(gè)中斷允許一個(gè)中斷允許觸發(fā)器,而每一個(gè)中斷源也有一個(gè)中斷

35、允許觸發(fā)器(或稱(chēng)之為中斷屏蔽寄存器),如果觸發(fā)器(或稱(chēng)之為中斷屏蔽寄存器),如果cpucpu本身禁止本身禁止中斷(即其中斷允許觸發(fā)器處于禁止?fàn)顟B(tài)),那么即使外中斷(即其中斷允許觸發(fā)器處于禁止?fàn)顟B(tài)),那么即使外部有中斷請(qǐng)求信號(hào),部有中斷請(qǐng)求信號(hào),cpucpu也不會(huì)響應(yīng)。如果也不會(huì)響應(yīng)。如果cpucpu本身允許中本身允許中斷,它就可以接受(響應(yīng))中斷源發(fā)出的中斷請(qǐng)求信號(hào)。斷,它就可以接受(響應(yīng))中斷源發(fā)出的中斷請(qǐng)求信號(hào)。此時(shí),哪一個(gè)中斷源可能發(fā)出中斷請(qǐng)求信號(hào),就要看此時(shí),哪一個(gè)中斷源可能發(fā)出中斷請(qǐng)求信號(hào),就要看cpucpu使哪一個(gè)中斷源的中斷允許觸發(fā)器處于允許狀態(tài)(即該中使哪一個(gè)中斷源的中斷允許觸

36、發(fā)器處于允許狀態(tài)(即該中斷源所屬的中斷屏蔽寄存器處于非屏蔽狀態(tài))。如果斷源所屬的中斷屏蔽寄存器處于非屏蔽狀態(tài))。如果cpucpu禁止某個(gè)中斷源申請(qǐng)中斷,那么即使這個(gè)中斷源自身工作禁止某個(gè)中斷源申請(qǐng)中斷,那么即使這個(gè)中斷源自身工作已經(jīng)準(zhǔn)備就緒,它也不可能向已經(jīng)準(zhǔn)備就緒,它也不可能向cpucpu提出中斷請(qǐng)求。提出中斷請(qǐng)求。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 中斷排隊(duì)中斷排隊(duì) 解決中斷優(yōu)先權(quán)排

37、隊(duì)一般有兩種方法,即軟件查詢(xún)法和硬解決中斷優(yōu)先權(quán)排隊(duì)一般有兩種方法,即軟件查詢(xún)法和硬件排隊(duì)法。件排隊(duì)法。(l l)軟件查詢(xún)法)軟件查詢(xún)法 基本思想:基本思想:用軟件查詢(xún)中斷源,根據(jù)查詢(xún)的順序先后來(lái)確用軟件查詢(xún)中斷源,根據(jù)查詢(xún)的順序先后來(lái)確定中斷源的優(yōu)先級(jí)。先查詢(xún)的優(yōu)先級(jí)就高,后查詢(xún)的優(yōu)先定中斷源的優(yōu)先級(jí)。先查詢(xún)的優(yōu)先級(jí)就高,后查詢(xún)的優(yōu)先級(jí)就低,只要改變查詢(xún)次序,就可以改變中斷源的中斷優(yōu)級(jí)就低,只要改變查詢(xún)次序,就可以改變中斷源的中斷優(yōu)先級(jí)。先級(jí)。 軟件查詢(xún)法的主要軟件查詢(xún)法的主要優(yōu)點(diǎn)優(yōu)點(diǎn)是節(jié)省硬件,電路簡(jiǎn)單,程序設(shè)計(jì)是節(jié)省硬件,電路簡(jiǎn)單,程序設(shè)計(jì)靈活,優(yōu)先級(jí)調(diào)整方便,靈活,優(yōu)先級(jí)調(diào)整方便,缺點(diǎn)

38、缺點(diǎn)是每次響應(yīng)中斷后,都要從是每次響應(yīng)中斷后,都要從優(yōu)先權(quán)最高的中斷開(kāi)始詢(xún)問(wèn),外設(shè)中斷源越多,查詢(xún)的時(shí)優(yōu)先權(quán)最高的中斷開(kāi)始詢(xún)問(wèn),外設(shè)中斷源越多,查詢(xún)的時(shí)間就越長(zhǎng),而且各個(gè)中斷源的服務(wù)響應(yīng)時(shí)間也是不同的,間就越長(zhǎng),而且各個(gè)中斷源的服務(wù)響應(yīng)時(shí)間也是不同的,造成優(yōu)先級(jí)別低的中斷源實(shí)時(shí)處理性差。造成優(yōu)先級(jí)別低的中斷源實(shí)時(shí)處理性差。 (2 2)硬件排隊(duì)法)硬件排隊(duì)法基本思想:基本思想:用硬件判優(yōu)邏輯電路來(lái)確定申請(qǐng)中斷中的最高用硬件判優(yōu)邏輯電路來(lái)確定申請(qǐng)中斷中的最高優(yōu)先級(jí),系統(tǒng)中各中斷源的優(yōu)先級(jí)別是由它們?cè)谂袃?yōu)電路優(yōu)先級(jí),系統(tǒng)中各中斷源的優(yōu)先級(jí)別是由它們?cè)谂袃?yōu)電路中的位置決定的。中的位置決定的。 硬件排隊(duì)

39、法的硬件排隊(duì)法的優(yōu)點(diǎn)優(yōu)點(diǎn)在于中斷響應(yīng)速度炔,并且各不同設(shè)備,在于中斷響應(yīng)速度炔,并且各不同設(shè)備,無(wú)論它排在鏈頭還是鏈尾,它的響應(yīng)時(shí)間是相同的。無(wú)論它排在鏈頭還是鏈尾,它的響應(yīng)時(shí)間是相同的。缺點(diǎn)缺點(diǎn)是增加了硬設(shè)備,電路設(shè)計(jì)復(fù)雜。是增加了硬設(shè)備,電路設(shè)計(jì)復(fù)雜。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 中斷響應(yīng)中斷響應(yīng) 響應(yīng)中斷條件:響應(yīng)中斷條件: (l l)外部設(shè)備有中斷請(qǐng)求。)外部設(shè)備有中斷請(qǐng)求

40、。 (2 2)cpucpu自身允許中斷。自身允許中斷。 (3 3)沒(méi)有更高級(jí)的中斷正在被服務(wù)。)沒(méi)有更高級(jí)的中斷正在被服務(wù)。cpucpu對(duì)有些事情的處理是對(duì)有些事情的處理是禁止被打擾的,比如禁止被打擾的,比如dmadma操作等。操作等。 (4 4)cpucpu在每條指令結(jié)束后響應(yīng)中斷。在每條指令結(jié)束后響應(yīng)中斷。cpucpu不能在指令執(zhí)行的中不能在指令執(zhí)行的中間響應(yīng)中斷,而是在每條指令的最后一個(gè)間響應(yīng)中斷,而是在每條指令的最后一個(gè)t t狀態(tài)采樣中斷請(qǐng)求線(xiàn),狀態(tài)采樣中斷請(qǐng)求線(xiàn),如果有中斷請(qǐng)求并且滿(mǎn)足響應(yīng)條件的話(huà),將發(fā)出中斷響應(yīng)信號(hào)。如果有中斷請(qǐng)求并且滿(mǎn)足響應(yīng)條件的話(huà),將發(fā)出中斷響應(yīng)信號(hào)。cpucp

41、u一旦響應(yīng)中斷,將在中斷響應(yīng)周期中完成一些必要的操作,一旦響應(yīng)中斷,將在中斷響應(yīng)周期中完成一些必要的操作,這些工作是由硬件自動(dòng)完成的,無(wú)需人工介入。這些工作是由硬件自動(dòng)完成的,無(wú)需人工介入。 (1 1)關(guān)中斷。)關(guān)中斷。內(nèi)部自動(dòng)實(shí)現(xiàn)關(guān)中斷,禁止在中斷響應(yīng)期間受到內(nèi)部自動(dòng)實(shí)現(xiàn)關(guān)中斷,禁止在中斷響應(yīng)期間受到外部干擾。外部干擾。 (2 2)保護(hù)斷點(diǎn)。)保護(hù)斷點(diǎn)。是指保護(hù)斷點(diǎn)的地址,也就是中斷發(fā)生時(shí)在程是指保護(hù)斷點(diǎn)的地址,也就是中斷發(fā)生時(shí)在程序計(jì)數(shù)器中保存的下一條指令的地址。保護(hù)斷點(diǎn)的目的是執(zhí)行完序計(jì)數(shù)器中保存的下一條指令的地址。保護(hù)斷點(diǎn)的目的是執(zhí)行完中斷服務(wù)程序后能返回到該地址繼續(xù)運(yùn)行原程序。中斷服

42、務(wù)程序后能返回到該地址繼續(xù)運(yùn)行原程序。 (3 3)將中斷服務(wù)程序的入口地址送入程序計(jì)數(shù)器,從而實(shí)現(xiàn)轉(zhuǎn))將中斷服務(wù)程序的入口地址送入程序計(jì)數(shù)器,從而實(shí)現(xiàn)轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。入相應(yīng)的中斷服務(wù)程序。不同的不同的cpucpu有不同的轉(zhuǎn)入方法。有不同的轉(zhuǎn)入方法。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 中斷服務(wù)中斷服務(wù) 中斷服務(wù)就是指執(zhí)行中斷服務(wù)程序,包括三個(gè)部分:中斷服務(wù)就是指執(zhí)行中斷服務(wù)程序,包

43、括三個(gè)部分:保護(hù)保護(hù)現(xiàn)場(chǎng)、中斷處理和恢復(fù)現(xiàn)場(chǎng)現(xiàn)場(chǎng)、中斷處理和恢復(fù)現(xiàn)場(chǎng)。保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)是進(jìn)入中斷服務(wù)程序后首先要做的工作。主程序是進(jìn)入中斷服務(wù)程序后首先要做的工作。主程序中要用到寄存器,中斷服務(wù)程序中也要用到寄存器,而中要用到寄存器,中斷服務(wù)程序中也要用到寄存器,而cpucpu中的寄存器又是有限的,所以保護(hù)現(xiàn)場(chǎng)的目的就是將中的寄存器又是有限的,所以保護(hù)現(xiàn)場(chǎng)的目的就是將有關(guān)的寄存器內(nèi)容壓入堆棧保存起來(lái)。所謂有關(guān)的寄存器有關(guān)的寄存器內(nèi)容壓入堆棧保存起來(lái)。所謂有關(guān)的寄存器是指中斷服務(wù)程序中使用的那些寄存器,將這些寄存器的是指中斷服務(wù)程序中使用的那些寄存器,將這些寄存器的內(nèi)容保存起來(lái),也就保存了主程序

44、斷點(diǎn)處的工作環(huán)境,以?xún)?nèi)容保存起來(lái),也就保存了主程序斷點(diǎn)處的工作環(huán)境,以后即使改變了這些寄存器的內(nèi)容也沒(méi)關(guān)系,因?yàn)閿帱c(diǎn)處的后即使改變了這些寄存器的內(nèi)容也沒(méi)關(guān)系,因?yàn)閿帱c(diǎn)處的工作環(huán)境已經(jīng)被保存下來(lái),隨時(shí)都可以恢復(fù)。保護(hù)現(xiàn)場(chǎng)一工作環(huán)境已經(jīng)被保存下來(lái),隨時(shí)都可以恢復(fù)。保護(hù)現(xiàn)場(chǎng)一般使用般使用pushpush指令。指令。中斷處理中斷處理是中斷服務(wù)程序中的核心工作。它實(shí)質(zhì)性地完成是中斷服務(wù)程序中的核心工作。它實(shí)質(zhì)性地完成cpucpu與外設(shè)之間的輸入或輸出操作,有時(shí)也包括內(nèi)存地址與外設(shè)之間的輸入或輸出操作,有時(shí)也包括內(nèi)存地址的修改,計(jì)數(shù)值的修改等等。的修改,計(jì)數(shù)值的修改等等?;謴?fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)的目的就是恢復(fù)主程

45、序斷點(diǎn)處的工作環(huán)境,這個(gè)的目的就是恢復(fù)主程序斷點(diǎn)處的工作環(huán)境,這個(gè)環(huán)境是在保護(hù)現(xiàn)場(chǎng)工作中保存起來(lái)的,一般使用環(huán)境是在保護(hù)現(xiàn)場(chǎng)工作中保存起來(lái)的,一般使用poppop指令指令來(lái)完成。來(lái)完成。計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 中斷返回中斷返回 中斷返回中斷返回是中斷過(guò)程的最后一個(gè)環(huán)節(jié),它是由中斷返回指是中斷過(guò)程的最后一個(gè)環(huán)節(jié),它是由中斷返回指令(令(iretiret)來(lái)實(shí)現(xiàn)的,其目的在于將斷點(diǎn)

46、地址返回到程序)來(lái)實(shí)現(xiàn)的,其目的在于將斷點(diǎn)地址返回到程序計(jì)數(shù)器,由于計(jì)算機(jī)總是按照程序計(jì)數(shù)器的地址取指令執(zhí)計(jì)數(shù)器,由于計(jì)算機(jī)總是按照程序計(jì)數(shù)器的地址取指令執(zhí)行程序,所以行程序,所以cpucpu自然從斷點(diǎn)地址開(kāi)始繼續(xù)執(zhí)行原程序。自然從斷點(diǎn)地址開(kāi)始繼續(xù)執(zhí)行原程序。需要需要說(shuō)明說(shuō)明的一點(diǎn)是,的一點(diǎn)是,cpucpu在響應(yīng)中斷時(shí)已經(jīng)在其內(nèi)部自動(dòng)在響應(yīng)中斷時(shí)已經(jīng)在其內(nèi)部自動(dòng)實(shí)現(xiàn)了關(guān)中斷(禁止中斷),其目的是在中斷響應(yīng)過(guò)程中,實(shí)現(xiàn)了關(guān)中斷(禁止中斷),其目的是在中斷響應(yīng)過(guò)程中,保護(hù)斷點(diǎn),轉(zhuǎn)入中斷服務(wù)程序等工作不受其它中斷源的干保護(hù)斷點(diǎn),轉(zhuǎn)入中斷服務(wù)程序等工作不受其它中斷源的干擾,但由于關(guān)了中斷,使得在整個(gè)中

47、斷服務(wù)過(guò)程中不能再擾,但由于關(guān)了中斷,使得在整個(gè)中斷服務(wù)過(guò)程中不能再響應(yīng)其他的中斷,也就是不能實(shí)現(xiàn)中斷嵌套。而如果不在響應(yīng)其他的中斷,也就是不能實(shí)現(xiàn)中斷嵌套。而如果不在中斷服務(wù)程序返回之前,或在主程序循環(huán)體中重新開(kāi)中斷中斷服務(wù)程序返回之前,或在主程序循環(huán)體中重新開(kāi)中斷的話(huà),那么系統(tǒng)就不可能再響應(yīng)任何可屏蔽的中斷請(qǐng)求。的話(huà),那么系統(tǒng)就不可能再響應(yīng)任何可屏蔽的中斷請(qǐng)求。顯然,為了實(shí)現(xiàn)中斷嵌套,一定要在中斷服務(wù)程序中開(kāi)始顯然,為了實(shí)現(xiàn)中斷嵌套,一定要在中斷服務(wù)程序中開(kāi)始的部分安排開(kāi)中斷指令;為了實(shí)現(xiàn)連續(xù)的中斷,最好在中的部分安排開(kāi)中斷指令;為了實(shí)現(xiàn)連續(xù)的中斷,最好在中斷返回指令之前安排一個(gè)開(kāi)中斷指令

48、。斷返回指令之前安排一個(gè)開(kāi)中斷指令。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 80888088的中斷系統(tǒng)的中斷系統(tǒng) 80888088具有強(qiáng)大的中斷處理功能,它可以處理具有強(qiáng)大的中斷處理功能,它可以處理256256種不同類(lèi)種不同類(lèi)型的中斷,類(lèi)型號(hào)為型的中斷,類(lèi)型號(hào)為0 0255255。 of tf if 圖 2.3.1 8088 中斷源 除法 出錯(cuò) intn 指令 int0 指令 單步 tf=1

49、 中 斷 邏 輯 不可屏蔽中斷請(qǐng)求 8086/8088 ir0 ir1 ir2 ir3 ir4 ir5 ir6 ir7 int intr 8259a nmi 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 內(nèi)部中斷和外部中斷內(nèi)部中斷和外部中斷 1 1外部中斷外部中斷外部中斷外部中斷是由是由cpucpu外部引起的中斷,需要外設(shè)產(chǎn)生一個(gè)信外部引起的中斷,需要外設(shè)產(chǎn)生一個(gè)信號(hào)來(lái)通知號(hào)來(lái)通知cpucpu,包括

50、非屏蔽中斷,包括非屏蔽中斷nminmi和可屏蔽中斷和可屏蔽中斷intrintr。非屏蔽中斷非屏蔽中斷nminmi不能被禁止,它只要產(chǎn)生就必須響應(yīng),不不能被禁止,它只要產(chǎn)生就必須響應(yīng),不受受cpucpu的中斷允許觸發(fā)器的中斷允許觸發(fā)器ifif的控制,其中斷號(hào)為的控制,其中斷號(hào)為2 2,一般用,一般用于最急迫的事情。它的優(yōu)先級(jí)高于于最急迫的事情。它的優(yōu)先級(jí)高于intrintr??善帘沃袛嗫善帘沃袛鄆ntrintr受受cpucpu的中斷允許觸發(fā)器的中斷允許觸發(fā)器ifif的控制,可由的控制,可由指令來(lái)實(shí)現(xiàn)控制:指令來(lái)實(shí)現(xiàn)控制:stisti使使if=1if=1允許中斷,允許中斷,clicli使使if=o

51、if=o禁止中禁止中斷。斷。 2 2內(nèi)部中斷內(nèi)部中斷內(nèi)部中斷內(nèi)部中斷是由是由cpucpu狀態(tài)的改變或執(zhí)行中斷指令而產(chǎn)生的中狀態(tài)的改變或執(zhí)行中斷指令而產(chǎn)生的中斷,它不受斷,它不受ifif的控制,主要用于功能調(diào)用、程序調(diào)試和意的控制,主要用于功能調(diào)用、程序調(diào)試和意外情況處理。外情況處理。內(nèi)部中斷包括四類(lèi):內(nèi)部中斷包括四類(lèi):除法錯(cuò)中斷、單步中斷、溢出中斷、除法錯(cuò)中斷、單步中斷、溢出中斷、軟件中斷。軟件中斷。 各類(lèi)中斷源的優(yōu)先級(jí)別由高到低的順序依次為內(nèi)部中斷、各類(lèi)中斷源的優(yōu)先級(jí)別由高到低的順序依次為內(nèi)部中斷、nminmi、intrintr、單步中斷。、單步中斷。計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院

52、computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 中斷向量表中斷向量表中斷向量表中斷向量表是中斷服務(wù)程序的入口地址表。是中斷服務(wù)程序的入口地址表。每個(gè)中斷服務(wù)程序的入口地址都有每個(gè)中斷服務(wù)程序的入口地址都有2 2個(gè)字節(jié)的段地址和個(gè)字節(jié)的段地址和2 2個(gè)個(gè)字節(jié)的段內(nèi)偏移量共字節(jié)的段內(nèi)偏移量共4 4個(gè)字節(jié)組成,共有個(gè)字節(jié)組成,共有256256個(gè)中斷源,所個(gè)中斷源,所以中斷向量表共占用以中斷向量表共占用2562564=10244=1024字節(jié)空間,

53、并且從存儲(chǔ)字節(jié)空間,并且從存儲(chǔ)器地址的最低端開(kāi)始存放(即地址器地址的最低端開(kāi)始存放(即地址00000h00000h003ffh003ffh)。)。 內(nèi)部中斷與外部中斷的主要區(qū)別在于:內(nèi)部中斷與外部中斷的主要區(qū)別在于: 1 1外部中斷需要從數(shù)據(jù)總線(xiàn)上讀取中斷類(lèi)型碼,而內(nèi)部外部中斷需要從數(shù)據(jù)總線(xiàn)上讀取中斷類(lèi)型碼,而內(nèi)部中斷的中斷類(lèi)型碼是指令的一部分。中斷的中斷類(lèi)型碼是指令的一部分。 2 2外部中斷受中斷允許觸發(fā)器外部中斷受中斷允許觸發(fā)器ifif的控制,而內(nèi)部中斷不的控制,而內(nèi)部中斷不受受ifif的控制。的控制。 3 3內(nèi)部中斷的優(yōu)先級(jí)別比外部中斷要高(除單步中斷以?xún)?nèi)部中斷的優(yōu)先級(jí)別比外部中斷要高(

54、除單步中斷以外)。外)。 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 80888088系統(tǒng)采用中斷方式的程序結(jié)構(gòu)(系統(tǒng)采用中斷方式的程序結(jié)構(gòu)(1 1) stacksegment stack dw 100h dup(?)stack endsdata segmentint_seg dw ? ;保存中斷向量段地址;保存中斷向量段地址int_off dw ? ;保存中斷向量偏移地址;保存中斷向量偏移地址d

55、ata ends;code segment assume cs:code,ds:data,ss:stackstart proc far push ds xor ax,ax posh ax mov ax,data mov ds,ax mov al,n ;指定類(lèi)型號(hào)為;指定類(lèi)型號(hào)為n mov ah,35h int 21h ;取中斷向量送到;取中斷向量送到es:bx 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉

56、林大學(xué) mov int_seg,es mov int_off,bx ;保護(hù);保護(hù)es:bx cli ;設(shè)置中斷向量必須關(guān)中斷;設(shè)置中斷向量必須關(guān)中斷 mov al,n mov ah,25h ;重新設(shè)置;重新設(shè)置n mov dx,seg intp mov ds,dx mov dx,offset intp;將;將intp設(shè)置在設(shè)置在n上上 int 21h sti ;設(shè)置完畢后打開(kāi)中斷;設(shè)置完畢后打開(kāi)中斷 ;主體程序;主體程序 cli ;恢復(fù)中斷向量前必須關(guān)中斷;恢復(fù)中斷向量前必須關(guān)中斷 mov al,n mov ah,25h mov dx,int_seg mov ds,dx mov dx,int_

57、off int 21h ;恢復(fù)原中斷向量;恢復(fù)原中斷向量 retstart endp80888088系統(tǒng)采用中斷方式的程序結(jié)構(gòu)(系統(tǒng)采用中斷方式的程序結(jié)構(gòu)(2 2) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) intp proc far sti ;允許中斷嵌套;允許中斷嵌套 push ax push bx push cx push dx push si push di push bp push e

58、s push ds ;保護(hù)現(xiàn)場(chǎng);保護(hù)現(xiàn)場(chǎng) ;中斷處理;中斷處理 mov al,20h out 20h,al ;8259中斷返回,發(fā)中斷返回,發(fā)eoi 80888088系統(tǒng)采用中斷方式的程序結(jié)構(gòu)(系統(tǒng)采用中斷方式的程序結(jié)構(gòu)(3 3) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) pop ds pop es pop bp pop di pop si pop dx pop cx pop bx pop ax

59、 ;恢復(fù)現(xiàn)場(chǎng);恢復(fù)現(xiàn)場(chǎng) irft ;中斷返回;中斷返回intp endpcode ends end start ;從;從start處執(zhí)行程序處執(zhí)行程序 程序中使用了程序中使用了dos系統(tǒng)功能調(diào)用,其中系統(tǒng)功能調(diào)用,其中35h功能是取中斷向量,入口功能是取中斷向量,入口al=中斷類(lèi)型號(hào),出口中斷類(lèi)型號(hào),出口es:bx=中斷程序入口地址。另一個(gè)中斷程序入口地址。另一個(gè)25h功能是功能是設(shè)置中斷向量,入口設(shè)置中斷向量,入口al=中斷類(lèi)型號(hào),中斷類(lèi)型號(hào),ds:dx=中斷程序入口地址。中斷程序入口地址。80888088系統(tǒng)采用中斷方式的程序結(jié)構(gòu)(系統(tǒng)采用中斷方式的程序結(jié)構(gòu)(4 4) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院

60、計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院computer science and technologycomputer science and technologycomputer science and technology吉林大學(xué)吉林大學(xué) 直接存儲(chǔ)器存?。ㄖ苯哟鎯?chǔ)器存?。╠madma)方式)方式 所謂所謂dmadma傳送方式傳送方式(即直接存儲(chǔ)器存取方式)是一種不需(即直接存儲(chǔ)器存取方式)是一種不需要要cpucpu干預(yù)也不需要軟件介入的高速數(shù)據(jù)傳送方式。干預(yù)也不需要軟件介入的高速數(shù)據(jù)傳送方式。cpucpu只是啟動(dòng)只是啟動(dòng)dmadma過(guò)程,但是絲毫不干預(yù)這一過(guò)程,整個(gè)過(guò)程,但是絲毫不干預(yù)這一過(guò)程,整個(gè)dmadm

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論