Whenever i look at specifications of the processor , the number of cores is always 2 , 4 ,8 .
Is there any reasons why the number of cores are always even and not odd like 3 , 5 , 7
@Tero is correct. The primary reason is because most cores are rectangular. Creating a multi-core processor is done by mirroring a core layout. Mirror rather than stepping to keep like resources on adjacent cores together. During testing a defect may prohibit a core from performing to spec. In that case the core may be disabled and the product sold with n-1 cores. Some products may have an odd number of cores because room is needed for other features like ram or regulators. The core layout for GPU's for example may use a lot of mirrored cores but be laid out very 'unnaturally' to make room for ram or bus interfaces.
I think the main reason for this is the physical layout of the cores on the processor chip. Having an odd number of cores would leave an unused physical slot in the chip.
First, we only had one core. So someone, at some point just decided to double it and make a 2 core system.
Going from there, it's easier to build a 4 core system, because you're just doubling the 2 core system and you already know how to double. You don't need to invent a way for your system to work with 3 cores.
I mostly agree with what everyone else has said and just want to add why we don't tend to see n-1 core processors much (if at all anymore). Now that we're up to 4 and 8 core chips AMD and (I think) Intel are starting integrate two cores together. In this fashion "core" gets a little fuzzy. Basically they share cache, and possibly other resources in a very tight fashion. As we see more and more cores some of these pairs are turning into quads at the L3 cache level. Therefore, if a core goes bad then they just disable the whole pair or quad, this is a big reason why we see 6-core and 12-core CPUs these days.
12
and6
are even though. Its really as simply as nobody would purchase a 3 core CPU. Its market driven.