計(jì)算機(jī)組成原理-第10章 輸入輸出結(jié)構(gòu)_第1頁(yè)
計(jì)算機(jī)組成原理-第10章 輸入輸出結(jié)構(gòu)_第2頁(yè)
計(jì)算機(jī)組成原理-第10章 輸入輸出結(jié)構(gòu)_第3頁(yè)
計(jì)算機(jī)組成原理-第10章 輸入輸出結(jié)構(gòu)_第4頁(yè)
計(jì)算機(jī)組成原理-第10章 輸入輸出結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 第十章 輸入輸出結(jié)構(gòu) 10.1 10.1 異步數(shù)據(jù)傳輸異步數(shù)據(jù)傳輸 10.2 10.2 可編程可編程I/OI/O 10.3 10.3 中斷中斷 10.4 10.4 直接存儲(chǔ)器訪問(wèn)直接存儲(chǔ)器訪問(wèn) 10.5 I/O10.5 I/O處理器處理器 10.6 10.6 串行通信串行通信 10.7 10.7 實(shí)例:串行通信標(biāo)準(zhǔn)實(shí)例:串行通信標(biāo)準(zhǔn) 同濟(jì)大學(xué) 軟件學(xué)院 2 輸入輸入/ /輸出設(shè)備通過(guò)系統(tǒng)的地址總線、數(shù)據(jù)總輸出設(shè)備通過(guò)系統(tǒng)的地址總線、數(shù)據(jù)總 線、控制總線和線、控制總線和CPUCPU相連(如圖相連(如圖10.110.1) 圖圖10.1 CPU與與I/O設(shè)備的連接設(shè)備的連接 10.1 異步數(shù)據(jù)傳

2、輸 3 1. I/O接口的基本功能 實(shí)現(xiàn)主機(jī)和外設(shè)之間的數(shù)據(jù)傳送控制。實(shí)現(xiàn)主機(jī)和外設(shè)之間的數(shù)據(jù)傳送控制。 如同步控制、設(shè)備選擇、中斷控制和如同步控制、設(shè)備選擇、中斷控制和DMADMA控制控制 (2) (2) 實(shí)現(xiàn)數(shù)據(jù)緩沖,以達(dá)到主機(jī)與外設(shè)之間的速實(shí)現(xiàn)數(shù)據(jù)緩沖,以達(dá)到主機(jī)與外設(shè)之間的速 度匹配。度匹配。 (3) (3) 接受主機(jī)的命令,提供設(shè)備接口的狀態(tài),并接受主機(jī)的命令,提供設(shè)備接口的狀態(tài),并 按照主機(jī)的命令控制設(shè)備。按照主機(jī)的命令控制設(shè)備。 4 2. I/O接口類型 (1 1)按照數(shù)據(jù)傳送的寬度可分為)按照數(shù)據(jù)傳送的寬度可分為 并行接口和串行接口并行接口和串行接口 (2 2)按照數(shù)據(jù)傳送的控

3、制方式可分為)按照數(shù)據(jù)傳送的控制方式可分為 直接程序控制、程序中斷、直接程序控制、程序中斷、DMADMA 通道、外圍處理機(jī)通道、外圍處理機(jī) (3 3)按照時(shí)序控制方式可分為)按照時(shí)序控制方式可分為 同步接口和異步接口同步接口和異步接口 5 3. 根據(jù)是源還是目的設(shè)備啟動(dòng)傳送以及是否用 握手,異步數(shù)據(jù)傳送可分為四種 不帶握手的源啟動(dòng)數(shù)據(jù)傳送不帶握手的源啟動(dòng)數(shù)據(jù)傳送 不帶握手的目的啟動(dòng)數(shù)據(jù)傳送不帶握手的目的啟動(dòng)數(shù)據(jù)傳送 帶握手的源啟動(dòng)數(shù)據(jù)傳送帶握手的源啟動(dòng)數(shù)據(jù)傳送 帶握手的目的啟動(dòng)數(shù)據(jù)傳送帶握手的目的啟動(dòng)數(shù)據(jù)傳送 6 10.1.1 不帶握手的源啟動(dòng)數(shù)據(jù)傳送 源設(shè)備源設(shè)備 輸出數(shù)輸出數(shù) 據(jù)據(jù) 選通一

4、個(gè)控選通一個(gè)控 制信號(hào)并維制信號(hào)并維 持一段時(shí)間持一段時(shí)間 目的設(shè)目的設(shè) 備讀入備讀入 數(shù)據(jù)數(shù)據(jù) 源設(shè)備使控源設(shè)備使控 制信號(hào)和數(shù)制信號(hào)和數(shù) 據(jù)無(wú)效據(jù)無(wú)效 圖圖10.2 不帶握手的源啟動(dòng)數(shù)據(jù)傳送不帶握手的源啟動(dòng)數(shù)據(jù)傳送 (a)時(shí)序)時(shí)序 7 實(shí)現(xiàn)源數(shù)據(jù)傳送更新實(shí)現(xiàn)源數(shù)據(jù)傳送更新LEDLED的電路如圖的電路如圖10.210.2(b b) 圖圖10.2 不帶握手的源啟動(dòng)數(shù)據(jù)傳送不帶握手的源啟動(dòng)數(shù)據(jù)傳送:(b)實(shí)現(xiàn))實(shí)現(xiàn) 8 10.1.2 不帶握手的目的啟動(dòng)的數(shù)據(jù)傳送 目的設(shè)備目的設(shè)備 傳輸選通傳輸選通 信號(hào)給源信號(hào)給源 設(shè)備設(shè)備 一段時(shí)間后源設(shè)一段時(shí)間后源設(shè) 備使數(shù)據(jù)有效,備使數(shù)據(jù)有效, 并將數(shù)據(jù)

5、穩(wěn)定一并將數(shù)據(jù)穩(wěn)定一 段時(shí)間段時(shí)間 目的設(shè)備目的設(shè)備 讀入數(shù)據(jù)讀入數(shù)據(jù) 后置數(shù)據(jù)后置數(shù)據(jù) 選通信號(hào)選通信號(hào) 無(wú)效無(wú)效 源設(shè)備源設(shè)備 停止傳停止傳 輸有效輸有效 數(shù)據(jù)數(shù)據(jù) 圖圖10.3 不帶握手的目的啟動(dòng)數(shù)據(jù)傳送不帶握手的目的啟動(dòng)數(shù)據(jù)傳送 (a)時(shí)序)時(shí)序 9 實(shí)現(xiàn)目的數(shù)據(jù)傳送更新實(shí)現(xiàn)目的數(shù)據(jù)傳送更新LEDLED的電路如圖的電路如圖10.310.3(b b) 圖圖10.3 不帶握手的目的啟動(dòng)數(shù)據(jù)傳送:(不帶握手的目的啟動(dòng)數(shù)據(jù)傳送:(b)實(shí)現(xiàn))實(shí)現(xiàn) 10 10.1.3 握 手 l不帶握手的數(shù)據(jù)傳送無(wú)需確認(rèn)數(shù)據(jù)收到,不帶握手的數(shù)據(jù)傳送無(wú)需確認(rèn)數(shù)據(jù)收到, 適合于在規(guī)定的時(shí)間內(nèi)傳送。適合于在規(guī)定的時(shí)間內(nèi)

6、傳送。 l當(dāng)每次傳送所花費(fèi)的時(shí)間不同時(shí),設(shè)備可當(dāng)每次傳送所花費(fèi)的時(shí)間不同時(shí),設(shè)備可 采用握手方式來(lái)協(xié)調(diào)數(shù)據(jù)傳送。采用握手方式來(lái)協(xié)調(diào)數(shù)據(jù)傳送。 11 帶握手的源啟動(dòng)數(shù)據(jù)傳送帶握手的源啟動(dòng)數(shù)據(jù)傳送 源設(shè)備置數(shù)源設(shè)備置數(shù) 據(jù)請(qǐng)求信號(hào)據(jù)請(qǐng)求信號(hào) 為高,然后為高,然后 使有效數(shù)據(jù)使有效數(shù)據(jù) 可用可用 數(shù)據(jù)穩(wěn)定數(shù)據(jù)穩(wěn)定 后,目的后,目的 設(shè)備讀取設(shè)備讀取 此數(shù)據(jù)此數(shù)據(jù) 目的設(shè)備讀目的設(shè)備讀 完數(shù)據(jù),就完數(shù)據(jù),就 發(fā)送一個(gè)數(shù)發(fā)送一個(gè)數(shù) 據(jù)確認(rèn)信號(hào)據(jù)確認(rèn)信號(hào) 給源設(shè)備給源設(shè)備 源設(shè)備停止傳源設(shè)備停止傳 輸有效數(shù)據(jù),輸有效數(shù)據(jù), 目的設(shè)備復(fù)位目的設(shè)備復(fù)位 數(shù)據(jù)確認(rèn)信號(hào)數(shù)據(jù)確認(rèn)信號(hào) 圖圖10.4 帶握手的源啟動(dòng)數(shù)

7、據(jù)傳送帶握手的源啟動(dòng)數(shù)據(jù)傳送 (a)時(shí)序)時(shí)序 12 圖圖10.4 10.4 帶握手的源啟動(dòng)數(shù)據(jù)傳送:(帶握手的源啟動(dòng)數(shù)據(jù)傳送:(b b)實(shí)現(xiàn))實(shí)現(xiàn) 13 帶握手的目的啟動(dòng)數(shù)據(jù)傳送帶握手的目的啟動(dòng)數(shù)據(jù)傳送 目的設(shè)備傳目的設(shè)備傳 輸一個(gè)數(shù)據(jù)輸一個(gè)數(shù)據(jù) 選通信號(hào),選通信號(hào), 源設(shè)備使有源設(shè)備使有 效數(shù)據(jù)可用效數(shù)據(jù)可用 數(shù)據(jù)穩(wěn)定數(shù)據(jù)穩(wěn)定 后,目的后,目的 設(shè)備讀取設(shè)備讀取 此數(shù)據(jù)此數(shù)據(jù) 目的設(shè)備讀目的設(shè)備讀 完數(shù)據(jù),就完數(shù)據(jù),就 發(fā)送一個(gè)數(shù)發(fā)送一個(gè)數(shù) 據(jù)準(zhǔn)備就緒據(jù)準(zhǔn)備就緒 信號(hào)給源設(shè)信號(hào)給源設(shè) 備備 源設(shè)備停止傳源設(shè)備停止傳 輸有效數(shù)據(jù),輸有效數(shù)據(jù), 目的設(shè)備復(fù)位目的設(shè)備復(fù)位 數(shù)據(jù)準(zhǔn)備就緒數(shù)據(jù)準(zhǔn)備就

8、緒 信號(hào)信號(hào) 圖圖10.5 帶握手的目的啟動(dòng)數(shù)據(jù)傳送帶握手的目的啟動(dòng)數(shù)據(jù)傳送 (a)時(shí)序)時(shí)序 14 圖圖10.5 10.5 帶握手的目的啟動(dòng)數(shù)據(jù)傳送:(帶握手的目的啟動(dòng)數(shù)據(jù)傳送:(a a)時(shí)序和()時(shí)序和(b b)實(shí)現(xiàn))實(shí)現(xiàn) 數(shù)據(jù)請(qǐng)求 數(shù)據(jù)準(zhǔn)備就緒 15 可編程可編程I/OI/O(programmed I/Oprogrammed I/O) 用指令編程來(lái)控制用指令編程來(lái)控制CPUCPU輸入或輸出數(shù)據(jù)。輸入或輸出數(shù)據(jù)。 可編程可編程I/OI/O的特點(diǎn)的特點(diǎn) 10.2 可編程I/O 何時(shí)何地進(jìn)行輸入何時(shí)何地進(jìn)行輸入/ /輸出完全受輸出完全受CPUCPU控制;控制; 數(shù)據(jù)的輸入輸出都要經(jīng)過(guò)數(shù)據(jù)的輸入

9、輸出都要經(jīng)過(guò)CPUCPU; 用于連接低速外圍設(shè)備。用于連接低速外圍設(shè)備。 16 l 獨(dú)立編址獨(dú)立編址 有專門的指令訪問(wèn)有專門的指令訪問(wèn)I/OI/O端口。端口。 l 存儲(chǔ)器編址存儲(chǔ)器編址 把把I/OI/O端口視為存儲(chǔ)器的一個(gè)單元,采用端口視為存儲(chǔ)器的一個(gè)單元,采用 存儲(chǔ)器存取指令即可訪問(wèn)它們。存儲(chǔ)器存取指令即可訪問(wèn)它們。 可編程可編程I/OI/O的編址方式的編址方式 17 相對(duì)簡(jiǎn)單相對(duì)簡(jiǎn)單CPUCPU,其結(jié)構(gòu)不能采用獨(dú)立的,其結(jié)構(gòu)不能采用獨(dú)立的I/OI/O方式,方式, 但可利用存儲(chǔ)器編址但可利用存儲(chǔ)器編址I/OI/O方式。方式。 例:執(zhí)行指令例:執(zhí)行指令LDAC FFFFLDAC FFFF 為了

10、實(shí)現(xiàn)此為了實(shí)現(xiàn)此I/OI/O端口,設(shè)計(jì)硬件如圖端口,設(shè)計(jì)硬件如圖10.610.6。 圖圖10.6 地址為地址為FFFFH的輸入端口的輸入端口 當(dāng)?shù)刂房偩€上的值為當(dāng)?shù)刂房偩€上的值為FFFFH,控制信號(hào),控制信號(hào) READ=1時(shí),三態(tài)緩沖器才選通時(shí),三態(tài)緩沖器才選通 18 修改相對(duì)簡(jiǎn)單CPU以支持獨(dú)立的I/O方式: 必須在必須在CPUCPU指令集中增加輸入、輸出指令;指令集中增加輸入、輸出指令; 產(chǎn)生必要的新控制信號(hào);產(chǎn)生必要的新控制信號(hào); 在狀態(tài)圖中增加新狀態(tài);在狀態(tài)圖中增加新狀態(tài); 開發(fā)開發(fā)RTLRTL代碼支持新狀態(tài);代碼支持新狀態(tài); 修改寄存器、修改寄存器、ALUALU和控制單元硬件來(lái)支持新

11、的指令。和控制單元硬件來(lái)支持新的指令。 19 1.增加兩條新指令 一條輸入數(shù)據(jù)一條輸入數(shù)據(jù) 一條輸出數(shù)據(jù)一條輸出數(shù)據(jù) 指令指令指令碼指令碼操作操作 INPTINPT0010 00000010 0000ACAC輸入端口輸入端口 OTPTOTPT0010 00010010 0001輸出端口輸出端口ACAC 表表10.1 相對(duì)簡(jiǎn)單相對(duì)簡(jiǎn)單CPU的獨(dú)立的獨(dú)立I/O指令指令 20 2. 增加一個(gè)新控制信號(hào)IO IO=1IO=1時(shí)為時(shí)為I/OI/O操作,操作,IO=0IO=0時(shí)為存儲(chǔ)器操作時(shí)為存儲(chǔ)器操作 3. 新狀態(tài)與RTL代碼 圖圖10.8 實(shí)現(xiàn)實(shí)現(xiàn)INPT指令執(zhí)行周期的狀態(tài)指令執(zhí)行周期的狀態(tài) INPT

12、1INPT1:DRMDRM,PCPC+1PCPC+1, ARAR+1ARAR+1 INPT2INPT2:TRDRTRDR,DRMDRM, PCPC+1PCPC+1 INPT3INPT3:ARDRARDR,TRTR INPT4INPT4:DRDR輸入端口輸入端口 INPT5INPT5:ACDR ACDR 21 4 .硬件的修改 (1 1)修改寄存器)修改寄存器 (2 2)修改)修改ALUALU (3 3)修改控制單元修改控制單元 圖圖10.9 產(chǎn)生產(chǎn)生INPT執(zhí)行周期的狀態(tài)信號(hào)的硬件執(zhí)行周期的狀態(tài)信號(hào)的硬件 22 計(jì)數(shù)器控制信號(hào)修改計(jì)數(shù)器控制信號(hào)修改 INC=INC=(INCINC原有值)原有值

13、) INPT1 INPT2 INPT1 INPT2 INPT3 INPT4 INPT3 INPT4 CLR= CLR=(CLRCLR原有值)原有值) INPT5 INPT5 組合組合INPT1INPT1狀態(tài)所需進(jìn)行的修改狀態(tài)所需進(jìn)行的修改 DRLOAD=DRLOAD=(DRLOADDRLOAD原有值)原有值) INPT1 INPT1 MEMBUS= MEMBUS=(MEMBUSMEMBUS原有值)原有值) INPT1 INPT1 PCINC= PCINC=(PCINCPCINC原有值)原有值) INPT1 INPT1 ARINC= ARINC=(ARINCARINC原有值)原有值) INPT1

14、 INPT1 設(shè)定為設(shè)定為IO=INPT4IO=INPT4 存儲(chǔ)器存儲(chǔ)器讀讀=READ IO=READ IO 23 直接程序控制方式可分為兩種傳送方式: (1 1)直接傳送方式)直接傳送方式 CPUCPU在控制與外設(shè)之間的數(shù)據(jù)傳送之前,不需了解在控制與外設(shè)之間的數(shù)據(jù)傳送之前,不需了解 外設(shè)的工作狀態(tài),即可直接執(zhí)行外設(shè)的工作狀態(tài),即可直接執(zhí)行I/0I/0指令,實(shí)現(xiàn)數(shù)據(jù)傳指令,實(shí)現(xiàn)數(shù)據(jù)傳 送。送。 直接傳送方式無(wú)需查詢?cè)O(shè)備的任何狀態(tài),也無(wú)需考直接傳送方式無(wú)需查詢?cè)O(shè)備的任何狀態(tài),也無(wú)需考 慮同步問(wèn)題。也稱為無(wú)條件傳送方式。多用于慮同步問(wèn)題。也稱為無(wú)條件傳送方式。多用于I/0I/0操作操作 時(shí)間固定且

15、已知的情況下。時(shí)間固定且已知的情況下。 24 (2 2)程序查詢方式)程序查詢方式 CPUCPU向向I/OI/O設(shè)備發(fā)傳送數(shù)據(jù)的請(qǐng)求信號(hào)。設(shè)備發(fā)傳送數(shù)據(jù)的請(qǐng)求信號(hào)。 I/OI/O設(shè)備處理該請(qǐng)求,當(dāng)其準(zhǔn)備傳送數(shù)據(jù)時(shí),設(shè)備處理該請(qǐng)求,當(dāng)其準(zhǔn)備傳送數(shù)據(jù)時(shí), 就置位設(shè)備準(zhǔn)備就緒信號(hào)。就置位設(shè)備準(zhǔn)備就緒信號(hào)。 CPUCPU通過(guò)另一個(gè)通過(guò)另一個(gè)I/OI/O地址讀此信號(hào)并檢查其值。地址讀此信號(hào)并檢查其值。 如果信號(hào)置位,如果信號(hào)置位,CPUCPU執(zhí)行數(shù)據(jù)傳送。如果未置執(zhí)行數(shù)據(jù)傳送。如果未置 位,則循環(huán)等待,繼續(xù)讀取并檢查設(shè)備準(zhǔn)備就位,則循環(huán)等待,繼續(xù)讀取并檢查設(shè)備準(zhǔn)備就 緒信號(hào)的值。緒信號(hào)的值。 25 例:

16、例:考察考察相對(duì)簡(jiǎn)單相對(duì)簡(jiǎn)單CPUCPU的一個(gè)輸入設(shè)備的一個(gè)輸入設(shè)備 (1 1) 輸入輸入/ /輸出指令輸出指令 INPTINPT(ACINPUT PORT ACINPUT PORT ) OTPTOTPT(OUT PORT ACOUT PORT AC) (2 2)設(shè)備有三個(gè))設(shè)備有三個(gè)I/OI/O端口:兩個(gè)輸入、一個(gè)輸出。端口:兩個(gè)輸入、一個(gè)輸出。 輸出端口:輸出端口:1001H1001H中輸出中輸出01H01H值,啟動(dòng)一個(gè)請(qǐng)求。值,啟動(dòng)一個(gè)請(qǐng)求。 輸入端口:輸入端口:1002H1002H(查詢?cè)摱丝谥敝疗渥畹臀恢茫ú樵冊(cè)摱丝谥敝疗渥畹臀恢? 1) 1000H1000H(從中讀取數(shù)據(jù))(從中讀

17、取數(shù)據(jù)) 26 圖圖10.10 10.10 采用查詢方式實(shí)現(xiàn)采用查詢方式實(shí)現(xiàn)I/OI/O端口的硬件端口的硬件 輸出端口:輸出端口:1001H1001H中輸出中輸出01H01H值,啟動(dòng)一個(gè)請(qǐng)求。值,啟動(dòng)一個(gè)請(qǐng)求。 輸入端口:輸入端口:1002H1002H(查詢?cè)摱丝谥敝疗渥畹臀恢茫ú樵冊(cè)摱丝谥敝疗渥畹臀恢? 1) 1000H1000H(從中讀取數(shù)據(jù))(從中讀取數(shù)據(jù)) 27 CLAC INAC (AC1) MOVR (R1) OTPT 1001H( 01H address 1001H) LOOP: INPT 1002H(Check whether the device is ready) AND(

18、AC=1 and Z=0 if device is ready) JMPZ LOOP (If device not ready,AC=0 and Z=1,loop back) INPT 1000H(Device is ready,input data) 28 中斷中斷 中斷是由中斷是由I/OI/O設(shè)備或其他非預(yù)期的急需處設(shè)備或其他非預(yù)期的急需處 理的事件引起的,它使理的事件引起的,它使CPUCPU暫時(shí)中斷現(xiàn)在正在暫時(shí)中斷現(xiàn)在正在 執(zhí)行的程序,而轉(zhuǎn)至另一服務(wù)程序去處理這執(zhí)行的程序,而轉(zhuǎn)至另一服務(wù)程序去處理這 些事件。處理完后再返回原程序。些事件。處理完后再返回原程序。 10.3 中 斷 10.3

19、.1 CPU和I/O設(shè)備之間的數(shù)據(jù)傳送 1. 解決I/O設(shè)備變化延遲 查詢查詢 29 (5) (5) 實(shí)現(xiàn)實(shí)時(shí)處理;實(shí)現(xiàn)實(shí)時(shí)處理; (6) (6) 實(shí)現(xiàn)應(yīng)用程序和操作系統(tǒng)的聯(lián)系;實(shí)現(xiàn)應(yīng)用程序和操作系統(tǒng)的聯(lián)系; (7) (7) 多處理機(jī)系統(tǒng)各處理機(jī)間的聯(lián)系。多處理機(jī)系統(tǒng)各處理機(jī)間的聯(lián)系。 2. 2. 中斷輸入輸出方式的特點(diǎn) (1) CPU(1) CPU與與I/OI/O并行工作;并行工作; (2) (2) 硬件故障處理;硬件故障處理; (3) (3) 實(shí)現(xiàn)人機(jī)對(duì)話;實(shí)現(xiàn)人機(jī)對(duì)話; (4) (4) 實(shí)現(xiàn)多道程序和分時(shí)操作;實(shí)現(xiàn)多道程序和分時(shí)操作; 30 10.3.2 中斷類型 外部中斷外部中斷 CP

20、UCPU采用外部中斷與輸入采用外部中斷與輸入/ /輸出設(shè)備進(jìn)行交互。輸出設(shè)備進(jìn)行交互。 內(nèi)部中斷內(nèi)部中斷 內(nèi)部中斷完全發(fā)生在內(nèi)部中斷完全發(fā)生在CPUCPU內(nèi)部,沒(méi)有任何內(nèi)部,沒(méi)有任何 輸入輸入/ /輸出設(shè)備介入。輸出設(shè)備介入。 軟中斷軟中斷 由由CPUCPU指令集中的特定中斷指令產(chǎn)生。指令集中的特定中斷指令產(chǎn)生。 31 10.3.3 中斷處理 1. 中斷源 引起中斷的事件或者發(fā)出中斷請(qǐng)求的來(lái)源。引起中斷的事件或者發(fā)出中斷請(qǐng)求的來(lái)源。 2. 中斷源如何提出請(qǐng)求? (1) (1) 中斷請(qǐng)求信號(hào)的建立中斷請(qǐng)求信號(hào)的建立 中斷觸發(fā)器中斷觸發(fā)器 每個(gè)中斷源對(duì)應(yīng)有一個(gè)中斷觸發(fā)器。每個(gè)中斷源對(duì)應(yīng)有一個(gè)中斷觸

21、發(fā)器。 多個(gè)中斷觸發(fā)器構(gòu)成中斷寄存器,其內(nèi)容稱多個(gè)中斷觸發(fā)器構(gòu)成中斷寄存器,其內(nèi)容稱 為為中斷字或中斷碼中斷字或中斷碼。 32 (2) (2) 中斷請(qǐng)求信號(hào)的傳送中斷請(qǐng)求信號(hào)的傳送 三種方案:三種方案: 單獨(dú)設(shè)置中斷請(qǐng)求線單獨(dú)設(shè)置中斷請(qǐng)求線 快速響應(yīng)、中斷請(qǐng)求線數(shù)目有限快速響應(yīng)、中斷請(qǐng)求線數(shù)目有限 一根公共中斷請(qǐng)求線一根公共中斷請(qǐng)求線 兼有公共請(qǐng)求線與獨(dú)立請(qǐng)求線兼有公共請(qǐng)求線與獨(dú)立請(qǐng)求線 將中斷源分級(jí)或分組將中斷源分級(jí)或分組 (3) (3) 中斷響應(yīng)信號(hào)中斷響應(yīng)信號(hào) 33 3. 中斷的優(yōu)先級(jí) 設(shè)計(jì)中斷系統(tǒng)時(shí),應(yīng)將全部中斷源按中斷設(shè)計(jì)中斷系統(tǒng)時(shí),應(yīng)將全部中斷源按中斷 性質(zhì)和處理的輕重緩急進(jìn)行排隊(duì)

22、并給以優(yōu)先性質(zhì)和處理的輕重緩急進(jìn)行排隊(duì)并給以優(yōu)先級(jí)級(jí)。 (1)(1) 優(yōu)先優(yōu)先級(jí)級(jí) 指多個(gè)中斷發(fā)生時(shí),對(duì)中斷響應(yīng)的次序。指多個(gè)中斷發(fā)生時(shí),對(duì)中斷響應(yīng)的次序。 (2)(2)判優(yōu)的實(shí)現(xiàn)判優(yōu)的實(shí)現(xiàn) 軟件查詢軟件查詢 中斷排隊(duì)邏輯中斷排隊(duì)邏輯 34 4.中斷的允許與禁止 中斷允許中斷允許 中斷源有中斷請(qǐng)求信號(hào)就可使其對(duì)應(yīng)的中斷源有中斷請(qǐng)求信號(hào)就可使其對(duì)應(yīng)的 中斷觸發(fā)器置中斷觸發(fā)器置“1”1”狀態(tài)或參加排隊(duì)判優(yōu)。狀態(tài)或參加排隊(duì)判優(yōu)。 中斷禁止中斷禁止 中斷源即使有中斷請(qǐng)求信號(hào)也不能使其中斷源即使有中斷請(qǐng)求信號(hào)也不能使其 對(duì)應(yīng)中斷觸發(fā)器置對(duì)應(yīng)中斷觸發(fā)器置“1”1”狀態(tài)或不允許參加排狀態(tài)或不允許參加排 隊(duì)判

23、優(yōu)。隊(duì)判優(yōu)。 5. 中斷服務(wù)程序:處理中斷工作的服務(wù)軟件。 35 6. 中斷處理過(guò)程(中斷響應(yīng)與中斷處理) 從某一個(gè)中斷源發(fā)出中斷服務(wù)請(qǐng)求,到這個(gè)從某一個(gè)中斷源發(fā)出中斷服務(wù)請(qǐng)求,到這個(gè) 請(qǐng)求全部處理完成所經(jīng)過(guò)的主要過(guò)程。請(qǐng)求全部處理完成所經(jīng)過(guò)的主要過(guò)程。 (1)(1) 中斷查詢中斷查詢 CPUCPU在一條指令周期內(nèi)要查詢一次是否有中在一條指令周期內(nèi)要查詢一次是否有中 斷產(chǎn)生。斷產(chǎn)生。 (2)(2) 中斷響應(yīng)中斷響應(yīng) 關(guān)中斷關(guān)中斷 保存斷點(diǎn)保存斷點(diǎn) 轉(zhuǎn)入中斷服務(wù)程序轉(zhuǎn)入中斷服務(wù)程序 36 獲取中斷服務(wù)程序地址:獲取中斷服務(wù)程序地址: 向量中斷向量中斷 中斷向量:中斷向量:中斷服務(wù)程序的入口地址以

24、及中斷服務(wù)程序的入口地址以及 程序狀態(tài)字的合稱。程序狀態(tài)字的合稱。 程序狀態(tài)字程序狀態(tài)字PSWPSW:用來(lái)表征處理機(jī)運(yùn)行程序的狀態(tài)。用來(lái)表征處理機(jī)運(yùn)行程序的狀態(tài)。 一般應(yīng)包含如下內(nèi)容:一般應(yīng)包含如下內(nèi)容: 程序屏蔽碼 程序運(yùn)行狀態(tài) 條件碼 中斷碼 指令計(jì)數(shù)器 37 編編 碼碼 38 非向量中斷非向量中斷 CPU在響應(yīng)中斷時(shí)只產(chǎn)生一個(gè)固定的地址,該在響應(yīng)中斷時(shí)只產(chǎn)生一個(gè)固定的地址,該 地址是中斷查詢程序的入口地址,地址是中斷查詢程序的入口地址,CPU轉(zhuǎn)去執(zhí)行查轉(zhuǎn)去執(zhí)行查 詢程序,通過(guò)軟件查詢確定中斷源,然后執(zhí)行相應(yīng)詢程序,通過(guò)軟件查詢確定中斷源,然后執(zhí)行相應(yīng) 的中斷服務(wù)程序。的中斷服務(wù)程序。 查

25、詢程序:查詢程序:又稱中斷總服務(wù)程序。又稱中斷總服務(wù)程序。 39 (3)(3) 執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序 保存現(xiàn)場(chǎng)保存現(xiàn)場(chǎng) 開開CPUCPU中斷中斷 執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序 關(guān)關(guān)CPUCPU中斷中斷 恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng) 恢復(fù)屏蔽碼恢復(fù)屏蔽碼 恢復(fù)恢復(fù)PSWPSW、PCPC 開開CPUCPU中斷中斷 返回?cái)帱c(diǎn)返回?cái)帱c(diǎn) 40 10.3.4 中斷硬件和優(yōu)先級(jí) 1. 單個(gè)設(shè)備的簡(jiǎn)單系統(tǒng) 非向量中斷非向量中斷 圖圖10.11 10.11 單個(gè)設(shè)備單個(gè)設(shè)備 的非向量中斷的非向量中斷 (a a)硬件)硬件 (b b)時(shí)序)時(shí)序 41 向量中斷向量中斷 圖圖10.12 10.12 單個(gè)設(shè)備的單

26、個(gè)設(shè)備的 向量中斷向量中斷 (a a)硬件)硬件 (b b)時(shí)序)時(shí)序 42 圖圖10.13 10.13 多個(gè)非向量中斷的硬件多個(gè)非向量中斷的硬件 l每個(gè)設(shè)備均有自每個(gè)設(shè)備均有自 己的己的IRQIRQ和和IACKIACK信信 號(hào)號(hào) l他們的優(yōu)先級(jí)是他們的優(yōu)先級(jí)是 預(yù)定的預(yù)定的 ,IRQnIRQn優(yōu)優(yōu) 先級(jí)最高先級(jí)最高 lCPUCPU首先響應(yīng)和服首先響應(yīng)和服 務(wù)優(yōu)先級(jí)最高的務(wù)優(yōu)先級(jí)最高的 中斷中斷 2. 多個(gè)設(shè)備的系統(tǒng) 非向量中斷非向量中斷 43 向量中斷向量中斷 菊花鏈:菊花鏈:用于多中斷優(yōu)先權(quán)排隊(duì)的一種方法。用于多中斷優(yōu)先權(quán)排隊(duì)的一種方法。 圖圖10.14 10.14 菊花鏈菊花鏈 l簡(jiǎn)單易

27、實(shí)現(xiàn)簡(jiǎn)單易實(shí)現(xiàn) l便于擴(kuò)充便于擴(kuò)充 l延遲大延遲大 44 并行優(yōu)先權(quán)排隊(duì)并行優(yōu)先權(quán)排隊(duì) 通過(guò)一個(gè)優(yōu)先權(quán)編碼器采用并行優(yōu)先權(quán)排通過(guò)一個(gè)優(yōu)先權(quán)編碼器采用并行優(yōu)先權(quán)排 隊(duì)(隊(duì)(parallel priorityparallel priority)方式實(shí)現(xiàn)向量中斷)方式實(shí)現(xiàn)向量中斷, , 減少延遲。減少延遲。 擴(kuò)展困難。擴(kuò)展困難。 菊花鏈將引起硬件延遲,特別是當(dāng)鏈較長(zhǎng)菊花鏈將引起硬件延遲,特別是當(dāng)鏈較長(zhǎng) 時(shí),延遲就更大。時(shí),延遲就更大。 45 圖圖10.15 10.15 并行方式實(shí)現(xiàn)優(yōu)先級(jí)中斷并行方式實(shí)現(xiàn)優(yōu)先級(jí)中斷 防止干防止干 擾信號(hào)擾信號(hào) 46 10.3.5 多重中斷處理 多重中斷多重中斷是指在處

28、理某一中斷過(guò)程中又發(fā)生了是指在處理某一中斷過(guò)程中又發(fā)生了 新的中斷,從而中斷該服務(wù)程序的執(zhí)行,又轉(zhuǎn)去進(jìn)新的中斷,從而中斷該服務(wù)程序的執(zhí)行,又轉(zhuǎn)去進(jìn) 行新的中斷處理。這種重疊處理中斷的現(xiàn)象又稱行新的中斷處理。這種重疊處理中斷的現(xiàn)象又稱中中 斷嵌套斷嵌套。 中斷響應(yīng)次序與中斷處理次序中斷響應(yīng)次序與中斷處理次序 中斷響應(yīng)次序是由硬件排隊(duì)判優(yōu)線路決定的,中斷響應(yīng)次序是由硬件排隊(duì)判優(yōu)線路決定的, 不能改變,而中斷處理次序可由屏蔽碼決定,是可不能改變,而中斷處理次序可由屏蔽碼決定,是可 以改變的。以改變的。 中斷處理次序中斷處理次序可以不同于可以不同于中斷響應(yīng)次序。中斷響應(yīng)次序。 47 k+1l+1 m+

29、1 kl m 目的程序 三級(jí)中斷 處理程序 二級(jí)中斷 處理程序 一級(jí)中斷 處理程序 48 例如:例如:某計(jì)算機(jī)的中斷系統(tǒng)有某計(jì)算機(jī)的中斷系統(tǒng)有4 4級(jí)中斷優(yōu)先級(jí),每級(jí)中斷優(yōu)先級(jí),每 級(jí)對(duì)應(yīng)一個(gè)屏蔽碼,下表為程序級(jí)別和屏蔽碼的關(guān)級(jí)對(duì)應(yīng)一個(gè)屏蔽碼,下表為程序級(jí)別和屏蔽碼的關(guān) 系,中斷響應(yīng)次序和處理次序一致,均為:系,中斷響應(yīng)次序和處理次序一致,均為: 1 1 2 3 42 3 4 49 程序級(jí)別 第1級(jí) 第2級(jí) 第3級(jí) 第4級(jí) 1級(jí)2級(jí)3級(jí)4級(jí) 屏蔽碼 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 50 按照這一次序可以看到按照這一次序可以看到CPUCPU運(yùn)動(dòng)的軌跡,如下圖。運(yùn)動(dòng)

30、的軌跡,如下圖。 正常程序 中斷服務(wù) 程序 1 2 3 1 2 1 4 4 32 51 程序級(jí)別 第1級(jí) 第2級(jí) 第3級(jí) 第4級(jí) 1級(jí)2級(jí)3級(jí)4級(jí) 屏蔽碼 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 0 中斷處理次序改為:中斷處理次序改為:1 1 4 3 24 3 2 52 正常程序 中斷服務(wù) 程序 1 1 2 3 4 2 3 4 21 53 10.3.6 CPU內(nèi)部實(shí)現(xiàn)中斷 例:例:相對(duì)簡(jiǎn)單相對(duì)簡(jiǎn)單CPU CPU 處理中斷的過(guò)程處理中斷的過(guò)程 添加一個(gè)添加一個(gè)IRQIRQ輸入引腳,其響應(yīng)信號(hào)傳至輸入引腳,其響應(yīng)信號(hào)傳至 IACKIACK輸出引腳輸出引腳 添加新指令添加新指令

31、識(shí)別中斷并訪問(wèn)此中斷處理的狀態(tài)識(shí)別中斷并訪問(wèn)此中斷處理的狀態(tài) 訪問(wèn)中斷服務(wù)程序訪問(wèn)中斷服務(wù)程序 IEIE:中斷允許觸發(fā)器:中斷允許觸發(fā)器 IPIP:中斷觸發(fā)器:中斷觸發(fā)器 54 指令指令碼操作 LDSP10000000SP CALL10000010 SPSP-1; MSPPC15.8,SPSP-1; MSPPC7.0,PC RET10000011 PC7.0MSP,SPSP+1; PC15.8MSP,SPSP+1 PUSHAC10000100 SPSP-1; MSPAC POPAC10000101ACMSP,SPSP+1 PUSHR10000110 SPSP-1; MSPR POPR10000

32、111RMSP,SPSP+1 IESET0100 0000IE1 IERST0100 0001IE0 IPRST0100 0010IP0 表表10.3 相對(duì)簡(jiǎn)單相對(duì)簡(jiǎn)單CPU的新指令的新指令 55 1. 識(shí)別中斷并訪問(wèn)此中斷處理的狀態(tài) 方法一方法一 方法二方法二 圖圖10.16 兩種訪問(wèn)中斷服務(wù)程序的方法(兩種訪問(wèn)中斷服務(wù)程序的方法(b)修改)修改FETCH1支持中斷支持中斷 (a)采用分離的)采用分離的FETCH1狀態(tài)和狀態(tài)和INT1狀態(tài)狀態(tài) (IEIP)FETCH1 IEIPFETCH1 56 2. 訪問(wèn)中斷服務(wù)程序(部分) INT1: ARSP INT2: DRPC15.8,SPSP-1

33、 INT3: MDR,ARAR-1,SPSP-1 INT4: DRPC7.0 INT5: MDR INT6: DR(數(shù)據(jù)總線來(lái)的向量)(數(shù)據(jù)總線來(lái)的向量) INT7: PC1111,DR,0000,IP0 返回地址壓入堆棧返回地址壓入堆棧 57 DMADMA是高速是高速I/OI/O設(shè)備與主存之間由硬件組成的直設(shè)備與主存之間由硬件組成的直 接數(shù)據(jù)通路,能成組傳送數(shù)據(jù)。接數(shù)據(jù)通路,能成組傳送數(shù)據(jù)。 數(shù)據(jù)傳送是在數(shù)據(jù)傳送是在DMACDMAC控制下進(jìn)行的,在數(shù)據(jù)傳送控制下進(jìn)行的,在數(shù)據(jù)傳送 前和結(jié)束后要通過(guò)程序或中斷方式進(jìn)行預(yù)處理和后前和結(jié)束后要通過(guò)程序或中斷方式進(jìn)行預(yù)處理和后 處理。處理。 10.4

34、.1 將直接存儲(chǔ)器訪問(wèn)DMA納入計(jì)算機(jī)系統(tǒng) 10.4 直接存儲(chǔ)器訪問(wèn) 58 圖圖10.17 帶有帶有DMA的計(jì)算機(jī)系統(tǒng)的計(jì)算機(jī)系統(tǒng) 59 DMA控制器控制器CPU 置置BR=1, 發(fā)送總線請(qǐng)求發(fā)送總線請(qǐng)求 置置BG=1, 發(fā)送總線允許發(fā)送總線允許 60 1. DMA內(nèi)部結(jié)構(gòu) 圖圖10.18 DMA控制器的內(nèi)部結(jié)構(gòu)控制器的內(nèi)部結(jié)構(gòu) 61 2. DMA控制器內(nèi)的寄存器組 DMADMA地址寄存器地址寄存器 存貯數(shù)據(jù)傳輸過(guò)程中需用到的存儲(chǔ)器地址存貯數(shù)據(jù)傳輸過(guò)程中需用到的存儲(chǔ)器地址 DMADMA計(jì)數(shù)寄存器計(jì)數(shù)寄存器 保存?zhèn)鬏敂?shù)據(jù)的字節(jié)數(shù)保存?zhèn)鬏敂?shù)據(jù)的字節(jié)數(shù) DMADMA控制寄存器控制寄存器 從從CPUC

35、PU中接受命令中接受命令 狀態(tài)寄存器狀態(tài)寄存器 向向CPUCPU提供信息提供信息 62 3. DMA控制邏輯 完成完成DMADMA的初始化的初始化 接收設(shè)備送來(lái)的接收設(shè)備送來(lái)的DMADMA請(qǐng)求信號(hào)請(qǐng)求信號(hào) 向設(shè)備控制器回答向設(shè)備控制器回答DMADMA允許信號(hào)允許信號(hào) 向系統(tǒng)申請(qǐng)總線向系統(tǒng)申請(qǐng)總線 控制總線實(shí)現(xiàn)控制總線實(shí)現(xiàn)DMADMA傳輸控制傳輸控制 中斷控制邏輯中斷控制邏輯 63 10.4.2 DMA傳輸方式 突發(fā)方式突發(fā)方式 在突發(fā)方式中,整個(gè)數(shù)據(jù)塊連續(xù)傳輸。在突發(fā)方式中,整個(gè)數(shù)據(jù)塊連續(xù)傳輸。 l 控制簡(jiǎn)單,適合高速外設(shè)的成批數(shù)據(jù)傳送控制簡(jiǎn)單,適合高速外設(shè)的成批數(shù)據(jù)傳送 l CPUCPU較長(zhǎng)

36、時(shí)間不能訪存較長(zhǎng)時(shí)間不能訪存 CPUCPU使用內(nèi)存使用內(nèi)存 DMADMA使用內(nèi)存使用內(nèi)存 內(nèi)存工作時(shí)間內(nèi)存工作時(shí)間 CPUCPUCPUCPU DMADMA操作操作 64 周期竊取方式周期竊取方式 連續(xù)地獲取和放棄系統(tǒng)總線控制權(quán)來(lái)傳輸。連續(xù)地獲取和放棄系統(tǒng)總線控制權(quán)來(lái)傳輸。 l 充分發(fā)揮充分發(fā)揮CPUCPU和和I/OI/O設(shè)備的利用率設(shè)備的利用率 l 判優(yōu)操作和總線切換操作頻繁,判優(yōu)操作和總線切換操作頻繁, 花費(fèi)的時(shí)間開銷大?;ㄙM(fèi)的時(shí)間開銷大。 CPUCPU使用內(nèi)存使用內(nèi)存 DMADMA使用內(nèi)存使用內(nèi)存 內(nèi)存工作時(shí)間內(nèi)存工作時(shí)間 CPUCPU DMADMA CPUCPUCPUCPU DMADMA

37、 CPUCPUCPUCPU DMADMA 65 透明方式透明方式 DMADMA利用空閑時(shí)間傳輸數(shù)據(jù)。利用空閑時(shí)間傳輸數(shù)據(jù)。 CPUCPU使用內(nèi)存使用內(nèi)存 DMADMA使用內(nèi)存使用內(nèi)存 內(nèi)存工作時(shí)間內(nèi)存工作時(shí)間 CPUCPUCPUCPU DMADMA CPUCPUCPUCPU DMADMA l CPU CPU不停止執(zhí)行程序不停止執(zhí)行程序 l 系統(tǒng)總線的硬件復(fù)雜、昂貴系統(tǒng)總線的硬件復(fù)雜、昂貴 CPUCPU DMADMA CPUCPU不需要訪存不需要訪存 66 10.4.3 DMA控制方式下的數(shù)據(jù)傳送過(guò)程 三個(gè)階段 DMADMA傳送前預(yù)處理傳送前預(yù)處理 數(shù)據(jù)傳送數(shù)據(jù)傳送 傳送后處理傳送后處理 1.

38、DMA傳送前預(yù)處理 在進(jìn)行在進(jìn)行DMADMA數(shù)據(jù)傳送之前要用程序做一些數(shù)據(jù)傳送之前要用程序做一些 必要的準(zhǔn)備工作。必要的準(zhǔn)備工作。 67 lDMADMA控制器初始化控制器初始化 lI/OI/O設(shè)備控制器初始化設(shè)備控制器初始化 l啟動(dòng)設(shè)備啟動(dòng)設(shè)備 2. 數(shù)據(jù)傳送 DMADMA控制器控制完成數(shù)據(jù)傳送工作,控制器控制完成數(shù)據(jù)傳送工作,傳送傳送 結(jié)束向結(jié)束向CPU發(fā)中斷請(qǐng)求信號(hào)。發(fā)中斷請(qǐng)求信號(hào)。 3. 傳送后處理 CPUCPU響應(yīng)中斷,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,響應(yīng)中斷,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序, 進(jìn)行結(jié)束處理工作。進(jìn)行結(jié)束處理工作。 68 10.4.4 修改CPU使其與DMA共處 1.為了使CPU能與DMA

39、控制器共同工作 增加控制輸入信號(hào)增加控制輸入信號(hào)BRBR和控制輸出信號(hào)和控制輸出信號(hào)BGBG 產(chǎn)生產(chǎn)生BGBG的邏輯電路的邏輯電路 2.CPU允許在以下狀態(tài)接受DMA的請(qǐng)求 取指令后、譯碼后、取操作數(shù)后、取指令后、譯碼后、取操作數(shù)后、 指令執(zhí)行完后、結(jié)果保存后指令執(zhí)行完后、結(jié)果保存后 69 3.修改相對(duì)簡(jiǎn)單CPU 在取指令周期開始處理在取指令周期開始處理DMADMA請(qǐng)求請(qǐng)求 (1) (1) 對(duì)對(duì)BGBG的操作的操作 BRFETCH1BRFETCH1: BG1 BG1 BRFETCH1 BRFETCH1: BG0BG0,(,(FETCH1FETCH1的微操作)的微操作) 兩條合并:兩條合并: F

40、ETCH1FETCH1: BGBRBGBR BRFETCH1 BRFETCH1: ( FETCH1FETCH1的微操作)的微操作) (2) (2) 實(shí)現(xiàn)實(shí)現(xiàn)BGBG的硬件的硬件 (3) (3) 狀態(tài)圖所需的修改狀態(tài)圖所需的修改 70 圖圖10.19 BG10.19 BG的硬件實(shí)現(xiàn)的硬件實(shí)現(xiàn) 圖圖10.20 10.20 修改狀態(tài)圖接納修改狀態(tài)圖接納BRBR和和BGBG 71 I/O處理器處理器 與與CPU交互,處理由交互,處理由I /O設(shè)備讀出后數(shù)據(jù)設(shè)備讀出后數(shù)據(jù) 可連接多個(gè)可連接多個(gè)I/O設(shè)備設(shè)備 I/O設(shè)備連接至設(shè)備連接至I/O總線上,而不是系統(tǒng)總總線上,而不是系統(tǒng)總 線上線上 10.5 I

41、/O處理器 72 圖圖10.21 帶帶I/O處理器的系統(tǒng)結(jié)構(gòu)處理器的系統(tǒng)結(jié)構(gòu) 73 CPU向向I/O處理器發(fā)送一系列處理器發(fā)送一系列I/O指令,而不指令,而不 象處理象處理DMA那樣將值存于寄存器中,指令分那樣將值存于寄存器中,指令分 為三類:為三類: l 塊傳送命令塊傳送命令 l 2. 執(zhí)行算術(shù)、邏輯、和分支操作的命令執(zhí)行算術(shù)、邏輯、和分支操作的命令 l 3. 控制命令控制命令 傳輸數(shù)據(jù)塊傳輸數(shù)據(jù)塊 ,類似于,類似于DMA數(shù)據(jù)塊傳輸數(shù)據(jù)塊傳輸 有助于處理數(shù)據(jù)以便使數(shù)據(jù)能為有助于處理數(shù)據(jù)以便使數(shù)據(jù)能為CPU所用所用 通常是硬件相關(guān)并對(duì)計(jì)算機(jī)系統(tǒng)功能的通常是硬件相關(guān)并對(duì)計(jì)算機(jī)系統(tǒng)功能的 正確發(fā)揮

42、十分關(guān)鍵正確發(fā)揮十分關(guān)鍵 74 一個(gè)一個(gè)I/O處理器的系列命令能執(zhí)行許多連續(xù)的處理器的系列命令能執(zhí)行許多連續(xù)的I/O傳送,考慮以傳送,考慮以 下任務(wù):下任務(wù): 1、從端口地址、從端口地址9000H的磁盤驅(qū)動(dòng)器處讀取的磁盤驅(qū)動(dòng)器處讀取247字節(jié)的數(shù)據(jù),寫入字節(jié)的數(shù)據(jù),寫入 起始地址為起始地址為1000H的存儲(chǔ)器中;的存儲(chǔ)器中; 2、從地址為、從地址為9001H的輸入端口讀取的輸入端口讀取1字節(jié)數(shù)據(jù)寫入字節(jié)數(shù)據(jù)寫入CPU的累加器的累加器 中;中; 3、將內(nèi)存單元、將內(nèi)存單元2000H至至207FH的內(nèi)容寫至的內(nèi)容寫至I/O地址為地址為9002H的打的打 印機(jī)上。印機(jī)上。 帶帶DMA控制器而沒(méi)有控制

43、器而沒(méi)有I/O處理器的系統(tǒng)首先將數(shù)據(jù)寫入處理器的系統(tǒng)首先將數(shù)據(jù)寫入DMA 控制器的寄存器中,并啟動(dòng)傳輸,等待它完成。然后它從地控制器的寄存器中,并啟動(dòng)傳輸,等待它完成。然后它從地 址為址為9001H的的I/O端口輸入端口輸入1字節(jié)數(shù)據(jù)。最后為打印數(shù)據(jù)塊啟字節(jié)數(shù)據(jù)。最后為打印數(shù)據(jù)塊啟 動(dòng)第二個(gè)動(dòng)第二個(gè)DMA傳送。傳送。 而在帶而在帶I/O處理器的系統(tǒng)中,處理器的系統(tǒng)中,CPU將執(zhí)行三個(gè)任務(wù)所需的命令將執(zhí)行三個(gè)任務(wù)所需的命令 寫入存儲(chǔ)器的一個(gè)連續(xù)塊中,并將塊的指針給寫入存儲(chǔ)器的一個(gè)連續(xù)塊中,并將塊的指針給I/O處理器,從處理器,從 而減少了建立傳輸?shù)拈_銷。而減少了建立傳輸?shù)拈_銷。 75 并行通信并

44、行通信:同一時(shí)間內(nèi)傳輸多位數(shù)據(jù):同一時(shí)間內(nèi)傳輸多位數(shù)據(jù) DMA控制器和控制器和I/O處理器都采用并行通信處理器都采用并行通信 串行通信串行通信:在給定的時(shí)間內(nèi)不能傳輸多位數(shù):在給定的時(shí)間內(nèi)不能傳輸多位數(shù) 據(jù),傳輸數(shù)據(jù)要通過(guò)并串轉(zhuǎn)換據(jù),傳輸數(shù)據(jù)要通過(guò)并串轉(zhuǎn)換 打印機(jī)、打印機(jī)、MODEM等通過(guò)串口與等通過(guò)串口與CPU通信通信 異步串行通信異步串行通信:連接的設(shè)備不共用同一時(shí)鐘:連接的設(shè)備不共用同一時(shí)鐘 并且需同時(shí)傳輸數(shù)據(jù)并且需同時(shí)傳輸數(shù)據(jù) 同步串行傳輸同步串行傳輸 :以幀(:以幀(frame)的形式傳輸數(shù))的形式傳輸數(shù) 據(jù)塊,幀中包括傳輸信息頭、數(shù)據(jù)和傳輸據(jù)塊,幀中包括傳輸信息頭、數(shù)據(jù)和傳輸 信息

45、尾信息尾 10.6 串行通信串行通信 76 10.6.1串行通信原理串行通信原理 兩個(gè)設(shè)備采用異步串行傳輸通信時(shí),他兩個(gè)設(shè)備采用異步串行傳輸通信時(shí),他 們不共用同一時(shí)鐘。必須采用許多措施們不共用同一時(shí)鐘。必須采用許多措施 同步數(shù)據(jù)流因而事先就一些同步數(shù)據(jù)流因而事先就一些傳輸參數(shù)傳輸參數(shù)達(dá)達(dá) 成一致成一致 速度:比特速度:比特/秒秒-每秒位數(shù)每秒位數(shù) 奇偶校驗(yàn)位奇偶校驗(yàn)位 起始位起始位 停止位停止位 一些一些 基本基本 參數(shù)參數(shù) 77 圖圖10.22顯示了傳輸兩字節(jié)數(shù)據(jù)及其傳輸間隔中傳顯示了傳輸兩字節(jié)數(shù)據(jù)及其傳輸間隔中傳 輸線的值,此系統(tǒng)采用許多調(diào)制解調(diào)器傳輸時(shí)的輸線的值,此系統(tǒng)采用許多調(diào)制解調(diào)器傳輸時(shí)的 典型設(shè)置典型設(shè)置N81:即沒(méi)有奇偶位、即沒(méi)有奇偶位、八位數(shù)據(jù)位八位數(shù)據(jù)位和一位和一位 停止位停

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論