冒险 (计算机系统结构)

✍ dations ◷ 2025-08-23 00:34:47 #冒险 (计算机系统结构)

冒险(hazard)又称作危障或险象,是指在计算机CPU的微体系结构中,指令流水线乱序执行中的一些问题可能会导致得到不正确的计算结果。有3类典型的冒险:

有几种方法用于应对这些风险,如流水线停顿(流水线气泡),寄存器直通等待。

指令在一个流水线处理器中的执行被分为若干阶段,因此在一个时刻有多条指令处于流水线的不同阶段上被处理。如取操作数、执行等等。Intel的Pentium就是处理器流水线。有的处理器进一步是指令乱序执行,如Intel的Pentium Pro开创的Intel P6微体系结构。指令的乱序执行就会引入一些危险的情况。

指令乱序执行时,可能会发生读取数据与写入数据之间的时序与空间的相关性,成为数据冒险。如果不加以处理,可能会导致竞态条件。 有3种可能的数据冒险:

以下为先写后读(RAW)的示例:

i1. R2 <- R1 + R3
i2. R4 <- R2 + R3

第一个指令是计算一个值,并将其储存在R2,而第二个指令是使用这个值计算结果并储存在R4,但是在我们拿出第二步的操作数时,第一步的结果还未被储存。因此我们具有一种数据相关性。我们可以说那有 一种数据依赖性对于指令i2,他依赖于指令i1的完成。

结构冒险是指多条指令同时要访问处理器一处硬件。典型例子是一个存储单元被一条指令取操作数同时另一条指令要写入结果。

又称分支冒险,指令流水时,处理器遇到分支指令,不能在流水开始阶段就判断出分支结果。

流水线汽泡,也称作流水线停顿,可以同时解决上述3种冒险。指令译码时如果控制器发现可能存在冒险,就插入NOP(No Operation)指令。这样在有风险的指令进入流水线时,上一条指令已经在流水线中经过了充分多的周期,从而化解了冒险。如果插入的NOP的数量等于流水线的级数,那么处理器就排空了整个流水线。这被称为冲刷流水线(flushing the pipeline)。

有几种方案与算法解决数据冒险。

避免控制风险的办法:

相关

  • 乱世佳人《乱世佳人》(英语:Gone with the Wind),是一部根据小说家玛格丽特·米切尔的英文同名小说《飘》(Gone with the Wind)改编的美国电影。男女主角分别由克拉克·盖博(Clark Gable)和
  • X射线荧光光谱仪X射线荧光光谱仪(X-ray Fluorescence Spectrometer,简称:XRF光谱仪),是一种快速的、非破坏式的物质测量方法。X射线荧光(X-ray fluorescence,XRF)是用高能量X射线或伽玛射线轰击材料
  • 霍尔茨布林克出版集团霍尔茨布林克出版集团(德语:Verlagsgruppe Georg von Holtzbrinck),于1948年成立,总部设于斯图加特,是德国著名的出版集团,拥有麦克米伦出版公司100%股权,是德国时代周报(英语:Die Zei
  • 䄙嫔朴氏䄙嫔朴氏(명빈박씨)(?-1703年),朝鲜肃宗的后宫嫔御,本贯为密阳,父亲为朴孝建。朴氏为宫女出身,尽管她很早便受宠于肃宗,不过直到肃宗24年才因怀孕而由尚宫晋升为从四品淑媛。隔年六月十
  • 杜瓦尔县 (佛罗里达州)杜瓦尔县(英语:Duval County)是位于美国佛罗里达州东北部的一个县。面积2,378平方公里。根据美国人口调查局2000年统计,共有人口778,879人。县治杰克逊维尔。2008年美国人口调查
  • 秘境里斯本《秘境里斯本》(葡萄牙语:Mistérios de Lisboa)是一出2010年的葡萄牙(英语:Cinema of Portugal)古装剧情长片,由劳尔·鲁伊斯导演,改编自卡米洛·卡斯特罗·布朗柯(英语:Camilo Caste
  • 湖南工业大学坐标:27°49′29″N 113°07′35″E / 27.824807°N 113.126507°E / 27.824807; 113.126507湖南工业大学(英语:Hunan University of Technology)是中华人民共和国国家市场监督
  • 加藤繁秋加藤繁秋(日语:加藤 繁秋/かとう しげあき  */?,1947年6月11日-2022年8月17日),日本政治人物,日本社会党党员。曾任众议院议员。香川县丸龟市出身。曾在高松邮局工作,历任日本社会主义青年同盟中央部副委员长,日本社会党香川县政策审议会事务局长,日本社会党香川县组织部长。1990年当选众议院议员。2022年8月17日因胰脏癌逝世。
  • 消息传递 (软件)在计算机科学中,消息传递(英语:Message passing)是一种通信的形式,在并发计算、并行计算、面向对象编程与进程间通信中使用。在这种模式中,行程或对象以发送及接收消息的方式来达成同步。不同于传统程序设计通过名字直接调用(invoking)一个进程、子例程或者函数,消息传递直接发送消息给一个进程,依赖进程或基础框架来调用实际执行的代码。 可分为同步方式与异步方式。消息传递是一种通信范型,在这种模型中,由一个传信者,将消息(messages)送给一个,或多个收信者。消息的形式,根据操作系统与编程语言
  • 洛蕾塔·迪瓦恩洛蕾塔·迪瓦恩(英语:Loretta Devine,1949年8月21日-),女,美国演员。曾获得黄金时段艾美奖剧情类最佳女客串演员。