64 - bit Processor
The central processing unit (CPU) or processor is the brain of a computer. It performs the system's calculating and control operations. When we refer to an N-bit processor, it means the processor's arithmetic logic unit (ALU), internal registers and most instructions are designed to operate on N-bit binary words.
Main components of a CPU
- ALU (Arithmetic Logic Unit)
- Registers (general purpose and special purpose)
- Control Unit (instruction fetch/decode and control signalling)
- Bus interfaces (data, address and control buses)
- Cache memory (levels of fast on-chip memory)
- Floating-point unit (for floating-point arithmetic, may be separate or integrated)
Characteristics of a 64-bit processor
- A 64-bit processor has a 64-bit ALU, 64-bit registers and 64-bit data paths (buses) where implemented.
- A 64-bit register allows addressing up to \(2^{64}\) bytes of logical address space.
- Commercial 64-bit processors appeared in the early 1990s; many modern desktop and server CPUs from vendors such as AMD and Intel implement 64-bit architectures.
Internal architecture
The internal architecture of a microprocessor defines how its logic is organised and how operations are scheduled and executed. The functions performed by a microprocessor can be classified by their initiator and purpose.
Classification of operations
- Microprocessor-initiated operations: operations initiated by the CPU such as instruction fetches, memory reads/writes, and I/O reads/writes.
- Internal operations: operations that manipulate data inside the CPU, for example storing values in registers, performing arithmetic/logical operations, condition testing, and stack operations.
- Externally-initiated operations: operations begun by external devices or signals such as interrupts, reset, ready/wait signalling and DMA requests.
The block diagram of a modern 64-bit microprocessor typically contains the following major parts.
- General register unit
- Control and decode unit
- Bus unit and cache memory unit
- Floating-point register unit
- Issue ports (for superscalar/parallel instruction issue)
Architecture elements specific to 64-bit processors
- Addressing modes
- General purpose registers (GPR)
- Instruction modal behaviour (non-modal and modal instructions)
- New instructions added to support 64-bit data and address operations
- New immediate instruction encodings
Addressing modes
Addressing mode determines the effective width of addresses and the operating environment of the processor (for example 24-bit, 32-bit or 64-bit mode). Processors typically provide status or mode bits in a program status word (PSW) or similar control register to select the addressing mode.
- Two PSW bits may be reserved to designate the addressing mode.
- Example mapping of addressing mode bits:
- 00 = 24-bit mode
- 01 = 32-bit mode
- 11 = 64-bit mode
General purpose registers (GPR)
How a register is treated depends on the current addressing mode.
- In 64-bit mode, general purpose registers are treated as 64-bit entities for address generation and data operations.
- In 32-bit or 24-bit modes, the same physical register may be used with only the lower 32 or 24 bits active for address generation and compatibility with legacy software.
New instructions added for 64-bit support
- Load Reversed - LRV, LRVR
- Multiply Logical - ML, MLR
- Divide Logical - DL, DLR
- Add Logical with Carry - ALC
- Subtract Logical with Borrow - SLB
- Store Reversed - STRV
- Rotate Left Single Logical - RLL
New immediate instructions
- Load Logical Immediate
- Insert Logical Immediate
- AND Immediate
- OR Immediate
- Test Under Mask (high/low variants)
Comparison: 64-bit versus 32-bit processors
- Data path width: A 32-bit processor typically has 32 data lines; a 64-bit processor has 64 data lines where supported, allowing handling of wider words per cycle.
- Addressable memory: A 32-bit address space can address up to \(2^{32}\) distinct addresses (about 4 × 10^9 bytes ≈ 4 GB). A 64-bit address space can address up to \(2^{64}\) bytes of memory (a very large address space, commonly expressed in exabytes).
- Performance: 64-bit processors can be faster for applications that benefit from wider registers and wider data transfers because they process more data per clock cycle and can use additional registers.
- Backward compatibility: Most 64-bit processors can run 32-bit software, often with performance equal to or better than on native 32-bit hardware; however, driver and OS support must be 64-bit to make full use of the extended features.

| Advantages | Disadvantages |
|---|
| Can address far more physical and virtual memory than 32-bit systems, enabling large-memory applications and databases. | Compatibility can be an issue: some legacy 32-bit drivers or low-level software require 32-bit support or translation. |
| Often provides more general purpose registers and wider registers, improving compiler optimisation and execution speed for suitable workloads. | A 64-bit operating system requires 64-bit device drivers; without them, some hardware may not function correctly. |
| Higher throughput for integer and pointer operations in many applications; better performance for memory-intensive and scientific workloads. | Potentially higher cost for hardware and increased memory usage for pointers and some data structures, which can increase footprint for applications not benefiting from 64-bit widths. |
Practical considerations and applications
- 64-bit processors are standard in modern servers, desktops and many mobile devices where the operating system and applications take advantage of the extended address space and register set.
- Operating systems must provide 64-bit kernels and appropriate drivers to use the full capabilities of 64-bit processors.
- Compilers and toolchains provide both 32-bit and 64-bit code generation; for performance-critical applications, recompiling for 64-bit can yield measurable benefits.
- Legacy software compatibility is usually preserved through mixed-mode execution environments, but careful testing is required when migrating systems.
Summary
In summary, a 64-bit processor extends the CPU datapath, registers and addressing to 64 bits, enabling vastly larger addressable memory, additional registers and potential performance improvements for suitable workloads. Adoption requires appropriate operating system and driver support, and while there are compatibility and cost considerations, the advantages for servers, scientific computing and large-memory applications make 64-bit architectures the standard for modern computing.