学习C语言需要了解的计算机的基本原理知识

来源:互联网 发布:linux查看mysql连接数 编辑:程序博客网 时间:2024/05/15 23:53

计算机工作的基本原理

    学习C语言编程之前你需先了解计算机工作原理方面的一些知识。这些知识会帮助您理解用C编写程序与运行该程序时最终会发生的事情之间的联系。

现代计算机课分为几个部件。中央处理单元(或称CPU)担负着绝大部分的计算工作,相当于人的大脑;随机访问存储器(RAM)作为一个工作区来保存程序和文件:永久存储器,一般是硬盘,即使在计算机关机时也能记下程序和文件;还有各种外围设备(如键盘、鼠标和监视器)用来提供人与计算机之间的通信。CPU负责负责处理程序,所以我们集中来讨论他的功能。

CPU的工作非常简单,至少在我们所做的这一简短的描述中是这样的。它从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行。一个千兆的CPU可以在一秒钟内进行大约一亿次这样的操作,所以CPU能以惊人的速度来从事其它枯燥的工作。CPU有自己的小工作区,该工作区由若干个寄存器(registers)组成,每个寄存器可以保存一个数。一个寄存器保存下一条指令的内存地址,CPU使用该信息获取下一条指令。获取一条指令后,CPU在另一个寄存器中保存该指令并将第一个寄存器的值更新为下一条指令的地址。CPU只能理解有限的指令(指令集)。还有,这些指令是相当具体的,其中许多指令要求计算机将一个数从一个位置移动到另一个位置,例如,从内存单元移到寄存器。

这段说明中有两个有趣的地方。首先,存储在计算机中的一切皆为数字(像人们以暗号来分辨是不是自己人)。数字是以数字形式存储的,字符(如文本文档中使用的字母字符)也是以数字形式存储的,每个字符有一个数字代母。计算机装载到寄存器中的指令是以数字形式存储的,指令集中的每条指令具有一个数字代码。其次,计算机程序最终必须以这种数字指令代码(或称机器语言)来表示。

明白了计算机运行方式的一个结果就是:如果您希望计算机做某件事,就必须提供以个特定的指令列表(一套程序)确切地告诉计算机要做的事及如何去做。您必须以一种计算机可以直接理解的语言(机器语言)来创建该程序。这是一项繁琐、乏味、费力的任务。即使将两个数字相加这样简单的事情也必须被分解成若干个步骤:

1.将内存单元为2000中的数字复制到寄存器1。

2.将内存单元为2004中的数字复制到寄存器2。

3.将寄存器2的内容加到寄存器1的内容上,答案保留在寄存器1中。

4.将寄存器1的内容复制到内存单元2008。

而且您必须用数字代码来表示这些指令中的每一个!

如今这种机器编程方式已经很少有人用了,但能人更很好的理解计算机的运行方式。现在基本都使用了高级编程语言如C、C++等。

0 0