Massively parallel computer including auxiliary vector processor
First Claim
1. A massively-parallel computer comprising a plurality of processing nodes and at least one control node interconnected by a network for facilitating the transfer of data among the processing nodes and of commands from the control node to the processing nodes, each processing node comprising:
- A. an interface for transmitting data over, and receiving data and commands from, said network;
B. at least one memory module for storing data in a plurality of storage locations each identified by an address;
C. a node processor for receiving commands received by the interface and for processing data in response thereto, said node processor generating (i) auxiliary processing instructions, (ii) memory access requests for facilitating the retrieval of data from or storage of data in said memory module, and (iii) said node processor further controlling the transfer of data over said network by said interface; and
D. an auxiliary processor connected to said memory module, said auxiliary processor including;
(i) a memory interface for performing memory access operations in response to said memory access requests from said node processor, to store data received from said memory module for transfer to said node processor,(ii) a data processor for performing data processing operations in response to said auxiliary processing instructions from said node processor, said data processor including a data processing circuit and a resister file that includes a plurality of registers each identified by a resister identification, said data processor, also in response to data processing control signals, performing data processing elemental operations and generating processed data items which correspond to input data items that represent the contents of selected registers and storing the processed data items in selected registers, the input data items that are provided for each elemental operation and the processed data items that are produced for each elemental operation representing vector elements of corresponding vectors; and
(iii) a control interface for receiving (a) said auxiliary processing instructions from said node processor and for generating data processing control signals in response thereto, and (b) said memory access requests from said node processor and for generating memory access control signals in response thereto,(iv) said control interface further selectively generating memory access control signals in response to receipt of auxiliary processing instructions, an address, a data processing identifier that identifies one of a plurality of data processing operations, and a load/store identifier that includes a register identifier, said control interface in response to a load/store identifier that identifies a load operation enabling said memory module to selectively retrieve data from a storage location in said memory module identified by the received address for transfer to the identified resister in said data processor, and in response to a load/store identifier that identifies a store operation enabling said memory module to store in a storage location identified by the received address data received from said identified register in said data processor,(v) said control interface further including a conditionalizing circuit for selectively disabling execution by said data processor of selected elemental operations by disabling storage of processed data items generated by said data processing circuit for said selected elemental operations, said conditionalizing circuit including;
a. a vector mask register including a plurality of vector mask bits, each vector mask bit being associated with an elemental operation, and each bit having a selected condition;
b. a mask bit selection circuit for selecting a vector mask register for an elemental operation; and
c. a storage control circuit for controlling storage of processed data items by said register file for an elemental operation in response to the condition of the selected vector mask bit.
0 Assignments
0 Petitions
Accused Products
Abstract
A massively-parallel computer includes a plurality of processing nodes and at least one control node interconnected by a network. The network faciliates the transfer of data among the processing nodes and of commands from the control node to the processing nodes. Each each processing node includes an interface for transmitting data over, and receiving data and commands from, the network, at least one memory module for storing data, a node processor and an auxiliary processor. The node processor receives commands received by the interface and processes data in response thereto, in the process generating memory access requests for facilitating the retrieval of data from or storage of data in the memory module. The node processor further controlling the transfer of data over the network by the interface. The auxiliary processor is connected to the memory module and the node processor. In response to memory access requests from the node processor, the auxiliary processor performs a memory access operation to store data received from the node processor in the memory module, or to retrieve data from the memory module for transfer to the node processor. In response to auxiliary processing instructions from the node processor, the auxiliary processor performs data processing operations in connection with data in the memory module.
140 Citations
7 Claims
-
1. A massively-parallel computer comprising a plurality of processing nodes and at least one control node interconnected by a network for facilitating the transfer of data among the processing nodes and of commands from the control node to the processing nodes, each processing node comprising:
-
A. an interface for transmitting data over, and receiving data and commands from, said network; B. at least one memory module for storing data in a plurality of storage locations each identified by an address; C. a node processor for receiving commands received by the interface and for processing data in response thereto, said node processor generating (i) auxiliary processing instructions, (ii) memory access requests for facilitating the retrieval of data from or storage of data in said memory module, and (iii) said node processor further controlling the transfer of data over said network by said interface; and D. an auxiliary processor connected to said memory module, said auxiliary processor including; (i) a memory interface for performing memory access operations in response to said memory access requests from said node processor, to store data received from said memory module for transfer to said node processor, (ii) a data processor for performing data processing operations in response to said auxiliary processing instructions from said node processor, said data processor including a data processing circuit and a resister file that includes a plurality of registers each identified by a resister identification, said data processor, also in response to data processing control signals, performing data processing elemental operations and generating processed data items which correspond to input data items that represent the contents of selected registers and storing the processed data items in selected registers, the input data items that are provided for each elemental operation and the processed data items that are produced for each elemental operation representing vector elements of corresponding vectors; and (iii) a control interface for receiving (a) said auxiliary processing instructions from said node processor and for generating data processing control signals in response thereto, and (b) said memory access requests from said node processor and for generating memory access control signals in response thereto, (iv) said control interface further selectively generating memory access control signals in response to receipt of auxiliary processing instructions, an address, a data processing identifier that identifies one of a plurality of data processing operations, and a load/store identifier that includes a register identifier, said control interface in response to a load/store identifier that identifies a load operation enabling said memory module to selectively retrieve data from a storage location in said memory module identified by the received address for transfer to the identified resister in said data processor, and in response to a load/store identifier that identifies a store operation enabling said memory module to store in a storage location identified by the received address data received from said identified register in said data processor, (v) said control interface further including a conditionalizing circuit for selectively disabling execution by said data processor of selected elemental operations by disabling storage of processed data items generated by said data processing circuit for said selected elemental operations, said conditionalizing circuit including; a. a vector mask register including a plurality of vector mask bits, each vector mask bit being associated with an elemental operation, and each bit having a selected condition; b. a mask bit selection circuit for selecting a vector mask register for an elemental operation; and c. a storage control circuit for controlling storage of processed data items by said register file for an elemental operation in response to the condition of the selected vector mask bit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification