Tomasulo算法

✍ dations ◷ 2025-10-22 16:31:11 #算法

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)指令,则写回到存储器中。

相关

  • 21人类的21号染色体是23对染色体的其中之一,正常状况下每个细胞拥有两条。此染色体是所有人类染色体中最小的一个,含有大约4700万个碱基对,占细胞内所有DNA的1.5%。21号染色体的
  • 铍中毒铍中毒(英语:Beryllium poisoning)是铍引起的中毒,分为急性铍中毒(英语:Acute beryllium poisoning)和慢性铍中毒(英语:Berylliosis)。后者主要表现为肺部病变,故又称铍肺,也有人称其为
  • 伊本·白图泰伊本·白图泰(阿拉伯语:ابن بطوطة‎、拉丁转写:ibn Baṭūṭah,1304年2月25日-1369年),全名阿布·阿布杜拉·穆罕默德·伊本·阿布杜拉·伊本·穆罕默德·伊本·伊布拉欣·
  • 弗朗索瓦·恩格勒弗朗索瓦·恩格勒(法语:François Englert,1932年11月6日-),比利时理论物理学家,在粒子物理学做出重要贡献。1964年,恩格勒和罗伯特·布绕特共同提出希格斯机制与希格斯玻色子理论。
  • 基因间区段基因间区段(英语:Intergenic region)又称基因间隔区,是指穿插在基因与基因之间的DNA序列,这些序列不生产蛋白质,在人类基因组中占了大多数。基因间区段的少数序列会影响基因的表现
  • 平坝区平坝区位于贵州省中部,隶属于安顺市。全县面积999平方公里。县城面积17.5平方公里。2014年12月国务院正式批准撤销平坝县设立安顺市平坝区。鼓楼街道、安平街道、白云镇、天
  • 2016年尼斯袭击事件2016年尼斯袭击,是2016年7月14日在法国尼斯的一场恐怖袭击事件。突尼斯裔法国人穆罕默德·拉豪杰·布哈勒蓄意驾驶一辆货车撞向在法国尼斯盎格鲁街庆祝国庆日的人群,随后又向
  • 班淑传奇 《班淑传奇》(英文:Ban Shu Legend),是于正的古装剧作品,《陆贞传奇》的姐妹篇,但未沿用演员。2014年1月19日秘密开机,开机前演员先开始学习剧中礼仪、定装和MV拍摄,同年5月2日全剧
  • 特奥巴尔德·彪姆特奥巴尔德·彪姆(或彪姆)(英语:Theobald Boehm,1794年4月9日-1881年11月25日)是德国发明家和音乐家,他完善了现代西方音乐会长笛并改进了指法系统(现称为“彪姆系统”)。他是一位巴伐
  • 中国地质学会中国地质学会是中国地质学科领域的学术组织,隶属于中国科学技术协会。中国地质学会的前身是1909年在天津成立的中国地学会。1922年2月3日,著名学者章鸿钊、翁文灏、王烈、丁文