terminology – What is a CPU's "word"?

Question:

In my Operating Systems class the professor mentioned a term that left me a little confused, which is the word for a CPU (Central Processing Unit) and he did not go into depth in the explanation about this term, he said that it can have different sizes in with respect to bits.

Question

I would like to know what a word is and what relation does it have to the CPU?

Answer:

initial definition

Word is a natural data of an architecture (processor).

Just as in human natural language we have the letter as the smallest data, the syllable as the first grouping of the smallest data and then the word coming next in the quantities, in the computer we have the bit as the smallest data, and the smallest grouping the byte (ok, may not be so), and then we have the word. But in language, words vary in size, currently all computer architectures have words with the same number of syllables (bytes) and as the syllables are also fixed, we have the same number of letters (bits).

When we speak in words we are talking about a data that has a fixed size/length/bit width that that architecture works best.

In general we are talking about the processor register size. At least from the main registrars. There may be other minors for specific activities, such as floating point calculation, vectors, cryptography, etc.

Sizes

It can range from 1 bit (rare) to 512 (rare, may be higher in the future). The most common one today is the size 64. 32 is also quite common. On small devices 16 or 8 still have space. There's nothing to stop you from having broken numbers, it doesn't have to be just a power of 2, even though it's the most common.

It is common, but not mandatory, that the word also determines the theoretical maximum memory address size. If the largest possible address has 32 bits, it is better for the processor to have a register with a 32-bit word so that the pointer fits in the register and access can be done simply and quickly. Older architectures and some very simple ones (embedded devices) may need more than one register to handle addresses. An architecture that requires accurate calculations can have a register larger than the largest possible address (eg 64 word and 32 address).

In general this is the size the processor works best with numbers. Eventually a smaller number can be as efficient, but there are cases where there is more consumption to make alignment. A larger number will need more than one register and is more complicated for the processor to handle, is slower and generally loses the atomicity of the operation.

There are architectures that use the word as a measure for data transfers, but again, it's just not a coincidence because it can simplify some operation.

Another point is that instruction length tends to be word length, at least in RISC architectures. This happened more in the past, today the instruction tends to be smaller, at least in architectures with big words.

Memory allocations often take up multiples of the size of a word.

There are architectures that can have word length variations. On Intel x86, for example, it started with 16 bits, then moved to 32 bits and now it is 64 bits which can have these 3 word sizes, respectively called WORD, DWORD, QWORD.

In the past a word tried to match the character length, but that no longer makes sense.

Table of various known architectures .

Scroll to Top