Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. 64-bit Systems Being Sold With 32-bit Vista

64-bit Systems Being Sold With 32-bit Vista

Scheduled Pinned Locked Moved The Lounge
cssperformancequestionannouncement
31 Posts 11 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Dan Neely

    Unless you're doing something with numbers too large to fit in a 32bit space there's little to no benefit, and having to use 64bit pointers results in increased memory usage and more frequent cache misses (extra space taken by the pointers). The net result is that unless you have an app that is designed to benefit from the larger word size or have more than ~3gb of system memory there will not be any meaningful real world gains. IIRC the bigger pointers effect typically dominates to a 1 or 2% penalty.

    Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall

    M Offline
    M Offline
    Mike Bluett
    wrote on last edited by
    #22

    There is something missing here that I don't understand. Starting with the Pentium Pro (32-bit CPU), Intel processors have been able to access more than 4 Gigs of RAM. This is handled via PAE (Physical Address Extension) mode (see Intel CPU docs for more info). This being the case, why did Intel start developing 64-bit processors if there is no performance advantage? Seems like a rather expensive road to go down if what you say is true.

    D 1 Reply Last reply
    0
    • D Daniel Grunwald

      32-bit vs. 64-bit refers to the size of addresses. It's mainly '64-bit addressing', not '64-bit processing'. What exactly do you mean with '64-bit processing'? If it's RAM access - that's done a whole cache line at once (64 BYTE or so, no matter what the OS is). Yes, 64-bit has more (and larger) registers. Some programs compiled for 64-bit run faster than their 32-bit counterparts. But on the other hand, pointers are twice as large. They take more memory -> less data fits into the processor cache. Some programs run faster in 32-bit mode. And most software is still 32-bit -> Windows will need to have both 32-bit and 64-bit versions of the system libraries loaded at once. If the machine is low on RAM, this will hurt the performance.

      M Offline
      M Offline
      Mike Bluett
      wrote on last edited by
      #23

      Daniel Grunwald wrote:

      32-bit vs. 64-bit refers to the size of addresses. It's mainly '64-bit addressing', not '64-bit processing'.

      I don't think you are quite correct here as the Pentium Pro (32-bit) has the capability of addressing up to 64 Gig using PAE (Physical Address Extension) mode. That implies that Intel created 64-bit processors for another reason. If it has nothing (or little) to do with performance, then what might that reason be?

      Daniel Grunwald wrote:

      Yes, 64-bit has more (and larger) registers. Some programs compiled for 64-bit run faster than their 32-bit counterparts. But on the other hand, pointers are twice as large. They take more memory -> less data fits into the processor cache. Some programs run faster in 32-bit mode.

      This maybe the reason that Intel has introduced the use of 3 cache levels, increased cache sizes, and incorporated the memory addressing unit inside the CPU (or at least I think this last point was a recent change).

      Daniel Grunwald wrote:

      And most software is still 32-bit -> Windows will need to have both 32-bit and 64-bit versions of the system libraries loaded at once. If the machine is low on RAM, this will hurt the performance.

      This could be the reason why they choose not to install the 64-bit OS on machines with less than 4 Gig.

      D 1 Reply Last reply
      0
      • M Mike Bluett

        John C wrote:

        On the other hand I know of no hardware vendor that doesn't offer the *option* of os so I'm not sure why it's a problem, you just specify the OS you want in the end anyway.

        I know of several vendors that do not offer the option: HP laptops and desktops that are sold from Futureshop, Best Buy, London Drugs, Walmart and probably others. These guys sell it as is, with no possibility of change. This is not an issue for me, but it might be for other users. Maybe I am belaboring this point as the performance gain may not be that significant.

        M Offline
        M Offline
        Member 96
        wrote on last edited by
        #24

        Mike Bluett wrote:

        Maybe I am belaboring this point as the performance gain may not be that significant.

        Unless you're doing something very specific and very high end that involves tremendous amounts of hard core math or data shuffling in memory it's actually slower for several reasons pointed out (although I think they forgot to mention WOW emulation). I wouldn't run it if I didn't have to for my virtual development system to cater to the memory requirements. I think 64bit os's are basically best reserved for situations where you have a single computer dedicated primarily to a single task that has been *proven* to be faster on 64bit os and was designed for it. As a general purpose os, 64 bit is *not* the way to go.


        "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

        1 Reply Last reply
        0
        • M Mike Bluett

          There is something missing here that I don't understand. Starting with the Pentium Pro (32-bit CPU), Intel processors have been able to access more than 4 Gigs of RAM. This is handled via PAE (Physical Address Extension) mode (see Intel CPU docs for more info). This being the case, why did Intel start developing 64-bit processors if there is no performance advantage? Seems like a rather expensive road to go down if what you say is true.

          D Offline
          D Offline
          Dan Neely
          wrote on last edited by
          #25

          Because PAE is a fugly kludge. If you did any programming back in the dos/win16 era, it's a resurrection of the segmented memory model and requires significantly more effort to implement than standard x86. Native x64 code works just like the 32 bit version and if well written is fairly painless to port (If you were unwise enough to hardcode pointer, etc sizes into your app it gets painful).

          Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall

          M 1 Reply Last reply
          0
          • realJSOPR realJSOP

            Most system builders provide an OEM version of Windows. The OEM versions are either 32-bit or 64-bit. If you want the choice, you still have to purchase a retail version of Windows (which comes with both versions on the same disc).

            "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
            -----
            "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

            D Offline
            D Offline
            Dan Neely
            wrote on last edited by
            #26

            Vista is separate 32 and 64 bit disks. XP was released without and AFAIK never has had a unified 32/64 bit licensing system.

            Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall

            realJSOPR 1 Reply Last reply
            0
            • M Mike Bluett

              Daniel Grunwald wrote:

              32-bit vs. 64-bit refers to the size of addresses. It's mainly '64-bit addressing', not '64-bit processing'.

              I don't think you are quite correct here as the Pentium Pro (32-bit) has the capability of addressing up to 64 Gig using PAE (Physical Address Extension) mode. That implies that Intel created 64-bit processors for another reason. If it has nothing (or little) to do with performance, then what might that reason be?

              Daniel Grunwald wrote:

              Yes, 64-bit has more (and larger) registers. Some programs compiled for 64-bit run faster than their 32-bit counterparts. But on the other hand, pointers are twice as large. They take more memory -> less data fits into the processor cache. Some programs run faster in 32-bit mode.

              This maybe the reason that Intel has introduced the use of 3 cache levels, increased cache sizes, and incorporated the memory addressing unit inside the CPU (or at least I think this last point was a recent change).

              Daniel Grunwald wrote:

              And most software is still 32-bit -> Windows will need to have both 32-bit and 64-bit versions of the system libraries loaded at once. If the machine is low on RAM, this will hurt the performance.

              This could be the reason why they choose not to install the 64-bit OS on machines with less than 4 Gig.

              D Offline
              D Offline
              Daniel Grunwald
              wrote on last edited by
              #27

              Mike Bluett wrote:

              I don't think you are quite correct here as the Pentium Pro (32-bit) has the capability of addressing up to 64 Gig using PAE (Physical Address Extension) mode. If it has nothing (or little) to do with performance, then what might that reason be?

              PAE just allows a larger physical memory. 64-bit addresses are unrelated to that, I don't think any of the 64-bit processors actually supports 64-bit physical addresses. 64-bit is about virtual memory. With PAE, the virtual memory per process is still limited by the 32-bit pointers. Nowadays 32-bit programs don't run out of RAM, they run out of address space. If you want more than 2 GB RAM using PAE, you'd be basically back in the old DOS days with its cumbersome ways to access "high memory". And even if you don't need more than 2 GB in a single process, heap fragmentation already causes troubles if your address space is close to full. 64-bit pointers are a clean solution for all that.

              M 1 Reply Last reply
              0
              • D Dan Neely

                Vista is separate 32 and 64 bit disks. XP was released without and AFAIK never has had a unified 32/64 bit licensing system.

                Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall

                realJSOPR Offline
                realJSOPR Offline
                realJSOP
                wrote on last edited by
                #28

                My point is that the OEM install of Vista is used by most/all system builders, and that version only comes with one of the versions (32 or 64-bit), and that if you want the option if installing either one, you either have to buy the other version as OEM, or the retail package with includes both versions. I wasn't talking about XP at all...

                "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                -----
                "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                D 1 Reply Last reply
                0
                • realJSOPR realJSOP

                  My point is that the OEM install of Vista is used by most/all system builders, and that version only comes with one of the versions (32 or 64-bit), and that if you want the option if installing either one, you either have to buy the other version as OEM, or the retail package with includes both versions. I wasn't talking about XP at all...

                  "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                  -----
                  "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                  D Offline
                  D Offline
                  Dan Neely
                  wrote on last edited by
                  #29

                  It's only $10 (for shipping and handling) to get a disk from MS. Not free but if they did that asshats would bombard them with free disk requests in an effort to bankrupt the program. Edit: Also, my suspicion is that probably better than 90% of the people who're even aware of the 32/64bit difference and have any interest in the OS already either have the media itself, or know someone who can lend them a copy to do the upgrade.

                  Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall

                  1 Reply Last reply
                  0
                  • D Daniel Grunwald

                    Mike Bluett wrote:

                    I don't think you are quite correct here as the Pentium Pro (32-bit) has the capability of addressing up to 64 Gig using PAE (Physical Address Extension) mode. If it has nothing (or little) to do with performance, then what might that reason be?

                    PAE just allows a larger physical memory. 64-bit addresses are unrelated to that, I don't think any of the 64-bit processors actually supports 64-bit physical addresses. 64-bit is about virtual memory. With PAE, the virtual memory per process is still limited by the 32-bit pointers. Nowadays 32-bit programs don't run out of RAM, they run out of address space. If you want more than 2 GB RAM using PAE, you'd be basically back in the old DOS days with its cumbersome ways to access "high memory". And even if you don't need more than 2 GB in a single process, heap fragmentation already causes troubles if your address space is close to full. 64-bit pointers are a clean solution for all that.

                    M Offline
                    M Offline
                    Mike Bluett
                    wrote on last edited by
                    #30

                    Daniel Grunwald wrote:

                    PAE just allows a larger physical memory. 64-bit addresses are unrelated to that, I don't think any of the 64-bit processors actually supports 64-bit physical addresses.

                    You are right as all that is needed is 36 bits. PAE mode provides 36-bit physical addressing (which is enough to allow access up to 64 Gigs). In fact, if you read the Intel manuals you will see that the 64-bit processors also use PAE mode to access memory beyond 4 Gigs. "The physical address extension (PAE) flag in register CR4 enables the PAE mechanism and extends physical addresses from 32 bits to 36 bits (or to MAXPHYADDR bits). Here, the processor provides additional address line pins (4 for 36-bit physical addressing) to accommodate the additional address bits." (Vol3 P:3-34 Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A:System Programming Guide, Part 1). 64-bit processors vary in how many actual physical bits they use, but they have to use at least 36 bits. PAE mode automatically results in Paging being used.

                    Daniel Grunwald wrote:

                    64-bit is about virtual memory.

                    64-bit does not, by itself, have anything to do with virtual memory. Virtual memory is available if Paging is implemented. However, since addressing above 4 Gigs involves using PAE mode (which inherently uses Paging), I guess you could think of it the way you have.

                    1 Reply Last reply
                    0
                    • D Dan Neely

                      Because PAE is a fugly kludge. If you did any programming back in the dos/win16 era, it's a resurrection of the segmented memory model and requires significantly more effort to implement than standard x86. Native x64 code works just like the 32 bit version and if well written is fairly painless to port (If you were unwise enough to hardcode pointer, etc sizes into your app it gets painful).

                      Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall

                      M Offline
                      M Offline
                      Mike Bluett
                      wrote on last edited by
                      #31

                      dan neely wrote:

                      it's a resurrection of the segmented memory model and requires significantly more effort to implement than standard x86.

                      If your "It" is referring to PAE mode, then you would be incorrect. PAE mode does not use segmentation: It uses Paging. "When the PAE paging mechanism is enabled, the processor supports two sizes of pages: 4-KByte and 2-MByte." (P:3-34 Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A:System Programming Guide, Part 1).

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups