用于调用多线程加速器的装置和方法_4

文档序号:9221608阅读:来源:国知局
冷冻线程的状态,犹如异常处理器被调用(例如,将微线程状态保存在外部);以及2)不调用异常处理器,而是继续在通用CPU (例如,其支持所有指令,所以没有问题)上从冷冻点执行(例如,用微代码)。在该点,恢复可或者将执行从“更新”点切换回加速器(“未冷冻”)(由于我们执行通用CPU内的至少一个指令)或者仅仅完成通用CPU上的所有微线程的执行而不切换回加速器。这与允许软件异常处理器使用通用CPU非常不同,因为不调用软件处理器。就软件而言,系统“只是工作”而没有任何异常。
[0061]在此,通用CPU和/或加速器可具有对应的一个或多个逻辑电路以便实现上述过程中的任何过程。
[0062]以上讨论所教导的过程中的任何过程可用软件、硬件逻辑电路或其某种组合执行。相信以上讨论所教导的过程还可用各种面向对象或非面向对象的计算机编程语言源级别程序代码中描述。制品可用于存储程序代码。存储程序代码的制品可被体现为但不限于一个或多个存储器(例如,一个或多个闪存、随机存取存储器(静态、动态或其他))、光盘、CD-ROM、DVD ROM、EPROM, EEPR0M、磁卡或光卡或适合存储电子指令的其他类型的机器可读介质。还可通过体现在传播介质中的数据信号将程序代码从远程计算机(例如,服务器)下载到请求计算机(例如,客户端)(例如,经由通信链路(例如,网络连接))。
[0063]在前述说明书中,已经参照其特定示例性实施例描述了本发明。然而,将明显的是可对其作出各种修改和改变而不背离在所附权利要求书中陈述的本发明的更宽泛的精神和范围。因此,将以说明性而不是限制性的意义对待说明书和附图。
【主权项】
1.一种处理器,包括: 通用CPU核的逻辑电路,所述逻辑电路用于保存所述通用CPU核的线程的上下文的多个副本以便使多线程加速器的多个微线程准备好执行从而通过所述微线程的并行执行来加速用于所述线程的操作。2.如权利要求1所述的处理器,其中,所述通用CPU进一步包括用于通过所述通用CPU的应用二进制接口(ABI)所标识的一组寄存器从所述线程调用所述加速器的逻辑电路,所述应用二进制接口指定在所述通用CPU上一个例程对另一个例程的调用的语义。3.如权利要求1所述的处理器,其中,所述多个副本被保存到所述CPU核的执行所述线程的指令执行流水线的寄存器空间。4.如权利要求1所述的处理器,其中,所述通用CPU进一步包括用于将所述线程的上下文切换出所述线程运行所在的所述通用CPU的指令执行流水线的寄存器空间从而使得当所述加速器正在加速用于所述线程的操作时所述线程的上下文未在消耗所述指令执行流水线的寄存器空间的逻辑电路。5.如权利要求1所述的处理器,其中,所述加速器包括用于从通过所述线程对所述加速器的调用提供的提示理解和/或确定所述微线程的启动序列的逻辑电路。6.如权利要求1所述的处理器,其中,所述加速器包括用于响应于异常或中断在所述加速器的操作期间冷冻并保存所述微线程的状态信息的逻辑电路。7.如权利要求6所述的处理器,其中,所述处理器包括用于从所述冷冻点重新调用所述加速器的逻辑电路。8.如权利要求6所述的处理器,其中,所述加速器包括用于调用异常处理器而不唤醒所述线程的逻辑电路。9.如权利要求1所述的处理器,其中,所述微线程中的任何微线程对所述线程的上下文进行的改变对所述线程的调用应用隐藏。10.一种方法,包括: 保存通用CPU核的线程的多个副本; 调用加速器来加速所述通用CPU核的线程的操作; 并行执行所述加速器的多个微线程,每个多微线程被提供有所述副本中的一个对应的副本。11.如权利要求10所述的方法,进一步包括所述线程通过所述通用CPU的指定在所述通用CPU上一个例程对另一个例程的调用的语义的应用二进制接口(ABI)所标识的一组寄存器调用所述加速器。12.如权利要求10所述的方法,其中,所述多个副本被保存到所述CPU核的执行所述线程的指令执行流水线的寄存器空间。13.如权利要求10所述的方法,进一步包括将所述线程的上下文切换出所述线程运行所在的所述通用CPU核的指令执行流水线的寄存器空间,从而使得当所述微线程正在执行时所述线程的上下文未在消耗所述寄存器空间。14.如权利要求10所述的方法,进一步包括所述加速器从通过所述线程对所述加速器的调用提供的提示,理解和/或确定所述微线程的启动序列。15.如权利要求10所述的方法,进一步包括所述加速器响应于异常或中断在所述加速器的操作期间冷冻并保存所述微线程的状态信息。16.如权利要求15所述的方法,进一步包括从所述冷冻点重新调用所述加速器。17.一种包含程序代码的机器可读存储介质,当被计算系统的处理器处理时,所述程序代码致使执行方法,所述方法包括: 保存通用CPU核的线程的多个副本; 调用加速器来加速所述通用CPU的线程的操作; 并行执行所述加速器的多个微线程,每个多微线程被提供有所述副本中的一个对应的副本。18.如权利要求15所述的机器可读存储介质,其中,所述方法进一步包括所述线程通过所述通用CPU的指定在所述通用CPU上一个例程对另一个例程的调用的语义的应用二进制接口(ABI)所标识的一组寄存器调用所述加速器。19.如权利要求15所述的机器可读存储介质,其中,所述方法进一步包括将所述线程的上下文切换出所述线程运行所在的所述通用CPU核的指令执行流水线的寄存器空间,从而使得当所述微线程正在执行时所述线程的上下文未在消耗所述寄存器空间。20.如权利要求15所述的机器可读存储介质,其中,所述方法进一步包括通过所述线程对所述加速器的调用提供有关所述微线程的启动序列的信息。21.如权利要求15所述的机器可读存储介质,其中,所述方法进一步包括响应于异常或中断在所述加速器的操作期间冷冻并保存所述微线程的状态信息。22.如权利要求19所述的机器可读存储介质,其中,所述方法进一步包括从所述冷冻点重新调用所述加速器。23.—种处理器,包括: 耦合到加速器的通用CPU核,所述加速器具有用于执行多个微线程以便加速所述通用(PU核的进程的多个执行单元,所述加速器还具有用于响应于异常或中断在所述加速器的操作期间冷冻并保存所述微线程的状态信息的逻辑电路。24.—种方法,包括: 通过在通用CPU中执行致使微线程加速器的微线程代码的违规的指令,对所述违规做出响应,从而使得所述违规对在主CPU上运行的应用软件程序不可见。
【专利摘要】描述了一种处理器,该处理器具有通用CPU核的逻辑电路,该逻辑电路用于保存该通用CPU的线程的上下文的多个副本以便使多线程加速器的多个微线程准备好执行从而通过这些微线程的并行执行加速用于该线程的操作。
【IPC分类】G06F9/38, G06F9/28
【公开号】CN104937541
【申请号】CN201380062688
【发明人】O·本-琪琪, I·帕多, E·威斯曼, R·凡伦天, Y·优素福
【申请人】英特尔公司
【公开日】2015年9月23日
【申请日】2013年6月27日
【公告号】US20140189713, WO2014105196A1
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1