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

Virtual machine system which translates virtual address from a selected virtual machine into real address of main storage

Assignee: Hitachi Ltd
•
Filing: 1988-12-08
•
Granted: 1991-12-31
•
Expires: 2008-12-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A virtual machine system for executing fast speed address translation in plural virtual machines having a two-stage address translation mechanism. The system permits address translation to be executed by adding to an output from a first address translation address constants in a hold apparatus holding address constants including zero, executing a second address translation, and selecting an output from the first address translation to which the address constants have been added or an output from the second address translation. An address translation for a plurality of different regions is performed by switching a value for the address constants held by the hold apparatus.

Inventors

  • 👤 Toru Ohtsuki

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 21:00
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F12/00; G06F12/02; G06F12/0223; G06F12/0292

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 362 words
A virtual machine system for executing a plurality of different resident virtual machines and a usual virtual machine and translating a virtual address of a certain virtual machine into a real address of a main storage, comprising: first address translation means, responsive to a virtual address of said certain virtual machine which is currently being executed, for executing a first stage address translation, said first address translation means including means for referring to a first address table to obtain a real address of said certain virtual machine; second address translation means for executing a second stage address translation in response to an output from the first address translation means, said second address translation means including means for referring to a second address table to obtain a real address of the main storage; selection means for selecting said output from said first address translation means or an output from said second address translation means to provide a selected output to said main storage; instruction means, responsive to a kind of virtual machine currently being executed, for providing said selection means with a selection instruction directing said selection means to select said output from said first address translation means when said certain virtual machine is a resident virtual machine and with a selection instruction directing said selection means to select said output from said second address translation means when said certain virtual machine is a usual virtual machine; hold means for holding an address constant which corresponds to said certain virtual machine, wherein virtual machines are uniquely and respectively assigned constants, said constants represent real addresses of said main storage and one of said constants whose value is zero is assigned to both one of the resident virtual machines and said usual virtual machine; and additional means, disposed in data communication between said first address translation means, said second address translation means and said selection means, for inputtting said output from said first address translation means and said output from said second address translation means, adding said outputs from said first and second address translation means and outputting a result of said addition to both said second address translation means and said selection means.
Claim 2
Dependent Claim 362 words
A virtual machine system for executing a plurality of different resident virtual machines and a usual virtual machine and translating a virtual address of a certain virtual machine into a real address of a main storage, comprising: first address translation means, responsive to a virtual address of said certain virtual machine which is currently being executed, for executing a first stage address translation, said first address translation means including means for referring to a first address table to obtain a real address of said certain virtual machine; second address translation means for executing a second stage address translation in response to an output from the first address translation means, said second address translation means including means for referring to a second address table to obtain a real address of the main storage; selection means for selecting said output from said first address translation means or an output from said second address translation means to provide a selected output to said main storage; instruction means, responsive to a kind of virtual machine currently being executed, for providing said selection means with a selection instruction directing said selection means to select said output from said first address translation means when said certain virtual machine is a resident virtual machine and with a selection instruction directing said selection means to select said output from said second address translation means when said certain virtual machine is a usual virtual machine; hold means for holding an address constant which corresponds to said certain virtual machine, wherein virtual machines are uniquely and respectively assigned constants, said constants represent real addresses of said main storage and one of said constants whose value is zero is assigned to both one of the resident virtual machines and said usual virtual machine; and additional means, disposed in data communication between said first address translation means, said second address translation means and said selection means, for inputtting said output from said first address translation means and said output from said second address translation means, adding said outputs from said first and second address translation means and outputting a result of said addition to both said second address translation means and said selection means.
Claim 3
Dependent Claim 34 words
A virtual machine system as claimed in claim 1, further comprising: control means for executing an address translation of plural different regions by switching a value for address constants held in said hold means.
Claim 4
Dependent Claim 33 words
A virtual machine system as claimed in claim 2, wherein the value for the address constants held in said hold means is a value corresponding to plural different regions for plural virtual machines.
Claim 5
Independent Claim 327 words
A method for address translation of a virtual address of a certain virtual machine into a real address of a main storage in a virtual machine system for executing a plurality of different resident virtual machines and a usual virtual machine, comprising the steps of: executing a first stage address translation, in response to a virtual address of said certain virtual machine which is currently being executed, by referring to a first address table to obtain a real address of said certain virtual machine; executing a second stage address translation in response to a result from said executing a first stage address translation step by referring to a second address table to obtain a real address of the main storage; selecting said result from said executing a first stage address translation step or a result from said executing a second stage addrees translation step to provide a selected output to said main storage; providing, in response to a kind of virtual machine currently being executed, said selecting step with a selection instruction directing said selecting step to select said result from said executing a first stage address translation step when said certain virtual machine is a resident virtual machine and with a selection instruction directing said selecting step to select said result from said executing a second stage address translation step when said certain virtual machine is a usual virtual machine; holding an address constant which corresponds to said certain virtual machine, wherein virtual machines are uniquely and respectively assigned constants, said constants represent real addresses of said main storage and one of said constants whose value is 0 is assigned to both one of the resident virtual machines and said usual virtual machine; adding said results from said executing a first stage address translation step and said executing a second stage address translation step; and outputting a result of said adding step to both said executing a second stage address translation step and said selecting step.
Claim 6
Independent Claim 327 words
A method for address translation of a virtual address of a certain virtual machine into a real address of a main storage in a virtual machine system for executing a plurality of different resident virtual machines and a usual virtual machine, comprising the steps of: executing a first stage address translation, in response to a virtual address of said certain virtual machine which is currently being executed, by referring to a first address table to obtain a real address of said certain virtual machine; executing a second stage address translation in response to a result from said executing a first stage address translation step by referring to a second address table to obtain a real address of the main storage; selecting said result from said executing a first stage address translation step or a result from said executing a second stage addrees translation step to provide a selected output to said main storage; providing, in response to a kind of virtual machine currently being executed, said selecting step with a selection instruction directing said selecting step to select said result from said executing a first stage address translation step when said certain virtual machine is a resident virtual machine and with a selection instruction directing said selecting step to select said result from said executing a second stage address translation step when said certain virtual machine is a usual virtual machine; holding an address constant which corresponds to said certain virtual machine, wherein virtual machines are uniquely and respectively assigned constants, said constants represent real addresses of said main storage and one of said constants whose value is 0 is assigned to both one of the resident virtual machines and said usual virtual machine; adding said results from said executing a first stage address translation step and said executing a second stage address translation step; and outputting a result of said adding step to both said executing a second stage address translation step and said selecting step.
Claim 7
Dependent Claim 30 words
A method as claimed in claim 4, wherein there is set a value corresponding to a plurality of different regions for executing address translation of the address constants including zero.
Claim 8
Dependent Claim 33 words
A method as claimed in claim 4, wherein a value for the address constants held in a hold means is a value corresponding to a plurality of different regions for plural virtual machines.

References Cited (Backward Citations)

US4285040A Cited
US4456954A Cited
US4533996A Cited
US4885681A Cited
US4792895A Cited
US4792897A Cited
US4802084A Cited
US4782443A Cited
US4816991A Cited
US4959770A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-12-30 1995-07-01 1995-12-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-12-30 1999-07-01 1999-12-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-12-30 2003-07-01 2003-12-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag