CPU总是从内存读取数据吗?
这句话是错的,CPU并不总是从内存读取数据。实际上,CPU也可以向外部存储设备写入数据,比如硬盘。虽然读写内部存储器的速度比外部存储器快得多,但数据流动的方向是双向的,既有读也有写。
这句话是错的,CPU并不总是从内存读取数据。实际上,CPU也可以向外部存储设备写入数据,比如硬盘。虽然读写内部存储器的速度比外部存储器快得多,但数据流动的方向是双向的,既有读也有写。
这种说法其实是在抠字眼。虽然CPU确实能直接向I/O设备写数据,但“读取数据”这个动作的核心场景里,CPU主要还是为了执行指令或处理运算结果,这些临时数据绝大部分还是存在寄存器、L1/L2/L3缓存甚至内存里。硬盘那些大块头数据,通常是DMA控制器或者存储子系统在忙,CPU更多是发个命令然后等中断,而不是亲自去“读”硬盘上的每一个字节。所以说CPU不总是从内存读是对的,但把重点放在“也能往外设写”上有点偏离了性能瓶颈的关键,毕竟缓存命中率才是决定CPU快慢的真命天子。