A data processing system includes a main processor that runs an operating
system; a microcontrol processor coupled to the main processor that
controls a first plurality of hardware processes as directed by the main
processor, and a switching matrix controlled by the microcontrol
processor and coupled between input ports and output ports of individual
ones of the first plurality of hardware processes for routing data
between individual ones of the first plurality of hardware processes. In
one aspect there is a unit having an interface for coupling to at least
one peripheral unit, where each of the unit and the peripheral unit
include a system on a chip. Operations of a local microcontrol processor
of the unit are directed through macro commands issued by the main
processor, and for the execution of some macro commands the local
microcontrol processor of the unit communicates with the local
microcontrol processor of the peripheral unit via an interconnecting bus
that implements a plurality of virtual channels.