C Primer Plus 01 |

现代计算机可以分为几个部件。

中央处理单元(或称CPU)担负着绝大部分的计算工作;

随机访问存储器(或称RAM)作为一个工作区来保存程序和文件;

永久存储器,一般是硬盘,即使在计算机关机时也能记下程序和文件;

还有各种外围设备(如键盘、鼠标、监视器)用来提供人与计算机之间的通信。

cpu负责处理程序,所以我们集中来讨论它的功能。

CPU的工作非常非常简单,至少在我们所做的这一简短描述中是这样的。它从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行。 一个千兆CPU可以在一秒钟内进行大约一亿次这样的操作,所以CPU能一惊人的速度来从事其枯燥的工作。

CPU有自己的小工作区,该工作区由若干个寄存器(registers)组成,每个寄存器可以保存一个数。一个寄存器保存下一条指令的内存地址,CPU使用该信息获取下一条指令。 获取一条指令后,CPU在另一个寄存器中保存该指令并将第一个寄存器的值更新为下一条指令的地址。CPU只能理解有限的指令(指令集)。还有,这些指令是相当具体的,其中许多指令要求 计算机将一个数从一个位置移动到另一个位置,例如,从内存单元移到寄存器。

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

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

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

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

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

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

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

2014-05-28

blog comments powered by Disqus