IO 和 内存 的编址
统一编址
-
对于 CPU 来说 IO外设 和 内存 都是一样的,除了地址 不同
-
就相当于 一部分 地址 可以访问到 内存
-
另一部分 地址可以访问到 IO 外设
-
就是 在内存的一部分空间 分配给 IO外设
-
这样的编址就可以使用 MOV 一个指令来访问 IO 和 内存
-
优点:
- I/O 端口 数目几乎不受限制
- 访问 内存的指令均可以 访问 I/O 接口,对 I/O 端口的数据处理能力强
- CPU 无须区分访问内存 和 I/O 接口 的控制信号,从而减少 引脚
-
缺点:
- 程序中对 I/O 操作不明显,难以区分程序中 对 内存 和 I/O 的操作
- I/O 接口占用部分内存
- 译码电路复杂,内存地址位数较多
独立编址
-
8086 就是用 这种方式
-
将 内存 与 IO外设 相分离,互不影响
-
访问 内存 要使用到 20 跟地址线 ,范围 :1 MB
-
访问 IO 要是有到 16 根地址线, 范围 :64KB
-
访问内存 的指令 MOV
-
访问IO 的指令 IN 和 OUT
-
当 CPU 引脚 M / IO|
-
为 1 时 访问 内存
-
为 0 时 访问 IO
-
优点:
- 不占用内存空间
- 使用 I/O 操作指令,程序清晰
- 译码电路简单,
- 缺点:
- 只能用专门的指令来进行访问 I/O