EP0640930A2

A multiprocessor system and a method of controlling such a system.

Abstract

The present invention provides a multiprocessor system for processing instruction arrays comprising attribute setting instructions and tasks. When an attribute setting instruction is transmitted to the system, it is first written into a first TSL buffer. Then a comparator determines the difference between the corresponding addresses in the first TSL buffer and a second TSL buffer, and a TAG circuit stores the changed parts. When a task, or primitive, is allotted, the contents of the TAG circuit are referenced and only the changed parts are copied from the first to second TSL buffer. Then the second TSL buffer is locked to retain the instantaneous value of the TSL. An MPU performs drawing with reference to the snapshot of the TSL retained by the second TSL buffer. By the above technique a graphic system according to the invention can use a multiprocessor to perform fast parallel processing by efficiently assigning drawing instructions to each node, since a TSL snapshot at any time can be obtained quickly for use.

EP0640930A2, drawing sheet 1
Sheet 1 of 13

Term

Term ended

Projected expiry passed 11 August 2014, 12.1 years ago.

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

5 claims: 2 independent, 3 dependent

  1. 1
    A multiprocessor system having a plurality of nodes (20) arranged to execute allotted tasks in parallel, the system comprising:a distribution means (10) for receiving sequentially data sets and tasks, for broadcasting data sets to all of the nodes, and for allotting a task to one of the nodes for processing;an integration means (30) for integrating the results of processing by each node;each node being in a locked state during processing of a task, and comprising:    a first temporary storage means (61) for receiving and writing each item of data sent by the distribution means (10) at a corresponding address;a second temporary storage means (62) having the same set of addresses as the first temporary storage means (61) and retaining the instantaneous value of the data set at the time the node entered its locked state;a comparison means (65) for comparing the data stored in the corresponding addresses in the first and second temporary storage means (61, 62) to detect a difference, and a third storage means (63) for storing the addresses at which a difference exists;a task processing means (21) for processing the allotted task with reference to the data set stored in the second storage means (62) and driving the node into an unlocked state when the processing of the task is finished;a storage control means (66) for controlling the referencing of the task processing means (21) to the second temporary storage means (62), and with reference to the third storage device during the unlocked state copying the data set at an address in the first temporary storage means to the corresponding address in the second temporary storage means for each address where a difference existed.
  2. 2
    A multiprocessor system as claimed in Claim 1 wherein in copying a data set, the storage control means (66) sends the data set's address to the task processing means (21), and the task processing means (21) has a built-in cache memory and invalidates the area of the cache memory that corresponds to the address received from the storage control means (66).
  3. 3
    A method for controlling a multiprocessor system having a plurality of nodes (20) arranged to execute allotted tasks in parallel, the method comprising the steps of:broadcasting, via a distribution means (10), a data set received by the multiprocessor system to each node;employing a first temporary storage means (61) in each node (20) to write said data set into a corresponding address;comparing said data set with the data set stored in a corresponding address of a second temporary storage means (62) in each node to detect any difference,    associating said difference with the address and storing it in a third storage means (63) in each node;employing the distribution means to receive tasks and to allot a task to one of the nodes (20);in response to the allotment of the task, causing the allotted node to read from the third storage means (63) the addresses with the difference detected and to copy the data set stored in each such address in the first temporary storage means (61) to the corresponding address in the second temporary storage means (62);after copying all the addresses with a difference detected is completed, driving the node into a locked state;in response to the locked state, employing a task processing means (21) to process the task with reference to the second temporary storage means (62);driving the node into an unlocked state when the task processing means finishes processing the task;and    employing an integration means (30) to integrate the results of processing by each node.
  4. 4
    A method as claimed in Claim 3 wherein if a node receives a data set from the distribution means whilst in the locked state, the first temporary storage means (61) is employed to write said data set into the corresponding address, said data set is compared with the data set stored in the corresponding address in the second temporary storage means (62) to detect a difference, and said difference is stored with the address in the third storage means, but the data set is not copied from the first to second temporary storage means until the node has been driven into the unlocked state.
  5. 5
    A method as claimed in Claim 3 or Claim 4 wherein the task processing means (21) has a built-in cache memory, and the method comprises the further steps of:when a data set is copied, sending the data set's address to the task processing means (21);and    invalidating the area of the cache memory that corresponds to the address received by the task processing means (21).