解决CPU流水线冲突技术的设计与实现
更新时间:2023-11-12 02:24:01 阅读量: 教育文库 文档下载
龙源期刊网 http://www.qikan.com.cn
解决CPU流水线冲突技术的设计与实现
作者:张大发 曹庆华 傅翠娇 来源:《现代电子技术》2008年第04期
摘 要:流水线是制造高性能CPU的关键技术,目前许多学者研究在FPGA上实现具有流水线结构MIPS CPU,但是在解决流水线冲突上只是通过简单的停顿流水线实现。描述一种较为通用的具有五级流水线的MIPS CPU结构以及其中可能发生的流水线冲突,在此基础上详细介绍解决流水线冲突的技术——数据旁路以及动态分支预测在MIPS CPU中的设计和实现,最后通过一段指令序列进行仿真验证,解决流水线冲突的技术减少指令执行所需要的时钟周期数。
关键词:MIPS CPUI流水线;数据冲突;数据旁路;分支预测 中图分类号:TP332 文献标识码:B
文章编号:1004—373X(2008)04—021—03 1 引 言
流水线是指在程序执行时多条指令重叠进行操作的一种技术。指令流水执行是将指令执行分成几个子过程,每个子过程对应一个工位,称为流水级或流水节拍,这个工位在计算机里就是可以重叠工作的功能部件,称为流水部件。这些不同的功能部件同时处理不同指令的不同子过程。流水级一个连着一个形成一个流水线,一条指令流过所有的流水级,就完成了他的任务。他通过提高各流水部件的利用率提高指令的平均执行速度。在CPU流水线中,有一些称为冲突的情形,他使得指令流中下一条指令无法在设计的时钟周期内执行,这些冲突将会降低流水线可能获得的理想性能。笔者通过在已有的CPU基础上设计和实现解决流水线冲突的2大技术,并进行仿真验证,对通用的CPU流水线的设计具有一定的参考价值。 2 基于MIPS指令集的CPU流水线结构
MIPS指令集是一种精简指令集(RISC),他的指令格式非常规整,所有的指令均为32位,而且指令操作码在固定的位置上。这种特点易于将指令代码进行拆分,使之易于进行流水线CPU的设计。
在基本的MIPS处理器中有5个流水级,其中各流水级定义与主要功能为;
龙源期刊网 http://www.qikan.com.cn
IF为计算下一条指令的地址PC,并从存储器读取这条指令;ID为对指令进行译码,从寄存器堆中取出源操作数;EX为当指令是运算类指令时执行运算,当指令是转移类指令时进行有效地址计算;MEM为从存储器存取数据;WB为将数据写回到寄存器堆。
按照这一流水线结构,本文在设计和实现中选用一种较为通用的MIPS CPU,他通过VHDL语言实现,各模块之间的关系简图如图1所示。 MIPS CPU各模块功能和流水段对应如表1所示。
在通常情况下,指令执行各阶段与时钟周期关系如表2所示,执行1条指令需要5个时钟周期,指令的平均执行时间为1个时钟周期。 3 CPU流水线中的冲突
在CPU流水线中存在3类冲突:资源冲突、数据冲突和控制冲突:
第1条ORI指令在WB阶段才能将数据写回到寄存器,而ADDI指令在ID阶段就要读取该值,通过表2可以很明显看出ADDI指令读取值的周期早于第1条ORI指令写入值,读出来的将是旧值,要得到真实的结果需要停顿2个周期的流水线。
控制冲突 流水线中的分支指令或其他改写PC的指令造成的冲突。指令序列1的BNE指令为分支指令,该序列也存在控制冲突。控制冲突造成的损失比数据冲突更大。控制冲突决定了跟分支指令有关的指令的执行顺序,即非分支指令只能在该执行的时候才能执行。 4 数据旁路技术的设计与实现
数据旁路技术是解决数据冲突问题简单有效的方法,他的基本思想是把结果直接送到需要他的功能部件,即在同一周期内,将1个结果从一个部件的输出直接送到另一个部件的输入。 基于这一技术,设计解决数据冲突问题的流程:
(1)判断在ID阶段的指令的2个操作数是否使用寄存器,如果不使用,则不存在数据冲突,如果使用,则转入(2);
(2)判断EX阶段或MEM阶段正在执行的指令会写回值的寄存器是否为ID阶段使用的寄存器,如果否或者EX阶段或MEM阶段正在执行的指令没有写回值的寄存器,则不存在数据冲突,从寄存器堆中取出源操作数;如果是,则记录该阶段,转入(3);
(3)判断所记录的阶段中的指令在该阶段是否已经产生结果,如果是,将这个结果赋给ID阶段指令的源操作数;如果否,发生数据冲突,需要停顿流水线。
正在阅读:
解决CPU流水线冲突技术的设计与实现11-12
2014心血管内科试题及答案06-08
履职能力评估知识手册 - 图文06-10
模拟电子技术期末试题10-13
英语四六级作文110分以上必背写作模板07-01
干部公示范文02-15
天气冷了关心的话02-10
党代会会议工作报告05-22
公务员申论热点:加强农村平安建设的措施05-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 流水线
- 冲突
- 实现
- 解决
- 设计
- 技术
- CPU
- 初级教程-机器人搬运打螺丝工作站教材 - 图文
- 营改增试题- 河北省工业和信息化厅
- 四川省宜宾市南溪县第五中学2017届高三语文一轮复习快练十二
- 统筹法计算工程量的方法(三线一面)
- 绵阳市住宅小区物业服务成本有关情况调查报告
- 阿拉善土地荒漠化现状、原因及对策分析
- 2011年3月26日全国计算机等级考试二级Access 样题及答案(18)
- 状语从句翻译练习
- 8086CPU指令系统
- 日记大全之浅谈我国对个人信息的法律保护
- 企业文化周华5D企业文化
- 技术经济学复习题答案 3.28
- 中国农业大学向日葵爱心社介绍
- ISO9000-2008版程序文件
- 6%灰土施工技术交底
- 实验2 操作系统的命令口和图形口
- 能源转换效率讲义
- 给家长的一封信 2
- 化验员基础知识培训 -
- 实验内容总汇