【计算机基础】三、指令与指令执行过程

##一、计算机的指令系统
###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)

posted @ 2020-11-16 22:06  ShinyRou  阅读(3481)  评论(0)    收藏  举报