最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

程序查詢(xún)和程序中斷方式的區(qū)別

2023-03-19 22:03 作者:我愛(ài)計(jì)算機(jī)科學(xué)  | 我要投稿

程序查詢(xún)和程序中斷方式都是cpu和IO設(shè)備進(jìn)行交互的方式:

1、程序查詢(xún)方式:

程序查詢(xún)方式是由CPU不斷查詢(xún)I/O設(shè)備是否已做好準(zhǔn)備,從而控制I/O設(shè)備與主機(jī)交換信息。

2、程序中斷方式:

CPU在啟動(dòng)I/O設(shè)備后,不查詢(xún)?cè)O(shè)備是否已準(zhǔn)備就緒,繼續(xù)執(zhí)行原來(lái)的程序,只是當(dāng)I/O設(shè)備準(zhǔn)備就緒并向CPU發(fā)出中斷請(qǐng)求后才給予響應(yīng)。

我們考察下面程序中斷的工作方式:

主程序中,首先設(shè)定主程序與中斷程序進(jìn)行通信的變量counter初值0。

圖1

接下來(lái)主程序就進(jìn)入循環(huán)等待的狀態(tài),不斷查詢(xún)變量counter的值是否為10,這個(gè)查詢(xún)的過(guò)程就是等待中斷發(fā)生的過(guò)程。

上圖的new08h就是中斷程序的入口地址。這個(gè)入口地址什么時(shí)候裝入cpu得以運(yùn)行呢?

上圖表明,中斷程序的入口地址要得以運(yùn)行,必須由芯片8259向cpu發(fā)出中斷請(qǐng)求信號(hào),也就是一個(gè)高電平信號(hào)。

當(dāng)芯片8259向cpu發(fā)出中斷請(qǐng)求信號(hào)以后,中斷入口地址new08h就被裝入到cpu的CS和IP寄存器,包括段地址和偏移地址。

這個(gè)中斷程序每執(zhí)行一次,變量counter就加1,同時(shí)每執(zhí)行一次就打印出一個(gè)字符串。

打印10次以后,counter將變?yōu)?0,從而使得圖1中的主程序的循環(huán)等待狀態(tài)結(jié)束,并執(zhí)行主程序后面的語(yǔ)句。

再看看程序查詢(xún)方式:

以串口通信為例:

注意上圖8251芯片中的引腳TxRDY和RxRDY。

上圖是相應(yīng)的寄存器。

當(dāng)進(jìn)行雙機(jī)通信的時(shí)候,

將一方定義為發(fā)送方,發(fā)送方CPU查詢(xún)到TxRDY有效時(shí),則CPU向8251A并行輸出一個(gè)待發(fā)送的字節(jié)數(shù)據(jù);

L1: MOV  DX,3F9H

 IN  AL,DX

 AND AL,01H ??;查詢(xún)TxRDY是否有效

  JZ L1   ;無(wú)效則等待

 MOV  DX,3F8H

 MOV  AL,[DI]  ;向8251A輸出一個(gè)字節(jié)數(shù)據(jù)

 OUT  DX,AL 

 INC  DI   ??;修改地址指針

  LOOP L1     ;未傳送完,則繼續(xù)下一個(gè)

上面語(yǔ)句中,每發(fā)送一個(gè)字節(jié)的數(shù)據(jù),都必須查詢(xún)一次引腳TxRDY的狀態(tài)。如果無(wú)效,則循環(huán)查詢(xún);如有效,則發(fā)送數(shù)據(jù)。但與程序中斷方式相比,不存在將中斷程序入口地址裝入

cpu寄存器的動(dòng)作。

兩者區(qū)別簡(jiǎn)單概括:

1:程序中斷方式必須有一個(gè)中斷程序的入口地址,當(dāng)中斷發(fā)生時(shí),這個(gè)地址被裝入cpu,從而使得相應(yīng)的中斷程序得以運(yùn)行;

2:程序查詢(xún)方式?jīng)]有中斷程序,只是不斷地查詢(xún)某個(gè)引腳,有效則執(zhí)行相應(yīng)的指令,否則循環(huán)查詢(xún);

3:程序中斷方式的程序一般分為主程序和中斷程序兩部分;

4:兩種方式都有一個(gè)循環(huán)查詢(xún)的指令部分。


程序查詢(xún)和程序中斷方式的區(qū)別的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
钦州市| 平舆县| 互助| 公主岭市| 永定县| 万荣县| 巴林右旗| 江源县| 靖宇县| 个旧市| 阿拉善右旗| 石林| 抚顺市| 崇仁县| 广昌县| 贺州市| 福清市| 洪湖市| 大新县| 丹巴县| 麻江县| 丹寨县| 阿图什市| 冀州市| 化隆| 江陵县| 沽源县| 福海县| 岗巴县| 江山市| 景谷| 扎鲁特旗| 塔河县| 辽阳市| 西丰县| 玛沁县| 理塘县| 长岛县| 英吉沙县| 丹阳市| 湘西|