From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!reality.xs3.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: What is a byte? Date: Mon, 28 Jul 2014 17:38:20 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <90305214-9a02-4684-8521-847e8ba38f79@googlegroups.com> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1406587100 13799 69.95.181.76 (28 Jul 2014 22:38:20 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Mon, 28 Jul 2014 22:38:20 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:21321 Date: 2014-07-28T17:38:20-05:00 List-Id: "Dan'l Miller" wrote in message news:90305214-9a02-4684-8521-847e8ba38f79@googlegroups.com... >of notable historical interest: >a) The MIT/GE/Honeywell Multics machines had 9-bit bytes. >b) The Control Data mainframes had 6-bit bytes. >c) Prime 50... You missed the Unisys (nee Univac, Sperry, etc.) mainframes, which I've worked on at various points in my career. (The very first version of what became Janus/Ada ran on a Unisys mainframe at the University of Wisconsin. Later, we created a version of Janus/Ada 95 for those mainframes as a project with Unisys.) They originally had 6-bit bytes; later versions also had 9-bit bytes (so ASCII characters would fit) -- that's the versions that we built compilers for. The C-compilers assumed 9-bit byte addressing, but the machine only addressed words directly -- "C pointers" had a byte offset to go with the machine address, while "Ada pointers" were just raw machine addresses (to 36-bit words). The latter was more efficient, of course. Interestingly, the possibility of access types with different representations had never been adequately supported by the Ada standard; conversions between different access types designating the same type were always assumed to work (something that was never true in any Janus/Ada 95 compiler; 80x86 versions supposed both segmented and offset alone access types). That was just fixed at the last ARG meeting (AI12-0074-1). Randy.