The world's first stored-program
electronic computer, the
Manchester Baby, used a 32-bit architecture in 1948, although it was only a
proof of concept and had little practical capacity. It held only 32 32-bit words of RAM on a
Williams tube, and had no addition operation, only subtraction. Memory, as well as other digital
circuits and wiring, was expensive during the first decades of 32-bit architectures (the 1960s to the 1980s). Older 32-bit processor families (or simpler, cheaper variants thereof) could therefore have many compromises and limitations in order to cut costs. This could be a 16-bit
ALU, for instance, or external (or internal) buses narrower than 32 bits, limiting memory size or demanding more cycles for instruction fetch, execution or write back. Despite this, such processors could be labeled
32-bit, since they still had 32-bit registers and instructions able to manipulate 32-bit quantities. For example, the
IBM System/360 Model 30 had an 8-bit ALU, 8-bit internal data paths, and an 8-bit path to memory, and the original
Motorola 68000 had a 16-bit data ALU and a 16-bit external data bus, but had 32-bit registers and a 32-bit oriented instruction set. The 68000 design was sometimes referred to as
16/32-bit. However, the opposite is often true for newer 32-bit designs. For example, the
Pentium Pro processor is a 32-bit machine, with 32-bit registers and instructions that manipulate 32-bit quantities, but the external address bus is 36 bits wide, giving a larger address space than 4 GB, and the external data bus is 64 bits wide, primarily in order to permit a more efficient prefetch of instructions and data. Likewise, the
PowerPC 604 is a 32-bit machine with a 64-bit external data bus. ==Architectures==