Linked by Thom Holwerda on Wed 5th Jan 2011 22:09 UTC
Windows And this is part two of the story: Microsoft has just confirmed the next version of Windows NT (referring to it as NT for clarity's sake) will be available for ARM - or more specifically, SoCs from NVIDIA, Qualcomm, and Texas Instruments. Also announced today at CES is Microsoft Office for ARM. Both Windows NT and Microsoft Office were shown running on ARM during a press conference for the fact at CES in Las Vegas.
Thread beginning with comment 456170
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: enough bits?
by oiaohm on Thu 6th Jan 2011 12:53 UTC in reply to "RE: enough bits?"
oiaohm
Member since:
2009-05-30

"I sure hope they are planning to target only a future 64 bit ARM. It would be annoying if 32 bit addressing gets a new lease on life due to this. Personally, when I write a (linux) program, I generally don't even consider whether it would be portable to a 32 bit machine, just like I don't consider whether it would be portable to a 16 bit machine. I'd like it to stay that way.


The ARM Cortex-A15 MPCore CPU architecture, which is the one aimed at desktops and servers, is a 32-bit architecture. Nevertheless, it does not suffer from a limitation of 4GB of main memory, it can in fact address up to one terabyte (1TB) of main memory.

http://www.engadget.com/2010/09/09/arm-reveals-eagle-core-as-cortex...
"

Also important note the 4GB limit on 32 bit OS on a lot of x86 chips is garbage as well. PAE mode. 64gb to 128gb. 32 bit mode.

So 32 bit being limited to 4GB is mostly a market bending nothing more by Microsoft.

So we can expect MS to treat ARM the same as what they do x86. Different versions different limits nothing todo with real hardware limits.

Reply Parent Score: 1

RE[3]: enough bits?
by Thom_Holwerda on Thu 6th Jan 2011 13:02 in reply to "RE[2]: enough bits?"
Thom_Holwerda Member since:
2005-06-29

So 32 bit being limited to 4GB is mostly a market bending nothing more by Microsoft.


Lolwut?

Windows' 32bit client versions do PAE but limits the *operating system* to 4GB anyway due to problems it caused with instability with some drivers (Windows Server 32bit do support more than 4GB).

"However, by the time Windows XP SP2 was under development, client systems with more than 4GB were foreseeable, so the Windows team started broadly testing Windows XP on systems with more than 4GB of memory. Windows XP SP2 also enabled Physical Address Extensions (PAE) support by default on hardware that implements no-execute memory because its required for Data Execution Prevention (DEP), but that also enables support for more than 4GB of memory.

What they found was that many of the systems would crash, hang, or become unbootable because some device drivers, commonly those for video and audio devices that are found typically on clients but not servers, were not programmed to expect physical addresses larger than 4GB. As a result, the drivers truncated such addresses, resulting in memory corruptions and corruption side effects. Server systems commonly have more generic devices and with simpler and more stable drivers, and therefore hadn't generally surfaced these problems. The problematic client driver ecosystem led to the decision for client SKUs to ignore physical memory that resides above 4GB, even though they can theoretically address it."


http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/30920...

However, *applications* in 32bit Windows can access more than 4GB if they want to using AWE (Address Windowing Extensions).

In other words, you're talking out of your ass.

Edited 2011-01-06 13:03 UTC

Reply Parent Score: 1

RE[4]: enough bits?
by malxau on Thu 6th Jan 2011 15:12 in reply to "RE[3]: enough bits?"
malxau Member since:
2005-12-04

"So 32 bit being limited to 4GB is mostly a market bending nothing more by Microsoft.
Lolwut? Windows' 32bit client versions do PAE but limits the *operating system* to 4GB anyway due to problems it caused with instability with some drivers (Windows Server 32bit do support more than 4GB).
...
However, *applications* in 32bit Windows can access more than 4GB if they want to using AWE (Address Windowing Extensions).
"

A Windows client SKU won't address more than 4Gb of physical memory. This means that applications can't use those physical pages either. If an app can use those physical pages, you'll have those pages going through device drivers, which is what the article claims is not supported. If an application attempts to address more than 4Gb of memory, this can only be achieved by paging (ie., giving more than 4Gb of virtual address space but without more than 4Gb of physical pages.) So if you want to put 8Gb of RAM in a machine and actually use it, you have to choose between a 64-bit client SKU or a 32-bit server SKU; a 32-bit client SKU will not use half of that memory.

In other words, you're talking out of your ass.


Please don't include this kind of discourse. It's not constructive, helpful, or informative.

Reply Parent Score: 0

RE[3]: enough bits?
by Neolander on Thu 6th Jan 2011 13:14 in reply to "RE[2]: enough bits?"
Neolander Member since:
2010-03-08

PAE allows you to have more than 4 GB of addressable physical memory, but you can only map them in a 32-bit address space*. A single process thus still cannot hold more than 4 GB of data easily.

PAE is just fine for running lots of small processes on a big machine, as an example if you're running lots of small virtual machines on a server. But for the power-hungry desktop user who wants to crunch terabytes of data in some video editing software, on the other hand, I don't think it'll ever be that useful. Except if we start coding multi-process video editing software, but since developers already have issues with multiple threads I don't see this happening soon...

* AMD64 Vol2, r3.15 (11/2009), p120

Edited 2011-01-06 13:16 UTC

Reply Parent Score: 1

RE[4]: enough bits?
by malxau on Thu 6th Jan 2011 15:25 in reply to "RE[3]: enough bits?"
malxau Member since:
2005-12-04

PAE allows you to have more than 4 GB of addressable physical memory, but you can only map them in a 32-bit address space*.


A single process can use AWE to map subsets of data in its limited address space at a time while still using more than 32-bits of physical memory. Or, in many cases, it can delegate that job to the operating system (eg. by using the OS file cache, which is not limited to the process' 4Gb limit.)

...but since developers already have issues with multiple threads I don't see this happening soon...


So perhaps we're moving to 64-bit for simplicity, not necessity.

Reply Parent Score: 1

RE[3]: enough bits?
by phoenix on Thu 6th Jan 2011 23:39 in reply to "RE[2]: enough bits?"
phoenix Member since:
2005-07-11

Also important note the 4GB limit on 32 bit OS on a lot of x86 chips is garbage as well. PAE mode. 64gb to 128gb. 32 bit mode.

So 32 bit being limited to 4GB is mostly a market bending nothing more by Microsoft.


PAE allows the *kernel* to access more than 4 GB of RAM. However, *processes* can only see 4 GB of RAM, period. Each process can be given it's own 4 GB chunk of memory, though. But they are still limited to 4 GB.

And the kernel has to do a lot of thunking and bounce buffers and hoop jumping and whatnot to manage PAE accesses. And all your drivers need to be coded to support PAE. And all your low-level apps need to be coded to support PAE. And on and on.

PAE is a mess, and should be avoided like the plague unless there's absolutely no way to run a 64-bit OS/apps.

The only way for an app/process to access more than 4 GB of RAM (on x86) is to use a 64-bit CPU with a 64-bit kernel.

Reply Parent Score: 2

RE[4]: enough bits?
by Panajev on Fri 7th Jan 2011 09:27 in reply to "RE[3]: enough bits?"
Panajev Member since:
2008-01-09

64 bit kernel is not necessary, see OS X. X86-64 CPU's can switch between two modes of operations at run-time allowing 64 bits processes as well as a 32 bit kernel and drivers.

Reply Parent Score: 2

RE[4]: enough bits?
by oiaohm on Fri 7th Jan 2011 12:10 in reply to "RE[3]: enough bits?"
oiaohm Member since:
2009-05-30

"Also important note the 4GB limit on 32 bit OS on a lot of x86 chips is garbage as well. PAE mode. 64gb to 128gb. 32 bit mode.

So 32 bit being limited to 4GB is mostly a market bending nothing more by Microsoft.


PAE allows the *kernel* to access more than 4 GB of RAM. However, *processes* can only see 4 GB of RAM, period. Each process can be given it's own 4 GB chunk of memory, though. But they are still limited to 4 GB.

And the kernel has to do a lot of thunking and bounce buffers and hoop jumping and whatnot to manage PAE accesses. And all your drivers need to be coded to support PAE. And all your low-level apps need to be coded to support PAE. And on and on.
"
Really name a Linux program that has to be changed between PAE mode and non PAE mode. Answer zero.

PAE does not have to have anything todo with userspace.

PAE thunking is way lighter than swapspace.

What stunts do 32 bit programs that need to use more than 4gb of space use. Memory mapping to file. PAE Provides more access to storage space so can reduce number of disk operations on a memory mapped file.

So don't quote trash. 64 bit system is not the only way to exceed the 4 GB limit.

Yes a program running on a Non PAE 32 bit machine can be using methods already to have more space than the 4 gb limit at the cost of performance. PAE enables you to reduce the cost of those stunts.

Shock horror is just using PAE for swap, disk cache and assisting mapped files to reduce disk accesses don't require you to be running all PAE compatible drivers. Since most drivers should not be messing with this stuff.

Here is the best bit of all PAE used this way is not even new. Its basically using same style as Expanded memory. Yes breaking the 4 gb limit goes back to 1984.

The limit is 4 gb of memory at 1 time on x86 32 bit. Yes memory mapping and other methods means a program could be many times large than that in reality with or without PAE active.

Difference is PAE can remove the speed hits from the methods used by programs to exceed the 4gb limit.

That is the big mistake here. You are presuming that programs will not be using more than 4gb of memory. That presume is based on the idea that the OS did not provide programmers with a way around that problem. What is incorrect.

Reply Parent Score: 1