Saturday, January 15, 2011

Introduction to Multi-Core Technology

Before we get into,..
  • In computing, a processor is the unit that reads and executes program instructions and provides expected output 
  • Clock speed plays major role in determining the speed of the processors 
  • Initially it was started at 20MHz and later gone up to 3.8GHz 
  • Later the situation was such that they could not increase the clock speed. So they researched about other aspects where they could improve the speed of processing 
  • So they came up with MULTI-CORE  TECHNOLOGY.

Cores and Multi-Cores  
  • Initially processors were originally developed with only one core 
  • The core is the part of the processor that actually performs the reading and executing of the instruction
Time efficiency with usage of multi-core processors

  • Single-core processors can only process one instruction at a time
  • A multi-core processor is a processing system composed of two or more independent cores. It is an integrated circuit(IC) to which two or more individual processors (called cores in this sense) have been attached
  • So if a system has more cores, the more strength it has.
  • One best example you could think off is, just imagine what if you had 4 hands instead of two..? that means you can work faster.. :)
  • But there is certain limit on it, which i will dicuss in future posts.
  • But more number of cores does not mean that performance of the system will always be better than before.
  • That is because suppose if you have 4 hands but your mind is not able to utilize the 4 hands efficiently, so whats the use of having four hands then..?
  • It is the same case in today's Computer Industry. Hardware improvement isn't just enough, there has to be change in software trend to improve efficient usage of the multi-core technology.
  • Always remember the basic thing about computer
Hardware + Software = Computer
  • Of-course that's not exactly accurate in today's trend, i mean there is many more additions to the above like firmware,etc.. But the above equation is the very basic one.

Other Issues :  
  • Currently computer market has hardware that will only run at full speed with parallel programs. But unfortunately number of programmers  who write such supportable and efficient programs are very less…
  • Usually Parallel computing requires,the problems to be decomposed into sub-problems that can be safely solved at the same time(concurrently)
  • The programmer structures the code and data to solve these sub-problems concurrently.
  • There are various tools that help the programmer achieve this, which i will discuss in next post,click here to go to next post.


No comments:

Post a Comment