In these queues the eight neighboring processors store the messages, whose recipient is this particular processor. During the processor's normal operation, an interrupt driven software message handler queries the queues and services the pending messages. Messages are forwarded to their destination by packet switching from processor to processor. The message route through the processor grid is not pre-established when the message is generated. Each processor, upon receiving a message, decides to forward it to one of its eight neighboring processors, or to consume it itself.
Message passing always imposes high latency to the application's execution.
Messages kept in main memory are uncachable because of their nature, and message reading or writing operations take many execution cycles. The time spent for message handling on each processor is another source of overhead, delaying the application execution. The PiSMA architecture tries to minimize the message passing latency by avoiding it or hiding it. In the first case, the advantage of the physical communication through common adjacent memories is used, avoiding the generation of messages. Processors working with shared resources on a common memory can execute very quickly, without message intervention.