Addressing of operands within a segment utilizing segment descriptors
First Claim
1. In an internally programmed data processing apparatus responsive to instruction words being executed by a first of a plurality of processes and having stored therein a plurality of different types of groups of informational data, each data group type associated with an address space bounded by a segment having predetermined bounds, an apparatus for developing the segment relative address (SRA) of an operand contained within any segment comprising:
- a first means for storing at least one segment table containing a plurality of segment descriptors having a predetermined format, each of said segment descriptors describing one segment associated with a predetermined one of said segment descriptors, each segment descriptor being accessible only by any number of particular predetermined ones of said plurality of processes to control access rights to said segment, and with each of said segment descriptors containing a base address of its associated segment;
b. a plurality of second means, each selectively coupled to said first means and responsive to a selected one of said instruction words and having a predetermined format for storing a segment number SEG for identifying a segment table and the location of a segment descriptor within said segment table, said second means also for storing an offset address within the segment identified by said segment descriptor, said offset address for locating from said segment base address the first byte of a word within said segment;
c. third means responsive to an address syllable element of an instruction being executed for addressing one of said plurality of second means;
d. fourth means for storing a displacement D from said address syllable, said displacement D for locating from the first byte of said word within said segment any other byte of said word; and
e. fifth means coupled to said second and fourth means for adding said displacement D to said offset whereby said SRA is developed.
0 Assignments
0 Petitions
Accused Products
Abstract
A data processing system includes apparatus for addressing operands within a segment utilizing segment descriptors. The apparatus is responsive to instruction words executed by a first of a plurality of processes. An exemplary embodiment includes a first component which stores a segment table containing a plurality of segment descriptors, a plurality of second components, each selectively coupled to the first components and responsive to a selected one of the instruction words, identify the segment table and the location within the segment table and store an offset address within the segment identified by the segment descriptor, a third component is responsive to an address syllable element of an instruction being executed for addressing one of the plurality of second components, a fourth component stores a displacement D from the address syllable, a fifth component is coupled to the second and fourth components for adding the displacement D to the offset whereby an SRA is developed (a segment relative address), a sixth component stores an index for addressing the next sequential word following the currently addressed word and adds the index to the displacement D and to the offset, a seventh component generates an absolute address of an operand contained within the segment and is coupled to the first and fifth components for adding the segment relative address SRA to the base address of the segment descriptor associated with the segment, and an eighth component is coupled to the sixth component for incrementing the absolute address location of the operand to the next word following the currently addressed word.
-
Citations
29 Claims
-
1. In an internally programmed data processing apparatus responsive to instruction words being executed by a first of a plurality of processes and having stored therein a plurality of different types of groups of informational data, each data group type associated with an address space bounded by a segment having predetermined bounds, an apparatus for developing the segment relative address (SRA) of an operand contained within any segment comprising:
-
a first means for storing at least one segment table containing a plurality of segment descriptors having a predetermined format, each of said segment descriptors describing one segment associated with a predetermined one of said segment descriptors, each segment descriptor being accessible only by any number of particular predetermined ones of said plurality of processes to control access rights to said segment, and with each of said segment descriptors containing a base address of its associated segment; b. a plurality of second means, each selectively coupled to said first means and responsive to a selected one of said instruction words and having a predetermined format for storing a segment number SEG for identifying a segment table and the location of a segment descriptor within said segment table, said second means also for storing an offset address within the segment identified by said segment descriptor, said offset address for locating from said segment base address the first byte of a word within said segment; c. third means responsive to an address syllable element of an instruction being executed for addressing one of said plurality of second means; d. fourth means for storing a displacement D from said address syllable, said displacement D for locating from the first byte of said word within said segment any other byte of said word; and e. fifth means coupled to said second and fourth means for adding said displacement D to said offset whereby said SRA is developed. - View Dependent Claims (2, 3, 4)
-
-
5. In an internally programmed data processing apparatus including a plurality of base registers, said apparatus being responsive to internally stored instruction words being executed by a first process of a plurality of processes and having stored in said data processing apparatus a plurality of different types of groups of informational data, each data group type associated with an address space bounded by a segment having predetermined bounds, an apparatus for developing by indirection to said base registors the segment relative address (SRA) of an operand contained within any segment comprising:
-
a. first means for generating the absolute address of a first data descriptor, and first data descriptor containing a base register address element for identifying one of a plurality of said base registers containing first address elements of the address of a first operand to be accessed within said segment, and said data descriptor also providing the second address elements of said first operand to be accessed within said segment said first operand being a second data descriptor; b. second means for storing at least one segment table containing a plurality of segment descriptors having a predetermined format, each of said segment descriptors describing one segment associated with a predetermined one of said segment descriptors and each of said segment descriptors containing a base address of its associated segment, said predetermined one of said segment descriptors being identified by an element of said address in said base register. c. third means coupled to said first and second means for generating a segment relative address (SRA) of said first operand from said first and second address elements. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. In an internally programmed data processing apparatus having a plurality of base registers, said apparatus being responsive to internally stored instructions being executed by a first process of a plurality of processes and having stored within said data processing apparatus a plurality of different types of groups of informational data, each data group type associated with an address space bounded by a segment having predetermined bounds, an apparatus for developing by n indirections to one of said plurality of base registers the segment relative address (SRA) of a final operand word contained within a selected segment comprising:
-
a. first means for storing a plurality of segment tables, each segment table containing a plurality of segment descriptors, each descriptor having a predetermined format, with predetermined ones of said segment descriptors associated with predetermined segments on a one to one basis, each of said segment descriptors describing its associated segment and each of said segment descriptors containing a base address element of its associated segment, each segment descriptor being accessible only by any number of particular predetermined ones of said plurality of processes to control access rights to said segment, said base address element for locating the base location of the beginning of said associated segment, a predetermined one of said segment descriptors being identified by a first address element stored in one of said base registers; b. second means selectively coupled to said first means for storing an address syllable of a selected one of said instructions, said address syllable containing a base register address element for identifying one of a plurality of said base registers, said one of said base registers containing a second address element for addressing a first operand word within a first segment from the base location of said first segment, said adddress syllable also containing a first displacement address element for addressing at least one byte of said first operand word, said byte addressed relative to the beginning of the first byte of said first operand word; c. third means coupled to said first and second means for generating the absolute address of a data descriptor from said second address element, from said first displacement address element and from said base address element, said data descriptor containing a second base register address element for identifying a second of said plurality of base registers containing third address elements of the address of the final operand to be accessed within a second segment, said data descriptor also containing a second displacement address element for addressing at least one byte of a second operand word, said byte addressed relative to the beginning of the first byte of said final operand word; and d. fourth means responsive to said third address element and to said second displacement address for generating a segment relative address of said final operand from said third address element and said displacement address element. - View Dependent Claims (12, 13, 14)
-
-
15. In an internally programmed data processing apparatus having a plurality of base registers, said apparatus being responsive to internally stored instructions being executed by a first of a plurality of processes and having stored within said data processing apparatus a plurality of different types of groups of informational data, each data group type associated with an address space bounded by a segment having predetermined bounds, an apparatus for developing by n indirections to one of a plurality of segment tables the segment relative address (SRA) of a final operand word contained within a selected segment comprising:
-
a. a first means for storing a plurality of segment tables, each segment table containing a plurality of segment descriptors, each descriptor having a predetermined format, with predetermined ones of said segment descriptors associated with predetermined segments on a one to one basis, each of said segment descriptors describing its associated segment, each segment descriptor being accessible only by any number of particular predetermined ones of said plurality of processes to control access rights to said segment, and each of said segment descriptors containing a base address element of its associated segment, said base address element for locating the base location of the beginning of said associated segment, a predetermined one of said segment descriptors associated with a first of said segments being identified by a first address element stored in one of said base registers; b. second means coupled to said first means for storing an address syllable of said instruction, said address syllable containing a base register address element for identifying one of a plurality of said base registers, said one of said base registers containing a second address element for addressing a first operand word within a first segment from the base location of said first segment, said address syllable also containing a first displacement address element for addressing at least one byte of said first operand word, said byte being addressed relative to the beginning of the first byte of said first operand word, said first operand word being a first segment descriptor; c. third means coupled to said first and second means for generating the absolute address of said first segment descriptor utilizing said second address element, said first displacement address element and said base address element, said first segment descriptor containing a third address element of the address of the final operand to be accessed within a second segment, said first segment descriptor also containing a second displacement address element for addressing at least one byte of said final operand word, said byte addressed relative to the beginning of the first byte of said final operand word; and d. fourth means responsive to said third address element and said displacement address element for generating a segment relative address (SRA) of said final operand word utilizing said third address element and said second displacement address element. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. In an internally programmed data processing apparaus having a plurality of first storage means for storing elements of an address of a final operand, said apparatus responsive to instruction words being executed by a first process of a plurality of processes, said first storage means having stored therin a plurality of different types of roups of informatinal data, each data group type associated with an address space bounded by a predetermined segment of a plurality of segments having predetemined bounds, an apparatus for developing an absolute address of said final operand contained within said predetermined segment, said apparatus comprising:
-
a. first means responsive to a first address element contained within said instruction words and said second address element contained within said first storage means, said first means generating in response to a predetermined one of said first address elements and to a predetermined one of said second address elements a segment relative address (SRA) of said final operand; b. second means for storing at least one segment table containing a plurality of segment descriptors having a predetermined format, each of said segment descriptors describing one of said plurality of segments, each segment descriptor being accessible only by any number of particular predetermined ones of said plurality of processes to control access rights to said segment, said one segment associated with a predetermined one of said segment descriptors, and each of said segment descriptors containing a base address of its associated segment; and c. third means coupled to said first and second means for generating from said base address and said segment relative address (SRA) the absolute address of said final operand. - View Dependent Claims (22, 23)
-
-
24. In an internally programmed data processing apparatus having a plurality of base registers, said apparatus being response to internally stored instruction words and having stored within said data processing apparatus a plurality of different type of groups of informational data, each data group type associated with an address spaced bounded by a predetermined segment of a plurality of segments having predetermined bounds, the method of developing an absolute address of a final operand contained within said predetermined segment, said method comprising the steps of:
-
a. accessing a predetermined one of said instruction words to obtain a first address element, acessing a predetermined one of said base registers to obtain a second address element, and combining said first address element with said second address element to form a segment relative address; b. storing at least one segment table containing a plurality of segment descriptors having a predetermined format, each of said segment descriptors describing one of said plurality of segments, each segment descriptor being accessible only by any number of particular predetermined ones of said plurality of processes to control access rights to said segment, said one segment being associated with a predetermined one of said segment descriptors, and each of said segment descriptors containing a base address of its associated segment; and c. combining said base address with said segment relative address (SRA) to form the absolute address of said final operand. - View Dependent Claims (25, 26)
-
-
27. In an internally programmed data processing apparatus having a plurality of base registers, said apparatus being responsive to internally stored instruction words and having stored wthin said data processing apparatus a plurality of different types of groups of informational data, each data group type associated with an address spaced bounded by a predetermined segment of a plurality of segments having predetermined bounds, the method of developing, by n indirections to one of said plurality of base registers, an absolute address of a final operand contained within one of said segments, said method comprising the steps of:
-
a. accessing a predetermined one of said instruction words to obtain a first address element, accessing a predetermined one of said base registers to obtain a second address element, and combining said first address element with said second address element to form a first segment relative address; b. storing at least one segment table containing a plurality of segment descriptors having a predetermined format, each of said segment descriptors describing one of said plurality of segments, each segment descriptor being accessible only by any number of particular predetermined ones of said plurality of processes to control access rights to said segment, said one segment being associated with a predetermined one of said segment descriptors, and each of said segment descriptors containing a base address of its associated segment; c. accessing a predetermined one of said segment descriptors to obtain a first base address, and combining said first base address with said first segment relative address (SRA) to form the absolute address of a data descriptor; d. accessing said data descriptor to obtain a third address element, accessing a predetermined second of said base registers to obtain a third address element, and combining said third address element with said fourth address element to form a second segment relative address (SRA); and e. accessing a predetermined second of said segment descriptors to obtain a second base address, and combining said second base address with said second segment relative address (SRA) to form a second absolute address of the final operand. - View Dependent Claims (28, 29)
-
Specification