Embedded symmetric multiprocessor system with arbitration control of access to shared resources
First Claim
1. 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 toarbitrate among plural central processing units generating program memory access requests simultaneously, andsupply 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 tosupply 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, andfollowing 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.
1 Assignment
0 Petitions
Accused Products
Abstract
A single chip, embedded symmetric multiprocessor (ESMP) having parallel multiprocessing architecture composed of identical processors includes a single program memory. Program access arbitration logic supplies an instruction to a single requesting central processing unit at a time. Shared memory access arbitration logic can supply data from separate simultaneously accessible memory banks or arbitrate among central processing units for access. The system may simulate an atomic read/modify/write instruction by prohibiting access to the one address by another central processing unit for a predetermined number of memory cycles following a read access to one of a predetermined set of addresses in said shared memory.
58 Citations
3 Claims
-
1. 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. - View Dependent Claims (2, 3)
-
Specification