Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Fat references

2 views
Skip to first unread message

Anton Ertl

unread,
Jan 3, 2010, 3:09:09 PM1/3/10
to
glen herrmannsfeldt <g...@ugcs.caltech.edu> writes:
>Certainly the PDP-11 was described as having a 16 bit word, but I
>don't remember double word, or especially quad word being used in
>context with the PDP-11.

Not "double word", but "longword". And if that was not used for the
original PDP-11, it was used for its successors, the Virtual Address
eXtension (VAX) of the PDP-11 and the extended VAX (EV, aka Alpha).
[The PDP-11's optional floating point units did address doublewords,
which were different from VAX longwords because they goofed and stored
the high 16 bits at the lower addresses. -John]

The PDP-11 was not a compatible successor of another DEC machine, so
the PDP-11's natural word size (16-bits) was used for the "word"-named
unit.

>The 8008, 8080, 6800, 6502, and others at that time were considered
>'eight bit processors' even though the 8080 could do some 16 bit
>operations. One might have called 16 bits a word, but it wasn't
>commonly needed.

Yes, 16 bits were called a word on such 8-bit processors (there was
another name for 8-bit units: byte), and it was commonly needed,
because these machines used 16 bits for addressing their 64KB address
space.

>Already being used to a 32 bit word for S/360, I remember being
>disappointed at the time that VAX called 16 bits a word. Especially
>if one believed that VAX was supposed to be in the 32 bit processor
>marketplace.

But it also was marketed as a successor to the PDP-11, with various
compatibility features. And apparently it's important to keep "word"
the same size when doing such successions, and so 16 bits are still
called a word even in the Alpha architecture.

And you have the same story for the 6800 and the 68000.

And the same story with 8008, 8086 (ok, there it's natural), 80386
(aka IA-32) and AMD64 architectures (and also IA-64), except that here
the 32-bit units are called "double words".

And the analogous story with the originally 32-bit IBM/360, PowerPC,
MIPS, and SPARC architectures and their current 64-bit successors.
They all kept what they called a word the same even though the natural
word size grew.

Crossposted to comp.compilers,comp.arch, followups set to comp.arch.

- anton
--
M. Anton Ertl
an...@mips.complang.tuwien.ac.at
http://www.complang.tuwien.ac.at/anton/

glen herrmannsfeldt

unread,
Jan 3, 2010, 4:33:39 PM1/3/10
to
In comp.compilers Anton Ertl <an...@mips.complang.tuwien.ac.at> wrote:
(snip discussion of word, doubleword, and quadword)

> Not "double word", but "longword". And if that was not used for the
> original PDP-11, it was used for its successors, the Virtual Address
> eXtension (VAX) of the PDP-11 and the extended VAX (EV, aka Alpha).

Yes. I believe that quadword and octoword for 64 and 128 bits came
from the time of VAX.

> [The PDP-11's optional floating point units did address doublewords,
> which were different from VAX longwords because they goofed and stored
> the high 16 bits at the lower addresses. -John]

and continued that goof into the VAX and Alpha.

> The PDP-11 was not a compatible successor of another DEC machine, so
> the PDP-11's natural word size (16-bits) was used for the "word"-named
> unit.

(snip)

> Yes, 16 bits were called a word on such 8-bit processors (there was
> another name for 8-bit units: byte), and it was commonly needed,
> because these machines used 16 bits for addressing their 64KB address
> space.

But not quadword and octoword.

(snip regarding VAX and 16 bit words

> But it also was marketed as a successor to the PDP-11, with various
> compatibility features. And apparently it's important to keep "word"
> the same size when doing such successions, and so 16 bits are still
> called a word even in the Alpha architecture.

It is also important to show the technology advances. VAX was
supposed to be DEC's entry to the 32 bit world. Keeping the word size
at 16 bits dilutes the effect.

I do remember that in early Alpha C compilers a C (long) was 64 bits,
but later changed to 32 bits with (long long) as the 64 bit type.

-- glen

Anton Ertl

unread,
Jan 4, 2010, 2:57:25 PM1/4/10
to
glen herrmannsfeldt <g...@ugcs.caltech.edu> writes:
>In comp.compilers Anton Ertl <an...@mips.complang.tuwien.ac.at> wrote:
>> Yes, 16 bits were called a word on such 8-bit processors (there was
>> another name for 8-bit units: byte), and it was commonly needed,
>> because these machines used 16 bits for addressing their 64KB address
>> space.
>
>But not quadword and octoword.

Sure, but once they had used "word" for 16 bits, they apparently had
no fantasy left for names of larger units (hmm: phrase, sentence,
paragraph; at least "line" and "page" are used:-).

>> But it also was marketed as a successor to the PDP-11, with various
>> compatibility features. And apparently it's important to keep "word"
>> the same size when doing such successions, and so 16 bits are still
>> called a word even in the Alpha architecture.
>
>It is also important to show the technology advances. VAX was
>supposed to be DEC's entry to the 32 bit world. Keeping the word size
>at 16 bits dilutes the effect.

It's just a name. I would prefer to use the natural word size for
"word" (i.e., 64 bits on Alpha and AMD64). But I guess there are
groups of people who reuse stuff from the smaller machines on the
bigger ones, and if the width of a "word" changed between the
architectures, interpreting documentation for such things would become
confusing ("Does this documentation mean a PDP-11 word, a VAX word, or
an Alpha word in this place?"), so every manufacturer decided to avoid
changing the number of bits in a "word" even if that meant that a
"word" was smaller than a natural machine word.

>I do remember that in early Alpha C compilers a C (long) was 64 bits,
>but later changed to 32 bits with (long long) as the 64 bit type.

C's long int type is 64-bits on Alpha (and other 64-bit architectures)
on Unix, and AFAIK 32-bits on Windows (even 64-bit Windows), with
64-bit long long int on both. I don't think you get Windows for Alpha
anymore.

George Neuner

unread,
Jan 7, 2010, 1:23:56 AM1/7/10
to
On Mon, 04 Jan 2010 19:57:25 GMT, an...@a4.complang.tuwien.ac.at
(Anton Ertl) wrote:

>glen herrmannsfeldt <g...@ugcs.caltech.edu> writes:
>>In comp.compilers Anton Ertl <an...@mips.complang.tuwien.ac.at> wrote:
>>> Yes, 16 bits were called a word on such 8-bit processors (there was
>>> another name for 8-bit units: byte), and it was commonly needed,
>>> because these machines used 16 bits for addressing their 64KB address
>>> space.
>>
>>But not quadword and octoword.
>
>Sure, but once they had used "word" for 16 bits, they apparently had
>no fantasy left for names of larger units (hmm: phrase, sentence,
>paragraph; at least "line" and "page" are used:-).

Intel used the term "paragraph" to refer to the 16-byte blocks
addressed by 8086 segment registers. The so-called "huge" address
mode used a standard format:(segment * 16) + (offset % 16), in which
the segment selected the paragraph and the offset the byte within. It
enabled pointers to be value compared easily and eliminated the issue
of pointers having different segment and offset values referring to
the same memory location.

George

0 new messages