Path: utzoo!attcan!uunet!bellcore!att!linac!uwm.edu!rpi!zaphod.mps.ohio-state.edu!think.com!snorkelwacker.mit.edu!bloom-beacon!eru!hagbard!sunic!mcsun!cernvax!chx400!bernina!neptune!inf.ethz.ch!brandis From: brandis@inf.ethz.ch (Marc Brandis) Newsgroups: comp.arch Subject: Re: Segmented machines and per process memory limits. Message-ID: <23707@neptune.inf.ethz.ch> Date: 1 Feb 91 07:51:27 GMT References: <9101312359.AA07832@ucbvax.Berkeley.EDU> Sender: news@neptune.inf.ethz.ch Reply-To: brandis@inf.ethz.ch (Marc Brandis) Organization: Departement Informatik, ETH, Zurich Lines: 39 In article <9101312359.AA07832@ucbvax.Berkeley.EDU> jlol@ee.byu.edu writes: >After much work spent trying to get a large code to run on an IBM >RS/6000, we finally were told that it is a segmented machine and each >process can only have a data segment of 256 MB minus the stack segment >size. The 'workaround' is that you can allocate up to ten shared memory >segments (256 MB each) and attach them to your process. > >Anyway, what we're wondering is whether other 'super workstations' >like the new MIPS server, HP's soon to be announced "snake" line, etc. >are going to have similar limitations. It seems like IBM has pulled >another "nobody will ever need more than 64k segments" trick on us. > The limitation that your data segment cannot be larger than 256M is not built into the machine but into AIX. Actually, by providing this kind of segmentation IBM allows to break the 32-bit addressing barrier and opens up a 52-bit virtual address space. In "RISC System/6000 Processor Architecture" (IBM RISC System/6000 Technology, p. 20) Groves and Oehler write: The most significant four bits of each 32-bit effective address are used to select one of 16 segment registers. Each of these segment registers can be assigned to memory or I/O space determined by a bit in each segment register ... ... the least significant 24 bits of the segment register (the segment ID) are concatenated with remaining 28 bits of the effective address to create the 52 bit virtual address. So, if IBM really feels the need to have more than 256 MBytes of data which is not shared, they can remove this restriction with a new OS release. In the HP Precision Architecture, a similar approach is used to extent the addressing space beyond 32 bits while still using 32-bit addresses. There, the segments are 1 Gigabyte large. I do not know whether their OS does not allow to allocate static data larger than one segment. Marc-Michael Brandis Computer Systems Laboratory, ETH-Zentrum (Swiss Federal Institute of Technology) CH-8092 Zurich, Switzerland email: brandis@inf.ethz.ch