← Back to Patent Explorer
US5317754A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for enabling an interpretive execution subset

Assignee: International Business Machines Corp
•
Filing: 1990-10-23
•
Granted: 1994-05-31
•
Expires: 2010-10-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus and method are established for recognizing guest virtual machines which require only a subset of interpretive execution facilities. The interpretive execution initialization process recognizes subset candidates and bypasses initialization of those facilities not required by the candidates. The candidates are typically short duration jobs and a reduction of initialization and termination overhead creates a substantial performance improvement. The translation lookaside buffer operation is modified to flag subset guest entries as host entries and to associate a unique segment table origin with each subset guest. This allows the TLB entries to remain between guest machine dispatches eliminating TLB purge time and allowing potential reuse of TLB entries if the same guest is repeatedly dispatched within a short time period. The guest machine state description is modified to flag subset candidates based on address translation and timing requirements. Initialization of timing facilities is bypassed in certain subset modes further reducing initialization overhead.

Inventors

  • 👤 Geoffrey O. Blandy
  • 👤 Lisa C. Heller
  • 👤 Robert E. Murray

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 04:14
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027; G06F12/1036

Claims Analysis

Total Claims: 7
Claim 1
Independent Claim 260 words
A method of operating virtual machines (VMs) in a data processing system having one or more processors and an electronic storage, a host control program (host) overseeing the system and all VMs in the system, each VM having an associated quest control program (quest) using interpretive execution means on a processor in the system, the method comprising the steps of: requesting the host to initiate a process for establishing interpretive execution by a VM on a processor, testing by the process for an indication associated with the VM for indicating whether the VM has a subset state, bypassing specified steps in the process if the testing step detects the subset state, but executing the specified steps if the testing step does not detect the subset state, structuring the content of the state description to include a subset indication of whether the process can bypass code for controlling a VM associated with the state description, and the state description further including one or more of bypass-defining indicators including a first indicator to control bypassing a first set of specified steps in the process for providing one function for the VM, and a second indicator to control bypassing a second set of specified steps in the process for controlling another function for the VM, and structuring the first indicator to control bypassing a set of specified steps in the process that provide dynamic address translation for the VM, and structuring the second indicator to control bypassing another set of specified steps in the process that control a timing facility in the system.
Claim 2
Independent Claim 260 words
A method of operating virtual machines (VMs) in a data processing system having one or more processors and an electronic storage, a host control program (host) overseeing the system and all VMs in the system, each VM having an associated quest control program (quest) using interpretive execution means on a processor in the system, the method comprising the steps of: requesting the host to initiate a process for establishing interpretive execution by a VM on a processor, testing by the process for an indication associated with the VM for indicating whether the VM has a subset state, bypassing specified steps in the process if the testing step detects the subset state, but executing the specified steps if the testing step does not detect the subset state, structuring the content of the state description to include a subset indication of whether the process can bypass code for controlling a VM associated with the state description, and the state description further including one or more of bypass-defining indicators including a first indicator to control bypassing a first set of specified steps in the process for providing one function for the VM, and a second indicator to control bypassing a second set of specified steps in the process for controlling another function for the VM, and structuring the first indicator to control bypassing a set of specified steps in the process that provide dynamic address translation for the VM, and structuring the second indicator to control bypassing another set of specified steps in the process that control a timing facility in the system.
Claim 3
Independent Claim 378 words
A method of operating virtual machines (VMs) in a data processing system having one or more processors and an electronic storage, a host control program (host) overseeing the system and all VMs in the system, each VM having an associated quest control program (quest) using interpretive execution means on a processor in the system, the method comprising the steps of: requesting the host to initiate a process for establishing interpretive execution by a VM on a processor, testing by the process for an indication associated with the VM for indicating whether the VM has a subset state, bypassing specified steps in the process if the testing step detects the subset state, but executing the specified steps if the testing step does not detect the subset state, structuring the content of the state description to include: a subset indication of whether the process can bypass code for controlling a VM associated with the state description, and the state description further including one or more bypass-defining indicators including a first indicator to control bypassing a first set of specified steps in the process for providing one function for the VM, and a second indicator to control bypassing a second set of specified steps in the process for controlling another function for the VM, controlling virtual addressing by the host control program by a state of a host dynamic address translation (DAT) indicator, and controlling virtual addressing by each guest control program by a state of a guest DAT indicator for each guest in a state description associated with the guest, translating host virtual addresses if the host DAT indicator is set on, and translating guest virtual addresses if the guest DAT indicator is set on in an associated state description, storing virtual address translations of the host and guests executing in a processor by using a hardware translation lookaside buffer (TLB) in the processor for containing an entry for each address translation recently performed in the processor, and purging the contents of the TLB for a VM being established by the process if the VM has an associated subset state set on in an associated state description and a last previous guest dispatched on the processor does not have an associated subset state set on in an associated state description.
Claim 4
Independent Claim 378 words
A method of operating virtual machines (VMs) in a data processing system having one or more processors and an electronic storage, a host control program (host) overseeing the system and all VMs in the system, each VM having an associated quest control program (quest) using interpretive execution means on a processor in the system, the method comprising the steps of: requesting the host to initiate a process for establishing interpretive execution by a VM on a processor, testing by the process for an indication associated with the VM for indicating whether the VM has a subset state, bypassing specified steps in the process if the testing step detects the subset state, but executing the specified steps if the testing step does not detect the subset state, structuring the content of the state description to include: a subset indication of whether the process can bypass code for controlling a VM associated with the state description, and the state description further including one or more bypass-defining indicators including a first indicator to control bypassing a first set of specified steps in the process for providing one function for the VM, and a second indicator to control bypassing a second set of specified steps in the process for controlling another function for the VM, controlling virtual addressing by the host control program by a state of a host dynamic address translation (DAT) indicator, and controlling virtual addressing by each guest control program by a state of a guest DAT indicator for each guest in a state description associated with the guest, translating host virtual addresses if the host DAT indicator is set on, and translating guest virtual addresses if the guest DAT indicator is set on in an associated state description, storing virtual address translations of the host and guests executing in a processor by using a hardware translation lookaside buffer (TLB) in the processor for containing an entry for each address translation recently performed in the processor, and purging the contents of the TLB for a VM being established by the process if the VM has an associated subset state set on in an associated state description and a last previous guest dispatched on the processor does not have an associated subset state set on in an associated state description.
Claim 5
Dependent Claim 63 words
The method of claim 2, further comprising the steps of: purging the contents of the TLB for a VM being established by the process if the VM does not have an associated subset state set on in an associated state description and a last previous guest dispatched on the processor did have an associated subset state set on in an associated state description.
Claim 6
Dependent Claim 75 words
The method of claim 2, further comprising the steps of: not purging the content of the TLB if a VM being established by the process has a subset state set on for an associated state description and if a last previous dispatch of the processor was for a VM having an associated subset state set on in an associated state description to enable the VM being established to use prior translations stored in the TLB.
Claim 7
Dependent Claim 148 words
The method of claim 2, further comprising the steps of: controlling virtual addressing by the host control program by setting the host DAT indicator to a translation state, and controlling virtual addressing by each guest control program by setting the guest DAT indicator to a non-translation state, structuring each entry in the TLB with a plurality of fields for containing a host or guest logical address and a corresponding real or absolute address, for indicating whether the logical address is a host or guest address, for indicating whether the logical address is a virtual or real address, for indicating a virtual address space for a logical address, and for indicating if the content of the entry is valid or invalid, and setting the indication of the virtual address space to indicate host virtual for guest real fetches made for a VM running with the subset state set on.

References Cited (Backward Citations)

US4456954A Cited
US4885681A Cited
US5109489A Cited
US4792895A Cited
US5088031A Cited
US4816991A Cited
US5077654A Cited
US5129071A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-05-30 1997-11-29 1998-05-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-05-30 2001-11-29 2002-05-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-05-30 2005-11-29 2006-05-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag