US5410659A - Digital processor with instruction memory of reduced storage size - Google Patents

Digital processor with instruction memory of reduced storage size Download PDF

Info

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
Application number
US08/047,579
Other languages
English (en)
Inventor
Junichi Goto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Assigned to NEC CORPORATION reassignment NEC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GOTO, JUNICHI
Application granted granted Critical
Publication of US5410659A publication Critical patent/US5410659A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction 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)
US08/047,579 1992-04-13 1993-04-13 Digital processor with instruction memory of reduced storage size Expired - Lifetime US5410659A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 情報処理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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