Become a MacRumors Supporter for $25/year with no ads, private forums, and more!

MacRumors

macrumors bot
Original poster
Apr 12, 2001
54,577
16,691
The Mercury News 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

macrumors member
Jun 17, 2003
35
0
whaa? good news if apple

This could be really big. I think some investigative research should be conducted ASAP
 

Vlade

macrumors 6502a
Feb 2, 2003
959
0
Meadville, PA
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

macrumors 68020
Jan 9, 2002
2,225
5
USA_WA
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

macrumors member
Jun 19, 2003
96
0
Palo Alto, CA
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.
 

Megaquad

macrumors 6502a
Jul 12, 2001
817
1
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

macrumors 68000
Jul 9, 2001
1,856
165
London, UK
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

macrumors 6502
Jul 5, 2001
457
19
N 49.50121 E008.54558
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 ;-)
 

strider42

macrumors 65816
Feb 1, 2002
1,461
7
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

macrumors 68000
Oct 30, 2002
1,950
110
San Diego, CA
"...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

macrumors 6502
Mar 16, 2002
419
0
Platform Independent Frameworks

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

macrumors member
Apr 8, 2003
87
0
Seattle
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

macrumors G4
Jul 17, 2002
10,709
63
USA
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.
 

munki

macrumors newbie
May 26, 2003
3
0
endian-ness

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

macrumors 65816
Dec 28, 2002
1,004
0
Oak Park, IL
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

macrumors 6502a
Dec 17, 2002
529
0
Iowa
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

macrumors member
Jun 19, 2003
96
0
Palo Alto, CA
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

macrumors 65816
Feb 1, 2002
1,461
7
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

macrumors newbie
Jul 22, 2002
15
0
Houston, TX
old news...

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.
 

MacRETARD

macrumors newbie
Jan 3, 2003
26
0
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

macrumors 6502
Mar 20, 2003
471
8
Central NY
...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.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.