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

"word"

27 views
Skip to first unread message

bob

unread,
Sep 5, 2012, 9:38:33 AM9/5/12
to
Anyone know how it came to pass that a "word" is 16 bits? This was very confusing terminology for me when I was beginning.

I remember thinking… a "word" of data? huh?

Dmitry A. Kazakov

unread,
Sep 5, 2012, 9:55:31 AM9/5/12
to
On Wed, 5 Sep 2012 06:38:33 -0700 (PDT), bob wrote:

> Anyone know how it came to pass that a "word" is 16 bits?

http://en.wikipedia.org/wiki/Machine_word

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Patricia Shanahan

unread,
Sep 5, 2012, 10:02:48 AM9/5/12
to
On 9/5/2012 6:38 AM, bob wrote:
> Anyone know how it came to pass that a "word" is 16 bits? This was very confusing terminology for me when I was beginning.
>
> I remember thinking… a "word" of data? huh?
>

A word does not have to be 16 bits. In computer architecture
terminology, it is the processor's natural unit of data. Typically, it
is the size of a register and the width of certain communication paths.
Most computers people see as computers (not embedded microcontrollers)
now have 32 or 64 bit words.

The original IBM PC did have a 16 bit word size, but even at that time
there were many computers with a 32 bit word size, and some with bigger
sizes.

What I'm calling "the processor's natural unit of data" gets talked
about so much in discussing computer architecture that it really needs a
short, simple term. I don't see anything wrong with the choice of "word".

Patricia

Daniel Pitts

unread,
Sep 5, 2012, 12:34:24 PM9/5/12
to
On 9/5/12 7:02 AM, Patricia Shanahan wrote:
> On 9/5/2012 6:38 AM, bob wrote:
>> Anyone know how it came to pass that a "word" is 16 bits? This was
>> very confusing terminology for me when I was beginning.
>>
>> I remember thinking� a "word" of data? huh?
>>
>
> A word does not have to be 16 bits. In computer architecture
> terminology, it is the processor's natural unit of data. Typically, it
> is the size of a register and the width of certain communication paths.
> Most computers people see as computers (not embedded microcontrollers)
> now have 32 or 64 bit words.
>
> The original IBM PC did have a 16 bit word size, but even at that time
> there were many computers with a 32 bit word size, and some with bigger
> sizes.
>
> What I'm calling "the processor's natural unit of data" gets talked
> about so much in discussing computer architecture that it really needs a
> short, simple term. I don't see anything wrong with the choice of "word".

As usual, well put Patricia.

I just want to expand that on some processors I have seen, the word size
is 8 bits. I couldn't think of an explanation of why, but your "natural
unit of data" concept makes sense to me. "Nuod" just doesn't jive like
"Word" does. ;-)


Patricia Shanahan

unread,
Sep 5, 2012, 1:56:54 PM9/5/12
to
The term "natural unit of data" is also used in the Wikipedia article on
the computer architecture meaning of "word".

Patricia


Ben Bacarisse

unread,
Sep 5, 2012, 4:40:41 PM9/5/12
to
Etymologically speaking it may derive form the fact that it's a unit
that can hold more than one character.

--
Ben.

Anonymous

unread,
Sep 5, 2012, 2:57:41 PM9/5/12
to
Take note, I'm replying to both of you

Patricia Shanahan <pa...@acm.org> wrote:

> On 9/5/2012 6:38 AM, bob wrote:
> > Anyone know how it came to pass that a "word" is 16 bits? This was very
> confusing terminology for me when I was beginning.

A word is not 16 bits. Oh you think the world is all Intel? It's not...

> >
> > I remember thinking� a "word" of data? huh?

Maybe computers and programming aren't for you after all?

> A word does not have to be 16 bits. In computer architecture
> terminology, it is the processor's natural unit of data. Typically, it
> is the size of a register and the width of certain communication paths.
> Most computers people see as computers (not embedded microcontrollers)
> now have 32 or 64 bit words.

Hmm. That's a tough one. Can you name a computer with a 64 bit word? Most
of the 64 bit machines I know have a 32 bit word except for Intel crapola.

> The original IBM PC did have a 16 bit word size, but even at that time
> there were many computers with a 32 bit word size, and some with bigger
> sizes.

The original IBM PC was pretty late in the computing world. IBM had already
standardized on a 32 bit word in 1964 and Honeywell had a 36 bit word.

> What I'm calling "the processor's natural unit of data" gets talked
> about so much in discussing computer architecture that it really needs a
> short, simple term. I don't see anything wrong with the choice of "word".

Right you are.

Ben Bacarisse

unread,
Sep 5, 2012, 6:23:26 PM9/5/12
to
Anonymous <nob...@remailer.paranoici.org> writes:

> Take note, I'm replying to both of you
>
> Patricia Shanahan <pa...@acm.org> wrote:
>
>> On 9/5/2012 6:38 AM, bob wrote:
>> > Anyone know how it came to pass that a "word" is 16 bits? This was very
>> confusing terminology for me when I was beginning.
>
> A word is not 16 bits. Oh you think the world is all Intel? It's not...
>
>> >
>> > I remember thinking… a "word" of data? huh?
>
> Maybe computers and programming aren't for you after all?

Why? That seems like an odd remark.

>> A word does not have to be 16 bits. In computer architecture
>> terminology, it is the processor's natural unit of data. Typically, it
>> is the size of a register and the width of certain communication paths.
>> Most computers people see as computers (not embedded microcontrollers)
>> now have 32 or 64 bit words.
>
> Hmm. That's a tough one. Can you name a computer with a 64 bit word? Most
> of the 64 bit machines I know have a 32 bit word except for Intel
> crapola.

I believe the Cray-1 and Cray X-MP used 64-bit words.

>> The original IBM PC did have a 16 bit word size, but even at that time
>> there were many computers with a 32 bit word size, and some with bigger
>> sizes.
>
> The original IBM PC was pretty late in the computing world. IBM had already
> standardized on a 32 bit word in 1964 and Honeywell had a 36 bit word.

Juts to add to the mix... CDC had 60 bit words and DEC's PDP-10 was
another 36-bit machine while Burroughs mainframes used 48-bits. There
was quite a rich architecture ecosystem back in the day.

<snip>
--
Ben.

BartC

unread,
Sep 5, 2012, 6:43:19 PM9/5/12
to
"Anonymous" <nob...@remailer.paranoici.org> wrote in message
news:32f7faab08307b0d...@remailer.paranoici.org...
> Patricia Shanahan <pa...@acm.org> wrote:

>> A word does not have to be 16 bits. In computer architecture
>> terminology, it is the processor's natural unit of data. Typically, it
>> is the size of a register and the width of certain communication paths.
>> Most computers people see as computers (not embedded microcontrollers)
>> now have 32 or 64 bit words.
>
> Hmm. That's a tough one. Can you name a computer with a 64 bit word? Most
> of the 64 bit machines I know have a 32 bit word

So what makes those 64-bit machines rather than 32?

> except for Intel crapola.

You'll have to include AMD in that.

>> The original IBM PC did have a 16 bit word size, but even at that time
>> there were many computers with a 32 bit word size, and some with bigger
>> sizes.

> The original IBM PC was pretty late in the computing world. IBM had
> already
> standardized on a 32 bit word in 1964 and Honeywell had a 36 bit word.

When microprocessors came along, then it all started again with 8-bits
(ignoring the 4-bit ones). At that point, I believe it was common for a
'word' to refer to 16 bits - two consecutive bytes - even though the
machines had 8-bit arithmetic units and data-paths. Many of those weren't
made by Intel either.

--
Bartc

Rui Maciel

unread,
Sep 5, 2012, 8:09:26 PM9/5/12
to
BartC wrote:

>> Hmm. That's a tough one. Can you name a computer with a 64 bit word? Most
>> of the 64 bit machines I know have a 32 bit word
>
> So what makes those 64-bit machines rather than 32?

Other than marketing, the size of virtual address pointers. One of the main
selling points of the AMD64 platform was how it didn't limited the virtual
address space to 4GB.


Rui Maciel

Robert Wessel

unread,
Sep 5, 2012, 10:38:26 PM9/5/12
to
On Wed, 5 Sep 2012 18:57:41 +0000 (UTC), Anonymous
<nob...@remailer.paranoici.org> wrote:

>Take note, I'm replying to both of you
>
>Patricia Shanahan <pa...@acm.org> wrote:
>
>> On 9/5/2012 6:38 AM, bob wrote:
>> > Anyone know how it came to pass that a "word" is 16 bits? This was very
>> confusing terminology for me when I was beginning.
>
>A word is not 16 bits. Oh you think the world is all Intel? It's not...
>
>> >
>> > I remember thinking� a "word" of data? huh?
>
>Maybe computers and programming aren't for you after all?
>
>> A word does not have to be 16 bits. In computer architecture
>> terminology, it is the processor's natural unit of data. Typically, it
>> is the size of a register and the width of certain communication paths.
>> Most computers people see as computers (not embedded microcontrollers)
>> now have 32 or 64 bit words.
>
>Hmm. That's a tough one. Can you name a computer with a 64 bit word? Most
>of the 64 bit machines I know have a 32 bit word except for Intel crapola.


Numerous ISAs/processor families that have evolved over time have kept
older terminology. While helps programmers transitioning to the newer
versions, it leads to increasingly odd definitions of a "word". And
given that newer machines often can execute binaries from older
machines, you may have different sized machine words depending on the
mode of the processor. Would it add anything but confusion if the
size of a word on an x86-16, x86-32 and x86-16 program were all
different, when they might all be running on the same* box at the same
time?

Certainly the machine word is 64 bits on (say) Alpha, x86-64, IPF,
zSeries, etc., but all of those carried along terminology from older
machines. So the PDP-11 set words to 16 bits, and VAX and then Alpha
kept that (adding longwords and quad words as native types). Similar
happenings for x86 and IPF (IPF as a replacement for x86 kept the x86
16 bit "word"), although it's "doubleword". zSeries started as 32
bits, and those are "fullwords", and they're still 32 bit fullwords
and 64 bit doublewords on the 64 bit versions (along with 16 bit
"halfwords").


*Contrary to popular belief, x86-64 in long mode runs protected mode
16 bit programs just fine - but that feature is omitted from several
OSs.

Robert Wessel

unread,
Sep 5, 2012, 11:03:57 PM9/5/12
to
On Thu, 06 Sep 2012 01:09:26 +0100, Rui Maciel <rui.m...@gmail.com>
wrote:
There are no fully satisfying definitions for the word size of the
machine (and there are machines for which a definition is almost
impossible), but the size of the GP registers is probably the best.

Virtual address size is particularly unsatisfying. Consider x86-32,
which arguably has two levels of virtual addressing, segmented
addresses and linear addresses, the former are 46 or 48 bits, and the
later 32. Intel could fairly easily have increased the linear address
space. And virtual addressing is perfectly possible with just x86
segmentation (as demonstrated by a number of x86-16 protected mode
OSs), and a OS that allowed swapping ~16K 512MB segments would have
been perfectly plausible (although swapping such a large segment to
disk would be painful, so say the least).

Or consider S/360. The original ISA had 32 bit registers and
operations, but 24 bit addressing - and not just because they ignored
the high eight bits*. With XA mode, they introduced a 31 bit
addressing mode (again there were places the high bit** was put to
use). You really wouldn't call the ISAs 24 or 31 bit***.

Likewise many of the 8-bitters had no 16 bit registers, but could
address much more than 256 bytes of memory (64KB being common) - no
one would ever call them 16 bit processors for that reason.

ALU width or memory data bus width have been used too, and are even
worse choices.



*For example, the subroutine call instructions stored data in the high
byte, several instructions were defined to affect the high byte in
non-address ways, and address space wrap-around was architected as
happing after (2**24-1).

**For example, the high bit was stored and used by subroutine
call/return instructions in calls between 24 and 31 bit code to save
and restore the mode. In 64 bit mode, the *low* bit of program
addresses is used (as instructions have to be halfword aligned) to
indicate that mode vs. 24/31 addresses. So in 64 bit mode BASSM
(branch and save and set mode) would look at the low bit of the 64 bit
target address register to see if it's branching to 64 bit code, and
if not, then the high bit of the "32 bit" address to distinguish
between 31 and 24 bit code), and then the *current* mode is saved
along with the return address in the specified return address
register.

***Although it's common to refer to 24, 31 or 64 bit programs in that
world.

BartC

unread,
Sep 6, 2012, 6:02:10 AM9/6/12
to
"Rui Maciel" <rui.m...@gmail.com> wrote in message
news:k28pjl$ou7$1...@speranza.aioe.org...
AFAIK, AMD64 is genuine 64-bits. (And I'm not sure that addressing, virtual
or otherwise, is a full 64-bits anyway, even if the address bits are
contained within a 64-bit word. Even in 2012, 2^64 bytes of addressing would
still be overkill, at least for local memory access.)

But using address-size I don't think is a useful measure, otherwise early
8-bit microprocessors would be classed as 16-bits. (While many old N-bit
mainframes would be downgraded because their address width was smaller!)

I would expect an N-bit machine to have an N-bit ALU and general registers
at least.

--
Bartc

rossum

unread,
Sep 6, 2012, 6:30:28 AM9/6/12
to
On Wed, 05 Sep 2012 07:02:48 -0700, Patricia Shanahan <pa...@acm.org>
wrote:

>The original IBM PC did have a 16 bit word size, but even at that time
>there were many computers with a 32 bit word size, and some with bigger
>sizes.
My first computing job was on a Burroughs mainframe with 64-bit words,
back in the seventies.

rossum

Robert Wessel

unread,
Sep 6, 2012, 12:31:46 PM9/6/12
to
Not really - the ALU width is really am implementation detail. What
does it matter if it's full width or bit serial? Consider early S/360
and S/370 - the low end machines had eight bit ALUs, and even things
like address generation on the smallest machines took multiple
microcode cycle*. The first 68Ks were implemented with 16 bit ALUs,
and also took multiple cycles to do many things. Both of those were
pretty clearly 32 bit ISAs.

The width of the GP regs is usually best, but there are machines which
don't actually have such.


*This was a justification for keeping addressing 24 bit (it saved a
cycle of that on most address generation operations). It was not,
however, justification for messing up addressing in such a way that
you couldn't easily extend it to 32 bits in a future generation.

Jongware

unread,
Sep 7, 2012, 10:26:35 AM9/7/12
to
... "nibble" -- a unit smaller than a byte but larger than a bit -- is
described in a 1970s Data Processing handbook of mine as 'an insider joke'.

[Jw]

Robin Vowels

unread,
Sep 10, 2012, 8:40:03 AM9/10/12
to
On Sep 6, 4:57 am, Anonymous <nob...@remailer.paranoici.org> wrote:
> Take note, I'm replying to both of you
>
> Patricia Shanahan <p...@acm.org> wrote:
> > On 9/5/2012 6:38 AM, bob wrote:
> > > Anyone know how it came to pass that a "word" is 16 bits?  This was very
> > confusing terminology for me when I was beginning.
>
> > A word does not have to be 16 bits. In computer architecture
> > terminology, it is the processor's natural unit of data. Typically, it
> > is the size of a register and the width of certain communication paths.
> > Most computers people see as computers (not embedded microcontrollers)
> > now have 32 or 64 bit words.
>
> Hmm. That's a tough one. Can you name a computer with a 64 bit word? Most
> of the 64 bit machines I know have a 32 bit word except for Intel crapola.

Early CDC computers had 60-bit words (CDC Cyber 70; CDC 7600).
Many early computers (1950s) had 32-bit words, 40-bit words.
Some later ones had 48-bit words, 24-bit words.

Robin Vowels

unread,
Sep 11, 2012, 6:34:40 AM9/11/12
to
And, of course, a double-word is a "gulp".

V

unread,
Jul 12, 2023, 6:47:47 AM7/12/23
to
Hello, my name is Kristjan Robam. I'm held on against my will. Someone call the police !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0 new messages