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+ 浏览量

开启您的职业生涯

完成课程获得认证

开始学习
广告