Claims
- 1. In a computer system including
- a processor for processing a plurality of numbers having precision S, where S is a power of 2,
- computer-readable memory locations specified in a computer-readable instruction address field by an n-bit logical address, each computer-readable memory location being adapted to store a single precision number, said computer-readable memory locations being adapted for storing numbers having precision S in a group of S computer-readable memory locations accessed by an m-bit physical address
- a backward compatible addressing logic circuit for addressing said computer-readable memory locations with up to 2.sup.n distinct n-bit logical addresses, said addressing logic circuit comprising:
- alignment logic circuit having an input, for receiving said n-bit logical address, and an output for generating n bits of said physical addresses as a function of precision;
- extension logic circuit having an input, for receiving (m-n) logical address binary bits via a bus coupled to said input of said alignment logic circuit, and an output for generating (m-n) physical address bits as a function of precision.
- 2. The computer system of claim 1 wherein
- said n-bit logical address is specified by ##EQU17## where e.sub.i are logical address binary bits, said m-bit physical address is specified by ##EQU18## where d.sub.i are physical address binary bits, said n physical address binary bits generated by said output of said alignment logic is specified by d.sub.i =0 for 0.ltoreq.i.ltoreq.(log.sub.2 S)-1 and d.sub.i =e.sub.i for log.sub.2 S.ltoreq.i.ltoreq.n-1; and
- said (m-n) physical address binary bits generated by said output of said extension logic is specified by d.sub.i =e.sub.i-n for n.ltoreq.i.ltoreq.m-1.
- 3. The addressing logic of claim 2, wherein k is a number of precision sizes of the plurality of numbers having precision S, ##EQU19## where s.sub.i are precision binary bits, and said alignment logic circuit generates the physical address binary bits d.sub.i according to the following logic equations: ##EQU20##
- 4. The alignment logic of claim 3, wherein n=5, m=7, and k=3, said alignment logic including
- first AND gate having a first input for receiving the logical address binary bits (LABB) e.sub.o and a second input for receiving precision binary bits (PBB) s.sub.o, said first AND gate further having an output for generating physical address binary bits (PABB) d.sub.o
- OR gate having a first and second inputs for receiving PBCS s.sub.o and respectively s.sub.1, said OR gate further having an output for generating an OR output signal,
- second AND gate having a first input for receiving said OR output signal and a second input for receiving PBB s.sub.1, said second AND gate further having an output for generating PABC d.sub.1
- first, second, and third buses for receiving, respectively, LABB e.sub.2, e.sub.3, and e.sub.4 and for generating, respectively, PABB d.sub.2, d.sub.3, and d.sub.4, where d.sub.2 =e.sub.2, d.sub.3 =e.sub.3, and d.sub.4 =e.sub.4.
- 5. The addressing logic of claim 2, wherein k is a number of precision sizes of the plurality of numbers having precision S, ##EQU21## where s.sub.i are precision binary bits, and said extension logic generates the physical address binary bits d.sub.i according to the following logic equation: ##EQU22##
- 6. The extension logic of claim 5, wherein n=5, m=7, and k=3,
- said extension logic including,
- OR gate having first and second input for receiving, respectively, PBB s.sub.1 and s.sub.2, said OR gate further having an output for generating an OR output signal
- first AND gate having a first input for receiving LABB e.sub.o and a second input for receiving said OR output signal, said first AND gate further having an output for generating PABB d.sub.5
- second AND gate having a first input for receiving LABB e.sub.1 and a second input for receiving PBB s.sub.2, said second AND gate further having an output for generating PABB d.sub.6.
- 7. The addressing logic of claim 1, wherein said memory locations are microprocessor registers.
- 8. The method of claim 7, wherein said memory locations are addressed with said physical address binary bits d.sub.i for 0.ltoreq.i.ltoreq.m-1.
- 9. In a computer system including
- a processor for processing a plurality of numbers having precision S, where S is a power of 2,
- computer-readable memory locations specified in a computer-readable instruction address field by an n-bit logical address, each computer-readable memory location being adapted to store a single precision number, said computer-readable memory locations being adapted for storing numbers having precision S in a group of S computer-readable memory locations accessed by an m-bit physical address,
- a computer-implemented method for addressing, in a backward compatible fashion, said memory locations with said logical addresses, said method comprising the steps of:
- (a) receiving logical address binary bits;
- (b) responsive to the received logical address binary bits, generating m physical address binary bits as a function of precision.
- 10. The computer system of claim 9 wherein
- said n-bit logical address is specified by ##EQU23## where e.sub.i are logical address binary bits, said m-bit physical address is specified by ##EQU24## where d.sub.i are physical address binary bits, said step (b) comprises the steps of,
- (c) generating the physical address binary bits d.sub.i =0 for 0.ltoreq.i.ltoreq.(log.sub.2 S)-1,
- (d) generating the physical address binary bits d.sub.i =e.sub.i for log.sub.2 S.ltoreq.i.ltoreq.n-1, and
- (e) generating the physical address binary bits d.sub.i =e.sub.i-n for n.ltoreq.i.ltoreq.m-1.
- 11. The method of claim 10, wherein k is a number of precision sizes of the plurality of numbers having precision S, ##EQU25## where s.sub.i are precision binary bits, step (c) is implemented according to the logic equation: ##EQU26## and step (d) is implemented according to the logic equation:
- d.sub.i =e.sub.i k.ltoreq.i<n.
- 12.
- 12. The method of claim 10, wherein k is a number of precision sizes of the plurality of numbers having precision S, ##EQU27## where s.sub.i are precision binary bits, and step (e) is implemented according to the logic equation: ##EQU28##
- 13. The method of claim 9, wherein said memory locations are microprocessor registers.
- 14. A processor for processing a plurality of numbers having precision S, where S is a power of 2, the processor having a first plurality of computer-readable memory locations addressable by a first plurality of logical addresses E, each logical address of the first plurality of logical addresses having the form cS, where c is from the set {0, 1, . . . , ((r/S)-1)}, r being the number of computer-readable memory locations in the first plurality of computer-readable memory locations, each computer-readable memory location in the first plurality of memory locations being capable of storing a single precision number, the memory locations of the first plurality of memory locations being addressable in groups of S, the processor further comprising:
- a plurality of S-1 additional pluralities of computer-readable memory locations, each computer-readable memory location in each additional plurality of computer-readable memory locations being capable of storing a single precision number, the computer-readable memory locations in each additional plurality of memory locations being addressable in groups of S, r being the number of computer-readable memory locations in each additional plurality of computer-readable memory locations; and
- addressing logic for addressing the plurality of S-1 additional pluralities of memory computer-readable locations using an associated additional plurality of logical addresses for each additional plurality of computer-readable memory locations, each address of an i-th associated additional plurality of logical addresses having the form cS+i where i is from the set {1, 2, . . . , S-1}, the addressing logic being coupled to the additional pluralities of computer-readable memory locations.
- 15. The processor of claim 14, wherein computer-readable memory locations are specified in an instruction address field by an n-bit logical address ##EQU29## where e.sub.i are logical address binary bits, each S-precision number is accessed by an m-bit physical address ##EQU30## where d.sub.i are physical address binary bits, said addressing logic includes
- alignment logic having an input, for receiving said logical address binary bits, and an output for generating the physical address binary bits d.sub.i =0 for 0.ltoreq.i.ltoreq.(log.sub.2 S)-1 and d.sub.i =e.sub.i for log.sub.2 S.ltoreq.i.ltoreq.n-1; and
- extension logic having an input, for receiving (m-n) logical address binary bits via a bus coupled to said input of said alignment logic, and an output for generating the physical address binary bits d.sub.i =e.sub.i-n for n.ltoreq.i.ltoreq.m-1.
- 16. The processor of claim 15, wherein k is a number of precision sizes of the plurality of numbers having precision S, ##EQU31## where s.sub.i are precision binary bits, and said alignment logic generates the precision address binary bits d.sub.i according to the following logic equations: ##EQU32##
- 17. The processor of claim 15, wherein k is a number of precision sizes of the plurality of numbers having precision S, ##EQU33## where s.sub.i are precision binary bits, and said extension logic generates the precision address binary bits d.sub.i according to the following logic equation: ##EQU34##
Parent Case Info
This application is a continuation of U.S. patent application Ser. No. 08/114,466 filed Aug. 31, 1993 now abandoned which is a continuation-in-part application of U.S. patent application Ser. No. 07/605,556, filed Oct. 29, 1990 now abandoned.
US Referenced Citations (8)
Foreign Referenced Citations (1)
Number |
Date |
Country |
0 483 967 |
Jun 1992 |
EPX |
Continuations (1)
|
Number |
Date |
Country |
Parent |
114466 |
Aug 1993 |
|
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
605556 |
Oct 1990 |
|