What do "bits" in old consoles stand for?

-Slacker-

Golden Member
Feb 24, 2010
1,563
0
76
So I googled it an wasn't able to find a good answer for it.

It's pretty common knowledge that the NES was 8bit, the SNES and Genesis were 16 bit and the N64 was a 64 bit console. But what exactly does that even mean?

It can't be referring to the amount of memory the CPU can address, because the N64 didn't use more than 4 gb of ram... it had 4 megabytes. To my knowledge, the first 64 bit cpu was made by AMD in like 2003.

It also can't be referring to the number of colors the systems could display because, as far as I'm aware, there's nothing that can display 64 bit colors even today (In fact, the n64 didn't even look like it could do 32 bit colors).

Can't be the gpu's memory bus, because consoles prior to the nintendo 64 didn't have dedicated gpus.

So then, maybe the "bits" stuff is a metric attached to the CPU's FPUs, right? Like 16bit floating point units, 8 bit floating point units ... makes the most sense ... at least by process of elimination ...?

What does AT think?
 

lurkmoar

Member
Mar 8, 2008
58
0
0
So I googled it an wasn't able to find a good answer for it.

It's pretty common knowledge that the NES was 8bit, the SNES and Genesis were 16 bit and the N64 was a 64 bit console. But what exactly does that even mean?

It can't be referring to the amount of memory the CPU can address, because the N64 didn't use more than 4 gb of ram... it had 4 megabytes. To my knowledge, the first 64 bit cpu was made by AMD in like 2003.

It also can't be referring to the number of colors the systems could display because, as far as I'm aware, there's nothing that can display 64 bit colors even today (In fact, the n64 didn't even look like it could do 32 bit colors).

Can't be the gpu's memory bus, because consoles prior to the nintendo 64 didn't have dedicated gpus.

So then, maybe the "bits" stuff is a metric attached to the CPU's FPUs, right? Like 16bit floating point units, 8 bit floating point units ... makes the most sense ... at least by process of elimination ...?

What does AT think?


seems to me like you said "Can't" a lot of times in your post.

taken from wikipedia...
In computer architecture, 8-bit integers, memory addresses, or other data units are those that are at most 8 bits (1 octet) wide. Also, 8-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size. 8-bit is also a term given to a generation of microcomputers in which 8-bit microprocessors were the norm

it simply means that the processor can move at most 8 (16,32,64...) bits of data can from one part of the system to another simultaneously

youre confusing what you know about personal computing hardware with hardware in general. the first 64bit cpu was certainly not created by amd in 2003.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
If we're going to talk strictly about memory addressing... I'm pretty sure that AMD64 (x86-64) doesn't even support 64-bit memory addressing anyway. :p I believe it's only 48-bit.
 

Ferzerp

Diamond Member
Oct 12, 1999
6,438
107
106
N64 was actually a 64-bit MIPS proc, but pretty much no games used 64-bit instructions. The OS did in a few places though.
 

-Slacker-

Golden Member
Feb 24, 2010
1,563
0
76
seems to me like you said "Can't" a lot of times in your post.

Well alright, maybe they can, but the thread isn't about me being accurate on tech, but rather about me being confused about how tech works :p



Already saw that before making the thread... 2 guys say that it's referring to memory addressing, and the other says it means the amount of bits that can be assigned to one pixel to produce a color.
 
Last edited:

exdeath

Lifer
Jan 29, 2004
13,679
10
81
Mainly the main CPU register size and DATA bus size (not address bus) but even that doesn't really fit.

Genesis is called 16 bit but the 68000 has 32 bit registers with a 16 bit databus and there is also an 8 bit Z80.

SNES is called 16 bit but the 65816 has an 8 bit external data bus multiplexed with a 24 bit address bus. Displayed 8 bit palette from 15 bit RGB selection.

TG16 is called 16 bit but the 6502 based CPU is 8 bit.

Neo Geo is called 24 bit but that refers to color depth; CPU is a 16/32bit 68000 same as Genesis.

Atari Jaguar is the most lulz in the bit wars. Dual 68000 CPUs doesn't make 64 bit. It makes it 16 bit with SMP.

PS2 is called 32 bit but has 128 bit wide main memory bus and DMAC, 128 bit vector regs, dual vector units with 64 bit wide twin opcode instructions that operate on 32 bit scalars or 128 bit vectors simultaneously, and if I recall something like a 2048 bit embedded on die 4MB VRAM path inside the Graphics Synthesizer.

I've programmed in assembly on many of these systems, so post any other tech questions if you have any :D
 
Last edited:

Anarchist420

Diamond Member
Feb 13, 2010
8,645
0
76
www.facebook.com
Mainly the main CPU register size and DATA bus size (not address bus) but even that doesn't really fit.

Genesis is called 16 bit but the 68000 has 32 bit registers with a 16 bit databus and there is also an 8 bit Z80.

SNES is called 16 bit but the 65816 has an 8 bit external data bus multiplexed with a 24 bit address bus. Displayed 8 bit palette from 15 bit RGB selection.

TG16 is called 16 bit but the 6502 based CPU is 8 bit.

Neo Geo is called 24 bit but that refers to color depth; CPU is a 16/32bit 68000 same as Genesis.

Atari Jaguar is the most lulz in the bit wars. Dual 68000 CPUs doesn't make 64 bit. It makes it 16 bit with SMP.

PS2 is called 32 bit but has 128 bit wide main memory bus and DMAC, 128 bit vector regs, dual vector units with 64 bit wide twin opcode instructions that operate on 32 bit scalars or 128 bit vectors simultaneously, and if I recall something like a 2048 bit embedded on die 4MB VRAM path inside the Graphics Synthesizer.

I've programmed in assembly on many of these systems, so post any other tech questions if you have any :D
I thought the jaguar had one mc68k and 4 other processors and that they all shared a 64 bit external data bus.
I also thought the NEO GEO had 12 bit (4096 colors) on screen colors and a 16 bit palette (65536 colors). I knew it used an mc68k like the genesis except only the neo geo's was clocked a lot faster.
I could very well be wrong though, you'd know before I would :)

Anyway, my answer to the OP's question... it was generally marketing, rather than defined uniformly. I have to say though... Sega kind of sold the genesis, Saturn, and 32x quite a bit more honestly than Atari did for the jaguar because sega couldve marketed the genesis 32x combined with a sega cd as 128 bit, they couldve marketed the Saturn as 64 bit and they could've could've marketed the genesis alone as 32 bit, but they never did any of that. They also could've marketed the 32X "64x" because it had two 32 bit SH2s.
 

exdeath

Lifer
Jan 29, 2004
13,679
10
81
I thought the jaguar had one mc68k and 4 other processors and that they all shared a 64 bit external data bus.
I also thought the NEO GEO had 12 bit (4096 colors) on screen colors and a 16 bit palette (65536 colors). I knew it used an mc68k like the genesis except only the neo geo's was clocked a lot faster.
I could very well be wrong though, you'd know before I would :)

Anyway, my answer to the OP's question... it was generally marketing, rather than defined uniformly. I have to say though... Sega kind of sold the genesis, Saturn, and 32x quite a bit more honestly than Atari did for the jaguar because sega couldve marketed the genesis 32x combined with a sega cd as 128 bit, they couldve marketed the Saturn as 64 bit and they could've could've marketed the genesis alone as 32 bit, but they never did any of that. They also could've marketed the 32X "64x" because it had two 32 bit SH2s.

The Jaguar GPU was 64 bit I guess (64 bit bus to VRAM?), but so is a Diamond Stealth 2MB PCI card :awe:

Correction on Neo Geo; was claimed to be 24 bit due to 16 bit 68K and 8 bit Z80. Wut? :whiste:

In that case Genesis is 40 bit ("32" bit 68K + 8 bit Z80).

The whole bit war thing is stupid. Usually you just go with the "bits" that specify the era of microprocessor at the time. 6502, Z80, etc, is 8 bit. 68000, 65816, 8086, etc, are considered to be of the 16 bit generation, etc.

If you really twist, 6502 could be 16 bit because it's X/Y index and PC are all 16 bits... but then most CPUs always have address bus and regs of greater size than GP regs and ALU.

68k does have 32 bit regs and most instructions do 32 bit arithmetic, but the ALUs are 16 bits as is the data bus. I guess ultimately it's a 32 bit CPU if you call a 65816 and 8088 16 bit CPUs, but it was part of the 16 bit generation as far as the time period goes eg: post Z80/6502 but pre 80386, etc. 68000 was REALLY advanced for it's time, with a 16 MB address space, 32 bit regs, and even limited support for memory privileges/OS protection/multitasking. I don't know why we got stuck with 8088 for PC.

Oh yeah, they were cheap. 68k was a beast in terms if pin count and cost in those days. I always dreamed of DOS debug.exe in 68K...

8088 that all our PCs are based on was a 16 bit CPU with a 8 bit data bus multiplexed on the first 8 address lines like the 65816 used in the SNES. Means you need an external latch to hold the address bus active while the CPU toggles to the data r/w on the next cycle. Pin count was everything back in the day.
 
Last edited:

Phynaz

Lifer
Mar 13, 2006
10,140
819
126
8088 that all our PCs are based on was a 16 bit CPU with a 8 bit data bus multiplexed on the first 8 address lines like the 65816 used in the SNES.

Our PCs are actually based on the 8086. IBM asked Intel to cut the bus width down from 16 to 8 bits to lower system cost.

That's why no other CPU model number used in PCs ever ended in an "8".
 

exdeath

Lifer
Jan 29, 2004
13,679
10
81
Our PCs are actually based on the 8086. IBM asked Intel to cut the bus width down from 16 to 8 bits to lower system cost.

That's why no other CPU model number used in PCs ever ended in an "8".

Of course :p

We didn't get a "fully" 16 bit CPU with 16 bit data bus (1 x 16 bit word per clock) until 286 as well as independent address and data buses. 4x faster memory access over an 8088 via address/data line arbitration alone.

Actually that's one detail lost on me. Did the 8088 need to send an address for the low half word and high half word separately or did it automatically expect the external hardware to send/receive two consecutive data bus cycles per address cycle? Looking at the 8088's hack job pinout gives me a headache.
 
Last edited: