5.1.1 外設(shè)接口的編址方式
1.外設(shè)地址與內(nèi)存地址統(tǒng)一編址
這種編址方式又稱為存貯器映射編址方式。在這種編址方式中,將外設(shè)接口地址和內(nèi)部存貯器地址統(tǒng)一安排在內(nèi)存的地址空間中。
2. 外設(shè)與內(nèi)存獨(dú)立編址 在這種編址方法中,內(nèi)存地址空間和外設(shè)地址空間是相互獨(dú)立的。
5.1.2 輸入輸出的基本方法
在微型計(jì)算機(jī)系統(tǒng)中,主要的輸入輸出方法有以下4種:
① 無條件傳送。
② 查詢方式。
③ 中斷方式。
④ 直接存貯器存取(DMA)方式。
1.無條件傳送
在微機(jī)系統(tǒng)中,有一些簡單的外設(shè)。當(dāng)它們工作時(shí),隨時(shí)都準(zhǔn)備好接收CPU的輸出數(shù)據(jù)或它們的數(shù)據(jù)隨時(shí)都是準(zhǔn)備好的,CPU什么時(shí)候讀均可以正確

無條件數(shù)據(jù)傳送的另一個(gè)例子如圖5.2表示。圖中外設(shè)是簡單的發(fā)光二極管。此外設(shè)的接口用鎖存器(273)來實(shí)現(xiàn)。 鎖存器在打入脈沖CP上升沿將輸入端D的數(shù)據(jù)鎖存在它的輸出Q端

圖5.2中,鎖存器作為輸出接口,其外設(shè)地址為0000H。當(dāng)CPU執(zhí)行如下指令時(shí),即可將圖中兩個(gè)發(fā)光二極管點(diǎn)亮。 MOV AL,81H MOV DX,0000H OUT DX,AL 當(dāng)執(zhí)行OUT指令時(shí),CP端會(huì)有負(fù)脈沖產(chǎn)生,這就可以將數(shù)據(jù)線上的81H鎖存在輸出端,從而點(diǎn)亮發(fā)光二極管。 2.查詢方式 無條件傳送對(duì)于那些慢速的或總是準(zhǔn)備好的外設(shè)是適用的。

(1) 單一外設(shè)的查詢工作
由圖5.5可以看到,數(shù)據(jù)輸出口和狀態(tài)輸入口共用一個(gè)地址00FFH。前者是只寫的,而后者是只讀的?,F(xiàn)欲將48000H為首地址的順序100單元的數(shù)據(jù),
利用查詢方式輸出到此外設(shè),其程序可簡寫如下:
START:MOV AX,4000H
MOV DS,AX
MOV SI,8000H
MOV CX,100


GOON:MOV DX,00FFH WAIT: IN AL,DX AND AL,01H JZ WAIT MOV AL,[SI] OUT DX,AL INC SI LOOP GOON RET
(2) 多個(gè)外設(shè)查詢方式工作
從圖5.6可以看出,CPU逐個(gè)外設(shè)進(jìn)行查詢。若發(fā)現(xiàn)哪個(gè)外設(shè)準(zhǔn)備就緒,就對(duì)該外設(shè)實(shí)施數(shù)據(jù)傳送。

