MPU在一些称为输入/输出设备的外部设备的帮助下与外界通信。 MPU接受来自输入设备(例如键盘和模拟/数字转换器)的二进制数据,并将数据发送到输出设备(例如打印机和LED)。为了执行此任务,MPU首先需要识别输入/输出设备。
可以使用两种不同的方法来标识I / O设备:使用8位地址和使用16位地址。以下各节简要介绍了这些方法:
- 具有8位地址的I / O –
这也称为外围设备映射的I / O或I / O映射的I / O。在这种I / O中,MPU使用八条地址线来标识输入或输出设备。这是用于输入/输出指令的I / O的8位编号系统。这也称为I / O空间,它与16位编号系统的存储空间分开。八条地址线有2 ^ 8个组合,总共256个地址。因此,MPU可以识别256个输入设备和256个输出设备,其地址范围从00H到FFH。输入和输出设备可以通过使用控制线I / O读取和I / O写入来区分。 MPU将I / O读控制信号用于输入设备,将I / O写控制信号用于输出设备。 I / O映射的各个地址称为I / O端口号。这些I / O设备不能直接连接到数据总线或地址总线。所有连接都必须通过三态接口设备进行,因此只有当MPU选择与它们进行通信时,它们才会启用并连接到总线。
- 具有16位地址的I / O –
这也称为内存映射I / O。在这种I / O中,MPU使用16条地址线来标识输入或输出设备。连接一个I / O,就好像它是一个内存寄存器一样。 MPU使用与存储器相同的控制信号(存储器读取和存储器写入)和指令。在某些微处理器中,例如Motorola 6800,所有I / O都具有16位地址。 I / O和内存共享相同的内存映射(64K)。对于8位和16位地址,与I / O设备进行通信的步骤相似。步骤总结如下:- MPU在地址总线上放置一个8位地址(或16位地址),该地址由外部解码逻辑解码。
- MPU发送控制信号(I / O读取或I / O写入)并启用I / O设备。
- 使用数据总线传输数据。