CPU、内存、硬盘、指令之间的关系

3/3/2017来源:C/C++教程人气:1527

        程序是怎么在电脑上运行的呢?肯定很少人会仔细去想它是怎么运行的,除了开发程序的人会考虑这种问题,我想所有使用者肯定不会去想它是怎么运行起来的,只关心它运行得快不快,好不好用。         其实程序能够电脑上运行起来,主要还是由一系列计算机能够识别的指令和数据,通过执行这些指令来进行启动和运作的,而CPU就是负责读取和解释执行这些指令的。         CPU主要包括运算器、控制器和寄存器,控制器负责把指令、数据读入寄存器,而运算器则负责运算寄存器中的数据。运算器可以做各种运算,但不能直接操作内存进行运算,CPU需要把数据装载到寄存器中才能让运算器进行运算。所以CPU能做的事非常简单,就是从内存读取数据放到自己内部中的寄存器,然后由运算器进行运算,运算完毕之后,再放回内存的地方。其实我们现在在上网,聊天,玩游戏,看电影,最终都会进行到这些操作中,就是计算。         那么,CPU读取的指令是在哪里存储呢?上面有提到,就是从内存提取的,主要就是负责存储运行中程序的数据和指令。内存不光可以暂存CPU的操作数据,还可以存放硬盘等需要交换的数据,相当于一个沟通的桥梁。由于内存容量有限,成本高,最重要的是断电之后里面的一切数据都会丢失,所有并不能作为我们永久存储程序的地方,而硬盘的价格便宜、容量大、断电后仍能保存数据,就可以作为我们长期存储程序和其他数据的地方。当我们需要运行某一个程序的时候,就从硬盘中将对应的数据读取到内存中,以供CPU再从内存中读取执行。         CPU的速度比内存不知还要快多少倍,为什么不让CPU直接读取硬盘中的数据呢?因为硬盘的读取速度比内存慢了太多太多,还有一个原因就是CPU需要通过内部的程序计数器来指定内存地址,然后才能读出程序。 CPU、内存、硬盘三者的作用归结为: 1.内存保存从硬盘读取的数据,提供给CPU使用

2.内存保存CPU的一些临时执行结果,以便CPU下次使用或保存到硬盘