comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@world.std.com>
Subject: Re: Streams in Ada
Date: Mon, 2 Apr 2001 17:49:37 GMT
Date: 2001-04-02T17:49:37+00:00	[thread overview]
Message-ID: <wccg0frw5se.fsf@world.std.com> (raw)
In-Reply-To: 9aab1e$hhm$1@nh.pace.co.uk

"Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> writes:

> The PDP-10 was more closely oriented to "Sixbit" characters. (Or
> "Half-ASCII" - basically ASCII with the lower case & some other stuff gone.)
> IIRC, the Tops-10 OS had the 6x3 file name restrictions basically because it
> would make filenames fit with Sixbit & into even multiples of machine words.

This is more a property of Tops-10 than the PDP-10 hardware.

The hardware supported "bytes", which could be from 1 to 36 bits each --
there's nothing special about 6-bit bytes.  A byte could not cross a
(36-bit) word boundary.  Tops-20 also ran on this hardware (and was far
superior to Tops-10).  When I used it, we mainly used 7-bit ASCII for
character data.  Each character is a 7-bit byte, packed 5 to a word,
with one bit left over.  You could also use sixbit (6 6-bit bytes per
word) on Tops-20, presumably for backward compatibility.  But you could
also use 1-bit bytes for arrays of Boolean, or any other convenient
sub-word size.

> Why DEC chose Sixbit & 36 bit words in the first place, I do not know - but
> one must remember that this was back in the time when Pangeia was still a
> united country. (Or was it Ganwanaland?) There weren't a lot of existing
> conventions for much of anything in computer technology, so 36 was just as
> beautiful a number as 32.

Well, I think it only makes sense to design hardware where the word size
is a power of 2 times the addressable unit (what Ada calls
System.Storage_Unit).  So 36 only works if your addressable unit is 36,
18, or 9.  (It was 36 on the PDP-10.)  Ie, a machine with Storage_Unit = 6
and Word_Size = 36 wouldn't work very well.

Although it's probably true that nobody cares about Ada on a PDP-10
these days, there do exist machines with Storage_Unit /= 8, and there do
exist Ada compilers for such machines.  So it might very well make
sense to program with portability to such weird machines in mind.

Besides, even if all machines had Storage_Unit = 8, it would *still*
make sense to declare meaningful constants, because it makes code more
readable if you know that it depends on such things.

- Bob



  parent reply	other threads:[~2001-04-02 17:49 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-31 14:49 Streams in Ada chris.danx
2001-03-31 15:22 ` chris.danx
2001-03-31 21:37   ` Jeff Creem
2001-03-31 21:49     ` chris.danx
2001-03-31 22:21       ` Robert A Duff
2001-03-31 22:33         ` chris.danx
2001-04-02 13:47         ` Ted Dennison
2001-04-02 14:03           ` Florian Weimer
2001-04-02 14:29             ` Ted Dennison
2001-04-02 14:54               ` Robert A Duff
2001-04-02 14:47             ` Marin David Condic
2001-04-02 15:10               ` Florian Weimer
2001-04-02 15:49                 ` Ted Dennison
2001-04-02 16:57                   ` Marin David Condic
2001-04-02 17:43                     ` PDP-10, was " tmoran
2001-04-02 17:49                     ` Robert A Duff [this message]
2001-04-02 22:09                       ` 6-bit characters (was: Re: Streams in Ada) Jeffrey Carter
2001-04-02 23:29                         ` Robert A Duff
2001-04-03 16:41                           ` Jeffrey Carter
2001-04-03 17:57                             ` Florian Weimer
2001-04-03 18:19                               ` Marin David Condic
2001-04-05 18:37                                 ` Tucker Taft
2001-04-03 18:04                             ` Marin David Condic
2001-04-06 22:40                             ` Robert A Duff
2001-04-03 14:10                         ` Marin David Condic
2001-04-03  1:57                       ` Streams in Ada Larry Kilgallen
2001-04-03 14:13                         ` Marin David Condic
2001-04-13 23:21                         ` Robert A Duff
2001-04-02 17:41                   ` Florian Weimer
2001-04-02 18:17                     ` Robert A Duff
2001-04-02 19:36                       ` Marin David Condic
2001-04-02 20:54                         ` Robert A Duff
2001-04-03 10:10                         ` Florian Weimer
2001-04-03 14:21                           ` Marin David Condic
2001-04-03 18:15                             ` Florian Weimer
2001-04-03 23:21                               ` Robert A Duff
2001-04-02 21:13                       ` Florian Weimer
2001-04-02 21:22                         ` Robert A Duff
2001-04-03 10:02                           ` Florian Weimer
2001-04-02 16:42                 ` Marin David Condic
2001-04-13  5:00                 ` David Thompson
2001-03-31 20:48 ` James Rogers
2001-03-31 21:20   ` chris.danx
2001-03-31 21:22     ` chris.danx
2001-03-31 23:10     ` David C. Hoos, Sr.
2001-04-01 11:27       ` chris.danx
2001-04-02 14:12     ` Ted Dennison
2001-04-02 14:00   ` Ted Dennison
  -- strict thread matches above, loose matches on Subject: below --
2001-04-05 14:24 Brian Gaffney
2001-04-06 22:54 ` Robert A Duff
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox