Claims
- 1. An information processing apparatus with an address extension function comprising:
- a flag for holding a mode control bit for directing whether a value of a register is to be changed in an event of carry a occurrence;
- an address adder for calculating a virtual operand address of an operand designated by an instruction in accordance with at least a one of a value in a base register, a value in an index register and a displacement value;
- a main memory unit storing i) a plurality of address translation tables respectively designated by spatial identifiers, and ii) a domain table for storing the spatial identifiers as entries;
- a plurality of operand domain registers, for storing a value of an extended portion of a respective plurality of virtual operand addresses;
- means for obtaining a first spatial identifier from said domain table based on the value in a one of said plurality of operand domain registers corresponding to said operand designated by said instruction;
- means for translating said virtual operand address into a real address by use of said address translation table designated by the obtained first spatial identifier; and,
- means for changing the value of said one of said plurality of operand domain registers when said mode control bit has a first value and when said address adder generates a carry.
- 2. An address extension apparatus for use with an information processing device including a virtual address translation function for converting virtual addresses of 1.sup.st -n.sup.th operands in an instruction into respective 1.sup.st -n.sup.th real addresses of a main memory using segment and page tables and segment and origin pointers, the address extension apparatus comprising:
- a domain table for storing a plurality of segment table origin pointers;
- a domain table designation register for storing a domain table origin pointer;
- a set of 1.sup.st -n.sup.th operand domain index registers for storing a respective set of 1.sup.st -n.sup.th operand address domain indices, the set of 1.sup.st -n.sup.th operand address domain indices providing a respective set of 1.sup.st -n.sup.th offset pointers into the domain table from the domain table origin pointer;
- an address adder for calculating a first virtual operand address of an m.sup.th operand in a first instruction in accordance with an addition of at least a one of a value in a base register, a value in an index register and a displacement value, the address adder including means for generating an operand carry signal when said addition results in a bit carry;
- means for obtaining a first segment table origin pointer for use by the information processing device from said plurality of segment table origin pointers in the domain table based on: i) said domain table origin pointer and ii) a value of an m.sup.th operand address domain index corresponding to said m.sup.th operand of the first instruction among said set of 1.sup.st -n.sup.th operand address domain indices; and,
- means for changing the value of said m.sup.th operand address domain index in said set of 1-n operand domain index registers when said operand carry signal is generated by said address adder.
- 3. The address extension apparatus according to claim 2 further comprising:
- a first register for storing an operand address extended mode bit; and,
- means, in said means for changing, for selectively changing the value of said m.sup.th operand address domain index in said set of 1.sup.st -n.sup.th operand domain index registers when i) said operand carry signal is generated by said address adder and ii) said operand address extended mode bit is at a first value.
- 4. The address extension apparatus according to claim 2 further comprising:
- an instruction domain index register for storing an instruction address domain index providing an offset pointer into the domain table from the domain table origin pointer;
- a program counter adder for calculating a first virtual instruction address of said first instruction in accordance with an addition of at least a one of a program count value and an instruction length value, the program counter adder including means for generating an instruction carry signal when said addition results in a bit carry;
- means for obtaining a second segment table origin pointer for use by the information processing device from said plurality of segment table origin pointers in the domain table based on: i) said domain table origin pointer and ii) a value of said instruction address domain index; and,
- means for changing the value of said instruction address domain index when said instruction carry signal is generated by said program counter adder.
- 5. The address extension apparatus according to claim 4 further comprising:
- a first register for storing an operand address extended mode bit; and,
- means, in said means for changing the value of said m.sup.th operand address domain index, for changing the value of said m.sup.th operand address domain index in said set of 1.sup.st -n.sup.th operand domain index registers when i) said operand carry signal is generated by said address adder and ii) said operand address extended mode bit is at a first value.
- 6. The address extension apparatus according to claim 5 further comprising:
- a second register for storing an instruction address extended mode bit; and,
- means, in said means for changing the value of said instruction address domain index, for changing the value of said instruction address domain index when i) said instruction carry signal is generated by said program counter adder and ii) said instruction address extended mode bit is at a first value.
- 7. The address extension apparatus according to claim 4 further comprising:
- a second register for storing an instruction address extended mode bit; and,
- means, in said means for changing the value of said instruction address domain index, for changing the value of said instruction address domain index when i) said instruction carry signal is generated by said program counter adder and ii) said instruction address extended mode bit is at a first value.
- 8. An address extension method for use in an information processing device including a virtual address translation function for converting virtual addresses of 1.sup.st -n.sup.th operands in an instruction into respective 1.sup.st -n.sup.th real addresses of a main memory using segment and page tables and segment and origin pointers, an address extension method comprising:
- storing a plurality of segment table origin pointers in a domain table;
- storing a domain table origin pointer in a domain table designation register;
- storing a set of 1.sup.st -n.sup.th operand address domain indices in a respective set of 1.sup.th -n operand domain index registers, the set of 1.sup.st -n.sup.th operand address domain indices providing a respective set of 1.sup.st -n.sup.th offset pointers into the domain table from the domain table origin pointer;
- calculating in an address adder a first virtual operand address of an m.sup.th operand in a first instruction in accordance with an addition of at least a one of a value in a base register, a value in an index register and a displacement value, the calculating including generating an operand carry signal when said addition results in a bit carry;
- obtaining a first segment table origin pointer for use by the information processing device from said plurality of segment table origin pointers in the domain table based on: i) said domain table origin pointer and ii) a value of an m.sup.th operand address domain index corresponding to said m.sup.th operand of the first instruction among said set of 1.sup.st -n.sup.th operand address domain indices; and,
- changing the value of said m.sup.th operand address domain index in said set of 1.sup.st -n.sup.th operand domain index registers when said operand carry signal is generated by said address adder.
- 9. The address extension method according to claim 8 further comprising:
- storing an operand address extended mode bit in a first register; and,
- changing the value of said m.sup.th operand address domain index in said set of 1.sup.st -n.sup.th operand domain index registers when i) said operand carry signal is generated by said address adder and ii) said operand address extended mode bit is at a first value.
- 10. The address extension method according to claim 8 further comprising:
- storing, in an instruction domain index register, an instruction address domain index providing a pointer into the domain table offset from the domain table origin pointer;
- calculating, in a program counter adder, a first virtual instruction address of said first instruction in accordance with an addition of at least a one of a program count value and an instruction length value, the calculating including generating an instruction carry signal when said addition results in a bit carry;
- obtaining a second segment table origin pointer for use by the information processing device from said plurality of segment table origin pointers in the domain table based on: i) said domain table origin pointer and ii) a value of said instruction address domain index; and,
- changing the value of said instruction address domain index when said instruction carry signal is generated by said program counter adder.
Priority Claims (1)
Number |
Date |
Country |
Kind |
62-250913 |
Oct 1987 |
JPX |
|
Parent Case Info
This application is a continuation application of U.S. Ser. No. 07/664,099, filed Mar. 4, 1991, now U.S. Pat. No. 5,287,475, which was a continuation application of U.S. Ser. No. 07/252,815, filed Oct. 3, 1988, now U.S. Pat. No. 5,023,777, issued Jun. 11, 1991.
US Referenced Citations (23)
Non-Patent Literature Citations (1)
Entry |
"IBM System/370 Extened Architecture Principles of Operation", Pub. No. SA-22-7085-1, International Business Machines, 1987, pp. 3-21 to 3-38. |
Continuations (2)
|
Number |
Date |
Country |
Parent |
664099 |
Mar 1991 |
|
Parent |
252815 |
Oct 1988 |
|