【流水CPU中的流水线问题】
㈠流水CPU——并行处理技术
广义地讲,并行性有着两种含义:一是同时性,指两个以上事件在同一时刻发生;二是并发性,指两个以上事件在同一时间间隔内发生。计算机的并行处理技术可贯穿于信息加工的各个步骤和阶段,概括起来,主要有三种形式:① 时间并行;②空间并行;③时间并行+空间并行。
时间并行 指时间重叠,在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
时间并行性概念的实现方式就是采用流水处理部件。这是一种非常经济而实用的并行技术,能保证计算机系统具有较高的性能价格比。目前的高性能微型机几乎无一例外地使用了流水技术。
空间并行 指资源重复,在并行性概念中引入空间因素,以“数量取胜”为原则来大幅度提高计算机的处理速度。大规模和超大规模集成电路的迅速发展为空间并行技术带来了巨大生机,因而成为目前实现并行处理的一个主要途径。空间并行技术主要体现在多处理器系统和多计算机系统。但是在单处理器系统中也得到了广泛应用。
时间并行+空间并行 指时间重叠和资源重复的综合应用,既采用时间并行性又采用空间并行性。例如,奔腾 CPU采用了超标量流水技术,在一个机器周期中同时执行两条指令。因而既具有时间并行性,又具有空间并行性。显然,第三种并行技术带来的高速效益是最好的。
㈡ 流水线分类
一个计算机系统可以在不同的并行等级上采用流水线技术。常见的流水线形式有:
①指令流水线 指指令步骤的并行。将指令流的处理过程划分为取指令、译码、取操作数、执行、写回等几个并行处理的过程段。目前,几乎所有的高性能计算机都采用了指令流水线。☞ 目的: 提高时钟频率(带有欺骗性)
②算术流水线 指运算操作步骤的并行。如流水加法器、流水乘法器、流水除法器等。现代计算机中已广泛采用了流水的算术运算器。
③处理机流水线 又称为宏流水线,是指程序步骤的并行。由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。数据流从第一台处理机输入,经处理后被送入与第二台处理机相联的缓冲存储器中。第二台处理机从该存储器中取出数据进行处理,然后传送给第三台处理机,如此串联下去。随着高档微处理器芯片的出现,构造处理机流水线将变得容易了。处理机流水线应用在多机系统中。
㈢ 流水线中的主要问题
要使流水线具有良好的性能,必须使流水线畅通流动,不发生断流。但由于流水过动中会出现以下三种相关冲突,实现流水线的不断流是困难的,这三种相关是资源相关、数据相关和控制相关。
①资源相关
所谓资源相关,是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件发生的冲突。
解决冲突的办法:一是指令停顿一拍后再启动,即空档。二是增设一个存储器,将指令和数据分别放在两个存储器中。
②数据相关
在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。
解决方法:一是指令停顿一拍后再启动,即空档。二是设置相关的直接通路。
③控制相关
控制相关冲突 是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。
为了减小转移指令对流水线性能的影响,常用以下两种转移处理技术。
☞延迟转移法 由编译程序重排指令序列来实现。基本思想是“先执行再转移”。
☞转移预测法 硬件方法来实现,依据指令过去的行为来预测将来的行为。通过使用转移取和顺序取两路指令预取队列器以及目标指令 cache,可将转移预测提前到取指阶段进行,以获得良好的效果。
【流水CPU中的流水线问题】相关推荐
- 计算机组成原理(5)CPU功能 控制器/运算器/寄存器/操作控制器、时序发生器 指令周期 方框图 微程序 流水CPU 三种相关性
CPU功能 指令控制 程序执行顺序,程序时一个指令序列 操作控制 管理并产生控制信号 时间控制 取指周期,执行周期 数据加工 算术运算,逻辑运算处理 左边运算器,右边控制器,记住IR,PC,AR,DR ...
- FPGA中的流水线设计(Pipeline Design)
流水线设计 前言: 本文从四部分对流水线设计进行分析,具体如下: 第一部分什么是流水线 第二部分什么时候用流水线设计 第三部分使用流水线的优缺点 第四部分流水线加法器举例 第一 什么是流水线 流水线设 ...
- 自己动手写CPU(1)五级流水线及CPU第一条指令ori
自己动手写CPU(1)五级流水线及CPU第一条指令ori 动机 不知为何研一的自由时间突然多起来,可能人一闲下来就容易焦虑吧,hhhhhh.正好之前看到一本<自己动手写CPU>,就按照此书 ...
- 【嵌入式】CPU性能提升:流水线机制
CPU性能提升:流水线机制 CPU流水线是什么: 一条指令执行一般需要三个步骤:取指令.翻译.执行,CPU内部有对应的取指单元.译码单元.执行单元等: 一般来说,取指单元先取指令,然后给译码单元翻译, ...
- 处理器中的流水线技术
处理器中的流水线技术 在现代处理器中,流水线是一个最基本的概念.在了解cpu的时候,很多时候会提及拥有多少级流水线.虽然这个概念并不是在计算机技术中诞生的,但是这个技术却在处理器世界中大放异彩. 流水 ...
- CPU指令的流水线执行
指令集是CPU体系架构的重要组成部分.C语言的语法是对解决现实问题的运算和流程的方法的高度概况和抽象,其主要为算术.逻辑运算和分支控制,而指令集就是对这些抽象的具体支持,汇编只不过是为了让开发人员更好 ...
- 时序产生器和控制方式,流水CPU
时序信号 从时间上来说,取指令时间发生在指定周期的第一个CPU中周期中,即发生在取指令阶段,而取数据事件发生在执行指令阶段 :从空间上来说,如果取出的代码是指令,那么一定送往指令寄存器,如果取出的是代 ...
- 【笔记11】个人扫盲:内存与CPU中的核、线程、物理CPU、逻辑CPU
文章目录 CPU与内存 CPU 内存 什么是通道 常见问题 物理CPU和逻辑CPU 常见问题 LINUX查看 WINDOW查看 CPU与内存 CPU CPU(Central Processing Un ...
- 基于RISC-V指令集架构的单周期CPU与五级流水线的实现(一)——分析
本文是为完全不了解CPU的朋友所写的入门级教程,对于较为精通的朋友,多数章节均为赘述,完整代码在下一篇博客中,请见谅哈 一.实现功能 实现了部分RV32I指令集中的部分指令类型,如下表 具体指令如下( ...
最新文章
- AppCompat 22.1,Google暴走,MD全面兼容低版本
- 不是外链没用,而是你发的外链没用
- class h5 点击后样式变化_H5学习笔记
- 构造函数中调用构造函数new和delete使用小结
- ap统计学需要什么计算机,准备AP统计学考试不需要死背公式
- 03 | AI 术语:让你变得更加专业
- JavaScript学习笔记之BOM篇,认识几种常见的浏览器对象
- oracle 数据的定义,oracle——数据定义
- linux命令 - ln - 创建和删除软、硬链接
- java异常机制_全面理解java异常机制
- Flink+Hudi 构架湖仓一体化解决方案
- 「精品推荐」FEBS-Shiro 2.0,一款好用美观的权限管理系统
- 【27】Python100例基础练习题6
- 翻译:YOLOv5 新版本——改进与评估
- go语言介绍及应用场景分析
- JavaScript获取地理位置
- QQ防诈骗记录查询-网络交易信誉分查询认证源码
- katacontainers网络文件系统分析
- 高难度c语言编程题,高难度脑筋急转弯题目合集带答案
- python decode函数的用法_decode函数的用法