Despite the trash talking between Intel and AMD
about their 64-bit x86 processor architectures, the chips
are “almost, but not quite, identical,” according to a new research report.
An independent analysis released last week by In-Stat/MDR even discovered a
few differences that even AMD and Intel were unaware of. The report shows
that near-100 percent software compatibility is possible, but in some cases,
programs written for one 64-bit architecture may not run properly on the
other 64-bit architecture.
“Despite the differences, Intel clearly derived its 64-bit architecture
by reading AMD’s pre-release documentation for AMD64 and by testing AMD64
processors,” Tom Halfhill, a senior editor with In-Stat/MDR’s Microprocessor
Report said in a statement.
Memory-addressing schemes and many other architectural features, such as data-addressing modes, context-switching behavior, interrupt handling, and support for existing 16- and 32-bit x86 execution modes were also compared. In every case, Intel had patterned its
64-bit x86 architecture after AMD64 in almost every detail.
Representatives with Intel and AMD were not immediately available for
comment.
“We found nothing to contradict Intel’s promise that its 64-bit x86
processors will run the 64-bit operating systems developed for AMD64,”
Halfhill said. “At the same time, Intel’s reluctance to make a blanket
guarantee about mutual 64-bit software compatibility is justified by the
minor differences we discovered. Of course, that’s always the case when
Intel or AMD introduces new x86 extensions-such as Intel’s SSE3 media
extensions, which aren’t yet supported by AMD.”
While both Silicon Valley-based companies compete head-to-head in the
32-bit space, it wasn’t until Intel revealed that it would produce 64-bit software extensions for its
Pentium and Xeon processor family that 64-bit really turned into a real
horse race.
Whereas AMD had released its 64-bit Opteron and Athlon64
products back in 2003, Intel publicly remained firm on its 64-bit EPIC
architecture Itanium platform. During the announcement in January, Intel CEO
Craig Barrett said overall, software should be able to run on either
x86-based architecture.
“The software will run on both systems for the most part. There will be
some different things that our chips will have, but we’ll make sure that
people can write for it,” Barrett told attendees at Intel’s Developer Forum
at the time.
Some of the differences could be resolved in future 64-bit x86
processors, or even in future steppings of the x86 processors already on the
market, Halfhill said. In other cases, software could easily adapt to the
differences by executing slightly different code, after first probing the
CPU to learn which 64-bit extensions it supports.
“Intel’s reverse-engineering of AMD64 marks a major turning point in the
historical relationship between the companies,” says Halfhill. “Although AMD
has in the past introduced some innovations to the x86 architecture — the
3DNow multimedia extensions being a prime example — this is the first time AMD
has truly steered the direction of the world’s most important microprocessor
architecture, which Intel invented in 1978 and has closely guarded for 26
years.”
AMD was first to jump on this by marketing AMD64 as its version of x86
architecture running on 64-bits (generically known as x86-64) for its
Opteron and Athlon processors. Intel has taken a different path, picking
Intel Extended Memory 64 Technology — or Intel EM64T — as its moniker for
its 64-bit extension technology (previously code-named Clackamas Technology
or “CT”).
Both the Opteron and Athlon 64 boast 64-bit data and address paths and
breakthrough current 32-bit CPUs’ 4GB memory addressing cap with 40-bit
physical (up to 1 terabyte) and 48-bit virtual (up to 256 terabytes) memory
addressing space. The Opteron also supports three HyperTransport links,
providing up to 19.2GB/sec of bandwidth, versus the Athlon 64’s single
HyperTransport link for 6.4GB/sec of data transfer.
In terms of architectural changes, the most noticeable is the Opteron’s
integrated memory controller — a 128-bit, dual-channel design supporting
DDR266 and DDR333 SDRAM.
Both the Opteron’s memory controller and the Athlon
64’s — a single 72-bit channel — take that job away from its traditional
place in the system chipset’s external Northbridge, greatly reducing the
latency of read/write requests. This essentially controls the system at, or
yields a front-side bus speed matching, the clock speed of the CPU.
This year, a 0.13-micron-process silicon-on-insulator Opteron — a
90-nanometer-process successor — will arrive. That chip will feature two more
pipeline stages than AMD’s Athlon XP; instructions-per-clock-cycle boosters
such as enhanced branch-prediction algorithms and larger translation
look-aside buffers; support for the SSE2 streaming multimedia instructions
that debuted in Intel’s Pentium 4; and up to 1MB of Level 2 cache, all in a
new, plus-sized processor die or 940-pin ceramic package. (The Athlon 64
will use a different 754-pin socket.)
Intel said its EM64T will be included in its upcoming single-processor
and dual-processor IA32 server and workstation products (code named Prescott
and Nocona). The company said it will bundle several features into these
chips including its Hyper-Threading technology, PCI Express, DDR2 support,
enhanced power management, SSE3 instructions, high-definition audio, faster
bus speeds, faster frequencies, enhanced security (LaGrande) and
virtualization (Vanderpool) technologies.
In separate announcements, both Intel and AMD released software tools
that would let developers optimize their software
Intel said version 8.0 of its Fortran Compiler, Professional Edition, for
Windows is now available. The software includes the Intel Visual Fortran Compiler, Array Visualizer, Code Coverage Tool, Test
Prioritization Tool and the Debugger.
Meanwhile, AMD announced the free availability of its AMD Core Math Library (ACML)
version 2.0, an advanced tool co-developed with the Numerical Algorithms
Group (NAG). The software tool helps developers increase
performance of Basic Linear Algebra Subroutines (BLAS) and Fast Fourier
Transform (FFT) routines from version 1.5.