US5093783A - Microcomputer register bank accessing - Google Patents
Microcomputer register bank accessing Download PDFInfo
- Publication number
- US5093783A US5093783A US06/761,892 US76189285A US5093783A US 5093783 A US5093783 A US 5093783A US 76189285 A US76189285 A US 76189285A US 5093783 A US5093783 A US 5093783A
- Authority
- US
- United States
- Prior art keywords
- register
- bit
- bank address
- address
- bank
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
Definitions
- the present invention relates to a microcomputer including a plurality of register banks, of which any one bank is designated by means of a bank address register for processing data stored therein.
- General purpose registers are widely employed for arithmetic calculation and comparing processing in the microcomputer, and thus the microcomputer must be equipped with a plurality of general purpose registers for storing therein the results of a variety of processings or data to be processed.
- the microcomputer actually employed comprises a plurality of register banks, each consisting of a series of general purpose registers. Any one of the register banks is selected by means of a bank address register for each processing to be executed. In such a microcomputer, it is easy to execute a processing of data in the same register bank. For example, in case the contents in the registers A and B of the register bank 0 should be added with each other and the result should be stored in the register A or the register bank 0, the address of the register bank 0 is set in the bank address register and then an instruction for adding the content of the register A with that of the register B is executed.
- the processing has to be executed by a plurality of instructions, because two different register banks cannot be accessed at the same time during the execution of one instruction. That is, in a first instruction, the bank register 1 is accessed by setting the address of the register bank 1 in the bank address register to transfer the content of the register B of the register bank 1 to a memory. With another instruction, the bank register 0 is accessed by setting the address of the register bank 0 in the bank address register to add the content of the register A of the register bank 0 with the content stored in the memory.
- a microcomputer which includes a plurality of register banks each consisting of a plurality of registers for containing data therein, a bank address register for holding the address of one of said register banks to be accessed and access control means responsive to a bank address signal for putting one of said register banks in accessible condition, said microcomputer comprising:
- a logic gate circuit receiving at one input at least one bit of the address held in the bank address register and at another input a predetermined portion of the code of an instruction to be executed by the microcomputer and for modifying the inputted bit of the bank address;
- a selection means for selecting any one of the modified bit and the non-modified bit of the bank address and outputting the selected bit as at least a portion of the bank address signal to said access control means.
- the logic gate circuit comprises, for example, an OR gate.
- the logic gate circuit comprises a first OR gate receiving at one input the least significant bit of the address (which is preferably coded in 2 bit length) held in the bank address register and at another input the least significant bit of the code of an instruction to be executed by the microcomputer and a second OR gate receiving at one input the most significant bit of the address held in the bank address register and at another input the least significant bit of the code of the instruction to be executed by the microcomputer.
- the selection means comprises a first selection circuit receiving the output of the first OR gate and the least significant bit of the address held in the bank address register and for selecting any one thereof, and a second selection circuit receiving the output of the second OR gate and the most significant bit of the address held in the bank address register and for selecting any one thereof.
- the first and second selection circuits are responsive to the variation of a timing signal to select one of the inputted signals.
- the logic gate circuit is constituted by an Exclusive OR gate receiving at one input the least significant bit of the address held in the bank address register and at another input the least significant bit of the code of an instruction to be executed by the microcomputer.
- FIG. 1 is a block diagram of the first example of the microcomputer embodying the present invention
- FIG. 2 is a block diagram of the second example of the microcomputer embodying the present invention.
- FIG. 3 is a block diagram of the third example of the microcomputer embodying the present invention.
- the microcomputer shown in FIG. 1 comprises registers arrayed in a matrix form of four rows and four columns.
- Each row of the register matrix constitutes a register bank 0 to 3. That is, the register bank 0 includes registers A 0 , B 0 , C 0 and D 0 .
- the register bank 1 includes registers A 1 , B 1 , C 1 and D 1 .
- the register bank 2 includes register A 2 , B 2 , C 2 and D 2 , and the register bank 3 includes registers A 3 , B 3 , C 3 and D 3 .
- the microcomputer is equipped with an access control means or decoder 5.
- the decoder 5 receives bank designating signals S 0 and S 1 and puts any one of the register banks 0 to 3 in accessible condition according to the combination of the bank designating signals S 0 and S 1 as shown in Table 1.
- decoder 5 The construction of the decoder 5 is well known in the art and thus it will not be further explained.
- the microcomputer further comprises a bank address register 6 and an instruction register 7.
- the bank address register 6 has a two bit length for storing the address of the register bank to be accessed.
- the bank address register 6 is set at "00" for designating the register bank 0, "01” for the register bank 1, "10” for the register bank 2, and "11” for the register bank 3.
- the instruction register 7 is a memory circuit for storing therein the code of a certain instruction to be executed by the microcomputer.
- the instruction register has an eight bit length.
- the instruction code of the first transfer instruction for transferring the data contained in the register B to the register A in the same register bank is expressed as "10011000”.
- the instruction code of the second transfer instruction for transferring the data from register B to register A in the same register bank or between different register banks is "10011001". Namely, the instruction code of the second transfer instruction is obtained by adding "1" to the least significant bit of the instruction code of the first transfer instruction.
- the microcomputer comprises first and second OR gates 8 and 9.
- the first OR gate 8 receives signals S 2 and S 4 which are respectively the contents b 0 stored in the least significant bit of the bank address register 6 and the instruction register 7.
- the first OR gate 8 outputs a logical sum signal S 5 of the signals S 2 and S 4 .
- the second OR gate 9 receives a signal S 3 which is the content b 1 stored in the most significant bit of the bank address register 6 and the signal S 4 which is the content b 0 stored in the least significant bit of the instruction register 7.
- the second OR gate 9 makes a logical sum of these signals S 3 and S 4 and outputs it as a signal S 6 .
- the microcomputer comprises a pair of selection circuits 10 and 11.
- the first selection circuit 10 receives at its inputs the signal S 2 which is the content held in the least significant bit of the bank address register 6 and the logical sum signal S 5 .
- the first selection circuit 10 receives at its third input a timing signal T, and outputs either one of the signals S 2 and S 5 as the signal S 0 in response to the variation of the timing signal T.
- the first selection circuit 10 selects the logical sum signal S 5 as the output signal S 0 , while, when the timing signal T is at lower level "0" which means the timing to write the data in the register A, the first selection circuit 10 selects the signal S 2 as the output signal S 0 .
- the second selection circuit 11 also receives the signal S 3 which is the content b 1 held in the most significant bit of the bank address register 6 and the logical sum signal S 6 .
- the second selection circuit 11 receives also at its third input the timing signal T. When the timing signal T is "1", the second selection circuit 11 selects and outputs the logical sum signal S 6 , while, when the timing signal T is "0", it selects and outputs the signal S 3 as its output signal S 1 .
- the access control means 5 selects one of the register banks 0 to 3.
- the selected register bank is made accessible through an interface means (not shown) to, for example, an arithmetic logic unit.
- a first transfer instruction may, for example, effect transfer of the data in the register B 0 of the register bank 0 to the register A 0 of the register bank 0.
- the bank address register 6 is set to "00", while the instruction register 7 is set to "10011000".
- the signal S 4 which is the least significant bit of the instruction register 7 is then "0".
- the first and second OR gates 8 and 9 output respectively as the logical sum signals S 5 and S 6 the signals S 2 and S 3 which are the contents of the bits b 0 and b 1 of the bank address register 6. That is, the first and second OR gates 8 and 9 do not modify the address designated by the bank address register 6.
- the first and second selection circuits 10 and 11 When the timing signal T is "1" which corresponds to the timing of read, the first and second selection circuits 10 and 11 output respectively the logical sum signals S 5 and S 6 , which are now equal to the signals S 2 and S 3 .
- the signals S 2 and S 3 are inputted as the bank designating signals S 0 and S 1 to the decoder 5 and then the decoder 5 puts a register bank having an address "00" in accessible condition. Accordingly, the register bank 0 is selected and the data contained in the register B 0 is read out.
- the first and second selection circuits 10 and 11 select respectively the signals S 2 and S 3 which are the contents of the bits b 0 and b 1 of the bank address register 6. Accordingly, the access control means or decoder 5 are inputted with the signals S 2 and S 3 as the bank designating signals S 0 and S 1 and selects the register bank 0. Thus, the data read out from the register B 0 of the register bank 0 is written in the register A 0 of the register bank 0.
- the data is transferred from the register B 0 of the register bank 0 to the register A 0 of the register bank 0.
- a second transfer instruction may effect transfer of the data stored in the register B 3 of the register bank 3 to the register A 0 of the register bank 0.
- the bank address register 6 is set to "00" and the instruction register 7 is set to "10011001". Then, the signal S 4 which is the least significant bit of the instruction register 7 is "1".
- the first and second OR gates 8 and 9 are inputted with "1” at one input thereof to thereby output "1" as the logical sum signals S 5 and S 6 regardless of the other inputs which are the contents held in the bits b 0 and b 1 of the bank address register 6.
- the first and second selection circuits 10 and 11 When the timing signal T is "1", the first and second selection circuits 10 and 11 output respectively the logical sum signals S 5 and S 6 as the bank designating signals S 0 and S 1 , which are now "1". Thus, with these designating signals S 0 and S 1 , the access control means 5 selects the register bank 3 of which the address is "11". Accordingly, the data stored in the register B 3 of the register bank 3 is read out.
- the first and second selection circuits 10 and 11 select respectively the signals S 2 and S 3 which are the contents held in the bits 0 and 1 of the bank address register 6, which are "0" in this case.
- the access control means 5 selects the register bank having the address held in the bank address register 6, which is in this case the register bank 0. Accordingly, the data which has been read from the register B 3 of the register bank 3 is written in the register A 0 of the register bank 0.
- the data transfer from the register B 3 of the register bank 3 to the register A 0 of the register bank 0 can be executed by only one instruction.
- the register bank to which the data is to be transferred can be designated by setting its address in the bank address register 6. That is, the data can be transferred to the register belonging to any one of the register banks 0 to 3 by setting the address thereof in the bank address register 6.
- the code of the first add instruction ordering that the data stored in the registers A and B of the same register bank are added with each other and the result is to be stored in the register A is expressed for example as "01011000”.
- the code of the second add instruction for executing an addition of the data stored in the same register bank or different register banks is expressed as "01011001".
- the first add instruction is executed by, first, reading the data stored in the register B 0 of the register bank 0, and reading the data stored in the register A 0 of the register bank 0, adding these data with each other and storing the result in the register A 0 of the register bank 0.
- the second add instruction is executed by reading the data stored in the register B 3 of the register bank 3 and then the data stored in the register A 0 of the register bank 0, adding these data with each other and storing the result in the register A 0 of the register bank 0.
- the addition of the data stored in the registers belonging to the register banks 0 and 3 can be executed by one instruction.
- the direction of the data transfer can be changed. That is, when the polarity of the timing signal T is inverted so that the timing signal T is at a lower level "0" when the data in the register B is to be read and the timing signal T is at higher level "1" when the data is to be written in the register A, the transfer of data is conducted in an opposite direction to that in the above explained cases.
- the bank address register 6 is set to "00"
- the data is transferred from the register B 0 of the register bank 0 to the register A 0 of the register bank 0 in the execution of the first transfer instruction.
- the second transfer instruction the data is transferred from the register B 0 of the register bank 0 to the register A 3 of the register bank 3.
- FIG. 2 shows another embodiment of the present invention.
- the microcomputer shown in FIG. 2 is designed for the data processing in a same register bank or between the register banks 0 and 1 or between the register banks 2 and 3.
- the computer shown in FIG. 2 has a similar construction as that shown in FIG. 1 except that the signal S 3 , that is, the content held in the most significant the bit of the bank address register 6, is directly inputted to the access control means 5.
- the computer shown in FIG. 2 does not include the second OR gate 9 nor the second selection circuit 11 shown in FIG. 1.
- the selection circuit 10 When the timing signal T is "0", the selection circuit 10 outputs the signal S 2 which is the content held in the least significant bit of the bank address register 6. When the timing signal T is "1", the selection circuit 10 outputs the signal S 5 which has been obtained by modifying the signal S 2 by the OR gate 8.
- the instruction code is "10011000".
- the signal S 4 which is the least significant bit of the instruction register 7, is "0".
- the OR gate 8 outputs the signal S 2 without modifying the same.
- the bank designating signal S 0 outputted from the selection circuit 10 is equal to the signal S 2 regardless of the variation of the timing signal T.
- the access control means 5 always selects the same register bank as that designated by the bank address register 6. Accordingly, with the first data transfer instruction, the data are transferred between the registers belonging to a same register bank.
- the instruction code is, for example, "10011001".
- the signal S 4 of "1" is inputted to an input of the OR gate 8 which, in return, outputs the signal S 5 of "1" to the selection circuit 10 by modifying the signal S 2 .
- the OR gate 8 modifies the signal S 2 to "1". Accordingly, at the upper level "1" of the timing signal T, the selection circuit 10 selects the signal S 5 and thus the access control means 5 designates a register bank having an address of "01" or "11".
- the selection circuit 10 selects the signal S 2 as the bank designating signal S 0 which is now "0" and then the access control means 5 selects the same register bank as designated by the bank address register 6. That is, when the bank address register is set to "00" or "10", the data transfer is executed between the register banks 0 and 1 or between the register banks 2 and 3. On the other hand, when the bank register 6 is set to "01" or "11", the OR gate 8 outputs the signal S 2 as it is. That is, the data transfer is executed in a same register bank, even with the second data transfer instruction.
- FIG. 3 illustrates the third embodiment of the present invention.
- the microcomputer shown in FIG. 3 has the same construction as that shown in FIG. 2 except that an Exclusive OR gate 12 is employed in lieu of the OR gate 8.
- the first input S 4 of the Exclusive OR gate 12 is "0" and thus the Exclusive OR gate 12 does not modify the another input signal S 2 . Accordingly, the data transfer is executed in a same register bank.
- the signal S 4 is "1".
- the Exclusive OR gate 12 modifies the another input signal S 2 and outputs it as the signal S 5 .
- the bank address register 6 is set to "00”
- the Exclusive OR gate 12 outputs the signal S 5 of "1".
- the selection circuit 10 selects the signal S 5 as the bank designating signal S 0 and thus, with the inputs of S 5 and S 3 which are respectively "1" and "0”, the access control means 5 designates the register bank 1.
- the selection circuit 10 selects the signal S 2 which is now "0", and the access control means 5 selects the register bank 0.
- the data is transferred from a register of the register bank 1 to a register of the register bank 0.
- the bank address register 6 is set to "01", and the data is transferred from a register of the register bank 0 to a register of the register bank 1. That is, in this example, the register banks 0 and 1 constitute a pair of register banks between which data can be transferred.
- the same result can be obtained when the bank address register 6 is set to "10" and "11". That is, the register banks 2 and 3 constitute a pair of register banks between which data can be transferred.
- the transfer or processing of the data between different register banks can be executed by only one instruction. Accordingly, the program steps can be largely reduced and the data processing can be executed at a high speed.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59-163061 | 1984-08-02 | ||
JP16306184A JPS6140650A (ja) | 1984-08-02 | 1984-08-02 | マイクロコンピユ−タ |
Publications (1)
Publication Number | Publication Date |
---|---|
US5093783A true US5093783A (en) | 1992-03-03 |
Family
ID=15766431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US06/761,892 Expired - Lifetime US5093783A (en) | 1984-08-02 | 1985-08-02 | Microcomputer register bank accessing |
Country Status (4)
Country | Link |
---|---|
US (1) | US5093783A (xx) |
EP (1) | EP0170284B1 (xx) |
JP (1) | JPS6140650A (xx) |
DE (1) | DE3583080D1 (xx) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5386523A (en) * | 1992-01-10 | 1995-01-31 | Digital Equipment Corporation | Addressing scheme for accessing a portion of a large memory space |
US5404474A (en) * | 1992-01-10 | 1995-04-04 | Digital Equipment Corporation | Apparatus and method for addressing a variable sized block of memory |
US5524226A (en) * | 1991-10-22 | 1996-06-04 | Mitsubishi Denki Kabushiki Kaisha | Register file system for microcomputer including a decoding system for concurrently activating source and destination word lines |
US5640582A (en) * | 1992-05-21 | 1997-06-17 | Intel Corporation | Register stacking in a computer system |
US5737625A (en) * | 1994-01-26 | 1998-04-07 | Advanced Risc Machines Limited | Selectable processing registers and method |
US5751988A (en) * | 1990-06-25 | 1998-05-12 | Nec Corporation | Microcomputer with memory bank configuration and register bank configuration |
US5903919A (en) * | 1997-10-07 | 1999-05-11 | Motorola, Inc. | Method and apparatus for selecting a register bank |
US6167497A (en) * | 1996-06-19 | 2000-12-26 | Hitachi, Ltd. | Data processing apparatus and register address translation method thereof |
US20030115440A1 (en) * | 1991-07-08 | 2003-06-19 | Sanjiv Garg | RISC microprocessor architecture implementing multiple typed register sets |
US20050228973A1 (en) * | 1992-05-01 | 2005-10-13 | Seiko Epson Corporation | System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor |
US20070106878A1 (en) * | 1991-07-08 | 2007-05-10 | Nguyen Le T | High-performance, superscalar-based computer system with out-of-order instruction execution |
US20080002511A1 (en) * | 2006-06-30 | 2008-01-03 | Chi Yuan Mou | Semiconductor memory and address-decoding circuit and method for decoding address |
US20080059770A1 (en) * | 1992-03-31 | 2008-03-06 | Transmeta Corporation | Superscalar RISC instruction scheduling |
US20090013158A1 (en) * | 1992-12-31 | 2009-01-08 | Seiko Epson Corporation | System and Method for Assigning Tags to Control Instruction Processing in a Superscalar Processor |
US7558945B2 (en) | 1992-12-31 | 2009-07-07 | Seiko Epson Corporation | System and method for register renaming |
US9720879B2 (en) * | 2010-01-27 | 2017-08-01 | Cypress Semiconductor Corporation | Reconfigurable circuit having rows of a matrix of registers connected to corresponding ports and a semiconductor integrated circuit |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4777588A (en) * | 1985-08-30 | 1988-10-11 | Advanced Micro Devices, Inc. | General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance |
JPS6298434A (ja) * | 1985-10-25 | 1987-05-07 | Hitachi Ltd | デ−タ処理システム |
JPS63156236A (ja) * | 1986-12-19 | 1988-06-29 | Toshiba Corp | レジスタ装置 |
DE3870807D1 (de) * | 1987-10-27 | 1992-06-11 | Siemens Nixdorf Inf Syst | Schaltungsanordnung fuer verarbeitungseinheiten einer zentraleinheit mit einer reihe von mehrzweckregistern. |
JP2970821B2 (ja) * | 1991-08-21 | 1999-11-02 | 松下電器産業株式会社 | データ処理装置 |
KR970008523B1 (ko) * | 1991-10-21 | 1997-05-24 | 가부시키가이샤 도시바 | 프로세서 |
EP1229440B1 (en) | 1993-05-27 | 2007-05-02 | Matsushita Electric Industrial Co., Ltd. | Program converting unit and processor improved in address management |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3380034A (en) * | 1963-07-17 | 1968-04-23 | Vyzk Ustav Matemat Stroju | Addressing system for computer memories |
US3395392A (en) * | 1965-10-22 | 1968-07-30 | Ibm | Expanded memory system |
US3737860A (en) * | 1972-04-13 | 1973-06-05 | Honeywell Inf Systems | Memory bank addressing |
US3866182A (en) * | 1968-10-17 | 1975-02-11 | Fujitsu Ltd | System for transferring information between memory banks |
US3946366A (en) * | 1973-01-26 | 1976-03-23 | Sanders Associates, Inc. | Addressing technique employing both direct and indirect register addressing |
US4124891A (en) * | 1976-11-18 | 1978-11-07 | Honeywell Information Systems Inc. | Memory access system |
US4223381A (en) * | 1978-06-30 | 1980-09-16 | Harris Corporation | Lookahead memory address control system |
US4383296A (en) * | 1980-05-16 | 1983-05-10 | Apple Computer, Inc. | Computer with a memory system for remapping a memory having two memory output buses for high resolution display with scrolling of the displayed characters |
US4394735A (en) * | 1979-07-25 | 1983-07-19 | A. Aoki & Associates | Data processor controlled by microprograms |
US4573116A (en) * | 1983-12-20 | 1986-02-25 | Honeywell Information Systems Inc. | Multiword data register array having simultaneous read-write capability |
US4615004A (en) * | 1981-08-19 | 1986-09-30 | International Business Machines Corporation | Microprocessor including means for concurrently copying ALU results into selected operand register subsets and at least one main memory locations |
US4615018A (en) * | 1983-03-24 | 1986-09-30 | Ricoh Company, Ltd. | Method for writing data into a memory |
US4755931A (en) * | 1983-12-26 | 1988-07-05 | Hitachi, Ltd. | Vector processing unit capable of reading vector data from a vector register simultaneously to plural resources |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58137047A (ja) * | 1982-02-09 | 1983-08-15 | Toshiba Corp | コンピユ−タの省略命令制御装置 |
JPS58142464A (ja) * | 1982-02-19 | 1983-08-24 | Hitachi Ltd | マイクロプロセツサ |
-
1984
- 1984-08-02 JP JP16306184A patent/JPS6140650A/ja active Granted
-
1985
- 1985-08-02 US US06/761,892 patent/US5093783A/en not_active Expired - Lifetime
- 1985-08-02 EP EP85109697A patent/EP0170284B1/en not_active Expired - Lifetime
- 1985-08-02 DE DE8585109697T patent/DE3583080D1/de not_active Expired - Lifetime
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3380034A (en) * | 1963-07-17 | 1968-04-23 | Vyzk Ustav Matemat Stroju | Addressing system for computer memories |
US3395392A (en) * | 1965-10-22 | 1968-07-30 | Ibm | Expanded memory system |
US3866182A (en) * | 1968-10-17 | 1975-02-11 | Fujitsu Ltd | System for transferring information between memory banks |
US3737860A (en) * | 1972-04-13 | 1973-06-05 | Honeywell Inf Systems | Memory bank addressing |
US3946366A (en) * | 1973-01-26 | 1976-03-23 | Sanders Associates, Inc. | Addressing technique employing both direct and indirect register addressing |
US4124891A (en) * | 1976-11-18 | 1978-11-07 | Honeywell Information Systems Inc. | Memory access system |
US4223381A (en) * | 1978-06-30 | 1980-09-16 | Harris Corporation | Lookahead memory address control system |
US4394735A (en) * | 1979-07-25 | 1983-07-19 | A. Aoki & Associates | Data processor controlled by microprograms |
US4383296A (en) * | 1980-05-16 | 1983-05-10 | Apple Computer, Inc. | Computer with a memory system for remapping a memory having two memory output buses for high resolution display with scrolling of the displayed characters |
US4615004A (en) * | 1981-08-19 | 1986-09-30 | International Business Machines Corporation | Microprocessor including means for concurrently copying ALU results into selected operand register subsets and at least one main memory locations |
US4615018A (en) * | 1983-03-24 | 1986-09-30 | Ricoh Company, Ltd. | Method for writing data into a memory |
US4573116A (en) * | 1983-12-20 | 1986-02-25 | Honeywell Information Systems Inc. | Multiword data register array having simultaneous read-write capability |
US4755931A (en) * | 1983-12-26 | 1988-07-05 | Hitachi, Ltd. | Vector processing unit capable of reading vector data from a vector register simultaneously to plural resources |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5751988A (en) * | 1990-06-25 | 1998-05-12 | Nec Corporation | Microcomputer with memory bank configuration and register bank configuration |
US7739482B2 (en) | 1991-07-08 | 2010-06-15 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US7941636B2 (en) | 1991-07-08 | 2011-05-10 | Intellectual Venture Funding Llc | RISC microprocessor architecture implementing multiple typed register sets |
US7685402B2 (en) | 1991-07-08 | 2010-03-23 | Sanjiv Garg | RISC microprocessor architecture implementing multiple typed register sets |
US20030115440A1 (en) * | 1991-07-08 | 2003-06-19 | Sanjiv Garg | RISC microprocessor architecture implementing multiple typed register sets |
US7555631B2 (en) | 1991-07-08 | 2009-06-30 | Sanjiv Garg | RISC microprocessor architecture implementing multiple typed register sets |
US20070106878A1 (en) * | 1991-07-08 | 2007-05-10 | Nguyen Le T | High-performance, superscalar-based computer system with out-of-order instruction execution |
US20070113047A1 (en) * | 1991-07-08 | 2007-05-17 | Transmeta Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5524226A (en) * | 1991-10-22 | 1996-06-04 | Mitsubishi Denki Kabushiki Kaisha | Register file system for microcomputer including a decoding system for concurrently activating source and destination word lines |
US5404474A (en) * | 1992-01-10 | 1995-04-04 | Digital Equipment Corporation | Apparatus and method for addressing a variable sized block of memory |
US5386523A (en) * | 1992-01-10 | 1995-01-31 | Digital Equipment Corporation | Addressing scheme for accessing a portion of a large memory space |
US20080059770A1 (en) * | 1992-03-31 | 2008-03-06 | Transmeta Corporation | Superscalar RISC instruction scheduling |
US7802074B2 (en) | 1992-03-31 | 2010-09-21 | Sanjiv Garg | Superscalar RISC instruction scheduling |
US20050228973A1 (en) * | 1992-05-01 | 2005-10-13 | Seiko Epson Corporation | System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor |
US7934078B2 (en) | 1992-05-01 | 2011-04-26 | Seiko Epson Corporation | System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor |
US7516305B2 (en) | 1992-05-01 | 2009-04-07 | Seiko Epson Corporation | System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor |
US7958337B2 (en) | 1992-05-01 | 2011-06-07 | Seiko Epson Corporation | System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor |
US20090013155A1 (en) * | 1992-05-01 | 2009-01-08 | Seiko Epson Corporation | System and Method for Retiring Approximately Simultaneously a Group of Instructions in a Superscalar Microprocessor |
US20090158014A1 (en) * | 1992-05-01 | 2009-06-18 | Seiko Epson Corporation | System and Method for Retiring Approximately Simultaneously a Group of Instructions in a Superscalar Microprocessor |
US7523296B2 (en) | 1992-05-01 | 2009-04-21 | Seiko Epson Corporation | System and method for handling exceptions and branch mispredictions in a superscalar microprocessor |
US5640582A (en) * | 1992-05-21 | 1997-06-17 | Intel Corporation | Register stacking in a computer system |
US7558945B2 (en) | 1992-12-31 | 2009-07-07 | Seiko Epson Corporation | System and method for register renaming |
US20090235053A1 (en) * | 1992-12-31 | 2009-09-17 | Seiko Epson Corporation | System and Method for Register Renaming |
US20090013158A1 (en) * | 1992-12-31 | 2009-01-08 | Seiko Epson Corporation | System and Method for Assigning Tags to Control Instruction Processing in a Superscalar Processor |
US7979678B2 (en) | 1992-12-31 | 2011-07-12 | Seiko Epson Corporation | System and method for register renaming |
US8074052B2 (en) | 1992-12-31 | 2011-12-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
US5737625A (en) * | 1994-01-26 | 1998-04-07 | Advanced Risc Machines Limited | Selectable processing registers and method |
US6167497A (en) * | 1996-06-19 | 2000-12-26 | Hitachi, Ltd. | Data processing apparatus and register address translation method thereof |
US5903919A (en) * | 1997-10-07 | 1999-05-11 | Motorola, Inc. | Method and apparatus for selecting a register bank |
US7623382B2 (en) * | 2006-06-30 | 2009-11-24 | Winbond Electronics Corp. | Semiconductor memory and address-decoding circuit and method for decoding address |
US20080002511A1 (en) * | 2006-06-30 | 2008-01-03 | Chi Yuan Mou | Semiconductor memory and address-decoding circuit and method for decoding address |
US9720879B2 (en) * | 2010-01-27 | 2017-08-01 | Cypress Semiconductor Corporation | Reconfigurable circuit having rows of a matrix of registers connected to corresponding ports and a semiconductor integrated circuit |
Also Published As
Publication number | Publication date |
---|---|
DE3583080D1 (de) | 1991-07-11 |
JPH0248931B2 (xx) | 1990-10-26 |
EP0170284B1 (en) | 1991-06-05 |
EP0170284A3 (en) | 1988-04-20 |
EP0170284A2 (en) | 1986-02-05 |
JPS6140650A (ja) | 1986-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5093783A (en) | Microcomputer register bank accessing | |
US3979726A (en) | Apparatus for selectively clearing a cache store in a processor having segmentation and paging | |
US4654781A (en) | Byte addressable memory for variable length instructions and data | |
US4733346A (en) | Data processor with multiple register blocks | |
US5377339A (en) | Computer for simultaneously executing instructions temporarily stored in a cache memory with a corresponding decision result | |
US4384342A (en) | System for reducing access time to plural memory modules using five present-fetch and one prefetch address registers | |
EP0174845B1 (en) | Semiconductor memory device | |
US4570222A (en) | Information processor having information correcting function | |
US4467415A (en) | High-speed microprogram control apparatus with decreased control storage requirements | |
US3395392A (en) | Expanded memory system | |
US5452427A (en) | Data processing device for variable word length instruction system having short instruction execution time and small occupancy area | |
US4805092A (en) | Electronic circuit for extending the addressing capacity of a processor | |
US5696957A (en) | Integrated circuit comprising a central processing unit for executing a plurality of programs | |
US4525776A (en) | Arithmetic logic unit arranged for manipulating bits | |
US4949242A (en) | Microcomputer capable of accessing continuous addresses for a short time | |
US4093986A (en) | Address translation with storage protection | |
EP0032955A1 (en) | Microprogram controlled data processor | |
EP0217479A2 (en) | Information processing unit | |
US4093984A (en) | Data processing system having a cycle control function | |
US4982379A (en) | Semiconductor memory device having associative function | |
US5001629A (en) | Central processing unit with improved stack register operation | |
US5603023A (en) | Processor circuit for heapsorting | |
US4089051A (en) | Alternative direct and indirect addressing | |
US4638454A (en) | Digital data storage apparatus | |
US5101343A (en) | Microprocessor with word memory for selectively processing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NEC CORPORATION, 33-1, SHIBA 5-CHOME, MINATO-KU, T Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:KITADA, YOSHITAKA;REEL/FRAME:004462/0413 Effective date: 19850902 Owner name: NEC CORPORATION,JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KITADA, YOSHITAKA;REEL/FRAME:004462/0413 Effective date: 19850902 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: NEC ELECTRONICS CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NEC CORPORATION;REEL/FRAME:013758/0440 Effective date: 20021101 |
|
FPAY | Fee payment |
Year of fee payment: 12 |