[net.micro] 64K segments are good for you

brad@looking.UUCP (Brad Templeton) (03/04/85)

I've struggled quite a bit with 64K address limitations, and I'll be
the first to say that they are a pain.

But don't knock segmentation so quickly.  Have you ever wondered why
those 68000 workstations are so slow and memory wasteful, and how a
PC/AT can beat most of them in performance?  The answer is segmentation.

Most unix applications run in 64K, as they were designed for that.
So let them run with 16 bit pointers, and boy are they fast and small.
You can't run unix on a 68000 these days without 20 megs of disk and
1 meg of ram.

You can actually be up and running on a 256K z-8001 or 8086 system.  And
often beat out the 68000s

The segmentation offers you a nice deal - small programs as small as they
can be, and large programs there at a cost.  And with hardware designed
for this, it could be at no penalty.

If it turns out that you can do well by limiting single objects to 64K,
you aren't bothering anybody but the numerical analists.  I've yet to
see a non-numerical program with an object that large.  And what are they
doing on a 16 bit processor anyway?
-- 
Brad Templeton, Looking Glass Software Ltd. - Waterloo, Ontario 519/884-7473

johnl@ima.UUCP (03/11/85)

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

henry@utzoo.UUCP (Henry Spencer) (03/13/85)

> ...  The NS32032, being a VAX ripoff, does the same thing.

Not true, actually.  The 32032 and the VAX are both PDP11 ripoffs.
The 32032 is closer to the 11 than the VAX is, and is the better for it.
-- 
				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry