US5410659A - Digital processor with instruction memory of reduced storage size - Google Patents
Digital processor with instruction memory of reduced storage size Download PDFInfo
- Publication number
- US5410659A US5410659A US08/047,579 US4757993A US5410659A US 5410659 A US5410659 A US 5410659A US 4757993 A US4757993 A US 4757993A US 5410659 A US5410659 A US 5410659A
- Authority
- US
- United States
- Prior art keywords
- enable signal
- decoding
- instruction
- control
- digital processor
- 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
- 238000009877 rendering Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 6
- 102220313179 rs1553259785 Human genes 0.000 description 6
- 102220528480 Myelin protein P0_S54C_mutation Human genes 0.000 description 4
- 101100004933 Arabidopsis thaliana CYP79F1 gene Proteins 0.000 description 3
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
Definitions
- the present invention relates to a digital processor such as a microprocessor, a digital signal processor (DSP) or the like, and more particularly to a digital processor controlled by a microprogram.
- a digital processor such as a microprocessor, a digital signal processor (DSP) or the like, and more particularly to a digital processor controlled by a microprogram.
- DSP digital signal processor
- Digital processors having a plurality of processing circuits, a plurality of memory blocks, and a plurality of data buses for improved performance have recently been proposed and put to use.
- Such a digital processor comprises a data processing unit for carrying out arithmetic and logic operations and an instruction unit for controlling operation of processing circuits of the data processing unit, the data processing unit and the instruction unit being functionally separate from each other.
- the digital processor is described in detail in "COMPUTER ARCHITECTURE--A QUANTITATIVE APPROACH" written by David A. Patterson and John L. Hennessy, published by Morgan Kauhmann Publishers, Inc., page 208 (1990), for example.
- FIG. 1A of the accompanying drawings shows an arrangement of a digital processing unit with a data processing unit having a plurality of internal data buses and a plurality of processing circuits.
- the digital processor has an instruction unit 51a for outputting a group of control signals S54 and a data processing unit 52 for carrying out the data processing operations in accordance with the control signals S54.
- the control signals S54 include control signals S54A, S54B, S54C (described later on).
- the data processing unit 52 comprises two data buses BUS0, BUS1 and two processing circuits including an arithmetic/logic unit (ALU) 52a and a multiplier 52b.
- the arithmetic/logic unit 52a and the multiplier 52b are controlled by the control signals S54A, S54B, respectively.
- Each of control signals S54A, S54B has a length of 5 bits.
- Each of the arithmetic/logic unit 52a and the multiplier 52b is connected to the data buses BUS0, BUS1, so that data D0, D1 on the data buses BUS0, BUS1 are supplied to both the arithmetic/logic unit 52a and the multiplier 52b.
- the arithmetic/logic unit 52a and the multiplier 52b can usually effectively operate exclusively of each other.
- the instruction unit 51a has an instruction memory 53a and an instruction decoder 54a.
- the instruction memory 53a stores a plurality of instruction words for controlling operation of the data processing unit 52 and branching in an execution sequence. Depending on the operation to be carried out by the digital processor, a certain instruction word selected from the stored instruction words is supplied from the instruction memory 53a as an instruction signal S53a to the instruction decoder 54a.
- the instruction signal S53a i.e., each instruction word, has a length of 13 bits.
- the instruction word comprises two control fields A, B each having a length of 5 bits and a control field C having a length of 3 bits.
- the data represented by the control field A corresponds to the control signal S54A supplied to the ALU 52a, the data represented by the control field B to the control signal S54B supplied to the multiplier 52b, and the data represented by the control field C to the control signal S54C having a length of 3 bits which is used to control branching in an execution sequence.
- the instruction word is divided into the control signals S54A, S54B, S54C by the instruction decoder 54a.
- the control signal S54A is supplied to the ALU 52a, the control signal S54B to the multiplier 52b, and the control signal S54C to a circuit (not shown) for branching control.
- either one of the ALU 52a and the multiplier 52b usually effectively operates exclusively of each other. Therefore, either one of the control fields A, B of each instruction word is not used for the storage of data. Such a condition is indicated by control fields that are represented by "-" in instruction words 59 stored in the instruction memory 53a as shown in FIG. 1A.
- the conventional digital processor described above has problems in that the instruction memory for storing instruction words requires a large storage capacity to meet multifunction requirements and hence the large storage capacity of the instruction memory results in an increase in the cost of the digital processor.
- a digital processor comprising data processing means for processing data, the data processing means having a plurality of arithmetic/logic operation means controllable by control signals, instruction memory means for storing an instruction word comprising at least a first control field and a second control field, and instruction decoding means for decoding the instruction word read from the instruction memory means and outputting the control signals respectively to the arithmetic/logic operation means, the instruction decoding means comprising first decoding means having an ENABLE signal input terminal, receiving the instruction word for decoding the second control field into a control signal for the arithmetic/logic operation means in one group, and generating a first ENABLE signal, and second decoding means having an ENABLE signal input terminal, receiving the instruction word for decoding the second control field into a control signal for the arithmetic/logic operation means in another group, and generating a second ENABLE signal, the arrangement being such that the first ENABLE signal is applied to the ENABLE signal input terminal of the second decoding means, the second
- FIG. 1A is a block diagram of a conventional digital processor with an instruction unit and a data processing unit;
- FIG. 1B is a diagram illustrating the structure of an instruction word used in the conventional digital processor shown in FIG. 1A;
- FIG. 2A is a block diagram of a digital processor according to a preferred embodiment of the present invention, showing an instruction unit in detail;
- FIG. 2B is a diagram illustrating the structure of an instruction word used in the digital processor shown in FIG. 2A;
- FIG. 2C is a block diagram of a decoding circuit in the instruction unit shown in FIG. 2A.
- FIG. 3 is a block diagram of a circuit for generating an ENABLE signal.
- a digital processor according to the preferred embodiment of the present invention comprises an instruction unit 1 and a data processing unit 2.
- the data processor 2 has two processing circuits that are controlled by respective control signals S4A, S4B each having a length of 5 bits.
- the instruction unit 1 comprises an instruction memory 3 and an instruction decoder 4.
- the instruction memory 3 serves to store instruction words which can each be outputted as an instruction word readout signal S3 having a length of 8 bits.
- the Instruction word readout signal S3 is supplied to the instruction decoder 4, which decodes the instruction word readout signal S3 into three control signals S4A, S4B, S4C. As described above, each of the control signals S4A, S4B is of 5 bits and applied to the data processing unit 2.
- the control signal S4C which has a length of 3 bits, is used to control branching in an execution sequence of operation of the digital processor.
- the control signal S4C is supplied to a circuit (not shown) for branching control.
- each of the instruction words has a length of 8 bits and comprises a combination of a branching control field C having a length of 3 bits and a common control field X having a length of 5 bits.
- the data of the branching control field C corresponds to the control sign S4C.
- the common control field X is used commonly for the generation of the control signals S4A, S4B. Therefore, the data of the common control field X corresponds to the control signal S4A at one time, and also corresponds to the control signal S4B at another time.
- the instruction memory 3 is shown as storing two instruction words 9 by way of example.
- One of the instruction words 9 comprises control fields C, B, indicating that the instruction word 9 causes the control signal S4B to be outputted.
- the other instruction word 9 comprises control fields C, A, indicating that the instruction word 9 causes the control signal S4A to be outputted.
- the instruction decoder 4 must be capable of recognizing which of the control signals S4A, S4B is represented by the data of the common control field X, and of outputting a control signal based on the recognized information.
- the instruction decoder 4 will be described in detail below.
- the instruction decoder 4 comprises two decoding circuits 5, 6 for generating the control signals S4A, S4B, respectively.
- the first decoding circuit 5 is supplied with the instruction word readout signal S3 and a second ENABLE signal S6i produced by the second decoding circuit 6, and produces the control signals S4A, S4C and a first ENABLE signal S5i.
- the second decoding circuit 6 is supplied with the instruction word readout signal S3 and the first ENABLE signal S5i produced by the first decoding circuit 5, and produces the control signals S4B, S4C and the second ENABLE signal S6i.
- the ENABLE signals S6i, S5i are applied respectively to ENABLE signal input terminals Ti of the first and second decoding circuits 5, 6.
- the first and second decoding circuits 5, 6 are of an identical structure. Therefore, only the first decoding circuit 5 will be described below with reference to FIG. 2C.
- the decoding circuit 5 comprises a decoder 5a for being supplied with the instruction word readout signal S3, a register 5b for outputting the control signals S4A, S4C and the first ENABLE signal S5i, and an ENABLE signal generator 5c connected to the ENABLE signal input terminal Ti for being supplied with the second ENABLE signal S6i.
- the ENABLE signal generator 5c supplies an internal ENABLE signal Si to the register 5b.
- the second ENABLE signal S6i is not active, then the internal ENABLE signal Si is inactive.
- the decoder 5a decodes the instruction word readout signal S3 and outputs the control signals S4C, S4A corresponding respectively to the branching control field C and the common control field X to the register 5b. At this time, even when the data of the common control field X of the supplied instruction word readout signal S3 corresponds to the control signal S4B, the decoder 5a outputs the control signals as if the data of the common control field X corresponds to the control signal S4A.
- the register 5b has an ENABLE node Ni supplied with the internal ENABLE signal Si from the ENABLE signal generator 5c.
- the register 5b When the internal ENABLE signal Si is active, the register 5b outputs the control signals S4A, S4C from the decoder 5a and renders the first ENABLE signal S5i inactive.
- the register 5b does not output the control signals S4A, S4C and renders the first ENABLE signal S5i active. However, the register 5b makes the first ENABLE signal S5i inactive if the control signal S4A and/or the control signal S4C is of a certain bit pattern and also the internal ENABLE signal Si is inactive.
- FIG. 3 shows a circuit for generating the first ENABLE signal S5i.
- the circuit shown in FIG. 3 has an AND gate 11, an inverter 12, and an OR gate 13.
- the internal ENABLE signal Si is applied to both the inverter 12 and the OR gate 13, and all the bits of the control signal S4C and an output signal from the inverter gate 12 are applied to the AND gate 11.
- the OR gate 13 is also supplied with an output signal from the AND gate 11, and produces its output signal as the first ENABLE signal S5i.
- the register 5b may comprise a known gate buffer for controlling the output of the control signals S4A, S4B depending on the internal ENABLE signal S1.
- the first decoding circuit 5 is effective in decoding instructions, i.e., the first ENABLE signal S5i is inactive and the second ENABLE signal S6i is active.
- the instruction word readout signal S3 is supplied from the instruction memory 3 to the first and second decoding circuits 5, 6. However, since the first ENABLE signal S5i is inactive and the second ENABLE signal S6i is active, only the first decoding circuit 5 outputs the control signals S4A, S4C, and the second decoding circuit 6 outputs no control signals.
- the second decoding circuit 6 becomes effective to decode instructions, and the first decoding circuit 5 becomes ineffective to decode instructions.
- the second decoding circuit 6 remains effective to decode instructions until the second ENABLE signal S6i is supplied to the first decoding circuit 5. That is, while all the bits of the 3-bit branching control field C are of "1", the first and second decoding circuits 5, 6 are selectively rendered effective and ineffective. Thus the two processing circuits in the data processing unit 2 are switched alternately into operation.
- the digital processor of the present embodiment and the conventional digital processor are similar to each other in that the data processing unit has two processing circuits, each controlled by a 5-bit control signal, and a 3-bit branching control signal is employed.
- the conventional digital processor uses 13-bit instruction words, whereas the digital processor of the present embodiment uses 8-bit instruction words for the same control. Accordingly, the storage capacity of the instruction memory of the digital processor of this embodiment may be smaller than that of the conventional digital processor by 5 bits x types of instruction words.
- the digital processor it is possible for the digital processor to assign two instructions to the same bit pattern of instruction words, and the bit length of instruction words can be equivalently doubled.
- the bit length of unit instruction words stored in the instruction memory and the storage capacity of the instruction memory may be reduced substantially to half.
- the decoding capacity of the decoders in the decoding circuits 5, 6 according to the present embodiment may be about half the decoding capacity of the instruction decoder in the conventional digital processor.
- the ENABLE signal generator may be dispensed with, and the ENABLE signal may be supplied directly to the register in the decoding circuit.
- the ENABLE signal generator may be composed of desired logic gates for generating the internal ENABLE signal only when a certain logic condition is satisfied.
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 |
---|---|---|---|
JP4091308A JPH05334075A (ja) | 1992-04-13 | 1992-04-13 | ディジタルプロセッサ |
JP4-091308 | 1992-04-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
US5410659A true US5410659A (en) | 1995-04-25 |
Family
ID=14022843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/047,579 Expired - Lifetime US5410659A (en) | 1992-04-13 | 1993-04-13 | Digital processor with instruction memory of reduced storage size |
Country Status (3)
Country | Link |
---|---|
US (1) | US5410659A (de) |
JP (1) | JPH05334075A (de) |
DE (1) | DE4312090C2 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613143A (en) * | 1991-10-25 | 1997-03-18 | Kabushiki Kaisha Toshiba | Programmable controller for high-speed arithmetic operations |
US5848255A (en) * | 1996-06-19 | 1998-12-08 | Mitsubushi Denki Kabushiki Kaisha | Method and aparatus for increasing the number of instructions capable of being used in a parallel processor by providing programmable operation decorders |
US6192465B1 (en) * | 1998-09-21 | 2001-02-20 | Advanced Micro Devices, Inc. | Using multiple decoders and a reorder queue to decode instructions out of order |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3812464A (en) * | 1971-12-29 | 1974-05-21 | Honeywell Inf Systems | Multiple adaptive decoding system for binary microinstructions |
US4763246A (en) * | 1984-08-18 | 1988-08-09 | International Computers Limited | Microprogram control |
US4835679A (en) * | 1985-01-24 | 1989-05-30 | Hitachi, Ltd. | Microprogram control system |
US4890218A (en) * | 1986-07-02 | 1989-12-26 | Raytheon Company | Variable length instruction decoding apparatus having cross coupled first and second microengines |
US5045995A (en) * | 1985-06-24 | 1991-09-03 | Vicom Systems, Inc. | Selective operation of processing elements in a single instruction multiple data stream (SIMD) computer system |
US5101483A (en) * | 1988-01-27 | 1992-03-31 | Oki Electric Industry Co., Ltd. | Instruction decoder simplification by reuse of bits to produce the same control states for different instructions |
US5233675A (en) * | 1992-03-30 | 1993-08-03 | Porta Systems Corp. | Fiber optic adapter with replaceable attenuation means |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5311806A (en) * | 1976-07-20 | 1978-02-02 | Fuaanesu Jiyuukou Kk | Furnace for heat treatment within atmosphere |
US4484268A (en) * | 1982-02-22 | 1984-11-20 | Thoma Nandor G | Apparatus and method for decoding an operation code using a plurality of multiplexed programmable logic arrays |
JPS5932045A (ja) * | 1982-08-16 | 1984-02-21 | Hitachi Ltd | 情報処理装置 |
-
1992
- 1992-04-13 JP JP4091308A patent/JPH05334075A/ja active Pending
-
1993
- 1993-04-13 DE DE4312090A patent/DE4312090C2/de not_active Expired - Fee Related
- 1993-04-13 US US08/047,579 patent/US5410659A/en not_active Expired - Lifetime
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3812464A (en) * | 1971-12-29 | 1974-05-21 | Honeywell Inf Systems | Multiple adaptive decoding system for binary microinstructions |
US4763246A (en) * | 1984-08-18 | 1988-08-09 | International Computers Limited | Microprogram control |
US4835679A (en) * | 1985-01-24 | 1989-05-30 | Hitachi, Ltd. | Microprogram control system |
US5045995A (en) * | 1985-06-24 | 1991-09-03 | Vicom Systems, Inc. | Selective operation of processing elements in a single instruction multiple data stream (SIMD) computer system |
US4890218A (en) * | 1986-07-02 | 1989-12-26 | Raytheon Company | Variable length instruction decoding apparatus having cross coupled first and second microengines |
US5101483A (en) * | 1988-01-27 | 1992-03-31 | Oki Electric Industry Co., Ltd. | Instruction decoder simplification by reuse of bits to produce the same control states for different instructions |
US5233675A (en) * | 1992-03-30 | 1993-08-03 | Porta Systems Corp. | Fiber optic adapter with replaceable attenuation means |
Non-Patent Citations (2)
Title |
---|
Patterson et al. "Computer Architecture-A Quantitative Approach" (1990) p. 208. |
Patterson et al. Computer Architecture A Quantitative Approach (1990) p. 208. * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613143A (en) * | 1991-10-25 | 1997-03-18 | Kabushiki Kaisha Toshiba | Programmable controller for high-speed arithmetic operations |
US5848255A (en) * | 1996-06-19 | 1998-12-08 | Mitsubushi Denki Kabushiki Kaisha | Method and aparatus for increasing the number of instructions capable of being used in a parallel processor by providing programmable operation decorders |
US6192465B1 (en) * | 1998-09-21 | 2001-02-20 | Advanced Micro Devices, Inc. | Using multiple decoders and a reorder queue to decode instructions out of order |
Also Published As
Publication number | Publication date |
---|---|
JPH05334075A (ja) | 1993-12-17 |
DE4312090C2 (de) | 1995-10-12 |
DE4312090A1 (de) | 1993-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960011279B1 (ko) | 데이타 처리 캐시메모리 및 이를 장착한 데이타 프로세서 | |
US4774688A (en) | Data processing system for determining min/max in a single operation cycle as a result of a single instruction | |
US4374410A (en) | Data processing system | |
US4446517A (en) | Microprogram memory with page addressing and address decode in memory | |
US4833602A (en) | Signal generator using modulo means | |
US4251862A (en) | Control store organization in a microprogrammed data processing system | |
JPS61170828A (ja) | マイクロプログラム制御装置 | |
EP0393125B1 (de) | Steuergerät für gespeicherte programme mit einer möglichkeit für bedingte abzweigung wie in einem videosignalverarbeitungssystem | |
US5532947A (en) | Combined decoder/adder circuit which provides improved access speed to a cache | |
US6334135B2 (en) | Data processing system and register file | |
US5410659A (en) | Digital processor with instruction memory of reduced storage size | |
US5539900A (en) | Information processing system | |
JPS5843832B2 (ja) | メモリ装置 | |
US5274792A (en) | Information processing apparatus with parallel instruction decoding | |
US20050256996A1 (en) | Register read circuit using the remainders of modulo of a register number by the number of register sub-banks | |
KR920002573B1 (ko) | 데이타 처리기 | |
JP2806075B2 (ja) | マイクロコンピュータ | |
EP0416345B1 (de) | Befehlsdekoder für einen Pipelineprozessor | |
US4747066A (en) | Arithmetic unit | |
JPH05250269A (ja) | メモリアクセス方式および情報処理装置 | |
EP0230038A2 (de) | Adressengenerationssystem | |
US5506978A (en) | Memory apparatus including a shift circuit for shifting a word select signal by a predetermined number of words | |
JP2922963B2 (ja) | シーケンスコントローラ | |
EP0556825A1 (de) | Mikroprozessor | |
JPH11163736A (ja) | プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NEC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GOTO, JUNICHI;REEL/FRAME:006527/0440 Effective date: 19930401 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION UNDERGOING PREEXAM PROCESSING |
|
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: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |