Claims Analysis
Total Claims: 5
Claim 1
Independent Claim
803 words
An address translation system comprising: a virtual storage having a first segment, a group of second segments and a group of third segments, each segment having the same number of pages, and an address in said virtual storage being designated by a virtual address which is formed by: (a) a segment number for specifying one of said segments, (b) a page number for specifying one of the pages in the segment specified by said segment number, and (c) displacement data for specifying an offset from the beginning of said page specified by said page number, the segment number of said first segment being zero and the segment numbers for one of said second and third segment groups being even and the segment numbers for the other of said second and third segment groups being odd; a real storage having a plurality of page frames, which are the same size as said pages, and including a first region to which information corresponding to said first segment is permanently assigned and a second region to which said pages of said second and third segments can be selectively stored, an address in said first region being specified by a real address equivalent to a virtual address having a segment number of zero; a first page table provided for said second segments, and stored in said second region of said real storage and in 2 M pages of that of said third segments whose segment number differs from said segment number of said second segment by one in a predetermined direction, said first page table having a number of entries equal to the number of said pages of said second segment and in each of which a first page frame number is set to specify that of said page frames of said real storage to which the page specified by said page number of a virtual address is assigned; a second page table provided for said first page table and having a number of entries equal to the number of said pages that said first page table occupies and in each of which a second page frame number is set to specify one of those of said page frames of said real storage in which said first page table is stored, said second page table being stored in said first segment of said virtual storage and said first region of said real storage; a segment table stored in said first segment of said virtual storage and said first region of said real storage and having a plurality of entries, one of which is designated by said segment number of a virtual address, and in each of which translation type data is set to specify one of address translation types including a two-level paging address translation, and including origin data for specifying an origin of said second page table being set in that of said entries of said segment table whose translation type data specifies said two-level paging address translation; and a memory control unit having: (a) register means for storing a virtual address; (b) segment discriminating means, responsive to said virtual address stored in said register means, for determining whether said segment number of said virtual address specifies one of: (a) said first segment, (b) one of said second segments and (c) one of said third segments; (c) first address translating means, responsive to said segment discriminating means and said virtual address stored in said register means, for treating said virtual address as a real address when said segment number is determined by said segment discriminating means to specify said first segment; and (d) second address translating means, responsive to said segment discriminating means and said virtual address stored in said register means, for: (1) when said segment number is determined by said segment discriminating means to specify one of said second segments, referring to that of said entries of said segment table which is specified by said segment number of said virtual address, (2) when said translation type data set in said referred entry of said segment table specifies said two-level paging address translation, referring to that of said entries of said second page table which is specified by first real address data, obtained by concatenating said origin data set in said referred entry of said segment table and upper M bits of said page number of said virtual address, to thereby provide said second page frame number, (3) referring that of said entries of said first page table which is specified by second real address data, obtained by concatenating said second page frame number and the remaining bits of said page number of said virtual address, to thereby provide said first page frame number, and (4) concatenating said first page frame number and said displacement data of said virtual address to provide a real address.
Claim 2
Dependent Claim
803 words
An address translation system comprising: a virtual storage having a first segment, a group of second segments and a group of third segments, each segment having the same number of pages, and an address in said virtual storage being designated by a virtual address which is formed by: (a) a segment number for specifying one of said segments, (b) a page number for specifying one of the pages in the segment specified by said segment number, and (c) displacement data for specifying an offset from the beginning of said page specified by said page number, the segment number of said first segment being zero and the segment numbers for one of said second and third segment groups being even and the segment numbers for the other of said second and third segment groups being odd; a real storage having a plurality of page frames, which are the same size as said pages, and including a first region to which information corresponding to said first segment is permanently assigned and a second region to which said pages of said second and third segments can be selectively stored, an address in said first region being specified by a real address equivalent to a virtual address having a segment number of zero; a first page table provided for said second segments, and stored in said second region of said real storage and in 2 M pages of that of said third segments whose segment number differs from said segment number of said second segment by one in a predetermined direction, said first page table having a number of entries equal to the number of said pages of said second segment and in each of which a first page frame number is set to specify that of said page frames of said real storage to which the page specified by said page number of a virtual address is assigned; a second page table provided for said first page table and having a number of entries equal to the number of said pages that said first page table occupies and in each of which a second page frame number is set to specify one of those of said page frames of said real storage in which said first page table is stored, said second page table being stored in said first segment of said virtual storage and said first region of said real storage; a segment table stored in said first segment of said virtual storage and said first region of said real storage and having a plurality of entries, one of which is designated by said segment number of a virtual address, and in each of which translation type data is set to specify one of address translation types including a two-level paging address translation, and including origin data for specifying an origin of said second page table being set in that of said entries of said segment table whose translation type data specifies said two-level paging address translation; and a memory control unit having: (a) register means for storing a virtual address; (b) segment discriminating means, responsive to said virtual address stored in said register means, for determining whether said segment number of said virtual address specifies one of: (a) said first segment, (b) one of said second segments and (c) one of said third segments; (c) first address translating means, responsive to said segment discriminating means and said virtual address stored in said register means, for treating said virtual address as a real address when said segment number is determined by said segment discriminating means to specify said first segment; and (d) second address translating means, responsive to said segment discriminating means and said virtual address stored in said register means, for: (1) when said segment number is determined by said segment discriminating means to specify one of said second segments, referring to that of said entries of said segment table which is specified by said segment number of said virtual address, (2) when said translation type data set in said referred entry of said segment table specifies said two-level paging address translation, referring to that of said entries of said second page table which is specified by first real address data, obtained by concatenating said origin data set in said referred entry of said segment table and upper M bits of said page number of said virtual address, to thereby provide said second page frame number, (3) referring that of said entries of said first page table which is specified by second real address data, obtained by concatenating said second page frame number and the remaining bits of said page number of said virtual address, to thereby provide said first page frame number, and (4) concatenating said first page frame number and said displacement data of said virtual address to provide a real address.
Claim 3
Dependent Claim
118 words
A system according to claim 1, wherein a virtual address segment number corresponding to a virtual address which corresponds to said first real address data and said segment number of said virtual address stored in said register means differ by one, and said virtual address segment number has a page number equal to that which said upper M bits of said page number of said virtual address stored in said register means indicate, and has displacement data equal to concatenation data obtained by concatenating the remaining bits of said page number of said virtual address in said register means and N-bit data of zero, provided that each entry of said first page table consists of 2 N bytes.
Claim 4
Dependent Claim
188 words
A system according to claim 2, wherein said memory control unit further comprises third address translating means which is responsive to said segment discriminating means and said virtual address stored in said register means, for, when said segment number of said virtual address is determined to specify one of said third segments by said segment discriminating means, (1) changing said segment number of said virtual address by one in a direction opposite to said predetermined direction, (2) referring those of said entries of said segment table which are specified by said changed segment number, (3) referring to, when said translation type data set in said entry of said segment table specifies said two-level paging address translation, that of said entries of said second page table which is specified by third real address data obtained by concatenating said origin data set in said entry of said segment table and lower M bits of said page number of said virtual address, to thereby provide said second page frame number and (4) concatenating said second page frame number and displacement data of said virtual address to thereby provide a real address.
Claim 5
Dependent Claim
95 words
A system according to claim 3, wherein said segment discriminating means is also for determining whether said segment number of said virtual address specifies said first segment depending on whether said segment number of said virtual address is zero, and when said segment number of said virtual address is not zero, said segment discriminating means is also for determining whether or not said segment number of said virtual address specifies one of said second segments or one of said third segments depending on whether said segment number of said virtual address is even or odd.