Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!linus!philabs!cmcl2!seismo!harvard!godot!ima!johnl
From: johnl@ima.UUCP
Newsgroups: net.micro
Subject: Re: 64K segments are good for you
Message-ID: <507@ima.UUCP>
Date: Sun, 10-Mar-85 23:39:00 EST
Article-I.D.: ima.507
Posted: Sun Mar 10 23:39:00 1985
Date-Received: Tue, 12-Mar-85 21:27:50 EST
Lines: 19
Nf-ID: #R:looking:-24200:ima:11700013:000:1007
Nf-From: ima!johnl    Mar 10 23:32:00 1985

It's true that programs with short addresses run faster than programs
with large addresses.  But that's no reason to endorse a processor that
insists on breaking up everything into 64K segments.

The '86 series has a compact though complex instruction format, which
makes programs faster since there are fewer bytes of instruction stream
to decode.  It's no big trick, though, to make a computer with compact
object code AND linear addressing.  Consider the Vax.  If your programs
fit in 64K, you can use 16 bit offsets in all of the instructions and your
code is small and fast (the -d2 option to cc does that.)  If your programs
are bigger, you can use larger addresses.  The NS32032, being a VAX ripoff,
does the same thing.

Segmented architectures have all sorts of swell advantages, viz Multics,
but limiting the segments to 64K has no redeeming social value.  Even Intel
implicitly admits this since the 386 will have large, useful segments.  Sure
hope they can make it work.

John Levine, ima!johnl