指令集并行动态分支预测与推断执行
更新时间:2023-08-18 23:09:01 阅读量: 资格考试认证 文档下载
- 指令集并行方式推荐度:
- 相关推荐
指令集并行动态分支预测与推断执行
指令集并行——动态分支预测与推断执行
实验目的:
1) 了解动态分支预测的基本技术 2) 了解推断执行的基本过程 3) 比较各种分支预测技术的性能
实验环境:
linux平台下SimpleScalar仿真器,详见SimpleScalar使用说明
实验原理:SimpleScalar分支预测的实现方法。
流程:先进行分支方向探测,即是否采取分支(当然跳转指令和调用返回指令不用作这一步),接着是生成分支地址,对于调返指令,直接在RAS上作相关操作,普通分支指令则要利用BTB来进行地址探测,命中则生成地址。然后对两步综合,地址命中且分支预测为采取,返回分支目标地址;地址不命中且分支预测为采取,返回1;只要分支预测为不采取,就返回0。重点分析针对条件分支指令的方向探测方法,主要有6种,三种静态:taken,not tanken,perfect;三种动态:bimod,2-level,comb。静态的方法顾名思义,只是perfect这种,按它的原薏是不预测,直接把真正采取的下一条指令填入npc,而且它确实不需要调用pred-lookup函数,但据有人说,这种方法有时性能不如bimod,另外在sim-pred中好象也没加入这种方法,只是在sim-outorder中有实现。对于三种动态方法,分别说明如下:bimod是最普通的,即采用一个2bit宽的分支方向预测表,按分支地址查找,2bit分支预测器的判断和更新与课本上的一致。这种方式只有一个参数,就是分支预测表的长度。2-level要复杂一些,它采用两级表格式,第一级是分支历史表,存放各组分支历史寄存器的值,第二级是全局/局部分支模式表,(全局或局部应是由表长相对于分支历史寄存器的长决定),它存放各分支历史模式的2bit预测器。在判断时用当前分支指令对应的历史寄存器值去索引二级表得到相应预测器值。更新时,把当前分支的方向左移入历史寄存器,并对使用过的2bit预测器作更新。它有四个参数,前三个是一级表长度,二级表长度,历史寄存器宽度,最后一个是异或标志。如果为1,则将历史寄存器的值与当前分支指令地址异或,用其结果再去索引二级模式表。而comb方式则组合了以上两种方法,它再加入了一个meta表,这个表类似bimod的预测表,只是它预测的是采取bimod还是2-level,也采用2-bit预测器,被采取的预测方法被定为第一方向,未被采取的定为第二方向。更新时,如果第一方向与第二方向不同则更新meta表,否则只更新两种方法各自的表即可。它共有三组参数,前两组即bimod和two-level的参数,第三组是关于meta表长度的说明。至于BTB的更新与cache的更新方式相同。
实验步骤:
1) 在Windows环境下运行VMware虚拟机。 2) 在VMware虚拟机上运行Linux的命令行模式。
3) 进入SimpleScalar目录(/home/fwang/tixijiegou/simplesim-3.0/) 。
4) 用sim-pred仿真器运行提供的三个benchmark程序,分别采用五种不同的分支预测方
法,即bimod方式,two-level adaptive方式,always taken方式,always not taken方式,comb方式,并对前两种分别使用下表中两种参数配置:分析仿真器输出的关于分支预
INFOLAB
1 共 3 页
指令集并行动态分支预测与推断执行
测的统计参数集,填写表格,并对各仿真器的能力给出相应说明。
说明:以上表格与参数配置仅供参考,实验时可略做调整。
5) 命令格式为: ./sim-bpred {-option} executable_benchmark -argument
其中executable_benchmark放在tixijiegou/benchmark/目录下面, -argument 输入集在tixijiegou/input下面。
三个benchmark程序的具体输入情况举例如下:
GCC :../benchmark/cc1_base.pisa_little ../input/smred.c-iterate.i –o ../input/ smred.c-iterate.c
Mcf :../benchmark/mcf_base.pisa_little ../input/smred.in Gzip:../benchmark/ gzip_peak.pisa.little ../input/mdred.log 1
INFOLAB
2 共 3 页
指令集并行动态分支预测与推断执行
实验报告:包括在仿真器上运行的三个程序的结果统计数据表格,以及对各种分支预测方法的对比分
析。
备注:1)仿真器的参数输入可以采用配置文件的方法,即修改提供的cfgfile文件中相应参数,并把
这个文件作为仿真器的-config参数,省去输入长指令的麻烦。
2) 给仿真器的-redir:sim参数填一个文件,它能够记录所有输出的统计信息,供分析结果所
INFOLAB 用。
3) 统计参数的意义详见SimpleScalar使用说明。
3 共 3 页
正在阅读:
指令集并行动态分支预测与推断执行08-18
高中生物必修一、必修二、必修三知识点总结(人教版) - 图文10-02
RADO雷达True真系列R27351102男士机械腕表04-14
各省军区独立师历史沿革03-10
浅谈园路铺装的形式及其装饰作用08-06
在线测试题试题库及解答(第四章)影响线06-07
国考申论冲刺班讲义4--文化产业05-15
那一次我成功了作文04-01
财产保险合同(律师版)02-27
- 梳理《史记》素材,为作文添彩
- 2012呼和浩特驾照模拟考试B2车型试题
- 关于全面推进施工现场标准化管理实施的通知(红头文件)
- 江西省房屋建筑和市政基础设施工程施工招标文件范本
- 律师与公证制度第2阶段练习题
- 2019-2020年最新人教版PEP初三英语九年级上册精编单元练习unit6训练测试卷内含听力文件及听力原文
- 小升初数学模拟试卷(十四) 北京版 Word版,含答案
- 认识创新思维特点 探讨创新教育方法-精选教育文档
- 00266 自考 社会心理学一(复习题大全)
- 多媒体在语文教学中的运用效果
- 派出所派出所教导员述职报告
- 低压电工作业考试B
- 18秋福建师范大学《管理心理学》在线作业一4
- 中国铝业公司职工违规违纪处分暂行规定
- 13建筑力学复习题(答案)
- 2008年新密市师德征文获奖名单 - 图文
- 保安员培训考试题库(附答案)
- 银川市贺兰一中一模试卷
- 2011—2017年新课标全国卷2文科数学试题分类汇编 - 1.集合
- 湖北省襄阳市第五中学届高三生物五月模拟考试试题一
- 并行
- 推断
- 分支
- 指令
- 执行
- 预测
- 动态
- 初中九年级(初三)历史中考总复习计划含教学进度表
- 电气控制技术与PLC (复习题目 和 答案
- TaKaRa MiniBEST Agarose Gel DNA Extraction Kit Ver.4.0(CodeNo_9762 350元)
- 雷达测速的原理与防范
- 新浙教版七年级上册数学6.9直线的相交(2)
- 统筹城乡背景下的重庆城镇化道路研究
- 城市生活垃圾可生物降解有机质成分的测定
- 程序设计课程教学大纲
- 《医用化学》试题及答案
- 课纲下载-大宗商品价格趋势分析与战略采购
- 单井采油动态成本核算的探索与实践
- 5高等学校学生行为准则
- word排版技巧及报纸版面制作
- 生物化学课程论文题目及写作要求
- 十六.民航、铁路、航运、交通doc
- 葬经原文及译文全解
- 基于java的教务信息管理系统的设计与开发本科毕业论文
- Q690D宽厚板库存
- 【写作宝典】小学作文34个要点
- 行星齿轮 介绍及原理