zoukankan      html  css  js  c++  java
  • 【计算机基础】三、指令与指令执行过程

    一、计算机的指令系统

    1.机器指令的形式

    计算机中的机器指令 = 操作码 + 地址码

    1.1操作码

    操作码 指定了要完成的操作
    假设操作码的位数为n ,则计算机最多能执行的操作类型为 2^n 种

    1.2地址码

    地址码 中 可能直接为指令的操作数 或者操作数的的地址。
    根据地址码中地址的个数分为 三地址指令、二地址指令、一地址指令、零地址指令

    • 三地址指令 op addr1 addr2 addr3 执行的内容为 (addr1)op(addr2) -> (addr3) 将地址1的操作数对 地址2的操作数执行 op操作 结果保存的地址三
    • 二地址指令 op addr1 addr2 执行的内容为 (addr1)op(addr2) -> (addr1/addr2) 结果保存的地址1或地址2
    • 一地址指令 op addr1 执行结果报错到原地址 addr1 如自增操作
    • 零地址指令 无地址码指令 如空操作、停机操作等操作

    1.3操作的分类

    • 数据传输操作 寄存器之间、寄存器与存储单元、存储单元之间的数据传输
    • 算数逻辑操作 + - * / 与 或 非
    • 移位操作
    • 控制指令操作 等待指令、停机指令、空指令等

    2.寻址方式

    2.1指令寻址

    • 顺序寻址
    • 跳跃寻址

      假设程序存储在CPU的寄存器中 101-104按顺序执行为 顺序寻址
      105跳回至102为跳跃寻址

    2.2数据寻址

    • 立即寻址 地址码中直接为数据 速度快 数据大小受地址码位数限制
    • 直接寻址 地址码中存储的为数据在主存中的地址
    • 间接寻址 地址码中存储的为数据在主存中的地址的地址 寻址速度慢

    二、控制器

    控制器是CPU的主要组成部分,主要协调、控制计算机的程序运行,分为以下组成结构

    1。程序计数器

    用于存储下一条指令的地址,循环从其中拿出,指令拿出时,指向下一条

    2.时序发生器

    电气工程领域,发送时序脉冲,CPU根据脉冲进行有节奏的工作

    3.指令译码器

    翻译机器指令中操作码与地址码

    4.指令寄存器

    缓存主存或者高速缓存中取到的指令,使得CPU高速运转

    5.主存地址寄存器

    保存CPU正要访问的内存单元的地址 地址总线

    6.主存数据寄存器

    保存CPU正要读写的主存数据 数据总线

    7.通用寄存器

    用于暂时存放或传送数据或指令,可保存ALU的中间运算结果,容量比专用寄存器大

    三、运算器

    主要用于数据的加工运算

    1.数据缓冲器

    输入输出缓冲,暂时存放外设送的数据、要传送到外设的数据

    2.ALU 算术逻辑单元

    常见位运算、基本运算

    3.状态字寄存器

    存放运算状态(条件码、进位、溢出、结果正负)
    存放运算控制信息(调试跟踪标记位、允许中断位等)

    4.通用寄存器

    用于暂时存放或传送数据或指令,可保存ALU的中间运算结果,容量比专用寄存器大

    四、指令执行的过程

    1.取指令 2.分析指令 3.执行指令 CPU内通过片内总线进行数据传输,最终ALU的运算结果通过数据总线更新到内存

    问题:运算器、控制器串行 效率不高
    改进为并行,可以显著提升效率,第一条指令进行分析是就可以执行取第二条指令

    建设 取、分析、执行 耗时都为 t
    串行执行m条 T1 = 3tm
    并行执行 T2 = t*(m+2)

  • 相关阅读:
    USB子系统gadget analyse
    关于嵌入式的学习和职业发展
    编译JNI动态库so
    Linux串口编程
    i2c_get_clientdata和to_i2c_client 的使用获取平台设备
    Kbuild 编译系统分析
    解决QPST 出现的 "服务器正在运行" 的 下载错误.
    Msm 高通平台配置记录之一
    USB Skeleton driver 分析记录
    网站应用数据库相关 过滤类
  • 原文地址:https://www.cnblogs.com/shinyrou/p/13551285.html
Copyright © 2011-2022 走看看