8085微處理器中的I/O對映I/O或記憶體對映I/O


在討論I/O對映I/O和記憶體對映I/O的優缺點之前,讓我們先來一般性地討論一下I/O對映I/O和記憶體對映I/O的區別。

記憶體對映輸入輸出:

  • 我們將記憶體地址分配給輸入輸出裝置。

  • 此輸入輸出裝置可以訪問任何與記憶體相關的指令。

  • 輸入輸出裝置資料也提供給算術邏輯單元 (ALU)。

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條地址線,即64KB記憶體的定址能力。它支援I/O對映I/O。它最多可以定址256個I/O。

  • 如果我們將I/O連線到I/O對映I/O,則它可以定址256個I/O + 64KB記憶體。並使用特殊的IN和OUT指令來訪問外圍裝置。在這裡,我們充分利用了處理器的定址能力。

  • 如果外圍裝置以記憶體對映方式連線,則它可以定址的總裝置數只有64K。這是資源的低效利用。並且僅使用記憶體訪問指令(如MVI、MOV、LOAD、SAVE)來訪問I/O裝置。

根據之前的討論,我們無法得出哪種輸入輸出埠定址方案更好。兩者都有其優點和缺點。英特爾系列微處理器(如8085、8086、80386、奔騰)和Zilog系列微處理器(如Z-80、Z-8000等)除了提供記憶體對映I/O之外,還提供I/O對映I/O功能。因此,在基於英特爾處理器的系統中,某些I/O埠可以連線為I/O對映I/O埠,而其他一些埠可以連線為記憶體對映I/O埠。但摩托羅拉系列微處理器(如6800、68000、68020等)只提供記憶體對映I/O。因此,就I/O埠的定址而言,可以說英特爾處理器比摩托羅拉處理器更好。

根據之前的討論,我們無法確定哪種輸入輸出埠定址方案更好。兩者都有其優點和缺點。英特爾系列微處理器(如8085、8086、80386、奔騰)和Zilog系列微處理器(如Z-80、Z-8000等)都提供I/O對映I/O功能,此外還提供記憶體對映I/O功能。在英特爾製造的處理器系統中。但是,摩托羅拉系列微處理器(如6800、68000、68020)只提供記憶體對映I/O。因此,就輸入輸出埠的定址而言,我們可以得出結論,英特爾系列處理器比摩托羅拉處理器要好得多。

更新於:2019年7月30日

6000+ 瀏覽量

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告