今天一个同学问我一个问题,CPU与Cache、内存、以及硬盘之间是如何进行数据传输?我给同学了一个笼统的解释。当我再细想这个问题的时候,我发现这个问题并不是想的那么简单,而且想地越深会感觉细节的东西会越来越多的盲点。我开始查阅一些资料,来试图更好地回答这个问题(本人可能在很多地方理解有误,希望大家指出错误共同进步!)。
从宏观的角度看并不难理解其工作方式。下图是他们之间的结构关系图。
从上图可以看出,CPU与硬盘之间不直接进行数据的交换,他们之间数据的交换中介为内存,换句话说,需要的CPU处理的数据全部存放在内存里面(也就是平时所说的主存储器),也就是说当硬盘里的数据需要做处理的时候,数据首先需