Tuesday, November 18, 2008

Dual core/processors

Everyone wants dual core and many don't even know what the hell it is other than 2 is always better than one.

Dual core is similar to having two processors or what they call dual processors, duh. The most common misconception with dual core/processors is that it equals twice the speed. In reality 2Ghz dual core or dual processors does not equal 4Ghz. That is not how it works.

Let's use the analogy of a car. A car's top speed usually depends on its engine capacity. The higher the engine capacity, the more likely its top speed increases. When it can travel faster, it can reach a destination faster too. This is why a processor keeps increasing in speed as well. The faster it is, the faster it can complete its task too.

Having dual core/processors is not like having the engine overhauled with twice the engine capacity. In fact what you get is two of the exact same cars. How does it helps in completing a task faster?

Say there are 10 of you planning to go somewhere. If you have only one car, only 5 person can travel at one time. If the journey takes 30mins, then the total time taken will be 60mins for all 10 to reach the destination (exlude the time taken for the car to travel back to pick up the other 5). Now if you have 2 cars, all 10 people can travel at the same time and hence reach the destination in 30mins. That is half the time taken as compared to if you only have one car. If you translate that passenger load into tasks a processor has to compute, then it means a dual core/processor equipped computer will take half the time to finish a task as compared to a single core/processor computer.

So sounds good doesn't it? However, there are few things you have to take note of.

Your operating system and applications must be dual core/processor aware to take advantage. That means it must know that there are two processors it can use. If they are not, then they can only detect one processor and the other one will not be used at all. When that happens, you are better off with one processor instead. This is the same as having 10 people with 2 cars but none of them realised they have a second car that they can use.

Also, dual core/processors will only be effective when the load requires more than 1 processor. In the example of the car, even if there are 2 cars but only 5 people, then effectively one of the two car is useless as only one car is required.

Now, not to confuse you but although I did mentioned that it is pointless if your applications cannot make use of dual core/processors, it still have its advantages as long as your operating system does. Having dual core/processors with an operating system that is aware of its existance means that your operating system no longer need to fight with your applications for resources. In single core/processor system, if an application sucks up all the resources a processor has, your operating system is left breathless and that is how systems hangs or slows down. An application runs on top of the operating system. If the operating system is dying, how can the application run? In a dual core/processor system, an application can suck up all the resources on one core/processor and the operating system can rely on the other to stay alive.

So yes it does speed things up (depending on the scenario above) but no, it is not all the time.

No comments: