CN104011681B - 向逻辑分区提供反映处理器核的独占使用的硬件线程特定信息 - Google Patents
向逻辑分区提供反映处理器核的独占使用的硬件线程特定信息 Download PDFInfo
- Publication number
- CN104011681B CN104011681B CN201280064372.XA CN201280064372A CN104011681B CN 104011681 B CN104011681 B CN 104011681B CN 201280064372 A CN201280064372 A CN 201280064372A CN 104011681 B CN104011681 B CN 104011681B
- Authority
- CN
- China
- Prior art keywords
- hardware thread
- relevant information
- hardware
- register
- logical partition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000005192 partition Methods 0.000 title claims abstract description 41
- 238000006243 chemical reaction Methods 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000014509 gene expression Effects 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000012384 transportation and delivery Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000003733 optic disk Anatomy 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45541—Bare-metal, i.e. hypervisor runs directly on hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
Abstract
用于模拟多个逻辑分区(LPAR)间对处理器核的独占使用的技术包括响应于LPAR的访问请求而提供硬件线程相关状态信息,其反映访问硬件线程相关信息的LPAR对处理器的独占使用。如果请求方是在低于管理程序特权级别的特权级别处执行的程序,则响应于访问请求而返回的信息被转换,从而每个逻辑分区视处理器好像其对处理器具有独占使用。该技术可以通过处理器核内的逻辑电路块来实现,其将硬件线程特定信息转换成硬件线程特定信息的逻辑表示或转换可以由中断处理程序的程序指令来实现,该中断处理程序陷入对包含所述信息的物理寄存器的访问。
Description
技术领域
本发明涉及处理系统和处理器,并且更具体地,涉及用于管理返回给由处理器核的硬件线程所执行的逻辑分区的硬件线程特定信息的值的技术。
背景技术
在大规模的计算机系统中,特别是在其中多个处理器支持多个虚拟操作系统和映像(称为逻辑分区(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-ROM 17的介质,该介质形成计算机程序产品并且包含实现管理程序的程序指令,该管理程序用于控制由处理器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/LSU 30耦合到数据高速缓存44,该数据高速缓存44提供加载和在存储器中存储核20中的流水线所需要或修改的数据值。数据高速缓存44耦合到一个或多个变换索引(look-aside)缓冲器(TLB)45,其将数据高速缓存44中的实或虚地址映射到外部存储器空间中的地址。
示例性的处理器核20也包括逻辑线程信息块50,其在说明性的例子中并且为了便于说明,其包含处理器核20内的所有硬件线程特定寄存器。尽管硬件线程特定寄存器可以通常与其他寄存器位于相同的位置或在任意的位置,在绘出的处理器核的实施例中,它们以另外的逻辑来组织,该逻辑控制由FXU/LSU 30对核20内的硬件线程相关状态信息的访问,或由控制程序和由LPAR对核20内的硬件线程相关状态信息的访问,以及由LPAR内执行的应用对核20内的硬件线程相关状态信息的访问。示例性的硬件线程相关状态信息包括线程标识寄存器(TIR)41和线程状态寄存器(CR)42,连同内部线程消息递送状态寄存器43。下面的表I列出示例性的硬件线程特定状态寄存器和它们的功能以及物理寄存器内容/范围。表1也示出将或者通过下面参考图3所描述的控制逻辑,或者通过下面参考图4所描述的中断处理软件,返回给尝试访问物理硬件线程特定寄存器的LPAR的逻辑范围/内容。
表I
TIR 41是返回正在访问TIR 41的线程的硬件线程号的值的寄存器。为了提供等同于模拟由硬件线程对处理器核20的独占使用的LPAR的逻辑,线程号必须被归一化到属于LPAR的硬件线程号的范围。为了简化和说明的目的,这里假设分配用于执行LPAR的线程被顺序地编号,并且从基础硬件线程号扩展:基础[LPAR]到基础[LPAR]+M,其中M比分配用于LPAR的线程数目小一。
转换TIR 41的值仅需要从TRI 41中的线程数号中减去base基础[LPAR]。作为一个例子,对于其中LPAR#1分配有硬件线程0-2并且因此具有基础[LPAR]=0,并且LPAR#2分配有硬件线程3-7,并且因此具有基础[LPAR]=3的情形中,当(LPAR#2的)物理线程5访问TIR41时,应该由实现本发明的硬件或软件所返回的逻辑值是2(即,物理线程5减去基础[LPAR],得出2)。因此,从物理线程特定信息到逻辑线程特定信息的转换使得对于LPAR#2看起来TIR 41值的范围从0扩展到4,这将是支持5个硬件线程的处理器核的独占使用的结果。CR 42是包含每个硬件线程的执行状态(活的/死的)的寄存器,带有一个比特用于由处理器核20所支持的每个硬件线程。假设所有的比特从零开始从左向右编号,当LPAR访问CR 42时,返回的值包含针对分配给LPAR的每个线程的一个比特,从而CR 42的物理值向左移位基础[LPAR]比特位置,以获得返回给LPAR的CR 42的逻辑值,并且进一步由掩码值来进行掩码,该掩码值包含用于分配给LPAR的每个硬件线程的1比特。从而,对于上面给出的例子,当由LPAR#2的线程(其具有基础[LPAR]=3)来访问时,CR 42将向左移位3个比特位置并且被掩码。用于LPAR#2的CR 42的逻辑值是5比特字段,其包含以掩码11111000所进行掩码的CR42的比特3到7,以移除可能已经从右移位进的信息。具有基础[LPAR]=0的LPAR#1接收仅包含CR 42的比特0到2的3比特字段,其是CR 42的未移位值(由于基础[LPAR]=0)以掩码=11100000来进行掩码以移除对应于物理线程3-7的比特。转换线程间消息递送状态寄存器43的值与上述的用于控制寄存器CR 42的转换相同。线程间消息递送状态寄存器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等,或前述的任意合适组合。
尽管已经参考其优选的实施例具体示出和描述了本发明,本领域技术人员将理解可以做出前述和形式上的其他改变和细节,而不偏离本发明的精神和范围。
Claims (21)
1.一种用于在执行多个逻辑分区内的进程的支持一定数目的硬件线程的多线程处理器中提供硬件线程相关信息的方法,所述方法包括:
维护所述多线程处理器内的寄存器中的所述硬件线程相关信息;
检测由当前执行的进程中的一个进程对所述硬件线程相关信息的访问;
确定所述当前执行的进程的特权级别是否指示所述当前执行的进程在所述多个逻辑分区的一个给定逻辑分区内的进程;以及
响应于确定所述当前执行的进程的所述特权级别指示所述当前执行的进程在所述多个逻辑分区中的一个给定逻辑分区内的进程,以指示由被执行用于给定的逻辑分区的处理的硬件线程对所述多线程处理器的独占使用的方式来选择性地转换所述硬件线程相关信息,并且对存在于所述寄存器中的硬件线程相关信息进行掩码,所述硬件线程相关信息对应于所述多线程处理器的一个或多个硬件线程,所述一个或多个硬件线程被分配以执行除所述给定逻辑分区以外的另一逻辑分区的进程,其中对于所述给定逻辑分区分配少于所述处理器所支持的所有硬件线程的硬件线程。
2.根据权利要求1所述的方法,其中所述确定还确定所述当前执行的进程的所述特权级别对应于管理所述多个逻辑分区的管理程序,并且其中所述方法还包括响应于确定所述当前执行的进程是管理程序的进程,以对于所述多线程处理器所支持的所有数目的硬件线程示出在所述寄存器中的所有硬件线程相关信息的方式来格式化所述硬件线程相关信息。
3.根据权利要求1所述的方法,其中由电路来执行所述转换,所述电路包括:
逻辑块,其从所述寄存器中的所述硬件线程相关信息生成逻辑寄存器值,以模拟所述给定逻辑分区对所述多线程处理器的独占使用,其中所述逻辑寄存器值不同于寄存器中的实际值;以及
数据选择器,其耦合到所述逻辑块,所述数据选择器响应于所述访问,选择所述逻辑块的输出来向所述当前执行的进程提供所述逻辑寄存器值。
4.根据权利要求2所述的方法,其中格式化所述硬件线程相关信息通过以下来执行:
当对所述硬件线程相关信息的所述访问由所述检测来检测到时,生成陷阱中断;
由执行服务所述陷阱中断的中断服务例程的所述多线程处理器将所述寄存器中的所述硬件线程相关信息转换,以模拟所述给定逻辑分区对所述多线程处理器的独占使用,以生成不同于所述寄存器中的实际值的逻辑寄存器值;以及
以所述逻辑寄存器值来替代用于对所述硬件线程相关信息的访问的返回值。
5.根据权利要求1所述的方法,其中所述硬件线程相关信息是所述多线程处理器所支持的硬件线程的所述数目,并且其中所述转换返回被分配给所述给定逻辑分区的所述硬件线程的所述数目的量。
6.根据权利要求1所述的方法,其中所述硬件线程相关信息是取决于分配给所述给定逻辑分区并且由所述进程指定的具体硬件线程的逻辑硬件线程号的值,并且其中所述转换包括:
从所述逻辑硬件线程号生成实际硬件线程号;
使用所述实际硬件线程号取回针对具体硬件线程的所述硬件线程相关信息;以及
响应于所述访问而返回取回的所述硬件线程相关信息。
7.根据权利要求6所述的方法,其中所述硬件线程相关信息是执行所述访问的硬件线程的所述硬件线程号,并且其中所述逻辑硬件线程号减去针对所述给定逻辑分区的基础线程号,以获得所述实际硬件线程号。
8.一种多线程处理器核,包括:
一个或多个执行单元,用于执行多个硬件线程的指令;
指令提取单元,用于提取所述多个硬件线程的所述指令;
指令分发单元,用于向所述执行单元分发所述指令;
第一寄存器,其包含硬件线程相关信息;
逻辑电路,用于确定访问所述第一寄存器的进程的优先级是否指示所述进程是否具有到被包含在所述第一寄存器中的所述硬件线程相关信息的完全访问,并且响应于确定进程不具有到所述硬件线程相关信息的完全访问,将所述硬件线程相关信息选择性地转换为所述硬件线程相关信息的逻辑表示,以反映由所述多线程处理器核所执行的给定逻辑分区的针对进程而被执行的硬件线程对所述多线程处理器核的独占使用,并且对存在于所述寄存器中的硬件线程相关信息进行掩码,所述硬件线程相关信息对应于所述多线程处理器核的一个或多个硬件线程,所述一个或多个硬件线程被分配以执行除所述给定逻辑分区以外的另一逻辑分区的进程。
9.根据权利要求8所述的多线程处理器核,其中当在低于管理程序特权级别的特权级别处访问所述第一寄存器时,选择所述逻辑电路的输出。
10.根据权利要求9所述的多线程处理器核,进一步包括数据选择器,用于在当从低于所述管理程序特权级别的特权级别访问所述第一寄存器时的所述逻辑电路的输出和当从所述管理程序特权级别访问所述第一寄存器时的所述第一寄存器中的值之间进行选择。
11.根据权利要求8所述的多线程处理器核,其中所述硬件线程相关信息是所述多线程处理器核所支持的所述硬件线程数目,并且其中所述硬件线程相关信息的所述逻辑表示是分配给所述给定逻辑分区的硬件线程的数目。
12.根据权利要求8所述的多线程处理器核,其中所述硬件线程相关信息是取决于分配给所述给定逻辑分区并且当访问所述第一寄存器时被指定的具体硬件线程的逻辑硬件线程号的值,并且其中所述逻辑电路从所述逻辑硬件线程号生成实际硬件线程号,使用所述实际硬件线程号来取回针对具体硬件线程的所述硬件线程相关信息,并且提供取回的所述硬件线程相关信息作为输出。
13.根据权利要求12所述的多线程处理器核,其中所述硬件线程相关信息是执行所述访问的硬件线程的所述硬件线程号,并且其中所述逻辑电路从执行所述访问的所述硬件线程号减去针对所述给定逻辑分区的基础线程号,以获得所述实际硬件线程号。
14.一种计算机系统,包括:
存储器,用于存储程序指令和数据值;以及
耦合到所述存储器的多线程处理器,用于执行所述程序指令,其中所述多线程处理器包括一个或多个执行单元,用于执行多个硬件线程的指令;指令提取单元,用于提取所述多个硬件线程的所述指令;指令分发单元,用于向所述执行单元分发所述多个硬件线程的所述指令;第一寄存器,其包含硬件线程相关信息;以及逻辑电路,确定访问所述第一寄存器的进程的优先级是否指示所述进程是否具有到被包含在所述第一寄存器中的所述硬件线程相关信息的完全访问,并且响应于确定进程不具有到所述硬件线程相关信息的完全访问,用于将所述硬件线程相关信息选择性地转换为所述硬件线程相关信息的逻辑表示,以反映由所述多线程处理器所执行的给定逻辑分区的由进程所执行的硬件线程对所述多线程处理器的独占使用,并且对存在于所述寄存器中的硬件线程相关信息进行掩码,所述硬件线程相关信息对应于所述多线程处理器的一个或多个硬件线程,所述一个或多个硬件线程被分配给除所述给定逻辑分区以外的另一逻辑分区。
15.根据权利要求14所述的计算机系统,其中当在低于管理程序特权级别的特权级别处访问所述第一寄存器时,选择所述逻辑电路的输出。
16.根据权利要求15所述的计算机系统,其中所述多线程处理器进一步包括数据选择器,用于在当从低于所述管理程序特权级别的特权级别访问所述第一寄存器时的所述逻辑电路的输出和当从所述管理程序特权级别访问所述第一寄存器时的所述第一寄存器中的值之间进行选择。
17.根据权利要求14所述的计算机系统,其中所述硬件线程相关信息是所述多线程处理器所支持的所述硬件线程数目,并且其中所述硬件线程相关信息的所述逻辑表示是分配给所述给定逻辑分区的硬件线程的数目。
18.根据权利要求14所述的计算机系统,其中所述硬件线程相关信息是取决于分配给所述给定逻辑定分区并且当访问所述第一寄存器时被指定的具体硬件线程的逻辑硬件线程号的值,并且其中所述逻辑电路从所述逻辑硬件线程号生成实际硬件线程号,使用所述实际硬件线程号来取回所述具体硬件线程的所述硬件线程相关信息,并且提供取回的硬件线程相关信息作为输出。
19.根据权利要求18所述的计算机系统,其中所述硬件线程相关信息是执行所述访问的所述硬件线程的所述硬件线程号,并且其中所述逻辑电路从执行所述访问的所述硬件线程的所述硬件线程号减去针对所述给定逻辑分区的基础线程号,以获得所述实际硬件线程号。
20.一种计算机系统,包括:
存储器,用于存储程序指令和数据值;以及
耦合到所述存储器的处理器,用于执行所述程序指令,其中所述程序指令是用于管理处理器内执行的多个逻辑分区的管理程序的程序指令,其中所述程序指令包括:中断处理程序的程序指令,用于响应于在访问包含硬件线程相关信息的寄存器时生成的陷阱中断,通过产生不同于所述寄存器中的实际值的逻辑寄存器值来选择性地转换所述寄存器中的所述硬件线程相关信息以反映由给定逻辑分区对所述处理器的独占使用,以及所述中断处理程序的程序指令,用于以所述逻辑寄存器值来替代用于对包含所述硬件线程相关信息的所述寄存器的所述访问的返回值,其中所述硬件线程相关信息是取决于被分配给所述给定逻辑分区并且由到所述寄存器的所述访问所指定的具体硬件线程的逻辑硬件线程号的值,并且其中对在所述寄存器中的所述硬件线程相关信息进行转换的中断处理器的程序指令包括用于以下的程序指令:从所述逻辑硬件线程号产生实际硬件线程号;以及使用所述实际硬件线程号来取回针对所述具体硬件线程的所述硬件线程相关信息,其中取代所述返回值的程序指令利用所取回的所述硬件线程相关信息来取代所述返回值,其中所述硬件线程相关信息是执行所述访问的所述硬件线程的所述硬件线程号,并且其中所述逻辑硬件线程号减去针对所述给定逻辑分区的基础线程号以获得所述实际硬件线程号。
21.根据权利要求20所述的计算机系统,其中所述硬件线程相关信息是由所述处理器所支持的硬件线程数目,并且其中进行转换的程序指令返回分配给所述给定逻辑分区的硬件线程的数目。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/345,002 | 2012-01-06 | ||
US13/345,002 US9069598B2 (en) | 2012-01-06 | 2012-01-06 | Providing logical partions with hardware-thread specific information reflective of exclusive use of a processor core |
PCT/EP2012/074935 WO2013102532A2 (en) | 2012-01-06 | 2012-12-10 | Providing logical partitions with hardware-thread specific information reflective of exclusive use of a processor core |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104011681A CN104011681A (zh) | 2014-08-27 |
CN104011681B true CN104011681B (zh) | 2017-07-28 |
Family
ID=47469923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280064372.XA Active CN104011681B (zh) | 2012-01-06 | 2012-12-10 | 向逻辑分区提供反映处理器核的独占使用的硬件线程特定信息 |
Country Status (5)
Country | Link |
---|---|
US (4) | US9069598B2 (zh) |
CN (1) | CN104011681B (zh) |
DE (1) | DE112012005085B4 (zh) |
GB (1) | GB2513266B (zh) |
WO (1) | WO2013102532A2 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069598B2 (en) | 2012-01-06 | 2015-06-30 | International Business Machines Corporation | Providing logical partions with hardware-thread specific information reflective of exclusive use of a processor core |
US9129071B2 (en) * | 2012-10-24 | 2015-09-08 | Texas Instruments Incorporated | Coherence controller slot architecture allowing zero latency write commit |
US9354883B2 (en) | 2014-03-27 | 2016-05-31 | International Business Machines Corporation | Dynamic enablement of multithreading |
US9218185B2 (en) | 2014-03-27 | 2015-12-22 | International Business Machines Corporation | Multithreading capability information retrieval |
US9804846B2 (en) | 2014-03-27 | 2017-10-31 | International Business Machines Corporation | Thread context preservation in a multithreading computer system |
US9921848B2 (en) | 2014-03-27 | 2018-03-20 | International Business Machines Corporation | Address expansion and contraction in a multithreading computer system |
US9417876B2 (en) | 2014-03-27 | 2016-08-16 | International Business Machines Corporation | Thread context restoration in a multithreading computer system |
US10102004B2 (en) | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
US9594660B2 (en) | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
GB2537115B (en) * | 2015-04-02 | 2021-08-25 | Advanced Risc Mach Ltd | Event monitoring in a multi-threaded data processing apparatus |
US10908909B2 (en) * | 2015-06-09 | 2021-02-02 | Optimum Semiconductor Technologies Inc. | Processor with mode support |
US10209889B2 (en) | 2016-07-14 | 2019-02-19 | International Business Machines Corporation | Invalidation of shared memory in a virtual environment |
US10176115B2 (en) | 2016-07-14 | 2019-01-08 | International Business Machines Corporation | Shared memory in a virtual environment |
US10552211B2 (en) * | 2016-09-02 | 2020-02-04 | Intel Corporation | Mechanism to increase thread parallelism in a graphics processor |
US10664306B2 (en) | 2017-01-13 | 2020-05-26 | Arm Limited | Memory partitioning |
US10394454B2 (en) | 2017-01-13 | 2019-08-27 | Arm Limited | Partitioning of memory system resources or performance monitoring |
US10649678B2 (en) | 2017-01-13 | 2020-05-12 | Arm Limited | Partitioning of memory system resources or performance monitoring |
US20180203807A1 (en) | 2017-01-13 | 2018-07-19 | Arm Limited | Partitioning tlb or cache allocation |
US10268379B2 (en) * | 2017-01-13 | 2019-04-23 | Arm Limited | Partitioning of memory system resources or performance monitoring |
CN110235085A (zh) * | 2017-01-13 | 2019-09-13 | 阿里巴巴集团控股有限公司 | 确定多处理系统的处理器使用率 |
US10664400B2 (en) | 2017-07-11 | 2020-05-26 | Arm Limited | Address translation cache partitioning |
US20190095554A1 (en) * | 2017-09-28 | 2019-03-28 | Intel Corporation | Root complex integrated endpoint emulation of a discreet pcie endpoint |
GB2570161B (en) * | 2018-01-16 | 2020-03-25 | Advanced Risc Mach Ltd | Simulation of exclusive instructions |
US10747508B2 (en) * | 2018-12-31 | 2020-08-18 | Rockwell Automation Technologies, Inc. | Function block framework generation |
US11256625B2 (en) | 2019-09-10 | 2022-02-22 | Arm Limited | Partition identifiers for page table walk memory transactions |
US11500568B2 (en) | 2020-01-02 | 2022-11-15 | International Business Machines Corporation | LPM management using contingent and conditional inputs |
US20220318051A1 (en) * | 2021-03-31 | 2022-10-06 | Arm Limited | Circuitry and method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1387641A (zh) * | 1999-08-31 | 2002-12-25 | 英特尔公司 | 并行处理器中的多线程执行 |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6341338B1 (en) * | 1999-02-04 | 2002-01-22 | Sun Microsystems, Inc. | Protocol for coordinating the distribution of shared memory |
US6539427B1 (en) * | 1999-06-29 | 2003-03-25 | Cisco Technology, Inc. | Dynamically adaptive network element in a feedback-based data network |
US6438671B1 (en) * | 1999-07-01 | 2002-08-20 | International Business Machines Corporation | Generating partition corresponding real address in partitioned mode supporting system |
US6542920B1 (en) | 1999-09-24 | 2003-04-01 | Sun Microsystems, Inc. | Mechanism for implementing multiple thread pools in a computer system to optimize system performance |
US7216233B1 (en) | 2000-08-14 | 2007-05-08 | Sun Microsystems, Inc. | Apparatus, methods, and computer program products for filtering information |
US6748556B1 (en) * | 2000-08-15 | 2004-06-08 | International Business Machines Corporation | Changing the thread capacity of a multithreaded computer processor |
US20020161828A1 (en) * | 2001-04-30 | 2002-10-31 | Michael Edison | System and method for communicating with a device |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US7287254B2 (en) * | 2002-07-30 | 2007-10-23 | Unisys Corporation | Affinitizing threads in a multiprocessor system |
JP4123942B2 (ja) * | 2003-01-14 | 2008-07-23 | 株式会社日立製作所 | 情報処理装置 |
US20050028105A1 (en) * | 2003-02-28 | 2005-02-03 | Scott Musson | Method for entitling a user interface |
US7328438B2 (en) | 2003-03-27 | 2008-02-05 | International Business Machines Corporation | Deallocation of computer data in a multithreaded computer |
US7000051B2 (en) * | 2003-03-31 | 2006-02-14 | International Business Machines Corporation | Apparatus and method for virtualizing interrupts in a logically partitioned computer system |
US7350060B2 (en) | 2003-04-24 | 2008-03-25 | International Business Machines Corporation | Method and apparatus for sending thread-execution-state-sensitive supervisory commands to a simultaneous multi-threaded (SMT) processor |
US7496915B2 (en) | 2003-04-24 | 2009-02-24 | International Business Machines Corporation | Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes |
US7197745B2 (en) * | 2003-05-02 | 2007-03-27 | Microsoft Corporation | User debugger for use on processes running in a high assurance kernel in an operating system |
US8032890B2 (en) * | 2003-07-22 | 2011-10-04 | Sap Ag | Resources managing in isolated plurality of applications context using data slots to access application global data and specification of resources lifetime to access resources |
US7418585B2 (en) * | 2003-08-28 | 2008-08-26 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7089341B2 (en) * | 2004-03-31 | 2006-08-08 | International Business Machines Corporation | Method and apparatus for supporting interrupt devices configured for a particular architecture on a different platform |
US7216223B2 (en) * | 2004-04-30 | 2007-05-08 | Hewlett-Packard Development Company, L.P. | Configuring multi-thread status |
US7873776B2 (en) * | 2004-06-30 | 2011-01-18 | Oracle America, Inc. | Multiple-core processor with support for multiple virtual processors |
US7890735B2 (en) * | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
US7370156B1 (en) * | 2004-11-04 | 2008-05-06 | Panta Systems, Inc. | Unity parallel processing system and method |
US7810083B2 (en) | 2004-12-30 | 2010-10-05 | Intel Corporation | Mechanism to emulate user-level multithreading on an OS-sequestered sequencer |
US20060212870A1 (en) | 2005-02-25 | 2006-09-21 | International Business Machines Corporation | Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization |
US8230423B2 (en) * | 2005-04-07 | 2012-07-24 | International Business Machines Corporation | Multithreaded processor architecture with operational latency hiding |
CN100552771C (zh) * | 2005-04-15 | 2009-10-21 | 松下电器产业株式会社 | 显示控制电路及显示系统 |
US20060253682A1 (en) * | 2005-05-05 | 2006-11-09 | International Business Machines Corporation | Managing computer memory in a computing environment with dynamic logical partitioning |
US20070094664A1 (en) * | 2005-10-21 | 2007-04-26 | Kimming So | Programmable priority for concurrent multi-threaded processors |
JP2007133807A (ja) | 2005-11-14 | 2007-05-31 | Hitachi Ltd | データ処理システム、ストレージ装置及び管理装置 |
US7669186B2 (en) * | 2005-11-16 | 2010-02-23 | Sun Microsystems, Inc. | Debugging applications at resource constrained virtual machines using dynamically installable lightweight agents |
US7624257B2 (en) * | 2005-11-30 | 2009-11-24 | International Business Machines Corporation | Digital data processing apparatus having hardware multithreading support including a register set reserved for special class threads |
JP2010514028A (ja) | 2006-12-22 | 2010-04-30 | バーチャルロジックス エスエイ | 単一データ処理を共有するために複数の実行環境を有効化するシステム |
US7783849B2 (en) * | 2007-01-05 | 2010-08-24 | International Business Machines Corporation | Using trusted user space pages as kernel data pages |
US7941803B2 (en) | 2007-01-15 | 2011-05-10 | International Business Machines Corporation | Controlling an operational mode for a logical partition on a computing system |
US9003410B2 (en) * | 2007-01-30 | 2015-04-07 | Hewlett-Packard Development Company, L.P. | Abstracting a multithreaded processor core to a single threaded processor core |
US7711822B1 (en) * | 2007-03-26 | 2010-05-04 | Oracle America, Inc. | Resource management in application servers |
US8812824B2 (en) | 2007-06-13 | 2014-08-19 | International Business Machines Corporation | Method and apparatus for employing multi-bit register file cells and SMT thread groups |
US8161476B2 (en) * | 2007-07-04 | 2012-04-17 | International Business Machines Corporation | Processor exclusivity in a partitioned system |
US8176487B2 (en) * | 2007-08-02 | 2012-05-08 | International Business Machines Corporation | Client partition scheduling and prioritization of service partition work |
US7734900B2 (en) * | 2008-01-11 | 2010-06-08 | International Business Machines Corporation | Computer configuration virtual topology discovery and instruction therefore |
US7739434B2 (en) * | 2008-01-11 | 2010-06-15 | International Business Machines Corporation | Performing a configuration virtual topology change and instruction therefore |
US8634796B2 (en) * | 2008-03-14 | 2014-01-21 | William J. Johnson | System and method for location based exchanges of data facilitating distributed location applications |
US8200947B1 (en) * | 2008-03-24 | 2012-06-12 | Nvidia Corporation | Systems and methods for voting among parallel threads |
US9058483B2 (en) * | 2008-05-08 | 2015-06-16 | Google Inc. | Method for validating an untrusted native code module |
CN102067088A (zh) * | 2008-06-19 | 2011-05-18 | 松下电器产业株式会社 | 多处理器 |
US8151095B1 (en) * | 2008-07-18 | 2012-04-03 | Nvidia Corporation | System and method for context migration across CPU threads |
US8136158B1 (en) * | 2008-07-21 | 2012-03-13 | Google Inc. | User-level segmentation mechanism that facilitates safely executing untrusted native code |
US8560568B2 (en) * | 2008-08-26 | 2013-10-15 | Zeewise, Inc. | Remote data collection systems and methods using read only data extraction and dynamic data handling |
US9405931B2 (en) * | 2008-11-14 | 2016-08-02 | Dell Products L.P. | Protected information stream allocation using a virtualized platform |
US8949838B2 (en) * | 2009-04-27 | 2015-02-03 | Lsi Corporation | Multi-threaded processing with hardware accelerators |
US8195879B2 (en) * | 2009-05-08 | 2012-06-05 | International Business Machines Corporation | Demand based partitioning of microprocessor caches |
US8484648B2 (en) | 2009-10-19 | 2013-07-09 | International Business Machines Corporation | Hardware multi-threading co-scheduling for parallel processing systems |
US8897741B2 (en) * | 2009-11-13 | 2014-11-25 | William J. Johnson | System and method for mobile device usability by locational conditions |
US8615644B2 (en) | 2010-02-19 | 2013-12-24 | International Business Machines Corporation | Processor with hardware thread control logic indicating disable status when instructions accessing shared resources are completed for safe shared resource condition |
US8775781B2 (en) * | 2010-03-25 | 2014-07-08 | Microsoft Corporation | Intelligent boot device selection and recovery |
US8719561B2 (en) * | 2010-11-29 | 2014-05-06 | International Business Machines Corporation | Automatic configuration sampling for managing configuration parameters of a computer system |
US9547593B2 (en) * | 2011-02-28 | 2017-01-17 | Nxp Usa, Inc. | Systems and methods for reconfiguring cache memory |
US8793284B2 (en) * | 2011-05-26 | 2014-07-29 | Laurie Dean Perrin | Electronic device with reversing stack data container and related methods |
US8751872B2 (en) * | 2011-05-27 | 2014-06-10 | Microsoft Corporation | Separation of error information from error propagation information |
US9092236B1 (en) * | 2011-06-05 | 2015-07-28 | Yong-Kyu Jung | Adaptive instruction prefetching and fetching memory system apparatus and method for microprocessor system |
US8667600B2 (en) * | 2011-06-30 | 2014-03-04 | International Business Machines Corporation | Trusted computing source code escrow and optimization |
US8694738B2 (en) * | 2011-10-11 | 2014-04-08 | Mcafee, Inc. | System and method for critical address space protection in a hypervisor environment |
US8898434B2 (en) * | 2011-11-11 | 2014-11-25 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Optimizing system throughput by automatically altering thread co-execution based on operating system directives |
US9069598B2 (en) | 2012-01-06 | 2015-06-30 | International Business Machines Corporation | Providing logical partions with hardware-thread specific information reflective of exclusive use of a processor core |
JP5813554B2 (ja) * | 2012-03-30 | 2015-11-17 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
WO2013147865A1 (en) * | 2012-03-30 | 2013-10-03 | Intel Corporation | A mechanism for saving and retrieving micro-architecture context |
US8578069B2 (en) * | 2012-04-04 | 2013-11-05 | International Business Machines Corporation | Prefetching for a shared direct memory access (DMA) engine |
WO2013151454A1 (en) * | 2012-04-06 | 2013-10-10 | Google Inc. | Hosted application sandboxing |
US8804523B2 (en) * | 2012-06-21 | 2014-08-12 | Microsoft Corporation | Ensuring predictable and quantifiable networking performance |
US9524263B2 (en) * | 2012-06-29 | 2016-12-20 | Intel Corporation | Method and apparatus for bus lock assistance |
US9436626B2 (en) * | 2012-08-09 | 2016-09-06 | Freescale Semiconductor, Inc. | Processor interrupt interface with interrupt partitioning and virtualization enhancements |
CN103853527A (zh) * | 2012-11-29 | 2014-06-11 | 国际商业机器公司 | 切换多线程程序中的对象锁定模式的方法和系统 |
US9183399B2 (en) * | 2013-02-14 | 2015-11-10 | International Business Machines Corporation | Instruction set architecture with secure clear instructions for protecting processing unit architected state information |
-
2012
- 2012-01-06 US US13/345,002 patent/US9069598B2/en active Active
- 2012-04-20 US US13/452,745 patent/US8990816B2/en not_active Expired - Fee Related
- 2012-12-10 DE DE112012005085.1T patent/DE112012005085B4/de active Active
- 2012-12-10 CN CN201280064372.XA patent/CN104011681B/zh active Active
- 2012-12-10 GB GB1412799.7A patent/GB2513266B/en active Active
- 2012-12-10 WO PCT/EP2012/074935 patent/WO2013102532A2/en active Application Filing
-
2015
- 2015-05-26 US US14/721,052 patent/US9898616B2/en active Active
-
2017
- 2017-12-29 US US15/858,244 patent/US10354085B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1387641A (zh) * | 1999-08-31 | 2002-12-25 | 英特尔公司 | 并行处理器中的多线程执行 |
Also Published As
Publication number | Publication date |
---|---|
US20130179892A1 (en) | 2013-07-11 |
DE112012005085B4 (de) | 2024-01-18 |
CN104011681A (zh) | 2014-08-27 |
US9898616B2 (en) | 2018-02-20 |
GB2513266A (en) | 2014-10-22 |
WO2013102532A3 (en) | 2013-08-29 |
US20130179886A1 (en) | 2013-07-11 |
US9069598B2 (en) | 2015-06-30 |
US8990816B2 (en) | 2015-03-24 |
DE112012005085T5 (de) | 2014-08-28 |
GB2513266B (en) | 2020-09-23 |
US20150254473A1 (en) | 2015-09-10 |
US20180121675A1 (en) | 2018-05-03 |
GB201412799D0 (en) | 2014-09-03 |
WO2013102532A2 (en) | 2013-07-11 |
US10354085B2 (en) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104011681B (zh) | 向逻辑分区提供反映处理器核的独占使用的硬件线程特定信息 | |
CN103562892B (zh) | 配置存储级内存命令的系统和方法 | |
CN104954356B (zh) | 保护共享的互连以用于虚拟机 | |
CN103597459B (zh) | 执行开始子通道指令的方法和系统 | |
TWI727607B (zh) | 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 | |
JP5717847B2 (ja) | コンピューティング環境のイベントを管理する方法、これを実行するためのコンピュータ・プログラム、およびコンピュータ・システム | |
CN102906704B (zh) | 控制处理适配器中断请求的速率 | |
CN103620555B (zh) | 抑制不正确的推测性执行路径上的控制转移指令 | |
JP7379502B2 (ja) | フォールバックを伴う有向割り込みの仮想化方法、システム、プログラム | |
US7444499B2 (en) | Method and system for trace generation using memory index hashing | |
CN102906705B (zh) | 将消息信号中断转换为对客户操作系统的i/o适配器事件通知 | |
CN102906708B (zh) | 响应于适配器事件采取的动作的操作系统通知 | |
JP5698840B2 (ja) | コンピューティング環境におけるリソース使用を測定するコンピュータ・システム、方法、およびコンピュータ・プログラム | |
CN102918516B (zh) | 适配器中断源的类型的标识 | |
CN102906720B (zh) | 启用/禁用计算环境的适配器 | |
CN103562874B (zh) | 解除配置存储级内存命令 | |
CN109564552A (zh) | 增强基于每页当前特权等级的存储器访问许可 | |
CN102906694B (zh) | 用于与适配器进行通信的加载指令的方法和系统 | |
US20130145124A1 (en) | System and method for performing shaped memory access operations | |
US20130145102A1 (en) | Multi-level instruction cache prefetching | |
CN102906722A (zh) | 将消息信号中断转换为i/o适配器事件通知 | |
KR20210107856A (ko) | 지시된 인터럽트 가상화를 위한 인터럽트 시그널링 | |
TW202040567A (zh) | 用於多層虛擬化之經引導中斷 | |
CN103562864B (zh) | 执行开始操作员消息命令 | |
CN109791584A (zh) | 用于标识和避免虚拟机监视程序和客户虚拟机之间的跟踪冲突的处理器扩展 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |