程序就是指令的集合,为使计算机按预定要求工作,首先要编制程序。程序是一个特定的指令序列,它告诉计算机要做哪些事,按什么步骤去做。指令是一组二进制信息的代码,用来表示计算机所能完成的基本操作。
1、程序
程序是为求解某个特定问题而设计的指令序列。程序中的每条指令规定机器完成一组基本操作。如果把计算机完成一次任务的过程比作乐队的一次演奏,那么控制器就好比是一位指挥,计算机的其它功能部件就好比是各种乐器与演员,而程序就好像是乐谱。计算机的工作过程就是执行程序的过程,或者说,控制器是根据程序的规定对计算机实施控制的。例如,对于算式
① 指令部件:指令部件的主要功能是取指令和分析指令。它由指令指针IP(也叫指令计数器IC或程序计数器PC)、指令寄存器IR、指令译码器、地址计算部件组成。其中:
●指令指针IP的功能是指出当前指令的地址。它有加1功能,通常每取一条指令后自动加1,以指出下条指令的地址。遇到特殊情况(如转移)可通过地址计算部件形成下一条指令的地址。
●指令寄存器IR保存由存储器取来的指令,并分别把操作码OP和操作数地址AD送指令译码和地址计算部件。
●指令译码器也称操作码译码器。它按操作码的内容向操作控制部件提供相应的操作电信 。
●地址计算部件的作用是对指令中地址码进行(变址、间址等)运算,求出的操作数地址送存储器以取出数据;或者把转移指令中指出的下一条指令地址送IP。
② 时序部件:时序部件也叫节拍发生器,它能为各部件提供一个时间基准。时钟频率(如800MHz,1GHz,2 GHz,2.4 GHz,3 GHz…)越高,计算机的工作速度就越快。
③ 操作控制部件:该部件的功能是根据指令译码器的规定内容,在规定的节拍内向有关部件发出操作控制信 。
⑶ 指令的执行过程
通常,计算机执行一条指令的步骤如下:
① 把指令指针IP中的指令地址送存储器,从该地址取出指令送指令寄存器IR;
② 地址计算部件,根据IR中的地址码形成操作数地址送存储器,从该地址取出数据,送到运算器中的寄存器(或寄存器组);
③ 将IR中的操作码OP送指令译码器进行译码;
④ 在控制器发出的操作信 的控制下,计算机各有关部件执行操作码OP规定的操作;
⑤ 指令指针IP加1,形成下一条指令地址。如遇到转移指令,则按转移指令对状态标志寄存器测试的结果,决定是否将转移指令中指出的指令地址送指令指针IP。
程序的执行过程
当我们输入以下程序,编译运行,计算机从屏幕输出hello, world!。整个过程计算机都怎么运作的呢/p>
因为我们输入的hellow,world是人可以阅读和编写的,但是机器并不能直接识别他们,我们需要把这些文字翻译成机器可执行的二进制文件,这一部分的工作是由编译系统完成的。编译系统由预处理器、编译器、汇编器、连接器四部分组成。以hello, world程序为例,各部分共同完成将源文件编译成二进制可执行文件。各个部分完成的具体工作如下:
Shell:命令行解释器,当用户输入一行命令后,shell先判断它是不是一个shell内置命令,如果不是,shell会假定用户输入为一个可执行文件的名字,从而去加载并执行该文件。因此,当我们通过编译系统将源文件编译成可执行二进制文件后,在shell中输入我们得到的可执行二进制文件名,shell将其从磁盘中加载到主存当中,通过CPU进行解释运行,最终通过终端设备(屏幕)将他显示出来,程序运行结束。
主存储器:简称主存,是处理器执行程序时用于临时存放程序及其数据。主存由一组动态随机存储器芯片组成。
运算器:计算机中执行各种算术和逻辑运算操作的部件。
控制器: 计算机中执行各种算术和逻辑运算操作的部件。
三、CPU的组成
CPU是由四大部分所构成的:寄存器、控制器、运算器、时钟。
寄存器
CPU内部的内存,程序加载进CPU内部的寄存器中从而被用来解释和运行。
控制器
计算机的指挥中心,负责决定执行程序的顺序,给出执行指令时机器各部件需要的操作控制命令。
运算器
计算机中执行各种算术和逻辑运算操作的部件。
时钟
它是处理操作的最基本的单位,影响着指令的取出和执行时间。
CPU中的主要寄存器
处理器的操作主要是围绕程序计数器、算术/逻辑运算单元、主存来进行运作的。处理器首先从PC所指向的主存存储单元读取指令,解释指令中的位,执行该指令指示的简单操作,然后更新PC寄存器,使其指向下一条要执行的指令。CPU会执行的操作有:
加载:把一个字节或一个字从主存复制到寄存器,覆盖掉寄存器中原来的值。
存储:把一个字节或一个从寄存器复制到主存,并覆盖主存中原来的值。
操作:把两个寄存器的内容复制到ALU,ALU对两个字做算术运算后存回其中的一个寄存器,该寄存器中原来的值会被覆盖。
跳转:从cpu执行的指令抽取一个字的内容存入PC,覆盖掉原来的值,从而改变下一条要执行的指令,达到跳转的目的。

hellow,world程序首先被加载,从磁盘中复制到寄存器中,寄存器将hwllow,world程序复制到主存中进行存储。程序运行过程中,CPU执行hellow,world机器指令,指令的结果是将”hellow,world”字符由内存复制到寄存器,寄存器再将结果复制到显示设备上显示出来。
相关资源:实例讲解分布式缓存软件Memcached的Java客户端使用-其它代码类…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!