说明计算机执行指令的基本过程,计算机工作原理和指令执行过程
说明计算机执行指令的基本过程,计算机工作原理和指令执行过程CU——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件;IR——Instruction Register,指令寄存器,存放当前正在执行的指令的寄存器;PC——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器;MAR——Memory Address Register,存储器地址寄存器,内存中用来存放欲访问存储单元地址的寄存器;MDR——Memory Data Register,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器;
1 计算机工作原理计算机的工作过程是将现实世界中的各种信息转换成计算机能够理解的二进制代码(信息编码),然后保存在计算机的存储器(数据存储)中,再由运算器对数据进行处理(数据计算)。在数据存储和计算过程中,需要通过线路将数据从一个部件传输到另外一个部件(数据传输)。数据处理完成后,再将数据转换成人类能够理解的信息形式(数据解码)。在以上工作过程中,信息如何编码和解码,数据存储在什么位置,数据如何进行计算等,都由计算机能够识别的机器指令(指令系统)控制和管理。
2 计算机指令系统各计算机公司设计生产的计算机芯片,其指令的数量与功能、指令格式、寻址方式、数据格式都有差别,即使是一些常用的基本指令,如算术逻辑运算指令、转移指令等也是各不相同的。
为了缓解新机器的推出与原有应用程序的继续使用之间的矛盾,1964年在设计IBM360计算机时所采用的系列机思想较好地解决了这一问题。从此以后,各个计算机公司生产的同一系列的计算机尽管其硬件实现方法可以不同,但指令系统、数据格式、I/O系统等保持相同,因而软件完全兼容(在此基础上,产生了兼容机)。当研制该系列计算机的新型号或高档产品时,尽管指令系统可以有较大的扩充,但仍保留了原来的全部指令,保持软件向上兼容的特点,即低档机或旧机型上的软件不加修改即可在比它高档的新机器上运行,以保护用户在软件上的投资。
4 指令执行过程整体的过程如下所述:
PC——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器;
MAR——Memory Address Register,存储器地址寄存器,内存中用来存放欲访问存储单元地址的寄存器;
MDR——Memory Data Register,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器;
IR——Instruction Register,指令寄存器,存放当前正在执行的指令的寄存器;
CU——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件;
ACC——Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器;
ALU——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件;
MQ——Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
X——此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
I/O——Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送;
也可以分为四个步骤去理解
I 取指令
CPU内部的指令寄存器IP保存着当前所处理指令的内存单元地址,通过地址总线,可以查找到指令在内存单元的位置,然后利用数据总线将内存单元的指令保存到高速缓存。
II 指令译码
译码单元解释指令的类型与内容,并且判定这条指令的作用对象(操作数),将操作数从内存单元读入高速缓存中。译码实际上就是将二进制指令翻译成特定的CPU电路微操作,然后由控制器传送给算术逻辑单元。
III 指令执行
控制器根据不同的操作对象,将指令送入不同的处理单元。如果是整数运算、逻辑运算、内存单元存取等一般控制指令,则送入ALU处理。如果操作对象是浮点数据(如三角函数运算),则送入浮点处理单元(FPU)进行处理。如果在运算过程中需要相应的用户数据,则CPU首先从数据高速缓存中读取相应的数据。如果高速缓存中没有用户需要的数据,则CPU通过数据通道,从内存中获取必要的数据,运算完成后输出运算结果。
VI 结果写回
将执行单元(ALU或EPU)的处理结果写回高速缓存或内存单元中。
解释和执行指令后,控制单元告诉指令寄存器从内存单元中读取下一条指令,循环上面的过程。