View Full Version : Start Up Goal: Run Software on Any Chip
MacRumors
Jul 11, 2003, 04:33 PM
The Mercury News (http://www.bayarea.com/mld/mercurynews/6280147.htm) reports on a startup with some interesting technology:
In 1995, company founder Alasdair Rawsthorne began working on software to translate binary code on the fly so that it could run speedily on any chip architecture. He teamed with fellow researchers at England's University of Manchester in 2000 to create Transitive.
The solution is described seems to be a software-only solution -- that according to the article only takes about 600k of memory and reaches about 70% of the native speed of the "emulated" processor. The article makes it a point to distinguish from emulation and describes it as "dynamic translation".
Reportedly, the company has found an unnamed "major" customer. Obviously, Apple is mentioned, but the article also notes that Hewlett-Packard has a major need for shifting from one architecture to another over the next few years.
sharky2313
Jul 11, 2003, 04:36 PM
This could be really big. I think some investigative research should be conducted ASAP
Vlade
Jul 11, 2003, 04:40 PM
Thats AWESOME! When I buy my PC soon (for porting a OpenGL game) I won't feel as bad, at least it will be a mac someday (maybe).
:D
G4scott
Jul 11, 2003, 04:45 PM
I could see 2 different uses with it for Apple.
1.) Go with Marklar (or whatever it's called), and use this to allow mac programs to run on the x86 architecture, or...
2.) Stick with the PPC architecture (IBM just built a 3 billion fab, with Apple in mind as a major customer...) and have this as a solution for running all of your PC software on your Mac. With the processing power of the G5, I don't think you will see much of a slow down, even with many PC games, such as counter strike...
This could be a way for Apple to strike at micro$oft...
"That's ok, you don't have to continue IE development for the Mac, because we're already using your latest version for windoze, on our G5's!"
Of course, if Apple does use it, we will probably have to wait until 10.4 to see it in action, but even then, it should be available before longhorn... I'll just add this to my OS X 10.4 feature wishlist...
Alexander
Jul 11, 2003, 04:49 PM
I've said it before, and I'll say it again.
Macs gaining the ability to near-seamlessly run Windows software at near full speed is a BAD thing.
Why? Because then companies will see no reason to write Mac versions of software.
No Mac software, no Macs.
Of course, with Apple killing 3rd party software left and right, who knows? ;) (Note that I don't think this is necessarily a bad thing -- there's a reason people are adopting the Apple software: it rocks.)
Also worth considering is that Macs are fast becoming UNIX boxes.
Abstract
Jul 11, 2003, 04:57 PM
I don't know. I was all hyped up about it, but Alexander made a good point, I think. I'd rather have an official Mac version of software than this..........thing.
Megaquad
Jul 11, 2003, 04:59 PM
I've been imagining something like this for a while.
Perhaps some sort of 'card' that would hold CPU used for translating code so that speed is 100% as on native platform isn't a bad idea? :)
I say its about time to bring OS X to PC's!
It will increase market share, and if implemented bad enough, make people buy Macs!
hvfsl
Jul 11, 2003, 05:05 PM
Originally posted by Alexander
I've said it before, and I'll say it again.
Macs gaining the ability to near-seamlessly run Windows software at near full speed is a BAD thing.
Why? Because then companies will see no reason to write Mac versions of software.
No Mac software, no Macs.
That is not true since in the 3dfx time, people could run all PC games on Macs without slow down and it did not kill the mac gaming market. That is the time the Mac game market started to take off. People will still develop for the Mac as long as people still buy Macs. This is because the programs will run much faster on PPC when optimised for it. Anyway we all buy Macs for the OS because it is better than Windows.
Anyway this would not be the use for it. If it was used by Apple, it would be used in Marklar to run PPC apps on an x86 version of Mac OS.
But what I want it for is to run Mac OS X on my PC. All the apps I need are already on the Mac (expect for some games). I heard about this a few years ago, but I expect something will happen to stop someone releasing it to the public. TransMeta was meant to release a chip that could run x86 and PPC code, but they did not in the end because of problems from Apple.
pianojoe
Jul 11, 2003, 05:10 PM
Originally posted by G4scott
This could be a way for Apple to strike at micro$oft...
"That's ok, you don't have to continue IE development for the Mac, because we're already using your latest version for windoze, on our G5's!"
Of course, if Apple does use it, we will probably have to wait until 10.4 to see it in action, but even then, it should be available before longhorn... I'll just add this to my OS X 10.4 feature wishlist...
Talking about longhorn... running IE for Windows requires Windows to be running on your G5. And the issues that crash a Windows PC will also be translated realtime ;-)
johnnyastro
Jul 11, 2003, 05:31 PM
The Amiga company has been doing this for a while now...
http://www.amiga-anywhere.com/
strider42
Jul 11, 2003, 05:32 PM
Originally posted by hvfsl
That is not true since in the 3dfx time, people could run all PC games on Macs without slow down and it did not kill the mac gaming market. That is the time the Mac game market started to take off. People will still develop for the Mac as long as people still buy Macs. This is because the programs will run much faster on PPC when optimised for it. Anyway we all buy Macs for the OS because it is better than Windows.
Anyway this would not be the use for it. If it was used by Apple, it would be used in Marklar to run PPC apps on an x86 version of Mac OS.
But what I want it for is to run Mac OS X on my PC. All the apps I need are already on the Mac (expect for some games). I heard about this a few years ago, but I expect something will happen to stop someone releasing it to the public. TransMeta was meant to release a chip that could run x86 and PPC code, but they did not in the end because of problems from Apple.
Since when could people use a mac to run a PC game? Its impossible without emulation, which is a lot slower than native. Am I missing something or misinterpreting what you said.
You may want OS X on your PC, but apple sure has heck doesn't. If apple ever does release markler, it will probablys still be on proprietary hardware just as it is now, since thats how they make their money. the advent of the G5 makes the argument for going x86 weaker.
I don't know that transmeta was ever makign such a chip, and if they were, i'm not sure apple would have cared. having a powerPC compatible chip doesn't mean it can run OS X. I can go out and buy generic PPC logic boards quite easily, but they won't run a scrap of mac software because of the hardware rom.
fpnc
Jul 11, 2003, 05:56 PM
"...and reaches about 70% of the native speed of the "emulated" processor."
Don't believe it. This is just snake oil and marketing. This is probably akin to those press announcements where a company says that it has developed new compression software than can reduce the size of any file to only 512 bytes or less. Well, these guys may not be that shady, but I'll believe it when I see it. Note also that the news article says that they do this translation dynamically, so I assume that they just aren't running a program that converts one instruction architecture to another (a one time, static conversion that would be something like a recompilation). In any case, a technique like that wouldn't work unless you emulated the entire hardware and software environment (cpu, i/o, OS, etc.).
There is absolutely no way that a software emulator is going to give you 70% of the native speed unless it is just rerunning code that has already been translated into the host instruction architecture. Stuff like this has been done before. In fact VirtualPC uses similar techniques by caching previously translated code segments (and we all know how slow VirtualPC can be). The problem is that unless you just sit running in the same loop over and over again you aren't going to achieve anything near the "true" speed of the emulated processor. So, you can probably forget about running PC games at anything near the performance that you would have on x86 hardware. The only exception to this rule is if you have a host that is __much__ faster than what you are trying to emulate. So, if the host hardware is 10 times faster than what you're trying to emulate then yes you can easily reach the performance of the slower hardware.
bobindashadows
Jul 11, 2003, 06:10 PM
As long as this has the ability to translate WIN calls to Mac calls, that's fine. Unfortunately, that may increase the size of it a bit. Translating assembly isn't nearly as hard as translating assembly as well as translating the interface calls and such. At least it seems like it.
freundt
Jul 11, 2003, 06:14 PM
It doesn;t seem likely... too many hardware specific calls need to be emulated. Not to mention hardware peripherals like PCI cards, video cards, etc. While there are hardware abstraction layers, those layers do make depend on the underlying hardware. i dunno, I am not a techie.
MisterMe
Jul 11, 2003, 06:26 PM
Originally posted by strider42
Since when could people use a mac to run a PC game? Its impossible without emulation, which is a lot slower than native. Am I missing something or misinterpreting what you said.True, but 70% native speed might not be that bad.
Originally posted by strider42
You may want OS X on your PC, but apple sure has heck doesn't. If apple ever does release markler, it will probablys still be on proprietary hardware just as it is now, since thats how they make their money. the advent of the G5 makes the argument for going x86 weaker.You make a common mistake about Intel hardware. It is not cheaper because it has an Intel processor. In fact many Intel chips are quite expensive. Cheap Intel-based computers are cheap for three reasons. The first is that most of the R&D costs are shared by a large number of vendors. For instance a few companies make the BIOS. A few others develop and manufacture the motherboard. You get the idea. The second reason is that the low-cost vendors often use very cheap parts. AlienWare uses all industry-standard parts, but its computers are expensive because its industry-standard parts are high-quality. The third reason is one that most Wintel users (and Mac users) are not aware of. Wintel computers are cheap for the same reason that your local daily newspaper does not cost as much as a book. The reason is advertising. IIRC, every icon placed on the desktop of your Wintel computer represents $70 to its vendor. Just like commercial television, radio, magazines, and newspapers, you are not the customer. You are the product.
An Intel-based computer that cannot not run Windows will be expensive to engineer. Don't forget that all of Apple/NeXT's experience with Intel hardware is on standard PC-compatibles. A proprietary design would require sacrifice of that experience. In the end, proprietary Intel-based Macintosh computers would be more expensive than PPC machines, not cheaper.
Originally posted by strider42
I don't know that transmeta was ever makign such a chip, and if they were, i'm not sure apple would have cared. having a powerPC compatible chip doesn't mean it can run OS X. I can go out and buy generic PPC logic boards quite easily, but they won't run a scrap of mac software because of the hardware rom. Apple hasn't used the hardware ROM that you have in mind since 1998. Since then, MacOS 8.x and 9.x required a ROM in RAM software file. MacOS X requires no such file. Darwin/PPC, the foundation of MacOS X, is targeted to CHRP/Open Firmware. These are open standards. AFAIK, the only reason that you cannot run MacOS X on any CHRP/OF PPC computer is that it violates Apple's license agreement. This is a legal prohibition, not a technical one.
FWIW, I have always felt that we will see MacOS X on non-Apple hardware. However, it won't be on $499 Wal-mart specials. Apple should go up-market. It would be a major coup to port MacOS X to IBM/PPC, Sun, and SGI. Such a strategy would benefit both sides: (1) Apple would gain the halo of having its OS run the most respected hardware in the world. (2) Users of these non-Apple computers would gain access to commercial MacOS X software.
elmimmo
Jul 11, 2003, 06:45 PM
Hyperhyped science-fiction. I'll eat my words when I see it.
munki
Jul 11, 2003, 06:49 PM
The article wasn't big on the technical details, so I'm not really sure how much of an issue endian-ness is, although I'm guessing it is one. X86 chips are little endian, and, although PowerPC chips are bi-endian, they have to be, IIRC, initialized at startup for one order or the other. Further, Apple chose big-endian for the mac.
The endian-switching is the biggest reason why something like VirtualPC runs as slow as it does (I haven't used it in a while, but I'm guessing Connectix didn't make any quantum leaps with it, either). As a side note, it used to be (may still, for all I know) that when you let the About VirtualPC box scroll through all the credits, it would eventually say, "We hate little endian."
I understand that what's going on is the translation of binary instruction, not emulation of a particular architecture, but no matter what, you still need to feed the processor the bytes in the order it wants. In other words, if you're translating an instruction that says 'hey, do x with y data', if the byte order of that data has to be switched, you'll still see a significant performance hit, and you won't get that 70% performance figure.
Personally, I think some of this research is interesting, but not really going to make a whole hell of a lot of difference in the long run.
Finally, if I screwed any information up, please correct me. I'm not really that knowledgable about this stuff (if that wasn't readily apparent).
pyrotoaster
Jul 11, 2003, 07:13 PM
I think there's one obvious option for Apple here: buy out Alasdair Rawsthorne's code.
It would be a huge business coup if Apple gained control of this software. Since a massive majority of Apple's profit is from hardware, this code could be used (very carefully, mind you) to increase the software selection for the Mac OS.
Keep in mind though, there's a loss of speed. This code could be used to make new software available, but it'd be slow compared to software written for the desired OS.
Originally posted by G4scott
I could see 2 different uses with it for Apple.
1.) Go with Marklar (or whatever it's called), and use this to allow mac programs to run on the x86 architecture, or...
2.) Stick with the PPC architecture (IBM just built a 3 billion fab, with Apple in mind as a major customer...) and have this as a solution for running all of your PC software on your Mac. With the processing power of the G5, I don't think you will see much of a slow down, even with many PC games, such as counter strike...
This could be a way for Apple to strike at micro$oft...
"That's ok, you don't have to continue IE development for the Mac, because we're already using your latest version for windoze, on our G5's!"
Of course, if Apple does use it, we will probably have to wait until 10.4 to see it in action, but even then, it should be available before longhorn... I'll just add this to my OS X 10.4 feature wishlist...
If Apple goes to x86 we might as well all throw away our Macs and start using Windows XP. Apple will go out of business if it goes to x86. And none of us want that.
dukemeiser
Jul 11, 2003, 07:13 PM
Isn't it obvious? iTunes for Windows! "it expects to launch products with that company in the second half of this year" That would fall perfectly with iTunes. Instead of Apple completely rewritting iTunes to make it crappy enough to run on Windoze, just let it emulate on Windows.
Alexander
Jul 11, 2003, 07:42 PM
Originally posted by dukemeiser
Isn't it obvious? iTunes for Windows! "it expects to launch products with that company in the second half of this year" That would fall perfectly with iTunes. Instead of Apple completely rewritting iTunes to make it crappy enough to run on Windoze, just let it emulate on Windows.
You and it seems a few others are falling into a dangerous trap. This has ABSOLUTELY NOTHING to do with the Mac OS or Windows. This has to do with PPC, x86, and other processor architectures. If you have the source, translating between architectures is (relatively) easy, it's running off-the-shelf binaries that emulation/translation comes in.
The difference between the Windows and Mac interface APIs is something completely different, and isn't addressed by this at all. I also don't think there are any "innovations" to be made with regards to this, it's just a lot of hard work and abstraction. And as I mentioned previously, it's not such a good idea.
fpnc also makes a good point about this having been done before. Until we see what this actually is, nobody should assume it's earth-shattering, because it probably isn't.
strider42
Jul 11, 2003, 08:50 PM
Originally posted by MisterMe
True, but 70% native speed might not be that bad.
You make a common mistake about Intel hardware. It is not cheaper because it has an Intel processor. In fact many Intel chips are quite expensive. Cheap Intel-based computers are cheap for three reasons. The first is that most of the R&D costs are shared by a large number of vendors. For instance a few companies make the BIOS. A few others develop and manufacture the motherboard. You get the idea. The second reason is that the low-cost vendors often use very cheap parts. AlienWare uses all industry-standard parts, but its computers are expensive because its industry-standard parts are high-quality. The third reason is one that most Wintel users (and Mac users) are not aware of. Wintel computers are cheap for the same reason that your local daily newspaper does not cost as much as a book. The reason is advertising. IIRC, every icon placed on the desktop of your Wintel computer represents $70 to its vendor. Just like commercial television, radio, magazines, and newspapers, you are not the customer. You are the product.
An Intel-based computer that cannot not run Windows will be expensive to engineer. Don't forget that all of Apple/NeXT's experience with Intel hardware is on standard PC-compatibles. A proprietary design would require sacrifice of that experience. In the end, proprietary Intel-based Macintosh computers would be more expensive than PPC machines, not cheaper.
Apple hasn't used the hardware ROM that you have in mind since 1998. Since then, MacOS 8.x and 9.x required a ROM in RAM software file. MacOS X requires no such file. Darwin/PPC, the foundation of MacOS X, is targeted to CHRP/Open Firmware. These are open standards. AFAIK, the only reason that you cannot run MacOS X on any CHRP/OF PPC computer is that it violates Apple's license agreement. This is a legal prohibition, not a technical one.
FWIW, I have always felt that we will see MacOS X on non-Apple hardware. However, it won't be on $499 Wal-mart specials. Apple should go up-market. It would be a major coup to port MacOS X to IBM/PPC, Sun, and SGI. Such a strategy would benefit both sides: (1) Apple would gain the halo of having its OS run the most respected hardware in the world. (2) Users of these non-Apple computers would gain access to commercial MacOS X software.
To my knowledge, there is still a boot rom on every mac. thats what I am talking about. You can't boot OS X or any mac OS on a generic powerPC motherboard. No one can clone a mac because of the boot rom. Apple hardware is prporietary because of that, not becuase there is anything special about their logic board. There are other PPC vendors out there, and I am positive that you cannot run Mac OS on them if you tried.
And what I was saying had nothing to do with intel being cheaper, it had to do with apple making its money on hardware. They make a huge profit margin they wouldn't get selling just the OS. Thats what I'm talking about. So you won't see an x86 verison of OS X because of that. They have no incentive. They could go to x86 for their own machines (incorporating the boot rom I was talking about), but that still wouldn't let OS X run windows software, and wouldn't let OS X run on any other machines.
mrbill
Jul 11, 2003, 09:00 PM
Anybody remember fx!32 for Windows NT/Alpha? It recompiled/translated x86 software "on the fly" to Alpha instructions, then saved them in a cache of sorts so that it only had to be translated once.
It worked, for varying values of "work"... let you run things like Office, etc, but it was nowhere near "70%".
This kind of thing has been done for years.
Jerry Spoon
Jul 11, 2003, 09:12 PM
Originally posted by hvfsl
That is not true since in the 3dfx time, people could run all PC games on Macs without slow down and it did not kill the mac gaming market.
Apple has a gaming market?:confused:
MacRETARD
Jul 11, 2003, 09:36 PM
Originally posted by G4scott
I could see 2 different uses with it for Apple.
1.) Go with Marklar (or whatever it's called), and use this to allow mac programs to run on the x86 architecture, or...
2.) Stick with the PPC architecture (IBM just built a 3 billion fab, with Apple in mind as a major customer...) and have this as a solution for running all of your PC software on your Mac. With the processing power of the G5, I don't think you will see much of a slow down, even with many PC games, such as counter strike...
This could be a way for Apple to strike at micro$oft...
"That's ok, you don't have to continue IE development for the Mac, because we're already using your latest version for windoze, on our G5's!"
Of course, if Apple does use it, we will probably have to wait until 10.4 to see it in action, but even then, it should be available before longhorn... I'll just add this to my OS X 10.4 feature wishlist...
Apple doesnt need to switch to x86 they need to get price down and be more competitive on lower end computers. People will argue one way or another but the 2ghz G5 is at least on par with the current fastest x86 cpus.
I would be suprised if you could average 50% speed of a different processor architecture. This is probably enough for high end cpus, if a 2ghz g5 can run code like a 1ghz P3 that should be enough for most apps. You may be able to emulate older games but I dont think translation/emulation/whatever will ever be fast enough for the current generation of games. Games do too much trying to maximize the potential of hardware for this to be practical.
Also if Apple ever does incorporate some code to run windows apps on OS X it will probably require having a windows license. Microsoft still makes money...
j33pd0g
Jul 11, 2003, 09:36 PM
...classic layer ....intel layer
Speculation #1: OSX 10.4 ships with OS9, and an intel layer... you don't need an intel OS... just use the intel installer and it will install the application for you.
Speculation #2: Or maybe it will only work off the network... the app has to be installed on an actual PC somewhere. This actually sound much more of a reasonable idea than my first one. I can see Steve pitching it now next year at the next WWDC. I could see companies/consumers wanting to go this way instead of buying 2 separate machines. Apple would rule. Is something like this even possible? I think I'm going to take up programming.
pyrotoaster
Jul 11, 2003, 10:04 PM
Perhaps Apple would just use this to make it easier to port software to the Mac.
alandail
Jul 11, 2003, 10:25 PM
Even if this tool is even remotely close to the seemingly unreachable performance claims (because of the endian issue) and if Apple did use this tool, there is only one possible use - to let windows software run on the Mac. And the only reason to do this is to help people switch. It wouldn't hurt MacOS software development at all. Emulated Windows software running on MacOS X wouldn't even be as good as emulated Classic software running on MacOS X when compared to native MacOS X software. But it could address the issue of one or two windows only apps preventing people from switching. Of course, virtual PC addresses the same issue.
There is no reason at all for Apple to use something like this to move software to windows. It's trivial to get software you have the source to to compile for x86 code. And the compiler working on the source code will do a better job than any emulation tool. The hard part is the API differences.
And there's even less reason to use a tool like this to port MacOS X itself. MacOS X already can be built to run on Intel - remember when Apple bought NeXT, NeXTStep ran on multiple CPUs, but not the PowerPC. There was even a NeXTStep runtime that ran inside of Windows. The hard part wasn't getting it to run on the PowerPC, the hard part was supporting Classic and building Carbon. And in teh early phases of the conversion to PowerPC, Project Builder let you build apps that had binaries for both PowerPC and Intel.
I am sure Apple maintains cross their platform compatibility in teh development they do. If Apple wanted to move to intel, the only thing that would get lost would be classic apps, which are becoming more and more irrelevant. But with IBM building their chips now, there really is no reason to bring OS X to intel. Apple's not going to build Intel boxes and they're not going to use their OS to sell other people's hardware.
locovaca
Jul 11, 2003, 10:40 PM
The way I see it, this really would only benefit the PPC architecture, as X86 has a few problems that would most definitely hold it back from running at the claimed 70% speed:
1. PPC can switch endieness. That would help make it a much more viable candidate for such software since it can go either way.
2. RISC has many, many more registers than X86 does (yes, X86 does renaming and such, but software doesn't control that- the hardware guesses at it), and for X86 to emulate PPC code that uses 30 GPRs at a time with only 8 or so GPRs, you can already guess that many, many cycles will be wasted on loads and stores. This gets infinitely magnified when running multiple processes because you end up wasting all your time swapping in and out registers.
In other words, I'll believe it when I see it, but I somehow don't imagine we'll see anything like this soon. And, even if it is true, I sincerely doubt that it will run at 70% of any processor unless it's in the same style of processors.
pyrotoaster
Jul 11, 2003, 10:51 PM
Let me clear up two points here:
1. There's no direct evidence that Apple plans on using this technology. Even if they did, it would be more likely used for the 32-bit to 64-bit transition.
2. Let's not get into talk about OS X on x86. That would kill Apple, since most of the company's profits are from hardware sales.
dukemeiser
Jul 11, 2003, 11:18 PM
Originally posted by Alexander
You and it seems a few others are falling into a dangerous trap. This has ABSOLUTELY NOTHING to do with the Mac OS or Windows. This has to do with PPC, x86, and other processor architectures. If you have the source, translating between architectures is (relatively) easy, it's running off-the-shelf binaries that emulation/translation comes in.
The difference between the Windows and Mac interface APIs is something completely different, and isn't addressed by this at all. I also don't think there are any "innovations" to be made with regards to this, it's just a lot of hard work and abstraction. And as I mentioned previously, it's not such a good idea.
fpnc also makes a good point about this having been done before. Until we see what this actually is, nobody should assume it's earth-shattering, because it probably isn't.
Maybe that's because the article doesn't say anything about OPERATING SYSTEM software, it just says "software". If it is Apple, which this article implies, what are they going to do with it?
3rdpath
Jul 12, 2003, 12:11 AM
not to be too cynical...but this is obviously a start-up company hoping to generate enough interest to get funding.
speeds/size and all other details are purely hypothetical.
i'll lay odds that this product never hits the retail shelf.
kentd
Jul 12, 2003, 12:31 AM
It's definitely possible to create a dynamic translator that could get 70% or so of the native performance on most apps.
But translating one CPU's code to run on another is just part of the problem. My experience is that it is emulating the surrounding environment that takes most of the work. I'm sure VirtualPC has probably only 10% of its code doing the CPU emulation, and the remaining 90% doing the UI and emulating disks, video, keyboard, mice, etc.
My suspicion is this company is teaming with HP since HP is changing CPUs from PA-RISC and Alpha to IA64. Or, it could be SGI since they are also moving from MIPS to IA64. This could be a much simpler problem since the OS involved could stay the same (HP-UX or IRIX), meaning all they really have to do is the CPU translation and nothing else. The article's few bits of details (as opposed to the > 50% off-topic speculation) seem to support this type of product.
The article mentions their code is just 600K, and that isn't going to make your Mac run PC software in a way you'd find useful.
Snowy_River
Jul 12, 2003, 03:39 AM
Originally posted by strider42
They could go to x86 for their own machines (incorporating the boot rom I was talking about), but that still wouldn't let OS X run windows software, and wouldn't let OS X run on any other machines.
As I understand it (but my understanding is not to be taken as gospel, mind you), Marklar has a layer similar to Classic, but this layer (sometimes referred to as Red Box, back in the old Rhapsody days) allows the x86 version of MacOS X to run Windows apps. So, yes, moving to x86 architecture could, conceivably, allow you to run Windows apps on your OS X machine.
Now, this is not to say that I am, in any way, advocating such a move. I like my Mac, and I'd just as soon stay as far away from Intel as is reasonable. (Besides, I'd have too many Classic apps that I'd have to give up - some of them I've been using for over a decade!)
Snowy_River
Jul 12, 2003, 03:41 AM
Originally posted by kentd
It's definitely possible to create a dynamic translator that could get 70% or so of the native performance on most apps.
But translating one CPU's code to run on another is just part of the problem. My experience is that it is emulating the surrounding environment that takes most of the work. I'm sure VirtualPC has probably only 10% of its code doing the CPU emulation, and the remaining 90% doing the UI and emulating disks, video, keyboard, mice, etc.
My suspicion is this company is teaming with HP since HP is changing CPUs from PA-RISC and Alpha to IA64. Or, it could be SGI since they are also moving from MIPS to IA64. This could be a much simpler problem since the OS involved could stay the same (HP-UX or IRIX), meaning all they really have to do is the CPU translation and nothing else. The article's few bits of details (as opposed to the > 50% off-topic speculation) seem to support this type of product.
The article mentions their code is just 600K, and that isn't going to make your Mac run PC software in a way you'd find useful.
Very well put. This is, indeed, what this sounds like to me. This doesn't sound like it is a product to be able to switch between OSes, but just the same OS on different chips.
hvfsl
Jul 12, 2003, 08:07 AM
Originally posted by strider42
Since when could people use a mac to run a PC game? Its impossible without emulation, which is a lot slower than native. Am I missing something or misinterpreting what you said.
You may want OS X on your PC, but apple sure has heck doesn't. If apple ever does release markler, it will probablys still be on proprietary hardware just as it is now, since thats how they make their money. the advent of the G5 makes the argument for going x86 weaker.
Where were you 1998, did you not have a Mac then? RealPC and VPC both had voodoo graphics support, so you could run 3D PC games on Macs close to the speed of a normal PC with a voodoo card. A 266Mhz G3 was about the same speed as a 300Mhz P2 when running PC games, since the G3 chip was quite fast compaired to PCs then. I remember playing a lot of PC games on my friends mac and they were all playable.
I don't really care which chip I run Mac OS on, the price I pay for a Mac needs to go down by about 70% and the speeds of the lower end Macs need to go up. It is just I can't see Apple being able to buy Mac PPC computers cheaply any time soon. So running Mac OS on Intel seems to be the next best thing. And remember the whole point of the PPC was that it was meant to be cheaper and faster than the pentium. Before the G5 it was nether of these, now only the high end Mac is faster.
MisterMe
Jul 12, 2003, 08:37 AM
Originally posted by strider42
To my knowledge, there is still a boot rom on every mac. thats what I am talking about. You can't boot OS X or any mac OS on a generic powerPC motherboard. No one can clone a mac because of the boot rom. Apple hardware is prporietary because of that, not becuase there is anything special about their logic board. There are other PPC vendors out there, and I am positive that you cannot run Mac OS on them if you tried.
And what I was saying had nothing to do with intel being cheaper, it had to do with apple making its money on hardware. They make a huge profit margin they wouldn't get selling just the OS. Thats what I'm talking about. So you won't see an x86 verison of OS X because of that. They have no incentive. They could go to x86 for their own machines (incorporating the boot rom I was talking about), but that still wouldn't let OS X run windows software, and wouldn't let OS X run on any other machines. You are really, really confused. The reason we had IBM PC clones was not because IBM had an open ROM BIOS. In fact, the IBM PC BIOS was proprietary and closed. The reason we had IBM clones was because the BIOS was simple enough that it could be reverse engineered with sufficient fidelity to build a working computer. Macintosh computers had a Toolbox ROM that allowed a GUI-based computer that could boot from a floppy disk. The reason the Macintosh computer was not cloned until the mid 90's was that it was practically impossible to reverse engineer the Toolbox ROM. FWIW, Mac clones were not true clones. They were really Macs with different cases because everything that made them Macintosh compatible was supplied by Apple Computer.Reverse engineering was in no way illegal. Companies that tried to sell Mac clones were taken to court by Apple because Apple had cause to believe that they copied the Mac Toolbox ROM or parts of it. Any company that copied the IBM ROM would have received the same treatment or worse.
The Toolbox ROM made the Mac immune to legitimate reverse engineering, but it became an expensive hardware paradigm in an era of increasing hard disk and RAM capacity. Apple transitioned to CHRP/Open Firmware. The large Toolbox ROM was reduced to a simple boot ROM. AFAIK, Apple's boot ROM is probably smaller than the ROM BIOS in an original IBM PC. Most traditional ROM functions are handled by Open Firmware. That should make a new Mac relatively easy to legally reverse engineer. However, there is no point to it. Apple's license for MacOS X states clearly that its OS can only be loaded on Apple-branded computers. As far as restricting Apple computers to MacOS X, this seems not to be a hardware issue. There are several distro's of Linux for the Mac. Windows does not run on the Mac because M$ won't develop it unless Apple pays the Redmond monopoly to do it. What else do you want to run?
skipwiley
Jul 12, 2003, 09:44 AM
Code Morphing has been around for a while, the original promise was 85-95% speed with a small ASIC chip near the processor or an embedded solution. This was simply a way to morph one processors instructs to another, it took very little code to do and happened in near real-time. This process does work but only existed as simple demoware.
This article sounds to me to be the evolution of this process done entirely in software (most likely at the kernel level)
The reality of it's use could be much more subtle than what is being discussed. I see multiple uses:
1. Allow for quick ports to mac, allow developers to change 10% of their code (os specific) to create a native OSX app.
2. Run a WINE crossover environment that will allow the double clicking of windows exe files under macosX, of course this would only allow 25% of existing apps to run, it would give us a solution to run simple shareware and some commercial win32 apps.
3. Include a full rootless windows environment (Connectix was rumored to be working with Apple on this years ago, which showed some fruits with VPC6 and it's start menu application) similar to the way classic runs currently.
I think if Apple was to build in PC BIOS emulation directly into the kernel along with this software, we could definetly see #3 come to light in a way emulation environments could never dream of.
mjtomlin
Jul 12, 2003, 10:19 AM
Apple already used something similar to this when it transitioned from MC680x0 to the PowerPC. It was seemless and ran the 680x0 code comparitively fast.
The article really doesn't give much information regarding what exactly is translated. Is it just the binary data? Is it addressing? Is it the CPU instruction set? Without knowing these answers, there's absolutely no way of telling what it can be used for?
You can't technically just translate something and make it run on a completely different system. For instance, you can't take a Windows application and translate it to run under Mac OS. You also need to emulate some part of it; either the rest of the hardware (virtual PC), the OS (SoftWindows) or the API set (red box).
Binary translation only helps when you're trying to move the environment/OS from one CPU to another.
If Apple were to port Mac OS X to Intel based systems, then this translation software could be used to allow apps written for PPC OS X to run under Intel OS X. But why on earth would Apple do that!?!
mjtomlin
Jul 12, 2003, 10:52 AM
2. Let's not get into talk about OS X on x86. That would kill Apple, since most of the company's profits are from hardware sales.
Not necessarily true ... Apple's hardware may die, but Apple software would still be around...
Imagine if there was a huge demand for OS X on Intel... How much money do you think Apple could make if millions of wintel users decided to buy a copy of OS X at $189 a pop? And on top of that Apple also charged wintel users $99 for the iLife suite instead of bundling it with the OS.
I give Apple a couple of years before OS X for Intel is released. I would say right about the time MS releases "longhorn" and people are completely fed up with MS Windows and NEED something else to use.
By that time, Apple Hardware will be on par, if not further advanced than anything Intel could develop. Anyone who wants to get real work done would get an Apple or if they just want a cheap box, they could buy an Intel system running OS X. Or better yet, instead of running on Intel systems ... Apple releases OS X for AMD based systems only... A slap in the face to Intel. :)
Most people don't realize that software has much higher profit margins than hardware.
seamuskrat
Jul 12, 2003, 10:56 AM
Originally posted by munki
PowerPC chips are bi-endian, they have to be, IIRC, initialized at startup for one order or the other.
What does IIRC mean? I have seen it in numerous posts.
arn
Jul 12, 2003, 11:11 AM
Originally posted by pyrotoaster
Let me clear up two points here:
1. There's no direct evidence that Apple plans on using this technology. Even if they did, it would be more likely used for the 32-bit to 64-bit transition.
Yes, there is no evidence that Apple plans on using this.
but NO, it would NOT be used for 32-bit to 64-bit.
32-bit code is 100% compatible with the new processor.
arn
hvfsl
Jul 12, 2003, 12:02 PM
Originally posted by arn
Yes, there is no evidence that Apple plans on using this.
but NO, it would NOT be used for 32-bit to 64-bit.
32-bit code is 100% compatible with the new processor.
arn
But does 64bit apps work on 32bit chips?
MacKid
Jul 12, 2003, 02:18 PM
Originally posted by sharky2313
This could be really big. I think some investigative research should be conducted ASAP
You have NO BUSINESS HERE!!!
shoo shoo!
No, seriously, I'm glad we have another switcher!!!
Now start saving for that Mac.
It'll take a LOT O'MONEY!;)
MacKid
Jul 12, 2003, 02:19 PM
Originally posted by hvfsl
But does 64bit apps work on 32bit chips?
I think so, and vice versa, I'm sure of 32 working on 64, but I'm not 100% sure of the 64 on 32. . .
MacKid
Jul 12, 2003, 02:21 PM
Originally posted by mjtomlin
Not necessarily true ... Apple's hardware may die, but Apple software would still be around...
Imagine if there was a huge demand for OS X on Intel... How much money do you think Apple could make if millions of wintel users decided to buy a copy of OS X at $189 a pop? And on top of that Apple also charged wintel users $99 for the iLife suite instead of bundling it with the OS.
I give Apple a couple of years before OS X for Intel is released. I would say right about the time MS releases "longhorn" and people are completely fed up with MS Windows and NEED something else to use.
By that time, Apple Hardware will be on par, if not further advanced than anything Intel could develop. Anyone who wants to get real work done would get an Apple or if they just want a cheap box, they could buy an Intel system running OS X. Or better yet, instead of running on Intel systems ... Apple releases OS X for AMD based systems only... A slap in the face to Intel. :)
Most people don't realize that software has much higher profit margins than hardware.
Marklar would be a sure-fire way to get rid of my favorite company.
And I don't mean Microsoft.
MisterMe
Jul 12, 2003, 02:24 PM
Originally posted by seamuskrat
What does IIRC mean? I have seen it in numerous posts. IIRC, IIRC means "If I Remember Correctly."
fpnc
Jul 12, 2003, 03:22 PM
Originally posted by mjtomlin
Apple already used something similar to this when it transitioned from MC680x0 to the PowerPC. It was seemless and ran the 680x0 code comparitively fast.
The only reason Apple was able to achieve "comparitively fast" performance is that they recompiled/rewrote key portions of the Mac's ROM directly into the PPC instruction set. The actual 68K emulation was fairly slow, but since many applications spent a large part of their time in the ROM old 68K programs ran fairly well. It was another example of the 90/10 rule, that is 90% of the execution time is spent in only 10% of the code. So, Apple just rewrote that 10% into PPC.
rotorblade
Jul 12, 2003, 07:53 PM
Back in the day, I ran an OrangePC 660 card from Orange Micro. With all the advances that come with the G5, I'd imagine a PCI PC card with a Intel/AMD chip and hard drive mounted right on the card (no disk images this time) would run quite well. Comments?
LethalWolfe
Jul 12, 2003, 08:41 PM
Originally posted by mjtomlin
Not necessarily true ... Apple's hardware may die, but Apple software would still be around...
Imagine if there was a huge demand for OS X on Intel... How much money do you think Apple could make if millions of wintel users decided to buy a copy of OS X at $189 a pop? And on top of that Apple also charged wintel users $99 for the iLife suite instead of bundling it with the OS.
I give Apple a couple of years before OS X for Intel is released. I would say right about the time MS releases "longhorn" and people are completely fed up with MS Windows and NEED something else to use.
By that time, Apple Hardware will be on par, if not further advanced than anything Intel could develop. Anyone who wants to get real work done would get an Apple or if they just want a cheap box, they could buy an Intel system running OS X. Or better yet, instead of running on Intel systems ... Apple releases OS X for AMD based systems only... A slap in the face to Intel. :)
Most people don't realize that software has much higher profit margins than hardware.
OS X running on open hardware wouldn't fair any better than Win2k or XP, IMO. The reason Macs generally have few conflicts and greater stability is because it's a closed system. The hardware and software can be tailored to work together more seemlessly.
Lethal
clairiun
Jul 12, 2003, 10:53 PM
It is very well rumored that Steve Jobs traveled a lot to Intel.
Okay, whatever. Doesn't matter.
IF Apple switched to the Intel or whatever chip, it would not mean that OS X will run on PCs.
A lot of people have said this, but I have to say it again for those who missed it or are too slow.
Things are fine. Apple needs to work on more converts or fence sitters!!!!
P
steveh
Jul 13, 2003, 06:25 PM
Originally posted by clairiun
It is very well rumored that Steve Jobs traveled a lot to Intel.P
And Intel makes a lot of chips other than their CPU lines.
Such as USB controllers...
Okay, whatever. Doesn't matter.P
Exactly.
clairiun
Jul 13, 2003, 08:03 PM
I'm sure Jobs wasn't going over to Intel to talk about USB stuff. That's for peons.
I'm sure he was over there talking chips.
P
Sonofhaig
Jul 13, 2003, 09:42 PM
Originally posted by hvfsl
....the price I pay for a Mac needs to go down by about 70%....
What? 70% ? If you want a computer that cheap, go out and by an Etch-a-Sketch. Please. 70% reduction is just absurd! :rolleyes:
tmornini
Jul 13, 2003, 10:59 PM
Originally posted by mjtomlin
How much money do you think Apple could make if millions of wintel users decided to buy a copy of OS X at $189 a pop?
Well at $189, 1 million copies would generate $189 MILLION in revenue, then you subtract the expenses.
How many millions would need to PAY FOR OS X on Intel to generate the approximately $5,819 MILLION in revenues Apple actually generates each year?
Short Answer: A lot.
Longer Answer: Approximately 30.79 MILLION people PER YEAR.
If Apple could pull this off, their stock would be one hell of a lot more valuable than it is now, because their expenses would be a lot lower than they are currently.
themadchemist
Jul 13, 2003, 11:06 PM
Originally posted by Megaquad
I've been imagining something like this for a while.
Perhaps some sort of 'card' that would hold CPU used for translating code so that speed is 100% as on native platform isn't a bad idea? :)
I say its about time to bring OS X to PC's!
It will increase market share, and if implemented bad enough, make people buy Macs!
Bring OS X to PCs? I think not! Apple's primary revenue is from hardware. Thus, the bulk of its profits and its R&D money comes from this arena.
OS X on PCs, if it even became successful, which I doubt, would only discourage people from buying Apple's hardware. Why spend money on the expensive hardware if all I want is the OS? Also, part of the allure of Macs are their processors in my opinion. If not for their frequencies, at least for their excellent architecture and for being RISC. x86 architecture is revolting.
So if OS X on PCs was popular, and less people bought Mac hardware, then there would be less money to do R&D and less advances in the OS and in hardware (for those of us who stuck around for the latter). Moreover, prices would go up as Apple tried to recover costs. These prices would further discourage sales, as would the weaker R&D.
And if OS X for PCs was "implemented bad enough," as you say, then how would that promote people to buy Macs? It is not common knowledge that Mac OS is better, even though we "know" it to be so. People don't just assume that Macs are great. If they use a poorly-implemented OS sold by Apple, why would they rush to buy a Mac? This just doesn't make much sense.
No hard feelings, but these are just my personal thoughts.
encro
Jul 14, 2003, 08:24 AM
This kind of thing is rather old now. Doesn't anybody remember Tao group's Intent which used by Amiga?
scan300
Jul 14, 2003, 09:56 AM
...a little bit of follow up on the company Transitive Technologies shows that other announcements were made late last year, and it's to do with gaming. They partnered with Transgaming Technologies to bring about a fast porting solution for games... and yes it's for Macs as well as other hardware.
http://www.transgaming.com/news.php?newsid=37
Transitive Technology has been developing a suite of tools which essentially create a CPU independent kernel. It's not just binary translation that they are working on, the tools also include acceleration and a sort of hardware/software synthetic CPU.
hvfsl
Jul 14, 2003, 06:12 PM
Apple can bring OS X to PCs, but make it so that it will only work on Apple PCs. The cost of a Mac would massively go down, it is just the cost of PC hardware is a lot less than Mac hardware.
Doctor Q
Jul 14, 2003, 08:00 PM
70%? Hah! Maybe they imagine approaching a maximum of 70% on carefully chosen code on a particular processor, but I think these claims are well over 70% hype and way below 30% realism.
The emphasis these days isn't on single-instruction execution anyway. Wouldn't features like pipelining and branch prediction, which make a great deal of difference in the speed of our processors, be lost if you translate instructions on the fly?
mkrishnan
Jun 5, 2005, 01:06 PM
70%? Hah! Maybe they imagine approaching a maximum of 70% on carefully chosen code on a particular processor, but I think these claims are well over 70% hype and way below 30% realism.
The emphasis these days isn't on single-instruction execution anyway. Wouldn't features like pipelining and branch prediction, which make a great deal of difference in the speed of our processors, be lost if you translate instructions on the fly?
So I just skimmed this thread now, because of the new rumor, and I went to Transitive's website...I'm not the only one who doesn't really see any compelling explanation for why their claim might be true, right? Sounds very snake-oil to me.
javiercr
Jun 6, 2005, 07:27 AM
[QUOTE=Macrumors
The solution is described seems to be a software-only solution -- that according to the article only takes about 600k of memory and reaches about 70% of the native speed of the "emulated" processor. The article makes it a point to distinguish from emulation and describes it as "dynamic translation".
.[/QUOTE]
so if apple moves to intel becuase the g5 cant get to 3ghz, then you get an intel 3ghz then you put an emulator which only give you 70% of the speed what would be the point? :)
alandail
Jun 6, 2005, 07:34 AM
there is no reason at all to need an emulator. The only reason an emulator was needed for the switch from 68k to powerpc was because so much of hte original mac os was written in assembly language. This time around, the OS already runs on x86 - it ran on x86 before it ran on PowerPC even. Also, the OS makes it easy to have apps with multiple executables, one for each CPU architecture.
elmimmo
Jun 6, 2005, 08:05 AM
so if apple moves to intel becuase the g5 cant get to 3ghz
Intel is as stalled in processors for desktop computers as IBM is. If they switch, it is because Intel does have modern CPUs for laptops whereas IBM does not, and will not anytime soon, as both Apple and IBM have stated several times.
Mr Maui
Jun 6, 2005, 08:23 AM
Stick with the PPC architecture (IBM just built a 3 billion fab, with Apple in mind as a major customer...) and have this as a solution for running all of your PC software on your Mac. With the processing power of the G5, I don't think you will see much of a slow down, even with many PC games, such as counter strike...
Earleir threads have already said that IBM thinks of Apple as an insignificant piece of their business, accounting for only 2% of production at their Fishkill fab plant. If I remember correctly, when they talked about their "new" plant back when they basically took Apple away from Moto, the story was that the Fishkill plant could produce chips for Apple in high volume. It seems that IBM has broken their promises to Apple andd focused on others (Microsoft, Sony, Nintendo) and their gaming consoles instead of producing the PPC for Apple as originally promised. Steve does not like being shunned. Apple helped rejuvenate IBMs business and this is the thanks that Apple gets in return.
Mr Maui
Jun 6, 2005, 08:35 AM
Apple doesnt need to switch to x86 they need to get price down and be more competitive on lower end computers. People will argue one way or another but the 2ghz G5 is at least on par with the current fastest x86 cpus.
The chips (PPC and x86) may be complarable in cost and price to one another, but if you've read some of the articles posted in the past few days, it seems that Intel would be willing to negotiate a "preferred vendor" price for Apple, like they do for many of their big customers, thus making the cost of the chip lower for Apple. Apple tried to negotiate a lower price with IBM during recent talks, but IBM basically said, "No Thanks." IBM would rather lose Apple's 2% of their volume, than to give Apple a discounted price. As stated in an earlier post, if Apple leaves IBM, it is because of IBM turning their back on promises made to Apple, and little to do with Apple not liking the PPC. Fishkill is a huge fab plant, originally claimed to be used largely for Apple, yet IBM's Fishkill production offers only 2% of their volume and capacity to Apple chips. Guess the real money comes from MS, Sony and Nintendo.
Mr Maui
Jun 6, 2005, 08:43 AM
Let's not get into talk about OS X on x86. That would kill Apple, since most of the company's profits are from hardware sales.
However, if running OSX on x86 (PC) could win customers over to Apple's OS, giving them a larger market share, and then gain full benefit of the OS by purchasing Mac hardware, designed specifically to run the OS seamlessly, Apple might be willing to take that gamble. Apple can stop offering OSX for the x86 (PC) at any time in the future, just like they did when they stopped allowing clones to be manfactured. Once you win a user over to OSX, they'll never want to go back to Windoze. Part of the reason Apple is trying to negotiate lower price points with IBM and/or switch to Intel is to be able to lower their prices on hardware, thus becoming more competitive with the x86 boxes, and thereby win more market share. Intel is willing to offer these types of discounts to get Apple. Apple would be a feather in Intel's cap. If Apple can win more users to its OS and then offer more competitively priced hardware, Aple's marketshare will increase dramatically, both in software AND hardware.
salmon
Jun 6, 2005, 11:33 AM
What does IIRC mean? I have seen it in numerous posts.
If I Remember Correctly.
njmac
Jun 6, 2005, 11:41 AM
Well I guess we may soon find out the answer to the age old question: What what happen to Apple if you can run OS X on an X86 machine.
DakotaGuy
Jun 7, 2005, 12:48 AM
Well I guess we may soon find out the answer to the age old question: What what happen to Apple if you can run OS X on an X86 machine.
I think we are very close to seeing this happen. Did anyone hear Steve talk about ways this will be prevented today? I don't recall him saying anything about that. If Apple opens up OSX to all PC's then their hardware business will become a PC that might be a little more stylish. They will have to sell on price, customer satisfaction, and service. They will change their income from hardware to software sales. BUT I don't know if Apple wants to get in the game and play with M$. Microsoft will take no prisoners.
I think we are very close to seeing this happen. Did anyone hear Steve talk about ways this will be prevented today? I don't recall him saying anything about that. If Apple opens up OSX to all PC's then their hardware business will become a PC that might be a little more stylish. They will have to sell on price, customer satisfaction, and service. They will change their income from hardware to software sales. BUT I don't know if Apple wants to get in the game and play with M$. Microsoft will take no prisoners.
It has already been stated that OSX will not be opened to all x86 computers, just like OSX isn't opened to all PPC computers
Not to mention there's OpenFirmware (Apple's Proprietary version of a PC's BIOS) and Apple's use of "special" video cards that cost about $100 more than PC equivalent versions. Let's not forget that Apple also over sees all hardware put into their machines and the OSX is built to take advantage of that. It would be really hard to make OSX run on a generic PC without an emulation layer of sorts. But my guess it will be only a matter of time until Apple sues PearPC if they take advantage of x86 code :)
mkrishnan
Jun 7, 2005, 08:25 PM
Not to mention there's OpenFirmware (Apple's Proprietary version of a PC's BIOS)....
Since it's already in most of the other threads...might as well. Apple's Developer documentation on unibinaries clearly claims that Intel Macs will not use OpenFirmware:
Link (http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/universal_binary_tips/chapter_5_section_18.html#//apple_ref/doc/uid/TP40002217-CH239-283936)
Macintosh computers using Intel microprocessors do not use Open Firmware.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.