CN1297886C - 基于地址封锁处理约束的方法和系统 - Google Patents
基于地址封锁处理约束的方法和系统 Download PDFInfo
- Publication number
- CN1297886C CN1297886C CNB2004100381550A CN200410038155A CN1297886C CN 1297886 C CN1297886 C CN 1297886C CN B2004100381550 A CNB2004100381550 A CN B2004100381550A CN 200410038155 A CN200410038155 A CN 200410038155A CN 1297886 C CN1297886 C CN 1297886C
- Authority
- CN
- China
- Prior art keywords
- address
- processing unit
- constraint
- indication
- storage key
- 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.)
- Expired - Lifetime
Links
- 238000012545 processing Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims description 32
- 230000000903 blocking effect Effects 0.000 title description 2
- 230000004044 response Effects 0.000 claims abstract description 24
- 239000000872 buffer Substances 0.000 claims abstract description 20
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 9
- 238000013519 translation Methods 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims 2
- 238000005192 partition Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 6
- 238000007634 remodeling Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 244000287680 Garcinia dulcis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
- G01F15/00—Details of, or accessories for, apparatus of groups G01F1/00 - G01F13/00 insofar as such details or appliances are not adapted to particular types of such apparatus
- G01F15/10—Preventing damage by freezing or excess pressure or insufficient pressure
-
- E—FIXED CONSTRUCTIONS
- E03—WATER SUPPLY; SEWERAGE
- E03B—INSTALLATIONS OR METHODS FOR OBTAINING, COLLECTING, OR DISTRIBUTING WATER
- E03B9/00—Methods or installations for drawing-off water
- E03B9/02—Hydrants; Arrangements of valves therein; Keys for hydrants
- E03B9/08—Underground hydrants
- E03B9/10—Protective plates or covers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Hydrology & Water Resources (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- Fluid Mechanics (AREA)
- Health & Medical Sciences (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于地址封锁处理约束的方法和系统。在某些情况下过滤并封锁计算环境的处理约束,从而处理得以继续而不管该约束。一个约束包括响应缓冲区未命中,而禁止获取存储键的指示。当计算环境的处理单元遇到这个约束时,它执行地址比较,该比较指示获取是否能够继续。如果获取可以继续,则忽略该约束。
Description
技术领域
本发明一般地涉及计算环境中的处理,更具体地涉及封锁计算环境的处理约束,从而处理可以继续执行而不管该约束。
技术背景
计算环境中一个处理器对请求的处理可以影响该环境中一个或更多其它处理器。例如,在基于纽约Armonk的国际商业机器公司提供的z/Architecture的对称多处理器系统(SMP)中,广播清除操作,诸如设置存储键扩展(SSKE)指令,请求一个或多个缓冲区(例如,转换后备缓冲区(TLB))内的条目以便从该环境的所有处理器的缓冲区内将其删除,这些缓冲区保存有存储键的拷贝以便快速访问。此外,该结构请求将诸缓冲区原子地清除,这样不会有处理器能够观察到新的TLB条目而同时一些其它处理器观察到旧的条目。许多其它计算机体系结构也提供有类似的机制。
一种通用的广播清除操作的实现包括:1)所有处理器被静默(即,大部分常规处理操作被挂起,包括访问TLB);2)将所有处理器上TLB内适当的条目清除;3)改变公共资源(例如,用于SSKE的存储键);并且4)解除静默,处理器继续其正常活动。显然,这种实现能够产生很大的性能影响,特别是对于大的SMP配置,这是因为所有处理器必须在该操作过程中被静默。特别是,一个处理器通常会执行某个不可被中断的长运行指令,所以它有某段时间不能达到静默。因此,所有其它处理器需要在上述步骤完成之前等待这个最后的处理器达到静默状态。
已经对上述处理进行一些改进以提高性能。例如,在Webb等人的题目为“System Serialization With Early Release Of Individual Processor”(2000年9月12日)的美国专利No.6,119,219中,以及Webb等人的题目为“Multiprocessor Serialization With Early Release of Processors”(2000年6月12日)的美国专利No.6,079,013中,描述了一种潜在地将处理器静默较短一段时间的技术,因此通过引用将它们完整地包含在此处。例如,当处理器接收到请求时,其立即静默并且然后清除其自己TLB内的适当条目。当清除完成后,这个处理器被允许继续执行受到各种约束的处理。这些约束中的一个包括:如果该处理器在其TLB中未命中,就不允许该处理器继续处理(例如,它不能获取存储键),而是必须推延直至解除静默为止。只有在解除清默之后,才会去掉所有对该处理器的约束,并且处理得以继续进行。
因此,虽然已经试图减少处理器被延迟的时间,但仍然需要改进。例如,存在这样的需求,即能够封锁处理约束,这样一来就可以继续进行处理,而不管约束。
发明内容
通过提供一种有助于计算环境进行处理的方法克服了现有技术的缺点,并且提供了额外的优点。该方法包括,例如,确定是否将要继续获取存储键而不管禁止获取的约束;以及响应该确定,继续获取。
在本发明的其它方面,提供了一种用于有助于计算环境的处理的方法。该方法包括,例如,通过计算环境的处理单元获得一个响应处理约束而推迟处理的指示,该处理约束响应缓冲区未命中而禁止获取存储键;确定是否将封锁该处理器约束,以及响应该确定继续处理。
此处还说明并提出了与上面总结的方法相应的系统和计算机程序。
通过本发明的技术还将实现其它特征和优点。此处将详细地说明本发明的其它实施例和本发明的其它方面,并且它们被认为是所提出的发明的一部分。
附图说明
在本说明书结尾的权利要求中特别地指出并明确地提出了与本发明有关的主题。从下面结合附图详细的描述中可以明了本发明上述和其它目的、特征和优点,其中:
图1示出了一个计算环境的实施例,该计算环境结合并使用了本发明的一个或多个方面;
图2示出了根据本发明的一个方面,与图1中的控制器有关的进一步细节的实施例;
图3示出了根据本发明的一个方面,与确定是否将要执行操作而不管出现的约束相关联的逻辑的一个实施例;
图4示出了根据本发明的一个方面,执行设置存储键扩展(SSKE)指令的主处理器的一个例子,该主处理器还向控制器发送广播请求,然后该请求被转发给从处理器;
图5示出了根据本发明的一个方面,响应由图4的控制器发送的请求的从处理器的一个例子;
图6示出了根据本发明的一个方面,施加在从处理器上的处理约束以及与之相关的处理的例子;
图7示出了根据本发明的一个方面,处理器还将执行的与设置存储键扩展指令相关的其它处理的例子;
图8示出了根据本发明的一个方面,主处理器向控制器发送解除静默请求;以及
图9示出了根据本发明的一个方面,由于已经解除了静默,处理器的正常执行。
具体实施方式
根据本发明的一个方面,提供了能够使计算环境中的处理继续执行的能力,而不管指示该处理被禁止的处理约束。作为一个例子,在缓冲区未命中之后,虽然获取存储键被指示为被禁止了,但是仍然将允许其执行。例如,一种地址的比较指示出该禁止是否能够被封锁。
参考图1,说明了结合并使用本发明的一个或多个方面的计算环境100的一个实施例。计算环境100基于例如由位于纽约Armonk的国际商业机器公司提供的z/Architecture。题目为“z/Architecture Principles ofOperation”的IBM出版物No.SA22-7832-00,(2000年12月)描述了这种z/Architecture,在此通过引用将其整体包括在内。(IBM是美国纽约Armonk的国际商业机器公司的注册商标。此处使用的其它名称可能是国际商业机器公司或其它公司的注册商标、商标或产品名称。)在一个例子中,基于z/Architecture的计算环境包括由位于美国纽约Armonk的国际商业机器公司提供的eServer zSeries。
作为一个例子,计算环境100包括与控制器120连接的中央处理器复合体(CPC)102。中央处理器复合体102包括,例如,一个或多个分区104(例如,逻辑分区LP1-LPn)、一个或多个中央处理器106(例如,CP1-CPm)以及管理程序108(例如,逻辑分区管理器),下面将对它们进行详细说明。
每个逻辑分区104可以起到一个独立的系统的作用。也就是每个逻辑分区可以被独立地重置,如果需要,开始装入操作系统,并且运行不同的程序。在逻辑分区上运行的操作系统或应用程序看起来像是可以访问整个计算机系统,但是实际上,仅有整个计算机系统的一部分是可用的。硬件和内部许可码(通常称为微码)的组合使得逻辑分区内的程序不妨碍不同逻辑分区内的程序。这就允许在一个物理处理器上以分时方式运行几个不同的逻辑分区。在这个特定的例子中,每个逻辑分区有一个驻留的操作系统110,对于一个或多个逻辑分区,这可以是不同的。在一个实施例中,操作系统110是由位于美国纽约Armonk的国际商业机器公司提供的z/OS操作系统。
中央处理器106是物理处理器资源,它们被分配给诸逻辑分区。例如,逻辑分区104包括一个或多个逻辑处理器,每个代表分配给这个分区的物理处理器资源106的全部或一部分。特定分区104的逻辑处理器可以是专用于该分区的,从而为该分区保留了基础处理器资源,还可以是与其它分区共享的,从而潜在地,其它分区也可以获得该基础处理器资源。
由运行于处理器106之上的微码实现的管理程序108来管理逻辑分区104。逻辑分区104和管理程序108中的每个都包括驻留在与中央处理器相关联的中央存储器的各个部分上的一个或多个程序。管理程序108的一个例子是由位于美国纽约Armonk的国际商业机器公司提供的处理器资源/系统管理器(PR/SM)。
与中央处理器复合体连接的控制器120包括负责在发送请求的不同处理器间进行仲裁的集中逻辑。例如,当控制器120接收到请求时,其将发送该请求的请求者确定为主处理器,而且将其它处理器确定为从处理器;它广播消息;并且,处理请求。控制器的一个例子在Webb等人的题目为“System Serialization With Early Release Of Individual Processor”,(2000年9月12日)的美国专利No.6,199,219中有说明,此处通过引用将其整体包括在内。参考图2将更详细地进行说明。
图2给出了与多个中央处理器(CPU)201连接的控制器200的一个例子。在这个例子中,给出了两个中央处理器。然而,应当理解也可以有多于两个的处理器与控制器120连接。
控制器200包括各种控制,例如包括:系统串行化控制202。可以使用系统串行化控制以确保将操作串行化,诸如设置存储键扩展(SSKE)指令被串行化,其中在计算环境中一次只有一个这种指令被处理。它还监视这种操作的事件顺序。
控制器200通过各种接口与每个中央处理器连接。例如,中央处理器中的内部许可码使用接口204向控制器发送“控制”命令,其指定将要采取的动作,并且发送“检测(sense)”命令,其从控制器返回信息。另一接口是响应总线206,其用于为“检测”命令从控制器返回信息。响应总线还用于为“控制”命令传送命令状态,并且可以从控制器内的多个源被设置,包括系统串行化控制。中央处理器可以使用这个接口来检测控制器200内的系统串行化控制的状态。
另一个接口是接口208,控制器使用该接口向每个CPU发送命令。这也可以由控制器内的多个源来控制,包括系统串行化控制202。另一个接口是接口210,其为中央处理器201的高速缓存控制212提供信号。高速缓存控制212响应该信号来处理命令。在一个例子中,高速缓存控制212处理影响一个或多个缓冲区的命令,例如转换后备缓冲区(TLB)213,这将在下面更详细地说明。
除了高速缓存控制212之外,中央处理器201包括各种其它控制,例如包括:中断控制220和执行控制222。响应特定的事件,中断控制220产生该CPU中未决的内部中断,从而使得执行控制222在下一个可中断点挂起程序指令的执行。响应该中断,执行控制222调用内部许可码例程设置广播操作允许的闭锁224,以便高速缓存控制212能够处理未决的命令。
中央处理器201还包括CPU静默闭锁226,其指示中央处理器是否被静默了。
上述的计算环境仅为一个例子。有可能有多种变形而不脱离本发明的精神。例如,一个或多个分区可以在不同的体系结构模式下运行。另外,作为另一个例子,该环境也可不必基于z/Architecture,而是可以基于Intel、Sun Microsystems等其它公司提供的其它体系结构。另外,环境可以包括模拟器(例如,软件或其它模拟机),其中可以模拟特定的体系结构或一个体系结构子集。在这种环境中,模拟器的一个或多个模拟功能可以实现本发明的一个或多个方面,即使与被模拟的功能相比,执行该模拟器的计算机可以具有不同的体系结构。作为一个例子,在模拟模式下,将模拟特定指令或操作解码,并且建立适当的模拟功能以实现单独的指令或操作。
单独的处理器执行指令以及进行其它处理。有时,对特定指令的处理会对该计算环境中的一个或多个其它处理器的处理产生约束。然而,存在这种情况,即,根据本发明的一个方面,这些约束可以被忽略。因此,处理器可以过滤处理器约束,并且在某些情况下封锁(即忽略)这种约束。这将在下面更详细地说明。
此处描述的一个例子涉及到设置存储键扩展(SSKE)指令的执行。设置存储键扩展指令的一个例子在题目为“z/Architecture Principles ofOperation”的IBM出版物No.SA22-7832-00(2000年12月)中有说明,此处通过引用将其整体包括在内。
设置存储键扩展指令使得一个或多个处理器清除与该指令有关的缓冲区内的条目。例如,每个处理器都具有位于该处理器内的与之相关联的一个或多个被称为转换后备缓冲区(TLB)的缓冲区。当将虚地址转换为实地址时,动态地址变换(DAT)机制使用转换后备缓冲区以提高性能。也就是,将动态地址变换机制使用的一些信息保存在缓冲区内以便更快地访问。例如,将在区表、段表和/或页表中指定的各种信息保存在缓冲区内。
除了用于地址变化的信息之外,还可以在缓冲区内保持存储键以便更快地访问。存储键被用于访问与由DAT产生的实地址相关联的存储器。特别地,例如,通过加前缀转换实地址以提供绝对地址,其被用于访问主存储器。因此,在加前缀处理后,就称绝对地址是实地址。对于绝对存储器的每页(即,包括按绝对地址顺序排列的单元的存储器),有一个相关联的存储键,其被用于该页的存储保护。
在一个实施例中,存储键包括,例如,如下的各项:
(A)访问控制域,其指示是否允许程序存储到主存储器的给定的页。将该域与程序状态字(PSW)中的PSW键相比较以做出判断;
(B)获取保护域,其指示如果访问控制域A不与PSW中的键相匹配,给定的页是否是获取保护的;
(C)改变域,其指示页是否已经被存储过;以及
(D)引用域,其指示页是否被访问过。
一般地,存储键在独立于虚地址到实地址的转换的操作中放入TLB,但是也可以并行地执行。
为了清除缓冲区内的项,环境中的处理器被置于静默状态,从而数据就不会被误用。在处于静默状态中时,约束被施加于那些处理器上,所述约束指示,例如,如果在它们的TLB中未命中,则不能执行存储键获取。然而,根据本发明的一个方面,这个约束可以被过滤并被忽略,这样处理就可以继续。参考图3-9将进行更加详细的说明。特别地,图3给出了与本发明相关联的逻辑的一个实施例,并且图4-9提供了一个特定例子的进一步的细节,其中执行SSKE指令。
首先,参看图3,在步骤300,在一个计算环境中执行的处理器受到约束。在一个例子中,这发生在该处理器被置于静默状态时。响应被置于静默状态,处理器在某些约束下继续处理。例如,如果处理器在一个或多个它的TLB中未命中,处理器将推迟处理。
在步骤302处理器继续处理直到其遇到所述的约束。例如,其继续处理直到在TLB中未命中时为止。然后,在询问304,根据本发明的一个方面,做出处理器是否可以继续执行而不管该约束的判断。也就是,做出关于该约束是否能够被封锁的判断。在一个例子中,这个判断是基于地址做出的。例如,对于与将被获取的存储键相关联的地址(例如,实地址,绝对地址或其它地址)和以前由该处理器保存的地址进行比较。如果地址相同,则处理被在步骤306处推迟。然而,如果地址不同,则在步骤308处可以执行操作而不管该约束。
参考图4-9更加详细地说明与本发明的一个或多个方面有关的处理。虽然给出了3个处理器,但是应当理解,可以使用任何数目的处理器。参看图4,执行指令402(例如,SSKE指令)的处理器400发出广播请求404(例如静默请求)作为处理指令的一部分。在这个例子中,该请求被转发给控制器406。发出请求的处理器在此处被称作为主处理器,并且其它处理器被称作为从处理器。这些处理器连接于控制器406。
响应控制器406从主处理器接收的广播属性的请求,该控制器将请求(408)转发给从处理器。这些处理器以适当的方式处理该请求,例如这取决于处理器当前的状态。
例如,如图5所示,CP2正在执行长运行指令(500),因此这时不能响应该静默请求,并且对于CP2该静默请求保持未决。在另一方面,CP0响应该控制器,其已经到达了静默点(502),并且它执行与静默请求有关的操作。这种操作包括从它的一个或多个TLB(504)内清除项目。此外,根据本发明的一个方面,CP0保存该请求的至少部分实地址以便以后使用(506)。在一个例子中,保存一部分(例如4-6位)实地址。然而,在其它例子中,可以保存其它数目的位,包括整个实地址。而且在其它例子中,也可以使用其它类型的地址。例如,由请求提供的实地址可以被转换成绝对地址,其被用于所述的比较。另外,请求可以提供不是实地址的地址,例如绝对地址或其它类型的地址。
在一个实施例中,因为CP0向控制器指出其已经到达了静默点,控制器为该处理器设定信号(见图6)。这个信号是,例如,封锁转换信号(blk_xlat)(600),其指示在TLB未命中的情况下不允许从处理器继续。也就是,向从处理器发送信号,在TLB未命中的情况下不允许其执行存储键获取。然而,根据本发明分一个方面,如果该信号可以被忽略,则可以执行进一步的处理。
例如,当CP0针对于存储键而发生TLB未命中,它试图执行存储键的获取。在该获取过程中,对于与将获取的存储键相关联的实际地址和其从广播SSKE操作中获得的所保存的实地址进行比较。如果它们不匹配,则允许该处理器继续获取并且继续正常的执行。然而,如果它们匹配,则处理器推迟并且等待blk_xlat信号消失。(在一个例子中,比较是在获取过程中的一个或多个步骤上执行的,并且继续或推迟处理以响应该比较结果。)
参考图7,其示出了CP0在上述约束下继续执行指令。这些约束一直持续直到blk_xlat信号(700)消失。另外,它示出了CP2最终完成了其长运行指令并且可以进行静默中断。因此,CP2回应控制器,其正处在静默点(702)。另外,清除其TLB内与广播SSKE操作相关联的适当的条目,并且保存至少部分实地址以用于以后的使用(704)。
控制器响应从CP2接收到的静默指示,为CP2设置blk_xlat信号(706),并且现在CP2处在与CP0相同的约束之下。而且,控制器响应静默主处理器CP1,系统内最后一个处理器也已经到达了静默点,并且该系统被置于静默状态(708)。
因为系统处于静默状态,主处理器改变存储器中的存储键(800-图8)。在一个例子中,这包括通过内部许可码发出一个低级命令以按所希望的来改变键。响应主处理器完成了更改,其发送信号给控制器指示解除静默(802)。同时,CP0和CP2继续受限制的正常执行(804)。
控制器响应收到解除指示而解除静默,并且CP0、CP1和CP2继续执行没有限制的正常执行(900-图9)。来自控制器的以前是激活的blk_xlat信号,不再是激活的。
以上详细说明的是能够使得约束在某些条件下被封锁(即,被忽略)的能力。这有利地缩短了处理器静默延迟的时间,并且提高了系统性能。在许多环境中可以看到这种性能提高,包括大规模SMP环境。例如,本发明的一个或多个能力如下所述改进了系统性能。以前,对于16-waySMP系统,全部时间的10%将花在静默系统和延迟等待blk_xlat信号消失。这种性能下降大致与SMP系统内的处理器数目的平方成比例地增加。使用本发明的一个或多个方面可以明显地减少这种性能下降。
虽然对上述例子通过参考SSKE指令进行了说明,本发明的一个或多个方面也是适用于其它指令,包括那些在同样系统结构或不同系统结构内的与上面的指令类似的或等同的指令。
在不背离本发明的精神的情况下上面的实施例可以有许多改型。例如,本发明的一个或多个方面同样也适用于,例如,虚拟机模拟,其中一个或多个可分页实体(例如,客户机)执行在一个或多个处理器上。作为一个例子,可分页的客户机是由Start Interpretive Execution(SIE)系统结构定义的,题目为“IBM System/370 Extended Architecture”的IBM出版物No.SA22-70959(1985)中描述了它的一个例子,此处通过引用将其整体包括在内。
虽然通过参考SIE和z/Architecture描述了上面的例子,本发明的一个或多个方面也同样地适用于其它体系结构和/或使用可分页实体的环境或类似的构造。
此外,上述的各种实施例只是例子。可以有多种这些实施例的变形而不背离本发明的精神。例如,此处虽然描述了逻辑分区的环境,但这只是一个例子。本发明的诸方面对许多类型的环境都是有益的,包括具有多个区域的其它的环境,以及不分区环境。此外,还可以没有中央处理器复合体,而是多个处理器连接在一起。此外,本发明的一个或多个方面也适用于单个处理器环境。
再次地,虽然此处描述了特定的环境,许多对这种环境的改型也可以在不背离本发明的精神的情况下得到实现。例如,如果所述环境是逻辑上分区的,则环境中可以包括更多或更少的逻辑分区。一般地,在一个分区内使用的绝对存储地址不能由其它分区访问。此外,还可以有多个中央处理器复合体连接在一起。这只是不背离本发明的精神的一些改型的例子,另外,其它改型也是可能的。例如,虽然此处描述的控制器将指令串行化,从而一次只能执行一个广播指令,但是也可以一次执行多个指令。此外,环境可以包括多个控制器。还有,多个静默请求可以同时出现在系统内。在这种假设下,保存多个地址,并且执行多个比较。
有利地,本发明的一个或多个方面可以与其它发明的一个或多个方面一起用于提高性能,Slegel等人的题目为“Filtering Processor Based OnIdentifiers”,(IBM文档号No.POU920030047US1)的美国专利申请;以及Slegel等人的题目为“Blocking Processing Restrictions Based On PageIndices”,(IBM文档号No.POU920030048US1)的美国专利申请中描述了这种发明,此处通过引用将它们整体包括在内。
如此处使用的,术语“处理单元”包括可分页的实体,诸如客户机;处理器;模拟器和/或其它类似的组件。此外,术语“由处理器单元”包括代表处理器单元。术语“获得”包括,但是不限于,接收、具有、被提供、接收一个指示等。还有,术语“缓冲区”包括存储区域,以及不同类型的数据结构,包括,但是不限于,数组。
本发明的功能可以以软件、固件、硬件或其某些组合的方式来实现。
作为一个例子,本发明的一个或多个方面可以包括在具有,例如,计算机可读的介质的制品内(例如,一种或多种计算机程序产品)。该介质包括有,例如,计算机可读的程序代码单元或逻辑(例如,指令、代码、命令等)以提供并有助于实现本发明的功能。可以包括所述制品作为计算机系统的一部分或单独销售。
此外,提供了机器可读的至少一个程序存储装置,其上包含有可由机器执行的指令的至少一个程序以便执行本发明的功能。
此处给出的流程图仅为例子。对于此处给出的这些图或步骤可以有许多改型而不背离本发明的精神。例如,诸步骤可以以不同的顺序执行,或者增加、删减或修改步骤。所有这些改型都被认为是所提出的发明的一部分。
虽然此处已经详细地给出并说明了最佳实施例,本领域的技术人员应当理解可以做出各种修改、增加、替代和类似的改变而不背离本发明的精神,并且因此这些改变被认为是在所附权利要求定义的本发明的范围内。
Claims (31)
1.一种有助于计算环境的处理的方法,所述方法包括:
确定存储键的获取是否将继续而不管禁止该获取的约束;以及响应该确定步骤为是而继续该获取。
2.如权利要求1的方法,其中所述确定包括将一个地址的至少一部分与另一地址的至少一部分进行比较,其中不匹配指示要继续进行获取。
3.如权利要求2的方法,其中所述一个地址包括与将要获取的存储键相关联的地址。
4.如权利要求2的方法,其中所述获取由一处理单元来执行,并且其中所述另一地址包括与该处理单元获得的请求有关的地址。
5.如权利要求4的方法,其中所述处理单元包括处理器。
6.如权利要求4的方法,其中所述一个地址是实地址和绝对地址中的一个地址,并且所述另一个地址是实地址和绝对地址中的一个地址。
7.如权利要求4的方法,其中所述请求包括响应另一处理单元的处理而发起的广播清除操作。
8.如权利要求2的方法,其中所述确定包括将一个地址的至少一部分与多个其它地址的至少一部分进行比较,其中多个不匹配指示要继续进行获取。
9.如权利要求1的方法,其中所述约束包括响应缓冲区未命中而禁止获取的指示。
10.如权利要求9的方法,其中所述缓冲区是转换后备缓冲区。
11.如权利要求1的方法,还包括响应静默请求,由将执行获取的处理单元获得对约束的指示。
12.如权利要求11的方法,其中所述静默请求是对计算环境中的另一处理单元执行的设置存储键指令的响应。
13.一种有助于计算环境的处理的方法,所述方法包括:
由该计算环境的一处理单元获得一个响应处理约束而推迟处理的指示,该处理约束响应缓冲区未命中而禁止获取存储键;
确定处理约束是否将被封锁;以及响应该确定步骤为是而继续处理。
14.如权利要求13的方法,其中所述确定包括将一个地址的至少一部分与另一地址的至少一部分进行比较,其中不匹配指示封锁约束。
15.如权利要求14的方法,其中所述一个地址包括与将被获取的存储键相关联的地址。
16.如权利要求15的方法,其中所述另一地址包括与一请求有关的地址,由处理单元获得其指示。
17.一种有助于计算环境处理的系统,所述系统包括:
用于确定存储键的获取是否将继续而不管禁止获取的约束的装置;以及
用于响应该确定装置的确定为是而继续获取的装置。
18.如权利要求17的系统,其中用于确定的装置包括用于将一个地址的至少一部分与另一地址的至少一部分进行比较的装置,其中不匹配指示要继续进行获取。
19.如权利要求18的系统,其中所述一个地址包括与将要获取的存储键相关联的地址。
20.如权利要求18的系统,其中用于获取的装置是由处理单元来实现的,并且其中所述另一地址包括与该处理单元获得的请求有关的地址。
21.如权利要求20的系统,其中所述请求包括响应另一处理单元的处理而发起的广播清除操作。
22.如权利要求18的系统,其中用于确定的装置包括用于将一个地址的至少一部分与多个其它地址的至少一部分进行比较的装置,其中多个不匹配指示要继续进行获取。
23.如权利要求17的系统,其中所述约束包括响应缓冲区未命中而禁止获取的指示。
24.如权利要求17的系统,还包括响应静默请求,用于由将执行获取的处理单元获得对约束的指示的装置。
25.如权利要求24的系统,其中所述静默请求是对计算环境中的另一处理单元执行的设置存储键指令的响应。
26.一种有助于计算环境的处理的系统,所述系统包括:
用于由该计算环境的一处理单元获得一个响应处理约束而推迟处理的指示的装置,该处理约束响应缓冲区未命中而禁止获取存储键;
用于确定处理约束是否将被封锁的装置;以及
用于响应该确定装置的确定为是而继续处理的装置。
27.如权利要求26的系统,其中用于确定的装置包括用于将一个地址的至少一部分与另一地址的至少一部分进行比较的装置,其中不匹配指示封锁约束。
28.如权利要求27的系统,其中所述一个地址包括与将被获取的存储键相关联的地址。
29.如权利要求28的系统,其中另一地址包括与一请求有关的地址,由处理单元获得其指示。
30.一种有助于计算环境处理的系统,所述系统包括:
确定存储键的获取是否将继续而不管禁止获取的约束的处理单元;以及
该处理单元响应该确定为是而继续进行获取。
31.一种有助于计算环境的处理的系统,所述系统包括:
获得一个响应处理约束而推迟处理的指示的计算环境的处理单元,该处理约束响应缓冲区未命中而禁止获取存储键;
该处理单元确定处理约束是否将被封锁并且响应该确定为是而继续进行处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/435,961 US6996698B2 (en) | 2003-05-12 | 2003-05-12 | Blocking processing restrictions based on addresses |
US10/435,961 | 2003-05-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1550977A CN1550977A (zh) | 2004-12-01 |
CN1297886C true CN1297886C (zh) | 2007-01-31 |
Family
ID=33417053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100381550A Expired - Lifetime CN1297886C (zh) | 2003-05-12 | 2004-05-11 | 基于地址封锁处理约束的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6996698B2 (zh) |
JP (1) | JP3914541B2 (zh) |
KR (1) | KR100800340B1 (zh) |
CN (1) | CN1297886C (zh) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7530067B2 (en) * | 2003-05-12 | 2009-05-05 | International Business Machines Corporation | Filtering processor requests based on identifiers |
JP2005309550A (ja) * | 2004-04-19 | 2005-11-04 | Hitachi Ltd | リモートコピー方法及びリモートコピーシステム |
US20060143417A1 (en) * | 2004-12-23 | 2006-06-29 | David Poisner | Mechanism for restricting access of critical disk blocks |
JP4978008B2 (ja) * | 2006-01-11 | 2012-07-18 | 株式会社日立製作所 | 仮想計算機上でのページテーブルアドレスの変更を高速化する方法 |
US8454810B2 (en) * | 2006-07-14 | 2013-06-04 | 4D-S Pty Ltd. | Dual hexagonal shaped plasma source |
JP4767129B2 (ja) * | 2006-08-17 | 2011-09-07 | 株式会社エヌ・ティ・ティ・ドコモ | Os切替装置及びos切替方法 |
US8180997B2 (en) * | 2007-07-05 | 2012-05-15 | Board Of Regents, University Of Texas System | Dynamically composing processor cores to form logical processors |
US8117417B2 (en) | 2008-01-11 | 2012-02-14 | International Business Machines Corporation | Dynamic address translation with change record override |
US8082405B2 (en) * | 2008-01-11 | 2011-12-20 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8335906B2 (en) * | 2008-01-11 | 2012-12-18 | International Business Machines Corporation | Perform frame management function instruction for clearing blocks of main storage |
US8417916B2 (en) * | 2008-01-11 | 2013-04-09 | International Business Machines Corporation | Perform frame management function instruction for setting storage keys and clearing blocks of main storage |
US8019964B2 (en) * | 2008-01-11 | 2011-09-13 | International Buisness Machines Corporation | Dynamic address translation with DAT protection |
US8151083B2 (en) | 2008-01-11 | 2012-04-03 | International Business Machines Corporation | Dynamic address translation with frame management |
US8041922B2 (en) | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Enhanced dynamic address translation with load real address function |
US8037278B2 (en) * | 2008-01-11 | 2011-10-11 | International Business Machines Corporation | Dynamic address translation with format control |
US8041923B2 (en) | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Load page table entry address instruction execution based on an address translation format control field |
US8677098B2 (en) | 2008-01-11 | 2014-03-18 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8103851B2 (en) * | 2008-01-11 | 2012-01-24 | International Business Machines Corporation | Dynamic address translation with translation table entry format control for indentifying format of the translation table entry |
US8086811B2 (en) | 2008-02-25 | 2011-12-27 | International Business Machines Corporation | Optimizations of a perform frame management function issued by pageable guests |
US8572624B2 (en) * | 2008-02-26 | 2013-10-29 | International Business Machines Corporation | Providing multiple quiesce state machines in a computing environment |
US8095773B2 (en) | 2008-02-26 | 2012-01-10 | International Business Machines Corporation | Dynamic address translation with translation exception qualifier |
US8032716B2 (en) * | 2008-02-26 | 2011-10-04 | International Business Machines Corporation | System, method and computer program product for providing a new quiesce state |
US8930635B2 (en) | 2009-12-14 | 2015-01-06 | International Business Machines Corporation | Page invalidation processing with setting of storage key to predefined value |
US8510511B2 (en) | 2009-12-14 | 2013-08-13 | International Business Machines Corporation | Reducing interprocessor communications pursuant to updating of a storage key |
US8918601B2 (en) * | 2009-12-14 | 2014-12-23 | International Business Machines Corporation | Deferred page clearing in a multiprocessor computer system |
US8806179B2 (en) * | 2009-12-15 | 2014-08-12 | International Business Machines Corporation | Non-quiescing key setting facility |
US8595469B2 (en) | 2010-06-24 | 2013-11-26 | International Business Machines Corporation | Diagnose instruction for serializing processing |
US8407701B2 (en) | 2010-06-24 | 2013-03-26 | International Business Machines Corporation | Facilitating quiesce operations within a logically partitioned computer system |
US8918885B2 (en) * | 2012-02-09 | 2014-12-23 | International Business Machines Corporation | Automatic discovery of system integrity exposures in system code |
US9182984B2 (en) | 2012-06-15 | 2015-11-10 | International Business Machines Corporation | Local clearing control |
US9081707B2 (en) * | 2012-12-29 | 2015-07-14 | Intel Corporation | Apparatus and method for tracking TLB flushes on a per thread basis |
US20150261693A1 (en) * | 2014-03-14 | 2015-09-17 | International Business Machines Corporation | Dynamic storage key assignment |
US10409599B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Decoding information about a group of instructions including a size of the group of instructions |
US10409606B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Verifying branch targets |
US10346168B2 (en) | 2015-06-26 | 2019-07-09 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
US10169044B2 (en) | 2015-06-26 | 2019-01-01 | Microsoft Technology Licensing, Llc | Processing an encoding format field to interpret header information regarding a group of instructions |
US9952867B2 (en) | 2015-06-26 | 2018-04-24 | Microsoft Technology Licensing, Llc | Mapping instruction blocks based on block size |
US9946548B2 (en) | 2015-06-26 | 2018-04-17 | Microsoft Technology Licensing, Llc | Age-based management of instruction blocks in a processor instruction window |
US11755484B2 (en) | 2015-06-26 | 2023-09-12 | Microsoft Technology Licensing, Llc | Instruction block allocation |
US10191747B2 (en) | 2015-06-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Locking operand values for groups of instructions executed atomically |
US10175988B2 (en) | 2015-06-26 | 2019-01-08 | Microsoft Technology Licensing, Llc | Explicit instruction scheduler state information for a processor |
US11016770B2 (en) | 2015-09-19 | 2021-05-25 | Microsoft Technology Licensing, Llc | Distinct system registers for logical processors |
US11126433B2 (en) | 2015-09-19 | 2021-09-21 | Microsoft Technology Licensing, Llc | Block-based processor core composition register |
US10768936B2 (en) | 2015-09-19 | 2020-09-08 | Microsoft Technology Licensing, Llc | Block-based processor including topology and control registers to indicate resource sharing and size of logical processor |
US11531552B2 (en) | 2017-02-06 | 2022-12-20 | Microsoft Technology Licensing, Llc | Executing multiple programs simultaneously on a processor core |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5694617A (en) * | 1995-03-31 | 1997-12-02 | International Business Machines Corporation | System for prioritizing quiesce requests and recovering from a quiescent state in a multiprocessing system with a milli-mode operation |
US5819078A (en) * | 1995-03-31 | 1998-10-06 | International Business Machines Corporation | Addressing extended memory using millicode by concatenating a small millicode address and address extension data |
US6079013A (en) * | 1998-04-30 | 2000-06-20 | International Business Machines Corporation | Multiprocessor serialization with early release of processors |
EP1298518A2 (en) * | 2001-09-28 | 2003-04-02 | Kabushiki Kaisha Toshiba | Microprocessor with improved task management and table management mechanism |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4984153A (en) | 1988-04-27 | 1991-01-08 | Unisys Corporation | Storage locking control for a plurality of processors which share a common storage unit |
AU3424693A (en) * | 1992-01-02 | 1993-07-28 | Amdahl Corporation | Software control of hardware interruptions |
EP0550286A3 (en) * | 1992-01-03 | 1993-11-03 | Amdahl Corp | 2-level multi-processor synchronization protocol |
JP2788836B2 (ja) * | 1992-05-15 | 1998-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ディジタルコンピュータシステム |
US5642494A (en) * | 1994-12-21 | 1997-06-24 | Intel Corporation | Cache memory with reduced request-blocking |
US5761734A (en) | 1996-08-13 | 1998-06-02 | International Business Machines Corporation | Token-based serialisation of instructions in a multiprocessor system |
ATE444524T1 (de) * | 1997-07-11 | 2009-10-15 | Intellectual Venture Funding L | Gastrechner-mikroprozessor mit vorrichtung zum zeitweisen anhalten des prozessorzustandes eines zielrechners |
US6119219A (en) | 1998-04-30 | 2000-09-12 | International Business Machines Corporation | System serialization with early release of individual processor |
US6088792A (en) * | 1998-04-30 | 2000-07-11 | International Business Machines Corporation | Avoiding processor serialization after an S/390 SPKA instruction |
KR100333580B1 (ko) * | 1998-04-30 | 2002-04-24 | 포만 제프리 엘 | 개별 프로세서의 초기 해제에 의한 시스템 직렬화 및 그 멀티프로세서 시스템 |
JP2001022685A (ja) * | 1999-07-13 | 2001-01-26 | Mitsubishi Electric Corp | データ転送装置及びデータ転送方法 |
-
2003
- 2003-05-12 US US10/435,961 patent/US6996698B2/en active Active
-
2004
- 2004-04-12 KR KR1020040024935A patent/KR100800340B1/ko active IP Right Grant
- 2004-04-23 JP JP2004128883A patent/JP3914541B2/ja not_active Expired - Lifetime
- 2004-05-11 CN CNB2004100381550A patent/CN1297886C/zh not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5694617A (en) * | 1995-03-31 | 1997-12-02 | International Business Machines Corporation | System for prioritizing quiesce requests and recovering from a quiescent state in a multiprocessing system with a milli-mode operation |
US5819078A (en) * | 1995-03-31 | 1998-10-06 | International Business Machines Corporation | Addressing extended memory using millicode by concatenating a small millicode address and address extension data |
US6079013A (en) * | 1998-04-30 | 2000-06-20 | International Business Machines Corporation | Multiprocessor serialization with early release of processors |
EP1298518A2 (en) * | 2001-09-28 | 2003-04-02 | Kabushiki Kaisha Toshiba | Microprocessor with improved task management and table management mechanism |
Also Published As
Publication number | Publication date |
---|---|
US20040230758A1 (en) | 2004-11-18 |
JP2004342099A (ja) | 2004-12-02 |
JP3914541B2 (ja) | 2007-05-16 |
CN1550977A (zh) | 2004-12-01 |
KR100800340B1 (ko) | 2008-02-04 |
US6996698B2 (en) | 2006-02-07 |
KR20040097886A (ko) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1297886C (zh) | 基于地址封锁处理约束的方法和系统 | |
US6804729B2 (en) | Migrating a memory page by modifying a page migration state of a state machine associated with a DMA mapper based on a state notification from an operating system kernel | |
CN1114860C (zh) | 处理多个电平触发和边沿触发中断的方法和装置 | |
CN1278235C (zh) | 用于向一处理器让与资源的系统 | |
US8719543B2 (en) | Systems and methods implementing non-shared page tables for sharing memory resources managed by a main operating system with accelerator devices | |
US7249211B2 (en) | System and method for interrupt handling | |
US7139855B2 (en) | High performance synchronization of resource allocation in a logically-partitioned system | |
US9372805B2 (en) | Operating on translation look-aside buffers in a multiprocessor environment | |
JP4896376B2 (ja) | コプロセッサの性能を強化するシステムおよび方法 | |
US8607239B2 (en) | Lock mechanism to reduce waiting of threads to access a shared resource by selectively granting access to a thread before an enqueued highest priority thread | |
US8312175B2 (en) | Virtual machine access to storage via a multi-queue IO storage adapter with optimized cache affinity and PCPU load balancing | |
CN101059783A (zh) | 事务型存储器的虚拟化 | |
US20020144027A1 (en) | Multi-use data access descriptor | |
US10713083B2 (en) | Efficient virtual I/O address translation | |
CN1815462A (zh) | 迁移数据页面的方法和装置 | |
CN1236136A (zh) | 高速远程存储簇接口控制器 | |
KR101847262B1 (ko) | 하드웨어 가속기를 포함하는 메인 메모리 및 메인 메모리의 동작 방법 | |
JP2008009982A (ja) | メモリ・アドレスの変換およびピン止めのための方法およびシステム | |
US5269005A (en) | Method and apparatus for transferring data within a computer system | |
JP2010287254A (ja) | タスクのスケジューリングを支援する装置 | |
US20040230768A1 (en) | Blocking processing restrictions based on page indices | |
US20060064518A1 (en) | Method and system for managing cache injection in a multiprocessor system | |
US10983833B2 (en) | Virtualized and synchronous access to hardware accelerators | |
US6473845B1 (en) | System and method for dynamically updating memory address mappings | |
US9921875B2 (en) | Zero copy memory reclaim for applications using memory offlining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20070131 |