How well would older processors compare to newer ones if they were faster?

For example, we now have Pentium 4 Processors @ 3.06 Ghz. If we could somehow make an old Pentium Classic (circa 1995) @ 3.06 Ghz, how powerful would if be compared to the newer processors?

The reason I ask is I remember when the Pentium II came out. It wasn’t any real “improvment” over the MMX for many benchmarks, other than it was a bit faster due to its higher speed. A fellow I know said he had a 266 Pentium Classic engineering sample. He said it was faster than a P2. As well, when the Pentium 4 came out, IIRC a Pentium 3 @ 1Ghz was just as fast (in many ways) as a P4 @ 1.4.

I don’t want to try to compare an 8 bit to a 32 processor, as I think that might be pretty tough! But, if you feel you’re up to the challenge go for it!

I seem to recall that when I would compare performance between a CPU of an older generation and a newer generation, the general rule was that the newer generation would double the useful work per clock cycle.
Thus a Pentium 75 would beat a 486/120…
A 486 at 40 MHZ would double the work of a 386 at 40 MHZ… give or take.
I’d be very careful comparing 286 to 386, I don’t think that law held there.
This was all very rough, of course. And the performance differences from Pentium to PII weren’t terribly exciting, IIRC.
By the way, CPU “ability” is only one variable in a computer’s performance. A given task requires a certain amount of a number of different items, including bus bandwidth, RAM, video throughput, disk speed, L1 and L2 cache size, etc… if it doesn’t have the minimums, time for a particular task to complete will rise exponentially.

When people have questions like this, I also always reccomend they take a look at the following page:

http://n0cgi.distributed.net/speed/

What it measures is not in fact a “true” benchmark, as no such thing can exist, but it is a very interesting factual comparison between different CPUs perform one of a half-dozen or so jobs.

I used to have an Assembler Language Reference manual (long since gone) for the X86 family that, among other things, listed clock cycles per instruction for each operation for the 8086, 80186, 80286, and 80386, and the same operations definitely took fewer clock cycles on the more advanced chipsets. The integer multiply instruction (IMUL), for example, was dramatically faster on the newer chipsets. (And that’s comparing identical instructions and ignoring the fact that the 386 had a 32-bit variant of the multiply instruction).

Besides higher clock speeds, there’s other improvements that make newer chips faster than older chips. For instance, the P4 has, I believe, a 20 stage pipeline, whereas the PII - if I recall correctly - had only a 6 stage pipeline.

The classic analogy for pipelining is doing laundry. One could do a load of wash, then dry it, then fold it. That’s the standard sequential, non-pipelined way of doing things. Or, one could do a load of wash, move it to the dryer, and put another load in the washer. When the 1st load is dry, it’s folded, the second load is put in the dryer, and another load is put in the washer and so on. Each individual load takes the same amount of time, but the total time for doing three loads is faster because each part of the “pipeline” is being used at all times.

It’s worth noting that Moore’s “Law” - which is a trend and not a law - states that the number of transistors on a chip doubles approximately every year, not that the processing power or speed does. This is important because a clock speed that is twice as fast does not mean that twice the processing gets done. The increase in the number of transistors allows more “stuff” (good technical term, right?) to be done in a single clock cycle.

For instance, using the instruction WillGolfForFood brings up, an IMUL instruction may be faster on a particular chip, but if it’s not used there’s no speedup. Also, more die space allows the addition of caches - the difference between the original Celerons and the PIIs was in the L1 cache. The Celerons were the same exact processor without the cache. The cache is really important for processing speed - I can’t find a reference, but I remember it as being as much as a 20% speedup.

By the way, an MMX processor had additional, specialized hardware designed specifically for executing multimedia instructions faster than non-specialized circuitry. On a separate topic, the Pentium Pros were supposedly much faster than the then new PIIs - I’ll go try and find a reference and the reasons and post it later…

Kramer

One of my profesors at MTU (who has a doctorate in computer engineering) told me that if a P3 was somehow able to be clocked as fast as a P4, the P4 would get absolutely smoked in a benchmark (and the P3 would be smoking - hah hah hah).

I think that a lot of the changes made to the P4 (like the 20 stage pipelining) are what allow it to run a 3 GHz.

As for the increased cache … well, yeah, I guess its on the same chip as the processor, but it wouldn’t be challenging at all to have a P3 with the same cache as the P4s do - silicon real estate was just more expensive back in the day of the P3.

As for the hyper-threading … that seems like a way to recover some of the instructions per cycle that where lost when moving to the huge pipelines. But I really don’t know what I’m talking about here.

Your professor was indeed correct - one of my friends downclocked his P4 to 1GHZ, and it was slower in every benchmark we used than a similar P3 machine at 1GHZ. The way the P4 is made allows it to be ramped up to higher speeds though.

So, if that is true would a P3 be faster an 3 Ghz than a P4?

Depends which benchmarks you use.

Here are some comparisons of a Celeron running at 3 GHz with some lower clocked P4s:

http://www.sharkyextreme.com/hardware/cpu/article.php/3261_1497501__3

Cache size and memory throughput seems to hold the Celeron back.

One way you can experience this phenomenon to a limited extent is by running an emulator. Your modern CPU will process instructions in the fashion of the older processor that the emulator is built around, usually significantly faster than the original processor would have. You won’t get a “clean” feel for what an older processor would be like if revved up to near-modern speeds because the emulator’s overhead is going to differ for different kinds of tasks, but in a muddy sense at least you’re executing the old hardware routines of those earlier-era chipsets.

Basilisk II is a good example. It emulates a Motorola 68030 chip, which was roughly the Mac equivalent of an Intel '386. Does it much much faster than any real-life '030 ever ran, though. See what a 68K processor feels like at G3 speeds!

Or for a real step backwards in time, get a copy of SoftWindows 1.0 and get a taste of a 286 processor running Windows 3.1 at Pentium-III velocity! See what it’s like to actually execute IA-80x86 code instead of translating it into RISC-sized bits first!

My general sense & feel is that the older architectures worked well with integer math, clogged up a bit on I/O (although some of that is emulator overhead, of course), slowed down more when you ran several concurrent processes on them, and didn’t do well at all on vector and floating point tasks.