1
$\begingroup$

When someone tells a computer scientist that a CPU is, say, 32 bits, what all does he/she infer from this information?

I know that it means that the physical address has 32 bits. This meas that the physical memory can't hold more that 2^32 bytes of RAM. This also means that the word size is 32 bit or 4 bytes. Please correct me if I am wrong and also tell me what more we can infer from this.

I have searched over the internet only to get websites answering the above question to layman. Can anyone answer it from the technical point of view?

$\endgroup$
  • $\begingroup$ "what all does he/she infer from this information?" -- I think they'd say, "cool, but you're in the wrong place, buddy". Community votes, please: offtopic? $\endgroup$ – Raphael Aug 29 '16 at 13:36
  • 1
    $\begingroup$ FWIW, 32bit is the register width. All kinds of stuff that has to be stored in singled registered is therefore limited 32bits, including numbers, memory addresses, and so on. $\endgroup$ – Raphael Aug 29 '16 at 13:36
3
$\begingroup$

An $n$-bit processor is a processor for which the preferred integer size is $n$ bits. That's usually the size of the integer or general purpose registers (a processor may not have exposed registers in its ISA, a processor may have some other kind of registers of different width, a processor may provide instructions to do some integer operations on different -- smaller or wider -- width, the width of buses used in the ISA implementation do not define its architectural width: there may be several implementations using buses of several sizes).

Data of that size is usually called a word, but when an ISA exist as a family and is extended to provide wider registers, the term word tend to continue to refer to data of the width adequate for the first member of the family (thus the continued use of word to refer to 16-bit quantities in the x86 world which has grow now to a 64-bit ISA).

The address space size is determined by the ISA width only if the ISA is using the same registers for address computation as for integer one. That's a very common property of later architectures, but it has not always be the case (the 8086 used 24-bit addresses but its word size was 16 bits, Cray had 64-bit data register but its address registers were 24 bits IIRC). Even when the registers used are the same, the amount of addressable memory may be different, either because some bits are not used for addresses (the 68000 for instance, and programmers making use of that caused issues for their followers when all of the bits were token into consideration), or because virtual memory allows for a process $n$-bit addressable space to be mapped into a wider physical address space (you could consider the 24-bit address of the 8086 a special case of that).

$\endgroup$
  • $\begingroup$ So ultimately you can't say anything when you are told that it is an n-bit processor other than the fact that it prefers integers of size n bits. $\endgroup$ – daltonfury42 Aug 29 '16 at 19:17
  • $\begingroup$ Not without knowing -- or assuming -- more. If one is speaking about a relatively recent architecture and $n$ is 32 or 64, you can assume that the machine also has an use address space width of 32 or 64 (I wouldn't do it for 16, 64K is small and you quickly get pressure to be able to address more; and obviously 8-bit machines usually are able to address at least 64K). But that say little about how much memory you can physically address (see PAE for a case were the user visible address space is smaller, see any 64-bit processor for cases where the address space is far bigger) $\endgroup$ – AProgrammer Aug 29 '16 at 19:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.