异构处理器装置和方法_6

文档序号:9422686阅读:来源:国知局
前所述,该字段是针对上下文的。
[0199]REX'字段1610 -运是REX'字段的其余部分,并且是可用于对扩展的32个寄存 器集合的较高16个或较低16个寄存器进行编码的EVEX.r位字段巧VEX字节3,位[3]-V')。该位W位反转的格式存储。值1用于对较低16个寄存器进行编码。换句话说,通过 组合EVEX.V'、EVEX.VVVV来形成V'VVVV。 阳200] 写掩码字段1670巧VEX字节3,位巧:0]-化k)-其内容指定写掩码寄存器中的寄 存器索引,如先前所述。在本发明的一个实施例中,特定值EVEX.化k= 000具有暗示没有 写掩码用于特定指令的特殊行为(运能W各种方式实现,包括使用硬连线到所有的写掩码 或者绕过掩码硬件的硬件来实现)。 阳201] 实操作码字段1630(字节4)也被称为操作码字节。在该字段中指定操作码的部 分。 阳202]MODR/M字段1640(字节5)包括MOD字段1642、Reg字段1644W及R/M字段1646。 如先前所述的,MOD字段1642的内容将存储器访问和非存储器访问操作区分开。Reg字段 1644的作用可被归结为两种情形:对目的地寄存器操作数或源寄存器操作数进行编码;或 者被视为操作码扩展且不用于对任何指令操作数进行编码。R/M字段1646的作用可包括如 下:对引用存储器地址的指令操作数进行编码;或者对目的地寄存器操作数或源寄存器操 作数进行编码。
[0203]比例、索引、基址(SIB)字节(字节6)-如先前所述的,比例字段1650的内容用 于存储器地址生成。SIB.XXX1654和SIB.化b1656 -先前已经针对寄存器索引Xxxx和 抓化提及了运些字段的内容。 阳204] 位移字段1662A(字节7-10)-当MOD字段1642包含10时,字节7-10是位移字 段1662A,并且它W与传统32位位移(disp32)相同的方式工作,W字节粒度工作。
[0205] 位移因数字段1662B(字节7)-当MOD字段1642包含Ol时,字节7是位移因数字 段1662B。该字段的位置与W字节粒度工作的传统x86指令集8位位移(disp8)的位置相 同。由于disp8是符号扩展的,因此它仅能在-168和167字节偏移量之间寻址;在64字节 高速缓存行的方面,disp8使用可被设为仅四个真正有用的值-168、-64、0和64的8位;由 于常常需要更大的范围,所W使用disp32 ;然而,disp32需要4个字节。与disp8和disp32 对比,位移因数字段1662B是对disp8的重新解释;当使用位移因数字段1662B时,通过将 位移因数字段的内容乘W存储器操作数访问的尺寸(脚来确定实际位移。该类型的位移被 称为disp8*N。运减小了平均指令长度(单个字节用于位移,但具有大得多的范围)。此类 压缩位移基于有效位移是存储器访问的粒度的倍数的假设,并且由此,不需要对地址偏移 量的冗余低阶位进行编码。换句话说,位移因数字段1662B替代传统x86指令集的8位位 移。由此,W与x86指令集的8位位移相同的方式对位移因数字段1662B进行编码(因此, 在ModRM/SIB编码规则中没有变化),唯一的例外在于,将disp8超载至disp8*N。换句话 说,编码规则或编码长度中不存在变化,而仅在通过硬件对位移值的解释中存在变化(运 需要通过存储器操作数的尺寸按比例缩放位移量W获得字节式地址偏移量)。 阳206]立即数字段1672按先前所述进行操作。 阳207] 完整操作码字段 阳20引图16B是示出根据本发明的一个实施例的、专用向量友好指令格式1600中构成完 整操作码字段1674字段的框图。具体而言,完整操作码字段1674包括格式字段1640、基础 操作字段1642W及数据元素宽度(W)字段1664。基础操作字段1642包括前缀编码字段 1625、操作码映射字段1615W及实操作码字段1630。 阳209] 寄存器索引字段
[0210] 图16C是示出根据本发明的一个实施例的、专用向量友好指令格式1600中构成寄 存器索引字段1644的字段的框图。具体而言,寄存器索引字段1644包括REX字段1605、 REX' 字段 1610、M0DR/M.reg字段 1644、M0DR/M.r/m字段 1646、VVVV字段 1620、XXX字段 1654W及b化字段1656。 阳211] 扩充操作字段
[0212] 图1抓是示出根据本发明的一个实施例、专用向量友好指令格式1600中构成扩充 操作字段1650的字段的框图。当类扣)字段1668包含0时,它表明EVEX.UO(A类1668A); 当它包含1时,它表明EVEX.Ul度类1668B)。当U= 0且MOD字段1642包含11 (表明无 存储器访问操作)时,a字段1652巧VEX字节3,位[7] -EH)被解释为rs字段1652A。当 rs字段1652A包含1 (舍入1652A. 1)时,0字段1654巧VEX字节3,位[6:4] -SS巧被解 释为舍入控制字段1654A。舍入控制字段1654A包括一位的SAE字段1656和两位的舍入操 作字段1658。当rs字段1652A包含0 (数据变换1652A. 2)时,0字段1654巧VEX字节3, 位[6:4] -SS巧被解释为=位的数据变换字段1654B。当U= 0且M孤字段1642包含00、 Ol或1〇(表明存储器访问操作)时,a字段1652巧VEX字节3,位[7] -EH)被解释为驱逐 提示巧H)字段1652B且0字段1654巧VEX字节3,位[6:4] -SS巧被解释为S位数据操纵 字段1654C。 阳21引当U= 1时,a字段1652巧VEX字节3,位[7] -EH)被解释为写掩码控制狂)字 段1652C。当U= 1且MOD字段1642包含11 (表明无存储器访问操作)时,0字段1654 的一部分巧VEX字节3,位[4] -S。)被解释为化字段1657A;当它包含1(舍入1657A. 1) 时,P字段1654的其余部分巧VEX字节3,位[6-引-Sz1)被解释为舍入操作字段1659A, 而当化字段1657A包含0(VSIZE1657.A2)时,0字段1654的其余部分巧VEX字节3,位 [6-5]-S2i)被解释为向量长度字段1659B(EVEX字节3,位[6-引-Li。)。当U= 1且MOD字 段1642包含00、01或10(表明存储器访问操作)时,0字段1654巧VEX字节3,位[6:4] -SS巧被解释为向量长度字段1659B(EVEX字节3,位[6-引-Li。)和广播字段1657B(EVEX字 节 3,位[4] -B)。
[0214]图17是根据本发明的一个实施例的寄存器架构1700的框图。在所示出的实施例 中,有32个516位宽的向量寄存器1710 ;运些寄存器被引用为zmmO到zmm31。较低的16 个zmm寄存器的较低阶256个位覆盖在寄存器ymmO-16上。较低的16个zmm寄存器的较 低阶168个位(ymm寄存器的较低阶168个位)覆盖在寄存器xmmO-15上。专用向量友好 指令格式1600按下表所示,对运些覆盖的寄存器组进行操作。 阳 215]
[0216] 换句话说,向量长度字段1559B在最大长度与一个或多个其他较短长度(其中,此 类较短长度的长度是前一个长度的一半)之间进行选择;不具有向量长度字段1559B的指 令模板对最大向量长度进行操作。此外,在一个实施例中,专用向量友好指令格式1600的 B类指令模板对紧缩或标量单/双精度浮点数据W及紧缩或标量整数数据进行操作。标量 操作是对zmm/ymm/xmm寄存器中的最低阶数据元素位置执行的操作;取决于本实施例,较 高阶数据元素位置保持与在指令之前相同或者归零。
[0217] 写掩码寄存器1715 -在所示的实施例中,存在8个写掩码寄存器化0至k7),每一 写掩码寄存器的尺寸是64位。在替代实施例中,写掩码寄存器1715的尺寸为16位。如先 前所述的,在本发明的一个实施例中,向量掩码寄存器kO不能用作写掩码;当正常指示kO 的编码用作写掩码时,它选择硬连线的写掩码OxFFFF,从而有效地禁用该指令的写掩码操 作。
[0218] 通用寄存器1725--在所示出的实施例中,有十六个64位通用寄存器,运些寄存 器结合现有的x86寻址模式,用于寻址存储器操作数。运些寄存器通过名称RAX、RBX、RCX、 畑X、RBP、RSI、畑I、RSPW及R8 到R15 来引用。
[0219] 标量浮点找寄存器组(x87找)1745,在其上面重叠了MMX紧缩整数平坦寄存器组 1750--在所示出的实施例中,x87找是用于使用x87指令集扩展来对32/64/80位浮点数 据执行标量浮点操作的八元素找;而将MMX寄存器用于64位紧缩整数数据执行操作,W及 用于为在MMX和XMM寄存器之间执行的一些操作保存操作数。 阳220] 本发明的替代实施例可W使用更宽的或更窄的寄存器。另外,本发明的替代实施 例可使用更多、更少或不同的寄存器组和寄存器。 阳221] 本发明的多个实施例可包括上述各个步骤。可在可被用于使通用或专用处理器执 行运些步骤的机器可执行指令中具体化运些步骤。或者,可由包含用于执行运些步骤的硬 连线逻辑的专用硬件组件,或可由被编程的计算机组件和自定义硬件组件的任何组合来执 行运些步骤。 阳222] 如本文中所述,指令可W指硬件的具体配置,例如,配置成用于执行某些操作或具 有预定功能的专用集成电路(ASIC),或者被存储在被具体化在非瞬态计算机可读介质中的 存储器中的软件指令。因此,可使用被存储在一个或多个电子设备(例如,终端站、网络元 件等)上并在其上被执行的代码和数据来执行附图中所示的技术。此类电子设备使用诸如 非瞬态计算机机器可读存储介质(例如,磁盘;光盘;随机存取存储器;只读存储器;闪存 设备;相变存储器)之类的计算机机器可读介质和瞬态计算机机器可读通信介质(例如, 电、光、声或其他形式的传播信号一一诸如载波、红外信号、数字信号等)来(内部地和/或 在网络上与其他电子设备之间进行)存储和传递代码和数据。另外,此类电子设备一般包 括禪合至一个或多个其他组件的一个或多个处理器的集合,所述一个或多个其他组件例如 是一个或多个存储设备(非瞬态机器可读存储介质)、用户输入/输出设备(例如,键盘、触 摸屏和/或显示器)W及网络连接。该组处理器和其他组件的禪合一般是通过一个或多个 总线和桥(也称为总线控制器)实现的。存储设备和携带网络话务的信号分别表示一个或 多个机器可读存储介质和机器可读通信介质。因此,给定电子设备的存储设备通常存储用 于在该电子设备的一个或多个处理器的集合上执行的代码和/或数据。当然,本发明的实 施例的一个或多个部分可使用软件、固件和/或硬件的不同组合来实现。贯穿此具体实施 方式,为了进行解释,陈述了众多具体细节W提供对本发明的透彻理解。然而,对本领域技 术人员显而易见的是,没有运些具体细节中的一些细节也可实施本发明。在某些实例中,并 不详细描述公知的结构和功能,W免使本发明的主题模糊。因此,本发明的范围和精神应根 据所附权利要求书来判断。
【主权项】
1. 一种处理器,包括: 一个或多个大型物理处理器核的集合; 一个或多个小型物理处理器核的集合,所述一个或多个小型物理处理器核具有相对于 所述大型物理处理器核的相对较低的性能处理能力和相对较低的功率使用; 虚拟到物理(V-P)映射逻辑,用于通过虚拟核的对应集合将大型物理处理器核的集合 暴露给软件,并且对所述软件隐藏小型物理处理器核的集合。2. 如权利要求1所述的处理器,其特征在于,所述V-P映射逻辑用于将每一个虚拟核映 射至大型物理处理器核的集合中的物理核,以允许具有第一性能特性的线程的第一集合在 所述大型物理处理器核上被执行。3. 如权利要求2所述的处理器,其特征在于,所述V-P映射逻辑用于:响应于检测到与 线程的第二集合相关联的第二性能特性,以对所述软件透明的方式将具有第二性能特性的 线程的第二集合从虚拟核映射至一个或多个小型物理处理器核。4. 如权利要求3所述的处理器,其特征在于,检测到的第二性能特性包括:能够被并行 地执行的线程的数目降到高于指定的阈值。5. 如权利要求3所述的处理器,其特征在于,性能特性的第一集合具有比性能特性的 第二集合相对更高的性能要求。6. 如权利要求1所述的处理器,其特征在于,通过虚拟处理器和大型物理处理器核之 间的默认映射,所述大型物理处理器核被暴露给所述软件。7. 如权利要求6所述的处理器,其特征在于,小型处理器核对所述软件是隐藏的,并且 仅通过由所述V-P映射逻辑将虚拟核中的一个或多个透明地映射至所述小型物理处理器 核而可被所述软件访问。8. 如权利要求1所述的处理器,其特征在于,所述V-P映射逻辑根据一组映射规则操 作。9. 如权利要求8所述的处理器,其特征在于,所述映射规则是可编程的。10. 如权利要求1所述的处理器,其特征在于,进一步包括: 逻辑,用于监测与所述处理器相关联的当前操作条件; 其中,所述V-P映射逻辑用于部分地基于所述当前操作条件将每一个虚拟核映射至大 型或小型物理核。11. 如权利要求10所述的处理器,其特征在于,所述当前操作条件包括鉴于指定的功 率预算的所述处理器的当前功率使用、温度、每个时钟的指令、利用率或其他内部性能度 量,其中,所述V-P映射逻辑用于将每一个虚拟核映射至小型或大型物理核,使得所述功率 预算、温度阈值、每个时钟的指令阈值或利用率阈值被维持。12. -种方法,包括: 提供大型物理处理器核的集合; 提供小型物理处理器核的集合,所述小型物理处理器核具有相对于所述大型物理处理 器核的相对较低的性能处理能力和相对较低的功率使用; 虚拟到物理(V-P)映射逻辑,用于通过虚拟核的对应集合将大型物理处理器核的集合 暴露给软件,并且对所述软件隐藏小型物理处理器核的集合。13. 如权利要求11所述的方法,其特征在于,进一步包括: 将每一个虚拟核映射至大型物理处理器核的集合中的物理核,以允许具有第一性能特 性的线程的第一集合在所述大型物理处理器核上被执行。14. 如权利要求13所述的方法,其特征在于,进一步包括: 响应于检测到与线程的第二集合相关联的第二性能特性,以对所述软件透明的方式将 具有第二性能特性的线程的第二集合从虚拟核映射至一个或多个小型物理处理器核。15. 如权利要求14所述的方法,其特征在于,检测到的第二性能特性包括:能够被并行 地执行的线程的数目降到高于指定的阈值。16. 如权利要求14所述的方法,其特征在于,性能特性的第一集合具有比性能特性的 第二集合相对更高的性能要求。17. 如权利要求12所述的方法,其特征在于,通过虚拟处理器和大型物理处理器核之 间的默认映射,所述大型物理处理器核被暴露给所述软件。18. 如权利要求17所述的方法,其特征在于,所述小型处理器核对所述软件是隐藏的, 并且仅通过将所述虚拟核中的一个或多个透明地映射至所述小型物理处理器核而可被所 述软件访问。19. 如权利要求12所述的方法,其特征在于,映射根据一组映射规则操作。20. 如权利要求19所述的方法,其特征在于,所述映射规则是可编程的。21. 如权利要求12所述的方法,其特征在于,进一步包括: 监测与所述处理器相关联的当前操作条件; 部分地基于所述当前操作条件将每一个虚拟核映射至大型或小型物理核。22. 如权利要求21所述的方法,其特征在于,所述当前操作条件包括鉴于指定的功率 预算的所述处理器的当前功率使用、温度、每个时钟的指令或利用率,其中,每一个虚拟核 被映射至小型或大型物理核,使得所述功率预算、温度阈值、每个时钟的指令阈值、利用率 阈值或其他内部性能度量被维持。
【专利摘要】描述了异构处理器架构。例如,根据本发明的一个实施例的处理器包括:大型物理处理器核的集合;小型物理处理器核的集合,这些小型物理处理器核具有相对于大型物理处理器核的相对较低的性能处理能力和相对较低的功率使用;虚拟到物理(V-P)映射逻辑,用于通过虚拟核的对应集合将大型物理处理器核的集合暴露给软件,并且对该软件隐藏小型物理处理器核的集合。
【IPC分类】G06F9/46, G06F9/38
【公开号】CN105144086
【申请号】CN201380062283
【发明人】P·纳凡兹, G·N·斯里尼瓦萨, E·高巴托夫, D·R·萨巴瑞迪, M·奈克, A·纳韦, A·帕拉哈卡兰, E·威斯曼, D·A·考法蒂, P·布莱特, S·D·哈恩, A·J·赫德瑞奇, I·M·索迪, G·康纳, R·J·芬格, B·E·贝格比, A·D·亨罗伊德
【申请人】英特尔公司
【公开日】2015年12月9日
【申请日】2013年6月27日
【公告号】US20140189299, WO2014105197A1
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1