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)?
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With