tags:

views:

651

answers:

5

Is it determined by size of the address buss; if yes then was 8086 a 20-bit processor? If no what is criteria for assigning a bit number like 8-bit, 16-bit, 32-bit to processor?

+1  A: 

I guess normally you label it by the size of it's accumulators/registers.

xtofl
I believe http://en.wikipedia.org/wiki/Intel_80286 is wrong calling 286 a 16-bit processor? or is it a 24-bit processor?
+2  A: 

With respect to a CPU, I'd say that it's the width of a register. You can do an operation on only 8 bits, 16-bits, 32-bits, etc. at a time.

tvanfosson
But we can do operations of 8-bit in 32-bit as well. Plus we have some 16-bit registers in i386+
+7  A: 

It's not well defined. Broadly, as xtofl points out, it's the size of the atomic unit of computation (in early computers, this wasn't always synonymous with "register"). So the PDP-10 was a 36 bit machine, a 8080 was 8 bit, and a IBM 360 or Intel 80386 is "32 bits".

But there are exceptions. The Motorola 68000 and 68010 CPUs implemented a 32 bit register set, but did it via microcode on top of a mostly 16 bit internal architecture. They were usually marketed as "16 bit" CPUs at the time.

The size of the address bus is almost never the defining factor. All successful "8 bit" CPUs implemented 16 bit addressing, for example (often via odd hacks to make up for the lack of a single address register, c.f. 6502's indirect addressing modes or the Z80's H/L registers). And the 8086, as you mention, used its segment register addressing to get 20 address lines to work (the 80286 extended this trick to 24 bits of physical address). And in the other direction, many "32 bit" CPUs had smaller address buses to save logic that wouldn't be used on a machine that would never have more than a few megabytes of memory: the 68000 limited addressing to 24 bits, even though the pointers themselves were 32. Likewise modern 64 bit CPUs universally implement less than 64 bits of physical address.

Andy Ross
You certainly know your processors! (I was a happy teenager working on the C64's 6502)
xtofl
8 bit addressing would certainly hurt. Would that mean that the entire physical memory space could only consist of 256 bytes?
quillbreaker
A: 

The bit size (8-bit, 16-bit, 32-bit) of a microprocecessor is determined by the hardware, specifically the width of the data bus. The Intel 8086 is a 16-bit processor because it can move 16 bits at a time over the data bus. The Intel 8088 is an 8-bit processor even though it has an identical instruction set. This is similar to the Motorola 68000 and 68008 processors. The bit size is not determined by the programmer's view (the register width and the address range).

paulrsm
A: 

I think the first number of Integrated chip refers to the type of the processor. If it is IC 8085 means it is a 8 bit processor.

saranya R.M