首页 > 其他分享 >【《硬件架构的艺术》读书笔记】06 流水线的艺术(2)

【《硬件架构的艺术》读书笔记】06 流水线的艺术(2)

时间:2022-12-16 23:11:41浏览次数:41  
标签:艺术 06 周期 读书笔记 存储器 指令 寄存器 流水线 ALU

6.6 DLX指令集的实现

这节开始将指令集相关内容,没学过相关知识,看不太懂,就快速浏览一下好了。

DLX指令集包括五个部分:

1、指令获取(IF)

IR <= MEM[PC]

NPC <= PC +4

从存储器中获取指令(PC为指针)并放入指令寄存器(IR),IR保存下个时钟周期所需指令,PC值递增4,指向下个指令地址。

2、指令解码/寄存器获取(ID)

 

 

 指令格式是固定的,所以读寄存器和解码可以同时进行。这称为固定域译码。

3、执行/有效地址周期(EX)

根据指令类型执行下面4个功能之一:

a)访问存储器

 

 

 b)寄存器——寄存器ALU指令

 

 

 c)寄存器——立即数ALU指令

d)分支指令

 

 

 4、访问存储器/分支完成周期(MEM)

a)访问寄存器

 

 

 b)分支

 

 

 

 

 

 5、写回周期(WB)

a)寄存器——寄存器ALU指令

 

 

 b)寄存器——立即数周期

 

 

 c)取指令

 

 以上操作将结果写回入寄存器堆中,结果可能来自存储器(LMD)或者来自于ALU。

无流水线DLX数据通路上的5个步骤:

 

 无流水线无法并行执行指令,只有当第一条指令执行完才开始执行第二条指令。

 

6.7 流水线对吞吐率的影响

在每个阶段加一级流水线:

 

 

 

 

 

 如图,不加流水线消耗时间5(5条指令)*5(每条指令消耗周期数)*2(周期)=50ns,加了之后9*2=18ns,性能提升了50/18=2.8倍。

但是使用流水线时会引入额外的开销,如Skew和寄存器延迟,这种开销限制了流水线所能达到的加速值。

6.8 流水线原理

 

标签:艺术,06,周期,读书笔记,存储器,指令,寄存器,流水线,ALU
From: https://www.cnblogs.com/magnolia666/p/16988475.html

相关文章

  • P2466 [SDOI2006]Sue的小球
    我们注意到,这道题要求小球最大价值和,并且即使权值变为负的也要算上。因此,状态转移时只要维护所有小球损失的价值“最小即可。这是一道典型的区间dp,因此我们可以设值状态......
  • day36_0654.最大二叉树
    0654.最大二叉树该题部分没思路部分有思路但不会写代码因为自己写不出完整代码所以笔记就看卡哥解答过程吧详细通俗易懂我这里简单记录一下我都卡在什么地......
  • day37_0617.合并二叉树
    0617.合并二叉树classSolution{public:TreeNode*mergeTrees(TreeNode*root1,TreeNode*root2){intval1=0,val2=0;if(root1!=NUL......
  • 【脚本项目源码】Python制作艺术签名生成器,打造专属你的个人艺术签名
    前言明天就是拥抱情人节,情侣们会在公开的场合拥抱,向世人宣告你俩的爱意,也让这个寒冷的冬天变得格外温馨。到了年底依然能热情拥抱,也见证了两人情意如昔。今天子川就给大......
  • 《代码大全》读书笔记下篇
    Subsections ​数据名称变量常量基本数据类型条件语句​循环语句代码调整调试集成​ (一)、数据命名   (1)、......
  • [读书笔记]Python编程:从入门到实践读后感
    0x00前言说句实在话,你买这本书根本就是一个错误。如果,你只是把它束之高阁,就认为自己学会了Python的话。诚如编辑所言,我自己买下这本书已经有一年多了,但真正把它读起来,......
  • 【《硬件架构的艺术》读书笔记】06 流水线的艺术(1)
    6.1介绍流水线通过在较长的组合逻辑路径中插入寄存器降低了组合逻辑延迟,增加了时钟频率并提高了性能。 图中分别为插入流水线前后的逻辑。长路径插入寄存器后最大时钟......
  • Jenkins实践指南-06-Jenkins pipeline 语法02
    3.2.6parameters  [作者:Surpassme]parameters又称参数化,通过参数化可以决定pipeline运行期的行为。pipeline主要支持两种形式的参数化parameters命令参数化和插件参......
  • Djangoday06
    目录Djangoday06一、ORM执行SQL语句1.raw2.connection二、神奇的双下划线查询三、ORM外键字段创建1.ORM外键字段创建理论铺垫2.ORM外键字段创建相关操作四、多表查询(基于......
  • flask-06
    一、flask项目演示pycharm打开项目 安装依赖:虚拟环境 pipinstall-rreq.txt在数据库创建库:movie    看一下:root用户密码不是123,改代码,两个地方(__init__.p......