计算机流水线

计算机流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。

CPU在完成了上面这一步之后,剩下的就是如何提高并行处理能力的问题了,CPU的设计者们从加工厂的装配线得到启发,将一条指令的执行分解成了许多各不相同的多个工序_微指令,从而极大地简化了指令的复杂度,简化了逻辑设计,提高了速度。在具有流水线技术的CPU中,上条指令刚执行完第一道“工序”,马上第二条指令就加入了流水线中,开始执行。很明显,这种流水线技术要求有多个执行单元,这在X86芯片中均得到了实现。

通过分支预测器可以避免控制冲突。在这里处理器预测性地继续运算,直到正式预测是正确为止。假如预测错误的话那么在其中已经执行的指令要被推翻。尤其流水线非常长的处理器(比如英特尔的奔腾4或者IBM的PowerPC)在这种情况下要浪费许多时间。因此这些处理器拥有非常高级的分支预测技术,只有百分之一的分支预测会发生错误,其流水线需要清除。

计算机流水线

时间: 2025-01-14 06:51:51

计算机流水线的相关文章

《穿越计算机的迷雾》读书笔记

PB15061359 王亚正 这本书讲的是计算机的发展史,从让计算机如何做加法开始,到逻辑学,再到集成电路,最后概述了现代计算机.主要是从硬件的角度介绍的,最后也提到了些关于汇编语言和C语言的简单知识. 第一章将电学的简单原理,还有电路图:第二章将二进制数的由来和简单的计算:第三章将于十进制数相比,为什么要用二进制方法来让计算机做加法,因为二进制在计算机中的判断简单,以开关为例,可以用断开表示0,用闭合表示1,而十进制数就没这么好表示了: 第四章讲人类发现了电生磁,继电器的发明,磁生电,电话电报

推荐我看过的几本好书给大家(1)

推荐几本我看过的好书给大家! 首先必须对亚马逊偷图向亚马逊表示歉意 :) Bryant R E, 布赖恩特, O'Hallaron D, et al. 深入理解计算机系统[M]. 中国电力出版社, 2004. 这本书讲的相当的好,CMU两位老师写的,建议那些学习编程感到遇到瓶颈的同学来看一看这本书,另外翻译的也很不错!里面对很多你必须掌握的编译技术讲的很透彻.另外对计算机流水线部分讲的也非常的透彻.看完这本书你写代码时,将能够学会刻意去优化一些细节部分,而往往这些细节部分是决定问题的关键.另外这

软考网络工程师冲刺学习重要考点快速解题、提分方法

分专题重点讲解软考网工选择题第1-35题中必考题型及快速解题.提分方法 专题一:CPU.内存.总线等 专题二:数字编码.传输速率计算.调制解调及PCM计算等 专题三:奇偶校验.CRC.汉明码等 专题四:考试常考数值理解性记忆 专题五:项目管理 专题六:知识产权与标准化 专题七:系统可靠性计算机流水线技术 专题八:IPV6 专题九:无线网络 专题十:综合布线系统 专题十一:OSI参考模型与TCP/IP协议族 分专题重点讲解软考网工选择题第36-70题中必考题型及快速解题.提分方法 专题一:SMTP

计算机系统的设计规则,性能评测

控制流程的三种实现方式: 全硬件,软硬结合,全软件 1:逻辑上是等价的 2:硬件实现"速度快,成本高,灵活性差,占用内存少 3:软件实现,速度慢,复制费用低,灵活性好,占用内存多,容易设计,可改性强, 适应性强,设计周期短 理论上,由两种极端实现方法 1:全硬件机器:操作系统,高级语言,应用等 2:硬件只有1位加法和分支操作,其他都用软件 软硬件实现的优缺点 软硬件取舍的基本原则: 很高的性能价格比 计算机性能评测: 计算机性能是指计算机的工作速度,是程序执行时间的倒数 计算机的性能不仅仅与计算

自己动手写处理器之第三阶段——教学版OpenMIPS处理器蓝图

将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第十篇,我尽量每周四篇 从本章开始将一步一步地实现教学版OpenMIPS处理器.本章给出了教学版OpenMIPS的系统蓝图,首先介绍了系统的设计目标,其中详细说明了OpenMIPS处理器计划实现的5级流水线.3.2节给出了OpenMIPS处理器的接口示意图,及各个接口的作用.3.3节简单解释了各个源代码文件的作用.最后描述了OpenMIPS处理器的实现方法,读者将发现本书给出的实现方法与现有书籍的方法完全不同,更加易于理解.便于实践

计算机组成与设计(十)—— 流水线的冒险

冒险 流水线技术之所以能提高性能 究其本质是利用了时间上的并行性,那它让原本应该先后执行的指令在时间上一定程度的并行起来,然而这也会带来一些冲突和矛盾,进而可能引发错误. 冒险(Hazard):在流水线中我们希望当前每个时钟周期都有一条指令进入流水线可以执行.但在某些情况下,下一条指令无法按照预期开始执行,这种情况就被称为冒险. 冒险分为三种: 结构冒险:如果一条指令需要的硬件部件还在为之前的指令工作,而无法为这条指令提供服务,那就导致了结构冒险.(这里结构是指硬件当中的某个部件) 数据冒险:如

计算机系统结构 流水线技术-向量

一.向量处理方式 1)横向处理方式 2)纵向处理方式 3)纵横处理方式 下面以计算表达式 D = A * ( B + C ) (1)横向处理方式 逐个求出结果向量的各个元素 d1=a1×(b1+c1) d2=a2×(b2+c2) - dN=aN×(bN+cN) 逐个求D中的N个分量,先进行相加k←b1+c1,其中k为暂存单元,然后相乘d1←k×a1 . 在每个向量元素的加乘运算中,都会发生数据相关的情况,而且当采用静态流水线时,还要进行2次 乘和加功能的转换.这样共会出现N次相关和2N次功能转换

计算机系统结构 流水线技术-标量

一.重叠执行和先行控制 一条指令的执行过程: (1)取指令:按照指令计数器PC的内容访问主存,取出一条指令送到指令寄存器. (2)分析指令:对指令的操作码进行译码,按照给定的寻址方式和地址字段形成操作数的地址,并用这个地址读取操作数. 操作数可能在主存中,也可能在通用寄存器中. (3)执行指令:按照操作码的要求,完成指令规定的功能. 1.1 重叠执行 当有多条指令要在处理机中执行时,可以有以下三种执行方式 (1)顺序执行 取指令k -> 分析指令k -> 执行指令k -> 取指令k+1

计算机组成与设计(九)—— 流水线处理器

流水线的基本原理 指令的主要执行步骤 这个是之前设计的单周期寄存器,它已经能正确的执行MIPS指令. 而MIPS的指令可以分成如下5个阶段: 取指(Fetch)::从存储器取指令,并更新PC 译码(Decode):指令译码,从寄存器堆读出寄存器的值 执行(Execute):运算指令:进行算术逻辑运算,访存指令:计算存储器的地址 访存(Memory):Load指令:从存储器读指令,Store指令:将数据写入寄存器 回写(Write Back):将数据写入寄存器堆 与示意图结合如下: 单周期与流水线