Multi-processor SoCs Yijing Chen 11/14/05 ELEC6200-001 Fall 2005 1 Why multiprocessor systems-on-chips Single processors may be sufficient for lowperformance applications that are typical of early microcontrollers, but an increasing number of applications require multiprocessors to meet their performance goals. Multiprocessor systems-on-chips (MPSoC) are one of the key applications of VLSL technology today. MPSoC are increasingly used to build complex integrated system. A MPSoC is more than just a rack of processors shrunk down to a single chip. 11/14/05 ELEC6200-001 Fall 2005 2 Introduce Multiprocessor Definition: Multiprocessor is Parallel processors with a single shared address. Microprocessor is now the most cost-effective processor. Multiprocessors have the highest absolute performance-faster than the fastest uniprocessor. 11/14/05 ELEC6200-001 Fall 2005 3 Several conceptions Parallel processing program: a single program that runs on multiple processors simultaneously. Cluster: a set of computers connected over a local area network (LAN) that function as a single large multiprocessor. Shared memory: a memory for a parallel processor with a single address space, implying implicit communication with loads and stores. 11/14/05 ELEC6200-001 Fall 2005 4 Multiprocessosrs communication mode Signal address: offer the programmer a single memory address space that all processors share. Processors communicate through shared variables in memory, with all processors capable of accessing any memory location via loads and stores. Message passing: Communicating between multiple processors by explicitly sending and receiving information. 11/14/05 ELEC6200-001 Fall 2005 5 Two types single address access Uniform momory access multiprocessors (or symmetric multiprocessors): which takes the same time to access main memory no matter which processor requests it and no matter which word is requested. Nonuniform memory access multiprocessors: some memory accesses are faster than others depending on which processor asks for which word. For nonuniform memory access machines can scale to larger sizes and hence are potentially higher performance. 11/14/05 ELEC6200-001 Fall 2005 6 Two basic constructed organizations Processors connected by a single bus Processors connected by a network Options in communication style and physical connection for multiprocessors as the number of processors varies. 11/14/05 ELEC6200-001 Fall 2005 7 Multiprocessors connected by a single bus Typical size is between 2 and 32 processors Coche coherency: consistency in the value of data between the versions In the caches of several processors. 11/14/05 ELEC6200-001 Fall 2005 8 Multiprocessors connected by a network Note: compare with last one, the multiprocessor connection is no longer Between memory and the processor. 11/14/05 ELEC6200-001 Fall 2005 9 Multiprocessors Programming Why is it difficult to write multiprocessor programs that are fast, especially as the number of processors increases. Because of the programming difficulty, most parallel processing success stories are a result of software wizards developing a parallel subsystem that presents a sequential interface. you must get good performance and efficiency from the parallel program on a multiprocessor Why it is difficult to write parallel processing programs is that the programmer must know a good deal about the hardware. 11/14/05 ELEC6200-001 Fall 2005 10 System-on-chips designs constraints: Not simply high computation rates, but real-time performance that meets deadlines. Low power or energy consumption. Low cost. 11/14/05 ELEC6200-001 Fall 2005 11 Concept of MPSoC Multiprocessor system on chips (MPSoC) are not chip multiprocessors. Chip multiprocessors are components that take advantage of increased transistor densities to put more processors on a single chip, but they don’t try to leverage application needs MPSoC are custom architectures that balance the constraints of VLSI technology with an application’s needs. 11/14/05 ELEC6200-001 Fall 2005 12 Memory system of MPSoC Heterogeneous memory systems: some blocks of memory may be accessible by only one or a few processors. Heterogenous memory systems are harder to program because the programmer must keep in mind what processors can access what memory blocks Irregular memory structures are often necessary in MPSoCs. One reason that designers resort to specialized memory is to support real-time performance. 11/14/05 ELEC6200-001 Fall 2005 13 Challenges and Opportunities MPSoCs combine the difficulties of building complex hardware systems and complex software systems. Methodology is critical to MPSoC design. Methodologies that work offer many advantages. They decrease the time it takes to design a system; they also make it easier to predict how long the design will take and how many resources it will require. Methodology also codify techniques for improving performance and power consumption that developers can apply to many different designs. Methodology will necessarily be a moving target for the next decade. 11/14/05 ELEC6200-001 Fall 2005 14 Challenges and Opportunities MPSoC hardware architectures present challenges in all aspects of the multiprocessor: processing elements, memory, and interconnects. Configurable processors with customized instruction sets are one way to improve the characteristics of processing elements; hardware/ software codesign of accelerators is another technique. 11/14/05 ELEC6200-001 Fall 2005 15 Future work A critical question in MPSoC architectures is the balance between programmability and efficiency. It is more difficult to program multiprocessors than uniprocessors, and it is more difficult to program heterogeneous multiprocessors than homogeneous multiprocessors. Hardware/ software interface codesign. 11/14/05 ELEC6200-001 Fall 2005 16 Question? 11/14/05 ELEC6200-001 Fall 2005 17