Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/13/84; site intelca.UUCP Path: utzoo!watmath!clyde!bonnie!akgua!gatech!seismo!lll-crg!qantel!intelca!glen From: glen@intelca.UUCP (Glen Shires) Newsgroups: net.micro,net.arch Subject: Re: Re: What if IBM used a 68000 Message-ID: <147@intelca.UUCP> Date: Fri, 6-Dec-85 19:15:19 EST Article-I.D.: intelca.147 Posted: Fri Dec 6 19:15:19 1985 Date-Received: Sun, 8-Dec-85 03:23:29 EST References: <212@fas.ri.cmu.edu>, <702@petrus.UUCP> <6178@utzoo.UUCP> Organization: Intel, Santa Clara, Ca. Lines: 27 Xref: watmath net.micro:12988 net.arch:2230 > > besides, it is quite possible to write position ind. code > > with a 68000. (i.e. no MMU required) > > Try writing the code for position-independent pointers some time; it's lots > of fun, especially if you are never allowed to have a position-dependent > value around even for an instant (except in pre-agreed places like the A > registers). It's easy to write position-independent code if that code and > its data will *never* need to be moved once it starts running. Writing code > that can be moved at randomly-chosen times and continue to run is not > so simple. > -- > Henry Spencer @ U of Toronto Zoology > {allegra,ihnp4,linus,decvax}!utzoo!henry Precisely why Mac accesses all pointers (called "handles") through a table requiring a double indirect access on all pointers. Also, for position independance during runtime, they limit some code pieces to 32K to allow branches with 16-bit signed pointers. And people ask why Mac is so slow! Segments, especially big 4Gigabyte ones, allow simple runtime relocatability without having to resort to such programming techniques. -- ^ ^ Glen Shires, Intel, Santa Clara, Ca. O O Usenet: {ucbvax!amd,pur-ee,hplabs}!intelca!glen > ARPA: "amd!intelca!glen"@BERKELEY \-/ --- stay mellow