上QQ阅读APP看书,第一时间看更新
4.2 输入输出
一台不能与外界通信的计算机用处有限,我们需要使用一些方法使计算机能够与外界交换信息,即输入输出,简称I/O。与I/O相连接的设备叫作I/O设备。由于它们位于计算机的外围,所以通常也被称为外围设备。
计算机过去有一个单独的I/O通道,如图4-5所示,类似于内存通道。过去计算机体积巨大时,这个通道是有意义的,因为它们没有被挤压在有限的电气连接的小组件中。而且,内存通道不是很长,所以仅仅为了支持I/O而限制地址的数量是没有意义的。
图4-5 独立的内存和I/O总线
由于32位和64位计算机的普及,内存通道比过去长很多。内存通道太长了,并不是通道中每个地址都有“房子”,空地也很多。换句话说,有些地址没有与之相关联的内存。因此,为I/O设备预留一部分内存通道更为合理,这就像城市边缘的工业区。而且,当更多的电路被封装进一个连接数量有限的组件中时,I/O和内存在同一总线上是有意义的。
许多计算机都设计了标准的输入/输出插槽,以便I/O设备可以以统一的方式与任一计算机连接。这有点像美国旧西部的财产分配方式,非法人领地被划分为一系列的政府赠地,如图4-6所示。每个插槽持有者都可以使用其边界内的所有地址。通常每个插槽中都有一个特定的地址,地址中包含某种标识符,这样“市中心”就可以进行统计普查,以确定每个插槽中“居住”的是谁。
图4-6 共享的内存和I/O总线
如果用船运来比喻设备和I/O端口的关系,那设备就好像钩在了I/O端口上。