当前位置: 首页 > article >正文

计算机工作流程

分析下面的计算机工作流程: 

 1.取数a至ACC:PC程序寄存器自增1,变成0(可以理解为PC初始从-1开始自增);接着PC把当前指令的地址给到MAR(地址寄存器);MAR拿到当前地址后,就会根据地址去存储体中拿出指令并放到MDR(数据寄存器)中;同时CPU会把这个指令放到IR(指令寄存器)中,让IR暂时储存这个指令;同时IR会将这条暂存的指令分为操作码和地址码两个部分;接着被分出的操作码会给到CU(控制单元),地址码(该指令操作的地址)给到MAR(即主存地址为5的位置);MAR会根据这个地址码将数据(a=2)取出并放到MDR,在CPU的控制下,将数据从MDR中取出放到ACC中。

2.乘b得ab,存在ACC中:PC接着自增1(0-->1),接着PC把当前指令的地址给到MAR,MAR拿到地址后,根据地址去存储体中拿出指令并放到MDR,在CPU控制下,这个指令被放到IR中,IR将这条暂存的指令分为操作码和地址码两个部分;操作码会给到CU(*操作),地址码给到MAR(即主存地址为6的位置);将这条数据(b=3)取出放入到MDR中;接着根当前CU的控制,将取出来的数据放到X(通用寄存器)中执行a*b运算后,将结果存放到ACC中

3.加c得ab+c,存于ACC中:PC接着自增1(1-->2),接着PC把当前指令的地址给到MAR,MAR拿到地址后,根据地址去存储体中拿出指令并放到MDR,在CPU控制下,这个指令被放到IR中,IR将这条暂存的指令分为操作码和地址码两个部分;操作码会给到CU(+操作),地址码给到MAR(即主存地址为7的位置)(同一套操作流程),把这条数据(c=1)放到X中,在CU的控制下,执行+c的操作,并将结果放到ACC中。

4.将a*b+c存于主存单元:PC接着自增1(2-->3),接着PC把当前指令的地址给到MAR,MAR拿到地址后,根据地址去存储体中拿出指令并放到MDR,在CPU控制下,这个指令被放到IR中,IR将这条暂存的指令分为操作码和地址码两个部分;操作码会给到CU(存数据),CU控制IR将地址给到MAR,将ACC中的数据写入到MDR,然后CU发送写入指令,将MDR中的数据放到指定的地址中(在这里表示从7写入到中去)。

5.停机:PC接着自增1(3-->4),接着PC把当前指令的地址给到MAR,MAR拿到地址后,根据地址去存储体中拿出指令并放到MDR,在CPU控制下,这个指令被放到IR中,IR将这条暂存的指令分为操作码和地址码两个部分;操作码会给到CU(停机指令),至此计算机停机。


http://www.kler.cn/a/445001.html

相关文章:

  • Spring Cloud Gateway 源码
  • 苹果手机怎么清理空间:拯救你的拥挤手机
  • qt 类中的run线程
  • .net core在linux导出excel,System.Drawing.Common is not supported on this platform
  • LeetCode刷题day29——动态规划(完全背包)
  • CSDN数据大屏可视化【开源】
  • Linux dnf 包管理工具使用教程
  • 在linux系统的docker中安装GitLab
  • 三维引擎cesium学习经验
  • 增强现实(AR)和虚拟现实(VR)的应用
  • 使用 esrally race 测试 Elasticsearch 性能:实践指南
  • halcon单相机+机器人*眼在手外标定心得
  • Maven 插件详解
  • 将3D模型转换为Babylon格式
  • SSM 架构中 JAVA 网络直播带货查询系统设计与 JSP 有效实现方法
  • 2025.01.15python商业数据分析top2
  • BlueLM:以2.6万亿token铸就7B参数超大规模语言模型
  • 【C++】sophus : sim3.hpp 描述了在 3D 空间中的缩放、旋转和平移 (十九)
  • how to write 述职pptx as a tech manager
  • leetcode刷题-回溯算法04
  • 安装MMClassification的详细步骤
  • 以二进制形式创建gitea仓库
  • 网络安全的攻防战争
  • 解锁大数据治理的关键力量
  • 数据压缩比 38.65%,TDengine 重塑 3H1 的存储与性能
  • paimon中的Tag