根据一个实施例,处理器包括:多个处理器核,用于执行多个线程;共享存储设备,通信地耦合至多个处理器核;功率控制单元(PCU),通信地耦合至多个处理器核,该PCU用于在不需要任何软件(SW)干预的情况下,确定是否应当将正在由第一处理器核执行的线程迁移到第二处理器核;以及迁移单元,响应于从PCU接收到迁移线程的指令,该迁移单元用于:将第一处理器核的架构状态的至少部分存储在共享存储设备中;并且在不需要任何SW干预的情况下,将该线程迁移到第二处理器核,使得该第二处理器核在SW不知晓的情况下,基于来自共享存储设备的架构状态,继续执行该线程。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的多个实施例总体涉及处理器架构,更具体地说,涉及用于在架构上不同 的处理器核之间迀移线程的技术。
技术介绍
半导体处理和逻辑设计方面的进展已允许可存在于集成电路器件上的逻辑数量 的增加。因此,计算机系统配置已经从系统中的单个或多个集成电路演化为存在于单独的 集成电路上的多个核和多个逻辑处理器。处理器或集成电路通常包括单个处理器管芯,其 中,该处理器管芯可包括诸如核、线程和/或逻辑处理器之类的任意数量的处理元件。 诸如芯片多处理器("CMP")系统之类的多处理器系统包括多个处理器核,其中的 每一个都能够独立地执行线程。同构的CMP系统包括全部具有相同的指令集架构(ISA)的 处理器核。如果功率是主要的设计约束,则全部为小型处理器核的系统似乎是可能的选择。 然而,该系统将遭受比全部是大型处理器核的系统更低的性能。对全部为小型处理器核的 系统的自然扩展是具有附加的大处理器核,该大处理器核用于在需要时提供附加的性能提 升,同时将高功率效率的小型处理器核用于系统执行的其余部分。 在CMP系统中支持线程迀移。线程迀移是指线程从一个处理器核移动到另一处 理器核。常规的异构CMP系统通过将异构资源暴露于应用软件、操作系统(OS)、基本输入 /输出系统(BIOS)和/或低层级软件和/或固件(在本文中,将把它们简单地统称为"软 件"(SW))来支持线程迀移。在此类异构CMP系统中,线程迀移涉及SW层管理被暴露的异 构资源。SW和CMP系统硬件之间的该紧密耦合需要修改软件以使该软件适应各种异构的 CMP系统。【附图说明】 在所附附图的多个图中,以示例方式而非限制方式说明本专利技术的多个实施例,在 附图中,类似的参考标号指示类似的元件。 图1是根据本专利技术的一个实施例的处理器或处理器核的执行流水线的框图。 图2是根据本专利技术的一个实施例的、包括多个处理器核的处理器的框图框图。 图3是示出线程迀移的处理器实现的方法的流程图。 图4是示出图2中的迀移单元242的实施例的流程图。 图5是示出图2中的迀移单元242的实施例的流程图。 图6是示出图2中的迀移单元242的实施例的流程图。 图7A示出根据本专利技术的一个实施例的高级向量扩展(AVX)指令格式。 图7B示出根据本专利技术的另一实施例的高级向量扩展(AVX)指令格式。 图7C示出根据本专利技术的又一实施例的高级向量扩展(AVX)指令格式。 图8A是示出根据本专利技术的多个实施例的通用向量友好指令格式及其A类指令模 板的框图。 图8B是示出根据本专利技术的多个实施例的通用向量友好指令格式及其B类指令模 板的框图。 图9A是示出根据本专利技术的一个实施例的专用向量友好指令格式的框图。 图9B是示出根据本专利技术的另一实施例的通用向量友好指令格式的框图。 图9C是示出根据本专利技术的另一实施例的通用向量友好指令格式的框图。 图9D是示出根据本专利技术的另一实施例的通用向量友好指令格式的框图。 图10是根据本专利技术的一个实施例的寄存器架构的框图。 图11A是示出根据本专利技术的多个实施例的有序流水线和示例性的寄存器重命名 的无序发布/执行流水线的框图。 图11B是示出根据本专利技术的多个实施例的要包括在处理器中的有序架构核的实 施例和示例性的寄存器重命名的无序发布/执行架构核的框图。 图12A是根据本专利技术的一个实施例的处理器核的框图。 图12B是根据本专利技术的另一实施例的处理器核的框图。 图13是根据本专利技术的多个实施例的处理器的框图。 图14是根据本专利技术的一个实施例的系统的框图。 图15是根据本专利技术的实施例的更具体的系统的框图。 图16是根据本专利技术的另一实施例的更具体的系统的框图。 图17是根据本专利技术的实施例的SoC的框图。 图18是根据本专利技术的多个实施例的对照使用软件指令转换器将源指令集中的二 进制指令转换成目标指令集中的二进制指令的框图。【具体实施方式】 将参考以下所讨论的细节来描述本专利技术的各实施例和方面,并且所附附图将说明 各实施例。下列描述和附图是说明本专利技术的,并且不应当被解释为限制本专利技术。描述许多 具体的细节以提供对本专利技术的各实施例的透彻理解。然而,在某些实例中,不描述公知的或 寻常的细节,以便提供本专利技术的实施例的简洁的讨论。 在本说明书中提到"一个实施例"或"实施例",意思是指结合该实施例所描述的特 定特征、结构或特性可以被包括在本专利技术的至少一个实施例中。在本说明书中的不同位置 出现短语"在一个实施例中"不一定都是指同一个实施例。 根据本专利技术的一些实施例,提供架构和机制集以通过对SW透明的方式实现两个 架构上不同类型的核之间的无缝线程迀移。当由SW发起线程时,由第一处理器核(其在本 文中将被称为"源"核)执行该线程。在一个实施例中,在执行该线程期间,系统确定应当 将该线程迀移到第二处理器核(其在本文中将被称为"目标"核)。在一个实施例中,由系 统硬件(其在本文中将被简称为"硬件")完成迀移的确定,而没有SW的任何干预。在一个 实施例中,该硬件通过唤醒该目标核(即,使该目标核上电)来发起线程迀移程序。该硬件 也可例如通过将源核的架构状态保存在共享存储设备(例如,共享存储器)中来"停止"该 源核并保存其线程上下文。在一个实施例中,在目标核中恢复该源核的线程上下文,并且该 目标核基于来自共享存储器的架构状态,继续执行该线程。在一个实施例中,该硬件例如通 过使源核失电而将该源核置于节能模式。 在一个实施例中,通过处理器核的内部存储元件的设置/状态(例如,寄存器设 置)来确定该处理器核的架构状态。在一个实施例中,在目标核中恢复线程上下文是指将 已经被保存在共享存储器中的、源核的内部存储元件的设置/状态复制到目标核的内部存 储元件(例如,寄存器等)中。在一个实施例中,按照对SW透明的此类方式在目标核中恢 复该线程上下文。例如,可在没有任何SW干预或SW不知晓的情况下将源核的架构状态迀 移到目标核。在一个实施例中,SW是指在系统之内或之外被执行的应用软件、OS、BIOS和/ 或任何其他软件和/或固件。 图1是根据本专利技术的一个实施例的处理器或处理器核的框图。参考图1,处理器 100可表示任何种类的指令处理装置或处理元件。处理元件是指线程、进程、上下文、逻辑处 理器、硬件线程、核和/或共享对处理器的其他共享资源(例如,预留单元、执行单元、流水 线和更高层级的高速缓存/存储器)的访问的任何处理元件。物理处理器通常是指潜在地 包括诸如核或硬件线程之类的任意数量的其他处理元件的集成电路。核通常是指位于集成 电路上的、能够维持独立架构状态的逻辑,其中,每一个被独立地维持的架构状态与至少一 些专用执行资源相关联。在一个实施例中,处理器100可以是通用处理器。处理器100可 以是各种复杂指令集计算(CISC)处理器、各种精简指令集计算(RISC)处理器、各种超长指 令字(VLIW)处理器中的任何处理器,可以是上述处理器的混合或者可以完全是其他类型 的处理器。处理器100也可表示一个或多个处理器核。 可在不同的处理器中,出于不同目的,以不同的方式来实现处理器核。例如,此类 核的实现可以包括:1)旨在用于通用计算的通用有序核;2)旨在用于通用计算的高性能通 用无序核;3)旨在主要用于图形和/或科学(吞吐量)计算的专用核。不本文档来自技高网...
【技术保护点】
一种处理器,包括:多个处理器核,用于执行多个线程;共享存储设备,通信地耦合至所述多个处理器核;功率控制单元(PCU),通信地耦合至所述多个处理器,所述功率控制单元用于在不需要任何软件(SW)干预的情况下,确定是否应当将正在由第一处理器核执行的线程迁移到第二处理器核;以及迁移单元,响应于从所述PCU接收到迁移所述线程的指令,所述迁移单元用于:将所述第一处理器核的架构状态的至少部分存储在所述共享存储设备中;并且在不需要任何SW干预的情况下,将所述线程迁移到所述第二处理器核,使得所述第二处理器核在所述SW不知晓的情况下,基于来自所述共享存储设备的所述架构状态,继续执行所述线程。
【技术特征摘要】
【国外来华专利技术】
【专利技术属性】
技术研发人员:M·奈克,G·N·斯里尼瓦萨,A·纳韦,I·M·索迪,P·纳凡兹,E·高巴托夫,E·威斯曼,A·D·亨罗伊德,A·J·赫德瑞奇,G·康纳,S·D·哈恩,P·布莱特,D·A·考法蒂,D·R·萨巴瑞迪,A·帕拉哈卡兰,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。