首页> 中国专利> 向逻辑分区提供反映处理器核的独占使用的硬件线程特定信息

向逻辑分区提供反映处理器核的独占使用的硬件线程特定信息

摘要

用于模拟多个逻辑分区(LPAR)间对处理器核的独占使用的技术包括响应于LPAR的访问请求而提供硬件线程相关状态信息,其反映访问硬件线程相关信息的LPAR对处理器的独占使用。如果请求方是在低于管理程序特权级别的特权级别处执行的程序,则响应于访问请求而返回的信息被转换,从而每个逻辑分区视处理器好像其对处理器具有独占使用。该技术可以通过处理器核内的逻辑电路块来实现,其将硬件线程特定信息转换成硬件线程特定信息的逻辑表示或转换可以由中断处理程序的程序指令来实现,该中断处理程序陷入对包含所述信息的物理寄存器的访问。

著录项

  • 公开/公告号CN104011681A

    专利类型发明专利

  • 公开/公告日2014-08-27

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201280064372.X

  • 发明设计人 G·R·弗雷泽;N·纳亚;B·米利;

    申请日2012-12-10

  • 分类号G06F9/455(20060101);G06F9/38(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人酆迅;孙新国

  • 地址 美国纽约阿芒克

  • 入库时间 2023-12-17 01:19:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-28

    授权

    授权

  • 2014-09-24

    实质审查的生效 IPC(主分类):G06F9/455 申请日:20121210

    实质审查的生效

  • 2014-08-27

    公开

    公开

说明书

技术领域

本发明涉及处理系统和处理器,并且更具体地,涉及用于管理 返回给由处理器核的硬件线程所执行的逻辑分区的硬件线程特定信 息的值的技术。

背景技术

在大规模的计算机系统中,特别是在其中多个处理器支持多个 虚拟操作系统和映像(称为逻辑分区(LPAR))的多用户计算机系 统或所谓的云计算系统中,管理程序(hypervisor)管理对LPAR的 资源分配,以及在系统开机/关机时的LPAR的开始/停止和上下文切 换。当系统用于例如支持对于不同的客户执行不同的LPAR时,优 选地是将LPAR彼此隔离。通常,在此类的计算机系统中使用的处 理器核支持多个硬件线程的并发执行,例如8个或更多个硬件线程, 其对应于在处理器核内的并行执行流水线。另外通常,管理程序向 每个LPAR分配多个线程。

处理器内的状态和其他信息值是特定于硬件线程的,即,值可 以是针对每个硬件线程号的值,这取决于尝试访问该值的线程,或 可以是处理器支持的硬件线程的数目。

将期望的是提供用于独立于哪个LPAR正在访问信息来管理对 硬件线程特定信息的访问和提供LPAR之间的安全性的技术。

发明内容

本发明包括在响应于访问请求而提供硬件线程相关的状态信息 的方法、计算机系统、处理器核和计算机程序产品。如果请求方是 在低于管理程序特权级别的特权级别处执行的程序,则响应于访问 请求而返回的信息被转换,从而每个逻辑分区将处理器视为好像其 具有对处理器核的独占使用。

该方法可以由处理器内的逻辑电路块来实现,其将硬件线程特 定信息转换为硬件线程特定信息的逻辑表示,该逻辑表示反映由处 理器所执行的给定逻辑分区的线程对处理器核的独占使用。替代地, 转换可以由中断处理程序(handler)的程序指令来执行,该中断处 理程序陷入对于包含所述信息的处理器核的物理寄存器的访问。中 断处理程序或者直接转换寄存器的内容,或经由包含先前转换的线 程特定信息的表的存储中的查找来执行所述转换。

本发明的上述和其他目的、特定和优势将从下面的更为具体的 如附图所示出的本发明的优选实施例的描述而明显。

附图说明

在所附权利要求书中陈述本发明的相信为新颖性特征的特性。 然而,本发明本身以及优选的使用模式、进一步的目的及其优势在 结合附图阅读时、通过参考本发明的下面详细描述而得到最佳的理 解,其中类似的参考标号指示类似的组件,其中:

图1是示出其中实践本发明的实施例的技术的处理系统的框图;

图2是示出根据本发明的实施例的处理器核20的细节的框图;

图3是示出根据本发明的实施例的图2的处理器核20内的逻辑 线程信息块50的细节的框图;

图4是绘出根据本发明的另一实施例的方法的流程图。

具体实施方式

本发明涉及处理器核和处理系统,其中当由访问硬件线程相关 信息的逻辑分区(LPAR)访问时,处理器核内存储的硬件线程相关 信息被转换。执行转换,使得对于每个LPAR看起来该LPAR具有 对处理器核的独占使用。例如,如果处理器核支持8个硬件线程, 并且该线程在由处理器核所执行的两个LPAR之间平均分配,则当 LPAR访问处理器所支持的硬件线程的数目的信息时,对于处理器所 支持的硬件线程的数目的请求将被返回为4。类似地,硬件线程特定 信息的阵列或包括线程特定信息的字段的字将被修改为包含从零处 开始的仅4个条目(或由处理器所使用的其他基础线程号)。硬件 线程特定信息的转换由来自于低于管理程序特权级别的特权级别的 访问所触发,从而当管理程序访问硬件线程特定信息时,针对所有 硬件线程的硬件线程特定信息被返回。硬件线程特定寄存器值的转 换可以由逻辑电路来执行,或由陷入对寄存器的访问并且返回转换 的值的中断处理程序来执行,该转换的值可以从存储器中的表来取 回,或由中断处理程序直接计算。

现在参考图1,示出了根据本发明的实施例的处理系统。所绘出 的处理系统包括多个处理器10A-10D,每个处理器符合本发明的实 施例。所绘出的多处理系统是说明性的,并且根据本发明的其他实 施例的处理系统包括单处理器系统,其具有对称的多线程(SMT) 核。处理器10A-10D在结构上是相同的并且包括核20A-20B和逻辑 存储器12,该逻辑存储器12可以是高速缓存级或内部系统存储器的 级别。处理器10A-10B耦合到主系统存储器14,存储器子系统16, 该存储器子系统16包括非可移动驱动器和光驱动器,用于读取例如 CD-ROM17的介质,该介质形成计算机程序产品并且包含实现管理 程序的程序指令,该管理程序用于控制由处理器10A-10D所执行的 多个逻辑分区(LPAR),并且也包含操作系统,每个操作系统具有 至少一个管理程序线程,用于管理操作系统调度器和其他服务,并 且也包含可执行程序,该可执行程序实现在逻辑分区内运行的应用 和服务。所示出的处理系统也包括输入/输出(I/O)接口和用于接收 用户输入的装置18(例如,鼠标和键盘)和用于显示信息的图形显 示器。尽管图1的系统用于提供其中实现本发明的处理器架构的一 种系统的说明,将理解到的是所绘出的架构并非是限制性的,而是 旨在提供其中本发明的技术被应用的适当计算机系统的一个例子。

现在参考图2,在绘出的核20中示出图1的处理器核20A-20B 的细节。核20包括指令提取单元(IFU)22,其从高速缓存或系统 存储器提取一个或多个指令流,并且将指令流提供给指令解码单元 24。全局分发单元25将解码的指令分发给多个内部处理器流水线。 每个处理器流水线包括寄存器映射器26,发射队列27A-27D之一, 以及由分支执行单元(BXU)28所提供的执行单元,条件结果单元 (CRU)29、定点单元加载-存储单元(FXU/LSU)30或浮点单元 (FPU)31A-31B。例如计数器寄存器(CTR)23A、条件寄存器(CR) 23B、通用寄存器(GPR)23D和浮点结果寄存器(FPR)23C的寄 存器提供由相应的执行单元所执行操作的结果的位置。当指令的结 果被传输到结果寄存器23A-23D的相应之一时,全局完成表(GCT) 21提供被标记为完成的挂起操作的指示。寄存器映射器26在各种寄 存器集中分配存储,从而可以由各种流水线来支持程序代码的并发 执行。FXU/LSU30耦合到数据高速缓存44,该数据高速缓存44提 供加载和在存储器中存储核20中的流水线所需要或修改的数据值。 数据高速缓存44耦合到一个或多个变换索引(look-aside)缓冲器 (TLB)45,其将数据高速缓存44中的实或虚地址映射到外部存储 器空间中的地址。

示例性的处理器核20也包括逻辑线程信息块50,其在说明性的 例子中并且为了便于说明,其包含处理器核20内的所有硬件线程特 定寄存器。尽管硬件线程特定寄存器可以通常与其他寄存器位于相 同的位置或在任意的位置,在绘出的处理器核的实施例中,它们以 另外的逻辑来组织,该逻辑控制由FXU/LSU30对核20内的硬件线 程相关状态信息的访问,或由控制程序和由LPAR对核20内的硬件 线程相关状态信息的访问,以及由LPAR内执行的应用对核20内的 硬件线程相关状态信息的访问。示例性的硬件线程相关状态信息包 括线程标识寄存器(TIR)41和线程状态寄存器(CR)42,连同内 部线程消息递送状态寄存器43。下面的表I列出示例性的硬件线程 特定状态寄存器和它们的功能以及物理寄存器内容/范围。表1也示 出将或者通过下面参考图3所描述的控制逻辑,或者通过下面参考 图4所描述的中断处理软件,返回给尝试访问物理硬件线程特定寄 存器的LPAR的逻辑范围/内容。

表I

TIR41是返回正在访问TIR41的线程的硬件线程号的值的寄存 器。为了提供等同于模拟由硬件线程对处理器核20的独占使用的 LPAR的逻辑,线程号必须被归一化到属于LPAR的硬件线程号的范 围。为了简化和说明的目的,这里假设分配用于执行LPAR的线程 被顺序地编号,并且从基础硬件线程号扩展:基础[LPAR]到基础 [LPAR]+M,其中M比分配用于LPAR的线程数目小一。

转换TIR41的值仅需要从TRI41中的线程数号中减去base 基础[LPAR]。作为一个例子,对于其中LPAR#1分配有硬件线程0-2 并且因此具有基础[LPAR]=0,并且LPAR#2分配有硬件线程3-7,并 且因此具有基础[LPAR]=3的情形中,当(LPAR#2的)物理线程5 访问TIR41时,应该由实现本发明的硬件或软件所返回的逻辑值是 2(即,物理线程5减去为2的基础[LPAR])。因此,从物理线程特 定信息到逻辑线程特定信息的转换使得对于LPAR#2看起来TIR41 值的范围从0扩展到4,这将是支持5个硬件线程的处理器核的独占 使用的结果。CR42是包含每个硬件线程的执行状态(活的/死的) 的寄存器,带有一个比特用于由处理器核20所支持的每个硬件线程。 假设所有的比特从零开始从左向右编号,当LPAR访问CR42时, 返回的值包含针对分配给LPAR的每个线程的一个比特,从而CR42 的物理值向左移位基础[LPAR]比特位置,以获得返回给LPAR的CR 42的逻辑值,并且进一步由掩码值来进行掩码,该掩码值包含用于 分配给LPAR的每个硬件线程的1比特。从而,对于上面给出的例 子,当由LPAR#2的线程(其具有基础[LPAR]=3)来访问时,CR42 将向左移位3个比特位置并且被掩码。用于LPAR#2的CR42的逻 辑值是5比特字段,其包含以掩码11111000所进行掩码的CR42的 比特3到7,以移除可能已经从右移位进的信息。具有基础[LPAR]=0 的LPAR#1接收仅包含CR42的比特0到2的3比特字段,其是CR 42的未移位值(由于基础[LPAR]=0)以掩码=11100000来进行掩码 以移除对应于物理线程3-7的比特。转换线程间消息递送状态寄存器 43的值与上述的用于控制寄存器CR42的转换相同。线程间消息递 送状态寄存器43包含指示消息是否已经被递送到另一线程的比特。 寄存器包含针对其他线程的每个线程的一个比特,从而从访问寄存 器的线程到每个其他线程的消息可以被跟踪。为了转换线程间消息 递送状态寄存器43的值,线程间消息递送状态寄存器43的实际值 向左移位由基础[LPAR]指定的比特数目。因此,在上面给出的例子 中,LPAR#2接收线程间消息递送状态寄存器43的值,其是包含用 于线程3-7的比特的5比特字段,其向左移位3个比特,并且以 11111000的值来进行掩码,以移除可能已经从右移位进的信息。类 似地,LPAR#1接收线程间消息递送状态寄存器43的值,其是包含 用于线程0-2的3比特字段,其并没有被移位,并且以11100000的 值来掩码,以移除关于物理线程3-7的信息。当在线程间发送消息时, 由LPAR所执行的程序指令使用逻辑线程号。如果向其发送消息的 逻辑线程号在分配用于执行始发消息的LPAR的线程号的范围以外, 则报告错误。向未分配用于执行LPAR的线程的消息传送因此被阻 塞,以防止与另一LPAR的线程的通信。

现在参考图3,根据本发明的实施例示出图2的逻辑线程信息块 50的细节。尽管存在许多种不同的方式来实现逻辑线程信息块50, 在图3中绘出的电路提供一个例子。在逻辑线程信息块50内,硬件 线程相关信息状态寄存器由寄存器51来表示并且将理解对于每个此 类的状态寄存器51,当需要时,将复制对于执行上述转换所需的输 入输出和电路。选择器53选择状态寄存器51的输出,除非当状态 寄存器51正在由非管理程序进程访问(控制信号/管理程序=1)。逻 辑与门54向选择器53提供选择信号,并且当非管理程序进程访问 状态寄存器51时,选择器53选择转换逻辑52的输出,转换逻辑52 执行上述参考图2所描述的转换。

现在参考图4,根据本发明的替代实施例,在流程图中示出一种 用于向LPAR提供硬件线程相关状态信息的方法。在图4中示出的 方法并不需要在处理器核20中实现逻辑线程信息块50,并且提供可 替代的机制来将物理硬件线程相关寄存器值转换成模拟由每个 LPAR对处理器核20的独占使用的值。如在图4中所示出的,当程 序访问包含硬件线程特定信息的寄存器时(步骤60),如果访问进 程是管理程序(判定61),则返回物理寄存器值(步骤62)。然而, 如果访问进程不是管理程序(判定61),即访问进程属于LPAR之 一,则硬件中断被触发以陷入访问(步骤63)。处理器核20具有对 中断服务处理程序将返回的返回地址的程序控制,并且设置该返回 地址为跟随尝试访问硬件线程相关寄存器的指令的指令的地址。逻 辑寄存器值或者通过编程地执行类似于上述参考图3所述的逻辑所 执行的那些操作来获得逻辑寄存器值,或者,可以提前执行转换并 且每次在存储器中更新线程相关状态信息寄存器之一时被维护,从 而响应于访问,可以取回逻辑硬件线程相关寄存器值(步骤64)并 且接着返回(步骤65),这通常通过利用转换的硬件线程相关信息 写由访问指令指定的目标寄存器或存储器位置来执行。直到系统关 机或可选地,如果LPAR实际确实具有对处理器核的完全和独占使 用(判定65),则重复步骤60-65的过程。

如上所指出,本发明的多个部分可以包括在计算机程序产品中, 其可以包括固件、系统存储器中的映像或另一存储器/高速缓存,或 存储在固定或可重写介质上,例如具有在其上存储的计算机可读代 码的光盘。根据本发明的实施例,一个或多个计算机可读介质的任 意组合可以存储程序。计算机可读介质可以是计算机可读信号介质 或计算机可读存储介质。计算机可读存储介质可以例如但不限于电 的、磁的、光的、电磁的、红外的、或半导体系统、设备或装置, 或前述的任意适当的组合。计算机可读存储介质的更为具体的例子 (非穷举的列表)将包括下面的:具有一个或多个导线的电连接、 便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器 (ROM)、可擦除可编程只读存储器(EPROM或闪存存储器)、光 纤、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装 置或前述的任意适当的组合。

在本申请的上下文中,计算机可读存储介质可以是任意有形介 质,其可以包含或存储程序以便由指令执行系统、设备或装置使用, 或结合指令执行系统、设备或装置来使用。计算机可读信号介质可 以包括具有其中包括计算机可读程序代码的传播的数据信号,例如 在基带中或作为载波的一部分。此类的传播信号可以采取任意各种 的形式,包括但不限于电磁的、光的或其任意合适的组合。计算机 可读信号介质可以是任意的计算机可读介质,其不是计算机可读存 储介质并且可以传送、传播、或传输程序以便由指令执行系统、设 备或装置使用或结合指令执行系统、设备或装置来使用。包括在计 算机可读介质上的程序代码可以使用任意合适的介质来传送,包括 但不限于无线、有线、光纤光缆、RF等,或前述的任意合适组合。

尽管已经参考其优选的实施例具体示出和描述了本发明,本领 域技术人员将理解可以做出前述和形式上的其他改变和细节,而不 偏离本发明的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号