EP0463299A2

Memory management for scalable compound instruction set machines with in-memory compounding.

Abstract

A digital computer system is described which is capable of processing two or more computer instructions in parallel and which has the capability of generating compounding tag information for those instructions, the compounding tag information being associated with instructions for the purpose of indicating groups of instructions which are to be concurrently executed. A compounding tag has a value which indicates the size of the group of instructions which are to be concurrently executed. The computer system includes a hierarchially-arranged memory which provides instructions to a CPU for execution. The instructions are compounded in the memory, and provision is made in the memory for storage of their compounding tags. In the event of modification of an instruction in memory, the invention provides for reduction of the value of the compounding tags for the modified instruction and instructions which are capable of being compounded with the modified instruction or for generation of new tag values for the modified instruction and instructions which are adjacent it in memory.

EP0463299A2, drawing sheet 1
Sheet 1 of 16

Term

Term ended

Projected expiry passed 3 April 2011, 15.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

15 claims: 7 independent, 8 dependent

  1. 1
    In a computer system capable of concurrently executing up to N instructions in a sequence of scalar instructions, the sequence including compounding tags associated with the scalar instructions, the compounding tags having values conditioned to indicate how many instructions are to be concurrently executed, a mechanism for managing compounding tag values of scalar instructions which are stored in a real memory of the computer system, the mechanism comprising:a merging means connected to the real memory for merging a modified instruction from the real memory with non-modified instructions in the real memory;and a tag reduction unit connected to the merging means and to the real memory for reducing the values of the compounding tags of the modified instruction and up to N-1 of the instructions in the real memory with which the modified instruction could be compounded.
  2. 4
    The mechanism of one of claims 1 to 3, wherein compounding tags are provided for every two bytes in the sequence of scalar instructions.
  3. 5
    The mechanism of one of claims 1 to 4, wherein L is the length in bytes of the longest scalar instruction capable of being compounded with another scalar instruction, A is the number of bytes covered by a compounding tag, and wherein the tag reduction unit reduces the values of the compounding tags of up to (NL-A) bytes preceding the modified instruction in the sequence of scalar instructions.
  4. 6
    The mechanism of one of claims 1 to 5, wherein the compounding tags are generated by an instruction compounding unit in the real memory of the computer system.
  5. 7
    The mechanism of one of claims 1 to 6, wherein the real memory of the computer system includes a high-capacity, medium speed main memory and a small-capacity, high speed cache connected to the main memory, to the merging means and to the tag reduction unit.
  6. 10
    In a computer system which receives a sequence of scalar instructions and includes compounding means for grouping instructions for concurrent execution by generating compounding tags for groups of up to N instructions, the compounding tags having values indicating the number of instructions in the groups, a method for managing the compounding tags of instructions stored in the real memory of the computer system, the method including the steps of:during operation of the computer system, modifying an instruction stored in the real memory;merging the instruction with instructions in the real memory;reducing the value of the compounding tag for the real instruction to zero;and reducing the values of the compounding tags of up to N-1 instructions in the real memory with which the instruction can be compounded.
  7. 14
    In a computer system capable of concurrently executing up to N compounded instructions in a sequence of scalar instructions, the sequence including compounding tags which accompany the scalar instructions, the compounding tags having values conditioned to indicate how many instructions are compounded for concurrent execution, a mechanism for managing compounding tag values of scalar instructions which are stored in real memory of the computer system, the mechanism comprising:a merging means connected to the real memory for merging a modified instruction with non-modified instructions in the real memory;and a recompounding mechanism connected to the merging means and to the real memory for generating compounding tags for the modified instruction and at least N-1 non-modified instructions adjacent the modified instruction in real memory.