Let's say you have a single (1) Intel/AMD x86-64 bit 2 GHz 8 core processor.
Does each of the 8 cores all run at the full 2 GHz or, does each core run at some fraction of the full 2 GHz clock (e.g. 250 MHz)?
Let's say you have a single (1) Intel/AMD x86-64 bit 2 GHz 8 core processor.
Does each of the 8 cores all run at the full 2 GHz or, does each core run at some fraction of the full 2 GHz clock (e.g. 250 MHz)?
The first one, the clock is an input generated by a quartz oscillator that is "injected" into the CPU and it's used to synchronize the whole bunch of transistors.. while there can be different clocks used for different parts of the hardware the one that drives the CPU (and every inner core it's the same).
A side node: some advanced CPU are able to step down some cores because they are idle at the moment. This is usually achieved by scaling the base clock speed by a factor, but it's just to save power.
Mind that having more CPUs shouldn't increase context switches: a context switch is done whenever the quantum of a process ends, or pre-emption occurs, so with an higher number of cores you will have more "consumers" able to execute the processes, with a lower need to exchange them.
At full power, they should all run at 2GHz, I'd imagine. However, this doesn't effectively create a 16GHz processor exactly, as a single-thread single-process program running at 100% CPU would only be able to use one. Nevertheless, 8 2GHz cores can be better than one 16GHz cores when the workload is divided well, as each core gets its own cache, etc.. From a more practical perspective, having 8 2GHz cores means if one program runs at 100%, it won't slow your system to a crawl (unless it uses all 8 cores).
Note that modern hardware (with proper OS support) will, upon low workload, typically reduce clock speed and shut down cores in order to save power. The latter might not be so true today, but it will be in the future.
Under full load (that is, when you have programs running taking up all available processor time on all cores), all cores will run at the rated speed (eg, an 8-core 2 GHz processor runs all 8 cores at 2 GHz).
Now, it is possible for the cores to be running at different speeds, depending on the actual load:
So, in general, the processor will be at the full speed, but it is possible for the speed to fluctuate dynamically.