You are on page 1of 11


A Seminar Report

Submitted in the partial fulfillment of the requirement of

Bachelor of Technology (B.Tech.)

Computer Science & Engineering

Submitted To:

Submitted By:

Computer Science & Engineering

Ambala 2 .6310041 Guru Nanak Institute of Technology Mullana.

In contrast to commercially available two and four core machines in 2008.6310041 INTRODUCTION Intel manufactured the first microprocessor. both 8-bit. 19] Each generation of processors grew smaller.” [2] This rate of growth is astounding considering that current desktop chips are on the cusp of using four cores and a single core has been used for the past 30 years. and consumed more power. Adding an additional processing core to the same chip would. some experts believe that “by 2017 embedded processors could sport 4. result in twice the performance and dissipate less heat. in theory. Motorola had their 68000 and Intel the 8086 and 8088.” Multicore is not a new concept. but recently the technology has become mainstream with Intel and Advanced Micro Devices (AMD) introducing many commercially available multicore chips. faster. dissipated more heat. in the early 1970s which was basi-cally just a number-crunching machine. the former would be the basis for Intel‟s 80386 32-bit and later their popular Pentium lineup which were in the first consumer-based PCs. Multicore Basics 3 . In Sep-tember 2005 the IEE Review noted that “power consumption increases by 60% with every 400MHz rise in clock speed…But the dual-core approach means you can get a significant boost in performance without the need to run at ruinous clock rates.096 cores. [18. computer architects needed a new approach to improve performance. though in practice the actual speed of each core is slower than the fastest single core processor. and Motorola followed suit with their 6800 which was equivalent to Intel‟s 8080. server CPUs might have 512 cores and desktop chips could use 128 cores. Speeding up processor frequency had run its course in the earlier part of this decade. Shortly afterwards they developed the 8008 and 8080. as the idea has been used in embedded systems and for special-ized applications for some time. Chip-Multiprocessors (CMP) or multi-core technology has be-come the mainstream in CPU designs. The Need for Multicore Due to advances in circuit technology and performance limitation in wide-issue. The companies then fabricated 16-bit microprocessors. superspeculative processors. the 4-bit 4004.

Most systems have between 1GB to 4GB of main memory compared to approximately 32KB of L1 and 2MB of L2 cache.6310041 The following isn‟t specific to any one multicore design. and competition. The bus ap-proach is used with a shared memory model. If we set two cores side-by-side. when data isn‟t located in cache or main memory the system must retrieve it from the hard disk. therefore. is necessary. After approximately 32 cores the bus is overloaded with the amount of processing. Finally. this is very fast memory used to store data frequently used by the processor. below. Multicore processors seem to answer the deficiencies of single core processors. Main memory is very large and slower than cache and is used. multicore architec-tures need to adhere to certain aspects. but still much faster than main memory. Closest to the processor is Level 1 (L1) cache. Although manufacturer designs differ from one another. and to main memory. a communica-tion bus has a limited scalability. by increasing bandwidth while decreasing power consumption. L2 cache is larger than L1 cache and used for the same purpose. The basic configuration of a microprocessor is seen in Figure 2. slower than L1 cache. communication. shows a comparison of a single and multicore (8 cores in this case) processor used by the Packaging Research Center at Georgia Tech. With the same source voltage and multiple cores run at a lower frequency we see an al-most tenfold increase in bandwidth while the total power consumption is reduced by a factor of four. Table 1. WORKING OF MULTICORE PROCESSORS 4 . one can see that a method of communication between the cores. This is usually accomplished either using a single communication bus or an interconnection network. but rather is a basic overview of multi-core architecture. which takes exponentially more time than reading from the mem-ory system. which leads to diminished performance. for example. Level 2 (L2) cache is just off-chip. whereas the inter-connection network approach is used with a distributed memory model. to store a file currently being edited in Microsoft Word.

the multi-core CPU designs require much less printed circuit board (PCB) space than do multi-chip SMP designs. Combining equivalent CPUs on a single die significantly improves the performance of cache snoop (alternative: Bus snooping) operations. If that's the case. Also. in which all processors reside on the same chip. When new data is loaded into the cache. and therefore those signals degrade less. Advantages The proximity of multiple CPU cores on the same die allows the cache coherency circuitry to operate at a much higher clock-rate than is possible if the signals have to travel off-chip. the cores share some circuitry. adding more cache suffers from diminishing returns. A dual-core processor The data streams are processed at the same time. Put simply. and once the data is calculated. Assuming that the die can fit into the package. The multi-processor system. can be significantly faster than a dual-core setup. multi-core design can make use of proven CPU core library designs and produce a product with lower risk of design error than devising a new wider core-design. the dual-core processor will split the data and crunch the numbers at the same time. effectively doubling the processor's speed. because of the way the data is split and reintegrated. While of limited use for applications that aren't "processor intensive" they really shine when working with high level calculations or even computer games. In terms of competing technologies for the available silicon die area. Furthermore. Also. performance suffers. this means that signals between different CPUs travel shorter distances. physically. Because the CPU can typically process data faster than the storage media it's pulling from. A dual core process detects incoming data streams and determines whether they could be calculated more quickly if both cores were working.6310041 The dual core or multicore processor differs from a single core in that the single core processor must take the incoming data bits one at a time. the processors mesh the data back into a single usable stream. process that bit of data and move on the next one.[citation needed] 5 . principally because of the decreased power required to drive signals external to the chip. since individual signals can be shorter and do not need to be repeated as often. In a dual-core processor. the data is pulled by each processor when needed. it is pulled from the hard drive. These higher-quality signals allow more data to be sent in a given time period. This isn't to be confused with a multi-processor system. like the L2 cache and the interface to the front side bus (FSB). a dualcore processor uses slightly less power than two coupled single-core processors.

Intel has partially countered this first problem by creating its quad-core designs by combining two dual-core on a single die with a unified cache. This allows higher performance with less energy. Also. ultimately. The challenge of writing parallel code clearly offsets this benefit. single CPU designs may make better use of the silicon surface area than multiprocessing cores.[8] which simplifies multi-core development across game platforms. This can be a big factor in mobile devices that operate on batteries. then going to dual-core might give 30% to 70% improvement. Amdahl's law makes this claim dubious. the ability of multi-core processors to increase application performance depends on the use of multiple threads within applications. raw processing power is not the only constraint on system performance. hence any two working dual-core dies can be used. then a 90% improvement can be expected. have a built-in multicore facility called Grand Central Dispatch. which powers their game.[5] Disadvantages Maximizing the utilization of the computing resources provided by multi-core processors requires adjustments both to the operating system (OS) support and to existing application software. Two processing cores sharing the same system bus and memory bandwidth limits the real-world performance advantage. In addition. It has been claimed[by whom?] that if a single core is close to being memory-bandwidth limited. Since each core in multi-core is generally more energy-efficient. however. Integration of a multi-core chip drives chip production yields down and they are more difficult to manage thermally than lower-density single-chip designs.[citation needed] It would be possible for an application that used two CPUs to end up running faster on one dual-core if communication between the CPUs was the limiting 6 . and iOS starting with iOS 4. as opposed to producing four cores on a single die and requiring all four to work to produce a quad-core. the chip becomes more efficient than having a single large monolithic core.6310041 Multi-core chips also allow higher performance at lower energy.'s OS X.[6][7] and Crytek has developed similar technologies for CryEngine 2. so a development commitment to this architecture may carry the risk of obsolescence. Apple Inc. The situation is improving: for example the Valve Corporation's Source engine offers multi-core support. From an architectural point of view. Finally. Crysis. if memory bandwidth is not a problem. Emergent Game Technologies' Gamebryo engine includes their Floodgate technology. starting with Mac OS X Snow Leopard.

APPLICATIONS 7 .6310041 factor. which would count as more than 100% improvement.

explained Weltzin. and Motion control. initial industrial usage has been in higher-end automation systems. linked below: Insights on multi-core processors and Multi-core processors: Software key to success and Computing Power: Multi-core Processors Help Industrial Automation. “Any application that can be divided into parallel pieces is suitable for multi-core processors.” he added.) The wide potential of multi-core processors (MCPs) stems from their ability to perform multiple tasks in parallel. (Read additional Control Engineering articles in this series. not only will software need to be modified to run on multi-core CPUs. power-constrained devices. Industrial applications of MCPs have included: Machine vision CAD systems CNC machines Automated test systems. Although numerous applications can benefit from using multi-core processors. These are mainly medical and safety-related applications requiring extensive certifications.” said Weltzin. “While multi-core CPUs are now an option in the industrial and embedded spaces. 8 . product manager for software at National Instruments Inc.” he said. according to Casey Weltzin. heavily regulated industries or application areas may see slower adoption. “In these cases. This includes overall tasks such as pipelining many chunks of data simultaneously for high system throughput or enabling more complex control algorithms. Particularly in the latter area. but the modified software may also need to undergo intense scrutiny that presents an additional barrier to overcome. Understandably. over the next 10 years they will increasingly become ubiquitous as technology continues to trickle down to lower-end. there is an interesting suggestion of commonality for “parallelism” between multi-axis motion and multi-core processing.6310041 Among advantages of multi-core CPUs is the diversity of applications they can solve. Weltzin noted.

The demo (at http://bit. operating systems such as QNX Neutrino RTOS can partition and prioritize deterministic. a subsidiary of Research In Motion Ltd. an increase in frequency. at least. “For all multi-core processor addresses functional safety capabilities of MPC5643L processors.—see more describes automotive functional safety using Freescale MPC564xL 32-bit.) Dopplinger further mentioned that several new MCPs are certifiable for use in Safety Integrity Level 3 (SIL-3) applications. This model broke when the high frequencies caused 9 . Functions such as safety controllers often run on separate dedicated processors. a somewhat different view of MCPs came from Alexandra Dopplinger. A demo and training module. she explained.” she cautioned. without fear of interrupt or resource contention. real-time control algorithms to safely run alongside an industrial network protocol and a human-machine interface on a single core or multiple cores. users should carefully select development tools that make the system easier to debug and certify. dual-core microprocessors. global segment lead for Factory Automation & Drives at Freescale Semiconductor Inc. per International Electrotechnical Commission standard IEC 61508 (SIL-3). provide further information about safety-related applications. “However. while the training module (at http://bit. (Neutrino RTOS is a product of QNX Software Systems.6310041 For process safety-related applications. available from Freescale Semiconductor. CONCLUSION Before multicore processors the performance increase from generation to generation was easy to see.” she said.

With so many different designs (and potential for even more) it is nearly impossible to set any standard for cache coherence. The greatest difficulty remains in teaching parallel programming techniques (since most programmers are so versed in sequential programming) and in redesigning current applications to run optimally on a multicore system. it is still unclear whether homogeneous or heterogeneous cores are more efficient. And finally. many issues remain unsolved.6310041 processors to run at speeds that caused increased power consumption and heat dissipation at detrimental levels. In years to come we will see much in the way of improvements to these systems. Multicore processors are an important innovation in the microprocessor timeline. With skilled programmers capable of writing parallelized applications multicore efficiency could be increased dramatically. and cache coherence protocols. but added interesting new problems. However. heat dissipation. REFERENCES List of references is as follows:10 . There are relatively few applications (and more importantly few programmers with the know-how) written with any level of parallelism. The memory systems and interconnection net-works also need improvement. and layout. In order to use a multicore processor at full capacity the applications run on the system must be multithreaded. These improvements will provide faster programs and a better computing experience. Adding multiple cores within a processor gave the solution of running at lower frequencies. Multicore processors are architected to adhere to reasonable power consumption. interconnections. > >www.wikipedia.arcobel.6310041 > > 11 .