Tomasulo算法

✍ dations ◷ 2025-02-23 07:38:44 #算法

Tomasulo算法(托马苏洛算法)是IBM的Robert Tomasulo在1967年研发出来的一种用来改善处理器乱序执行的指令级并行性的硬件算法。

在处理器中,先后执行的指令之间经常具有相关性(例如后一条指令用到前一条指令向寄存器写入的结果),因此早期简单的处理器使后续指令停顿,直到其所需的资源已经由前序指令准备就绪。Tomasulo算法则通过动态调度的方式,在不影响结果正确性的前提下,重新排列指令实际执行的顺序(乱序执行),提高时间利用效率。IBM System/360 Model 91处理器的浮点运算器中率先使用了这种算法。:92

该算法与之前同样用于实现指令流水线动态调度的计分板不同在于它使用了寄存器重命名机制。指令之间具有数据相关性(例如后条指令的源寄存器恰好是前条指令要写入的目标寄存器),进行动态调度时必须避免三类冒险:写后读(Read-after-Write, RAW)、写后写(Write-after-Write, WAW)、读后写(Write-after-Read, WAR)。:90:319-321第一种冒险也被称为真数据相关(true data dependence),而后两种冒险则并没有那么致命,它们可以由寄存器重命名来予以解决。:321-322Tomasulo算法使用了一个共享数据总线(common data bus, CDB)将已计算出的值广播给所有需要这个值作为指令源操作数的保留站。该算法尽可能降低了使用计分板技术导致的流水线停顿,从而改善了并行计算的效率。

在指令的发射(issue)阶段,如果操作数和保留站都准备就绪,那么指令就可以直接发射并执行。如果操作数未就绪,则进入保留站的指令会跟踪即将产生这个所需操作数的那个功能单元。如果连可用的保留站功能单元都已经不够用,那么该指令必须被停顿。为了化解读后写(WAR)和写后写(WAW)冲突,需要在该阶段进行指令的寄存器重命名。从指令队列中取出下一条指令,如果其所用到的操作数目前位于寄存器中,那么如果与指令匹配的功能单元(这类处理器通常具有多个功能单元以发挥指令级并行的优势)当前可用,则发射该指令;否则,由于没有可用的功能单元,指令被停顿,直到保留站或缓存可用。尽管执行时可能并未按照指令代码的先后顺序,但是它们在发射过程还是按照原先的顺序。这是为了确保指令顺序执行时的一些现象,例如处理器异常,能够以顺序执行时的同样顺序出现。:90-91下一个阶段为执行阶段。在该阶段,指令对应的操作被执行。执行前需要保证所有操作数可用,同时写后读(RAW)冲突已经被化解。系统通过计算有效地址来避免存储区的冲突,从而保证程序的正确性。最后的阶段为写结果阶段,算术逻辑单元(ALU)的计算结果被写回到寄存器,以及任何正在等待该结果的保留站中,如果是存储(store)指令,则写回到存储器中。

相关

  • 头孢他啶头孢他啶是第三代的头孢菌素抗生素。与其他第三代的先锋霉素相似,有着较广泛的反应对抗革兰氏阳性菌及革兰氏阴性菌。不同的是,它能有效对抗绿脓杆菌,却对革兰氏阳性菌的抗力较
  • 造br /山br /纪造山纪(Orosirian,符号PP3)是地质时代中的一个纪,开始于同位素年龄20亿5000万年前,结束于18亿年前。造山纪期间蓝藻、细菌繁盛。造山纪属于前寒武纪元古宙古元古代;造山纪的上一纪
  • 地板地板原指铺在地面的木板、地砖或塑胶板,因翻译名词后泛指地面、底部、基底等。地板可以指山洞泥的表面,或采用现代技术的多层次表面。地板可能是石,木,竹,金属,或任何其他可容纳一
  • 张景岳张介宾(1563年-1642年),字景岳,又字会卿,别号通一子,会稽山阴(今浙江绍兴)人,明末医学大家。张介宾祖籍四川绵竹。明朝初年,张家因军功而世袭绍兴卫指挥使,“食禄千户” ,故移居会稽城东
  • 大椎龙属大椎龙属(属名:)又名巨椎龙,属名在希腊文意为“巨大的脊椎”。大椎龙是基础蜥脚形亚目的一属,生存于侏罗纪早期的(赫塘阶(英语:Hettangian)到普林斯巴赫阶(英语:Pliensbachian)),约2亿年前
  • 科布登主义科布登主义是一个经济理论,以英国政治家和经济学家理查德·科布登的名字命名,主要论述自由市场和自由贸易。虽然科布登主义现在没有被广泛应用,但它传统上非常关注国际自由贸易
  • 长绍安庆知府长绍(1869年-?),监察御史、鸿胪寺少卿德本长子,母富察氏。同治八年正月初九日午时生,光绪十七年中举,十八年进士,授翰林院庶吉士,二十年散馆任工部候补主事,三十二年五月补翰
  • 细川俊之细川俊之(1940年12月15日-2011年1月14日)是福冈县北九州市出身的日本演员。山口县立丰浦高等学校毕业,学习院大学政经学部肄业。曾与女演员小川真由美结婚,婚姻维持六年,1973年离
  • 中铁八局中铁八局集团有限公司,注册地位于成都,隶属于中国铁路工程总公司。业务性质为铁路、公路、市政。2017年,公司总资产347.14亿元,净资产52.34亿元,净利润1.59亿元。
  • 平行语料对两种语言的篇章、段落、语句进行对齐处理后得到的语言库为平行语料库,相应地平行语料指的是对应的两种语言的语料