存储器映射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条地址线,即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设备。

更新于:2019年7月30日

2K+浏览量

启动您的职业生涯

完成课程获得认证

开始
广告