[发明专利]一种gene乱序发射处理器内核无效
申请号: | 201310076580.8 | 申请日: | 2013-03-11 |
公开(公告)号: | CN103207776A | 公开(公告)日: | 2013-07-17 |
发明(设计)人: | 沈海斌;张阿飞 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 杜军 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gene 发射 处理器 内核 | ||
技术领域
本发明涉及一种处理器内核,尤其是一种gene乱序发射处理器内核。
背景技术
CDC6600中采用的记分牌机制在满足数据相关的情况下允许指令乱序执行。处理器中的每条指令都要通过记分牌,并在这里检查数据相关性,记分牌通过检测其中每条指令的执行情况决定什么时候某条指令可以读操作数和执行。记分牌中冲突已经解除的指令可以乱序发射,并进入执行级。同时,记分牌还控制指令写回目的寄存器的操作,处理器当中指令的所有冲突检测与解除工作都依赖于记分牌。每条指令经过四个阶段:
发射:如果指令所使用的功能部件正在空闲,并且没有与其它正在活动的指令抢用同一目的寄存器,记分牌发射该指令,并记分牌中该指令的状态,以用于其它待发射指令的冲突检测。通过保证发射指令不与正在活动的指令抢用同一目的寄存器,解决了写写冲突。因此,在发射阶段,结构冲突和数据上的写写冲突被解决。
读操作数:记分牌监视源操作数的可用情况,如果没有已经发射的活动指令要写该操作数或者存放该操作数的寄存器此刻正在被某个功能部件写入,则操作数可用,可以执行读操作数的工作。通过这种方法,解决了写读冲突。
执行:指操作数进入功能部件进行执行。
写回:一旦指令执行完成,就检测是否有读写冲突,如果没有读写冲突则指令写回。
记分牌在处理器当中起到了检测指令间的相关性,当发现相关性的时候采用了等待的方式,这很大程度上限制了指令间的并行度。实际上,处理器指令之间的读写相关和写写相关是由于寄存器别名造成的,不是数据流的限制,采用优化的体系结构,可以消除这些相关,使得指令的并行度只受写读相关的限制,达到数据流极限。寄存器重命名、保留站和重定序缓存等技术解决了这个问题,但寄存器重命名技术需要大量的物理寄存器;对于保留站技术,分布式保留站需要为每个功能单元建立保留站队列,保留站的数量太少,则会因保留站不够用造成停顿,太多则会造成大量的硬件上的浪费;重定序缓存技术则除了需要大量的寄存器来保存指令状态外还需要相当复杂的控制机制。这些技术对于最大限度开发并行度,设计高性能的处理器具有很大作用,但对于多核设计当中的单个核心的设计显得过于复杂,其硬件开销也是难以承受的。因此,最好能有一种性能和开销的折衷,在硬件复杂度不过多增加的情况下最大限度地开发并行度。
发明内容
本发明的目的是提供一种指令最大限度开发指令并行度,而硬件开销和复杂度又在可接受的范围内的一种处理器乱序发射技术,其性能比记分牌技术好,而硬件开销和复杂性则比寄存器重命名、保留站和重定序缓存小。
本发明提出了一种新的乱序发射机制,适用于采用流水线技术的多核处理器中的单个核心的设计,处理中指令乱序发射,在条件允许的情况下乱序写回,最大限度地提高了指令的并行度。
本发明提出的结构包含以下两个模块:译码控制模块和写回控制模块,对应于处理器流水线当中的译码级和写回级。
所述的译码控制模块包含:指令流控制模块、指令发射控制模块、数据旁路控制模块、寄存器访问模块、写回允许模块、指令发送模块。
所述的指令流控制模块负责接收要发射的M指令,记录指令信息、检测指令的执行情况,以供其它模块使用。根据发射允许信号和当前M条指令的发射情况来决定哪条指令可以发射,并将该信号送出,供其它模块使用。根据写回控制模块送来的写回完成信号,删除已经写回完成的指令,读入新的指令。所述的M是大于1的自然数。
所述的指令发射模块根据指令流控制模块当中的指令信息和数据旁路完成信号,决定M条指令当中哪条指令的冲突已经解决,并产生发射允许的信号,供其它模块使用。
所述的数据旁路控制模块接收写回控制模块送回的旁路数据,重定向到需要该数据的指令,然后产生指示该数据旁路完成的信号,以供其它模块使用。
所述的寄存器访问模块根据指令流控制模块的指令信息进行寄存器的访问,并将访问的结果送出,供其它模块使用。
所述的写回允许模块根据指令流控制模块当中的信息,来决定每条指令要更新的寄存器是否已经读取完成,当寄存器读取完成之后,送出写回允许信号,表明该条指令的数据可以更新寄存器,并将该信号送出,供其它模块使用。
所述的指令发送模块根据哪条指令可以发射的信息从M条指令中选出要发射的指令,从寄存器文件访存结果和旁路回来的数据当中选择出该条指令的最新操作数,并将要发射的指令和指令的最新操作数送出。
所述的写回控制模块包括:写回结果寄存模块、写回输出模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310076580.8/2.html,转载请声明来源钻瓜专利网。