US20010021971A1 - System for executing instructions having flag for indicating direct or indirect specification of a length of operand data - Google Patents

System for executing instructions having flag for indicating direct or indirect specification of a length of operand data Download PDF

Info

Publication number
US20010021971A1
US20010021971A1 US09/025,194 US2519498A US2001021971A1 US 20010021971 A1 US20010021971 A1 US 20010021971A1 US 2519498 A US2519498 A US 2519498A US 2001021971 A1 US2001021971 A1 US 2001021971A1
Authority
US
United States
Prior art keywords
data
register
bit
instruction
bits
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.)
Granted
Application number
US09/025,194
Other versions
US6349379B2 (en
Inventor
Ian Gibson
Timothy Merrick Long
Christopher Amies
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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority to AUP06490 priority Critical
Priority to AUPO6491A priority patent/AUPO649197A0/en
Priority to AUP06487 priority
Priority to AUPO6489A priority patent/AUPO648997A0/en
Priority to AUP06486 priority
Priority to AUPO6486A priority patent/AUPO648697A0/en
Priority to AUP06484 priority
Priority to AUP06492 priority
Priority to AUPO6483A priority patent/AUPO648397A0/en
Priority to AUP06480 priority
Priority to AUPO6484A priority patent/AUPO648497A0/en
Priority to AUP06481 priority
Priority to AUPO6488A priority patent/AUPO648897A0/en
Priority to AUPO6492A priority patent/AUPO649297A0/en
Priority to AUPO6485A priority patent/AUPO648597A0/en
Priority to AUPO6479A priority patent/AUPO647997A0/en
Priority to AUPO6482A priority patent/AUPO648297A0/en
Priority to AUP06491 priority
Priority to AUPO6490A priority patent/AUPO649097A0/en
Priority to AUP06488 priority
Priority to AUP06482 priority
Priority to AUPO6481A priority patent/AUPO648197A0/en
Priority to AUP06485 priority
Priority to AUP06483 priority
Priority to AUPO6487A priority patent/AUPO648797A0/en
Priority to AUP06479 priority
Priority to AUPO6480A priority patent/AUPO648097A0/en
Priority to AUP06489 priority
Application filed by Canon Inc filed Critical Canon Inc
Assigned to CANON KABUSHIKI KAISHA reassignment CANON KABUSHIKI KAISHA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AMIES, CHRISTOPHER, GIBSON, IAN, LONG, TIMOTHY MERRICK
Assigned to CANON KABUSHIKI KAISHA reassignment CANON KABUSHIKI KAISHA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY. LTD.
Publication of US20010021971A1 publication Critical patent/US20010021971A1/en
Application granted granted Critical
Publication of US6349379B2 publication Critical patent/US6349379B2/en
Anticipated expiration legal-status Critical
Application status is Expired - Lifetime legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • G06F9/3897Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Abstract

The present invention discloses an image processor (224) for executing a computer instruction set (280, 290) in the form of an opcode (281), at least one operand (283-285) which is, or indicates the location of data to be processed. The data to be processed consists of a variable length stream of data and each instruction includes a length field (297) containing data specifying the number of items of data to be processed or, if that number exceeds the size of the length field, a predetermined location of a previously allocated storage area at which that number is stored.

Description

    FIELD OF THE INVENTION
  • The present invention relates to computer architecture and, in particular, to computer architectures dedicated to the printing or other display of graphical images. [0001]
  • BACKGROUND OF THE INVENTION
  • An important aspect of the design of any computer architecture is the instruction set, or the way in which instructions are formatted or encoded. Each instruction normally consists of an opcode—that is an instruction as to what is to be done to some data, and one or more operand(s)—that is the data itself or the address at which the relevant data can be located. Generally the operand(s) occupy a fixed length since this provides the advantage that the length of the instruction is fixed with a large resulting simplification of the associated hardware. [0002]
  • In the environment of the present invention it is necessary to perform calculations on large streams of data of variable length. This is different from typical prior art arrangements which typically have fixed quantities of data. Therefore in the present invention there is a requirement that the length of the stream of data be specified in some way. [0003]
  • The present invention is based on the realisation that a convention instruction set requires the processor to (1) fetch the instruction, (2) decode the instruction, (3) fetch the operand, (4) carry out the calculation, and (5) store the result. There is an appreciable amount of time spent on steps (1) and (2) because they are inherently slow and must be performed for each instruction. [0004]
  • However, if these two steps could be combined into a single operation which was performed only once for a relatively long stream of data, then the average of this overhead for each calculation would be substantially reduced since the overhead would be amortized over a large number of calculations. This would reduce the average time for all calculations and result in faster overall operation. [0005]
  • SUMMARY OF THE INVENTION
  • In accordance with the present invention there is disclosed an image processor for executing a computer instruction set comprising a plurality of instructions each of which has an instruction opcode and at least one operand, wherein said opcode corresponds to a type of calculation to be performed on the operand(s), each operand is data to be processed in said calculation or specifies the address of said data, the result of said calculation represents processed image data, and each instruction includes a length field containing data specifying the number of items of data to be processed or, if said number exceeds the size of said length field, a predetermined location of a previously allocated storage area at which said number is stored, whereby said processor for each instruction processes the corresponding said number of data items to thereby facilitate processing of variable length streams of data. [0006]
  • Preferably the length of all said instructions is both fixed and equal and the time required for the stream data processing exceeds that the time to fetch and decode each of the instructions. [0007]
  • In the following detailed description, the reader's attention is directed, in particular, to FIGS. 10 and 11 and their associated description without intending to detract from the disclosure of the remainder of the description. [0008]
  • TABLE OF CONTENTS
  • 1.0 Brief Description of the Drawings [0009]
  • 2.0 List of Tables [0010]
  • 3.0 Description of the Preferred and Other Embodiments [0011]
  • 3.1 General Arrangement of Plural Stream Architecture [0012]
  • 3.2 Host/Co-processor Queuing [0013]
  • 3.3 Register Description of Co-processor [0014]
  • 3.4 Format of Plural Streams [0015]
  • 3.5 Determine Current Active Stream [0016]
  • 3.6 Fetch Instruction of Current Active Stream [0017]
  • 3.7 Decode and Execute Instruction [0018]
  • 3.8 Update Registers of Instruction Controller [0019]
  • 3.9 Semantics of the Register Access Semaphore [0020]
  • 3.10 Instruction Controller [0021]
  • 3.11 Description of a Modules Local Register File [0022]
  • 3.12 Register Read/Write Handling [0023]
  • 3.13 Memory Area Read/Write Handling [0024]
  • 3.14 CBus Structure [0025]
  • 3.15 Co-processor Data Types and Data Manipulation [0026]
  • 3.16 Data Normalization Circuit [0027]
  • 3.17 Image Processing Operations of Accelator Card [0028]
  • 3.17.1 Compositing [0029]
  • 3.17.2 Color Space Conversion Instructions [0030]
  • a. Single Output General Color Space (SOGCS) Conversion Mode [0031]
  • b. Multiple Output General Color Space Mode [0032]
  • 3.17.3 JPEG Coding/Decoding [0033]
  • a. Encoding [0034]
  • b. Decoding [0035]
  • 3.17.4 Table Indexing [0036]
  • 3.17.5 Data Coding Instructions [0037]
  • 3.17.6 A Fast DCT Apparatus [0038]
  • 3.17.7 Huffman Decoder [0039]
  • 3.17.8 Image Transformation Instructions [0040]
  • 3.17.9 Convolution Instructions [0041]
  • 3.17.10 Matrix Multiplication [0042]
  • 3.17.11 Halftoning [0043]
  • 3.17.12 Hierarchial Image Format Decompression [0044]
  • 3.17.13 Memory Copy Instructions [0045]
  • a. General purpose data movement instructions [0046]
  • b. Local DMA instructions [0047]
  • 3.17.14 Flow Control Instructions [0048]
  • 3.18 Modules of the Accelerator Card [0049]
  • 3.18.1 Pixel Organizer [0050]
  • 3.18.2 MUV Buffer [0051]
  • 3.18.3 Result Organizer [0052]
  • 3.18.4 Operand Organizers B and C [0053]
  • 3.18.5 Main Data Path Unit [0054]
  • 3.18.6 Data Cache Controller and Cache [0055]
  • a. Normal Cache Mode [0056]
  • b. The Single Output General Color Space Conversion Mode [0057]
  • c. Multiple Output General Color Space Conversion Mode [0058]
  • d. JPEG Encoding Mode [0059]
  • e. Slow JPEG Decoding Mode [0060]
  • f. Matrix Multiplication Mode [0061]
  • g. Disabled Mode [0062]
  • h. Invalidate Mode [0063]
  • 3.18.7 Input Interface Switch [0064]
  • 3.18.8 Local Memory Controller [0065]
  • 3.18.9 Miscellaneous Module [0066]
  • 3.18.10 External Interface Controller [0067]
  • 3.18.11 Peripheral Interface Controller [0068]
  • APPENDIX A - Microprogramming [0069]
  • APPENDIX B - Register tables [0070]
  • 1.0. BRIEF DESCRIPTION OF THE DRAWINGS
  • Notwithstanding any other forms which may fall within the scope of the present invention, preferred forms of the invention will now be described, by way of example only, with reference to the accompanying drawings: [0071]
  • FIG. 1 illustrates the operation of a raster image co-processor within a host computer environment; [0072]
  • FIG. 2 illustrates the raster image co-processor of FIG. 1 in further detail; [0073]
  • FIG. 3 illustrates the memory map of the raster image co-processor; [0074]
  • FIG. 4 shows the relationship between a CPU, instruction queue, instruction operands and results in shared memory, and a co-processor; [0075]
  • FIG. 5 shows the relationship between an instruction generator, memory manager, queue manager and co-processor; [0076]
  • FIG. 6 shows the operation of the graphics co-processor reading instructions for execution from the pending instruction queue and placing them on the completed instruction queue; [0077]
  • FIG. 7 shows a fixed length circular buffer implementation of the instruction queue, indicating the need to wait when the buffer fills; [0078]
  • FIG. 8 illustrates to instruction execution streams as utilized by the co-processor; [0079]
  • FIG. 9 illustrates an instruction execution flow chart; [0080]
  • FIG. 10 illustrates the standard instruction word format utilized by the co-processor; [0081]
  • FIG. 11 illustrates the instruction word fields of a standard instruction; [0082]
  • FIG. 12 illustrates the data word fields of a standard instruction; [0083]
  • FIG. 13 illustrates schematically the instruction controller of FIG. 2; [0084]
  • FIG. 14 illustrates the execution controller of FIG. 13 in more detail; [0085]
  • FIG. 15 illustrates a state transition diagram of the instruction controller; [0086]
  • FIG. 16 illustrates the instruction decoder of FIG. 13; [0087]
  • FIG. 17 illustrates the instruction sequencer of FIG. 16 in more detail; [0088]
  • FIG. 18 illustrates a transition diagram for the ID sequencer of FIG. 16; [0089]
  • FIG. 19 illustrates schematically the prefetch buffer controller of FIG. 13 in more detail; [0090]
  • FIG. 20 illustrates the standard form of register storage and module interaction as utilized in the co-processor; [0091]
  • FIG. 21 illustrates the format of control bus transactions as utilized in the co-processor; [0092]
  • FIG. 22 illustrates the data flow through a portion of the co-processor; [0093]
  • FIGS. [0094] 23-29 illustrate various examples of data reformatting as utilized in the co-processor;
  • FIGS. 30 and 31 illustrate the format conversions carried out by the co-processor; [0095]
  • FIG. 32 illustrates the process of input data transformation as carried out in the co-processor; [0096]
  • FIGS. [0097] 33-41 illustrate various further data transformations as carried out by the co-processor;
  • FIG. 42 illustrates various internal to output data transformations carried out by the co-processor; [0098]
  • FIGS. [0099] 43-47 illustrate various further example data transformations carried out by the co-processor;
  • FIG. 48 illustrates various fields utilized by internal registers to determine what data transformations should be carried out; [0100]
  • FIG. 49 depicts a block diagram of a graphics subsystem that uses data normalization.; [0101]
  • FIG. 50 illustrates a circuit diagram of a data normalization apparatus; [0102]
  • FIG. 51 illustrates the pixel processing carried out for compositing operations; [0103]
  • FIG. 52 illustrates the instruction word format for compositing operations; [0104]
  • FIG. 53 illustrates the data word format for compositing operations; [0105]
  • FIG. 54 illustrates the instruction word format for tiling operations; [0106]
  • FIG. 55 illustrates the operation of a tiling instruction on an image; [0107]
  • FIG. 56 illustrates the process of utilization of interval and fractional tables to re-map color gamuts; [0108]
  • FIG. 57 illustrates the form of storage of interval and fractional tables within the MUV buffer of the co-processor: [0109]
  • FIG. 58 illustrates the process of color conversion utilising interpolation as carried out in the co-processor; [0110]
  • FIG. 59 illustrates the refinements to the rest of the color conversion process at gamut edges as carried out by the co-processor; [0111]
  • FIG. 60 illustrates the process of color space conversion for one output color as implemented in the co-processor; [0112]
  • FIG. 61 illustrates the memory storage within a cache of the co-processor when utilising single color output color space conversion; [0113]
  • FIG. 62 illustrates the methodology utilized for multiple color space conversion; [0114]
  • FIG. 63 illustrates the process of address re-mapping for the cache when utilized during the process of multiple color space conversion; [0115]
  • FIG. 64 illustrates the instruction word format for color space conversion instructions; [0116]
  • FIG. 65 illustrates a method of multiple color conversion; [0117]
  • FIGS. 66 and 67 illustrate the formation of MCU's during the process of JPEG conversion as carried out in the co-processor; [0118]
  • FIG. 68 illustrates the structure of the JPEG coder of the co-processor; [0119]
  • FIG. 69 illustrates the quantizer portion of FIG. 68 in more detail; [0120]
  • FIG. 70 illustrates the Huffman coder of FIG. 68 in more detail; [0121]
  • FIGS. 71 and 72 illustrate the Huffman coder and decoder in more detail; [0122]
  • FIGS. [0123] 73-75 illustrate the process of cutting and limiting of JPEG data as utilized in the co-processor;
  • FIG. 76 illustrates the instruction word format for JPEG instructions; [0124]
  • FIG. 77 shows a block diagram of a typical discrete cosine transform apparatus (prior art); [0125]
  • FIG. 78 illustrates an arithmetic data path of a prior art DCT apparatus; [0126]
  • FIG. 79 shows a block diagram of a DCT apparatus utilized in the co-processor; [0127]
  • FIG. 80 depicts a block diagram of the arithmetic circuit of FIG. 79 in more detail; [0128]
  • FIG. 81 illustrates an arithmetic data path of the DCT apparatus of FIG. 79; [0129]
  • FIG. 82 presents a representational stream of Huffman-encoded data units interleaved with not encoded bit fields, both byte aligned and not, as in JPEG format; [0130]
  • FIG. 83 illustrates the overall architecture of a Huffman decoder of JPEG data of FIG. 84 in more detail; [0131]
  • FIG. 84 illustrates the overall architecture of the Huffman decoder of JPEG data; [0132]
  • FIG. 85 illustrates data processing in the stripper block which removes byte aligned not encoded bit fields from the input data. Examples of the coding of tags corresponding to the data outputted by the stripper are also shown; [0133]
  • FIG. 86 shows the organization and the data flow in the data preshifter; [0134]
  • FIG. 87 shows control logic for the decoder of FIG. 81; [0135]
  • FIG. 88 shows the organization and the data flow in the marker preshifter; [0136]
  • FIG. 89 shows a block diagram of a combinatorial unit decoding Huffman encoded values in JPEG context; [0137]
  • FIG. 90 illustrates the concept of a padding zone and a block diagram of the decoder of padding bits; [0138]
  • FIG. 91 shows an example of a format of data outputted by the decoder, the format being used in the co-processor; [0139]
  • FIG. 92 illustrates methodology utilized in image transformation instructions; [0140]
  • FIG. 93 illustrates the instruction word format for image transformation instructions; [0141]
  • FIGS. 94 and 95 illustrate the format of an image transformation kernal as utilized in the co-processor; [0142]
  • FIG. 96 illustrates the process of utilising an index table for image transformations as utilized in the co-processor; [0143]
  • FIG. 97 illustrates the data field format for instructions utilising transformations and convolutions; [0144]
  • FIG. 98 illustrates the process of interpretation of the bp field of instruction words; [0145]
  • FIG. 99 illustrates the process of convolution as utilized in the co-processor; [0146]
  • FIG. 100 illustrates the instruction word format for convolution instructions as utilized in the co-processor; [0147]
  • FIG. 101 illustrates the instruction word format for matrix multiplication as utilized in the co-processor; [0148]
  • FIGS. [0149] 102-105 illustrates the process utilized for hierarchial image manipulation as utilized in the co-processor;
  • FIG. 106 illustrates the instruction word coding for hierarchial image instructions: [0150]
  • FIG. 107 illustrates the instruction word coding for flow control instructions as illustrated in the co-processor; [0151]
  • FIG. 108 illustrates the pixel organizer in more detail; [0152]
  • FIG. 109 illustrates the operand fetch unit of the pixel organizer in more detail; [0153]
  • FIGS. [0154] 110-114 illustrate various storage formats as utilized by the co-processor;
  • FIG. 115 illustrates the MUV address generator of the pixel organizer of the co-processor in more detail; [0155]
  • FIG. 116 is a block diagram of a multiple value (MUV) buffer utilized in the co-processor; [0156]
  • FIG. 117 illustrates a structure of the encoder of FIG. 116; [0157]
  • FIG. 118 illustrates a structure of the decoder of FIG. 116; [0158]
  • FIG. 119 illustrates a structure of an address generator of FIG. 116 for generating read addresses when in JPEG mode (pixel decomposition); [0159]
  • FIG. 120 illustrates a structure of an address generator of FIG. 116 for generating read addresses when in JPEG mode (pixel reconstruction); [0160]
  • FIG. 121 illustrates an organization of memory modules comprising the storage device of FIG. 116; [0161]
  • FIG. 122 illustrates a structure of a circuit that multiplexes read addresses to memory modules; [0162]
  • FIG. 123 illustrates a representation of how lookup table entries are stored in the buffer operating in a single lookup table mode; [0163]
  • FIG. 124 illustrates a representation of how lookup table entries are stored in the buffer operating in a multiple lookup table mode; [0164]
  • FIG. 125 illustrates a representation of how pixels are stored in the buffer operating in JPEG mode (pixel decomposition); [0165]
  • FIG. 126 illustrate a representation of how single color data blocks are retrieved from the buffer operating in JPEG mode (pixel reconstruction); [0166]
  • FIG. 127 illustrates the structure of the result organizer of the co-processor in more detail; [0167]
  • FIG. 128 illustrates the structure of the operand organizers of the co-processor in more detail; [0168]