流水线中数据相关的理解(RAW、WAR和WAW)
计算机组成原理一书中指出流水线中有三种数据相关:写后读(RAW)相关、读后写(WAR)相关、写后写(WAW)相关。
那么这里该怎么理解这个A(after)呢?比如说第一条指令中读取了X,第二条指令中要写X,本来应该先读再写,但是由于流水线的存在,发生了第二条指令写完后第一条才读的情形,也就是发生了先写后读,称之为读后写(WAR)相关。
这里的重点是:前后有两条指令,分为三种情况:
- 第一条指令是读操作,第二条指令是写操作,那么只可能发生读后写(WAR)相关
- 第一条指令是写操作,第二条指令是读操作,那么只可能发生写后读(RAW)相关
- 第一条指令是写操作,第二条指令也是写操作,那么只可能发生写后写(WAW)相关
举三个例子:
- LDA R1, A ;M(A)->R1,M(A)是存储单元
ADD R2, R1 ;(R2)+(R1)->R2
分析:第一条指令向R1中写入了新值,第二条指令读取了R1中的值,先写后读,写后读(RAW)相关。 - ADD R3, R4 ;(R3)+(R4)->R3
MUL R4, R5 ;(R4)*(R5)->R4
分析:第一条指令读取了R4中的内容,第二条指令向R4中写入了新值,先读后写,读后写(WAR)相关。 - LDA R6, B ;M(B)->R6,M(B)是存储单元
MUL R6, R7 ;(R6)*(R7)->R6
分析:第一条指令向R6中写入了新值,第二条指令也向R6中写入了新值,先写后写,写后写(WAW)相关。
流水线中数据相关的理解(RAW、WAR和WAW)相关推荐
- 数据库中数据长度(理解)和几种int数据类型的区别
MySQL数据库中几种int数据类型的区别 整数类型 整数类型在这里显示的宽度和数据类型的取值范围是没有任何关系的,这里的宽度指的是你数据显示的最大的宽度个数.如果插入的长度大于你所显示的值,只要该值 ...
- 自己动手写CPU(2)流水线数据相关问题
自己动手写CPU(2)流水线数据相关问题 问题定义 流水线中经常有一些被称为"相关"的情况发生,它使得指令序列中下一条指令无法按照设计的时钟周期执行,这些"相关" ...
- 自己动手写CPU之第五阶段(1)——流水线数据相关问题
将陆续上传本人写的新书<自己动手写CPU>(尚未出版),今天是第15篇,我尽量每周四篇 上一章建立了原始的OpenMIPS五级流水线结构,可是仅仅实现了一条ori指令,从本章開始,将逐步完 ...
- verilog实现多周期处理器之——(三)数据相关问题及其解决
本文于自己动手写CPU之第五阶段--流水线数据相关问题 "相关"问题 流水线中常常有一些被称为"相关"的情况发生,它使得指令序列中下一条指令无法依照设计的时钟周 ...
- CPU-流水线的数据相关问题
5.1 流水线数据相关问题 我们在第4章实现的五级流水线结构非常easy.假设依照"简单即美(Simple is Beautiful)的标准,那么我们的流水线是美的,可是不完美,由于现实往往 ...
- 大数据相关从业_如何在组织中以数据从业者的身份闪耀
大数据相关从业 Build bridges, keep the maths under your hat and focus on serving. 架起桥梁,将数学放在脑海中,并专注于服务. 通过协 ...
- 关于大数据相关的问答汇总,每天持续更新中哦~
NO.1 想要学好大数据需掌握哪些技术? 答:1,Java编程技术 Java编程技术是大数据学习的基础,Java是一种强类型语言,拥有极高的跨平台能力,可以编写桌面应用程序.Web应用程序.分布式系统 ...
- 关于大数据相关的问答汇总,持续更新中~
NO.1 想要学好大数据需掌握哪些技术? 答:1,Java编程技术 Java编程技术是大数据学习的基础,Java是一种强类型语言,拥有极高的跨平台能力,可以编写桌面应用程序.Web应用程序.分布式系统 ...
- 第四期:有关大数据相关问答汇总,持续更新中~
NO.1 大数据为什么这么"火"?为什么那么多人转型学大数据? 回答一:身为数据极客,在2017年应该能感觉很幸福. 去年,我们曾经问过大家"大数据还是个值得关注的大事吗 ...
- python运用在大数据中精准生活_在大数据中精准生活阅读理解答案
在大数据中精准生活阅读理解答案 ①万物皆互联,无处不计算.因为互联网.手机.无线传感器的普及,实时监测.远程协作.SOHO工作.数据管理已成为平常之事,信息像水电一样通过网络供应汩汩传输,计算机上有形 ...
最新文章
- spring cloud (三) 路由 zuul
- 记一次phpstudy重启后Apache无法启动
- jar java classpath_Java ClassLoader和ClassPath
- 解决python中csv文件中文写入问题
- fastjson版本_Fastjson高危漏洞风险提示
- [Noip2007]Core树网的核
- js获取本地时间与网络时间
- 修改typora主题的字体
- Druid连接池原理
- matlab绘图实验六,matlab 实验一 特殊函数与图形
- Struts2 常用标签使用(三十九)
- Android写入txt文件
- YDOOK: ANSYS Maxwell 19 教程14:Maxwell 2D 静电场怎样设置激励源 静电场有哪些激励源
- [收藏]三国时代的十大遗言
- paillier同态加密
- 用OSM数据画地图(含代码)
- 视频抓图(有硬编码解码)一获得解码后数据
- GCN图卷积神经网络-中文文本分类 pytorch
- 怎么添加自己喜欢的歌曲作为苹果手机铃声
- 笔记本计算机在桌面显示器,能把笔记本电脑屏幕投到显示器上吗