冒险 (计算机系统结构)

✍ dations ◷ 2025-07-03 15:49:03 #冒险 (计算机系统结构)

冒险(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)。

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

避免控制风险的办法:

相关

  • InChI国际化合物标识(InChI,英语:International Chemical Identifier)是由国际纯粹与应用化学联合会和国家标准技术研究所联合制定的,用以唯一标识化合物IUPAC名称的字符串。国际化合
  • 伯力协定伯力会议议定书,是中国军阀张学良和苏联政府于1929年12月22日签订于苏联伯力的一款议定书。该议定书的签订标志着中东路事件告一段落,但议定书本身从未能得到中华民国国民政府
  • 迪米特里奥斯·特里切普鲁斯—肝细胞性肝癌的多因素病理,重点乙型肝炎、丙型肝炎、吸烟、酒精摄入的交互作用 雅典科学院 (1997-2014) 卡罗林斯卡学院 (1998-2014) 迪米特里奥斯·特里切普鲁斯(Dimitrios
  • 卢西亚·波普卢西亚·波普(Lucia Popp,1939年11月12日-1993年11月16日),斯洛伐克女高音歌剧唱家,是20世纪后半页最受欢迎的花腔女高音之一,以饰演莫札特笔下《魔笛》中的夜后(西班牙语:La Reina d
  • 汤原王汤原王(日语:湯原王/ゆはらおう/ゆはらのおおきみ ,?-?)是日本奈良时代的王(日语:王 (皇族))、歌人,父亲是天智天皇之子志贵皇子。汤原王虽然是天智天皇之孙,但是霍各种史书上均没有其做
  • 纳骚·威·西尼尔纳骚·威·西尼尔(英语:Nassau William Senior,1790年-1864年),英国经济学家之一。早年曾担任律师,后供职于牛津大学及英国皇家委员会。由于其职业关系,他与英国中产阶层来往密切,同
  • 北扑翅䴕北扑翅䴕(学名:)是扑翅䴕属下的一种中型啄木鸟,分布于北美洲大部和中美洲部分地区、古巴及开曼群岛。这是一种在分布地区常见的鸟类,其俗称有上百种。其下有十个亚种。指名亚种(英
  • 2009年飓风里克飓风里克(英语:Hurricane Rick)是有纪录以来第三强烈的太平洋飓风。里克于2009年10月15日在墨西哥以南海域发展而成,然后进入了一片有利于爆发性增强的区域,令其在成为热带低气压后24小时内就达到了飓风强度。10月16日下午,系统中开始有风眼形成,并且形成后又进入了第二轮爆发性增强期。到了10月17日下午,风暴已经达到萨菲尔-辛普森飓风等级的五级强度,并在几小时后达到最大风速每小时290公里,最低气压906毫巴(百帕,26.75英寸汞柱)的最高强度。成为有纪录以来第三强烈的太平洋飓风。保持最
  • 安德烈·维塔利耶维奇·涅利多夫安德烈·维塔利耶维奇·涅利多夫(俄语:Андрей Витальевич Нелидов,1957年6月12日-),俄罗斯政治人物,前卡累利阿共和国首脑。1957年生于列宁格勒。1985年毕业于列宁格勒水运工程学院工程经济学系。1996年至1999年,担任列宁格勒州副州长兼木材工业委员会主席。2001年当选列宁格勒州议会议员。2010年7月1日,在谢尔盖·卡塔南多夫辞去卡累利阿共和国首脑职务后,他被任命为代理首脑。21日任首脑。2012年5月辞职。2013年,他成为基日国立历史文化与建筑露天博物馆馆长。2
  • 孟钺孟钺(1924年-),北京人,中华人民共和国政治人物、外交官。1939年加入中国共产党。1975年,接替赵禁,担任中华人民共和国驻保加利亚大使。1980年,由安致远接任。