CPU Architecture
The central processing unit (CPU), or simply the processor, executes program instruction code.
- When a software program runs, it is assembled into instructions utilizing the fundamental instruction set of the CPU platform and loaded into system memory
- The CPU then performs the following basic operations on each instruction:
- The control unit fetches the next instruction in sequence from system memory to the pipeline
- The control unit decodes each instruction in turn and either executes it itself or passes it to the arithmetic logic unit (ALU) or floating-point unit (FPU) for execution
- The result of the executed instruction is written back to a register, to cache, or to system memory
- A register is a temporary storage area available to the different units within the CPU working at the same clock speed as the CPU
- Cache is a small block of memory that works at the speed of the CPU or close to it, depending on the cache level.
- enhances performance by storing instructions and data that the CPU is using regularly
x86 CPU Architecture
- many different internal CPU architectures have been developed to optimize the process of fetch, decode, execute, and writeback, while retaining compatibility with the x86 -32 or IA-32 (Intel Architecture) instruction set
- x86 instruction set defines a CPU as IBM PC compatible
- x86 PC processors are designed and manufactured by Intel and Advanced Micro Devices (AMD)
x64 CPU Architecture
- x86 is a 32-bit instruction set
- 32-bit means that each instruction can be up to 32-bits wide
- since the early 2000s most CPUs have been capable of running 64-bit code
- The x86 instruction set has been extended for 64-bit operation as the x64 instruction set
- developed initially by AMD as AMD64 or x86-64
- Intel refers to it as EM64T or Intel 64
- All firmware and software—operating system, device drivers, and applications—must be specifically designed and compiled to run as 64-bit software
- No 32-bit CPU can run 64-bit software
- a 64-bit CPU can run 32-bit software
ARM CPU Architecture
- The principal alternative to the standard x86/x64 CPU architecture is one devised by Advanced RISC Machines (ARM)
- Unlike AMD and Intel, ARM do not manufacture CPUs
- they produce designs that hardware vendors customize and manufacture
- ARM designs are used:
- in the current generation of Apple hardware
- in most Android smartphones and tablets (notably by the vendors Qualcomm, Nvidia, and Samsung)
- in many Chromebooks
- and in some Windows tablets and laptops
- A typical ARM design implements a system-on-chip (SoC)
- SoC means that all the controllers—video, sound, networking, and storage—are part of the CPU
- ARM designs use fewer, less complex instructions than is typical of x86
- These features allow much better power and thermal efficiency, meaning longer battery life and the use of passive (fanless) cooling
Info
- An x86/x64 platform is complex instruction set computing (CISC)
- meaning that it uses a larger number (say around 1,000) of relatively more complex instructions
- A single complex instruction might generate multiple operations across the CPU’s registers and take multiple clock cycles to complete
- Reduced ISC (RISC) uses a small number of simpler instructions (say 100)
- means that tasks require the execution of more instructions than with CISC
- But each takes precisely one clock cycle
- RISC can make better use of the CPU registers and cache
- Because there are fewer instructions overall
- For an operating system and hardware drivers to run on an ARM-based device, they must be redesigned and compiled to use the ARM instruction set
- converting existing x86/x64 software applications to run on a different instruction set is an onerous task
- Another option is support for emulation
- means that the ARM device runs a facsimile of an x86 or x64 environment
- Windows 10 ARM-based devices use emulation to run x86 and x64 software apps
- Emulation typically imposes a significant performance penalty