EP0459232B1

Partially decoded instruction cache and method therefor

Abstract

This record has no abstract on file.

EP0459232B1, drawing sheet 1
Sheet 1 of 4

Term

Term ended

Expired 16 May 2011, 15.4 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

10 claims: 2 independent, 8 dependent

  1. 1
    A processor that executes instructions, comprising:a processor unit (14) with a plurality of functional units (24, 26, 28) for execution of instructions in parallel, first retrieving means (18) for retrieving an encoded instruction from an external main memory;decoding means (18,20) for decoding encoded instructions: internal cache memory storage means (22) comprising a plurality of cache memory storage locations for storing instructions;and second retrieving means for simultaneously retrieving a plurality of instructions from selected cache memory storage locations for execution by said functional units (24, 26, 28), wherein the internal cache memory storage means (22) is conceived for storing partially decoded instructions, the encoded instructions retrieved from the main memory are partially decoded by said decoding means (18,20) before being stored in said internal cache memory storage means (22), and said partially decoded instructions retrieved from said internal cache memory storage means (22) are sent directly to the functional units (24, 26, 28) by said second retrieving means.
  2. 4
    The processor according to one of claims 1 to 3, wherein each of said cache memory storage locations include means for storing auxiliary information indicative of whether the plurality of instructions stored in said slots of a cache memory storage location are independent such that the instructions may be executed in parallel or dependent such that the instructions must be executed sequentially.
  3. 5
    The processor according to one of claims 1 to 4, wherein said external main memory is connected to the processor by means of a system bus, said system bus being connected to a bus interface unit (36) for retrieving encoded core instructions and encoded non-core instructions from said external main memory.
  4. 6
    The processor according to one of claims 1 to 5, wherein the decoding means (18,20) comprises an instruction loader (18) for translating a first encoded core instruction to a first partially-decoded instruction and a second encoded core instruction to a second partially-decoded instruction further including means responsive to a received non-core instruction, wherein said internal cache memory storage means (22) comprises said plurality of cache memory storage locations, each cache memory storage location comprising a plurality of storage slots, each of the storage slots comprising means for storing a decoded instruction;and means for simultaneously retrieving a plurality of decoded instructions from the storage slots of a selected cache memory storage location for parallel or sequential execution by the plurality of functional units, and wherein each of the cache memory storage locations includes means for storing auxiliary information indicative of whether the plurality of instructions stored in the slots of a cache memory storage location are independent such that the instructions may be executed in parallel or dependent such that the instructions must be executed sequentially.
  5. 7
    The processor according to one of claims 1 to 6, wherein the internal cache memory storage means (22) comprises a two-way set-associative organization.
  6. 8
    A method of executing instructions in a processor, said processor comprising:a processor unit (14) with a plurality of functional units (24, 26, 28) for execution of instructions in parallel;first retrieving means (18) for retrieving an encoded instruction from the external main memory;decoding means (18,20) for decoding encoded instructions;internal cache memory storage means (22) comprising a plurality of cache memory storage locations for storing instructions;and second retrieving means for simultaneously retrieving a plurality of instructions from selected cache memory storage locations for execution by said functional units (24, 26, 28), said method comprising the following steps: (a) retrieving encoded instructions from said external main memory;(b) partially decoding the instructions retrieved in retrieving step (a);(c) storing the instructions partially decoded in decoding step (b) in said internal cache memory storage means (22);and (d) retrieving the partially decoded instructions stored in storing step (c) for subsequent execution by said plurality of functional units,    wherein the steps (a) through (c) are performed before step (d) is performed, whereby partially decoded instructions are directly delivered to the functional units (24, 26, 28) thus enhancing the processing speed.