Friday 3 August 2012

Microprocessor: Current and future trends in multi-core microproccessors and its drawback

 Intel microprocessor 4004

Microprocessors are multipurpose, programmable device that accepts digital data as input, processes it according to the instructions that are fed in its memory, and provides the result as the output. Microprocessors operate on numbers and symbol represented in binary number system i.e. 0 and 1.

The first microprocessor was created by Intel in 1971 (Intel 4004). And the first microcomputer was created in 1972. Intel was founded in 1968 by Gordon E Moore (Physicist and Chemist), Robert Noyce (Physicist and co-inventor of ICs (Integrated Circuit)) and Arthur Rock (investor). The company was named Integrated Electronics, Intel for short.  

Intel has shifted its design from single core to multi core processors in 2004. There have been some reasons due to which this shift has been taken. According to Moore’s law, the number of transistors that is used in the microprocessors would double every two years. But as time passes, assumption about performance and power consumption were also made and it shown to advance similar lines. 


During that period there was one more visionary at work, Dennard. He predicted that oxide thickness; transistor length and transistor width could be all scaled by a constant factor. The density of the processors also increased. This scaling is what gave Moore’s law boost. It’s the reason the general purpose microprocessors was able to overtake and dominate other types of computers. Due to advancement in circuit technology and performance limitation in wide-issue, super-speculative processors, chip multiprocessors (CMP) or multi-core technology has become the mainstream in computer design.

For the past 7 to 8 years, Intel and AMD have emphasized multi-core CPUs as the answer to scaling system performance. It’s a fact that adding more CPU cores never result in perfect scaling. A multi-core processor is a single computing component with two or more independent actual processors (called cores). These multiple cores can run multiple programs at the same time, increasing overall speed of the computer. Dual core processors have 2 cores, tri- has 3 cores and quad- has 4 cores and so on.

The main trend that Intel followed in their development was to make faster and smaller processors. The general trend in processor development has moved from dual-, tri-, quad-, octa-core to ones with tens and hundreds of core. In addition to that, multicore chips mixed with simultaneously multithreading, memory-on-chip and special purpose heterogeneous cores promise further performance and efficiency gains, especially in processing multimedia, recognition and networking applications. There is also a trend of improving energy-efficiency by focusing on performance per watt with advanced fine grain or ultra-fine-grain power management and dynamic voltage and frequency scaling.

There has been some reason why this shift has not been able to produce the desired result. One of the biggest reasons is that in any parallelized program, performance is ultimately limited by the amount of serial code. Serial code can only be executed by only one processor as the instruction is read one by one. This is known as Amdahl’s law. Other factors, like the difficulty of maintaining concurrency across a large number of cores, also limit the practical scaling of multi core solution.

The improvement in performance gained by the use of a multi-core processor depends very much on the software algorithm used and their implementation. The pace at which development of parallel programming has been increased is very slow as compared to the increased number of multi-core processors being made and brought into the market. Parallel programming languages have been introduced for example, Cilk++, OpenMP, fastflow and MPI that can be used on multicore platforms.

Having multiple cores on a single chip gives rise to challenges and problems. Power and temperature management are two concerns that can increase exponentially with the addition of multiple cores. If two cores were placed on a single chip without any modification then the chip would consume twice as much power and generate a large amount of heat. In the extreme case, if your processor overheats, your computer may combust. For prevention we run the multicores at a lower frequency to reduce power consumption. These are some of the reasons that were faced by the microprocessor industry while developing the multicore processors.   

Written by:
- Ahmed Ahsan Khan.

2 comments:

  1. You havent discussed threading which has brought scalability to the Systems and what about Dynamic Pipe lining ???? inclusion of the above mentioned 2 very facts will definitely help gain in depth knowledge about the topic.thx

    ReplyDelete
  2. Thanks for the concern.... The main aim of the article was to discuss the trend of multi-core microprocessors and its trends.... Scaling and pipelining agreed are very important concepts of the micro processors which wil be discussed in the coming up articles..... :)

    ReplyDelete