Patent US5388220A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5388220A Expired / Lapsed US ⏱️ 0.0 years remaining

Parallel processing system and data transfer method which reduces bus contention by use of data relays having plurality of buffers

Assignee: Panasonic Holdings Corp
•
Filing: 1992-03-18
•
Granted: 1995-02-07
•
Expires: 2012-03-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A parallel processing system consists of a plurality of processor elements and a network for connecting the processor elements to each other. The processor elements include a processor, a memory and a data transfer apparatus, all connected to a common bus. The data transfer apparatus includes three buffers, while a data relay includes two buffers. In data transfer from a processor element to another processor element, a data is relayed in a third processor element only with use of a buffer, or a write/read operation is not performed in the third processor element. Then, the overhead is decreased and the transfer capability is improved. Further, the data transfer apparatus does not access the common bus, so that the width of the bus can be increased, and the processing performance of the processor can be improved.

Inventors

  • 👤 Ichiro Okabayashi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 03:47
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/17; G06F13/00; G06F13/38; G06F13/40; G06F13/4004; G06F13/4022

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 410 words
A data transfer apparatus for transmitting data between a memory means and a network comprising at least one data relay, said data transfer apparatus comprising: a first input/output port for transmitting and receiving data from the memory means, a second input/output port for transmitting and receiving data from the network, a third input/output port for transmitting and receiving data from the network, a first buffer connected between the first and second input/output ports for storing data to be transmitted from the memory means to the network, a second buffer connected between the first and third input/output ports for storing data to be transmitted from the network to the memory means, a third buffer connected between the second and third input/output ports for passing data between the second and third input/out ports without accessing the memory means; a tag generator for adding a tag to data received from the memory means; a tag transformer coupled between the third input/output port and the third buffer, for transforming the tag of data transmitted between the third input/output port and the third buffer; a memory address generator for generating an address when data is received from the network by the first input/output port and for counting the number of times data is sent from the memory means to the first input/output port; a counter for counting the number of times data is sent from the first input/output port to the memory means; a first selector for extracting a part of data sent from the second buffer as an address and for selecting the address with an address generated by the address generator, said selected address being sent to the external means when data is received by the first input/output port from the external means; a first relay address generator for generating an address when data is sent from the second input/output port to the network; a second relay address generator for generating an address when data is sent from the network by the third input/output port; a second selector for selecting between the output of the first buffer and a part of the output of the third buffer when data is sent from the second input/output port to the network; and a third selector for selecting the output of the first relay address generator when data is sent from the first buffer and for selecting an address portion of the data stored in the third buffer when data is sent from the third buffer.
Claim 2
Dependent Claim 410 words
A data transfer apparatus for transmitting data between a memory means and a network comprising at least one data relay, said data transfer apparatus comprising: a first input/output port for transmitting and receiving data from the memory means, a second input/output port for transmitting and receiving data from the network, a third input/output port for transmitting and receiving data from the network, a first buffer connected between the first and second input/output ports for storing data to be transmitted from the memory means to the network, a second buffer connected between the first and third input/output ports for storing data to be transmitted from the network to the memory means, a third buffer connected between the second and third input/output ports for passing data between the second and third input/out ports without accessing the memory means; a tag generator for adding a tag to data received from the memory means; a tag transformer coupled between the third input/output port and the third buffer, for transforming the tag of data transmitted between the third input/output port and the third buffer; a memory address generator for generating an address when data is received from the network by the first input/output port and for counting the number of times data is sent from the memory means to the first input/output port; a counter for counting the number of times data is sent from the first input/output port to the memory means; a first selector for extracting a part of data sent from the second buffer as an address and for selecting the address with an address generated by the address generator, said selected address being sent to the external means when data is received by the first input/output port from the external means; a first relay address generator for generating an address when data is sent from the second input/output port to the network; a second relay address generator for generating an address when data is sent from the network by the third input/output port; a second selector for selecting between the output of the first buffer and a part of the output of the third buffer when data is sent from the second input/output port to the network; and a third selector for selecting the output of the first relay address generator when data is sent from the first buffer and for selecting an address portion of the data stored in the third buffer when data is sent from the third buffer.
Claim 3
Dependent Claim 75 words
A data transfer apparatus according to claim 1, wherein said tag generator adds information as a tag to data received from the memory means, said information comprising: a control information part for deciding the kind of data received; a plurality of relay address parts for showing addresses of relays to be used for data relay in the order of data relay; and a memory address part for showing a final address for writing the data.
Claim 4
Dependent Claim 368 words
A data transfer apparatus for transmitting data between a memory means and a network comprising at least one data relay, said data transfer apparatus comprising: a first input/output port for transmitting and receiving data from the memory means, a second input/output port for transmitting and receiving data from the network, a third input/output port for transmitting and receiving data from the network, a first buffer connected between the first and second input/output ports for storing data to be transmitted from the memory means to the network, a second buffer connected between the first and third input/output ports for storing data to be transmitted from the network to the memory means, a third buffer connected between the second and third input/output ports for passing data between the second and third input/out ports without accessing the memory means; a tag generator for adding a tag to data received from the memory means; a tag transformer coupled between the third input/output port and the third buffer, for transforming the tag of data transmitted between the third input/output port and the third buffer; a memory address generator for generating an address when data is received from the network by the first input/output port and for counting the number of times data is sent from the memory means to the first input/output port; a counter for counting the number of times data is sent from the first input/output port to the memory means; a first selector for extracting a part of data sent from the second buffer as an address and for selecting the address with an address generated by the address generator, said selected address being sent to the external means when data is received by the first input/output port from the external means; a second selector for selecting between the output of the first buffer and a part of the output of the third buffer when data is sent from the second input/output port to the network; and a third selector for selecting the output of the first relay address generator when data is sent from the first buffer and for selecting an address portion of the data stored in the third buffer when data is sent from the third buffer.
Claim 5
Dependent Claim 368 words
A data transfer apparatus for transmitting data between a memory means and a network comprising at least one data relay, said data transfer apparatus comprising: a first input/output port for transmitting and receiving data from the memory means, a second input/output port for transmitting and receiving data from the network, a third input/output port for transmitting and receiving data from the network, a first buffer connected between the first and second input/output ports for storing data to be transmitted from the memory means to the network, a second buffer connected between the first and third input/output ports for storing data to be transmitted from the network to the memory means, a third buffer connected between the second and third input/output ports for passing data between the second and third input/out ports without accessing the memory means; a tag generator for adding a tag to data received from the memory means; a tag transformer coupled between the third input/output port and the third buffer, for transforming the tag of data transmitted between the third input/output port and the third buffer; a memory address generator for generating an address when data is received from the network by the first input/output port and for counting the number of times data is sent from the memory means to the first input/output port; a counter for counting the number of times data is sent from the first input/output port to the memory means; a first selector for extracting a part of data sent from the second buffer as an address and for selecting the address with an address generated by the address generator, said selected address being sent to the external means when data is received by the first input/output port from the external means; a second selector for selecting between the output of the first buffer and a part of the output of the third buffer when data is sent from the second input/output port to the network; and a third selector for selecting the output of the first relay address generator when data is sent from the first buffer and for selecting an address portion of the data stored in the third buffer when data is sent from the third buffer.
Claim 6
Dependent Claim 75 words
A data transfer apparatus according to claim 3, wherein said tag generator adds information as a tag to data received from the memory means, said information comprising: a control information part for deciding the kind of data received; a plurality of relay address parts for showing addresses of relays to be used for data relay in the order of data relay; and a memory address part for showing a final address for writing the data.
Claim 7
Dependent Claim 434 words
A data transfer apparatus for transmitting data between a memory means and a network comprising at least one data relay, said data transfer apparatus comprising: a first input/output port for transmitting and receiving data from the memory means, a second input/output port for transmitting and receiving data from the network, a third input/output port for transmitting and receiving data from the network, a first buffer connected between the first and second input/output ports; a second buffer connected between the first and third input/output ports; a third buffer connected between the second and third input/output ports; a tag generator for adding a tag to data received from the memory means; a tag transformer, connected between the third input/output port and the third buffer, for transforming a tag part of data which flows between the third input/output port and the third buffer; a memory address generator for generating an address when data is received from the network by the first input/output port and for counting the number of times data is sent from the memory means to the first input/output port; a counter for counting the number of times data is sent from the first input/output port to the memory means; a first selector for extracting a part of data outputted from the second buffer as an address and for selecting the address with an address generated by the address generator, said selected address being sent to the external means when data is received by the first input/output port from the external means; a first relay address generator for generating an external address when data is sent from the second input/output port to the external means; a second relay address generator for generating an external address when data is received from the external means to the third input/output port; a second selector for selecting between the output of the first buffer and a part of the output of the third buffer when data is sent from the second input/output port to the external means; a third selector for selecting the output of the first relay address generator when data is sent from the first buffer and another part of the output of the third buffer when data is sent from the third buffer; a fourth selector for selecting between the output of the second buffer and a part of the output of third buffer; and a fifth selector for selecting the output of the second relay address generator when data is sent from the second buffer and for selecting another part of the output of the third buffer when data is sent from the third buffer.
Claim 8
Dependent Claim 434 words
A data transfer apparatus for transmitting data between a memory means and a network comprising at least one data relay, said data transfer apparatus comprising: a first input/output port for transmitting and receiving data from the memory means, a second input/output port for transmitting and receiving data from the network, a third input/output port for transmitting and receiving data from the network, a first buffer connected between the first and second input/output ports; a second buffer connected between the first and third input/output ports; a third buffer connected between the second and third input/output ports; a tag generator for adding a tag to data received from the memory means; a tag transformer, connected between the third input/output port and the third buffer, for transforming a tag part of data which flows between the third input/output port and the third buffer; a memory address generator for generating an address when data is received from the network by the first input/output port and for counting the number of times data is sent from the memory means to the first input/output port; a counter for counting the number of times data is sent from the first input/output port to the memory means; a first selector for extracting a part of data outputted from the second buffer as an address and for selecting the address with an address generated by the address generator, said selected address being sent to the external means when data is received by the first input/output port from the external means; a first relay address generator for generating an external address when data is sent from the second input/output port to the external means; a second relay address generator for generating an external address when data is received from the external means to the third input/output port; a second selector for selecting between the output of the first buffer and a part of the output of the third buffer when data is sent from the second input/output port to the external means; a third selector for selecting the output of the first relay address generator when data is sent from the first buffer and another part of the output of the third buffer when data is sent from the third buffer; a fourth selector for selecting between the output of the second buffer and a part of the output of third buffer; and a fifth selector for selecting the output of the second relay address generator when data is sent from the second buffer and for selecting another part of the output of the third buffer when data is sent from the third buffer.
Claim 9
Dependent Claim 75 words
A data transfer apparatus according to claim 5, wherein said tag generator adds information as a tag to data received from the memory means, said information comprising: a control information part for deciding the kind of data received; a plurality of relay address parts for showing addresses of relays to be used for data relay in the order of data relay; and a memory address part for showing the final address for writing the data.
Claim 10
Dependent Claim 366 words
A data transfer apparatus for transmitting data between a memory means and a network comprising at least one data relay, said data transfer apparatus comprising: a first input/output port for transmitting and receiving data from the memory means, a second input/output port for transmitting and receiving data from the network, a third input/output port for transmitting and receiving data from the network, a first buffer connected between the first and second input/output ports; a second buffer connected between the first and third input/output ports; a third buffer connected between the second and third input/output ports; a tag generator for adding a tag to data received from the first input/output port; a tag transformer, connected between the third input/output port and the third buffer, for transforming a tag part of data which flows between the third input/output port and the third buffer; a memory address generator for generating an address when data is received from the network by the first input/output port and for counting the number of times data is sent from the memory means to the first input/output port; a counter for counting the number of times data is sent from the first input/output port to the memory means; a first selector for extracting a part of data sent from the second buffer as an address and for selecting the address with an address generated by the address generator, said selected address being sent to the external means when data is received by the first input/output port from the external means; a second selector for selecting between a part of the output of the first buffer and a part of the output of the third buffer when data is sent from the second input/output port to the external means; a third selector for selecting between another part of the output of the first buffer and another part of the output of the third buffer; a fourth selector for selecting between a part of the output of the second buffer and a part of the output of the third buffer; and a fifth selector for selecting between another part of the output of the second buffer and another part of the output of the third buffer.
Claim 11
Dependent Claim 366 words
A data transfer apparatus for transmitting data between a memory means and a network comprising at least one data relay, said data transfer apparatus comprising: a first input/output port for transmitting and receiving data from the memory means, a second input/output port for transmitting and receiving data from the network, a third input/output port for transmitting and receiving data from the network, a first buffer connected between the first and second input/output ports; a second buffer connected between the first and third input/output ports; a third buffer connected between the second and third input/output ports; a tag generator for adding a tag to data received from the first input/output port; a tag transformer, connected between the third input/output port and the third buffer, for transforming a tag part of data which flows between the third input/output port and the third buffer; a memory address generator for generating an address when data is received from the network by the first input/output port and for counting the number of times data is sent from the memory means to the first input/output port; a counter for counting the number of times data is sent from the first input/output port to the memory means; a first selector for extracting a part of data sent from the second buffer as an address and for selecting the address with an address generated by the address generator, said selected address being sent to the external means when data is received by the first input/output port from the external means; a second selector for selecting between a part of the output of the first buffer and a part of the output of the third buffer when data is sent from the second input/output port to the external means; a third selector for selecting between another part of the output of the first buffer and another part of the output of the third buffer; a fourth selector for selecting between a part of the output of the second buffer and a part of the output of the third buffer; and a fifth selector for selecting between another part of the output of the second buffer and another part of the output of the third buffer.
Claim 12
Dependent Claim 76 words
A data transfer apparatus according to claim 7, wherein said tag generator adds information as a tag to data received from the memory means, said information comprising: a control information part for deciding the kind of data received; a plurality of relay address parts for showing the addresses of relays to be used for data relay in the order of data relay; and a memory address part for showing the final address for writing the data.

References Cited (Backward Citations)

US4768190A Cited
US5212778A Cited
US5121390A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-02-06 1998-08-08 1999-02-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-02-06 2002-08-08 2003-02-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-02-06 2006-08-08 2007-02-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag