Editors: Pao-Ann Hsiung, Yean-Ru Chen, Chao-Sheng Lin

Multicore Hardware-Software Design and Verification Techniques

eBook: US $21 Special Offer (PDF + Printed Copy): US $96
Printed Copy: US $85
Library License: US $84
ISBN: 978-1-60805-685-9 (Print)
ISBN: 978-1-60805-225-7 (Online)
Year of Publication: 2011
DOI: 10.2174/97816080522571110101


The surge of multicore processors coming into the market and on users’ desktops has made parallel computing the focus of attention once again. This time, however, it is led by the industry, which ensures that multicore computing is here to stay. Nevertheless, there is still so much research work to be done in multicore hardware-software designs before consumer applications can leverage the benefits of this new paradigm. This ebook is being put forward as a platform for immediate collection of state-of-the-art technologies in both hardware and software designs for multicore computing. With the burgeoning prevalence of multicore processors in embedded systems, real-time systems, multimedia systems, bioinformatics systems, network systems, to list a few, this ebook attempts to cover the design and verification issues related to different application domains as a singular source of reference to the state-of-the-art techniques in multicore processor design and software programming that covers multiple application domains. This ebook will be of immense help to system and software engineers, including both experts and non-experts in parallel computing.


Though the transistor density in a single chip keeps doubling every 18 months according to the Moore’s law from 1965, the increasing of clock frequency has hit its ceiling owing to physical constraints around 2003. Memory wall, instruction-level parallelism (ILP) wall, and power wall are the main obstacles for high clock speed in a microprocessor. To overcome the barriers and keep exploiting the advantages from Moore’s law, microprocessor vendors have started providing multi-core architectures that can increase the computing power for application acceleration. Today multi-core architectures have been proved to be ideal solutions by being adopted in a wide range from the server, desktop, and laptop to the embedded systems and digital signal processing design.

Though multi-core systems have brought us the benefits of higher computing power and low power consumption, it has also created new challenges in hardware architecture design and software application design and analysis. For the hardware architecture, the design of memory distribution and cache hierarchy is important, which may affect the cache hit rate, memory access latency, thread scheduling, and migration strategies. For software design, operating systems, parallel algorithms and libraries, and language extensions are being developed to support parallel programming models based the multi-threaded programming paradigm. Application designers need to analyze the computationally intensive tasks in an application and decompose them into smaller logical tasks to be managed by parallel algorithms (libraries). All the issues arising from each design level may affect the application performance on multi-core systems.

This ebook, Multicore Hardware-Software Design and Verification Techniques, tries to give the readership an overview on the major issues of engineering in multi-core systems and the inception of marching into the multi-core world. Chapters 1, 2, and 3 help readers to assimilate the major issues in system design due to the characteristics of diverse multi-core architectures. Chapters 4 and 5 introduce the issues in application design and analysis, which are targeted for multi-core systems. This book is designed to give the readers a consolidated and hierarchal concept from the underlying multi-core architectural characteristics to the high-level software and application design. I believe readers will not only learn from this book, but will be of high reference value.

Ahmed Jerraya


.Multi-Objective Optimization In Theory and Practice II: Metaheuristic Algorithms.
.Arduino and SCILAB based Projects.
.Arduino meets MATLAB: Interfacing, Programs and Simulink.
.Budget Optimization and Allocation: An Evolutionary Computing Based Model.