概述
1.3 计算机的工作原理
到目前为止,微机的工作原理均采用冯.若依曼的存储程序方式,即把程序存储在微机内,由微机自动存取指令并执行它。微机的工作过程就是执行程序的过程,而程序由指令序列组成,因此,执行程序的过程,就是执行指令序列的过程,即逐条地执行指令;由于执行每一条指令,都包括取指令与执行指令两个基本阶段,所以,微机的工作过程,也就是不断地取指令和执行指令的过程。微机执行程序过程示意图如下图所示。
假定程序已由输入设备存放到内存中。当计算机要从停机状态进入运行状态时,首先应把第一条指令所在的地址赋给程序计数器PC,然后机器就进入取指阶段。在取指阶段,CPU从内存中读出的内容必为指令,于是,数据寄存器DR便把它送至指令寄存器IR;然后由指令译码器译码,控制器就发出相应的控制信号。CPU便知道该条指令要执行什么操作。在取指阶段结束后,机器就进入执指阶段,这时,CPU执行指令所规定的具体操作。当一条指令执行完毕以后,就转入了下一条指令的取指阶段。这样周而复始地循环一直进行到程序中遇到暂停指令时方才结束。
取指阶段都是由一系列相同的操作组成的,所以,取指阶段的时间总是相同的,它称为公操作。而执指阶段将由不同的事件顺序组成,它取决于被执行指令的类型,因此,执指阶段的时间从一条指令到下一条指令变化相当大。
应当指出的是,指令通常包括操作码(operationcode)和操作数(operand)两大部分。操作码表示计算机执行什么具体操作,而操作数表示参加操作的数的本身或操作数所在的地址,也称之为地址码。在8位机中,由于一个存储单元只能存放一个字节,而指令根据其所含内容不同而有单字节、双字节、三字节乃至最多四字节之分,因此,在执行一条指令时,就可能要处理1—4个不等字节数目的代码信息,包括操作码、操作数或操作数的地址。
为了进——步说明微机的工作过程.我们来具体讨论一个模型机怎样执行一段简单的程序。例如,计算机如何具体计算3十2=?虽然这是一个相当简单的加法运算,但是,计算机却无法理解。人们必须要先编写一段程序,以计算机能够理解的语言告诉它如何一步一步地去做,直到每一个细节都详尽无误,计算机才能正确地理解与执行。
在编写程序之前,必须首先查问所使用的微处理器的指令表(或指令系统),它是某种微处理器所能执行的全部操作命令汇总。不同系列的微处理器各自具有不同的指令表。假定查到模型机的指令友中可以用三条指令求解这个问题:表1示出了这三条指令及其说明。
表中第—列为指令的名称。编写程序时,写指令的全名是不方便的,因此,人们给每条指令规定了—个缩写词,或称作助记符。第二列即助记符。第三列为机器码,机器码用二进制和十六进制两种形式表示,计算机和程序员用它来表示指令。最后一列,确切地说明了执行一条指令时所完成的具体操作。
表1 模型机指令表
名称
助记符
机器码
说明
立即数取入累加器
LD A,n
00111110 n
3E n
这是一条双字节指令,把指令第二字节的立即数n取入累加器A中
加立即数
ADD A,n
11000110 n
C6 n
这是一条双字节指令,把指令第二字节的立即数n与A中的内容相加,结果暂存A
暂停
HALT
01110110
76
停止所有操作
现在我们来编写3十2=?的程序。根据指令表提供的指令,用助记符形式和十进制数表示的加法运算的程序可表达为二制数
LD A,3
ADD A,2
HALT
但是,模型机却并不认识助记符和十进制数,而只认识用二进制数表示的操作码和操作数。因此,必须按二进制数的形式来写程序,即用对应的操作码代替每个助记符,用相应的二进制数代替每个十进制效。
LD
A,3 变成 0011
1110;操作码(LD A,n)
0000 0011;操作数(3)
ADD A,2
变成 1100 0110;操作码(ADD A,n)
0000 0010;操作数(2)
HALT 变成 0111 0110;操作码(HALT)
最后
以上就是爱笑小刺猬为你收集整理的计算机基础原理知识,计算机基础知识之计算机的工作原理的全部内容,希望文章能够帮你解决计算机基础原理知识,计算机基础知识之计算机的工作原理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复