by William Wong
Multicore is the wave of the future, with more cores in our designs as time goes on. Some push the limits, while others creep up to a half-dozen very large cores. And then there’s the problem of programming these things.
Communication lies at the heart of the matter. Memory is the key in a symmetrical multiprocessing (SMP) or non-uniform memory access (NUMA) environment. In other architectures, communication may be packet switches, FIFOs, or a host of other link technologies employed in different chips.
Hardware programmers have placed a number of standard protocols such as sockets, streams, Linx, and TCP/IP on top of this connection (see “Freeing Communications” at www.electronicdesign.com). If you really want to get complicated, check out the Open Management Group’s (OMG’s) CORBA or data distribution service (DDS).


