计算机I/O设备及编程技术详解
1. I/O设备的时间特性
几乎所有的I/O设备都比内存慢很多。以键盘这个常见的输入设备为例,每分钟输入120个单词,相当于每秒输入10个字符,即每个字符之间的间隔为100毫秒。而运行频率为2 GHz的CPU在这段时间内大约可以执行2亿条指令。而且,按键之间的时间间隔非常不一致,很多时候会比100毫秒长得多。
即使是固态硬盘(SSD)与内存相比也很慢。典型SSD的数据传输速率约为500 MBps,而常用于主内存的DDR4内存传输速率约为20 GBps,大约快40倍。
除了速度慢之外,I/O设备的时间特性还存在很大的差异。比如,有些人打字速度很快,而有些人则很慢。磁盘上所需的数据可能刚转到读写头下方,也可能刚过去,这时就需要等待磁盘几乎完整旋转一圈,数据才能再次到达读写头下方。
2. 总线时间特性
虽然系统的三个主要子系统之间通常只有三条总线相连,但由于内存和各种I/O设备在时间特性上存在很大差异,因此出现了用于访问内存和I/O设备的不同总线。每种总线设计都能传输地址、数据和控制信息,但它们使用不同的协议和物理连接,以更好地匹配所连接设备的速度。
大多数计算机采用分层总线结构,通过高速总线将内存和其他快速子系统连接到CPU,而通过低速总线连接慢速子系统。以2005年左右常见的PC配置为例:
- 内存控制器集线器(北桥) :通过前端总线为CPU提供快速通信路径。除了与主内存建立快速连接外,还连接到PCI - E等快速I/O总线,PCI - E总线为显卡等设备提供快速接口。
- I/O控制器集线器(南桥)
超级会员免费看
订阅专栏 解锁全文
2597

被折叠的 条评论
为什么被折叠?



