RE: Can a task on each of 2 processors share 7 GB of physical m emory
RE: Can a task on each of 2 processors share 7 GB of physical m emory
- Subject: RE: Can a task on each of 2 processors share 7 GB of physical m emory
- From: "Miller, Larry" <email@hidden>
- Date: Thu, 13 Nov 2003 08:58:03 -0800
Quinn,
By wired, I mean the data that I put in the memory remains at a fixed place
in physical memory - it is not paged out. This would probably be equivalent
to a fixed mapping from VM to physical memory.
I heard that OS-X Panther was in some ways a 64-bit OS. In other words, I
thought tasks could execute 64-bit addressing load and store machine
instructions. Maybe I am mistaken.
Also, I maybe mistakenly thought that you could compile a C/C++ program in a
way such that you could have 64-bit pointers that are dereferenced.
If these things are not available, does anyone one have an idea of when they
will become available in the future?
Thanks,
Larry
-----Original Message-----
From: Quinn
To: 'email@hidden'
Sent: 11/13/2003 1:58 AM
Subject: Re: Can a task on each of 2 processors share 7 GB of physical
memory
At 18:37 -0800 12/11/03, Miller, Larry wrote:
>
I would like to be able to wire these blocks.
The G5 has two different types of wired memory. There's the
traditional definition of wired, that is that the virtual to physical
memory translation can't change, and then there's a new concept of
"wired for I/O". Wiring memory for I/O enters it into a memory
management unit that translates 32-bit PCI addresses into > 32-bit
processor physical addresses (the DART).
Which of these forms of wiring are you interested in?
>
And I would like to have a
>
task on each of the two processors have direct access (thru pointer
>
dereferencing) to this 7 GB worth of memory.
This indicates that you want to access > 4 GB of memory from a single
process via direct pointer access. Do I understand you correctly?
If so, this can't be done on G5 systems running current versions of
Mac OS X. Currently all processes have a 32-bit address space and
run in 32-bit mode. Therefore no process can directly access more
than 4 GB of memory (the limit is less if you consider the address
space consumed for frameworks etc).
That's not to say that the G5's large physical memory is useless. It
allows you to run multiple processes, each with a huge working set.
You can also indirectly access large memory spaces by changing the
memory mappings within your process. However, both of these are
outlawed by your problem statement.
Apple is aware of the need for supporting 64-bit address spaces.
However, I'm not authorised to say anything about our plans in this
area.
S+E
--
Quinn "The Eskimo!" <
http://www.apple.com/developer/>
Apple Developer Technical Support * Networking, Communications, Hardware
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.