IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 _______________________________________________________________________________________ Volume: 04 Issue: 09 | September-2015, Available @ http://www.ijret.org 87 MULTICORE PROCESSOR TECHNOLOGY- ADVANTAGES AND CHALLENGES Anil Sethi 1 , Himanshu Kushwah 2 1 (Department of Electronics, Keshav Mahavidyalaya, University of Delhi, Delhi, India) anil_sethi14@yahoo.co.in, 2 (Department of Electronics, Keshav Mahavidyalaya, University of Delhi, Delhi, India) kushwah.du@gmail.com Abstract Until recent times, we have worked with processors having a single computing/processing unit (CPU), also called a core. The clock frequency of the processor, which determines the speed of it, cannot be exceeded beyond a certain limit as with the increasing frequency, the power dissipation increases and therefore the amount of heating. So manufacturers came up with a new design of processors, called Multicore processors. A multicore processor has two or more independent computing/processing units (cores) on the same chip. Multiple cores have advantage that they run on lower frequency as compared to the single processing unit, which reduces the power dissipation or temperature. These multiple cores work together to increase the multitasking capability or performance of the system by operating on multiple instructions simultaneously in an efficient manner. This also means that with multithreaded applications, the amount of parallel computing or parallelism is increased. The applications or algorithms must be designed in such a way that their subroutines take full advantage of the multicore technology. Each core or computing unit has its own independent interface with the system bus.. But along with all these advantages, there are certain issues or challenges that must be addressed carefully when we add more cores. In this paper, we discuss about multicore processor technology. In addition to this, we also discuss various challenges faced such as power and temperature (thermal issue), interconnect issue etc. when more cores are added. Key Words: CMP (Chip Multiprocessor), Clock, Core, ILP (Instructions Level parallelism), TLP (Thread level Parallelism). --------------------------------------------------------------------***---------------------------------------------------------------------- 1. INTRODUCTION The multicore processor comprises of two or more cores or computational/processing units that operate in parallel to read and execute instructions. These multiple processing units or cores are fabricated on a single die. So, its also called a Chip Multiprocessor (CMP). The key factor about multicore processor is that it gives the same performance of a single faster processor at lower power dissipation and at a lower clock frequency by handling more tasks or instructions in parallel. [1] This enhances the ILP (Instructions Level Parallelism). The performance of a processor is a function of three major factors, which includes IPC (instructions per cycle), CPI (clock cycles per instruction) and clock cycle (or clock frequency). The IPC can be increased by increasing ILP and TLP (thread level parallelism). The CPI can be improved by the techniques of pipelining. But there is a limiting factor towards increasing the clock frequency. [2] The dynamic power dissipation is given by- P = QCV 2 f 1.1 Q- Number of Transistors C- Load Capacitance V- Supply Voltage f- Clock Frequency So, if we increase the clock frequency, the power dissipation increases which in turn causes overheating. So, the idea of multicore technology is to use multiple cores instead of one (like single processor) at a comparatively lower frequency, but an overall improvement in the performance is delivered through multiple cores operating simultaneously on multiple instructions.[1] Multicore processors work on multiple instructions and multiple data. Multiple cores execute multiple threads (multiple processes/instructions) while using different parts of memory (multiple data). This enhances TLP. The main memory is shared by all cores. Each core is associated with its own cache and they all share the system bus.[3] Fig.1. Quad cores sharing memory and bus interface