我们在学习C语言之前,都会有这样的问题:为什么会有c语言?它的作用是什么?可能大家或多或少的听别人说过,c语言是一门非常接近底层的语言,那为什么会有这样的说法呢?
要了解清楚这些问题,首先要知道知道计算机是如何工作的。如果我们能够知道计算机工作的大致原理,对于我们理解c语言的用法及众多的语法现象提供很多帮助,所以让我们来看一下计算机是如何工作的。
目录
简图
CPU
内存
外存
简图
首先给大家看到一个计算机工作方式的简图,这个图可以作为计算机一个最基本的原理图。
CPU使用过计算机的人都知道,在计算机工作中有一个非常重要的核心叫做CPU,也就是我们所说的中央处理器,用官方的话来说就是:它作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
相信初学者在听到这句话之后都不免头大,其实CPU就相当于我们的大脑,我们的大脑要将我们接收到的所有的外界信息进行反馈活动,而CPU这个“大脑”执行它所认识的指令集,也就是说我们可以认为CPU在不断的执行指令,这里我们可以先简单的理解为指令是数据的加减乘除。
内存CPU只能够执行指令,却不能存储指令,那么这些指令从哪里来呢?这里我们就需要有一个专门存储指令的仓库。这个仓库我们想到的第一种设备叫内存,内存我们可以暂且认为它就是我们存储指令的仓库,当然后期我们还会发现内存的作用很多,现在我们只是认为CPU要从这个仓库中去取出指令去执行就可以。
那我们要想找到这个仓库中不同的指令就不得不面临一个问题,我们必须要知道它的地址,要知道一个仓库中货物的所在位置,我们才能找到它。所以我们在CPU和内存之间引入一个地址线,它就是用来传输地址信息用的。
也就是说通过地址线的选择,选到了内存仓库中的某一个位置,然后CPU向这个仓库发出一个读还是写的一个动作,那么这时仓库就会通过一条数据线跟CPU进行相应的数据交互。
外存当然随着计算的发展,我们需要存入内存的数据越来越多,光有内存已经不足以满足我们的要求了,这是因为虽然内存的速度比较快,但是它的价钱比较高。这个时候我们就又有了一个新的概念叫外部存储器,也就是我们常说的外存,这个外存可以认为就是我们指令仓库的一个更大的存储体。外部存储器的工作方式是和内存之间进行一个数据交互,因为它与CPU离的更远,于是说它的速度会比较慢,但是因为它的成本比较低,所以说它的容量比较大。比如我们现在买的硬盘,可以是1T,2T,而内存只有4G,8G(1T=1024G),可以看到这是一个数量级的差距。
所以,不管计算机这么工作,我们可以简单理解它的本质就是一个不断地通过仓库把指令给与CPU,让它不停运行指令的过程。而我们学习c语言的目的,其实就是想办法通过我们的方式,把我们想要让计算机做的事情写成一条条计算机认识的指令,然后加载到内存上,让CPU运行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)