chrisv said:
I don't believe the "old" cross-licenses extended to these new
features, though. For example when Intel added MMX, AMD responded
with a different solution (3D-now). AMD finally adapted SSE, of
course, but lagged Intel by a generation.
You're probably thinking of 3DNow vs. SSE; 3DNow wasn't competing
against MMX. MMX was unique in that both Intel and AMD introduced MMX
at the exact same time. MMX was the distinguishing feature of its
Pentium MMX processor, vs. Pentium classic. MMX was the distinguishing
feature of its K6 processor vs. K5. Even old Cyrix came out with MMX on
its 6x86 and M6 processor cores a few months later.
Intel deliberately licensed MMX to its competitors simultaneously
because it wanted MMX to become widely distributed; there were rumours
prior to that that both Cyrix and AMD were developing their own
incompatible SIMD instruction sets in parallel with Intel; so Intel
licensed their software interfaces to the competitors so that they can
all remain compatible. It was a purely for-the-good-of-the-industry
type of decision. I'll grant that's very unusual for Intel.
But I think back then Intel was licensing the extensions as they were
being developed. Not long afterwards, they came to a wide-ranging
cross-license agreement with AMD. That was the agreement where AMD
agreed to stop using Intel buses in exchange for being granted full
rights to all future extensions to x86. Of course that cuts both ways,
so when AMD developed extensions to x86, Intel immediately got access
to it. Also when AMD developed its own point-to-point bus, Intel had no
access to it.
As for 3DNow!, if you'll recall that was a floating-point SIMD, whereas
MMX was an integer SIMD. 3DNow! was actually built on top of MMX, using
the exact same register set (i.e. same as the x87 FPU). It was also
very cleverly leveraging the x87's existing support to make for a very
backward-compatible extension which required no modifications to
operating systems at all. Support for SSE required some rewrites of the
OS kernel.
Suddenly AMD is at the same version SSE as Intel, and Intel is using
AMD 64-bit extensions. So I'm thinking they negotiated the trade I
mentioned.
Yeah, I think that all came about after the big cross-license
agreement. AMD didn't have support for SSE right away because it was
trying to get their own 3DNow! accepted, so it didn't want to dilute
its 3DNow message. I believe it was expecting to win the original Xbox
contract to turn 3DNow into a defacto standard. Once you have millions
of video game consoles running that instruction set, it'll flow back to
PCs which may get versions of the games later on. Of course, Intel won
that contract, and soon after AMD adopted SSE as well. And Xbox never
took off or was as influential as originally thought, and there wasn't
any real flow back and forth between PCs and Xboxes.
Yousuf Khan