Tomasulo算法

✍ dations ◷ 2024-12-23 11:45:37 #算法

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

相关

  • CoS硫化钴是硫钴二元化合物组成的混合物,化学式可以看作CoS。它由硫化钠和Co2+盐溶液反应,沉淀得到的CoS组成为Co(SH,OH)2,放置后该非晶态沉淀转变为晶态的CoxS(x<1)和Co9S8的混合物
  • 印度快报《印度快报》(英语:The Indian Express) ,是印度一份英语日报,始创于1933年,在印度九个主要城市(那格浦尔、德里、孟买、加尔各答、浦那、卢迪亚纳、昌迪加尔、勒克瑙和艾哈迈达巴
  • 氢甲酰化反应氢甲酰化反应也称羰基合成,是工业上用烯烃与氢气及一氧化碳在高压(10-100atm)加热(40-200°C)和过渡金属催化下反应制备醛类的方法。反应的总体结果是醛基和氢分别加到烯烃双键的
  • 巨乳巨乳又称豪乳、爆乳、大奶、巨奶、大波、波霸、海咪咪、大咪咪,用来形容拥有巨大的乳房的女性。对于乳房或罩杯必须要丰满到什么程度才能称之为巨乳,并没有一个绝对的定义。但
  • 缓冲区缓冲区,又称中立区、中立地带等,指的是位于两个或两个以上地区(通常是国家,但不一定是国家)之间的地域性区域。根据缓冲区的类型,它可以用来分隔或连接这些地区。缓冲区的一般类
  • 教育改革教育体制改革是一种通常由政府主导,以提升教学水平为目的,通过改变教育方式、管理方式、学校和政府有关部门行政设置及划分方式的一种社会进步。
  • 马瑟·巴纽马瑟·巴纽(法语:Marcel Pagnol,又译马塞尔·帕尼奥尔,1895年2月28日-1974年4月18日),法国剧作家、小说家、电影导演。1895年生于法国南部的奥巴尼市。父亲乔瑟夫·巴纽(Joseph Pagn
  • 神奇四侠系列电影漫威漫画创作的虚构超级英雄组合神奇四侠自诞生以来已经在四部电影中出现过,这些电影均以4位主角为核心,分别是里德·理查斯、苏珊·斯通、本·格里姆和强尼·斯通,主要讲述的
  • 丽莉·柯林斯莉莉·简·柯林斯(英语:Lily Jane Collins,1989年3月18日-),英国及美国双重国籍女演员、作家兼电视主持。代表作有《弱点》、《在劫难逃》与《白雪公主之魔镜魔镜》。她亦在卡珊卓
  • 威克洛山脉国家公园威克洛山脉国家公园(英语:Wicklow Mountains National Park,爱尔兰语:Páirc Náisiúnta Sléibhte Chill Mhantáin)是爱尔兰共和国的一处国家公园,面积204.8-平方千米(50,600-英