No more mysteries: Apple's G5 versus x86, Mac OS X versus Linux
by Johan De Gelas on June 3, 2005 7:48 AM EST- Posted in
- Mac
Summary: the cores compared
Below, you find a comparison of the Intel Xeon/Pentium 4, the Opteron/Athlon 4, the G5 and the previous CPU in the Apple Power: the G4 of Motorola.CPU feature |
Motorola G4+ |
G5 (IBM PowerPC 970) |
Intel Xeon P4 Irwindale |
AMD Opteron Troy |
Process technology |
0.18 µ CU SOI |
0.09 µ CU SOI |
0.09 µ CU |
0.09 µ CU SOI |
GP Register Width (bit) |
32 |
64 |
64 |
64 |
Number of transistors (Million) |
33 |
58 |
169 |
106 |
Die Size (mm²) |
106 |
66 |
+/-130 (112 for 1 MB L2) |
115 |
Maximum Clockspeed (MHz) |
1400 |
2700 (liquid cooled) |
3800 |
2600 |
Pipeline Stages ( fp) |
7 |
16 (21) |
31 - 39* |
12 (17) |
issue rate (Instruction per clockcycle) |
3 + 1 Branch |
4 + 1 branch |
4 ports, max. 6 (3 sustained) |
6 (3 sustained) |
Integer issue rate (IPC) |
3 + 1 Branch |
2 |
4 (3 sustained) |
3 |
Floating point issue rate (IPC) |
1 |
2 |
1 |
3 |
Vector issue rate (IPC) |
2-4 ( Altivec) |
2-4 ( Altivec, velocity) |
4 Single(SSE-2/3) |
4 Single(SSE-2/3) |
2 Double (SSE-2/3) |
2 Double (SSE-2/3) |
|||
Load & Store units |
1 |
2 |
2 |
2 |
"instructions in flight" (OOO Window) |
16 |
215 (100) |
126 |
72 |
Branch History Table size (entries) |
2048 |
16384 |
4096 |
16384 |
L1-cache (Instruction/Data) |
32 KB/32 KB |
64 KB/32 KB |
12k µops (+/- 8-16 KB)/16 KB |
64 KB/64KB |
L2-cache |
256 KB |
512 KB |
2048 KB |
1024 KB |
L3-cache |
2 MB DDR SRAM 64 bit at 1/4 th of core clock |
none |
None |
none |
Front Side Bus (MHz) |
166 |
1350 (675 DDR) |
800 (200 Quad) |
N/A |
Front Side Bus (GB/s) |
1.3 Half Duplex |
10,8 Full Duplex |
6.4 Half Duplex |
N/A |
Memory Bandwidth (GB/s) |
2.7 |
6.4 |
6.4 |
6.4 |
Core Voltage |
1.6V |
1,1V ? |
1.38V |
1.4V |
Power Dissipation |
30W at 1 GHz |
+/- 59 (Typical) -80 Watt (max) |
110 W (Typical) |
92,6W (Max) |
*31 is branch misprediction pipeline length, 39 is the length of the total pipeline including decoding stages before the trace cache.
Let us summarize: in theory, the PowerPc 970FX is a very wide, deeply pipelined superscalar monster chip, with excellent Branch prediction and fantastic features for streaming applications. And let us not forget the two parallel FPUs and the SIMD Altivec unit, which can process up to 4 calculations per clock cycle.
The disadvantages are the rather coarse way that the 970FX handles the instruction flow and the high latency to the RAM.
Enough theory. Let us see how the G5 2.5 GHz and 2.7 GHz compares to the 3.6 GHz Xeon Irwindale and Opteron 250 (2.4 GHz). The Opteron 852 arrived just a day before my deadline, but I think that you will know how the 252 performs compared to the 250. Before we tackle performance, here are a few quick notes about power dissipation.
Power to the PowerPC
How power thirsty is this PowerPC 970FX? His predecessor, the 0.13µ SOI PowerPC 970 was a pretty cool chip. It consumed about 42W at 1.8 GHz (1.3v). The newer 0.09µ SOI PowerPC 970FX CPU is reported to dissipate about 55-59W at 2.5 GHz. However, a few annotations must be made.First of all, IBM and Apple tend to increase the core voltage when running at higher clock speed. This makes the needed power increase more than linearly. For example, the 1.8 GHz PowerPC 970 consumed 42 Watt, but the 2 GHz version (both 0.13µ CPUs) needed 66 Watt.
Secondly, the TDP IBM talks about is typical , not maximum like AMD's.
Let us clarify this by checking IBM's and Apple's numbers. For the 90 nm, IBM's own documents tell us that the PowerPC 970FX only consumes 24.5 Watt at 2 GHz (1V). However, the same 0.09µ SOI PowerPC970FX is reported to consume about 55W at 2.3 GHz (1.1V?) in the Xserve, according to Apple's own website. Typically, you would expect the G5 to consume about 28 Watt (24.5 * 2.3 / 2) at 2.3 GHz, when using the 24.5 Watt at 2 GHz as a reference. Apple talks about "at most" (maximum), and IBM about "typical".
Still, that is a huge gap between "typical" and "maximum" power dissipation. The 55 Watt number seems to indicate that the core voltage must have been increased significantly at 2.3 GHz. The maximum power dissipation of the 2.5/2.7 GHz G5 inside the liquid-cooled PowerMacs might thus be quite a bit higher than in the 1U Xserve, probably around 80 Watt for the 2.7 GHz. That is a lot of power for a 66 mm² CPU, and it probably explains why Apple introduced liquid cooling. The liquid cooling system inside our PowerMac wouldn't get warm and wouldn't be necessary at all if the two 2.5 GHz CPUs were only dissipating a 59 Watt maximum.
116 Comments
View All Comments
Icehawk - Friday, June 3, 2005 - link
Interesting stuff. I'd like to see more data too. Mmm Solaris.Unfortunately the diagrams weren't labeled for the most part (in terms of "higher is better") making it difficult to determine the results.
And the whole not displaying on FF properly... come on.
NetMavrik - Friday, June 3, 2005 - link
You can say that again! NT shares a whole lot more than just similarites to VMS. There are entire structures that are copied straight from VMS. I think most people have forgotten or never knew what "NT" stood for anyway. Take VMS, increment each letter by one, and you get WNT! New Technology my a$$.Guspaz - Friday, June 3, 2005 - link
Good article. But I'd like to see it re-done with the optimal compiler per-platform, and I'd like to see PowerPC Linux used to confirm that OSX is the cause of the slow MySQL performance.melgross - Friday, June 3, 2005 - link
I was just thinking back about this and remembered something I've seenComputerworld has had articles over the past two years or so about companies who have gone to XServes. They are using them with Apache, SYbase or Oracle. I don't remember any complaints about performance.
Also Oracle itself went to XServes for its own datacenter. Do you think they would have done that if performance was bad? They even stated that the performance was very good.
Something here seems screwed up.
brownba - Friday, June 3, 2005 - link
johan, i always appreciate your articles.you've been /.'d !!!!
and anandtech is holding up well.
good job
bostrov - Friday, June 3, 2005 - link
Since so much effort went in to vector facilities and instruction sets ever since the P54 days, shouldn't "best effort" on each CPU be used (use the IBM compiler on G5 and the Intel compiler on x86) - by using gcc you're using an almost artifically bad compiler and there is no guarantee that gcc will provide equivilant optimizations for each platform anyway.I think it'd be very interesting to see an article with the very best available compilers on each platform running the benchmarks.
Incidently, intel C with the vector instruction sets disabled still does better.
JohanAnandtech - Friday, June 3, 2005 - link
bostrov: because the Intel compiler is superb at vectorizing code. I am testing x87 FPU and gcc, you are testing SSE-2 performance with the Intel compiler.JohanAnandtech - Friday, June 3, 2005 - link
minsctdp: A typo which happened during final proofread. All my original tables say 990 MB/s. Fixed now.bostrov - Friday, June 3, 2005 - link
My own results for flops 2.0: (compiled with Intel C 8.1, 3.2 Ghz Prescott with 160 Mhz - 5:4 ratio - FSB)flops20-c_prescott.exe
FLOPS C Program (Double Precision), V2.0 18 Dec 1992
Module Error RunTime MFLOPS
(usec)
1 1.7764e-013 0.0109 1288.7451
2 -1.4166e-013 0.0082 852.7242
3 8.1046e-015 0.0067 2531.7045
4 9.0483e-014 0.0052 2858.2062
5 -6.2061e-014 0.0140 2065.6650
6 3.3640e-014 0.0100 2906.2439
7 -5.7980e-012 0.0327 366.4559
8 3.7692e-014 0.0111 2700.8968
Iterations = 512000000
NullTime (usec) = 0.0000
MFLOPS(1) = 1088.7826
MFLOPS(2) = 854.7579
MFLOPS(3) = 1609.7508
MFLOPS(4) = 2753.5016
Why are the anandtech results so poor?
melgross - Friday, June 3, 2005 - link
I thought that GCC comes with Tiger. I have read Apple's own info, and it definitely mentions GCC 4. Perhaps that would help the vectorization process.Altivec is such an important part of the processor and the performance of the machine that I would like to see properly written code used to compare these machines.