I⼀O端口地址的编址有哪两种方式?试说明它们的区别。

I/O端口地址的编址有哪两种方式?试说明它们的区别。
2025-03-13 04:47:06
推荐回答(4个)
回答1:

独立编址和统一编址:
1.独立编址(专用的I/O端口编址)----存储器和I/O端口在两个独立的地址空间中
  (1)优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计
  (2)缺点:需要有专用的I/O指令,程序设计的灵活性较差
  2.统一编址(存储器映像编址)----存储器和I/O端口共用统一的地址空间,当一个地址空间分配给I/O端口以后,存储器就不能再占有这一部分的地址空间
  (1)优点:不需要专用的I/O指令,任何对存储器数据进行操作的指令都可用于I/O端口的数据操作,程序设计比较灵活;由于I/O端口的地址空间是内存空间的一部分,这样,I/O端口的地址空间可大可小,从而使外设的数量几乎不受限制
  (2)缺点:I/O端口占用了内存空间的一部分,影响了系统的内存容量;访问I/O端口也要同访问内存一样,由于内存地址较长,导致执行时间增加

回答2:

常用的编址方式主要有I/O 统一编址和I/O独立编址。

  • I/O统一编址

  • a)       优点:

    i.             对I/O接口的操作与对存储器的操作完全相同,增强系统的I/O功能,访问外设端口的操作方便、灵活。

    ii.             可以使外设数目或I/O寄存器数目只受总存储容量的限制,增加系统吞吐率。

    iii.             使微机系统的读、写控制逻辑简单。

    b)       缺点:

    i.             占用了存储器的一部分地址空间,使可用内存空间减少。

    ii.             访问内存的指令一般较长,执行速度较慢。

    iii.             为了识别一个I/O端口,必须对全部地址线译码,增加了地址译码电路的复杂性,而且使外设寻址操作时间相对增长。

    (2)     I/O独立编址

    1.       优点:

  • I/O端口地址不占用存储器地址空间。

  • 地址译码简单,寻址速度较快。

  • 使用专用I/O指令和真正的存储器访问指令有明显区别,可使程序编制得清晰,便于理解和检查。

  • 2.       缺点:

  • 专用I/O指令类型少,使程序设计灵活性较差。

  • 使用I/O指令只能在累加器和I/O端口间交换信息,处理能力不如统一编址强。

  • 要求处理器能提供存储读写及I/O端口读写两组控制信号,增加控制逻辑的复杂性。

回答3:

这个事,是关于 CPU 内部设计的理念。

但是,一般的大学生,毕业后,根本就没有设计、制作 CPU 的机会。

所以,学习、掌握这种知识,就是收集了一滩垃圾。

还不如去探讨一下:外星人长了几条腿。

回答4:

I/O 端口地址的编址有哪两种方式?试说明它们的区别。

I/O 端口地址的编址、存储器的编址,两者是雷同的。

都可以有:译码法、线选法。

译码法,比较稳妥,每个端口地址都有明确的端口。

线选法,就会有(不可用的)重叠地址,使用时,需要小心行事。