冯诺依曼结构体系和CPU的指令周期

一.冯诺依曼结构体系

在这里插入图片描述

计算机5大组成

计算机由

  • 控制器(分析和执行机器指令并控制各部件的协同工作)
  • 运算器(根据控 制信号对数据进行算术运算和逻辑运算)
  • 存储器(内存存储中间结果,外存存储需 要长期保存的信息)
  • 输入设备(接收外界信息)
  • 输出设备(向外界输送信息)

五大部件组成

  • 运算单元包含算术逻辑单元和处理器寄存器(可快速访问的数据存储)
  • 控制单元包含一个指令寄存器(保留当前正在执行或解码的指令)和程序计数器)
  • 内存MM用于存储数据与指令
  • External mass storage(外部大容量存储)
  • Input and output mechanisms(输入与输出机制)

二. 一个典型系统的的硬件组成

在这里插入图片描述
在这里插入图片描述
举例hello的执行过程
(1)首先在终端输入指令 ./hello,CPU进行处理
(2)从disk硬盘中找到可执行文件加载到主存中
(3)CPU执行程序
(4)将结果显示在显示器上

3.CPU的组成以及指令周期(注意不是CPU周期)

CPU主要由运算器、控制器、寄存器组合内部总线等部件组成

在这里插入图片描述

CPU结构时序图

下图是一个简易的CPU时序结构图
主要由数据通路部分(左侧)和微控部分(右)组成

在这里插入图片描述

微控部分

  • 微程序控制器的组成:微程序控制器由 控制存储器、微地址寄存器、微指令寄存器、地址转移逻辑(含指令寄存器)、时序电路组成
  • 分部件布局:控制存储器是中间的ROM,微地址寄存器是ROM下方的74274,微指令寄存器是ROM上方的三个74273,地址转移逻辑是靠下的三个与非门和74273,时序电路是右下角的一个部件
  • 分部件的功能:
    1) 控制存储器:用来存放实现全部指令系统的所有微程序,是一种只读ROM。工作过程:每读一条微指令,则执行这条微指令,接着读出下一条指令并执行。读出并执行的时间总和为一个微指令周期。
    2) 微地址寄存器:决定将要访问的下一条微指令的地址,用来存由控制存储器读出的一条微指令信息中的顺序控制部分(下址)
    3) 微命令寄存器:保存一条微指令的操作控制字段和判别字段信息
    4) 地址转移逻辑:一般情况下,微指令由控制存储器器读出后直接给出下址,这个微地址信息存放在微地址寄存器中。假如微程序不出现分支,则下一条微指令的地址就直接有微地址寄存器给出,当微程序出现分支时,意味微程序出现条件转移。
    5) 时序电路:产生一系列的节拍电位和节拍脉冲。
    一个指令被分为几段,每一段执行一部分操作,解释每一段的指令译码被放在控制存储器内,对指令进行译码,以下是微代码表:
    在这里插入图片描述

注意区分指令周期,CPU周期,时钟周期

  • 指令周期(Instruction Cycle):取出并执行一条指令的时间。
  • CPU周期:一条指令执行过程被划分为若干阶段,每一阶段完成所需时间。
  • 时钟周期(Clock Cycle):又称震荡周期,是处理操作的最基本单位。

指令周期

指令周期:是指计算机从取指到指令执行完毕的时间计算机执行指令的过程可以分为以下三个步骤:

  • 取指令(Instruction Fetch,IF)阶段:将一条指令从主存中取到指令寄存 器的过程。程序计数器PC中的数值,用来指示当前指令在主存中的位置。当 一条指令被取出后,PC中的数值将根据指令字长度而自动递增
  • 指令译码(Decode)阶段:取出指令后,计算机立即进入指令译码阶段,指 令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出 不同的指令类别以及各种获取操作数的方法
  • 执行指令阶段:此阶段的任务是完成指令所规定的各种操作,具体实现指令 的功能(分支、乘除、加法、加载和写存储器等)。为此,CPU的不同部分 被连接起来,以执行所需的操作

举例1:LODA指令(对照微代码表)

(0) 初始化PC为00,PC开始计数,读入地址00000,从ROM中读取00000的指令码,执行SW->PC,产生下址00001
(1) 当前微地址为00001,从ROM中读取指令,发出微指令执行PC->AR,PC+1,产生下址00010
(2) 当前微地址为00010,从ROM中读取指令,发出微指令执行PC->IR,P1有效,地址映射为01001,执行LDA操作
(3) 当前微地址为01001,从ROM中读取指令,发出微指令执行PC->AR,PC+1,产生下址10101
(4) 当前微地址为10101,从ROM中读取指令,发出微指令执行RAM->AR产生下址10110

举例2:

在这里插入图片描述

  • (1)程序计数器指定地址
  • (2)地址寄存器取出地址
  • (3)从存储体中取出地址上的指令
  • (4)指令保存在数据寄存器中
  • (5)指令寄存器保存指令,发送给CU,CU指令译码
  • (6)指令寄存器产生下址
  • (7)从存储体中取出地址
  • (8)计算结果保存到数据寄存器
  • (9)将结果写回内存
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值