Patent ID: 6594711
Filing Date: 2003-07-15
Classification: G06F

Abstract:
A data processing apparatus comprising:a plurality of data processor cores, each having integral cache memory and local memory and a single data interchange port; an external memory interface having an internal data interchange port and an external data interchange port adapted for connection to devices external to said data processing apparatus; and a direct memory access unit connected to said single data interchange port of each of said data processor cores and to said internal data interchange port of said external memory interface, said direct memory access unit transporting data according to commands received from said data processor cores, all data transported between a local memory of a data processor core and another data processor core taking place via said direct memory access unit, all data transported to or from devices external to said data processing unit taking place via said external memory interface, said direct memory access unit including a request queue controller receiving, prioritizing and dispatching data transfer requests, each data transfer request specifying a data source, a data destination and a data quantity to be transferred; a data transfer hub connected to request queue controller effecting dispatched data transfer requests; a plurality of ports, each port having an interior interface connected to said data transfer hub identically configured for each port and an exterior interface, one exterior interface connected to said single data interchange port of each of said data processor cores and one exterior interface connected to said internal data interchange port of said external memory interface, said interior interface and said exterior interface operatively connected for data transfer therebetween; and said data transfer hub controlling data transfer from a source port corresponding to said data source to a destination port corresponding to said data destination in a quantity corresponding to said data quantity to be transferred of a currently executing data transfer request.