(This is a copy of an email I sent from the wrong address. If the first
(identaical) version of the message eventually arrives, just ignore it)
On Mon, Sep 18, 2017 at 02:31:06AM -0600, arnold(a)skeeve.com wrote:
That Pr1me had a Unix emulation layer is news to me (I
think). I worked
on the Georgia Tech Software Tools Subsystem for Pr1me Computers for
several years. (Oh, how I wish I had saved that last release tape!!!)
Primos was a terribly weird OS, but the SWT subsystem made it almost
Unix-like and very pleasant and usable. The mark parity business
was only one of the weirdnesses of that machine. Georgia Tech even
had a C compiler for it. sizeof(char) was 1, of course, but it was 16
bits, because the instruction mode used didn't have 8 bit byte pointers.
I can't claim credit for GT-SWT; I came along after it was mature
and stable, but I did do a few nice things.
Nigel Williams <nw(a)retrocomputingtasmania.com> wrote:
I've been wondering about this for some time, if a byte isn't 8 bits on
an architecture, how would you go about calculating memory sizes in a
way that makes it comparable between machines?
A 32 KB memory buffer is 262144=32*1024*8 bits on one machine, but
294912=32*1024*9 bits on another. That's a difference of 32 Kbit.
Of course, it may not matter since both buffers contains as many
items/bytes, but for the machine as a whole you can't say "this machine
has X MB of memory" without mentioning the byte length. A machine with
"n" bit words would be able to "store less information" in memory than
machine with the same number of MB of RAM but with "n+x" bit words.
How would you do for even more exotic hardware?
What if sizeof(char) != 1 for example?
Maybe this isn't/wasn't an issue at all?
Andreas Kusalananda Kähäri,
National Bioinformatics Infrastructure Sweden (NBIS),
Uppsala University, Sweden.