Previous 1 2 Next 25 Replies Latest reply: Sep 6, 2009 4:02 PM by William Kucharski Go to original post
  • Rob A. Level 1 Level 1 (40 points)
    William,

    I don't understand why "> 8GB of RAM" -- how are you determining 8GB of RAM?

    How about this, can someone list the limitations of EFI32 and the limitations of EFI64? I can't find any documentation detailing the difference.

    I do plan to install more than 8GB of RAM as I do a lot of work in FCS 3, Logic, CS4 and I'm just now looking at Cinema 4D (64bit) but I fully plan to move to CS5 (when released this will be 64bit). All these applications will consume as large chunks of RAM (well beyond 8GB) and it would be a more efficient workflow for me if they stayed open and functional while I switch between the apps.

    As far as 64bit driver support, you're dead wrong, BlackMagic designs have released SL drivers that are 64bit capable (made a phone call to confirm).

    http://blackmagic-design.com/support/software/snowleopard/

    MOTU will be releasing 64bit drivers for my Ultralite very soon.

    http://www.motu.com/newsitems/are-you-ready-to-tame-snow-leopard

    I found some good reading on EFI32/64 here:

    http://episteme.arstechnica.com/eve/forums/a/tpc/f/8300945231/m/775006800041/p/2

    and here

    http://forums.macrumors.com/archive/index.php/t-721080.html

    There is some disagreement, but basically if I have > 4GB (or 8GB) on a EFI32 ROM I will start to see some performance degradation vs. > 4GB on an EFI64 ROM. How much of a difference I don't know.

    From what I can gather, the ROM used in my 2007 MacPro IS physically capable of supporting EFI64 flash. And finally in this article from Wiki:

    http://en.wikipedia.org/wiki/ExtensibleFirmwareInterface

    It clearly states

    "Extensions to EFI can be loaded from virtually any non-volatile storage device attached to the computer. For example, an original equipment manufacturer (OEM) can sell systems with an EFI partition on the hard drive, which would add additional functions to the standard EFI firmware stored on the motherboard’s ROM."

    So ... Apple you know what you should do, and you know you can do it. So please bring EFI64 to our less than 2 year old MacPro's. I bought this MacPro because it was Intel, it had an upgradeable future, it was capable of 64bit processing and 32GB of RAM.

    Rob.
  • keggo Level 1 Level 1 (45 points)
    I would like to say that I am running 64bit with no issues (for the most part). I have a late 2008 MBP 2.5GHz 4GB RAM. The only issue I have encountered was with VMWare Fusion Beta2, and that application still only has experimental 64bit kernel support.
    Aside from that which has nothing to do with SL, I am amazed at the speed difference when I boot into 64bit. It takes about 15sec to get to the logon screen from a cold start and about 4seconds to get a FULLY functional desktop with airport connected and ready to go. All of my apps start noticeably faster and have not noticed any heat issues. I dont know why it is recommended not to use 64bit, bit for me I will not use 32bit anymore. I absolutely love SL 64bit kernel.
  • Anton Rang Level 1 Level 1 (70 points)
    Let's go back to basics for a minute.

    1. CPUs.

    Intel's 64-bit capable CPUs can run in two modes, 32-bit and 64-bit.

    In 32-bit mode, they can address up to 4 GB of RAM per process (to a first approximation), but up to 64 GB of physical memory, using extended page tables (PAE). There are about 8 registers that compiled code can use.

    In 64-bit mode, they can address up to 256 TB of RAM per process (only 48 bits are currently used), and between 64 GB and 1 TB of physical memory. There are about 16 registers for compiled code.

    2. EFI.

    This is firmware, and as you guessed, should be upgradable. EFI32 has interfaces which take 32-bit addresses, and hence is restricted to working with 4 GB of RAM. EFI64 has interfaces which take 64-bit addresses. I strongly suspect that EFI64 also supports switching the CPU between 32-bit and 64-bit modes at boot time, and EFI32 does not.

    EFI is used for booting the system; shortly after the kernel is running, it's no longer used.

    3. Kernel.

    The operating system kernel manages memory, devices, and CPUs. A 32-bit kernel has up to 4 GB of address space to use for this management. In practice it uses much less (which is good, because this is memory that user processes -- applications -- can't use). The kernel on my MacBook Pro with 3 GB of RAM, and a fairly small number of running processes, takes about 150 MB. A 64-bit kernel can use more memory for managing the system.

    A 32-bit kernel can run either 32-bit or 64-bit applications. Running a 64-bit application simply requires that the kernel switch the CPU to 64-bit mode (which takes only a few cycles) each time the application is scheduled on a CPU. Similarly, a 64-bit kernel must switch the CPU to 32-bit mode when running a 32-bit application.

    4. Applications.

    Applications can be 32-bit or 64-bit independently of the kernel, as noted above. A 32-bit application is limited to using roughly 4 GB of memory at once; a 64-bit application can use all the memory in the machine, and can use more than that (though any excess will have to be stored on disk, which is very slow).

    ===========

    What is the advantage of a 64-bit kernel?

    1) There are more registers available to compiled code, thus kernel code has the potential to run slightly faster. Kernel code tends to be unpredictable and memory-bound, so the effect here is likely much less than 1%, and might even be negative: 64-bit code takes more memory since all pointers are twice as large, which hurts memory-bound code.

    2) When running 64-bit applications, the processor doesn't need to switch in and out of 32-bit mode. This is true, but the switch takes only a few cycles, while each trap into the kernel likely takes thousands or even hundreds of thousands of cycles.

    3) The kernel has access to more memory, and can thus manage more applications and physical memory. This is true, but likely only to be an issue with more than 32 GB, possibly more than 64 GB, of physical memory; or when running hundreds of processes (applications), each with a large address space, at a time. It'll probably be required to run a 256 GB system.

    So ... there's really very little difference that a 64-bit kernel makes. It might be a little faster, or it might be a little slower, depending on how much memory is used, and the mix of 32-bit vs. 64-bit code. Applications always run at full speed, whether in 32-bit or 64-bit mode.

    =========

    Why doesn't Apple release an EFI upgrade? The biggest reason is probably that it's a poor use of engineering resources. It won't help performance on these systems, it won't enable any capabilities for applications that they don't already have, and it introduces the potential for new bugs.
  • Rob A. Level 1 Level 1 (40 points)
    Anton,

    Yes, yes, and yes

    But where I disagree is the "future" viability of my EFI32 MacPro -- there are no ATI 4870 video cards that are EFI32 (they're all EFI64) -- the 4870 is a considerably faster video card than my ATI 3870 -- this has implications in Motion and FCS in terms of fps. And this is going to rule out any future video cards that might become available.

    The entire point of going to Intel based hardware IS to provide some upgradability (and performance) that was seriously lacking in the non-Intel Mac's -- what Apple have done, *by NOT spending the engineering resources*, is capped that upgradability for EFI32 MacPros. This is NOT a good thing for EFI32 folks and what do you think will happen when EFI64v2 comes out?? Yep, the now current MacPro EFI64 will be artificially capped for upgrades -- and let the 2 year life cycle of a MacPro be established.

    This isn't good, and it's just giving Windows/PC folks more fuel to not convert, to not buy a Mac, and avoid iPhones -- now why would Apple want to encourage that? Sorry, but I feel the engineering resources to make a EFI32 to EFI64 firmware available for older MacPro does justifiy resources -- forcing people to upgrade to a new Mac every 2 years is part of the reason Apple lost so much marketshare in the first place. AND, is counter to what Intel CPU's and Motherboards is all about.

    Rob.
  • William Lloyd Level 7 Level 7 (20,980 points)
    "The entire point of going to Intel based hardware IS to provide some upgradability (and performance)"

    I suggest the "entire" point of moving to Intel was not to provide upgradability. Apple has very rarely provided substantial upgrades to machines that are almost 3 years old (the 8-core was launched in April 2007, but it is really just a "speed bump" over the model launched at WWDC in August 2006).

    Snow Leopard enables your Mac Pro to run substantially faster than Leopard. And, in the default configuration, it runs identically to the newest machines. It simply lacks the ability to run a 64 bit kernel. You say Apple should dedicate the engineering resources to do this "trivial" thing, but keep in mind the universe is not finite; resources spent doing this are resources that are not doing other things; say working on new machines.

    Look, I understand your point; I have the exact same machine. Would I like a 64 bit kernel? Well, sorta -- right now I cannot run it, because I have 2 applications that are Windows-only that I run. Given no VM software runs with K64, I can't boot. Plus, the benefits are truly small at this point (see the excellent post above yours). But what you're asking isn't all that realistic, and the benefits are small, and the opportunity costs are significant.

    Your arguments that it's giving Windows/PC folks more fuel to not convert is laughable.
  • Rob A. Level 1 Level 1 (40 points)
    William,

    I agree that it appears the EFI32 vs EFI64 and ability to run the 64bit Kernel is not a huge deal for folks running 32GB or less RAM. I've conceeded to that debate, it's now about limiting future hardware (aka video cards for example).

    But suggesting Intel platforms are not about "upgradability" and flexibility is just 100% WRONG. Apple may NOT want Intel platforms to be that flexible, but the reality is they ARE and that's exactly why Intel are also so VERY VERY successful.

    The resource investment for Apple to produce a EFI64 firmware for older MacPros is probably at most 1 week effort (including testing) -- they already have EFI64 firmware, just a matter of putting it on an older MacPro and seeing what "might" need to be adjusted (if anything). Why hasn't Apple done this (I suspect they already have but elected to withhold), simple, get more existing Mac customers to buy new Macs every 2 years (now that is traditional Apple marketing). I think the resources are more than justified considering you have about 18 months worth of Mac consumers dropping $4K - $10K on 2006 to 2007 MacPros -- that's a large chunk of change to leave out in the cold and not many conusmers are willing to get new MacPros every 2 years -- I can assure you if this train of thought continues at apple, those same EFI64 folks will be left out in the colder sooner than later -- it's a cycle that isn't necessary for Apple's increase marketshare.

    Given that EFI64 is a Superset of EFI32 it would mean existing EFI32 video cards would still work fine with an updated Firmware. And as I've pointed out, extensions do NOT have to come from the ROM, then can reside on disk so it's very likely NOT a physical limit but just an artificial marketing limit.

    I purchased my MacPro Sept/Oct 2007 -- is Sept 2009 -- that's 2 years old, EFI64 was probably available Jan 2007, but not implemented til 2008 (UEFI specification was released Jan 2007).

    Just go to any PC hardware web site, the #1 reason why consumers don't want a Mac is "limited upgradability", #2 is price, #3 application support. But maybe you're right, maybe Apple really don't want the same market penetration that Windows PC's enjoy -- but I doubt that.

    But anyway, that's about as much as I'm willing to debate this, we can choose to disagree, but I'll bet you $100 that this comes up again by someone else and then again when the EFI64 folks get left out in the cold for no real valid reason other than "we didn't want to spend a week of resources on it".

    Rob.
  • William Lloyd Level 7 Level 7 (20,980 points)
    Just because it's Intel based, doesn't mean it's a white box X86 box. You can't swap a motherboard in a Dell (they're proprietary), and often you can't flash the BIOS with anything other than what Dell provides. Do they every provide features in BIOS updates?

    I've never seen Apple say "Now that we're Intel, you're going to be able to upgrade your EFI and keep tweaking and extending the life of your machines, and…" What they are producing, first and foremost, is a Mac, and it's nice because it's integrated hardware/software, is easy to use, etc. I've just never seen the Macs as a "tweakers" platform. I can also say, the work to support EFI64 is probably more than "just a week," given the amount of QA and testing that probably went into 10.6, and the number of problems that people still see in all manner of configurations.
  • William Kucharski Level 6 Level 6 (14,890 points)
    William Lloyd wrote:
    I've never seen Apple say "Now that we're Intel, you're going to be able to upgrade your EFI and keep tweaking and extending the life of your machines, and…" What they are producing, first and foremost, is a Mac, and it's nice because it's integrated hardware/software, is easy to use, etc. I've just never seen the Macs as a "tweakers" platform. I can also say, the work to support EFI64 is probably more than "just a week," given the amount of QA and testing that probably went into 10.6, and the number of problems that people still see in all manner of configurations.


    Precisely.

    Let's also not forget that Intel was likely the vendor for the EFI32 ROM on these machines as part of a board support package, so perhaps the anger should instead be vented at Intel.
  • andrewmmc Level 1 Level 1 (0 points)
    I have to disagree completely on the performance issue. I have an early '08 Mac Pro 8-core 3.2Ghz and an early '09 iMac 2.8Ghz machine on my desk side by side. In 32-bit mode, the iMac is noticeably slower than the MacPro, but in 64-bit mode, is noticeably faster in general use. I realise this is only empirical data, but the difference is marked enough for me to be annoyed generally that I cannot run Snow Leopard in 64-bit mode on the Mac Pro.

    I understand that there might be other design issues down to the processor differences, system architecture at a low level that might mean the Mac Pro doesn't see a similar noticeable speed increase, but it sure is irritating. If the EFI32 on my Mac Pro can be updated, I believe that should be an option for users. I deliberately spec'd up the Mac Pro in anticipation of Snow Leopard and I feel I have been let down by Apple in not being able to run S-L in 64-bit mode. Very disappointed given the large investment in hardware.

    Andrew
  • Rob A. Level 1 Level 1 (40 points)
    Andrew,

    Thank you for the support, agree 100% with you. We're not alone, there are many other folks like you and I that are being very public about this EFI32 issue on other forums.

    I hope Apple do the right thing here -- I don't think this is something they can try to ignore and hope it goes away.

    BTW, EFI64 is Apple's baby, not Intel's. I'm sure Apple got some guidance from Intel (since Intel were the creators of EFI), but EFI64 is Apple who are members of UEFI (unified EFI forum) along with AMD, ARM, Dell, HP, IBM, Microsoft, Phoenix, etc..

    You can find good reading about EFI here: http://www.uefi.org/home -- but as I said EFI Extensions permit loading from hard drive in addition to ROM, so there is NO real reason why EFI64 can't be made available to older MacPro (aka 2006/2007).

    Rob
  • William Kucharski Level 6 Level 6 (14,890 points)
    Rob A. wrote:
    You can find good reading about EFI here: http://www.uefi.org/home -- but as I said EFI Extensions permit loading from hard drive in addition to ROM, so there is NO real reason why EFI64 can't be made available to older MacPro (aka 2006/2007).


    Unless there are hardware reasons why EFI will not work in 64-bit mode on those particular platforms.

    If so, nothing will get around cards' insistence upon having 64-bit EFI.

    As Windows shows, it's possible to create a thunking layer to boot a 64-bit kernel on a system with 32-bit EFI, but the cards requiring 64-bit EFI still wouldn't work.
Previous 1 2 Next