[wellylug] OT: CPU Design
pcreso at pcreso.com
Thu Apr 1 08:05:19 NZST 2004
> Interesting article, any ideas though as to what we are going to compare
> CPU's with if clock speed becomes less and less relevent?
The article focused pretty much on lightspeed limitations. Electric currents
are way sub lightspeed anyway, even if in perfect conditions the wavefront can
get up there. Current cpu developments are primarily in efficiency &
parallelising, moving away from sheer clock speed as the primary focus.
Despite this, Intel have focused to some extent on clock speed with the P4.
Doing less per cycle but having more cycles, then introduced hyperthreading to
make use of otherwise unused areas within cycles. This was in contrast to the
PIII. In some benchmarks a 1.3Ghz PIII was faster than a 1.6Ghz P4, especially
floating point. The P4, however, was based on an architecture designed to
support higher clock speeds on smaller dies, achieving clock speeds that were
not possible for the PIII architecture to get higher performance.
The AMD Athlon was brought in as a PIII killer, but has scaled surprisingly
well to remain competitive with even the fastest P4 cpus.
AMD have had a very different approach to cpu design. They have rated their
cpu's on effective performance, so an XP2600 is pretty much as fast as a P4 at
2.6Ghz, despite actually running at around 2Ghz. It (simplistically) has more
integer & floating point pipelines than the P4, so does more with the data in
each cpu cycle. With the introduction of the 64bit cpu they have taken another
step forward, in that it is the first 64bit cpu which is also a backwards
compatible, fully effective x86 32bit cpu. The benefits of 64bit aren't that
obvious (or necessary) to typical users today, but make a big gain in the
amount of memory that can be addressed. Sun, Digital, HP, etc workstations have
been 64bit for years, running serious UNIX operating systems.
Bill's famous quote, "64k is enough for anyone" was fine in the 8086 days, but
we have seen that limit go a while back :-)
The A64, while backwards compatible with x86 32bit, also has new registers &
other tweaks when run in 64bit mode. Typically around 20% faster at the same
clock speed than the 32bit version. The 64bit AMD cpus have another design
change, in that the memory controller is on the cpu die. Given the signal
propagation issues discussed in the original post, you can see how this will be
inherently faster than having it off cpu, on a separate chip a few inches away
on the motherboard.
The other implication, is that in >1 cpu systems, there are multiple memory
buses, as each cpu accesses its own memory through its own controller, and
other cpu's memory (if appropriate) through a high speed shared bus. This
(Opteron) architecture is performing very well, and in the Linux SMP server
world, has become popular for database & web servers due to the low cost
(relatively) & high performance.
Given the performance gains of the 2.6 kernel over the 2.4 one, there is pretty
intensive effort from several organisations to get a full 64 bit 2.6 kernel
Figure are coming out like a dual 1.6Ghz Opteron with a 2.6 kernel is faster
than a quad Xeon 2.4Ghz Postgres RDBMS server (in a few areas), and about half
the price. It will probably be a month or two before a production/stable v2.6
A64 kernel is around, but cpus & motherboards are already available at pretty
The currently available boards are using first-generation chips from VIA &
Nvidia, both of whom have second-generation chips due out, as well as new
chipsets from SiS. These are also supposedly improving performance. (No
chipsets from Intel however :-)
It has been successful enough that Intel have announced they will bring out a
64bit Xeon, basically an AMD64 compatible chip :-)
If anyone is interested, Tom's Hardware, Anandtech & others have heaps of
reviews & articles about this technology from the last 6 months or so.
To keep on topic :-) Suse, Mandrake, Gentoo & Fedora, as well as a few new
players like Shark linux, have A64 bit versions of Linux available. MS have a
beta version of 64bit Windows to play with as well. All still a bit flaky, &
relying on some 32bit support.
I won't get into other cpu architectures, like Via, Transmeta, PPC & ARM, etc,
but they are also alive & well, and potentially running Linux. (ARM was
supposedly last years biggest selling cpu in the world- PDA & cell phones, etc)
IBM's take up of Linux as the OS for their mainframes has similarities to the
cpu world, involving the massive parallelisation of small components. Much like
the Hurd compared to the old style, inefficient monolithic Linux kernel.... but
that's another story.
More information about the wellylug