微型计算机自动执行原理,微型计算机的基本工作原理 -解决方案-华强电子网

微型计算机是通过执行程序来工作的,机器执行不同的程序就能完成不同的任务。因此,微型计算机执行程序的过程体现了微型计算机的基本工作原理。下面通过程序执行过程说明微型计算机的基本工作原理。

1.指令和程序<?XML:NAMESPACE PREFIX = O />

指令是控制计算机操作的代码,又称指令码。指令码由操作码和地址码构成。操作码用于控制机器执行何种操作;地址码用于指示参加操作的操作数。指令码的格式为:

操作码︱地址码

指令用计算机可识别的二进制代码形式表示,这种代码称为机器码。但机器码既不便于记忆又不便于书写,因此人们通常采用助记符表示指令,如表1-4所示。

一种微处理器所有指令的集合或指令的全体称为它的指令系统。微处理器类型不同,它的指令系统也不一样,因此Intel8050有78条指令,MCS-51系列中的80C51有111条指令等等。

程序是为完成某项任务而由指令系统中的若干指令组成的有序集合。编制程序称为程序设计。计算机可直接识别和执行的用机器码编写的程序,称为目标程序。用指令的助记符编写的程序称为汇编语言源程序,该程序计算机不能识别和执行,需经汇编程序汇编生成目标程序才能被计算机执行。由此可见,计算机只能执行机器码程序。

表1 指令的三种形式机器码

机器码

助记符

功能

01110100 00010101

74 15H

MOV A, #15H

(A) ←15H

00100100 00101011

24 2BH

ADD A, #2BH

(A) ←(A)+2BH

10000000 11111110

80 FEH

SJMP $

停止

2.程序执行过程举例

图1是计算21+43的程序。以此为例说明微型计算机的工作原理。该程序由三条指令组成,即为:

MOV A, #15H

ADD A, #2BH

SJMP $

每条指令均为双字节指令(即第一字节为操作码,第二字节为操作数)。第一条指令的作用是把15H传送到累加器A;第二条指令是加法指令,它把累加器A中的15H和2BH相加,将结果保存在累加器A中;第三条是停机指令,执行后计算机处于动态停机状态。为了执行程序,首先将程序放入内存,假设从3000H单元开始存放程序,共占用了6个存储单元;然后将程序在内存的起始地址3000H放入程序计数器PC,如图1(a)所示,此时即可让计算机开始执行程序。

50972a457bfba609a24475a11b693287.gif

图1 程序执行过程中PC的变化

(1)执行第一条指令

第一条指令是双字节指令,执行过程为:

①微操作控制器将程序计数器PC中的地址3000H经地址寄存器送入地址总线后,向存储器发出读信号,同时使程序计数器PC中的内容自动加1而变成3001H,为读取

指令的第二个字节做好准备;

②存储器根据地址总线上的地址找到3001H存储单元,在读信号控制下读出3001H单元的内容即操作码74H送到数据总线上;

③经数据总线将操作码74H送入指令寄存器IR,经缓冲后送入指令译码器ID;

④经指令译码器ID对操作码74H译码并结合时序部件产生微操作序列,将程序计数器PC中的地址3001H经地址寄存器送入地址总线后发出读信号,同时使程序计数器

PC自动加1变成3002H,为读取第二条指令做好准备;

⑤存储器由地址总线中的新地址3001H把3001H单元的内容15H送入数据总线;

⑥微操作控制序列将数据总线上的操作数15H送人累加器A中。

至此,第一条指令执行结束,将3001H单元中的第一个操作数15H送人累加器A。

(2)执行第二条指令

第二条指令也是双字节指令,第一字节24H为操作码,指示进行加法操作,两个操作数中一个在累加器A中,另一个为该指令的第二个字节。

第一条指令执行结束,程序计数器PC中内容为3002H。图1(b)为将要执行的第二条指令的内存地址。首先将PC中的地址3002H送入地址总线并向存储器发出读

信号,同时PC加1而变为3003H。存储器由地址总线上的地址找到3002H单元,在读信号的控制下,读出操作码24H经数据总线送人IR。经IR译码,将PC中的3003H送入地址

总线,发出读信号,同时使PC自动加1变为3004H,则PC指向第三条指令,如图1(c)所示。在操作码24H的微操作控制下从存储器3003H单元读出操作数2BH送入TMP,控

制ALU将累加器A中15H和TMP中的2BH相加,将两数的和经内部总线送入累加器A,并根据运算结果设置程序状态字PSW某些状态位的值,完成本条指令的执行。

(3)执行第三条指令

第三条指令的执行过程和第一、第二两条指令类似,先读取指令,分析、执行指令后,MPU处于动态停机状态。

至此,整个程序的执行结束。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值