Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!paperboy!meissner From: meissner@osf.org (Michael Meissner) Newsgroups: comp.arch Subject: Re: Segmented Architectures ( formerly Re: 48-bit computers) Message-ID: Date: 11 Apr 91 15:45:20 GMT References: <1991Apr04.023845.3501@kithrup.COM> <1991Apr04.230953.15294@kithrup.COM> <1991Apr06.030330.1533@kithrup.COM> <572@lysator.liu.se> Sender: news@OSF.ORG Organization: Open Software Foundation Lines: 26 In-reply-to: bellman@lysator.liu.se's message of 8 Apr 91 02:40:28 GMT In article <572@lysator.liu.se> bellman@lysator.liu.se (Thomas Bellman) writes: | Perhaps the best would be to let the programmer choose for himself. | Have two types of instructions for accessing memory -- one type that | uses pointers that consists of a segment number and an offset, and one | type that has a flat view of the address space, both usable from user | mode. Say SEGSTORE and SEGLOAD that takes a segmented address, and | FLATSTORE and FLATLOAD that takes a non-segmented address. And then | some way of converting between the two types of pointers. Then those | that like segments, can take advantage of them, and those that likes a | flat address space, can take advantage of that. No, No, No. If a segmented pointer needs different instructions to load up, you need to provide two or more versions of the library, one that expects pointers to be segmented and one that doesn't. This is the primary problem with x86 segments -- you have to have different models and libraries, and then you wind up gunking up 'portable' code to anonatate whether particular pointers are far, near, or huge. -- Michael Meissner email: meissner@osf.org phone: 617-621-8861 Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142 Considering the flames and intolerance, shouldn't USENET be spelled ABUSENET?