AMD's x86-64 Moves Forward
MBCook writes "AMD Hammer line is definatly moving forward. The Inquirer has a supposidly leaked memo from MS saying that they have working x86-64 silicon that runs both 32 and 64-bit Win XP. Van's Hardware is reporting that MS is backing x86-64 over Intel's IA-64, and that MS has apparently convinced Intel to move to x86-64! There is an article over at Ace's Hardware from CeBIT that includes some coverage of AMD's Hammer line (including its NUMA). Last but not least is News.com's report that MS is preparing Windows to support NUMA." And it looks like the line will be named Opteron.
I find it highly unlikely that _anyone_ could convince Intel (or any company, for that matter) to switch to a competitors architecture. Hammer will remain at AMD and IA-64 will stay on course with Intel. I'd need to hear it directly from both BODs to believe otherwise. Then again... I've been wrong before. :)
Well, who knows, maybe this is the Big Crack in the Wintel monolith that we've all been waiting for. It will be ironic if AMD turns out to be Microsoft's best buddy and Intel ends up as the chipmaker of choice for Linux users, though ... Of course, it wouldn't be the first time Microsoft has suddenly parted company with an industry giant when it looked convenient for them.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
Microsoft is holding back the industry
And I'm sure it has nothing to do with the fact that every man, woman, child and manager on the earth doesn't want to re-purchase every piece of software and hardware they own.
It makes perfect sense though...
Everybody knew Intel wanted to introduce a new instruction set with the Itanium and retire the x86 instruction set for good. It was a noble effort on Intel's part.
AMD saw an oppurtunity. They knew that software development is slow and painful, and porting software form one architecture to another (especially when you never planed for it in the first place) is a long agonizing process. Most windows software is written for x86 32, there is a lot of it, and even with good tools it would take a long time to port everything to IA64. So, AMD did the next best thing and built 64bit extensions on top of the x86 instruction set (still some work to do, but a lot less).
Microsoft of course, not being in this for the higher noble cause, realizs that it is cheaper, quicker, and easier to just extend their tools to use the x86+64 instruction set rather than redoing everything in IA64.
Now, Microsoft, having the power it has tells Intel they don't want to port to the IA64. Intel panics, Microsoft gets its way (again), and we have yet another example of how Microsoft has too much power (when they can strongarm Intel like this, things have gone WAY too far).
Just another day in cyberspace...
I can't say what's correct myself, but I think you may be jumping to conclusions.
The Alpha proved that the MARKET is not ready for a non-backwards compatible chip.
It's not what I want, it's not what you want, it's what the MARKET wants. I know. I used to work at DEC/Compaq and API. The market drives technology, not the other way around.
If you read about the architectures, you'll see that when you compare x86, x86-64, IA-64, and Alpha, that -technically-, the Alpha was the best. However, it's applications that call the shots. x86 might not be as "elegant" solution as IA-64, but it allows easy migration to 64-bit computing without the expense of moving to a totally different architecture. It's a low risk solution. You can convince your boss to update your servers to these new fast AMD systems and run your apps as is, then be a hero when you migrate some big database to use 64-bit addressing and memory management without buying a new server!
I fully expect to see Clawhammer-based motherboards and CPU's at around $300 or so LONG before you'll see IA-64 at that price point. That alone will push x86-64 from the ground up.
(And because of architectures like Alpha, Linux will be ready to roll, fully 64-bit) Not to mention laptops running on Clawhammer!
What's my Karma Mr. Burns? "Excellent"
Dear God! How fucking lame!
Another hacked on extention to the same old architecture that we've been using since the 4004 and 8080 (no, seriously). The basic 8-bit core, the bizarrely segmented registers, the warped-ass extentions, and the CISC instruction set... it all makes me sick. Not to mention that we're still using a fucking BIOS.
Have you ever used something with OpenBoot? It's incredibly nice.
But no, we're still using a system that's basically an overglorified 386DX.
Despite the speed hit, the IA64 architecture was a step in the right direction. A big step. In this case, AMD is going to be setting the industry back.
Dragging people kicking and screaming into reality since 1996.
"why would they support x86-64 OVER IA-64? "
Because if you knew anything aboutr processors, you'd realise that itanic is a turkey.
I'm out of my tree just now but please feel free to leave a banana.
When the 8086 processor debuted it was by far an inferior processor to both the Zilog Z8000 and the Motorola 68000. It wound up dominating the market place for several reasons.
1. Software - the 8086 had a leg up on everyone because it had a translator which allowed the thousands of CP/M applications to be ported to it easily. The killer ap at the time was WordStar.
2. The 8086, and in particular the 8088, were less expensive to build machines around.
3. The 68000 and the Z8000 were comparatively elegant and beautiful designs; the 8086 was strong and ugly. Pick Mike Tyson over Cindy Crawford in a fight. Intel was able to turn marketing from a engineering and software beauty contest into a fight - and it came out on top.
Today the shoe is on the other foot.
1. The Opteron does a much better job of running 32 bit aps than either Merced or Mckinley - similar to advantage 1 above.
2. The Amd processor will be a lot less expensive to build for - reason number 2 above.
3. The Intel processor has the beautiful new architecture - the Opteron the good old strong and ugly one.
The only way Intel is going to come out on top this time is to make an even stronger and uglier 64 bit version of the X86; something which looks like a 64 bit version of the current Pentium 4 - ridiculous pipeline for super high clock speeds etc.
Right now things don't look very good for Intel.
8 bits?! Why 8 bits? You make it sounds like this is atomic, when it's not. At all. If you're going to go for the theoretical minimum, go for 1 bit. The CM-1 used 1 bit processors, and could do everything. But why 8 bit?! That's sort of whack.
A) consolidate in c-structs? Programmer laziness?
Don't bash the programmer, at all. That's just cruel. The programmer shouldn't have to. That's the compiler's job. However, that can often slow down the code, when it has to mask all the bits, op, then mask all the bits again. So, just using one word for a boolean makes sense. Surely, though, a compiler could do what it wans.
B) Constants get loaded into a different segment than the code, so they won't be in the code, most likely. Unless they're ints or somesuch, in which case you can just use an add-immediate to move them in, and in almost all cases (as you YOURSELF very specifically state) they won't take up more than one immediate.
C) "a++ looks scary"? Umm, a++ will still take one operation (add $rx, $rx, 1). What are you even talking about? Not to mention that compilers optimize.
D) You can still have 32 bit data values in a 64 bit computer by loading the words from memory differently, so don't think that suddenly EVERYTHING has to be in memory as a 64 bit value just because your architecture is that.
E) On a 32 bit architecture (at least, real ones), the 4 gig memory limit (2 on certain ones, e.g. MIPS) is per process, not per system. Thus, you can have many processors, each of which have 4 gigs of memory allocated and using running on a computer with 512K of memory. It would be slow, but that's the beauty of software.
So what you have is a SIMD processor, that can work on 16 8-bit operands at the same time (same opeartion, parallel data). The MMX/SSe ALU is 8-bit wide, not 128bits!!!!
The original post asked for wider buses like game consoles. Are you under the impression that game boxes are multiplying 128-bit long numbers together? No. They're working on little pixels and single-precision floating point coordinates.
Very few people need 64-bit integers for math, either. As I said, the big deal is longer address pointers.
Then again most people here have no frigging idea about CPU design, and they speak from their asses.
Rest assured, I know plenty about CPU design.
I've been working with Alphas for scientific computation. I'm not really aware that their 64-bitness has helped us in any way besides the huge address space. That said, other aspects of the Alpha are wonderful and glorius.
Actually, there is another benefit to 64 bit cpus: punishing programmers who make *stupid* assumptions about pointers =-).
-Paul Komarek