140 likes | 405 Views
Multiprocessors for DSP. SYSC5603 Digital Signal Processing Microprocessors, Software and Applications . Outline. Why Multiprocessor Systems? Chip Multiprocessor (CMP) Architectures CMP Advantages & Disadvantages Current CMP Solutions Tools for Designing and Simulation CMPs
E N D
Multiprocessors for DSP SYSC5603 Digital Signal Processing Microprocessors, Software and Applications
Outline • Why Multiprocessor Systems? • Chip Multiprocessor (CMP) Architectures • CMP Advantages & Disadvantages • Current CMP Solutions • Tools for Designing and Simulation CMPs • Summary
Why Multiprocessor Systems? • Single-core microprocessor performance increases are beginning to slow [1] due to: • Increasing power consumption (>100 W) • Increasing heat dissipation • Diminishing performance gains from ILP & TLP [2] • As a result manufactures are turning to a multi-core microprocessor approach • Multiple smaller energy efficient processing cores are integrated onto a single chip • Improves overall performance by performing more work concurrently
CMP Architectures • Two general types of multi-core or chip multiprocessor (CMP) architectures • Homogeneous CMPs – all processing elements (PEs) are the same • Heterogeneous CMPs – comprised of different PEs • Homogenous dual-core processors for PCs are now available from all major manufactures • Heterogeneous CMPs are available in the form of multiprocessor systems-on-chips (MPSoCs)
Homogenous CMP - Quad-SHARC DSP Quad-SHARC Functional Diagram Core ADSP-21060 SHARC Functional Diagram [3] [3]
Heterogeneous CMP – Cell BE Cell Broadband Engine Block Diagram [4]
CMP Advantages • CMPs have several advantages over single processor solutions • Energy and silicon area efficiency • By Incorporating smaller less complex cores onto a single chip • Dynamically switching between cores and powering down unused cores [5] • Increased throughput performance by exploiting parallelism • Multiple computing resources can take better advantage of instruction, thread, and process level parallelism
CMP Disadvantages • Poorer performance in single task situations • Need to have software that can be decomposed into multiple threads in order to take full advantage of CMP resources • Programming CMPs is inherently more difficult due to: • Software needing to be designed with multiple threads • Parallel programming and its associated issues such as shared memory access and message passing • Large number of possibly different types of PEs
Current CMP Solutions • Many different types of CMP solutions exist today and choosing one depends on the intended application • In the desktop computing industry all major manufactures now offer multi-core solutions • Manufactures of PDSPs also offer multi-core versions of their products • FPGA manufactures offer programmable devices with immersed microprocessor cores
Design and Simulation Tools • Of the multi-core solutions that exist none offer support for a multi-core design from scratch • Instead customers decide on a multi-core platform from a specific vendor and generally use the tools available from that vendor to program, test, and verify their multi-core solution • One solution for the design and simulation of multi-processor systems from the ground up is offered by Cmpware Inc. • They offer a configurable multi-processor development kit (CMP-DK) which allows for the design, programming, and testing of multi-processor systems
Design and Simulation Tools – The CMP-DK • Their development environment lets processors and their interconnection network be quickly and simply defined [6] • Existing processor cores along with their associated tools, libraries, and software can be used [6] • Also, users are able to specify their own custom processor architectures and interconnect networks or modify an existing architecture as needed.
Summary • The CMP architecture is now the architecture of choice for semiconductor manufactures • CMPs are more area and energy efficient than single processor solutions • CMPs achieve greater throughput than single processor solutions as more work can be done concurrently • Custom multi-processor systems can now be designed and simulated from the ground up using software solutions from several companies
References [1] D. Geer, “Chip makers turn to multicore processors,” IEEE Computer, vol. 38, no. 5, pp. 11-13, 2005. [2] L. Hammond, B. Hubbert, M. Siu, M. Prabhu, M. Chen and K. Olukotun, “The Stanford Hydra CMP”, IEEE Micro, vol. 20, no. 2, pp. 71-84, Mar./Apr. 2000. [3] AD14060 Data Sheets. (2004). Analog Devices. Norwood, MA. [Online]. Available: http://www.analog.com/UploadedFiles/Data_Sheets/ 4003696AD14060_L_b.pdf [4] Cell Broadband Engine Architecture and its first implementation. [Online]. Available: http://www- 128.ibm.com/developerworks/power/library/pa- cellperf/#23ref1
References [5] R. Kumar, D. M. Tullsen, N.P. Jouppi, and P. Ranganathan, “Heterogeneous Chip Multiprocessors,” IEEE Computer, vol. 38, no. 11, pp. 32-38, 2005. [6] S. A. Guccione. (2005, April). Programming Configurable Multiprocessors. Presented at the 12th Reconfigurable Architectures Workshop. [Online]. Available: http://www.cmpware.com/Papers/RAW2005/Cmpwar e_RAW_2005.pdf