CPU Architecture
Desktop
- x86_64 dominates
- Intel and AMD has duopoly
16-Bit
- x86 instruction set
- available in 16 bit, 32 bit (IA32) or 64 bit (x86_64) also
- 8086, 8088 (Intel)
32 Bit
- IA32 instruction set
- In modern context it is also referred as x86
- Intel Pentium
64 Bit
- x86_64 instruction set — developed by AMD
- aka AMD64
- sold by Intel and AMD
- Intel Core 2 Duo
- AMD Ryzen 5 4600H
- AArch64 instruction set — introduced in ARMv8-A
- aka ARM64
- sold by Apple
- Apple M1/M2
Mobile
- AArch64 dominates
- ARM designs but do not manufacture
32 Bit
- AArch32 instruction set — till ARMv7-A
- aka ARM32
- sold by Snapdragon, Samsung, Apple
- Apple A6
64 Bit
- AArch64 instruction set — introduced in ARMv8-A
- aka ARM64
- sold by Snapdragon, Samsung, Apple
- Apple A7
- Apple A12 Bionic
- Samsung Exynos 850
- Snapdragon 710
ISA
- Base ISA handle fundamental computing math and logic
- Extensions add more capabilities
ISA Types
- RISC (Reduced Instruction Set Computer)
- Highly simplified set of instructions optimized to execute in a single clock cycle
- It prioritizes power efficiency and smaller chip sizes
- Examples
- AArch64 (ARM64)
- RISC-V
- MIPS
- CISC (Complex Instruction Set Computer)
- Complex instruction set where a single command can perform multiple operations
- Example: loading from memory, adding numbers, and storing back to memory
- It prioritizes reducing the overall number of lines of code
- Examples
- VLIW (Very Long Instruction Word)
- Shifts the burden of managing parallel instruction execution away from hardware timers and onto the software compiler
- Examples
ISA Extensions
- SIMD and Vector extensions
- x86:
- AVX2 (Advanced Vector Extensions 2)
- AVX-512 (512-bit AVX)
- AVX10 (AVX 10)
- ARM
- NEON (Advanced SIMD)
- SVE2 (Scalable Vector Extensions 2)
- Matrix and AI Accelerator
- Intel AMX (Advanced Matrix Extensions)
- ARM SME (Scalable Matrix Extensions)
- Cryptography and Security
- AES-NI (AES New Instructions)
- Intel SGX (Software Guard Extension)
- AMD SEV (Secure Encrypted Virtualization)
Example ISA
Parallelism in Computer Architecture
- Data Level Parallelism (DLP)
- SIMD (Single Instruction, Multiple Data) / Vector processing
- Instruction Level Parallelism (ILP)
- Superscalar
- Out of order execution (OoO)
- VLIW (Very Long Instruction Word)
- Thread Level Parallelism (TLP)
- Multithreading
- SMT (Simultaneous Multithreading)
- SIMT (Single Instruction, Multiple Threads)
- MIMD (Multiple Instruction, Multiple Data) / Multicore