Commit
提交
Commit提交是流水线的最后一级,在这一级,要把指令们造成的数据变化反映到寄存器/内存上来。和为了顺序提交到寄存器而需要ROB重排序缓冲区的存在一样,在乱序架构中,多个打乱了顺序的Load操作和Store操作也需要按顺序提交到内存,MOB(Memory Reorder Buffer,内存重排序缓冲区)就是起到这样一个作用的重排序缓冲区,ROB和MOB一起形成了一个分布式的Order Buffer结构,有些处理器上只存在ROB,兼备了MOB的功能。
在龙芯2上,ROB和MOB就是架构图上最上方的部分,龙芯2的ROB叫做ROQ(ReOrder Queue,重排序队列),最多可以同时保存32条指令,每时钟周期可以接受4条指令。龙芯2的MOB没有单独的名称,它的容量是16条目。
此外,龙芯2还有一个BRQ(Branch Reorder Queue,分支重排序队列)来管理分支跳转被取消后的重排序。