Patent ID: 7237071

Claim:
A data processing device disposed on a single integrated circuit comprising: a plurality of identical central processing units operable on instructions of a single instruction set; a single program memory storing instructions for all of said plurality of central processing units; program access arbitration logic connected to each of said plurality of central processing units and said program memory, said program access arbitration logic receiving program memory access requests from said plurality of central processing units and operable to arbitrate among plural central processing units generating program memory access requests simultaneously, and supply an instruction from said program memory to a selected single requesting central processing unit at a time; a shared memory storing data at a plurality of addresses; and shared memory access arbitration logic connected to each of said plurality of central processing units and said shared memory, said shared memory access arbitration logic receiving data access requests from said plurality of central processing units and operable to supply data from said shared memory to a requesting central processing units if a single central processing unit generates a data access request for said shared memory, if plural central processing units simultaneously request access to said shared memory, arbitrating among said central processing units for access, supplying data from said shared memory to a selected single central processing unit at a time and, placing other central processing units requesting access to said shared memory into a wait condition, and following read access by a central processing unit to one of a predetermined set of addresses in said shared memory, prohibiting read access to the one address by another central processing unit for a predetermined number of a plurality of memory cycles.