当前位置: 首页 > 专利查询>浙江大学专利>正文

一种gene乱序发射处理器内核制造技术

技术编号:8934403 阅读:296 留言:0更新日期:2013-07-18 02:58
本发明专利技术公开了一种gene乱序发射处理器内核。本发明专利技术包括译码控制模块和写回控制模块,对应于处理器流水线当中的译码级和写回级。所述的译码控制模块包含:指令流控制模块、指令发射控制模块、数据旁路控制模块、寄存器访问模块、写回允许模块、指令发送模块。所述的写回控制模块包括:写回结果寄存模块、写回输出模块。本发明专利技术使用集总控制的译码控制模块和写回控制模块,实现了处理器指令的高效乱序发射,最大限度地开发了处理器的指令级并行度,避免了寄存器重命名技术中的数目庞大的物理寄存器,节省了保留站技术当中大量的硬件资源的消耗。

【技术实现步骤摘要】

本专利技术涉及一种处理器内核,尤其是一种gene乱序发射处理器内核
技术介绍
⑶C6600中采用的记分牌机制在满足数据相关的情况下允许指令乱序执行。处理器中的每条指令都要通过记分牌,并在这里检查数据相关性,记分牌通过检测其中每条指令的执行情况决定什么时候某条指令可以读操作数和执行。记分牌中冲突已经解除的指令可以乱序发射,并进入执行级。同时,记分牌还控制指令写回目的寄存器的操作,处理器当中指令的所有冲突检测与解除工作都依赖于记分牌。每条指令经过四个阶段: 发射:如果指令所使用的功能部件正在空闲,并且没有与其它正在活动的指令抢用同一目的寄存器,记分牌发射该指令,并记分牌中该指令的状态,以用于其它待发射指令的冲突检测。通过保证发射指令不与正在活动的指令抢用同一目的寄存器,解决了写写冲突。因此,在发射阶段,结构冲突和数据上的写写冲突被解决。读操作数:记分牌监视源操作数的可用情况,如果没有已经发射的活动指令要写该操作数或者存放该操作数的寄存器此刻正在被某个功能部件写入,则操作数可用,可以执行读操作数的工作。通过这种方法,解决了写读冲突。执行:指操作数进入功能部件进行执行。写回:一旦指令执行完成,就检测是否有读写冲突,如果没有读写冲突则指令写回。记分牌在处理器当中起到了检测指令间的相关性,当发现相关性的时候采用了等待的方式,这很大程度上限制了指令间的并行度。实际上,处理器指令之间的读写相关和写写相关是由于寄存器别名造成的,不是数据流的限制,采用优化的体系结构,可以消除这些相关,使得指令的并行度只受写读相关的限制,达到数据流极限。寄存器重命名、保留站和重定序缓存等技术解决了这个问题,但寄存器重命名技术需要大量的物理寄存器;对于保留站技术,分布式保留站需要为每个功能单元建立保留站队列,保留站的数量太少,则会因保留站不够用造成停顿,太多则会造成大量的硬件上的浪费;重定序缓存技术则除了需要大量的寄存器来保存指令状态外还需要相当复杂的控制机制。这些技术对于最大限度开发并行度,设计高性能的处理器具有很大作用,但对于多核设计当中的单个核心的设计显得过于复杂,其硬件开销也是难以承受的。因此,最好能有一种性能和开销的折衷,在硬件复杂度不过多增加的情况下最大限度地开发并行度。
技术实现思路
本专利技术的目的是提供一种指令最大限度开发指令并行度,而硬件开销和复杂度又在可接受的范围内的一种处理器乱序发射技术,其性能比记分牌技术好,而硬件开销和复杂性则比寄存器重命名、保留站和重定序缓存小。本专利技术提出了一种新的乱序发射机制,适用于采用流水线技术的多核处理器中的单个核心的设计,处理中指令乱序发射,在条件允许的情况下乱序写回,最大限度地提高了指令的并行度。本专利技术提出的结构包含以下两个模块:译码控制模块和写回控制模块,对应于处理器流水线当中的译码级和写回级。所述的译码控制模块包含:指令流控制模块、指令发射控制模块、数据旁路控制模块、寄存器访问模块、写回允许模块、指令发送模块。所述的指令流控制模块负责接收要发射的M指令,记录指令信息、检测指令的执行情况,以供其它模块使用。根据发射允许信号和当前M条指令的发射情况来决定哪条指令可以发射,并将该信号送出,供其它模块使用。根据写回控制模块送来的写回完成信号,删除已经写回完成的指令,读入新的指令。所述的M是大于I的自然数。所述的指令发射模块根据指令流控制模块当中的指令信息和数据旁路完成信号,决定M条指令当中哪条指令的冲突已经解决,并产生发射允许的信号,供其它模块使用。所述的数据旁路控制模块接收写回控制模块送回的旁路数据,重定向到需要该数据的指令,然后产生指示该数据旁路完成的信号,以供其它模块使用。所述的寄存器访问模块根据指令流控制模块的指令信息进行寄存器的访问,并将访问的结果送出,供其它模块使用。所述的写回允许模块根据指令流控制模块当中的信息,来决定每条指令要更新的寄存器是否已经读取完成,当寄存器读取完成之后,送出写回允许信号,表明该条指令的数据可以更新寄存器,并将该信号送出,供其它模块使用。所述的指令发送模块根据哪条指令可以发射的信息从M条指令中选出要发射的指令,从寄存器文件访存结果和旁路回来的数据当中选择出该条指令的最新操作数,并将要发射的指令和指令的最新操作数送出。所述的写回控制模块包括:写回结果寄存模块、写回输出模块。所述的写回结果寄存模块负责接收要写回的M条指令,并将要写回的结果、要写回的目的寄存器等信息记录下来,根据指令流控制模块送来的写回允许信号来决定哪条指令可以写回,产生写回完成信号,供其它模块使用。所述的写回输出模块根据写回结果寄存模块当中的信息将当前要写回的结果写回到寄存器当中,完成数据写回。本专利技术使用集总控制的译码控制模块和写回控制模块,实现了处理器指令的高效乱序发射,最大限度地开发了处理器的指令级并行度,避免了寄存器重命名技术中的数目庞大的物理寄存器,节省了保留站技术当中大量的硬件资源的消耗,同时,在控制的复杂度上又比重定序缓存简单,是处理器乱序发射控制结构高效经济的实现,非常适合用于多核处理器当中单个核心的设计。附图说明图1是本专利技术的系统结构 图2是译码控制模块的结构框 图3是指令流控制模块的结构 图4是指令发送模块的结构图; 图5是写回控制模块的结构框 图6是写回结果寄存模块的结构图。具体实施例方式下面结合附图对本专利技术作进一步描述。图1表明了本专利技术的结构图,结构中包含两个模块:译码控制模块和写回控制模±夹,译码控制模块相当于流水线当中的译码级,指令之间的冲突在这里得到检测和化解;写回控制模块负责指令执行结果的写回,相当于流水线当中的写回级。在两个模块之间,译码控制模块送给写回控制模块写回允许信号,控制指令执行结果的写回;而写回控制模块则将写回完成信号送给译码控制模块,控制译码控制模块当中指令信息的更新。译码控制模块的结构图如图2所示,其中指令流控制模块接收流入指令,它是一个类似于移位寄存器的结构,记录并存储了流入指令的信息,并将指令信息提供给指令发射控制模块、数据旁路模块、寄存器访问模块、指令发送模块和写回允许模块,它要根据指令发射控制模块送来的发射允许信号、写回控制模块送来的写回完成信号完成指令条目的更新,当一条指令发射完成之后,当前的指令条目就被删除,以便流入新的指令。数据旁路模块接收传来的旁路数据,并根据来自指令流控制模块的指令信息产生数据旁路完成信号和旁路数据有效信号,数据旁路完成信号送到指令发射控制模块,作为指令发射的条件之一,旁路数据有效信号则送到指令发送模块,用于决定使用旁路数据还是寄存器读出数据作为真正的操作数。指令发射控制模块根据来自指令控制模块的指令信息、来自数据旁路模块的数据旁路信息判断指令间的冲突,产生指令发射允许信号。寄存器访问模块根据指令信息进行寄存器访问,读出相应寄存器当中的值,作为操作数的备选值之一。指令发送模块根据来自指令流控制寄存器的要发射指令的信息、来自寄存器访问模块的寄存器访问结果和外部的旁路数据,经过判断产生最终发射的指令的信息和操作数。指令流控制模块的结构如图3所示(以M=4为例),指令循环编号为区分每条指令的唯一编号,其值为0、1、2、3,每当有一条指令写回完成,对应的指令编号就回收,并赋值给新流入的指令。例如假设当本文档来自技高网
...

【技术保护点】
一种gene乱序发射处理器内核,包括译码控制模块和写回控制模块,对应于处理器流水线当中的译码级和写回级,其特征在于:所述的译码控制模块包含:指令流控制模块、指令发射控制模块、数据旁路控制模块、寄存器访问模块、写回允许模块和指令发送模块;所述的指令流控制模块负责接收要发射的M指令,记录指令信息、检测指令的执行情况,以供其它模块使用;根据发射允许信号和当前M条指令的发射情况来决定哪条指令可以发射,并将该信号送出,供其它模块使用;根据写回控制模块送来的写回完成信号,删除已经写回完成的指令,读入新的指令;所述的M是大于1的自然数;所述的指令发射模块根据指令流控制模块当中的指令信息和数据旁路完成信号,决定M条指令当中哪条指令的冲突已经解决,并产生发射允许的信号,供其它模块使用;所述的数据旁路控制模块接收写回控制模块送回的旁路数据,重定向到需要该数据的指令,然后产生指示该数据旁路完成的信号,以供其它模块使用;所述的寄存器访问模块根据指令流控制模块的指令信息进行寄存器的访问,并将访问的结果送出,供其它模块使用;所述的写回允许模块根据指令流控制模块当中的信息,来决定每条指令要更新的寄存器是否已经读取完成,当寄存器读取完成之后,送出写回允许信号,表明该条指令的数据可以更新寄存器,并将该信号送出,供其它模块使用;所述的指令发送模块根据哪条指令可以发射的信息从M条指令中选出要发射的指令,从寄存器文件访存结果和旁路回来的数据当中选择出该条指令的最新操作数,并将要发射的指令和指令的最新操作数送出;所述的写回控制模块包括:写回结果寄存模块和写回输出模块;所述的写回结果寄存模块负责接收要写回的M条指令,并将要写回的结果、要写回的目的寄存器等信息记录下来,根据指令流控制模块送来的写回允许信号来决定哪条指令可以写回,产生写回完成信号,供其它模块使用;所述的写回输出模块根据写回结果寄存模块当中的信息将当前要写回的结果写回到寄存器当中,完成数据写回。...

【技术特征摘要】

【专利技术属性】
技术研发人员:沈海斌张阿飞
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1