EP2224345A2

Multiprocessor with interconnection network using shared memory

Abstract

A processing system comprising processors and the dynamically configurable communication elements coupled together in an interspersed arrangement. The processors each comprise at least one arithmetic logic unit, an instruction processing unit, and a plurality of processor ports. The dynamically configurable communication elements each comprise a plurality of communication ports, a first memory, and a routing engine. For each of the processors, the plurality of processor ports is configured for coupling to a first subset of the plurality of dynamically configurable communication elements. For each of the dynamically configurable communication elements, the plurality of communication ports comprises a first subset of communication ports configured for coupling to a subset of the plurality of processors and a second subset of communication ports configured for coupling to a second subset of the plurality of dynamically configurable communication elements.

EP2224345A2, drawing sheet 1
Sheet 1 of 18

Term

Term ended

Projected expiry passed 25 June 2023, 3.2 years ago.

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

14 claims: 12 independent, 2 dependent

  1. 1
    A system, comprising:a plurality of processors, each comprising at least one arithmetic logic unit, an instruction processing unit, and a plurality of processor ports;and a plurality of dynamically configurable communication elements, each comprising a plurality of communication ports, a first memory, and a routing engine;wherein said plurality of processors and said plurality of dynamically configurable communication elements are coupled together in an interspersed arrangement;wherein, for each of said processors, said plurality of processor ports are configured for coupling to a first subset of said plurality of dynamically configurable communication elements;wherein, for each of said dynamically configurable communication elements, said plurality of communication ports comprise a first subset of communication ports configured for coupling to a subset of said plurality of said processors and a second subset of communication ports configured for coupling to a second subset of said plurality of dynamically configurable communication elements;and wherein, for each of said dynamically configurable communication elements, said first memory is shared among a plurality of said processors.
  2. 4
    The system as recited in claim any of the preceding claims, wherein, for each of said dynamically configurable communication elements, said first memory operates as at least a portion of a register file for its neighboring processors.
  3. 5
    The system as recited in claim any of the preceding claims, wherein each of said processors is dynamically configurable to obtain data from the first memory of different ones of said dynamically configurable communication elements.
  4. 6
    The system as recited in claim any of the preceding claims, wherein, for each of said dynamically configurable communication elements, said first memory stores data that is directly accessible by a processor during execution of instructions.
  5. 7
    The system as recited in claim any of the preceding claims, wherein, for each of said dynamically configurable communication elements, said first memory stores data that is directly accessible by each of a plurality of neighboring processors during execution of instructions.
  6. 8
    The system as recited in claim any of the preceding claims, wherein each of the processors is operable to obtain data from a first memory of any of a plurality of neighboring dynamically configurable communication elements.
  7. 9
    The system as recited in claim any of the preceding claims, wherein a first processor is operable to obtain first data from a first memory of a first dynamically configurable communication element during a first time period, and wherein the first processor is operable to obtain second data from a first memory of a second dynamically configurable communication element during a second time period.
  8. 10
    The system as recited in claim any of the preceding claims, wherein a first processor is operable to obtain a plurality of data values from a respective subset of said plurality of dynamically configurable communication elements substantially simultaneously.
  9. 11
    The system as recited in claim any of the preceding claims, wherein, for each of said dynamically configurable communication elements, said first memory is configured to provide a plurality of data values to a respective subset of said plurality of processors substantially simultaneously.
  10. 12
    The system as recited in claim any of the preceding claims, wherein, for each of said dynamically configurable communication elements, said first memory is coupled to said plurality of communication ports via a plurality of access ports and includes a plurality of addressable locations;and wherein, for each of said dynamically configurable communication elements, said routing engine is coupled to said plurality of communication ports and configured to route data between any of said plurality of communication ports.
  11. 13
    The system as recited in claim any of the preceding claims, wherein each of said plurality of dynamically configurable communication elements further comprises a direct memory access engine coupled to said plurality of communication ports and configured to transfer data between said first memory and said plurality of communication ports.
  12. 14
    A method of manufacturing an integrated circuit, the method comprising:fabricating a unit comprising a processor and a dynamically configurable communication element;wherein the processor comprises an arithmetic logic unit, an instruction processing unit, and a plurality of processor ports;wherein the dynamically configurable communication element comprises a plurality of communication ports, a first memory, and a routing engine;placing and interconnecting a plurality of said units on a substrate, wherein said plurality of processors and said plurality of dynamically configurable communication elements are coupled together in an interspersed arrangement;wherein, for each of said processors, said plurality of processor ports are configured for coupling to a first subset of said plurality of dynamically configurable communication elements;wherein, for each of said dynamically configurable communication elements, said plurality of communication ports comprise a first subset of communication ports configured for coupling to a subset of said plurality of processors and a second subset of communication ports configured for coupling to a second subset of said plurality of dynamically configurable communication elements;wherein, for each of said dynamically configurable communication elements, said first memory is shared among a plurality of said processors.