一种基于指令和数据推送的处理器系统和方法技术方案

技术编号:13959149 阅读:122 留言:0更新日期:2016-11-02 21:19
本发明专利技术提供了一种处理器系统和方法,应用于处理器及计算机领域时,缓存系统可向处理器核主动推送指令和数据,避免处理器核向缓存器取指令及数据的延迟,提高处理器性能。

【技术实现步骤摘要】

本专利技术涉及计算机,通讯及集成电路领域。
技术介绍
存储程序计算机中的中央处理器产生地址送到存储器,从中读取指令或数据送回供中央处理器执行,执行的结果送回存储器中存储。随着技术的进步,存储器的容量增大,其存储器访问延迟增大,存储器访问的通道延迟也增大;而中央处理器的执行速度却增快,因此存储器访问延迟日益成为计算机性能提高的瓶颈。因此,存储程序计算机使用缓存器以掩盖存储器访问延迟以缓解此一瓶颈。但中央处理器用同样的方式向缓存取指令或数据。即中央处理器中的处理器核产生地址送到缓存器,如地址与缓存器中存储的地址标签匹配,则缓存器将相应的信息直接送到处理器核供执行,如此避免了访问存储器的延迟。随着技术的进步,缓存器的容量增大,其缓存器访问延迟增大,访问的通道延迟也增大;而处理器核的执行速度却增快,因此缓存器访问延迟如今成为计算机性能提高的严重瓶颈。上述处理器核向存储器取信息(包括指令和数据)供执行的方式可被视为处理器核向存储器拉取(Pull)信息。拉取信息需经历延迟通道两次,一次是处理器将地址送到存储器,一次是存储器将信息送到处理器核。此外,为支持拉取信息的方式,所有存储程序计算机的处理器都有产生和记录指令地址的模块,其流水线结构中必然有取指令的流水线段。现代存储程序计算机取指令通常需要复数个流水线段,加深了流水线,加重了分支预测错误时的损失。另外产生和记录一个长指令地址也需要消耗较多能量。尤其是将变长指令转换为定长微操作执行的计算机需要将定长微操作的地址逆向转换为变长指令的地址对缓存寻址,要有不少代价。本专利技术提出的方法与系统装置能直接解决上述或其他的一个或多个困难。
技术实现思路
本专利技术提出了一种处理器系统,包括:推送缓存器和相应处理器核;其特征在于:所述处理器核不产生和保持指令地址,其流水线中也没有取指令的流水线段;所述处理器核仅向所述推送缓存器提供分支判断以及在执行间接分支指令时提供寄存器堆内存储的基地址;所述推送缓存器提取其存储的指令中的控制流信息并存储,根据所述控制流信息及所述分支判断向所述处理器核推送指令供其执行;所述推送缓存器在遇到间接分支指令时,基于来自所述处理器核的所述基地址向所述处理器核提供正确的间接分支目标指令供其执行。进一步地,所述推送缓存器可向所述处理器核提供分支指令的后续顺序及分支目标两支指令,由所述处理器核产生的分支判断选择执行其中一支指令,因此可以掩盖所述处理器核将所述分支判断传送到所述推送缓存器的延迟。进一步地,所述推送缓存器可以存储间接分支指令的基地址及相应的间接分支目标地址,可以减少或消除推送间接分支目标指令时的延迟,部分或全部掩盖所述处理器核将所述基地址送到所述推送缓存器的延迟。更进一步,推送缓存器可以基于其中存储的控制流信息提前向所述处理器核推送指令,部分或全部掩盖将信息从所述推送缓存器向处理器核传输的延迟。本专利技术提出的处理器系统的处理器核中不需要有取指令的流水线段,也不需要产生及记录指令地址。本专利技术提出了一种复数层次缓存的组织形式,其最后(最低)层次缓存(Last Level Cache,LLC)为路组相联组织,有虚实地址变换缓冲器TLB及标签单元TAG,可将存储器虚(virtual)地址经TLB变换为存储器实(physical)地址,所得的存储器实地址再与TAG中内容匹配得到LLC的缓存器地址.由于LLC缓存器地址由存储器实地址映射所得,因此LLC缓存器地址实际上是实地址。所得的LLC缓存器地址可用于寻址LLC的信息存储器RAM,也可用于选择LLC主动表。LLC主动表中存储了LLC缓存块与较高层缓存器中缓存块的映射关系,即LLC主动表由LLC缓存器地址寻址,而其表项内容是相应的较高层次缓存块地址。本专利技术中除LLC外其他层次的缓存器都是全相联组织,都以其本层次的缓存器地址直接寻址,不需要标签单元TAG或TLB。本层次的缓存器地址与较高层次缓存器地址通过主动表映射,所述主动表与LLC主动表相似,都是以本层次缓存器地址寻址而表项中存储较高层次缓存器地址。最高层次缓存器有相 应的轨道表,其中存储由扫描器扫描、审查被存储进最高层次缓存器存储器RAM指令提取的控制流信息。轨道表由最高层次缓存器地址寻址,其表项中存储分支指令的分支目标地址。循迹器产生最高层次缓存器地址寻址最高层次缓存器存储器的第一读口输出顺序指令推送到处理器核;也以所述最高层次缓存器地址寻址轨道表中的对应表项读出相应分支目标地址,以所述分支目标地址寻址最高层次缓存器存储器的第二读口输出分支目标指令也推送到处理器核。处理器核执行分支指令产生分支判断,选择上述两支指令中的一支执行而放弃另一支。所述分支判断也控制所述循迹器相应地选择两支缓存器地址中的一支,寻址所述最高层次缓存器向处理器核持续推送指令。本专利技术提出了一种根据缓存块之间关联度确定可被置换缓存块的缓存置换方法。所述轨道表中记录了从分支源分支跳转到分支目标的途径。本专利技术另以相关表记录了缓存块内容在低层次缓存器中的相应低层次缓存器地址,跳转入缓存块的分支源途径及跳转入缓存块的分支源的数目。可以根据缓存块中所述跳入的分支源的计数定义缓存块的关联度,计数越小关联度越小,可被预先置换。对同等最小关联度的各缓存块另外可再根据其上一次置换的先后,置换上一次最早置换的缓存块,以避免刚被置换过的缓存块又被置换。缓存块被置换时,以相关表中存储的跳入分支源途径寻址轨道表中表项,用相关表中缓存块内容的相应低层缓存器地址代替该缓存块地址以保持控制信息流的完整性。以上所述是以同一存储层次之间的关联度为依据进行置换。在不同存储层次之间也可以应用最小关联度置换方法。其方法是记录与缓存块内容相同的高层次缓存块的数目作为关联度,计数越小关联度越小,置换关联度最小的缓存块。这种方法也可以被称为最少子孙法(Least Children),在此子孙指与缓存块内容相同的高层次缓存块。另外也要记录轨道表中以缓存块为分支目标的表项数目(缓存块与轨道表可以在不同存储层次)。当两个数目都为‘0’时,缓存块可被置换。若子孙计数不为‘0’,则将子孙缓存块置换后可置换本缓存块。若轨道表中以缓存块为分支目标的表项数目不为‘0’,则可以等其为‘0’时置换,或以含有本缓存块内容的低层次缓存器地址代替轨道表表项中的本缓存块地址后置换。存储层次间的最小关联度置换也可与前述最早被置换方法共用。本专利技术提供了一种将循迹器及处理器核中的寄存器状态暂存到按线程号识别的存储器的方法。所述存储器与所述循迹器及处理器核中的寄存器状态可以按线程互换以切换线程。因为本专利技术的推送缓存中各线程指令是独立的,因此改变线程时不需清空缓存,不会发生一个线程执行了另一个线程的指令的情形。本专利技术提出了可以同时执行复数个存储器层次提供的指令的方法与处理器系统。本专利技术提出了基于轨道表的函数调用与函数返回方法与系统。本专利技术提出了计算机存储器层次组织方法与系统,除了硬盘以外,所述各存储层次,包括传统的主存(main memory)都按缓存组织,由硬件管理,不需操作系统分配存储器。这种方式在指令或数据读取时不需经过标签单元匹配,减少了延迟。本专利技术提出了一种按层次保留数据间相互关系的全相联缓存方法,根据数据间在不同层次间的双向地址映射避免地址与标签的比较匹配操本文档来自技高网
...

【技术保护点】
一种处理器系统,包括:处理器核和缓存器;其特征在于:所述缓存器向所述处理器核推送指令及数据供所述处理器核执行及处理。

【技术特征摘要】
2015.04.23 CN 20151020143611.一种处理器系统,包括:处理器核和缓存器;其特征在于:所述缓存器向所述处理器核推送指令及数据供所述处理器核执行及处理。2.如权利要求1所述的系统,其特征在于:所述处理器核向所述缓存系统提供分支判断;所述缓存器审查其中存储的指令,提取并存储指令的控制流信息;所述缓存器根据所述控制流信息及所述分支判断向所述处理器核推送指令供处理器核执行。3.如权利要求2所述的系统,其特征在于:所述处理器核向所述缓存系统提供间接分支指令的基地址;所述缓存器根据所述基地址产生间接分支目标地址,向所述处理器核推送间接分支指令供处理器核执行。4.如权利要求1所述的系统,其特征在于:所述处理器核流水线不设取指令流水线段;所述处理器核不产生指令地址;所述处理器核不向所述缓存器提供指令地址以读取指令。5.如权利要求1所述的系统,其特征在于:该系统的缓存器连接至存储器;所述缓存器产生并向所述存储器提供存储器地址;所述存储器根据所述存储器地址向缓存器提供指令。6.如权利要求2所述的系统,其特征在于:所述的缓存器中仅最低存储层次有虚实地址转换;所述的缓存器中仅最低存储层次有存储器地址对缓存器地址的映射。7.如权利要求2所述的系统,其特征在于:所述的缓存器中最低存储层次以路组相联方式组织;所述的缓存器中除最低存储层次以外的其他存储层次为全相联方式组织。8.如权利要求2所述的系统,其特征在于:所述的缓存器中的相邻存储层次之间各有扫描器;所述扫描器审查在所述相邻存储层次之间传递的指令以提取控制信息流。9.如权利要求2所述的系统,其特征在于:所述的缓存器中在所述最低存储层次与次低存储层次之间有扫描器;所述扫描器审查在所述最低与次低存储层次之间传递的指令以提取控制信息流;存储所述提取的控制信息流以备比所述次低存储层次更高的存储层次调用。10.如权利要求2所述的系统,其特征在于:所述的缓存器中最高存储层次有第一读口及第二读口;所述的缓存器中最高存储层次有第一循迹器及第二循迹器;所述的第一及第二循迹器根据所述存储的控制流信息及所述分支判断,控制所述的第一读口及第二读口向处理器核提供分支指令后的顺序指令及分支目标指令;所述的处理器核执行所述分支指令,产生分支判断;所述的处理器核以所述分支判断决定执行并写回顺序指令或分支目标指令。11.如权利要求3所述的系统,其特征在于:所述的缓存器中存储所述间接分支指令的所述基地址与所述间接分支目标指令对;所述的缓存器可以根据所述间接分支指令及所述基地址向处理器核提供存储的所述间接分支目标指令。12.一种缓存器置换方式;其特征在于:以最少关联度原则决定被置换的缓存块。13.如权利要求12所述的方法;其特征在于:进一步以最早曾被置换的原则决定被置换的缓存块。14.如权利要求12所述的方法;其特征在于:所述缓存器中的缓存块存有关联记录;所述关联记录中记录以该缓存块为分支目标的指令的数目作为所述关联度。15.如权利要求12所述的方法;其特征在于:所述缓存器中的缓存块存有关联记...

【专利技术属性】
技术研发人员:林正浩
申请(专利权)人:上海芯豪微电子有限公司
类型:发明
国别省市:上海;31

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

1