【计算机组成原理】指令执行过程

9ea6ec90852c4f08acbf73aef67647b8.png

前置知识

  • MAR(存储器地址寄存器):存放想要访问的存储单元的地址,与PC长度相同
  • MDR(存储器数据寄存器):存放从存储单元中取出,或者准备向存储单元存入的内容(指令或数据),位数和存储字长相同。
  • 存储体:由许多存储单元构成,存储体存放了指令和数据。存储单元包含若干存储元件(存储一位二进制代码)
  • 存储字:存储体当中存储单元所存储的一串代码,长度一般为8bit的偶数倍。这段代码的位数成为存储字长
  • 指令字长:一个指令中包含二进制代码的位数,一般取存储字长整数倍。
  • 机器字长:计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。我们常说的64,32位计算机就是指的机器字长。
  • IR(指令寄存器):存放当前指令,内容来自MDR
  • PC(程序计数器):存放下一条要执行指令的地址,具有自动加一功能(不是加数字1,而是根据指令长度,计算下一条指令地址)

1.计算机硬件工作过程

计算机收到机器语言程序以后

  • 把程序和数据装入主存储器
  • 从程序的起始地址运行程序
  • 按照程序的首地址(保存在PC)从存储器取出第一条指令,经译码等步骤控制计算机各功能部件协同运行,完成这条指令的功能,并计算下一条指令地址(由PC自动计算)
  • 继续读第二条指令,重复上述过程,直到程序结束

以取数据为例,分析过程

  1. 根据PC取指令到IR: PC->MAR->M->MDR->IR。  首先,把PC的内容(地址)送到MAR,MAR把地址(本质是高低电平)送到地址线,控制器发出读信号到读/写信号线,这样控制器就去主存读MAR所指地方的内容,取出来以后送到MDR(指令),然后MDR再送到IR
  2. 分析指令:OP(IR)-> CU,即把IR所存放指令的前半部分,操作码送到控制单元CU,控制器生成相应的控制信号到控制线,这里是读信号
  3. 执行指令:Ad(IR)->MAR->M->MDR->ACC。把IR中指令的后半段,地址码送到MAR,MAR把内容送到地址线,控制器发送读信号,去主存读取该地址所存放的数据,即操作数,通过数据线送到MDR(数据),再送到ACC
  4. 计算下一条指令地址,(PC)+1  ->PC

 

 

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值