On Mon, 14 Mar 2005 woodelf <bfranchuk at jetnet.ab.ca> wrote:
der Mouse wrote:
Well, it sounds reasonable, but probably isn't
the most useful, as it
would mean that, for example, the PDP-8 had 12-bit bytes.
Umm words... it has six bit bytes. I think the lack of 18 bit byte
cpu's has limited
the use of 9 bit bytes. ( No comment from any 36 bitters )
What, the PDP-8? No, it don't have six bit bytes. The architecture don't
have any byte view (unless you count the BSW instruction in the 8/e and
newer, which might be argued as a byte instruction).
Software implemented bytes in various ways on the PDP-8. You have sixbit,
8 bit, and 12 bit bytes.
OS/8 for instance packs 3 8-bit bytes in two 12-bit words.
The PDP-10 is an excellent example of when this
isn't true.
The smallest addressable unit is a word, which is 36 bits.
A byte is, as noted, anything between 0 and 36 bits. Bytes are
stored in a word, as many as can be fitted. To access bytes on a
PDP-10, you have a byte pointer, which consist of a word address, and
a bit pointer, and byte size.
That sounds a whole lot like a hardware-supported way of addressing an
object of an arbitrary size in bits. And that would mean that bytes of
any size *are* individually addressible.
Or have I misunderstood?
I belive so, but I have not programmed a 10. I suspect this is in
regards to string operations
rather say accessing character sized data data. Two different things.
No difference between a string, or character sized data. Character sized
data layed out in sequence becomes a string. The instruction that deals
with bytes only handles one byte at a time. Chug through several
characters and you have processed a string.
>The fact
that people today seem to believe that byte addressable is
>the only possible thing, along with a byte being 8 bits, is plain and
>simply because they haven't seen any other.
>
>
Well in most cases a byte is a unsigned 1/2 half word. I still like view
of the PDP-11 a byte
is signed data. I think the lack of real byte access has forced the C
standard to have unsigned
bytes because the machines ( 8080,Z80) can't handle real bytes .
Huh? What are you talking about???
All these machines (as well as most anything past 1960) uses 2-complement,
so there is no need to differentiate between signed and unsigned, it's
just a matter of interpretation. The one time it makes a difference is
when checking results, and the PDP-11 have both signed and unsigned branch
conditions, so it don't view a byte as either one or the other. It's up to
the programmer to choose. The same with a Z80. I would assume that the
8080 also have the same status flags, and thus you can pick wether you
want to play signed or unsigned at will.
And a byte on a PDP-11 is not 1/2 half word, but just a half word. A word
is 16 bits. That's why, on a VAX, a 32-bit thing is called a longword. But
for some reason some other manufacturers decided to call 32 bits a word,
so 16 bits became a "half word", but let's keep that away from the PDP-11,
please. No revisionst stuff here. :-)
Johnny
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at update.uu.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol