Why do need rosetta?

Discussion in 'Mac Pro' started by imacintel, May 9, 2006.

  1. imacintel macrumors 68000

    Joined:
    Mar 12, 2006
    #1
    Rosetta is becoming such a RAM hog so I am becoming interested in why wee even need universal and rosetta apps. Is it some kind of different code needed for intel processors. I wouldnt think so. I find Rosetta and Universal apps rather pointless.
     
  2. WildCowboy Administrator/Editor

    WildCowboy

    Staff Member

    Joined:
    Jan 20, 2005
    #2
    If you want to run any apps that were designed for the PPC chips that haven't been updated for the Intel chips, you need Rosetta.

    So, far from being pointless, Rosetta is currently required to run Photoshop, Illustrator, and a multitude of other programs.
     
  3. Blue Velvet Moderator emeritus

    Joined:
    Jul 4, 2004
    #3
    I think it's pointless too. I think you should try removing or disabling it.
     
  4. citi macrumors 65816

    citi

    Joined:
    May 2, 2006
    Location:
    Simi Valley, CA
    #4
    You do need different code to run on a different chipsets. They are conpletely different architectures so the apps needs to tell the os how to manage the throughput. Just because OSx needed to be changed to run on X86. doesn't mean that you can run programs optimsed for specific processors and chipsets to work on all platforms. That's like asking why your Hyundai engine doesn't work in a BMW. Just because they are both "engines" doesn't mean they are compatible.
     
  5. Saluki Alex macrumors 6502

    Joined:
    Feb 26, 2006
    Location:
    Illinois
    #5
    What other kinds of apps are there? :rolleyes:
     
  6. WildCowboy Administrator/Editor

    WildCowboy

    Staff Member

    Joined:
    Jan 20, 2005
    #6
    Intel only...
     
  7. technicolor macrumors 68000

    technicolor

    Joined:
    Dec 21, 2005
    Location:
    ><><><><
    #7
    OMg, this is so funny.

    Do you find oxygen pointless too?

    :D
     
  8. imacintel thread starter macrumors 68000

    Joined:
    Mar 12, 2006
    #8
    Man, am I getting shelled. I just don't find a point for it. I understand the fact about different source code for chipsets, but in Windows you dont need different software for AMD, Intel or VIA chips.:confused: Maybe its because they've used PPC for sooolong.
     
  9. mad jew Moderator emeritus

    mad jew

    Joined:
    Apr 3, 2004
    Location:
    Adelaide, Australia
    #9

    That's it. Macs are only just starting to shift to Intel, and many are still carrying PPC chips so there are still lots of PPC-only and Universal apps. Unfortunately, you do need Rosetta and you'll probably be needing it for some time. :)
     
  10. imacintel thread starter macrumors 68000

    Joined:
    Mar 12, 2006
    #10
    Thanks.
    It is true that they are only starting the shift Intel.
     
  11. plinden macrumors 68040

    plinden

    Joined:
    Apr 8, 2004
    #11
    Of course, why didn't we think of that? Apple included Rosetta just for the hell of it ... there's no need for it at all. Someone should tell Apple that all software runs on all CPUs no matter what the chip architecture is.

    Actually, she's taking the piss. And so was I. Just in case you're wondering.

    AMD and Intel chips are all x86 CPUs (I won't mention Itanium, it might confuse you), so of course there's no need to interpret any commands for software written for one to run on the other.

    Rosetta is only used when you need it, so if it's taking up RAM on your Mac, obviously you're running applications that need it. You should either upgrade to universal binaries (edit: or Intel-only apps ... there's a way to strip out PPC code from universal binaries but I'll leave as an exercise for you to find out how) or not run any PPC applications.
     
  12. Max on Macs macrumors 6502

    Max on Macs

    Joined:
    Feb 25, 2006
    Location:
    Milton Keynes, UK
    #12
    Ok basically the reason Windows doesn't need different apps for AMD, Intel and VIA chips is because they are all 'x86' which basically means they all use the same code. Apple used to use IBM, Motorola/Freescale, etc., chips which were 'PowerPC' which needs different code to 'x86' so any programs that were wrntten only to work on the PowerPC chips will need virtualisation to run on the x86 chips (and that's what Rosetta is doing). Universal apps are just apps that run on both PowerPC and x86 chips without virtualisation. These run very fast indeed on Intel chips and these are what we are after, but a lot of software is still only available for PowerPC and for as long as that remains we will need Rosetta.
     
  13. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #13
    If you honestly don't find a point for it, than you don't truly understand the function that Rosetta and Universal apps serve. Maybe go back and read the posts above that explain their purpose again.
     
  14. imacintel thread starter macrumors 68000

    Joined:
    Mar 12, 2006
    #14

    Thanks all. You have made me understand why Rosey is so important.:) Why the hell didn't I think of all of this?
     
  15. applemacdude macrumors 68040

    applemacdude

    Joined:
    Mar 26, 2001
    Location:
    Over The Rainbow
    #15

    Theres a thing in this world called sarcasm :rolleyes:
     
  16. imacintel thread starter macrumors 68000

    Joined:
    Mar 12, 2006
    #16


    LOL.:) :) :) :mad: My head is about to explode.
     
  17. mrichmon macrumors 6502a

    Joined:
    Jun 17, 2003
    #17
    Not different source code. Different object code. Object code is what source code is converted into so that the CPU can execute the program. A broad overview is that a developer writes source code, the source code is passed through a "compiler" which converts the source code into object code. The object code is packaged up and shipped to customers. Object code is expressed using a particular set of machine instructions.

    The instruction set for one family of CPUs is not compatible with the instruction set from another family of CPUs. That is, there is a PPC instruction set that is only understood by a PPC CPU. There is an Intel x86 instruction set that is only understood by Intel CPUs and intel compatible CPUs. The SPARC instruction set is only understood by SPARC processors. The same goes for all other processors, ie that a processor implements a specific instruction set.

    The reason why Intel, AMD, ViA and other compatible chips are compatible is that they are all designed to implement the same instruction set. (This is not completely true, since AMD regularly add extensions to their instruction set that Intel do not implement, but it is close enough for this discussion.)

    Source code gets compiled to object code. It is this object code that is sold as an application like Photoshop. Since Photoshop has not been released for OS X using the Intel instruction set there would be no way to run Photoshop on the Intel Macs yet.

    Rosetta is an application that does real-time translation of PPC instructions into Intel instructions. This means that an Intel CPU + Rosetta is able to run a PPC compiled version of Photoshop on the Intel Macs. So, if all the applications you use are compiled for an Intel instruction set then there is no need for Rosetta. For most people, they need to run a combination of PPC and Intel compiled applications for the time being.

    A "Universal" application is an Apple term for an application that has been compiled to the Intel instruction set and compiled to the PPC instruction set. Traditionally, compiling an application for two instruction sets would result in two applications, one for PPC machines and one for Intel machines. This would potentially cause confusion since consumers wouldn't know which version of the application to buy for their machine. To avoid this, Apple devised a way to package both the PPC object code and the Intel object code into a single application file. This combined package is a "Universal" binary. When a universal binary is executed on an Intel machine the PPC object code is ignored and when it is executed on a PPC machine the Intel object code is ignored.

    I hope this goes some way to resolving your confusion.
     
  18. jadekitty24 macrumors 65816

    jadekitty24

    Joined:
    Oct 19, 2005
    Location:
    The poor section of Connecticut
    #18
    Oh my, what a waste that would be.:eek:
     
  19. disconap macrumors 68000

    disconap

    Joined:
    Oct 29, 2005
    Location:
    Portland, OR
    #19
    Well, actually, a Hyundai engine would work in a BMW, provided the models and transmissions were compatible. Not saying you're wrong, just saying...
     
  20. RacerX macrumors 65832

    Joined:
    Aug 2, 2004
    #20
    This packaging method goes back almost 15 years to when NeXT started the transition from Motorola 68k based systems to other platforms. The technique was used in NEXTSTEP 3.x, OPENSTEP 4.x and Rhapsody 5.x, and now again in Mac OS X.

    Apple did devise a similar technique during the transition from 68k to PowerPC 12 years ago.

    Just wanted to point out that this isn't something new... when you said traditionally it sounded like up until now having two separate apps was what had generally happened, when in fact traditionally the concept of having Universal apps has been the most used approach in this type of transition.
     
  21. bousozoku Moderator emeritus

    Joined:
    Jun 25, 2002
    Location:
    Gone but not forgotten.
    #21
    I agree with you. Trial by fire often produces the most clear results. :D
     
  22. mrichmon macrumors 6502a

    Joined:
    Jun 17, 2003
    #22
    Yup, and the ELF binary format can support a similar packaging method as far as I am aware. I used the word traditionally to skim over the details you mention. But I'd also say that this type of transition isn't common and in general binary formats are only used to hold object code from a single architecture.

    As far as I recall the 68k to PPC fat binary format was based on an indexing scheme and having two separate binary files in the resource fork. If my recollection is correct, then I see some significant technical differences. But the abstract concept is similar to universal binaries.
     
  23. tristan macrumors 6502a

    Joined:
    Jul 19, 2003
    Location:
    high-rise in beautiful bethesda
    #23
    This is a really dumb question, but I guess I'm in the thread for it:

    If somebody compiled an Intel-only app, would Rosetta help me run it on a G4 or G5?
     
  24. huck500 macrumors 6502

    huck500

    Joined:
    May 10, 2004
    Location:
    Southern California
    #24
    Rosetta runs PPC apps on Intel Macs, it doesn't work the other way around.
     
  25. tristan macrumors 6502a

    Joined:
    Jul 19, 2003
    Location:
    high-rise in beautiful bethesda
    #25
    Then they should have named it something else besides Rosetta. ;) The name sort of implies that I can run an Intel binary on my quadra.
     

Share This Page