> Each MMX register is 64 bits wide. Internally, the MMX registers were aliases of the x87 floating-point registers.
Due to the way the first Pentium 3 CPUs (Katmai) were built, they likewise aliased the x87 (and thus, MMX) registers to the XMM SSE registers, but this was hidden from programs. It wasn't until at least the Coppermine revision that they were separate registers again.
I remember hearing a rumour as a young teen that the Coppermine codename meant it actually had copper wiring and that's what made it faster somehow. Copper has lower resistance than aluminium and can therefore help chips run faster - it makes sense! But it was just a codename and the coppermine had aluminium interconnects.
My family got a PIII 533Mhz coppermine, in the early sideways Slot 1 configuration. Blazing fast at the time. Been a long time since I heard anyone say "coppermine".
CPU progress was wild in the 90s, where you could wait two years and your new CPU would be double the old one's speed at the same price point. Today it takes near a decade for CPU speed to double.
I also recall the first game that advertised its exciting use of the new MMX technology: POD.[1]
[1] https://en.wikipedia.org/wiki/POD_(video_game)
The one I've read is that Tualatin comes from "too late in" i.e. a model introduced too late in the process/architecture lifecycle to be profitable.
Copper interconnects might have been introduced around then, but I suspect the naming is more coincidental than anything.
I remember just after IBM got copper interconnects working, there was a stock market dive, I ranted to my partner about how crazy it is for a company to achieve a sought after goal and have its value decrease. The next day there was a news story about the entire market decline being stalled by the force of IBM buying back it's own shares. My partner told me I should rant less and invest more.
Haha, yeah the rumour came around at a time when there was real work going on with copper interconnects which just confused the situation, but the coppermine didn't use them.
(Code)named after https://en.wikipedia.org/wiki/Coppermine_River , apparently.
POD was pretty rad :) Thanks for the reminder of it (and all the MMX marketing around it.)
P3 Coppermine was 0.18 µm. P3 Tualatin was 0.13 µm with Cu and low-K.
So no, Coppermine had nothing to do with Cu in the process.
Wow, I never knew they actually did switch to copper on the next model. What a missed naming opportunity.
C-f "pod"
There it is :)
It makes it easier to save and restore state when it's basically the same registers used differently.
Yes. Which matters a lot when you cannot just update OS kernels willy-nilly (most people did not have Internet connectivity, Windows Update did not exist before Windows 98).
I got bitten by that one - I remember my 3d engine going all wrong because I hadn’t realized I couldn’t mix mmx and fpu registers unless I was willing to pay for the extraordinarily expensive EMMS (?) instruction
No, x87/MMX and SSE XMM were not aliased. They were two separate register files.
(You may be confusing it with XMM vs YMM vs ZMM, i.e. SSE vs AVX vs AVX512.)
It’s more likely they’re confusing it with 3DNow! (AMD’s own media extension focused on floating point math). That was strictly aliased and therefore an either/or situation on chips that had both.