Computer system and method for pipelined transfer of data between modules utilizing a shared memory and a pipeline having a plurality of registers
First Claim
1. A computer system comprising:
- a first module;
a second module; and
a bus for transferring data between the first and second modules,wherein the first module comprises;
a memory M1; and
a pipeline PL1 for transferring data from a port PRT1 of the memory M1 to the bus, the pipeline PL1 having an input for receiving data from the memory M1 and an output for providing data to the bus,wherein the second module comprises;
a memory M2; and
a pipeline PL2 for transferring data from the bus to a port PRT2 of the memory M2, the pipeline PL2 having an input for receiving data from the bus and an output for providing data to the memory M2,wherein at least one pipeline PLi (i=1 or
2) of the pipelines PL1 and PL2 comprises a plurality of registers connected to each other in series, a first one of the registers being connected to the input of the pipeline PLi and wherein the pipeline PLi allows shifting data in the registers by one register and loading data from the input of the pipeline PLi into the first one of the registers, andwherein at least one memory Mj (j=1 or
2) of the memories M1 and M2 is a shared memory having a plurality of ports including port PRTj, wherein an access to the memory Mj through a port other than PRTj is allowed to proceed without a data transfer through the pipeline PLj and is allowed to proceed simultaneously with a portion of a data transfer from the memory M1 to the memory M2, the data transfer from M1 to M2 including a data transfer through the port PRTj and the pipeline PLj.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer system and method for transferring data from a first memory to a second memory of a computer system are disclosed. The computer system includes a bus for transferring data between a first module and a second module, at least one of the modules including a shared memory having multiple ports. One port of each shared memory communicates with the bus through a pipeline which includes a plurality of registers connected in series. The pipeline allows shifting data in the registers by one register and loading data from the input of the pipeline into a first one of the registers. An access to one of the shared memories through one port is allowed to proceed simultaneously with a portion of a data transfer between the memories which includes a data transfer through another port and pipeline. The pipelines thus allow shared memories to communicate even when the memories are not simultaneously available for communication with each other.
44 Citations
40 Claims
-
1. A computer system comprising:
-
a first module; a second module; and a bus for transferring data between the first and second modules, wherein the first module comprises; a memory M1; and a pipeline PL1 for transferring data from a port PRT1 of the memory M1 to the bus, the pipeline PL1 having an input for receiving data from the memory M1 and an output for providing data to the bus, wherein the second module comprises; a memory M2; and a pipeline PL2 for transferring data from the bus to a port PRT2 of the memory M2, the pipeline PL2 having an input for receiving data from the bus and an output for providing data to the memory M2, wherein at least one pipeline PLi (i=1 or
2) of the pipelines PL1 and PL2 comprises a plurality of registers connected to each other in series, a first one of the registers being connected to the input of the pipeline PLi and wherein the pipeline PLi allows shifting data in the registers by one register and loading data from the input of the pipeline PLi into the first one of the registers, andwherein at least one memory Mj (j=1 or
2) of the memories M1 and M2 is a shared memory having a plurality of ports including port PRTj, wherein an access to the memory Mj through a port other than PRTj is allowed to proceed without a data transfer through the pipeline PLj and is allowed to proceed simultaneously with a portion of a data transfer from the memory M1 to the memory M2, the data transfer from M1 to M2 including a data transfer through the port PRTj and the pipeline PLj. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for transferring data from a memory M1 to a memory M2, the method comprising the steps of:
-
transferring a word of data from a port PRT1 of the memory M1 to an input of a pipeline PL1; loading said word of data from the input of the pipeline PL1 into the pipeline PL1; transferring said word of data from the pipeline PL1 onto a bus; providing said word of data from the bus to an input of a pipeline PL2; loading said word of data from the input of the pipeline PL2 into the pipeline PL2; and transferring said word of data from the pipeline PL2 to a port PRT2 of the memory M2, wherein at least one pipeline PLi (i 32 1 or
2) of the pipelines PL1 and PL2 comprises a plurality of registers connected to each other in series, the first one of the registers being connected to the input of the pipeline PLi, p1 wherein Loading a word of data into the pipeline PLi comprises (1) loading a word of data from the input of the pipeline PLi into the first one of the registers of the pipeline PLi, and (2) shifting data previously loaded into the pipeline PLi by one register, andwherein at least one memory Mj (j=1 or
2) of the memories M1 and M2 is a shared memory having a plurality of ports including port PRTj, wherein an access to the memory Mj through a port other than PRTj is allowed to proceed without a data transfer through the pipeline PLj and is allowed to proceed simultaneously with a portion of a data transfer from the memory M1 to the memory M2, the data transfer from M1 to M2 including a data transfer through the port PRTj and the pipeline PLj. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification