EdwardJ

Stay Hungry Stay Foolish

0%

计算机原理-计算机的CPU

本系列文章仅作为我个人学习笔记的概要,所有资源来自慕课网,请勿用作商业用途,如需转载请注明出处。

往期文章链接。

计算机原理-计算机发展史简述
计算机原理-计算机的总线与IO设备
计算机原理-计算机的存储器

计算机组成概览

本文主要概述计算机组成中的计算机的CPU相关内容。

计算机的指令系统

机器指令的形式

机器指令主要由两部分组成:操作码、地址码
机器指令的形式

名称 概念
操作码 操作码指明指令所要完成的操作
操作码的位数反映了机器的操作种类,比如操作码有8位,则共有$2^8=256$种操作
地址码 地址码直接给出操作数或者操作数地址
分三地址指令、二地址指令和一地址指令

三地址指令
三地址指令

三地址指令,通常会(addr1)OP(addr2)->(addr3),假设现在OP为加法操作,则addr1和addr2的加法操作后,存在地址三。

二地址指令
二地址指令

(addr1)OP(addr2)->(addr1)或(addr2)

一地址指令
一地址指令

(addr1)OP->(addr1)或(addr1)OP(ACC)->(addr1),可认为是对自己的操作,不如自增。

计算机中还有一种零地址指令,在机器指令中无地址码,比如空操作、停机操作、终断返回操作等。

机器指令的操作类型

操作类型 概念
数据传输类型 寄存器之间、寄存器与存储单元、存储单元之间传送
数据读写、交换地址数据、清零置一等操作
算数逻辑操作 操作数之间的加减乘除运算
操作数的与或非等逻辑位运算
移位操作 数据左移(乘2)、数据右移(除2)
完成数据在算数逻辑单元的必要操作
控制指令 等待指令、停机指令、空操作指令、中断指令等

机器指令的寻址方式

机器指令的寻址方式,其实就是,指令如何找到相关的数据的。寻址方式有:指令寻址和数据寻址。

指令寻址

指令寻址包含:顺序寻址和跳跃寻址。
指令寻址
顺序寻址:就是从地址101开始顺次到105
跳跃寻址:到105的时候,JMP到102

数据寻址

数据寻址包括:立即寻址、直接寻址、间接寻址。

立即寻址
立即寻址

  • 指令直接获得操作数
  • 无需访问存储器
    比如上图,操作数6就直接放在地址码中。

直接寻址

  • 直接给出操作数在主存的地址
  • 寻找操作数简单,无需计算数据地址

间接寻址

  • 指令地址码给出的是操作数地址的地址
  • 需要访问一次或多次主存来获取操作数

寻址方式对比

计算机的控制器

计算机的控制器是协调和控制计算机运行的设备

计算机的控制器

设备 功能
程序计数器 序计数器用来存储下一条指令的地址
环从程序计数器中拿出指令
当指令被拿出时,指向下一条指令
时序发生器 电器工程领域,用于发送时序脉冲
CPU依据不同的时序脉冲有节奏的进行工作,可理解为时序发生器就是CPU的节拍器
指令译码器 指令译码器是控制器的主要部件之一
计算机指令由操作码和地址组成
翻译操作码对应的操作以及控制传输地址码对应的数据
指令寄存器 指令寄存器也是控制器的主要部件之一
从主存或高速缓存取计算机指令
主存地址寄存器 保存当前CPU正要访问的内存单元的地址
主存数据寄存器 保存当前CPU正要读或写的主存数据
通用寄存器 用于暂时存放或传送数据或指令
可保存ALU的运算中间结果
容量比一般专用寄存器要大

计算机的运算器

主要用于数据的运算和加工

计算机的运算器

设备 功能
数据缓冲器 分为输入缓冲和输出缓冲
输入缓冲暂时存放外设送过来的数据
输出缓冲暂时存放送往外设的数据
ALU 全名:算数逻辑单元,是运算器的主要组成
完成常见的位运算(左右移、与或非)
完成算数运算(加减乘除等)
状态字寄存器 存放运算状态(条件码、进位、溢出、结果正负等)
存放运算控制信息(调试跟踪标记位、允许中断位等)
通用寄存器 用于暂时存放或传送数据或指令
可保存ALU的运算中间结果
容量比一般专用寄存器要大

ALU结构如下,A、B为输入,F为输出,k是各种控制线。
ALU

计算机指令执行的过程

指令执行三步骤

指令执行的过程

指令执行过程

CPU的流水线设计

  • 类似工厂的装配线
  • 工厂的装配线使得多个产品可以同时被加工
  • 在同一个时刻,不同产品均位于不同的加工阶段

CPU的流水线设计

如果内容对你有用,赏我一杯咖啡未尝不可^_^