计组:各硬件工作原理

这篇具有很好参考价值的文章主要介绍了计组:各硬件工作原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

​编辑程序指令执行流程

程序执行指令前

执行各指令的顺序

程序(每一条)指令执行具体步骤

以第一步为例:

取指令(#1~#4)

初:(PC)=0,指向第一条指令的存储地址

#1:(PC)→MAR,导致(MAR)=0

#3:M(MAR)→MDR,导致(MDR)=0000010000000101

#4:(MDR)→IR,导致(IR)=000001 0000000101

分析指令(#5)

#5:OP(IR)→CU,指令的操作码送到CU,CU分析后得知,这是“取数”指令

执行取数指令(#6~#9)

#6:Ad(IR)→MAR,指令的地址码送到MAR,导致(MAR)=5

#8:M(MAR)→MDR,导致(MDR)=0000000000000010=2

#9:(MDR)→ACC


程序指令执行流程


程序执行指令前

首先,最开始(程序还没有执行,我们什么都还没有做)的时候:

指令和变量数据都存放在存储器当中


执行各指令的顺序

然后,根据(按照):

各个程序指令:在主存地址当中【从小到大的】存储的顺序

逐个向下地:遍历、执行各个指令


程序(每一条)指令执行具体步骤

程序执行一条指令总的来说分为三大部分:

  1. 取指令(#1~#4)
  2. 分析指令(#5)
  3. 执行取数指令(#6~#9)

下面我们来开始逐个进行讲解:


以第一步为例:

首先(第一轮、第一步操作),程序执行(主存地址为0的)第一条指令:


取指令(#1~#4)


初:(PC)=0,指向第一条指令的存储地址

(CPU当中暂时存储地址的)PC指向我们操作的指令地址

这里,我们执行的就是:主存地址为0的这一(第一)条指令

另外,括号表示: 

传输/传递/赋值寄存器里面的内容


#1:(PC)→MAR,导致(MAR)=0

通过地址总线,把

(CPU当中暂时存储地址的)PC中存储的

“指令的地址”信息

传输到

主存储器的地址存储器MAR中

即:

控制器向存储器表明:

我接下来要访问的是0号地址所对应的数据

并且(另外)与此同时:

控制器通过控制总线告诉存储器:本次进行的是读取操作


#3:M(MAR)→MDR,导致(MDR)=0000010000000101

(主存储器的地址存储器MAR指向(寄存)的地址)

所指向的(存储单元里面的)存储数据(信息)

传输到MDR

M(memory):记录的值


#4:(MDR)→IR,导致(IR)=000001 0000000101

通过数据总线,把数据信息传输到CPU当中的IR文章来源地址https://www.toymoban.com/news/detail-499869.html


分析指令(#5)

#5:OP(IR)→CU,指令的操作码送到CU,CU分析后得知,这是“取数”指令

执行取数指令(#6~#9)

#6:Ad(IR)→MAR,指令的地址码送到MAR,导致(MAR)=5
#8:M(MAR)→MDR,导致(MDR)=0000000000000010=2
#9:(MDR)→ACC

到了这里,关于计组:各硬件工作原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包