Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Processors & Bits

Reply to topic
Author Message
Chris
  • Guest
Reply with quote
Processors & Bits
Post Posted: Thu Jul 29, 1999 6:49 am
This I don't understand. The Z80 is capable of handling 16 data and memory but it is considered an
8-bit processor. Why? Is it because it can only handle up to 16 bits of data in it's program counter?
I think the 68000 uses a 32 bit program counter. Why is that only 16 bits then? Do they divide
the capacity of the program counter to decide the strength of the processor? I don't understand
this.

Chris :o)
 
  • Joined: 12 Jul 1999
  • Posts: 891
Reply with quote
Post Posted: Thu Jul 29, 1999 11:02 am
Quote
> This I don't understand. The Z80 is capable of handling 16 data and memory but it is considered an
> 8-bit processor. Why? Is it because it can only handle up to 16 bits of data in it's program counter?
> I think the 68000 uses a 32 bit program counter. Why is that only 16 bits then? Do they divide
> the capacity of the program counter to decide the strength of the processor? I don't understand
> this.

> Chris :o)

The way I understand it, to decide the "strength" of the processor they simply look at how many 'bits' of information it can process in one cycle (at once).
SMS, NES, GB, -8 bits at once
SNES, Genesis, Neo*Geo, Jaguar, -16 bits at once
PSX, Saturn, 3D0, i486, Pentium, PII, PIII, -32 bits at once
N64, 'Pippin', -64 bits at once
Dreamcast, PSX2, 'Dolphin', - 128 bits at once.
Get the idea?
~unfnknblvbl
  View user's profile Send private message
Limbs a Flyin'
  • Guest
Reply with quote
Post Posted: Thu Jul 29, 1999 1:12 pm
ahh, a good ol' "wtf is the number of bits about?" conversation ;)

i am lead to believe that the 'bits' a cpu has is how many bits make up its data bus...
an 8bit cpu has 8 leads/wires/copper tracks that link it to the rest of the machine, and by examining the state of current on each line gives you a byte sized number.
a 16bit cpu has 16 tracks-->bits in its data bus.
a 32 has 32..

'data bus' is important because the other component is the address bus. this does not appear to be relevent to the 'bits' of a cpu.

eg a z80 has a 16bit address space, because it has 16 tracks extending from it. depending on the state of each bit on the address bus, you can read/write values through the data bus to/from that location (defined by the address bus).

a m68000 cpu has a 16bit data bus, and a 24bit address bus, which is more usfully knowen as 'address space'.
so if you do the math, that means the 68k can access up to 16mbyte of idividual bytes. and the 16bit data bus means it can read 2 bytes in the one operation.
compare this to a m68008 cpu - a cut down 68000 - it has an 8bit data bus and 20bit address space. fewer pins needed on the chip, --> fewer pins needed on addon hardware.- (but apart from that is supposed to be 100% compatible.. except address space over 1mbyte is invalid)
being an 8bit data bus means to move 2bytes takes at least 2 instructions -and at least 2 times as long as moving 1 byte through the bus

the recent x86 series chips have a 32bit data bus and 32bit address space (i think). so that means you can move 4bytes in one instruction instead of moving 1byte 4 times.
oh, and you can access up to 4gig bytes

please forgive me if
a) this is wrong ;)
b) this is confusing ;)



Quote
> This I don't understand. The Z80 is capable of handling 16 data and memory but it is considered an
> 8-bit processor. Why? Is it because it can only handle up to 16 bits of data in it's program counter?
> I think the 68000 uses a 32 bit program counter. Why is that only 16 bits then? Do they divide
> the capacity of the program counter to decide the strength of the processor? I don't understand
> this.

> Chris :o)
 
Limbs a Flyin'
  • Guest
Reply with quote
small add on..
Post Posted: Thu Jul 29, 1999 1:17 pm

Quote
> compare this to a m68008 cpu - a cut down 68000 - it has an 8bit data bus and 20bit address space. fewer pins needed on the chip, --> fewer pins needed on addon hardware

i forgot to say why this would be useful ;)
less pins reduces production costs, including but not limited to the cpu, add in boards, the system board.

oh yeah, a system that contains a 68008 is the Sinclair QL, in case you were wondering where this chip was used.
 
Lin Ke-Fong
  • Guest
Reply with quote
Post Posted: Thu Jul 29, 1999 4:19 pm
[...]
Quote
> please forgive me if
> a) this is wrong ;)
> b) this is confusing ;)

I somewhat disagree, in my opinion, I think we can consider a
processor a XX-bit processor according to two rules:

1) Its standard data type.

The "standard data type" is what the processor manipulate the best, what it is intended to process. The z80 can process
either 8-bit bytes or 16-bit words, but most instructions are
for bytes, and only a few for words, also, if I'm not wrong, those word instructions are somewhat slower. So the z80 is a
8-bit processor. In the case of the Pentium MMX, we should consider it as a 32-bit processor, because its standard data type is still the 32-bit dword, and not the "special" MMX
qword.

2) The bus size.

If the bus size is bigger than the size of its standard data
type, then ignore this rule, for instance Pentiums have 64-bit
data buses but they are still 32-bit processors. If the bus size is smaller, say YY-bit, we have a YY/XX-bit processor, the best example is the 68000 which is 16/32. But if the bus size is smaller because it is cheaper model of the processor, then we should consider it as the normal processor, because it is not "a
processor" but just another model, for instance the 68008.

I hope it is not much more wrong or confusing than the preceding
message, if so forgive me :)
 
Chris
  • Guest
Reply with quote
Post Posted: Thu Jul 29, 1999 4:25 pm
All you're doing is repeating what I just asked except you're referencing consoles. I'm looking for reason and Limbs' theory or reasoning is correct from my view point. The NES has a reputation for being an 8-bit system because a great percentage of the connections are hard-wired to be 8-bit(data bus). The Genesis uses a 16 data bus therefore it's a 16-bit machine.

Chris :o)
 
ziggy880
  • Guest
Reply with quote
Post Posted: Thu Jul 29, 1999 4:41 pm
Quote
> All you're doing is repeating what I just asked except you're referencing consoles. I'm looking for reason and Limbs' theory or reasoning is correct from my view point. The NES has a reputation for being an 8-bit system because a great percentage of the connections are hard-wired to be 8-bit(data bus). The Genesis uses a 16 data bus therefore it's a 16-bit machine.

> Chris :o)

data bus is what defines the "bit" you here most the time and yes the pentium is considered 64 bit
 
Eric
  • Guest
Reply with quote
Adding to the confusion...
Post Posted: Thu Jul 29, 1999 4:54 pm
The "bits" (or "width") of a CPU is best measured by its datapath width.

Sometimes the data bus is the same width as the datapath (8086) sometimes it's not (8088)*. As Limbs a Flyin' said, chip makers like to reduce pin-count to reduce costs, so they'll multi-plex data on to the data bus. This means that the data bus is not always an accurate indication of the width of a CPU.

Also, in the past, data sizes were too small to represent addresses for all possible memory locations. (For example, an 8-bit processor should only be able to address 2^8=256 memory bytes. That simply isn't enough.) Many processors needed to include bigger registers so that access to high memory was possible. These larger registers required special instructions to operate on/with them. The instructions included just the basics: loading, storing, and simple arithmetic operations. These registers and instructions are basically used for memory address manipulation (pointers, remember?), and not for normal computation. This explains why some processors have larger program counters, since the program counter is really just a pointer to memory. However, these larger program counters don't represent the actual datapath width of the processor, only how wide it's address bus is.

The true method for determing a CPU's "bits" is looking at the width of the datapath. Unless you're the chip designer, though, you'll never get to examine the datapath first-hand. You need to look at the instruction set and register sizes. Like Lin Ke-Fong noted, the Z80 instructions mostly deal with 8-bit data. Also, the accumulator (the A register) is 8-bits. That pretty much settles it for the Z80.

Typically, the datapath width is the width of the CPU's (airthmetic/logical) registers. The datapath width is the elusive definition of "bits" your looking for.

* The 8086 was Intel's first 16-bit processor. The 8088 was exactly the same as the 8086 except the data bus was cut in half to 8-bits. This was done because at the time, most supporting chips were still 8-bit. The 8088 allowed computer designers (specifically IBM) to use 16-bit processing power with the prevalent (and inexpensive) 8-bit support chips.

Eric
 
  • Joined: 12 Jul 1999
  • Posts: 891
Reply with quote
Post Posted: Thu Jul 29, 1999 5:11 pm
Quote
> > All you're doing is repeating what I just asked except you're referencing consoles. I'm looking for reason and Limbs' theory or reasoning is correct from my view point. The NES has a reputation for being an 8-bit system because a great percentage of the connections are hard-wired to be 8-bit(data bus). The Genesis uses a 16 data bus therefore it's a 16-bit machine.

> > Chris :o)

> data bus is what defines the "bit" you here most the time and yes the pentium is considered 64 bit

I was reffering to the Internal Archetecture(sp?)
The intel Pentium 1/2/3 only has a 32bit IA

~unfnknblvbl
  View user's profile Send private message
Eric
  • Guest
Reply with quote
Post Posted: Thu Jul 29, 1999 5:16 pm
Quote
> > > All you're doing is repeating what I just asked except you're referencing consoles. I'm looking for reason and Limbs' theory or reasoning is correct from my view point. The NES has a reputation for being an 8-bit system because a great percentage of the connections are hard-wired to be 8-bit(data bus). The Genesis uses a 16 data bus therefore it's a 16-bit machine.

> > > Chris :o)

> > data bus is what defines the "bit" you here most the time and yes the pentium is considered 64 bit

> I was reffering to the Internal Archetecture(sp?)
> The intel Pentium 1/2/3 only has a 32bit IA

Architecture.

The 386, 486, Pentium, Pentium Pro, Pentium II, Celeron, Pentium III are all most definitely 32-bit architectures. The Intel Merced is their first attempt at a 64-bit machine.

Bus width is a terribly inaccurate way of measuring of measuring a CPU's "bits" (see my earlier post.)

Eric
Quote
> ~unfnknblvbl
 
Lin Ke-Fong
  • Guest
Reply with quote
Re: Adding to the confusion...
Post Posted: Thu Jul 29, 1999 8:06 pm
Quote
> The "bits" (or "width") of a CPU is best measured by its datapath width.

Mmm, I don't think looking at the datapath is not a good idea,
modern processors have not one, but many datapath inside, and
some of those datapath are even not a power of 2 of size.

Datapaths are means to achieve a goal, and the goal is to
provide instructions to manipulate data.



 
Eric
  • Guest
Reply with quote
Re: Adding to the confusion...
Post Posted: Thu Jul 29, 1999 8:57 pm
Quote
> > The "bits" (or "width") of a CPU is best measured by its datapath width.

> Mmm, I don't think looking at the datapath is not a good idea,
> modern processors have not one, but many datapath inside, and
> some of those datapath are even not a power of 2 of size.

> Datapaths are means to achieve a goal, and the goal is to
> provide instructions to manipulate data.

This is true. However, I am specifically referring to the path data follows between registers and function units, not instruction fetch/decode paths. This path is typically the area referred to as the datapath of a processor.

I still believe using this datapath is the most accurate way of measuring a processors "bits." The width of the external bus is no longer an accurate measure. The external data bus width is more tightly linked to cache-line size.

Eric
 
  • Joined: 24 Jun 1999
  • Posts: 1732
  • Location: Paris, France
Reply with quote
Pentium = 64 bits ?!
Post Posted: Thu Jul 29, 1999 9:38 pm
Quote
> data bus is what defines the "bit" you here most the time and yes the pentium is considered 64 bit

Hell, no!
Intel CPU from the 386-DX to the Pentium are 32-bits.
Pentium MMX got a few 64-bits registers, but I would consider it as 32-bits as it isn't much more.
Don't know about P2/P3.
  View user's profile Send private message Visit poster's website
Lin Ke-fong
  • Guest
Reply with quote
Re: Adding even more to the confusion...
Post Posted: Thu Jul 29, 1999 11:13 pm
Quote
> > Mmm, I don't think looking at the datapath is not a good idea,
> > modern processors have not one, but many datapath inside, and
> > some of those datapath are even not a power of 2 of size.

> > Datapaths are means to achieve a goal, and the goal is to
> > provide instructions to manipulate data.

> This is true. However, I am specifically referring to the path data follows between registers and function units, not instruction fetch/decode paths. This path is typically the area referred to as the datapath of a processor.

I am not sure, I am not a processor expert, but they must be
many path between registers and the functionnal unit, or the
path must be huge.

For instance, imagine a 3 unit processor, with say 1 load/store,
1 alu, and 1 float. If the compiler or the out-of-order
"execution engine" schedules well, we have three units working
at the same time. For a modern 64-bit RISC cpu with three
addresses instructions (instr op1, op2, op3) that's an enormous
bandwith. Your processor will be considered much more than 64-
bit if you consider the size of the datapath.

Quote
> I still believe using this datapath is the most accurate way of measuring a processors "bits." The width of the external bus is no longer an accurate measure. The external data bus width is more tightly linked to cache-line size.

I agree that the bus size is no longer accurate.

Mmmm, maybe the best way to define a processor is just by the
data it is supposed to process. For instance z80 is clearly
8-bit, 64-bit processors are for manipulating huge database (yes
4 gigabytes is small!), and "casual" processors are for, well,
casual stuff so they are 32-bit. Wide datapath and wide external
bus are just means to achieve good performances?
 
ziggy880
  • Guest
Reply with quote
Re: Pentium = 64 bits ?!
Post Posted: Fri Jul 30, 1999 1:10 am
Quote
> > data bus is what defines the "bit" you here most the time and yes the pentium is considered 64 bit

> Hell, no!
> Intel CPU from the 386-DX to the Pentium are 32-bits.
> Pentium MMX got a few 64-bits registers, but I would consider it as 32-bits as it isn't much more.
> Don't know about P2/P3.


it is considered 64 bit this may not be accurate but this labeling system wasnt made for accuracy
if you want accuracy describe the whole system ins and outs this was a simple way of saying look we
have this in ours and you have this in yours its not about accuracy its about simplicity "in truth dumbing it down for the standard consumer"
this is just the standard they seem to have chosen at least everything ive ever read has said this
 
ziggy880
  • Guest
Reply with quote
Post Posted: Fri Jul 30, 1999 1:40 am
Quote
> > All you're doing is repeating what I just asked except you're referencing consoles. I'm looking for reason and Limbs' theory or reasoning is correct from my view point. The NES has a reputation for being an 8-bit system because a great percentage of the connections are hard-wired to be 8-bit(data bus). The Genesis uses a 16 data bus therefore it's a 16-bit machine.

> > Chris :o)

> data bus is what defines the "bit" you here most the time and yes the pentium is considered 64 bit

The 80x86 processors use the data bus to shuffle data between the various components
in a computer system. The size of this bus varies widely in the 80x86 family. Indeed, this
bus defines the “size” of the processor. just to see where I come up with these wild ideas
Ive also read it in many books too this is excerpted from chapter 3 of art of assembly tutorials
The 80386DX, 80486, and Pentium Over-drive
processors have a 32 bit data bus. The Pentium and Pentium Pro processors
have a 64 bit data bus.
 
Reply to topic



Back to the top of this page

Back to SMS Power!