首页 > 其他分享 >计算机指令执行过程

计算机指令执行过程

时间:2023-01-31 22:36:00浏览次数:31  
标签:存储 计算机 存储器 地址 指令 字长 执行

初代计算机主要是为了军事数学计算服务,最初应用的计算机没有存储器,为了计算需要对机器进行大量的指令和线路调整,逐步改进直至现代,主流计算机主要以存储器为中心架构,存储器主要存储指令和数据。


一、前置知识

  • 计算机的组成有:运算器控制器存储器、输入设备和输出设备。一开始计算机的两大操作都要经过运算器,包括数据运算和输入输出操作,因此运算器成为了计算机性能的制约因素,后来将IO操作(输入输出操作)抽离出来,允许外部设备和存储器通信的同时CPU(运算器)可以进行运算。这之后便使得存储器成为了制约计算机性能的主要因素。

  • 存储器相关存在MAR(存储地址寄存器)MDR(存储数据寄存器),前者存储需要操作的存储器地址,后者存储取出来或者存进去的数据。
    image


  • 控制器相关存在PC(程序计数器)IR(指令寄存器),前者和存储器通信负责记录(发送自增执行地址字节)即将执行的指令地址,后者则是运算器根据其内容进行指令解码从而对其他单元进行控制。
    image

二、 加载指令的执行

  1. 首先根据机器码确定第一条指令的地址,并将其设置进PC中;
  2. MAR根据PC所存的地址访问存储单元;
  3. MDR接收地址对应的指令;
  4. IR接收指令;
  5. CPU解码指令;
  6. CPU控制MAR和MDR对存储器进行取数据,对寄存器进行存数据。

其他相关术语

image

注:指令字长不一定等于存储字长,而机器字长也不一定等于存储字长,如若操作是对A、B两三十二位数字进行加法,则机器字长就是32位。

标签:存储,计算机,存储器,地址,指令,字长,执行
From: https://www.cnblogs.com/MiddleByPass/p/17080876.html

相关文章

  • go-zap默认配置下日志缺失问题,程序执行正常而打印日志数量不符合预期
    现象:程序执行正常而打印日志数量不符合预期 原因:默认配置下,日志会进行取样。取样规则是,对于msg相同的日志,前100打印输出,之后每隔100条输出一条Sampling:&Sampling......
  • MySQL执行计划
    一、什么是MySQL执行计划在平时的开发工作中,少不了数据库的使用,那么就会涉及到sql语句,如何知道sql语句执行的过程,以及sql语句执行的性能,通过执行计划模拟优化器执行sql进......
  • 关于计算机负数的储存
    计算机内部储存中,负数以其补码的形式存在,原因是在模意义下加上一个负数等价于加上一个mod-该数等价于数取反加一(所有操作均是为了避开减法)。因此在32位二进制储存中最高......
  • 计算机组成
    学软件看硬件的目的主要就是看速度和承受边界一、计算机的体系三层结构二、计算机五大组成部分控制器运算器控制器与运算器组成CPUCPUX86-64:X86是CPU的型号,是这......
  • NET 实现 Cron 定时任务执行,告别第三方组件
    原文连接:(96条消息)NET实现Cron定时任务执行,告别第三方组件_.net定时任务_PhilArist的博客-CSDN博客 代码:usingSystem.Globalization;usingSystem.Text;us......
  • 0157-使用 QEMU 执行汇编一
    环境Time2022-11-06WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:《x86汇编语言:从实模式到保护模式》李忠目标使用QEMU模拟器,加载编写好的文件,在启......
  • vue.js客服系统实时聊天项目开发(十六)连接websocket实时处理消息,断线重连,处理服务端关
    在线即时聊天项目,最重要的就是要实时收到消息,这里实现了vue.js下的websocket,实现了断线重连,并且可以根据收到的消息进行对应的处理   /**......
  • 计算机必备经典书籍
    关注博主的微信公众号:【高性能架构探索】回复“pdf”即可领取相关电子书和C++教程大全最近闲来无事整理了自己的书单,从入门到进阶,从底层到上层,从语言到操作系统,各......
  • 8086寄存器和常用指令缩写还原
    Registers:AX,BX,CX,DX:NormalRegisterSP:StackPointerRegisterBP:BasePointerRegisterSI:SourceIndexRegisterDI:DestinationIndexRegisterDS:Data......
  • 计算机栈stack存在的意义
    栈是现代化计算机不可或缺的设计元素当初代计算机已经实现了单次计算和累加计算并能够实现正确的存取结果我们开始了对于数据结构的思考而更高的自动化的实现却需要数据......