EP1069509A2

Improvements in or relating to microprocessors

Abstract

Data transfer between a master node (300) and plural memory nodes (301-308) follows a synchronous fixed latency loop bus (255). Each memory node includes bus interface (311-318) which passes command, write data, address and read data to a next memory node in the loop. Each memory node performs a read from its memory at the specified address if a read command is directed to it. Each memory node performs a write to its memory at the specified address if a write command is directed to it. This configuration provides a fixed latency between the issue of a read command and the return of the read data no matter which memory node is accessed. This configuration prevents collision of returning read data. This configuration retains the issued read and write order preserving proper function for read/write and write/read command pairs. This configuration provides fixed loading to each stage regardless of the number of memory nodes. Thus the design of large systems operating at high speeds is simplified.

EP1069509A2, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Projected expiry passed 14 July 2020, 6.2 years ago.

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

23 claims: 5 independent, 18 dependent

  1. 1
    A method of data transfer among a plurality of nodes comprising:initializing transfer operations from a master node, said initializing including generating a read command including an indication of one of the plurality of nodes arid a memory address;disposing the plurality of nodes in a closed loop having a first node and a last node;passing a received read command from each node to a next node in said closed loop, the first node of the plurality of nodes receiving said read command generated by the master node;and determining at each node whether a read command received from a prior node includes an indication of one of the plurality of nodes corresponding to that node, if so recalling data from a memory at an address corresponding to said memory address of said read command and passing said read data to said next node in said closed loop, the last node of said plurality of nodes passing said read data to the master node.
  2. 6
    The method of any preceding claim further comprising:supplying to said first node constant read data.
  3. 9
    The method of any preceding claim wherein;discarding at said last node said read command including said indication of one of said plurality of nodes and said memory address following determining at said last node whether said read command includes an indication of one of the plurality of nodes corresponding to the last node and if so recalling data from a memory at an address corresponding to said memory address of said read command and passing said read data to said master node.
  4. 10
    The method of any preceding claim further comprising the steps of:said step of initializing transfer operations from the master node, generating a write command including an indication of one of the plurality of nodes, write data and a memory address;determining at each node whether a write command received from a prior node includes an indication of one of the plurality of nodes corresponding to that node, if so writing the write data of said write command to a memory at an address corresponding to said memory address of said read command and passing said write command to said next node in said closed loop.
  5. 12
    A data processing apparatus comprising:a plurality of memory nodes disposed in a closed loop having a first memory node and a last memory node;a master node capable of initializing data transfer operations by generation of a read command including an indication of one of said plurality of memory nodes and a memory address;each of said plurality of memory nodes having a memory having an address input and a data output, said memory outputting data stored therein at addressed memory locations corresponding to an address received at said address input, a command input for receiving a read command from a prior memory node in said closed loop, said first memory node receiving said read command generated by said master node;a command output for supplying received read command to a next memory node in said closed loop, said command output of said last memory node not connected, a read data input for receiving read data from a prior memory node in said closed loop, a read data output for supplying read data to a next memory node in said closed loop, said last memory node supplying read data to said master node, an address comparator generating a match signal upon detection that a received read command includes an address corresponding to a unique address range assigned to said memory node, a multiplexor having a first input connected to said read data input, a second input connected to a data output of said memory and an output connected to said read data output, said multiplexor selectively connecting either said first input or said second input to said output, a command decoder connected to said memory, said address comparator, and said multiplexor, said command decoder supplying said received address to said address input of said memory and controlling said multiplexor to connect said second input to said output responsive to a received read command upon receipt of said match signal.