1. Apparatus for processing data comprising: a programmable general purpose processor operating under program instruction control to perform data processing operations; a memory system coupled to said processor, said memory system operating to store data values to be processed by said processor; a hardware accelerator coupled to said processor and to said memory system and operating to perform data processing operations upon data values accessed in said memory system; a shared memory management unit coupled to said processor, said memory system and said hardware accelerator and operating to perform memory management operations in respect of memory accesses to said memory system by said processor and by said hardware accelerator; a first communication channel between said processor and said hardware accelerator for transferring at least control signals between said processor and said hardware accelerator; and a second communication channel coupling said hardware accelerator and said memory system for transferring data access operations between said hardware accelerator and said memory system.