64 Bit Processor Report
64 Bit Processor Report
INSTITUTE OF ENGINEERING
PULCHOWK CAMPUS
A REPORT ON
64 BIT PROCESSOR
SUBMITTED BY:
PRAHARSHA ADHIKARI (PUL078BCT061)
SUBMITTED TO:
PROF. DR. SUBARNA SHAKYA
DEPARTMENT OF ELECTRONICS & COMPUTER ENGINEERING
2 Internal Architecture 2
2.1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.1 General-Purpose Registers (GPRs) . . . . . . . . . . . . . . . . . . . 2
2.1.2 Floating-Point Registers . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.3 Special-Purpose Registers . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Arithmetic Logic Unit (ALU) . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Control Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3.1 Fetch Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3.2 Decode Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3.3 Execute Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Cache Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 Instruction Set Architecture (ISA) . . . . . . . . . . . . . . . . . . . . . . . 4
2.6 Memory Management Unit (MMU) . . . . . . . . . . . . . . . . . . . . . . . 5
2.7 Bus Interface Unit (BIU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.8 Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.9 Branch Predictor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.10 Integrated Graphics Processor (IGP) . . . . . . . . . . . . . . . . . . . . . . 6
4 Limitations 10
4.1 Increased Memory Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1
4.2 Compatibility Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3 Software Overhead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.4 Increased Power Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.5 No Performance Gain for Certain Applications . . . . . . . . . . . . . . . . . 10
4.6 Larger Binary Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.7 Driver Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.8 Increased Development and Testing Requirements . . . . . . . . . . . . . . . 11
References 11
1. Introduction
The transition to 64-bit processors represents a pivotal advancement in the field of computer
architecture, fundamentally enhancing the capabilities and performance of contemporary
computing systems. This report aims to provide a detailed analysis of 64-bit processors,
tracing architectural design as well as the profound implications they hold for computational
efficiency and capacity. By exploring the theoretical foundations and practical implementa-
tions of 64-bit processors, this report seeks to offer an in-depth understanding of their role
as a cornerstone in the evolution of modern computing.
1
2. Internal Architecture
These details highlight the sophisticated architecture and capabilities of 64-bit processors,
emphasizing their role in enhancing computational performance and efficiency across various
applications.
2.1 Registers
2.1.1 General-Purpose Registers (GPRs)
General-purpose registers (GPRs) in 64-bit processors are designed to hold 64-bit values and
are utilized for a wide range of operations including arithmetic, logic, and data transfer.
Examples of these registers in the x86-64 architecture include RAX, RBX, RCX, and RDX.
2
2.1.2 Floating-Point Registers
Floating-point registers are used for performing floating-point calculations and typically
support 64-bit double-precision operations. Modern 64-bit processors often incorporate ad-
ditional registers for SIMD (Single Instruction, Multiple Data) operations, such as those
provided by SSE (Streaming SIMD Extensions) and AVX (Advanced Vector Extensions) in
Intel processors.
3
or memory addresses. The control unit generates the necessary control signals based on the
opcode to direct various CPU components such as the ALU, registers, and memory.
• L1 Cache: The fastest and smallest cache, located closest to the CPU cores, typically
divided into separate instruction (I-cache) and data (D-cache) caches.
• L2 Cache: Larger and slightly slower than L1 cache, often shared by multiple cores
in some architectures.
• L3 Cache: The largest and slowest cache, shared across all cores in multi-core pro-
cessors.
• x86-64 ISA: Extends the x86 architecture to support 64-bit computing, with addi-
tional registers and instructions.
• ARM64 ISA: Designed for efficiency in power and performance, used in many mobile
and embedded devices, including instructions for SIMD and advanced floating-point
operations.
4
2.6 Memory Management Unit (MMU)
The MMU translates virtual addresses used by software into physical addresses used by
hardware. It manages memory protection, cache control, and paging.
• Paging: Divides virtual memory into fixed-size pages and maps them to physical
memory frames.
• Virtual to Physical Address Translation: Uses page tables to map virtual ad-
dresses to physical addresses.
2.8 Pipeline
Pipelining is a technique that allows multiple instruction phases to overlap, improving CPU
throughput and performance. The pipeline in a 64-bit processor’s internal architecture en-
ables more efficient instruction execution by allowing multiple instructions to be processed
simultaneously in different pipeline stages. Typical pipelining stages include fetch, decode,
execute, memory access, and write-back. The wider data paths and registers in a 64-bit
processor enhance the performance of the pipeline by enabling the processor to handle larger
data sizes and more complex operations.
5
2.10 Integrated Graphics Processor (IGP)
Some 64-bit CPUs include an integrated graphics processor to handle graphics rendering
tasks, reducing the need for a separate graphics card. The Graphics Execution Units perform
rendering, shading, and other graphics tasks, accelerating video playback and recording.
6
3. Comparison between 32 bit and 64
bit processor
The following points show the contrast between 32 bit and 64 bit processor and help us
understand them.
3.2 Performance
• 32-bit processors: Generally have lower performance in handling large data sets and
applications requiring significant computational power.
• 64-bit processors: Offer higher performance due to the ability to handle more data
per clock cycle and access more memory, which is beneficial for tasks such as video
editing, 3D rendering, and complex scientific calculations.
7
3.3 Registers
• 32-bit processors: Typically have 32-bit wide registers, which limit the amount of
data processed in a single instruction.
• 64-bit processors: Have 64-bit wide registers, allowing them to process larger chunks
of data per instruction, improving efficiency in data-intensive applications.
3.4 Compatibility
• 32-bit processors: Can only run 32-bit operating systems and applications.
• 64-bit processors: Can run both 64-bit and 32-bit operating systems and applica-
tions, offering greater flexibility and future-proofing.
8
• 64-bit processors: Support 64-bit software, which can utilize more memory and
provide better performance for demanding applications.
• 64-bit processors: Can run 64-bit operating systems, which are optimized to handle
more memory and provide better performance for modern applications.
• 64-bit processors: Ideal for advanced computing tasks including gaming, video edit-
ing, running virtual machines, and scientific computing, where higher performance and
more memory are crucial.
9
4. Limitations
Even though 64 bit processors sound so great, they are not prefect at all. Below are some
limitations of 64 bit processors:
10
4.7 Driver Availability
Finding 64-bit drivers for certain hardware, especially older devices, can be challenging. This
may restrict the use of certain peripherals or require users to seek alternative solutions or
newer hardware.
11
References
• An Introduction to 64-bit Computing and x86-64 by Jon Stokes, Arstechnica,
https://arstechnica.com/gadgets/2002/03/an-introduction-to-64-bit-computing-and-
x86-64/ - (accessed: 30.05.2024)
12