Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Computing > Computer Support > Re: 32 bit 64 bit... confusion

Reply
Thread Tools

Re: 32 bit 64 bit... confusion

 
 
chuckcar
Guest
Posts: n/a
 
      10-24-2009
philo <> wrote in
news::

> bonius mcheadius wrote:
>> Meat Plow <> wrote in
>> news::


> RAM over approx 3.2 gigs it has nothing to do with which OS you use...
> it's simply a function of all 32bit operating systems.
>
> Chances are the 32 OS you already are using will do the job
>

Wrong. It *is* the operating system. The address bus and motherboard on
any recent pentium class computer can easily handle over 4 GB. The problem
is with XP Home itself. The Windows 200x family never had this problem when
memory capacity got this big.


--
(setq (chuck nil) car(chuck) )
 
Reply With Quote
 
 
 
 
chuckcar
Guest
Posts: n/a
 
      10-25-2009
philo <> wrote in
news::

> chuckcar wrote:
>> philo <> wrote in
>> news::
>>
>>> bonius mcheadius wrote:
>>>> Meat Plow <> wrote in
>>>> news::

>>
>>> RAM over approx 3.2 gigs it has nothing to do with which OS you
>>> use...
>>> it's simply a function of all 32bit operating systems.
>>>
>>> Chances are the 32 OS you already are using will do the job
>>>

>> Wrong. It *is* the operating system. The address bus and motherboard on
>> any recent pentium class computer can easily handle over 4 GB. The
>> problem is with XP Home itself. The Windows 200x family never had this
>> problem when memory capacity got this big.
>>

> the exception is PAE you need to use Google
>

You *said* the problem wasn't the OS but the hardware. Now you point to a
part of the hardware that the software wasn't using properly. It's an
exact analogy to the 64KB page size in the original IBM PC's. The machine
can only use one chunk at a time, but it can cover multiple chunks. This
is Intel screwing up the superior flat memory model again with nonsence.
The hardware is capable, the software doesn't do it right. Paging is
easily transparent to the user. Hence EMS and XMS when they were used.

The question remains is why Intel didn't just make a 48 or 64 Bit address
bus. Upgradability the old cash cow I guess.


--
(setq (chuck nil) car(chuck) )
 
Reply With Quote
 
 
 
 
TheLostPacket
Guest
Posts: n/a
 
      10-25-2009

Bytes of data readily accessible to the processor are identified by a
memory address, which by convention starts at zero and ranges to the
upper limit addressable by the processor. 32-bit processors typically
use memory addresses that are 32 bits wide. The 32-bit wide address
allows the processor to address 2^32 bytes of memory, which is exactly
4,294,967,296 bytes, or four gigabytes. This is the direct source of
the four-gigabyte memory addressing limitation.

Further, all current 32-bit desktop and server versions of Windows
(that is, Windows XP Home, Windows XP Pro, Windows XP Media Center
Edition, and all non-embedded editions of Windows 2003 Server, all
editions of Windows 2000) support addressing four gigabytes of
physical memory.

Yet accessing four gigabytes of physical memory isn't possible on all
machines. Why is that?

While there's no limit in Windows beyond the four-gigabyte limit of
the address space, the address space might contain things other than
memory. Hardware designers frequently use a technique called memory-
mapped I/O. Memory-mapped I/O places memory which is visible to a
peripheral on the system bus, in the address space of the processor.
To communicate with the device, the processor simply writes data into
the range of memory the device has mapped into its address space. This
mechanism is significantly faster than using a specialized bus for I/O
access, and provides additional benefits the software and hardware
designers alike.

Windows will work with the hardware to map as much physical storage
memory as possible into the spaces around the device-provided memory
mapped features. While the total memory available to the operating
system will be less than four gigabytes, the system certainly is
capable of accessing four gigabytes of memory space. For applications
where memory is important, care must be exercised in selecting and
configuring peripherals in order to assure the maximum amount of
memory is available.

One easy way to see what memory mapping is happening is to use the
Device Manager on your system and have it show what mapping is
occurring. On a machine with three gigabytes of memory,
Right-click on the "My Computer" icon
Select "Properties" from the Context menu
In the resulting "System Properties" dialog, activate the "Hardware"
tab
Click on the "Device Manager" button
In the "View" menu, select the "Resources by Connection" command
select the "Memory" node in the tree
Press the "*" key on the numeric keypad to expand all the nodes in the
memory tree

When this system boots an xp virtual machine, it counts 3072 megabytes
of memory in the BIOS, and shows 3.0 GB in the general properties for
the computer. But using the "Performance" tab of Task Manager, this
machine reports 3,144,940 kilobytes of available physical memory. This
isn't quite enough, as 3072 megabytes of memory is 3,145,728 kilobytes
of memory. Where did the missing 788 kilobytes of memory go?

Addresses shown in the Device Manager window are in hexadecimal. We
don't care about many of them, but one of the important values we're
interested in is 0xC0000000, since that corresponds to three
gigabytes. We can see that Windows has allocated addresses 0x00100000
through 0xBFFFFFFF to the system board, and that totals 3,144,704
kilobytes of memory. There's also the range 0x000E0000 through
0x000FFFFF, which is another 128 kilobytes of memory. That brings us
within 788 kilobytes of our expected total.

One hole of memory is evident at 0x000A0000 through 0x000BFFFF; this
memory is mapped to the display adapter for its text mode and lower
graphics modes. These addresses have been used by the display adapter
by convention since the original IBM PC in the early eighties, and are
retained for compatibility. Adding the memory around it brings us
within a few kilobytes of our physical memory goal.

The hole the graphics adapter causes in physical memory is called its
aperture. This value is settable in the system BIOS, at the cost of
being able to access memory on the video card directly and rapidly.
With very large buffers on video cards, and the advent of SLI systems,
the memory aperture taken out of the system address space can be huge,
and reduces the usable general-purpose memory accessible by the
system.

Had this system four gigs of memory, the system would show at most
3.94 gigabytes of physical memory available after it booted with the
64 megabyte aperture. With the 256 megabyte aperture, the maximum is
3.75 gigabytes. The true maximum is substantially less, since the 256
megabyte card memory also comes from the physical address space, as
well as memory for other devices on the system.

Note that all the addresses in this section of the document are
physical. The OS is free to map a physical address range to a logical
address range in any way it sees fit, and that's important for
understanding the next section, where all the addresses described are
logical.

PAE extends the range of Windows memory mapping by adding another 4
bits to the address bus - meaning the system can now address 64GB of
memory - handy on a multicore 32-bit system, for instance a dual AMD
Athlon MP, on a board such as a Tyan Tiger, would turn into a real
powerhouse since the board can handle 8GB of physical memory (I know,
I have one). There is a slight problem though, since Windows tries to
load device drivers into high memory areas, it often ends up stuffing
them into areas of memory that don't physically exist. SP2 got around
this by simply switching off PAE. Back again to the hard 4GB memory
address space. I don't know if SP3 addressed this further by actually
attempting to /fix/ the PAE problem. Someone else'll have to answer
that one. What I do know is that my Athlon MP gets around it by
dividing the memory down the middle so the system (when it ran xp SP1,
and SP2 for about a year) reported 7.8GB RAM (with every RAM switch
tweak I could think of and a really small graphics aperture), and each
processor addressed and utilised 3.9GB between kernel and userspace -
what I ended up with was a whopping nearly 6GB of usable physical
memory. Windows xp SP1 used PAE to allow the application software to
address >4GB /virtually/, which kinda worked though there were odd
problems such as paging errors in memory spaces that didn't exist...
in the end, that machine got migrated to Linux and I've not looked
back and regretted the move, not once.

Sources: TechNet, MSDN, [H]ard|forum, IME
 
Reply With Quote
 
chuckcar
Guest
Posts: n/a
 
      10-25-2009
philo <> wrote in
news::

> chuckcar wrote:
>> philo <> wrote in
>> news::


>>>> Wrong. It *is* the operating system. The address bus and motherboard
>>>> on any recent pentium class computer can easily handle over 4 GB. The
>>>> problem is with XP Home itself. The Windows 200x family never had
>>>> this problem when memory capacity got this big.
>>>>
>>> the exception is PAE you need to use Google
>>>

>> You *said* the problem wasn't the OS but the hardware. Now you point to
>> a part of the hardware that the software wasn't using properly. It's an
>> exact analogy to the 64KB page size in the original IBM PC's. The
>> machine can only use one chunk at a time, but it can cover multiple
>> chunks. This is Intel screwing up the superior flat memory model again
>> with nonsence. The hardware is capable, the software doesn't do it
>> right. Paging is easily transparent to the user. Hence EMS and XMS when
>> they were used.
>>
>> The question remains is why Intel didn't just make a 48 or 64 Bit
>> address bus. Upgradability the old cash cow I guess.
>>

> What I meant was it does not matter which OS you use...be it Windows ,
> Linux or whatever...
> without the PAE exception if the OS is 32bit it will only be able to
> utilize approx 3 gigs of RAM
>

Riight. Which *is* a software problem - in machine language granted, but
still software. There were commands to switch pages on 8086 and 8088 based
computers and there will be for these "pages" as well on Pentium class
computers. If you like, I could provide the mnemonics for said instructions.
I won't however unrequested as it would take this beyond the user level.


--
(setq (chuck nil) car(chuck) )
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
What is the point of having 16 bit colour if a computer monitor can only display 8 bit colour? How do you edit 16 bit colour when you can only see 8 bit? Scotius Digital Photography 6 07-13-2010 03:33 AM
Re: 32 bit 64 bit... confusion chuckcar Computer Support 1 10-24-2009 09:20 PM
Re: 32 bit 64 bit... confusion why? Computer Support 0 10-24-2009 02:41 PM
64 bit - Windows Liberty 64bit, Windows Limited Edition 64 Bit, Microsoft SQL Server 2000 Developer Edition 64 Bit, IBM DB2 64 bit - new ! vvcd Computer Support 0 09-17-2004 08:15 PM
64 bit - Windows Liberty 64bit, Windows Limited Edition 64 Bit,Microsoft SQL Server 2000 Developer Edition 64 Bit, IBM DB2 64 bit - new! Ionizer Computer Support 1 01-01-2004 07:27 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57