跳转至

第7章 I/O、性能与并行

CPU 只是系统的一部分。键盘、网卡、磁盘和 SSD 速度不同、事件异步,必须通过总线、控制器、中断和 DMA 协作;当单核性能受到功耗与并行度限制后,SIMD 和多核又把问题扩展到多个执行者之间。

本章内容

一条共同主线

这三页都在讨论并行活动怎样协调:CPU 与设备并行、程序不同阶段并行、多个核心并行。协调可以提高利用率,却需要缓冲、仲裁、同步和正确性协议。

延迟与带宽

延迟是完成一次操作要多久,带宽是单位时间能完成多少数据。提高总线宽度或并行 bank 可增加带宽,却未必缩短单次首字节延迟。批量 DMA 适合大吞吐,交互式输入更关心响应延迟。

本章自测

  1. 为什么慢设备不应让 CPU 持续忙等?
  2. 总加速比为什么不能只看被优化部分本身快了多少?
  3. cache coherence 与 memory consistency 分别约束什么?