WO2002010913A1 - System with microcode multi-way branching capability - Google Patents

System with microcode multi-way branching capability Download PDF

Info

Publication number
WO2002010913A1
WO2002010913A1 PCT/US2001/021642 US0121642W WO0210913A1 WO 2002010913 A1 WO2002010913 A1 WO 2002010913A1 US 0121642 W US0121642 W US 0121642W WO 0210913 A1 WO0210913 A1 WO 0210913A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
xway
mode
branch
branching
Prior art date
Application number
PCT/US2001/021642
Other languages
French (fr)
Inventor
Peter B. Criswell
Edward R. Peterson
Original Assignee
Unisys Corporation
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 Unisys Corporation filed Critical Unisys Corporation
Priority to EP01954629A priority Critical patent/EP1303810A1/en
Publication of WO2002010913A1 publication Critical patent/WO2002010913A1/en

Links

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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction address formation
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

Definitions

  • the present invention generally relates to methods and apparatus for implementing branching within an instruction processor and more particularly relates to branching in an instruction processor which employs a microprogrammed and pipelined architecture.
  • the instruction set of the microprogrammed processor is much more basic than that made available for software development.
  • the execution of each software instruction is accomplished through the execution of a set of microprogrammed instructions .
  • This architectural technique can provide instruction processors having a number of different software environments from microprogrammed processors of a common design. This approach can reduce recurring costs and instruction processor development times, as well as improving maintenance and reliability.
  • a common practice in the design of instruction processors employing microprogrammed architectures is "" " " pipelining”. This is a technique wherein a number of sequential instructions are processed simultaneously.
  • a first instruction may be involved in step three (i.e., operand arithmetic operation), while a second instruction is involved in step two (i.e., operand fetch) , and while a third instruction is involved in step one (i.e., instruction fetch).
  • a three way pipeline as suggested in the example above can operate three times faster than a non-pipelined machine having the same clock speed. This occurs because a new instruction fetch is performed each new clock cycle. Similarly, an operand fetch occurs each clock cycle, and an operand arithmetic operation occurs each clock cycle. Therefore, even though a single given instruction requires three complete clock cycles, the equivalent of three instructions are performed during those three clock cycles .
  • conditional branch is an instruction which cause a branch if and only if a particular arithmetic, logical, or status condition is met.
  • the difficulty with conditional branches is that the later stages of the conditional branch instruction pipeline (e.g., the operand fetch and operand arithmetic operation) must be performed before it can be determined whether the branch is to occur.
  • branches are accommodated within pipelined architectures by the " " " " " de-piping,” of subsequent and therefore not to be executed instructions . This wastes the time associated with reestablishing the pipeline at the branched to instructions. Thus, if branches could be known earlier within the pipelined execution of the branch instruction, some of the de-piping time could be saved.
  • the present invention overcomes many of the disadvantages associated with the prior art by providing a method of and apparatus for branching within an instruction processor employing a microprogrammed and pipelined architecture.
  • the preferred mode of the present invention provides branch control information one cycle earlier than found in the prior art. This overcomes the latency involved in reading the control information from the microcode RAM. Thus, the system can branch on every machine cycle rather than on every other machine cycle.
  • the number of bits required of the microcode is limited through the use of a Look Up Table (LUT) .
  • LUT Look Up Table
  • the present invention utilizes a technique of microprocessed control which divides all instructions into "" ⁇ normal 11 and ⁇ xway' 1 modes. A single microcode bit within each microinstruction indicates which mode is associated with that particular microinstruction.
  • Normal mode may be capable of branch operations such as call/return operations; GOTO (conditional or unconditional) ; and 2way, 4way, 8way, etc. branching where the control is from the ucode address 2 cycles before.
  • " """ Xway” mode is reserved for instructions (or parts of instructions) that require considerable conditional branching and that can gain performance by being able to branch in an xway form on each cycle .
  • the present invention requires two features to enable branching on eve'ry cycle: l. All branching in the " " ⁇ xway” mode is to b e defined in the form ⁇ goto target, xway” .
  • the system can be defined to handle all branching as 8way branches, with 4way, 2way, and plain GOTO's being considered simplified 8way branches.
  • FIG. 1 is a functional block diagram including up to 8way branching
  • FIG. 2 is a functional block diagram of the preferred embodiment
  • FIG. 3 is a table showing ucode control fields and associated LUT hardware.
  • FIG. 4 is a timing diagram.
  • the manipulations performed are often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention; the operations are machine operations.
  • Useful machines for performing the operations of the present invention include general purpose digital computers or other similar devices. In all cases, it should be kept in mind the distinction between the method operations in operating a computer and the method of computation itself.
  • the present invention related to method steps for operating a computer in processing electrical or other (e.g., mechanical, chemical) physical signals to generate other desired physical signals.
  • the present invention also relates to apparatus for performing these operations .
  • This apparatus may be specially constructed for the required purposes or it may comprise a general purpose computer as selectively activated or reconfigured by a computer program stored in the computer.
  • the algorithms present herein are not inherently related to a particular computer system or other apparatus.
  • various general purpose computer systems may be used with computer programs written in accordance with the teachings of the present invention, or it may prove more convenient to construct more specialized apparatus, to perform the required method steps. The required structure for such machines will be apparent from the description given below.
  • FIG. 1 is a functional block diagram 10 showing up to 8way branching.
  • the GOTO instruction is presented to function code element 14 for decoding at path 12..
  • the ""E" decoder consisting of EO 18, El 20, E2 22, and E3 24, performs the initial routing.
  • EO 18 routes an 8way to BO 58 of the ""B" decoder.
  • El 20 routes to A0 26 of the "A” decoder.
  • E2 22 routes to A5, and E3 24 reroutes to the input of the ""E” decoder.
  • the ""A” decoder consists of A0 26, Al 28, A230, A3 32, A4 34, A5 36, A6 38, and A740.
  • the ""B” decoder contains B0 58, Bl 60, B2 62, B3 64, B4 66 , B5 68, B6 70, and B7 72.
  • the "C” decoder contains CO 74, Cl 76, C2 78, C3 80, C4 82, C5 84, C6 86, and C7 88.
  • the ""D” consists of DO 42, Dl 44, D2 46, D3 48, D4 50, D5 52, D6 54, and D7 56.
  • the decoder elements are linked as shown.
  • the END decode signal is presented on path 90.
  • FIG. 2 is a functional diagram of the preferred mode of the present invention. Shown are the pathways associated with branching in the ""xway” mode. However, not shown are all of the paths needed to operate in the ""normal” mode.
  • the encoded data is retrieved from the branch LUT 102 and presented to multiplexer 94 via path 92.
  • the selection made from multiplexer 94 is controlled by the output of multiplexer 96 via path 98. This selection comes from the eight pointer inputs to multiplexer 96 received via path 100. Selection is made from output 144 of flip-flop 140.
  • the nine bit address selected by multiplexer 94 is presented as an input to multiplexers 104, 114, and 116.
  • Gate 126 switches the output of multiplexer 104 via path 106 to register 130. Gate 126 responds to the output of multiplexer 120 via path 138. Multiplexer 120 selects one of the targets received from the conditional branching logic 118 based upon the output of multiplexer 116 received via path 124. The output of register 130 is transferred via path 132 to the microcode storage 134. The selected data is buffered by flip-flop 136 and output on paths 146 and 148.
  • multiplexer 122 selects the branch type based upon the output of multiplexer 116.
  • the selected data are transferred to register 140 for output via paths 142 and 144.
  • Fig 3 is ,a table showing ucodes and associated LUT hardware.
  • Subtable 150 shows the 4way branch from the function code to the LUT pointers for each of the four possible targets of the branch (see also Fig. 1, references 12, 14, 16, 18, 20, 22, and 24) .
  • the pointers indicate the addresses in the LUT that contain target, branch type, and branch variables which are used to exit each of the function codes possible targets .
  • Subtable 152 shows the output from El 20 to A026.
  • This eight way branch contains pointers into the LUT for each of the eight possible targets of the branch.
  • the pointers indicate the addresses in the LUT that contain target, branch type, and branch variables which are used to exit each of El 20' s possible targets.
  • Al 28 and A2 30 decodes are found in subtable 154. From both Al 28 and A2 30 an 8way branch is made to BO 58 (see also Fig. 1) .
  • Each microcode address (label) contains ""Look Ahead One ' ' branch pointers .
  • the operation of the Look Up Table (LUT) is shown in subtable 156 containing columns 158, 160, and 162.
  • the LUT contains information associated with each microcode address (label) , which functions as a branch target (8way, 4way, 2way or GOTO) .
  • the LUT information describes how each target is accessed.
  • a target may be accessed from multiple locations, but each access for a particular target must employ identical branch functionality (see also Figs. 1 and 2) .
  • FIG. 4 is a' self-explanatory timing diagram for the above described logic.

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)

Abstract

An apparatus for and method of accommodating branching (10) within an instruction processor having a microprogrammed and pipelined architecture. The technique involves defining instructions as either normal mode or xway mode (Fig. 2). A single bit position (112) within each microinstruction defines the mode for that microinstruction. The complex xway mode is reserved for complex branches and particular conditional branches which are likely to benefit from permitting branching on each clock cycle. A Look Up Table (LUT) (102) is utilized to limit the number of required microcode bit positions.

Description

SYSTEM WITH MICROCODE MULTI-WAY BRANCHING CAPABILITY
CROSS REFERENCE TO CO-PENDING APPLICATIONS
None.
BACKGROUND OF THE INVENTION
1. Field of the Invention - The present invention generally relates to methods and apparatus for implementing branching within an instruction processor and more particularly relates to branching in an instruction processor which employs a microprogrammed and pipelined architecture.
2. Description of the Prior Art - It is known in the prior art to develop instruction processors having a microprogrammed architecture. Using this technique, the basic instruction set of the instruction processor, which -is available for , software development, is provided by a microprogrammed processor.
The instruction set of the microprogrammed processor is much more basic than that made available for software development. The execution of each software instruction is accomplished through the execution of a set of microprogrammed instructions .
This architectural technique can provide instruction processors having a number of different software environments from microprogrammed processors of a common design. This approach can reduce recurring costs and instruction processor development times, as well as improving maintenance and reliability. A common practice in the design of instruction processors employing microprogrammed architectures is """"pipelining". This is a technique wherein a number of sequential instructions are processed simultaneously. If, for example, instruction processing requires three distinct operations (e.g., instruction fetch, operand fetch, and operand arithmetic operation) , a first instruction may be involved in step three (i.e., operand arithmetic operation), while a second instruction is involved in step two (i.e., operand fetch) , and while a third instruction is involved in step one (i.e., instruction fetch).
When the machine instructions are sequential, a three way pipeline as suggested in the example above can operate three times faster than a non-pipelined machine having the same clock speed. This occurs because a new instruction fetch is performed each new clock cycle. Similarly, an operand fetch occurs each clock cycle, and an operand arithmetic operation occurs each clock cycle. Therefore, even though a single given instruction requires three complete clock cycles, the equivalent of three instructions are performed during those three clock cycles .
Unfortunately, the optimum performance of the pipelined architecture is only available for sequential instructions. Most commonly, whenever a branch occurs, the instructions are executed in a non-sequential fashion, by definition. Most problematic for highly pipelined architectures are conditional branches or jumps. A conditional branch is an instruction which cause a branch if and only if a particular arithmetic, logical, or status condition is met. The difficulty with conditional branches is that the later stages of the conditional branch instruction pipeline (e.g., the operand fetch and operand arithmetic operation) must be performed before it can be determined whether the branch is to occur.
Most commonly, branches are accommodated within pipelined architectures by the """"de-piping," of subsequent and therefore not to be executed instructions . This wastes the time associated with reestablishing the pipeline at the branched to instructions. Thus, if branches could be known earlier within the pipelined execution of the branch instruction, some of the de-piping time could be saved.
SUMMARY OF THE INVENTION The present invention overcomes many of the disadvantages associated with the prior art by providing a method of and apparatus for branching within an instruction processor employing a microprogrammed and pipelined architecture. The preferred mode of the present invention provides branch control information one cycle earlier than found in the prior art. This overcomes the latency involved in reading the control information from the microcode RAM. Thus, the system can branch on every machine cycle rather than on every other machine cycle. The number of bits required of the microcode is limited through the use of a Look Up Table (LUT) .
The present invention utilizes a technique of microprocessed control which divides all instructions into ""^normal11 and ^xway'1 modes. A single microcode bit within each microinstruction indicates which mode is associated with that particular microinstruction.
Most instructions (including branching instructions) are handled under ~"normal" mode of the microcode control. Normal mode may be capable of branch operations such as call/return operations; GOTO (conditional or unconditional) ; and 2way, 4way, 8way, etc. branching where the control is from the ucode address 2 cycles before. """"Xway" mode is reserved for instructions (or parts of instructions) that require considerable conditional branching and that can gain performance by being able to branch in an xway form on each cycle .
The present invention requires two features to enable branching on eve'ry cycle: l. All branching in the ""^xway" mode is to b e defined in the form ^goto target, xway" . The system can be defined to handle all branching as 8way branches, with 4way, 2way, and plain GOTO's being considered simplified 8way branches.
2. All information on the branching to be done is contained in the ucode or pointed to by that ucode in the address one cycle earlier than would be indicated by a functional flowchart of the instruction branching.
In accordance with the present invention, the prior art technique of not permitting branches on every clock cycle to improve efficiency by limiting latency, is superceded by permitting branching on any clock cycle without an increase in latency. BRIEF DESCRIPTION OF THE DRAWINGS Other objects of the present invention and many of the attendant advantages of the present invention will be readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, in which like reference numerals designate like parts throughout the figures thereof and wherein: FIG. 1 is a functional block diagram including up to 8way branching;
FIG. 2 is a functional block diagram of the preferred embodiment;
FIG. 3 is a table showing ucode control fields and associated LUT hardware; and
FIG. 4 is a timing diagram.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The detailed descriptions which follow are presented largely in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their -work to others skilled in the art. An algorithm is here, generally, conceived to be a self- consistent sequence of steps leading to a desired result. These steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take ' the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers or the like. It should be kept in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
Furthermore, the manipulations performed are often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention; the operations are machine operations. Useful machines for performing the operations of the present invention include general purpose digital computers or other similar devices. In all cases, it should be kept in mind the distinction between the method operations in operating a computer and the method of computation itself. The present invention related to method steps for operating a computer in processing electrical or other (e.g., mechanical, chemical) physical signals to generate other desired physical signals. The present invention also relates to apparatus for performing these operations . This apparatus may be specially constructed for the required purposes or it may comprise a general purpose computer as selectively activated or reconfigured by a computer program stored in the computer. The algorithms present herein are not inherently related to a particular computer system or other apparatus. In particular, various general purpose computer systems may be used with computer programs written in accordance with the teachings of the present invention, or it may prove more convenient to construct more specialized apparatus, to perform the required method steps. The required structure for such machines will be apparent from the description given below.
FIG. 1 is a functional block diagram 10 showing up to 8way branching. The GOTO instruction is presented to function code element 14 for decoding at path 12.. The ""E" decoder, consisting of EO 18, El 20, E2 22, and E3 24, performs the initial routing. EO 18 routes an 8way to BO 58 of the ""B" decoder. El 20 routes to A0 26 of the "A" decoder. E2 22 routes to A5, and E3 24 reroutes to the input of the ""E" decoder. The ""A" decoder consists of A0 26, Al 28, A230, A3 32, A4 34, A5 36, A6 38, and A740. The ""B" decoder contains B0 58, Bl 60, B2 62, B3 64, B4 66 , B5 68, B6 70, and B7 72. The "C" decoder contains CO 74, Cl 76, C2 78, C3 80, C4 82, C5 84, C6 86, and C7 88. The ""D" consists of DO 42, Dl 44, D2 46, D3 48, D4 50, D5 52, D6 54, and D7 56.
The decoder elements are linked as shown. The END decode signal is presented on path 90.
FIG. 2 is a functional diagram of the preferred mode of the present invention. Shown are the pathways associated with branching in the ""xway" mode. However, not shown are all of the paths needed to operate in the ""normal" mode. The encoded data is retrieved from the branch LUT 102 and presented to multiplexer 94 via path 92. The selection made from multiplexer 94 is controlled by the output of multiplexer 96 via path 98. This selection comes from the eight pointer inputs to multiplexer 96 received via path 100. Selection is made from output 144 of flip-flop 140. The nine bit address selected by multiplexer 94 is presented as an input to multiplexers 104, 114, and 116.
Gate 126 switches the output of multiplexer 104 via path 106 to register 130. Gate 126 responds to the output of multiplexer 120 via path 138. Multiplexer 120 selects one of the targets received from the conditional branching logic 118 based upon the output of multiplexer 116 received via path 124. The output of register 130 is transferred via path 132 to the microcode storage 134. The selected data is buffered by flip-flop 136 and output on paths 146 and 148.
Similarly, multiplexer 122 selects the branch type based upon the output of multiplexer 116. The selected data are transferred to register 140 for output via paths 142 and 144.
Fig 3 is ,a table showing ucodes and associated LUT hardware. Subtable 150 shows the 4way branch from the function code to the LUT pointers for each of the four possible targets of the branch (see also Fig. 1, references 12, 14, 16, 18, 20, 22, and 24) . The pointers indicate the addresses in the LUT that contain target, branch type, and branch variables which are used to exit each of the function codes possible targets .
Subtable 152 shows the output from El 20 to A026. This eight way branch contains pointers into the LUT for each of the eight possible targets of the branch. The pointers indicate the addresses in the LUT that contain target, branch type, and branch variables which are used to exit each of El 20' s possible targets. Al 28 and A2 30 decodes are found in subtable 154. From both Al 28 and A2 30 an 8way branch is made to BO 58 (see also Fig. 1) . Each microcode address (label) contains ""Look Ahead One ' ' branch pointers . The operation of the Look Up Table (LUT) is shown in subtable 156 containing columns 158, 160, and 162. The LUT contains information associated with each microcode address (label) , which functions as a branch target (8way, 4way, 2way or GOTO) . The LUT information describes how each target is accessed. A target may be accessed from multiple locations, but each access for a particular target must employ identical branch functionality (see also Figs. 1 and 2) .
FIG. 4 is a' self-explanatory timing diagram for the above described logic.
Having thus described the preferred embodiments of the present invention, those of skill in the art will readily appreciate that the teachings found herein may be applied to yet other embodiments within the scope of the claims hereto attached.
WE CLAIM;

Claims

1. In a data processing system having an instruction processor which is implemented using a microprogrammed and pipelined architecture, the improvement comprising: a. A normal mode; b. An xway mode; and c. A microprogramming bit which defines between said normal mode and said xway mode.
2. The improvement according to claim 1 further comprising a Look Up Table (LUT) .
3. The improvement according to claim 2 wherein said xway mode is reserved for instructions requiring considerable conditional branching.
4. The improvement according to claim 3 wherein said normal mode allows unconditional branching.
5. The improvement according to claim 4 wherein said LUT decreases the number of microcode bits.
6. An apparatus comprising: a. An instruction processor for executing software instructions ; b. A pipelined microprocessor within said instruction processor for emulating said software instructions by executing microinstructions; and c. A bit position within said microinstructions for indicating whether any particular microinstruction is normal mode or xway mode.
7. An apparatus according to claim 6 further comprising an LUT within said pipelined microprocessor.
8. An apparatus according to claim 7 wherein all microinstructions in said xway mode are defined in the form goto target, xway.
9. An apparatus according to claim 8 wherein said LUT is associated with target addresses rather than come from addresses .
10. An apparatus according to claim 9 wherein said branches within said xway mode are defined as 8way.
11. A method of processing a branch instruction within a pipelined, microprogrammed instruction processor comprising: a. Determining whether said branch instruction is a normal mode instruction or an xway mode instruction; and b. Permitting a branch at any clock cycle when said determining step determines that said branch instruction is an xway mode instruction.
12. A method according to claim 11 further comprising: d. Defining a bit position to identify xway mode instructions .
13. A method according to claim 12 further comprising utilizing a Look Up Table to execute said branch instruction.
14. A method according to claim 13 wherein said utilizing step further comprises looking up information associated with each microcode address.
15. A method according to claim 13 wherein said looking up step further comprises accessing a branch target.
16. An apparatus comprising: a. Means for providing a branch instruction; b. Means responsively coupled to said providing means for determining whether said branch instruction is an xway mode instruction; and c. Means responsively coupled to said providing means and said determining means for branching on any clock cycle if said determining means determines that said branch instruction is said xway mode instruction.
17. An apparatus according to claim 16 further comprising means located within said branch instruction for indicating whether said branch instruction is said xway instruction.
18. An apparatus according to claim 17 wherein said branching means further comprises means for storing look up tabular information.
1 . An apparatus according to claim 18 wherein said storing means further comprises means for identifying a branch target.
20. An apparatus according to claim 19 wherein said storing means further comprises a microcode address.
PCT/US2001/021642 2000-07-27 2001-07-09 System with microcode multi-way branching capability WO2002010913A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP01954629A EP1303810A1 (en) 2000-07-27 2001-07-09 System with microcode multi-way branching capability

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62603000A 2000-07-27 2000-07-27
US09/626,030 2000-07-27

Publications (1)

Publication Number Publication Date
WO2002010913A1 true WO2002010913A1 (en) 2002-02-07

Family

ID=24508663

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/021642 WO2002010913A1 (en) 2000-07-27 2001-07-09 System with microcode multi-way branching capability

Country Status (2)

Country Link
EP (1) EP1303810A1 (en)
WO (1) WO2002010913A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160513A (en) * 1993-12-13 1995-06-23 Nec Corp Multiply branched processing system
GB2325538A (en) * 1997-04-30 1998-11-25 Hewlett Packard Co Centralized branch intelligence system for a geometry accelerator in computer graphics

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160513A (en) * 1993-12-13 1995-06-23 Nec Corp Multiply branched processing system
GB2325538A (en) * 1997-04-30 1998-11-25 Hewlett Packard Co Centralized branch intelligence system for a geometry accelerator in computer graphics

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DVORAK V: "MICROSEQENCER ARCHITECTURE SUPPORTING ARBITRARY BRANCHING UP TO 2M TARGETS", COMPUTER ARCHITECTURE NEWS, ASSOCIATION FOR COMPUTING MACHINERY, NEW YORK, US, vol. 18, no. 1, 1 March 1990 (1990-03-01), pages 9 - 16, XP000127044, ISSN: 0163-5964 *
PATENT ABSTRACTS OF JAPAN vol. 1995, no. 09 31 October 1995 (1995-10-31) *

Also Published As

Publication number Publication date
EP1303810A1 (en) 2003-04-23

Similar Documents

Publication Publication Date Title
US5740461A (en) Data processing with multiple instruction sets
KR100327778B1 (en) Data processing method using multiple instruction sets
EP2018609B1 (en) Pre-decoding variable length instructions
EP0071028B1 (en) Instructionshandling unit in a data processing system with instruction substitution and method of operation
US6247122B1 (en) Method and apparatus for performing branch prediction combining static and dynamic branch predictors
US6654875B1 (en) Dual microcode RAM address mode instruction execution using operation code RAM storing control words with alternate address indicator
JPH03116233A (en) System and method for processing instruc- tion of data processor
JPH0810428B2 (en) Data processing device
US5459845A (en) Instruction pipeline sequencer in which state information of an instruction travels through pipe stages until the instruction execution is completed
US6105125A (en) High speed, scalable microcode based instruction decoder for processors using split microROM access, dynamic generic microinstructions, and microcode with predecoded instruction information
JP2003525476A (en) Apparatus and method for executing program instructions
US20040255097A1 (en) Instruction encoding within a data processing apparatus having multiple instruction sets
US5881279A (en) Method and apparatus for handling invalid opcode faults via execution of an event-signaling micro-operation
KR100322726B1 (en) Specialized millicode instruction for translate and test
KR100322725B1 (en) Millicode flags with specialized update and branch instruction
EP1303810A1 (en) System with microcode multi-way branching capability
AU613232B2 (en) Wide branch instruction acceleration
KR900010552A (en) Control system for fetching commands
JP3915019B2 (en) VLIW processor, program generation device, and recording medium
US7055022B1 (en) Paired load-branch operation for indirect near jumps
US6112300A (en) Method and apparatus for performing multi-way branching using a hardware relational table
KR100515039B1 (en) Pipeline status indicating circuit for conditional instruction
JP3564517B2 (en) Data processing system
JPH0769808B2 (en) Data processing device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2001954629

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001954629

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP