- 博客(8)
- 资源 (5)
- 收藏
- 关注
原创 流水线的扩展(3):寄存器重命名 (Register Renaming)
文章目录前言冲突产生的原因寄存器重命名新的流水线重命名表的结构重命名表的实现系列目录前言上一章讲到了可以通过ScoreBoard 去检测各种各样的冲突。可是呢,解决这些冲突的方法依然是停顿等待冲突解决。但是我们肯定是希望不停顿以提升效率,这时候就有必要要研究一下各种冲突造成的原因,来寻求解决。冲突产生的原因Structural:就是功能单元被占用了,硬件不可能无中生有,只能通过等待来解决RAW:和上面一样,需要的数据不可能凭空产生WAR/WAW:产生的原因是因为原来的值被错误覆盖,要解决这个
2021-08-09 12:29:58
1749
原创 计算机组成原理笔记--流水线的扩展(2):计分板
文章目录前言宽流水线是如何引入问题的检测相关性RAWWAWWARStructural调度检测任务总结系列目录前言上一篇文章 我们尝试着将5级流水线扩展以提升性能。首先我们尝试着加入数据前推功能,发现的确减少了RAW冲突的影响。之后我们想尝试着扩宽流水线以便塞下更多运算单元,可是导致了更多数据冲突的产生。要缓解这些问题,计分板这个结构就产生了。宽流水线是如何引入问题的在解决问题之前,我们有必要探究一下宽流水线与简单五级流水线的不同。这样的宽流水线,取决于不同的实现,又可以被称为I2O2 或 IO3
2021-07-12 21:53:22
1039
原创 计算机组成原理笔记--流水线的扩展(1):数据前推与增加宽度
文章目录前言数据冲突的形式前言上一讲 简单五级流水线设计与性能 讲到了流水线相比于多周期实现的优势, 同时也提到了流水化带来的3种冲突:控制冲突,数据冲突,结构冲突。这一讲我们主要会关注:数据冲突以及如何降低它的影响。增加流水线宽度以提升指令级并行性(ILP)数据冲突的形式...
2021-07-08 20:15:04
1851
原创 计算机组成原理笔记--简单五级流水线设计与性能
文章目录复习复习上一章 单周期设计与多周期设计 一章中提到了两种微架构模型。这一章主要会讲解基本流水线的工作原理,控制电路的形式以及功能模块的调度。在开始这一章之前有必要复习一下计算机性能的指标。指标很简单,就是对应程序的长度除以执行所花的时间。虽然这里程序的长度定义不是很明确,但是通常不会去求一个绝对指标的值,相反,我们会找一个基准机器作为参考以求得相对指标。这种方法能比较准确的反映出机器的实际性能,但是不适合引导我们进行设计,因为我们至少先得把样机/模拟器做出之后才能做这个测试。...
2021-07-05 18:53:18
2341
原创 计算机组成原理笔记--单周期设计与多周期设计
文章目录复习指令的执行过程单周期设计多周期设计复习上一章基本概念与ISA结构里面提到了微架构(Micro Architecture)。他的意思就是一个能运行一个指令集的机器的具体结构。在这一章,我们将了解两种在简单的实现方式:单周期设计 (Single Cycle)多周期设计 (Multi-Cycle)指令的执行过程在具体确定微架构之前,有必要了解一下指令是如何执行的。大致可以看出有5个步骤:取指令分析指令取数据做操作写回结果在这里有一个比较模糊的步骤就是做操作,比较大小
2021-06-30 18:22:10
2345
原创 计算机组成原理笔记--基本概念与ISA结构
文章目录写在前面指令集架构 (ISA)执行语义数据类型/源微架构(micro architecture)机器模型(Machine Models)写在前面这整个笔记不会像很多网上的博客一样罗列很多数制之类的基本知识。这部分主要了解指令集架构(ISA),微架构(micro Architecture)各自包含的内容。基本的机器模型(machine model)和MIPS 指令格式。指令集架构 (ISA)ISA 事实上和硬件关系有,但与软件的联系更紧密。可以这么说:指令集是提供给软件/程序员的对机器的
2021-06-22 20:11:46
2173
原创 计算机组成原理笔记-- 序
动机 最近这几个月决定好好把计算机组成原理好好学一遍。主要是因为之前一直挖坑的MIPS总写不完又加上一直对这方面有兴趣索性在此记录一下,深化一下自己学习的成果,强迫自己写完整个项目。 内容 整个笔记主要是基于: Coursera 上 computer architecture的课程 Computer architecture, A Quantitative Approach 5 Processor Microarchitecture An Im..
2021-06-22 16:27:25
239
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人