计算机程序的执行过程_第1页
计算机程序的执行过程_第2页
计算机程序的执行过程_第3页
计算机程序的执行过程_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一。计算机程序的执行过程 程序就是指令的集合 为使计算机按预定要求工作,首先要编制程序。程序是一个特定的指令序列,它告诉计算机要做哪些事,按什么步骤去 做。指令是一组二进制信息的代码,用来表示计算机所能完成的基本操作。 1 .程序 程序是为求解某个特定问题而设计的指令序列。程序中的每条指令规定机器完成一组基本操作。如果把计算机完成一次 任务的过程比作乐队的一次演奏,那么控制器就好比是一位指挥,计算机的其它功能部件就好比是各种乐器与演员,而 程序就好像是乐谱。计算机的工作过程就是执行程序的过程,或者说,控制器是根据程序的规定对计算机实施控制的。 例如,对于算式 fa+b b刁 D a+ I b

2、I =彳 Lab b0,执行步骤4 .若bv 0,执行步骤6 步骤4:执行a+ b; 步骤5:转步骤7 ; 步骤6:执行a-b; 步骤7:结束。 通常把 计算机的工作过程可归结为:取指令 -分析指令-执行指令-再取下一条指令,直到程序结束的反复循环过程。 其中的一次循环称为计算机的一个指令周期。总之,我们可把程序对计算机的控制归结为每个指令周期中指令对计算机 的控制。 2 指令 程序是由指令组成的。指令是机器所能识别的一组编制成特定格式的代码串,它要求机器在一个规定的时间段(指令周 期)内,完成一组特定的操作。 指令的基本格式可归结为操作码 OP和操作数地址AD两部分,具体内容是: 指出计算机

3、应完成的一组操作内容,如传送(MOV)、加法(ADD)、减法(SUB)、输出、停机(HLT)、条件转 移(JZ)等。这部分称为指令的操作码部分。 两个操作数的地址和存放结果的地址及寻址方式。 为保证程序执行的连续性,在执行当前指令时,还需指出下一条指令的地址。由于指令在存储器中一般是顺序存放的, 所以只要设置一个指令指针(IP),每执行一条指令,IP自动加1,便自动指出下一条指令的地址,而不必在指令中专 门指出下一条指令的地址。只有在转移指令中才指出下一条指令的地址。此时, IP的内容将随转移指令所指示的内容改 变。 3 指令的执行 指令规定的内容是通过控制器执行的,或者说控制器是按照一条指令

4、的内容指挥操作的。 控制器的功能 定序功能保证按程序规定的顺序执行指令。 定时功能一一计算机处理信息是通过信息在计算机的逻辑电路中的流通完成的。为保证计算机工作的准确性,控制器 要为计算机中的各部件提供统一节拍,使各条指令及组成每条指令的各基本操作(通常称为微操作)都严格地按规定的 时间有条不紊地自动执行。 操作控制功能一一控制器应能按照指令规定的内容,在相应的节拍向有关部件发出操作控制信号。 控制器的组成 它们的组成如图1-8所示 在控制器中,上述功能分别由指令部件、时序部件和操作控制部件来完成 操作控制信号 地址 单元 指令部件:指令部件的主要功能是取指令和分析指令。它由指令指针IP (也

5、叫指令计数器IC或程序计数器PC)、指 令寄存器IR、指令译码器、地址计算部件组成。其中: 指令指针IP的功能是指出当前指令的地址。 它有加1功能,通常每取一条指令后自动加 1,以指出下条指令的地址。 遇到特殊情况(如转移)可通过地址计算部件形成下一条指令的地址。 指令寄存器IR保存由存储器取来的指令,并分别把操作码 0P和操作数地址AD送指令译码和地址计算部件。 指令译码器也称操作码译码器。它按操作码的内容向操作控制部件提供相应的操作电信号。 地址计算部件的作用是对指令中地址码进行(变址、间址等)运算,求出的操作数地址送存储器以取出数据;或者把 转移指令中指出的下一条指令地址送IP。 时序部

6、件:时序部件也叫节拍发生器,它能为各部件提供一个时间基准。时钟频率(如 800MHz,1GHz , 2GHz ,2.4GHz , 3GHz-)越高,计算机的工作速度就越快。 操作控制部件:该部件的功能是根据指令译码器的规定内容,在规定的节拍内向有关部件发出操作控制信号。 指令的执行过程 通常,计算机执行一条指令的步骤如下: 把指令指针IP中的指令地址送存储器,从该地址取出指令送指令寄存器IR; 地址计算部件,根据IR中的地址码形成操作数地址送存储器,从该地址取出数据,送到运算器中的寄存器(或寄存 器组); 将IR中的操作码OP送指令译码器进行译码; 在控制器发出的操作信号的控制下,计算机各有关

7、部件执行操作码OP规定的操作; 指令指针IP加1,形成下一条指令地址。如遇到转移指令,则按转移指令对状态标志寄存器测试的结果,决定是否将 转移指令中指出的指令地址送指令指针IP。 4.计算机的解题过程 要使计算机按预定要求工作,首先要编制程序。程序是一个特定的指令序列,它告诉计算机要做哪些事,按什么步骤去 做。指令是一组二进制信息的代码,用来表示计算机所能完成的基本操作。不同的计算机所包含指令的种类和数目是不 同的,通常把一台计算机所能执行的各类指令的集合,称为该机的指令系统。因此,在机器一级的程序设计,就是按照 解题要求在机器指令系统中选择并有序组合解题需要的指令序列的过程。 使用计算机解题

8、大致要经过程序设计 -输入程序-执行程序等步骤。现以计算a + b-c为例来说明这一过程。 设a、b、c为已知的三个数,分别存放在主存的 57号单元中,结果将存放在主存的8号单元。若采用单累加器结构的 运算器,要完成上述计算至少需要5条指令,这5条指令依次存放在主存的04号单元中,参加运算的数也必须存放在 主存指定的单元中,主存中有关单元的内容如图1-9(a)所示。运算器的简单框图如图1-9(b)所示,图中参加运算的一个 操作数来自累加器,另一个来自主存,运算结果则放在累加器中。 00 IQK005 01 协洼006 02 减注007 存 03 存豹nns 储 04 停机 数 05 06 h

9、寄 07 匚 存 08 器 数据总线 ALU 累加器 图1-9计算机执疔过程举例 计算机的控制器将控制指令的逐条、 依次执行,最终得到正确的结果。具体步骤如下: 执行取数指令,从主存5号单元取出数a,送入累加器中。 执行加法指令,将累加器中的内容a与从主存6号单元取出的数b 一起送到算术逻辑部件ALU(ArithmeticLogicUnit , ALU )中相加,结果a + b保留在累加器中。 执行减法指令,将累加器中的内容 a+ b与从主存7号单元取出的数c 一起送到算术逻辑部件ALU中相减,结果a + b-c保留在累加器中。 执行存数指令,把累加器中的内容 a+ b-c存至主存8号单元。

10、执行停机指令,计算机停止工作。 二。编译型和解释型语言 将高级语言翻译成机器语言有两种方式:编译和解释。二者区别在于翻译的时间不同。 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用 编译的结果就行了。因此效率比较高。比如C语言。 解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。比如Basic语 言,专门有一个解释器能够直接执行Basic程序,每个语句都是执行的时候才翻译。 C语言是编译型的。 Java比较特殊,Java程序也需要编译,但是没有直接编译成机器语言,而是编译成字节码,然

11、后用解释方式执行字节码。 C程序机器语言(编译) Java程序字节码(编译)机器语言(解释) 指令是由0和1组成的一组具有 根据当前硬件状态而改变计算机硬件状态为目地的二进制代码。简单的说计算机就是电 路的状态的表现。计算机是一种思想 控制、输入输出、处理、存储”从一个人的处理事件的角度上说是符合人类的处理 方式。所以计算机是一种以人类处理事物思想的产物。 计算机能按部就班的工作是依靠它的内部电路的状态(如 寄存器),在计算机内一条指令可以理解成改变这些电路状态 的二进制代码,当然改变是根据硬件当时的状态来改变的,比如果1+1的计算机内部,1这个值是一种电路状态,通过 一组逻辑电路把两组电路的状态重新

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论