Why can't Windows run natviely on PPC processors?

sindows

Golden Member
Dec 11, 2005
1,193
0
0
I have no idea how a processor actually works but what makes the PPC so much different from the processors that Intel and AMD produce?
 

sourceninja

Diamond Member
Mar 8, 2005
8,805
65
91
It's a 100% different design with it's own machine language. It even stories binary differently. Processors conform to a spec just like programing languages do. It's like asking why you can't compile a java program with a c++ compiler. Or why you can't put a semi truck engine in your volvo.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
Originally posted by: sindows
I have no idea how a processor actually works but what makes the PPC so much different from the processors that Intel and AMD produce?

Windows NT supported both the DEC Alpha and PPC back when it was first release. Support was dropped since the market didn't use it...
 

mmntech

Lifer
Sep 20, 2007
17,501
12
0
PowerPC isn't an x86 bases processor, which Windows is written for. It's a RISC processor that uses the Power architecture. It's mostly Linux and game consoles that uses Power now but OS X still supports it.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
you'd have to suspect it is due to poor quality re: Microsoft's development process

And your suspicions would be wrong. As bsobel said, NT supported Alpha, MIPS and PPC back in the 4.0 and earlier days. Win2K even had Alpha builds up until like beta 2 or so.

why can't they abstract key elements of the OS away from the underlying machine/ chip architecture?

They did, it's just not worth the money to build, test and maintain a PPC build of Windows.

edit: this short sightedness will come back to haunt microsoft, now that we are about to see a flood of ARM based netbooks hit the market (not to mention all the increasingly sophisticated ARM based smart phones) most of which will be running a version of linux (probably google's Android).

It's your short sightedness that's the problem since you can't even see 2 posts up where it's said that Windows did support other architectures in the past.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
Originally posted by: between
you'd have to suspect it is due to poor quality re: Microsoft's development process. why can't they abstract key elements of the OS away from the underlying machine/ chip architecture? compare with Apple - able to effortlessly port Mac os x from ppc to x86 in less than a year, and then port the same underlying code to the ARM chip in the iphone/ touch. Also look to linux, where versions are released for a fairly wide range of different types of chips. But apparently too difficult for Microsoft.

edit: this short sightedness will come back to haunt microsoft, now that we are about to see a flood of ARM based netbooks hit the market (not to mention all the increasingly sophisticated ARM based smart phones) most of which will be running a version of linux (probably google's Android).

Nothinman covered the relative points, I simply wanted to point out you clearly have no idea what your takling about and your bias is blatent.
 

slugg

Diamond Member
Feb 17, 2002
4,723
80
91
What's sad is the x86 is a terrible architecture. RISC, but more specifically, MIPS is leaps and bounds better. The only reason why we have x86 nowadays is for legacy support, in order to keep up with market demand.

Well designed software should be resilient to change and there shouldn't be any technical problem with porting everything to a new binary format. The fundamental problem is that the business guys must be convinced that the change is worth the money.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
What unpleasant responses from both you and Nothinman. You must be very unpleasant people, to make such uncivil responses to a stranger on a web forum.

Maybe you should try not making up statements without any factual basis or knowledge of the subject.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
Nevertheless, there is a sense it took microsoft a great deal of effort to support those architectures.

Not really, the code base had to be tested on all platforms and no customers bothered to actually buy it for anything other than x86 and Alpha. Learn some history and start knowing what your talkinga about.

If you want to see how to do things correctly, look to the early days of a company like Next, which was able to effortlessly port it's user interface layer to a wide range of different architectures.

You don't see the irony in using a failed company to try and prove your incorrect point?
 

postmortemIA

Diamond Member
Jul 11, 2006
7,721
40
91
Originally posted by: between
Originally posted by: slugg
Well designed software should be resilient to change and there shouldn't be any technical problem with porting everything to a new binary format.

Ah yes, thank you for your sane post. *Well designed* software should be resilient to change, and there shouldn't be any problem porting to a new architecture.

There's no market for Windows on PowerPC hardware. There's no even market for OSX for such hardware. What part of that you don't understand?
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
they've backed themselves into a corner and couldn't easily move to another architecture now anyway.

You're not actually reading any of the other posts are you?

even if they were prepared to spend the time and $$ to rewrite significant chunks of code to allow win 7 to run on say the ARM chip,

The only significant chunks of code that would need work is the drivers for the device, Windows itself is already mostly C and C++ so most of the work on the OS itself would be recompiling and build testing the results.
 

postmortemIA

Diamond Member
Jul 11, 2006
7,721
40
91
Originally posted by: between
Originally posted by: Nothinman
they've backed themselves into a corner and couldn't easily move to another architecture now anyway.

You're not actually reading any of the other posts are you?

you're talking ancient history. could microsoft, today, with relatively little effort, put out a desktop windows for a non x86 architecture? from what I've read, the answer is no.

Troll alert is needed here.
http://www.microsoft.com/downl...F4156D0&displaylang=en

No company tries to be everything for everybody. PPC market is simply of no interest for Microsoft.
 

slugg

Diamond Member
Feb 17, 2002
4,723
80
91
Originally posted by: between
Originally posted by: postmortemIA
Originally posted by: between
Originally posted by: Nothinman
they've backed themselves into a corner and couldn't easily move to another architecture now anyway.

You're not actually reading any of the other posts are you?

you're talking ancient history. could microsoft, today, with relatively little effort, put out a desktop windows for a non x86 architecture? from what I've read, the answer is no.

Troll alert is needed here.
http://www.microsoft.com/downl...F4156D0&displaylang=en

No company tries to be everything for everybody. PPC market is simply of no interest for Microsoft.

itanium is not a profit source for microsoft, but they won't kill that branch entirely, presumably because they want to keep intel happy. so they are willing to support non profitable architectures, for political reasons. the deeper question is why does it take so much effort for them to maintain support for a given architecture.

The amount of effort is relative. In Microsoft's case, the amount of effort in relation to the projected profits isn't significant enough for Microsoft to prioritize highly. I'm sure if Intel announced that x86 is dead and we'd be seeing MIPS chips soon, Microsoft would port over Windows in a heartbeat. I know for a fact that they could do it, and do it easily.

People tend to forget that Microsoft is a software giant. They have the resources to port over to a new platform if they really wanted to. They can do pretty much anything they want with software; it's just a matter of business.

Here's a good example. I'm writing code for Unix in C. I could write it using preprocessor macros and an extensive makefile in order to make the code cross-compile in Linux, Mac, Windows, and Unix, but I choose not to. I _COULD_ do that, it's more than possible, and I have more than enough skill to do it. I _DON'T_ do that because NASA will be running this code on Unix.

Microsoft DOESN'T package their software for PPC (not counting outdated Office versions for Mac) because for the most part, we'll be running it on x86 hardware.

Simple economics... Common sense... I don't know how else to put it.

edit: oh and to argue that Windows isn't well designed is pure nonsense.
 

ShawnD1

Lifer
May 24, 2003
15,987
2
81
Originally posted by: slugg
What's sad is the x86 is a terrible architecture.

Why would you assume this? Wintel PCs would regularly beat Apple computers in benchmarks time after time back when Apple still used PPC. There was even a scandal where Apple was caught posting fake benchmarks on their site that tried to compare the G5 to the Pentium 4 and people noticed that the Quake 3 scores were way lower than what any other hardware site was getting on the P4.

AMD Opteron destroys the G5
Pentium 3 beats the G4
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
you're talking ancient history. could microsoft, today, with relatively little effort, put out a desktop windows for a non x86 architecture? from what I've read, the answer is no.

I'd like to know what you've been reading because it sure sounds like it was written by the Slashdot crowd...

itanium is not a profit source for microsoft, but they won't kill that branch entirely, presumably because they want to keep intel happy. so they are willing to support non profitable architectures, for political reasons. the deeper question is why does it take so much effort for them to maintain support for a given architecture.

The reasoning behind maintaining Itanic are irrelevant, the fact remains that they can and do maintain a non-x86 port of Windows. How do you know how much money they're making/losing from the Itanic port of Windows or how much effort it takes to maintain? Do you actually have numbers that you're not sharing?

Why would you assume this?

Performance isn't the only thing you have to look at. The assembly language itself is pretty ugly with all kinds of extensions tacked on over the years and they're not even applied evenly. The lack of GPRs is also terrible and isn't something that can be fixed easily because everyone will just compile their code for the lowest common denominator leaving the added GPRs unused. AMD64 helps that out by adding GPRs as part of the 64-bit extensions but they're only used when in long mode.
 

ShawnD1

Lifer
May 24, 2003
15,987
2
81
Why would you assume this?

Performance isn't the only thing you have to look at. The assembly language itself is pretty ugly with all kinds of extensions tacked on over the years and they're not even applied evenly. The lack of GPRs is also terrible and isn't something that can be fixed easily because everyone will just compile their code for the lowest common denominator leaving the added GPRs unused. AMD64 helps that out by adding GPRs as part of the 64-bit extensions but they're only used when in long mode.
But how many people really need to deal with assembly? Programmers can write entire software suites in a higher language like C without dealing with assembly. As long as I don't need to write a compiler for x86, I don't really care how sloppy those instructions are. When we get to a point where x86's performance is lagging way behind some other architecture simply because it's too hard to write an effective compiler, that's the point where I would say the architecture is severely flawed.


you're talking ancient history. could microsoft, today, with relatively little effort, put out a desktop windows for a non x86 architecture? from what I've read, the answer is no.
Why not? They already support Windows on high end cellular phones. The Motorola Q uses an ARM processor but it runs Windows mobile.

Windows Mobile
"Windows Mobile is a compact operating system combined with a suite of basic applications for mobile devices based on the Microsoft Win32 API."

Another one is the operating system they put on the Xbox 360. The 360 has a PPC processor and it uses "many of the same APIs found in Win32 (e.g. CreateThread or WaitForSingleObject)"
http://blogs.msdn.com/xboxteam...2006/02/17/534421.aspx
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
But how many people really need to deal with assembly? Programmers can write entire software suites in a higher language like C without dealing with assembly. As long as I don't need to write a compiler for x86, I don't really care how sloppy those instructions are

But when comparing one CPU to another the instruction set, amount of GPRs, cache, etc all need to be considered. No, most users will never even think about those things but they're still important aspects of the CPU.

When we get to a point where x86's performance is lagging way behind some other architecture simply because it's too hard to write an effective compiler, that's the point where I would say the architecture is severely flawed.

Frankly I don't think writing a compiler for any architecture is going to be easy, but there's a reason that a lot of schools teach assembly on MIPS isntead of x86.
 

ViRGE

Elite Member, Moderator Emeritus
Oct 9, 1999
31,516
167
106
Originally posted by: Nothinman
But when comparing one CPU to another the instruction set, amount of GPRs, cache, etc all need to be considered. No, most users will never even think about those things but they're still important aspects of the CPU.
Yeah, there's no getting around the fact that it's an ugly, ugly instruction set. But so long as the performance is there (which is pretty much thanks to the actual chip design being nothing like the instruction set) and the instruction set isn't straight-up stifling people (there seems to be plenty of x86 gurus to go around) I don't think anyone outside of the tech circles like these ones will really care.
 

slugg

Diamond Member
Feb 17, 2002
4,723
80
91
Originally posted by: ShawnD1
Originally posted by: slugg
What's sad is the x86 is a terrible architecture.

Why would you assume this? Wintel PCs would regularly beat Apple computers in benchmarks time after time back when Apple still used PPC. There was even a scandal where Apple was caught posting fake benchmarks on their site that tried to compare the G5 to the Pentium 4 and people noticed that the Quake 3 scores were way lower than what any other hardware site was getting on the P4.

AMD Opteron destroys the G5
Pentium 3 beats the G4

I never said that RISC chips are/were faster. They can be, depending on the application. The reason why x86 benchmarked higher than the PowerPC wasn't that RISC is inferior to x86, but because the specific implementation, PowerPC, was behind (similar to how Intel chips slightly outperform equivalent AMD chips right now). Not only that, but RISC is more dependent on the software's implementation than x86 is.

Specifically, MIPS promotes a high amount of parallelism. Simply, x86 cannot keep up with the multi-pipelining ability of a MIPS ISA. Unfortunately, in order to achieve this peek performance, the MIPS chip must be executing optimized code. Basically, the developer of whatever software is running has to write the code in a way that will allow the compiler to maximize pipelining. So theoretically, a poor written program could starve resources on the CPU and force the entire program to run slowly.

With MIPS, the transistor requirements are much lower, thus lower power requirements, thus lower heat, thus higher reliability. Since multi-threaded programming is required in order to take advantage of the MIPS architecture, multi-core systems are even more practical than x86 since all software targeted for MIPS should be thread and pipeline friendly. With more cores, we increase the throughput-to-power ratio and it eventually becomes linear. Current x86 models are quadratic.

So the main issue regarding x86 versus MIPS is the software, really. The hardware technology is definitely there - it's just not into mass production due to demand.

That being said, MIPS is just one kind of RISC ISA. There are many possibilities :)