计算机组成原理重要知识点摘录(考研用)——第五章:中央处理器

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。计算机组成原理重要知识点摘录(考研用)——第五章:中央处理器,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

计算机组成原理重要知识点摘录(考研用)——第五章:中央处理器

 本文参考于《2021年计算机组成原理考研复习指导》(王道考研),《计算机组成原理》

  控制器由程序计数器(PC)、指令寄存器(IR)、指令译码器、存储器地址寄存器MAR、存储器数据寄存器MDR、时序系统和微操作信号发生器等组成

一个完整的指令周期应包括取指、间址、执行和中断4个周期

  中断周期中的进栈操作是将SP减1,这和传统意义上的进栈操作相反,原因是计算机的堆栈中都是向低地址增加,所以进栈操作是减1而不是加1

  机器周期可看作是所有指令执行过程中的一个基准时间,机器内的各种操作大致可归属为对CPU内部的操作和对主存的操作两大类,由于CPU内部的操作速度较快,CPU访存的操作时间较长,因此通常以访问一次存储器的时间定为基准时间较为合理,这个基准时间就是机器周期。 因此在存储字长等于指令字长的情况下,取指周期也可看作机器周期。

  中断周期的数据流向如下:
在这里插入图片描述

  3.执行算术或逻辑运算

  执行算术或逻辑操作时,由于ALU本身是没有内部存储功能的组合电路,因此如要执行加法运算,相加的两个数必须在ALU的两个输入端同时有效。 暂存器Y即用于该目的。先将一个操作数经CPU内部总线送入暂存器Y保存,Y的内容在ALU的左输入端始终有效,再将另一个操作数经总线直接送到ALU的右输入端。 这样两个操作数都送入了ALU,运算结果暂存在暂存器Z中。 (设置暂存器Z的原因是:ALU的输出不能直接与内部总线相连,因为其输出又会通过总线反馈到ALU的输入,影响运算的正确性)
  Ad(IR)——>Bus——>MAR    MDRout和MARin有效
  1——>R    CU发读命令
  MEM——>数据线——>MDR    操作数从存储器——>数据线——>MDR
  MDR——>Bus——>Y    MDRout和Yin有效,操作数——>Y
  (ACC)+(Y)——>Z    ACCout和ALUin有效,CU向ALU发加命令,结果——>Z
  Z——>ACC    Zout和ACCin有效,结果——>ACC

  (2)机器周期。
  机器周期可视为所有指令执行过程中的一个基准时间。 不同指令的操作不同,指令周期也不同。访问一次存储器的时间是固定的,因此通常以存取周期作为基准时间,即内存中读取一个指令字的最短时间作为机器周期。 在存储字长等于指令字长的前提下,取指周期也可视为机器周期。

  微命令有相容性和互斥性之分。 相容性微指令是指那些可以同时产生、共同完成某一些微操作的微命令;而互斥性微命令是指在机器中不允许同时出现的微命令。

控制存储器(CM)用于存放微程序,在CPU内部,用ROM实现。

  b.微地址寄存器CMAR用于存放控制存储器CM的读/写微指令的地址

  d.微指令寄存器CMDR或μIR:用于存放从控制存储器中读出的微指令

控制存储器中的微程序个数应为机器指令数再加上对应取指、间址和中断周期等共用的微程序数。


  若指令系统中具有n种机器指令,则控制存储器中的微程序数至少是n+1(1为公共的取指微程序)


  3.微指令的编码方式

  微指令的编码方式又称微指令的控制方式,是指如何对微指令的控制字段进行编码,以形成控制信号。 编码的目标是在保证速度的情况下,尽量缩短微指令字长。
  (1)直接编码(直接控制)方式
在这里插入图片描述

  直接编码法无须进行译码,微指令的微命令字段中每个位都代表一个微命令。 设计微命令时,选用或不选用某个微命令,只要将表示该微命令的对应位设置成1或0即可。每个微命令对应并控制数据通路中的一个微操作。
  这种编码的优点是简单、直观,执行速度快,操作并行性好; 缺点是微指令字长过长,n个微命令就要求微指令的操作字段有n位,造成控制存储器容量极大。

  (2)字段直接编码方式
在这里插入图片描述
  将微指令的微命令字段分成若干小字段,把互斥性微命令组合在同一字段中,把相容性微命令组合在不同字段中,每个字段独立编码,每种编码代表一个微命令且各字段编码含义单独定义,与其他字段无关, 这就是字段直接编码方式。
  这种方式可缩短微指令字长,但因为要通过译码电路后再发出微命令,因此比直接编码方式慢。
  微命令字段分段的原则:
  a.互斥性微命令分在同一段内,相容性微命令分在不同段内
  b.每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间
  c.一般每个小段还要留出一个状态,表示本字段不发出任何微命令。 因此,当某字段的长度为3位时,最多只能表示7个互斥的微命令,通常用000表示不操作。

  (3)字段间接编码方式
  一个字段的某些微命令需由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,因此称为字段间接编码,又称隐式编码。 这种方式可以进一步缩短微指令字长,但因削弱了微指令的并行控制能力,因此通常作为字段直接编码方式的一种辅助手段。

流水线中的相关问题是指相邻指令间存在某种关联,使指令流水线出现停顿,降低了流水线的效率。主要有数据相关和控制相关两类。

  1.数据冲突(数据冒险)

  在一个程序中,下一条指令会用到这一条指令计算出的结果,此时这两条指令即为数据冒险。 当多条指令重叠处理时就会发生冲突,解决的办法有:
  (1)把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,直到数据相关问题消失后再继续执行,这种方法称为后推法, 可分为硬件阻塞(stall)和软件插入”NOP”指令两种方法
  (2)设置相关专用通路,即不等前一条指令把计算结果写回寄存器组,下一条指令也不再读寄存器组,而直接把前一条指令的ALU的计算结果作为自己的输入数据开始计算过程,使本来需要暂停的操作变得可以继续执行,这称为数据旁路技术
  (3)通过编译器对数据相关的指令编译优化的方法,调整指令顺序来解决数据相关。

  2.控制冲突(控制冒险)

  一条指令要确定下一条指令的位置,例如在执行转移、调用或返回等指令时会改变PC值,而造成断流,会引起控制冒险。控制相关主要是由转移指令引起的。 解决的办法有:
  (1)对转移指令进行分支预测,尽早生成转移目标地址。 分支预测分为简单(静态)预测和动态预测。 静态预测总是预测条件不满足,即继续执行分支指令的后续指令。动态预测根据程序执行的历史情况,进行动态预测调整,有较高的预测准确率
  (2)预取转移成功和不成功两个控制流方向上的目标指令。
  (3)加快和提前形成条件码
  (4)提高转移方向的猜准率

  1.流水线的吞吐率

  在指令级流水线中,吞吐率是指在单位时间内流水线所完成的任务数量,或输出结果的数量。
  TP=n/Tk
  TP为流水线吞吐率,n是任务数,Tk是处理完n个任务所用的时间
  下图所示为各段执行时间都相等的流水线时空图
在这里插入图片描述
  在输入流水线中的任务连续的理想情况下,一条k段线性流水线能在k+n-1个时钟周期内完成n个任务。
  流水线的实际吞吐率为:
在这里插入图片描述
  连续输入的任务数n——>∞时,最大吞吐率为
在这里插入图片描述

  2.流水线的加速比

  完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比,称为流水线的加速比
  设T0表示不使用流水线时的执行时间,即顺序执行所用的时间;Tk表示使用流水线时的执行时间,则计算流水线加速比(S)的基本公式为:
  S=T0/Tk
  若流水线各段执行的时间都相等,则对于一条k段流水线:
在这里插入图片描述
  连续输入的任务数n——>∞时,最大加速比为
在这里插入图片描述

  3.流水线的效率

  流水线的设备利用率称为流水线的效率。在时空图上,流水线的效率定义为完成n个任务占用的时空区有效面积,与n个任务所用的时间及k个流水段所围成的时空区总面积之比。 因此,流水线的效率包含了时间和空间两个因素。
  n个任务占用的时空区有效面积就是顺序执行n个任务所使用的总时间T0,而n个任务所用的时间与k个流水段所围成的时空区总面积为kTk,其中Tk是流水线完成n个任务所使用的总时间,因此流水线效率E:
在这里插入图片描述
  流水线的各段执行时间均相等,当连续输入的任务数n——>∞时,最大效率为Emax=1;

  1.超标量流水线技术

  每个时钟周期内可并发多条独立指令,即以并行操作方式将两条或多条指令编译并执行,为此需配置多个功能部件
  超标量计算机不能调整指令的执行顺序,因此通过编译优化技术,把可并行执行的指令搭配起来,挖掘更多的指令并行性
在这里插入图片描述

  2.超流水线技术

  在一个时钟周期内再分段,在一个时钟周期内一个功能部件使用多次。超流水线技术将一些流水线寄存器插入到流水线段中,好比将流水线再分段
  不能调整指令的执行顺序,靠编译程序解决优化问题。
在这里插入图片描述

  3.超长指令字

  由编译程序挖掘出指令间潜在的并行性,将多条能并行操作的指令组合成一条具有多个操作码字段的超长指令字,为此需要采用多个处理部件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153791.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!