US4802084A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Address translator
Assignee: Hitachi Ltd
•
Filing: 1986-02-10
•
Granted: 1989-01-31
•
Expires: 2006-02-10
Abstract
Abstract In order to carry out address translation which can reduce an overhead of the VMCP to support a virtual storage, a flag indicating a common segment in the virtual machine and a system identifier are held in a TLB, and a VM identifier is held in a segment table origin stack. For the common segment, a current VM identifier is compared with the VM identifier in the segment table origin stack to determine validity of a TLB entry, and for a non-common segment, a system identifier read from the segment table origin stack is compared with the system identifier in the TLB entry to determine validity of the TLB entry.
Inventors
- 👤 Hiroshi Ikegaya
- 👤 Hidenori Umeno
- 👤 Takashige Kubo
- 👤 Yoshio Ukai
- 👤 Nobuyoshi Sugama
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-28 12:00
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027; G06F12/1036
Claims Analysis
Total Claims: 4
Claim 1
Independent Claim
415 words
An address translator for translating a virtual address into a corresponding physical address for use in a virtual machine system having a control program for simultaneously operating plural virtual machines with respective operating systems on one real machine, each of said operating systems holding a first identifier for identifying a virtual machine on which the operating system runs, comprising: a segment table origin stack for storing therein identification entries each containing a portion of a segment table origin address for a virtual address, a first identifier and a second identifier representative of a combination of said segment table origin address for a virtual address and said first identifier; a first comparator for comparing a first identifier for a virtual machine on which a current operation is running with each of said first identifiers stored in said segment table origin stack; a second comparator for comparing a portion of a segment table origin address for a virtual address specified by said running program with each of the portions of segment table origin addresses for virtual address stored in said segment table origin stack; an AND gate coupled to receive the outputs of said first and second comparators; an address translation buffer for storing therein address translation entries each containing a portion of a virtual address, a physical address corresponding to the virtual address, a second identifier and a flag indicative of whether or not said virtual address belongs to a common segment in a virtual machine; a third comparator for comparing a second identifier read out, in response to the output of said AND gate, from said segment table origin stack in association with the portion of a segment table origin address for said virtual address specified by said running program with each of said second identifiers stored in said address translation buffer; and selection means coupled to the outputs of said first and third comparators and responsive to said flag in said address translation buffer for delivering the output of said first comparator when said flag indicates that said virtual address specified by said running program belongs to a common segment and for delivering the output of said third comparator when said flag indicates that said virtual address specified by said running program does not belong to a common segment, whereby that one of said physical addresses stored in said address translation buffer which corresponds to the virtual address specified by said running program is delivered in response to the output of said selection means.
Claim 2
Dependent Claim
415 words
An address translator for translating a virtual address into a corresponding physical address for use in a virtual machine system having a control program for simultaneously operating plural virtual machines with respective operating systems on one real machine, each of said operating systems holding a first identifier for identifying a virtual machine on which the operating system runs, comprising: a segment table origin stack for storing therein identification entries each containing a portion of a segment table origin address for a virtual address, a first identifier and a second identifier representative of a combination of said segment table origin address for a virtual address and said first identifier; a first comparator for comparing a first identifier for a virtual machine on which a current operation is running with each of said first identifiers stored in said segment table origin stack; a second comparator for comparing a portion of a segment table origin address for a virtual address specified by said running program with each of the portions of segment table origin addresses for virtual address stored in said segment table origin stack; an AND gate coupled to receive the outputs of said first and second comparators; an address translation buffer for storing therein address translation entries each containing a portion of a virtual address, a physical address corresponding to the virtual address, a second identifier and a flag indicative of whether or not said virtual address belongs to a common segment in a virtual machine; a third comparator for comparing a second identifier read out, in response to the output of said AND gate, from said segment table origin stack in association with the portion of a segment table origin address for said virtual address specified by said running program with each of said second identifiers stored in said address translation buffer; and selection means coupled to the outputs of said first and third comparators and responsive to said flag in said address translation buffer for delivering the output of said first comparator when said flag indicates that said virtual address specified by said running program belongs to a common segment and for delivering the output of said third comparator when said flag indicates that said virtual address specified by said running program does not belong to a common segment, whereby that one of said physical addresses stored in said address translation buffer which corresponds to the virtual address specified by said running program is delivered in response to the output of said selection means.
Claim 3
Dependent Claim
86 words
An address translator according to claim 1, in which said selection means includes a second AND gate coupled to receive the output of said first comparator and a flag signal representative of said flag read out from said address translation buffer, a third AND gate coupled to receive the output of said third comparator and said flag signal, and an OR gate coupled to receive the outputs of said second and third AND gates for generating a signal as said output signal of said selection means.
Claim 4
Dependent Claim
55 words
An address translator according to claim 2, further comprising a fourth comparator for comparing a portion of said virtual address specified by said running program with each of the portions of said virtual addresses stored in said address translation buffer, the output of said fourth comparator being coupled to said second and third AND gates.
References Cited (Backward Citations)
US4096573A
Cited
US4459661A
Cited
US4355355A
Cited
US4521846A
Cited
US4456954A
Cited
US4597044A
Cited
US4612612A
Cited
US4564903A
Cited
US4589092A
Cited
US4695950A
Cited
US4674038A
Cited
US4649479A
Cited
US4660144A
Cited
JPH113182A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1992-01-31 | 1992-08-01 | 1993-01-31 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1996-01-31 | 1996-08-01 | 1997-01-31 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2000-01-31 | 2000-08-01 | 2001-01-31 | $7700.00 | Window Closed / Lapsed |