Notes about computer architecture and hardware.
Computer Architecture = microarchitecture + instruction set architecture
- CISC: Complex Instruction Set Computer, a large set of complex and specialized ones
- RISC: Reduced Instruction Set Computer, simplifies the processor by efficiently implementing only the instructions that are frequently used in programs, allows a computer's microprocessor to have fewer cycles per instruction (CPI) than CISC
Examples: all x86 CPUs are CISC; ARM, RISC-V are RISC
FPGA: Field-programmable gate arrays.
- Programmable logic blocks and programmable interconnects allow the same FPGA to be used in many different applications.
- For prototypes, smaller designs or lower production volumes, FPGAs may be more cost effective than an ASIC design, even in production.
- x86: CISC, Intel's, popular in data center/servers. AMD EPYC processors.
- Power: RISC, created by IBM. OpenPOWER Foundation Google's data centers run on both x86 and Power
- ARM: RISC, power efficient(comparing to x86), iPhone's chips. AWS uses ARM for some EC2 types. AWS homegrown Graviton processors are based on ARM. wiki
ASIC: Application-Specific Integrated Circuit. Customized for a particular use. Notable examples:
- TPU: Tensor processing unit, developed by Google to accelerate computing in Neural Networks.
- AWS Nitro System: ASIC designed by Annapurna Labs is used to offload network, storage and management work from the main CPU.
- High efficiency Bitcoin miner.