第二章埠位址解碼 修

2022-12-24 11:06:03 字數 3913 閱讀 5618

第二章 i/o埠位址解碼技術

2.1 i/o埠及其編址方式

一、i/o 埠和i/o操作

埠埠:微處理器與i/o裝置直接通訊的位址。

cpu只所以能夠準確無誤地與各個i/o介面晶元或i/o介面邏輯電路進行通訊,就是因為各個i/o介面晶元或i/o介面邏輯電路具有各自的埠位址。

操作i/o操作:i/o埠的操作;包括,埠的輸入操作和輸出操作兩類。

二、埠位址的編址方式

所謂定址方式就是如何實現對i/o 埠的訪問問題。即稱之謂i/o 埠定址。

1.統一編址方式(儲存器映象i/o定址方式)

統一編址:指從儲存器空間劃出一部分位址空間給i/o介面裝置,把i/o介面中的埠視作儲存器單元一樣的進行訪問,不設定專門的i/o指令。

統一編址的特點:

⑴ i/o 埠與儲存器共用同一位址空間。在系統設計時,指定某位址空間內的乙個區域供i/o裝置使用,即每乙個i/o埠占用儲存器空間的乙個位址。

⑵ cpu 對i/o埠的管理,是利用對儲存器單元進行操作的指令來實現資料傳送的,大大增加了程式設計的靈活性,並使cpu對i/o裝置控制更為方便。

⑶ cpu 通過位址匯流排的最高位狀態和讀/寫控制命令,確定是對儲存器訪問還是對i/o埠進行訪問。無論對儲存器還是對i/o埠訪問,cpu一視同仁地將其視為儲存空間的乙個單元。

⑷ 統一編址i/o埠占用了儲存器位址空間,使儲存器容量減少,此外指令長度比專用i/o指令要長,執行時間也長。

2.獨立編址方式

獨立編址:i/o 埠和儲存器分別建立兩個位址空間,並且相互獨立。cpu 設定專門的輸入/輸出指令實現對i/o埠的訪問。

獨立的i/o編址的特點:

⑴ i/o裝置的埠位址空間與儲存器位址空間完全分開,各自獨立。

⑵ cpu 使用各自的控制命令對儲存器和i/o裝置進行訪問控制。

⑶ cpu 對i/o裝置的管理是使用專門的輸入(in)和輸出(out)指令來實現資料傳輸,而輸入/輸出資料通道則是共用的匯流排結構。

⑷ ibm-pc及其相容機都使用i/o埠獨立編址方式。

三、獨立編址方式的埠訪問

微型計算機採用i/o指令即input和output訪問埠,實現cpu與i/o裝置之間的資料傳輸。

指令中埠的位址的寬度

在i/o指令中,有單位元組位址和雙位元組定址之分。

⑴單位元組位址

格式:in al, port

out port, al

例如:in al, 60h ;al由埠60h讀入資料(60h是8255a的pa埠位址)

out 61h,al ;al向埠61h寫入資料(61h是8255a的pb埠位址)

⑵雙位元組位址

格式:mov dx, ╳ ╳ ╳ ╳h

in al,dx

mov dx,╳ ╳ ╳ ╳h

out dx,al

例如:mov dx, 300h

in al,dx

mov dx,301h

out dx,al

注意:採用單位元組位址時,埠位址是在指令中直接給出的,即埠位址就在指令中;採用雙位元組位址時,埠位址是用暫存器間接給出的,即位址存放在暫存器dx中。

埠訪問

埠訪問:就是cpu對埠的讀/寫操作,即cpu從埠讀入資料或向埠寫入資料。

例如:in al, 60h ;al由埠60h讀入資料(60h是8255a的pa埠位址)

out 61h,al ;al向埠61h寫入資料(61h是8255a的pb埠位址)

例如:mov dx, 300h

in al,dx

mov dx,301h

out dx,al

以上僅僅是i/o埠與cpu之間的資料交換,如果記憶體與外部裝置交換資料時,則:

例如:mov dx, 300h ;i/o埠

in al,dx ;從埠讀入資料到al

mov [di],al ;將資料從al暫存器→記憶體

mov dx,301h ;i/o埠

mov al,[si] ;從記憶體讀取資料到al

out dx,al ;資料從al暫存器→埠

2.2 i/o埠位址的分配

本節安排學員自己學習,弄懂:

埠位址選用原則?

2.現有位址中,哪些位址已經用於i/o裝置?廠商保留位址是哪些?使用者開發使用的位址範圍是哪些?

2.3 i/o埠位址解碼

埠位址解碼:依據來自位址匯流排上的位址碼,變換成為cpu所要訪問的埠(暫存器),實現cpu對介面晶元或介面電路的選擇。也就是對埠位址的識別。

一、位址解碼原則

1.高位位址(釋:什麼叫高位位址?)與cpu的控制訊號組合經過解碼電路解碼,實現系統中的片間定址;

2.低位位址(釋:什麼叫低位位址?)直接加到i/o介面晶元,實現介面晶元內的埠定址。

二、i/o位址解碼電路工作原理及作用

1.解碼電路的輸入訊號

根據位址解碼的原則:

晶元間選擇:高位位址+控制訊號進行邏輯組合→產生片間選擇訊號。該訊號不僅滿足位址範圍分配限制,同時滿足cpu的控制條件。

例如:aen訊號,當aen=「0」時→非dma操作,解碼才有可能有效;

當en=「1」時→dma操作,解碼絕對無效。

-ior、-iow:控制對i/o埠的讀/寫操作,只有該訊號有效時才有可能使解碼有效。

說明:低位位址不參加解碼,直接加於i/o介面晶元。

2.解碼電路的輸出訊號

位址解碼輸出訊號:-cs,低電平有效(釋:低電平有效);

-cs=「0」時,表示解碼有效,即被菜單元被cpu選中,cpu可以對其進行操作。

-cs=「1」時,表示解碼無效,cpu無法對其執行操作。

三、i/o埠位址解碼電路設計

解碼電路設計型別思路:

位址範圍:n根位址線未參與解碼,譯出位址含2n個;

依據解碼電路形式:固定埠位址(埠位址是唯一的)解碼與可選式埠位址(埠位址不是唯一的,可以根據不同的需要有所選擇)解碼;

依據解碼電路採用元件:閘電路解碼與解碼器解碼。

1. 固定式埠位址解碼

閘電路解碼法——單個位址或位址範圍;

解碼法——多個位址或位址範圍。

例一:使用74ls20/30/32和74ls04設計i/o埠位址為2f8h的唯讀解碼器?

分析:74ls20/30(與非門)/32(或非門)/04(非門)

位址線 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0

十六進製制2f8

二進位制 0 0 1 0 1 1 1 1 1 0 0 0

由此,設計出解碼電路如教材p15fig 2.1(a)

例二:使用74ls20/30/32和74ls04設計i/o埠位址為2e2h解碼器?

方法同例一

例三:使用74ls138設計乙個系統板上介面晶元的i/o位址解碼電路,並且讓每個介面晶元內部的埠數目為32個?

分析:①74ls138晶元:有三個解碼輸入端、三個解碼控制端和八個解碼輸出端;

介面晶元內部的埠數目為32個,即a0-a4為低位位址,不參加解碼,a5、a6、a7作為74ls138的解碼輸入;

系統板上的i/o位址分配在000h-0ffh範圍,位址應該由000h開始。

由此:a9 a8 a7 a6 a5 a4 a3 a2 a1 a0

控制片選片內選擇

0h 0-7h 0 - 1fh

則得:教材p16的fig 2.2

2.可選式埠位址解碼

比較器的方法:當比較器輸出有效(相等)時,解碼輸出有效。

加位址開關的方法:使用跳接開關改變位址狀態,實現位址可變。

例四:設計乙個埠位址為278h-27fh、378h-37fh的解碼邏輯(印表機介面卡解碼邏輯)?

要求:學員自己在下面做,待會選擇幾個同學到講台上畫出自己的結果。

第二章總結

第二章化學物質及其變化複習提綱 第一節物質的分類 一 簡單分類法及其應用 樹狀分類法 交叉分類法 二 分散系及其分類 分散系 1 定義 一種 或多種 物質以粒子形式分散在另一種 或多種 物質中所得到的體系。2 組成 分散成微粒的物質 分散質 微粒分布在其中的物質 分散劑 3 分類 膠體 1 膠體的本...

第二章小結

第二章隨機變數及其分布 第一節隨機變數的概念 一 隨機變數概念的引入 為全面研究隨機試驗的結果,揭示隨機現象的統計規律性,需將隨機試驗的結果數量化,即把隨機試驗的結果與實數對應起來.1.在有些隨機試驗中,試驗的結果本身就由數量來表示.2.在另一些隨機試驗中,試驗結果看起來與數量無關,但可以指定乙個數...

第二章學案

第二章簡單直流電路 2.1電動勢閉合電路的歐姆定律 學習目標 1.理解電動勢 端電壓 電位的概念。2.掌握閉合電路的歐姆定律。要點導學 1.什麼是電源的電動勢?常用什麼符號表示?2.電動勢的大小e 3.電動勢的方向是怎麼規定的?4.閉合電路的歐姆定律 5.負載獲得最大功率的條件是什麼?此時負載的最大...