Difference between cores and pipelines

shlib92

Distinguished
Nov 13, 2009
21
0
18,510
i was reading about the cpu and as far as i understand the main component is the pipeline so i was wondering what actually is considered a core, besides for the pipeline, which makes it a core rather then another pipeline
 

ulysses35

Distinguished
Cores are to all intsens purposes the acutal CPU itself (minus the heat spreader etc) - pipelines are actually part of the CPU. There is a variance between different CPU's as to how long this pipeline should be.

Intel P4 Prescotts had a 31 stage piplines with extra features designed to improve performance. However the only real advantage for long piplines is for very repetitve taks like video encoding. Anything else pretty much took a performance hit.

Intel learnt the hard way.... after the mistake of the P$ Prescott / Netburst chips they realised the end of the road for that type of architecture.

Core 2 Duo has a much shorter pipeline - very similar in fact to the P3 series of CPUS and of course the older molbile Pentium chip.

Thats not to say none of the feature in the old netburst chips didnt get carried forward, we have recently seen the re-appearance of Hyper Threading.

To sum up... Core = CPU... Pipeline is part of a CPU
 
Each core is a pipeline, however the CPU can have multiple cores, each core would have its own L1 cache for data and instructions, L2 may be shared between a couple of cores, L3 is often shared between all of the cores on the die. There is also a memory controller on modern ones, and on LGA 1156 CPUs there is also a PCI-E controller built into the die.

There is far more to a CPU than its pipeline, without the cache CPUs would be incredibly slow as it doesnt matter how quickly you can exectute instructions if the data takes a while to get to you, GPU's often have this problem with memory intensive tasks like AA.

Also realize that a pipeline is not a straight pipe like it seems it should be, there are many branches off of it depending on what type of instruction needs to execute.