Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!zaphod.mps.ohio-state.edu!usc!snorkelwacker!spdcc!esegue!johnl From: johnl@esegue.segue.boston.ma.us (John R. Levine) Newsgroups: comp.arch Subject: Re: IBM PC prehistory Message-ID: <1990Jan11.014156.18658@esegue.segue.boston.ma.us> Date: 11 Jan 90 01:41:56 GMT References: <1576@aber-cs.UUCP> Reply-To: johnl@esegue.segue.boston.ma.us (John R. Levine) Organization: Segue Software, Cambridge MA Lines: 24 In article <1576@aber-cs.UUCP> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes: >The more incredible thing is not only that all the 386 running >DOS out there are essentially emulating an 8080 on steroids, >and thus don't ussually bother to use the MMU, but that even >Unix does not really take advantage of the Multics like >features of the 286/386 MMU at all, using the 286/386 as either >a glorified PDP or VAX. Some of us who have spent years fighting the Intel segmented architecture are pleased as punch to be able to ignore it on the 386. Please don't say what a swell idea 286 segmentation is until you've tried to make a large program work on an 8086 or 286, breaking all of the data up into 64K chunks. Even on the 386, a segmented address is 48 bits, a large and inconvenient size that no language (except PL/I, sort of) really supports. On both the 286 and 386 dereferencing a segmented address is about 7 times slower than a non-segmented address, so to get reasonably fast segmented code you have to pollute your program with directives to the compiler telling it which addresses are inter-segment and which are intra-segment. The heck with it. -- John R. Levine, Segue Software, POB 349, Cambridge MA 02238, +1 617 864 9650 johnl@esegue.segue.boston.ma.us, {ima|lotus|spdcc}!esegue!johnl "Now, we are all jelly doughnuts."