I/O 對映 I/O 的缺點和記憶體對映 I/O 的優點
在討論 I/O 對映 I/O 的缺點和記憶體對映 I/O 的優點之前,讓我們先對 I/O 對映 I/O 和記憶體對映 I/O 之間的區別進行一般性的討論。
在記憶體對映輸入輸出中 -
我們將一個記憶體地址分配給一個輸入輸出裝置。
此輸入輸出裝置可以訪問與記憶體相關的任何指令。
輸入輸出裝置資料也提供給算術邏輯單元。
輸入輸出對映輸入輸出 -
我們為一個輸入輸出裝置提供一個輸入輸出地址
此類裝置僅訪問 IN 和 OUT 指令。
ALU 操作不直接適用於此類輸入輸出資料。
因此,作為總結,我們可以提到 -
I/O 是處理器/控制器用於處理連線到它的外設的任何通用埠。
I/O 對映 I/O 具有與記憶體不同的地址空間。因此,總定址容量是連線的 I/O 數量和連線的記憶體。使用單獨的 I/O 相關指令來訪問 I/O。單獨的訊號用於定址 I/O 裝置。
記憶體對映 I/O 與外部記憶體共享記憶體空間。因此,總定址容量僅為連線的記憶體。如果您的處理器支援 I/O 對映 I/O,則這是資源的利用不足。在這種情況下,用於訪問 I/O 的指令與用於記憶體的指令相同。
讓我們以 8085 處理器為例。它有 16 條地址線,即 64 KB 記憶體的定址容量。它支援 I/O 對映 I/O。它最多可以定址 256 個 I/O。
如果我們將 I/O 連線到 I/O 對映 I/O,那麼它可以定址 256 個 I/O + 64 KB 記憶體。並使用特殊的 IN 和 OUT 指令訪問外設。在這裡,我們充分利用了處理器的定址能力。
如果外設以記憶體對映方式連線,則它可以定址的總裝置數僅為 64K。這是資源的利用不足。並且僅使用 MVI、MOV、LOAD、SAVE 等記憶體訪問指令來訪問 I/O 裝置。
現在我們將討論 I/O 對映 I/O 的缺點和記憶體對映 I/O 的優點 -
我們僅使用 IN 和 OUT 指令來定址輸入輸出對映輸入輸出埠。但是,我們使用大量指令來與記憶體對映輸入輸出埠進行通訊過程。我們用於訪問記憶體位置的所有指令都用於訪問記憶體對映輸入輸出埠。
LXI H, FFF0H | HL 對載入 FFF0H |
---|---|
MOV C, M ; | C 暫存器載入輸入埠 FFF0H 的內容 |
INR M ; | 將輸入埠 FFF0H 的內容加 1 |
ANA M ; | 執行累加器和輸入埠 FFF0H 的 AND 操作 |
ADD M ; | 將累加器內容和輸入埠 FFF0H 相加 |
設計微處理器的設計人員需要以最少的引腳數量來設計獨特的晶片。出於這個原因,我們發現從 AD7-AD0 開始的多路複用地址和資料引腳。
透過使用輸入輸出對映輸入輸出,只有累加器與輸入輸出埠通訊。但是,我們使用記憶體對映輸入輸出,任何暫存器都與輸入輸出埠通訊。可以引用為“MOV C, M”的示例可用於將 C 暫存器載入到記憶體對映 I/O 埠的內容,其地址在 HL 對中提供。
我們使用輸入輸出對映輸入輸出,以便在 8085 系統中僅定址 256 個輸入埠和 256 個輸出埠,因為輸入輸出埠的長度為 8 位寬。