SATURDAY APRIL 15, 2006 Find  

Home

About
Apple
Career
Experiences
General
Graphics
Hardware
History
Humor
Interface
Networking
OS
Opinion
Politics
Programming
Quotes
Reviews
Security
Software
Sound
Thought
Web



Cheap International
Airfare Online

Wachovia online banking
Get Free Coupons Online
Finding the perfect
discount hot tub

Payday Loans
Stock Trading Online
Stuffed Animals
Smart Investing Online

HomeHardwareProcessors
x86-64, IA64 or PPC-64
64 bit comes to the PC, and to the Mac?
     By: David K. Every
Kind:
Created:
Size:
Article
2003-03-14
11 KB
 
AMD is about to release their x86-64 implementation of the Opteron processor. This brings the PC (x86) into the 64 bit arena.

Technically, Intel is already there. They've had their IA64 Itanium chips (EPIC instruction set) on the market for years. But Intel has a really hard sell. While the IA64 has an emulation mode which will run IA32 apps, it isn't up to par with the current IA32 (x86) processors at the task of running 32 bit programs. So most people's aren't willing to pay the penalty on the majority of their apps, for the sake of the very few which will run "native" or full speed. Plus it is a big, expensive and hot chip.

AMD on the other hand is taking a different approach. Their x86-64 is much more 32 bit centric; it will run all the current apps as a best of breed 32 bit processor. But it also has this nice 64 bit mode, which is faster still and fixes a few of the problems with IA32 (the old Instruction Set for x86). It is also cheaper, simpler and more likely to be mainstreamed.

Now x86-64 doesn't really fix all the problems, or even most of the problems with x86. The most common is a really old and ugly instruction set that was mostly designed in the 1970's. It has issues like too few registers, a stack based Floating Point unit, weird addressing and legacy modes, and so on. And AMD wasn't going to change everything in one fell swoop - and make the new 64 bit mode feel like a completely different (and modern) processor. But they were able to update many of the worst areas, eliminate some of the oldest legacy modes, and double the register count for a Integers and their SIMD (MMX+SSE); all of which are good things, and nice improvement.

This will offer some modest, but probably not revolutionary, improvements.

There's been a trick called register renaming to help minimize the problems with being register starved. You can look it up on the web and learn more - basically it isn't as good as having enough registers, yet it works well enough for most users/cases. So doubling the real registers should give you a modest improvement.

Getting rid of legacy modes isn't really about speed - and is more about space and costs. You get to throw out junk that you aren't using often. That either gives you more space on the chip (to use for things that will help you make it go faster), or to just reduce its size (and thus cost to manufacture) and to reduce the power it uses and heat it expends. So this is all good for AMD and consumers; but isn't likely to change performance radically either.

So all the improvements will be just based on the core, and how much better they do. I suspect that x86-64 will be faster at 32 bit, but slightly slower at 64 bit than Intel's IA64. This really makes things messy in the PC arena. I think this is a better more evolutionary business approach, but it is hard to predict the PC market. I prefer AMD's business practices to Intel's, and often their technologies as well, and I like the concepts behind the x86-64 processor; but I'm not sure it's actually going to fly. And if it does it is going to be years after the Mac has moved to 64 bit, before it is common in the PC world - even if they start years sooner. Why is that?



In the PC arena change comes slowly. Market size is momentum, or a lack thereof; either way, the PC market is not very agile. If you were to come out with a great processor tomorrow, and if Microsoft were to adapt to it, it would still take many years for most apps to start adapting to those changes as well. Plus, x86-64 is a pretty radical change that is likely to impact many things. So most apps will run as legacy apps, and only a few will see the advantages.

In the PC world, there are many processor choices, and each processor model (let along family) has different things you want to do to optimize code. The results are that because of that breadth of choice, most people just choose mediocre optimization settings or don't put the effort in to optimize at all because things are so complex. So in most cases, PC apps aren't running at a fraction of the efficiencies they could if processors were standardized.

Now let's compare that to a PowerPC. The 64 bit extensions basically designed into the ISA from the start, and are not a very radical change to the way things are working. They're just turning on modes that had been planned 10+ years ago. In fact, the processor started as 64 bit, and was moved down to 32 for desktops, and is now just returning back. (There's a little more to it than that, in that some changes were made; but more or less true). And the internal tweaks to number of execution units and memory system will improve all apps. Furthermore there are fewer apps that need to move over to use the processor changes before it is cost effective; and Apple can do this much more easily than Microsoft (and Windows developers can).

Apple also controls the platform, and can move quickly to all PPC-64 based design. This motivates all the software developers to also optimize and adapt to that processor and use its advantages. What this means is that if Apple begins moving to PPC-64, they can probably get a significant change in their entire market in a year or two. Keep in mind that they won't start that change unless they are committed and it seems likely that they are. If the same thing is tried in the PC market, you can expect it to take at least three times as long, assuming that most players are behind that move to 64-bit on the desktop - and so far, there is not that consensus. Be it from developers of commercial desktop applications or OS companies like Microsoft.

So if both platforms started to move, and showed equal amounts of enthusiasm for the technology, the Mac would be ahead. But right now, the Mac stands more to gain from the change, is closer to making that change on the desktop, is more motivated, and since Apple is controlling the OS and platform, they are more able to make that change and bring 64-bit to the desktop much more quickly and effectively with less end-user confusion. There are still too many questions regarding a 64-bit desktop transition with respect to the PC.

To be a little more specific, Microsoft (and the market) is showing lackluster enthusiasm at best for 64-bit on desktops. The market is divided on not only if they should go to 64 bits, but if they do, which path to take. Intel has been trying to convince them that IA64 (their Itanium chips and EPIC instruction set) are the right way to go. But let's say that the market starts shifting, again, and momentum builds around AMD's x86-64. Historically, the way things have happened in the PC arena is that Intel won't go down without a fight. They don't want to change things because change means big costs; but when forced to change, Intel bullies everyone else.



If we look at what happened in the SIMD arena (with MMX and SSE and 3DNOW), and extrapolate past behaviors into future reactions, we can get a pretty good idea of how this is all going to come down. What happened with SIMD (and other Intel initiatives) is that they resisted change. When AMD added 3DNow (SIMD for Floating Point), Intel responded with their own incompatible version called SSE, and made the market adapt to them. This caused some chaos and slowed adoption, but it hurt AMD and eventually Intel won (and kept control of the platform).

What hurdles does X86-64 face? Intel is trying to slow it down, and push for their more proprietary and complex EPIC solutions - but that requires a complete change of the PC market as we know it; so it has been failing. Like Intel's past efforts at doing RISC, I don't expect EPIC to succeed. Because there's less change for PC developers to go to x86-64, it has a much better chance of success.

Later this year, we're going to have some AMD processors using x86-64 - and a few server developers might start using it. Most of this will be UNIX stuff, and not Windows or a 64-bit desktop version Windows, because Microsoft isn't horribly enthused about making changes for something that's going to affect a very small percentage of their market. In another year, a better generation will come along, and Microsoft may or may not have some support for the processor, and a few Apps might even start using it.

Then Intel responds. That's given Intel 2-3 years to develop their version of x86-64 - which will likely be incompatible with AMD's version to try to wrestle control back. Intel's will be better in some ways, worse in others - but in the end, they are the big boy on the block. Best case, Intel wrestles control after a year of indecision or confusion, worst case it takes a few years to fight it out before you get one standard. Either way, it will take years for the shake-down, and for people to either readapt to Intel's way (which isn't even announced yet), or for AMD to prove that they are now the leader, and for people to believe it, and start adopting it en masse. Most developers are going to take the traditional "wait and see" attitude that is common in the PC marketplace. So we won't see significant adoption until a couple years after that. Then it is going to take a while to spread out over all the platform choices, and for desktop applications to start using it; and so on.



If you care about 64 bit, we're probably going to see it significantly effecting the Mac market around 2004-2005, and in the PC market around 2008-2009. Not because of technological issues (though there are some of those), but mostly business and market issues. I'm a technology guy, I wish the technology was all there was. (Technology is much more clean and pure than politics and business markets). But if you don't understand business and markets in this industry, then you don't understand jack.

PC advocates will talk about how they had 64 bit first; but ignore that they did it poorly, it doesn't effect much, and will take forever to actually gain momentum. Mac users will likely be seeing any benefits from 64 bit computing, far sooner. In fact, the most likely way that you'll see 64 bit x86 adoption is if it comes from Apple in the form of OS X ported for AMD.

Don't get me wrong; I hope I'm wrong for the PC markets sake. I have no problems with AMD, and I like their x86-64 implementation. It would be great if this summer AMD was ruled the winner and the entire PC market adapted x86-64, and Intel licensed it, and there was no more war or world hunger, and dogs and cats could live together in peace; but I just don't see that happening.

Intel has little motivation to obviate themselves (their current market and market position); so they resist change and drag their feet on anything that is a risk to them. So most innovation is likely to come from without. But don't discount Intel, they are big and have a lot of money and talent, and can rally the troops when threatened; and x86-64 is a threat. I think it would be good for the PC industry if AMD was able to wrestle control from Intel. But right now the chances of success are less than 50/50 - and while the elephants are fighting, the mice (see application developers and PC users) had better be careful not to get trampled.

Format for Printing  Mail 

  About | Contacts | Privacy

Copyright 2003 DKE • All rights reserved • www.iGeek.comLegalese