x86 microprocessors is a broad category of processors that has evolved over decades from the 8086 to today's 64-bit multi-core CPUs. One of the strengths of the x86 processors is that they are backward compatible, meaning that the latest processors in the family understand the instructions of the 8086 (they would have to run in a special mode called Real Mode
). The 8086 had 16-bit registers and a 16-bit bus to memory and I/O, it was byte addressable meaning the address used by the program was that of an individual byte. The 8086 could load either 1 or 2 bytes (known as a word) from memory. Over time newer x86 processors added more bits to the address lines, and added virtual memory, and added larger words
. So a 32-bit data item was called a double word
and a 64-bit data item became known as a quad word
and then SSE came along and we had 128-bit octaword or double quadword
, here's a table of data sizes. The newer x86 processors can access data in any of those sizes, in fact the latest have AVX instructions which have 256-bit vector registers. Addressing memory, from the point of view of the program, is still done by giving the address of the byte at the lowest address.
You can read more about 64-bit computing here. Here's a good summary:
Without further qualification, a 64-bit computer architecture generally has integer and addressing registers that are 64 bits wide, allowing direct support for 64-bit data types and addresses. However, a CPU might have external data buses or address buses with different sizes from the registers, even larger (the 32-bit Pentium had a 64-bit data bus, for instance).