An absolute unit to indicate CPU speed?
It isn't for lack of trying. For many years, several of Intel's competitors unsuccessfully tried to push performance ratings over MHz. In the mid- to late-1990's, AMD's 5x86 and Cyrix's 6x86 lines used a PR- number. Cyrix's 133 MHz 6x86, for example, outperformed Intel's 133 MHz Pentium by such a large margin that Cyrix marketed it as a PR166+. Although AMD fought head-to-head against Intel in the MHz wars for several years, they returned to a performance rating scheme with the Athlon XP, and have continued to use various performance ratings in their current product lines.
Although Intel resisted for many years, even they joined the game eventually, once they started having difficulty pushing their clock speeds ever higher. At that point, they started adding more cores and optimizing the cores.
Unfortunately, there is still no industry-wide performance rating scheme--but, as others here have pointed out, the rankings provided by http://cpubenchmark.net are usually good enough if you don't have any special requirements such as I/O virtualization or hardware AES instructions.
They have different instructions that get done at different times. maybe because one instruction involves more logic gates than another. Different processors may perform different types of operations faster than others. But there are benchmarks which I suppose test how the processor is at a bunch of things calculate a figure that represents how it does, a kind of average. PassMark seems to be one such measure. http://www.cpubenchmark.net/high_end_cpus.html It's not absolute in that there could be different ways of testing it. But it's absolute in the sense that it measures the speed in a way that isn't relative to the processor. So, not like Hz.