预先要把指挥计算机如何进行操作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存贮器中。每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤。
计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存贮器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去,直至遇到停止指令。
o 程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的,故称为冯.诺依曼原理。
什么是计算机的工作原理
1、计算机系统的组成
微型计算机由硬件系统和软件系统组成。
硬件系统:指构成计算机的电子线路、电子元器件和机械装置等物理设备,它包括计算机的主机及外部设备。
软件系统:指程序及有关程序的技术文档资料。包括计算机本身运行所需要的系统软件、各种应用程序和用户文件等。软件是用来指挥计算机具体工作的程序和数据,是整个计算机的灵魂。
计算机硬件系统主要由运算器、控制器、存储器、输入设备和输出设备等五部分组成。
2、计算机的工作原理
(1)冯?诺依曼原理
“存储程序控制”原理是1946年由美籍匈牙利数学家冯?诺依曼提出的,所以又称为“冯?诺依曼原理”。该原理确立了现代计算机的基本组成的工作方式,直到现在,计算机的设计与制造依然沿着“冯?诺依曼”体系结构。
(2)“存储程序控制”原理的基本内容
①采用二进制形式表示数据和指令。
②将程序(数据和指令序列)预先存放在主存储器中(程序存储),使计算机在工作时能够自动高速地从存储器中取出指令,并加以执行(程序控制)。
③由运算器、控制器、存储器、输入设备、输出设备五大基本部件组成计算机硬件体系结构。
(3)计算机工作过程
第一步:将程序和数据通过输入设备送入存储器。
第二步:启动运行后,计算机从存储器中取出程序指令送到控制器去识别,分析该指令要做什么事。
第三步:控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中。
第四步:当运算任务完成后,就可以根据指令将结果通过输出设备输出。
指令
指令是用来规定计算机执行的操作和操作对象所在存储位置的一个二进制位串。
指令的格式
一条指令由操作码和地址码两部分组成。 例如二地址指令格式如下: 操作码 地址码1 地址码2 操作码:用来指出计算机应执行何种操作的一个二进制代码。 具体说明指令的性质或功能,每条指令只有一个操作码 。 例如,加法、减法、乘法、除法、取数、存数等各种基本操作均有各自相应的操作码。 地址码: 指出该指令所操作(处理)的对象(称为操作数)所在存储单元的地址。 包括着操作数的来源,结果的去向或下一条指令的地址等信息,不同指令中地址码的个数可以不一样。
指令系统
定义 一台计算机所能识别并执行的全部指令的集合,称为该台计算机的指令系统。指令系统中有数以百计的不同指令。
指令的分类:
1,数据传送指令:用于把存储器或寄存器中的某个操作数复制到指定的存储单元或寄存器中去。
例如: MOV CL,05H
解释:将05H保存到寄存器CL中
2,算术运算指令:用于完成两个操作数的加、减、乘、除等各种算术运算。
例如: CX=0029H,SI=04EDH,执行指令ADD SI,CX之后
将寄存器SI中存储的数04EDH和寄存器CX中存储的数0029H相加,
并把结果存在寄存器SI中
验算过程如下:
0029H
+ 04EDH
0516H
结果SI=0516H
3,逻辑运算指令:用于完成两个操作数的逻辑加、逻辑乘、按位加等各种逻辑运算。
例如:按位求反指令
BL=FBH,执行指令NOT BL后,
BL=(11111011)2
取反后BL=(00000100)2=04H
4,移位运算指令:用于完成指定操作数的各种类型的移位操作。
5,位与位串操作:计算机中越来越重视非数值数据的操作,包括位与位串的装入、存储、传送比较、重复执行等,也可包括位串的插入、型存取。
6,控制与转移指令:通常程序中的指令多数是依次序一条条的顺序执行,但根据指令执行
的结果,也可以跳到其他指令或其他程序段去执行。具有这种功能的就是各种类型的转移指令。
7,输入/输出指令:在微机中,往往把输入/输出设备中与主机可交换数据的寄存器称为I/O端口。同时,把各个I/O端口统一编址。使用输入/输出指令,就可以去存取各种外部设备的I/O端口,实现数据的输入/输出。
8,其它指令:包括各种处理器控制指令,它们往往由操作系统专用。
兼容性问题
每种CPU都有自己独特的指令系统,用某一类计算机的机器语言编制的程序难以在其他各类计算机上运行,这个问题称之为指令不兼容。 向下兼容: 如586机器语言向下兼容486机器语言程序。
指令精简问题 精简指令系统计算机RISC。
--------------------------------------------------------------------------------
程序
为解决某一问题而设计的一系列指令称为程序。 程序和相关数据存放在存储器中,计算的工作就是执行存放在存储器中的程序。 计算机运行程序的过程就是一条一条地执行指令的过程。
计算机硬件系统程序的执行又自动地控制着整个计算机的全部操作。 这就是50年前美国数学家冯·诺依曼提出的程序存储和程序控制的思想。这也是目前计算机的基本工作方式。
指令的执行
一条指令的执行过程大体如下:
(1)指令预取部件向指令快存提取一条指令,若快存中没有,则向总线接口部件发出请求,要求访问存储器,取得一条指令;
(2)总线接口部件在总线空闲时,通过总线从存储器中取出一条指令,放入快存和指令预取部件;
(3)指令译码部件从指令预取部件中取得该指令,并把它翻译成起控制作用的微码;
(4)地址转换与管理部件负责计算出该指令所使用的操作数的有效物理地址,需要时,请求总线接口部件,通过总线从存储器中取得该操作数;
(5)执行单元按照指令操作码的要求,对操作数完成规定的运算处理,并根据运算结果修改或设置处理器的一些状态标志;
(6)修改地址转换与管理部件中的指令地址,提供指令预取部件预取指令时使用。
Pentium 处理器中的流水线过程
由于Pentium中有两个整数ALU,所以它能同时执行两条流水线, 这种结构称为“超标量结构”(Superscalar)。
发布评论