Why is the Nintendo Entertainment System (NES) referred to as an 8-bit system, rather than a 1-byte system?

cs.stackexchange https://cs.stackexchange.com/questions/125304

Question

As far as I've understood it, referring to this system as an 8-bit system points out that one can access 8 bits of data in one instruction.

While I understand that we're not saving vast amounts of time by calling it "one byte" instead of "eight bits", is there a particular reason why the latter is/was preferred?

Was it helpful?

Solution

"Back in the day" computers were defined more by their word size, for example the PDP-8 had 12-bit words composed of two 6-bit "bytes". A "nibble" was half a byte, or 3 bits in this case (and here the op codes were 3 bits).

It is only in recent decades that 8-bit bytes became so prevalent as to make them the default.

Calling the NES 8-bit is less ambiguous than calling it 1 byte, keeping in mind we're talking about a system that came out in 1983.

OTHER TIPS

A) Historically, machines have been characterized by number of bits per 'machine word'. Why should NES be handled differently?

B) Calling it a 'byte' is not as clear since historically a 'byte' has not always been composed of eight bits (e.g some early machines had six bits per byte). Admittedly this is not so strong a point anymore.

C) On a side note: I don't think saying 'one byte' actually saves any time compared to saying 'eight bit(s)'.

It is true that in more modern computer architectures, 8 bits is roughly synonymous with a single byte. However that doesn't always mean that we count things in bytes.

Think about a soft drink, maybe a Coca-Cola or something. What are some typical sizes it might be sold in? I will use my memory of Japan and the US as examples:

Japan:     US:
375 mL  ~  12   fl oz
500 mL  ~  16.9 fl oz
           20   fl oz
  1 L   =  1    L
  2 L   =  2    L

Notice that, even on Japan's side of the chart, we're switching between units: milliliters and liters. ...Could we just as easily say things like "1000 mL" and "2000 mL", or either ".375 L" and ".5 L"? Yes, absolutely!

Then why don't we? Because as the general size of the drink container is scaled, the units that we find most useful scale with it.

So think of the NES, which was an 8-bit system. Later you had the Sega Genesis and SNES, which were both 16-bit. The original PlayStation was 32-bit, the N64 (Nintendo likes abbreviations, don't they?) was 64-bit, the Sega Dreamcast was 128-bit, and so on.

Have you ever heard of a normal 64-byte or 128-byte computer architecture? No, of course not. Even the Sega Dreamcast and similar systems had merely "8-byte" architectures. And as other answers have stated, 8 bits hasn't always been completely synonymous with a single byte.

(And to be completely pedantic, 8 bits aren't exactly the same thing as a byte on anything, since they could each belong to different bytes, if you just pick them out randomly. A byte is technically an ordered collection of bits.)

Think about how tiny a single computer instruction is. It is small compared to a lot of what we would normally count in bytes. In fact, when you're dealing with Assembly, you're dealing with quite a lot of detail, including individual bits.

So in the same way that we go from measuring soft drink sizes in liters to milliliters, just because of the scale being different, we go from measuring things in bytes and gigabytes to individual bits, just because of the scale.

Licensed under: CC-BY-SA with attribution
Not affiliated with cs.stackexchange
scroll top