CPU
Curious how TSMC manages to squeeze so much performance out of their CPUs.
Asianometry does nice updates on hardware news. The CPU Shack is nice blog.
Want to make use of Apple AMX Instruction Set more.
Notes
Links
- RISC-V - Free and Open RISC Instruction Set Architecture.
- Digging into RISC-V and how I learn new things (2019)
- SHAKTI - Open-source Processor Development Ecosystem.
- I don't know how CPUs work so I simulated one in code (2019)
- Simple Computer - Whilst reading But How Do It Know? by J. Clark Scott I felt compelled to write something to simulate the computer the book describes.
- Awesome CPU and MCU documentation
- How do CPUs read machine code? (2019) (Reddit)
- CPU Microcodes - Intel, AMD, VIA & Freescale CPU Microcode Repositories.
- CPU Scheduling
- uarch-bench - Benchmark for low-level CPU micro-architectural features.
- Performance Analysis & Tuning on Modern CPU - Denis Bakhvalov (2020)
- x86 and amd64 instruction reference
- IA32-doc - Project which aims to put as many definitions from the Intel Manual into machine-processable format as possible.
- CPU caches and data locality: a small demonstration (2020) (Lobsters)
- What is a stack and how does it work? (2020)
- Branch prediction explained
- x86-info-term - Terminal viewer for x86 instruction/intrinsic information using Python 3 + curses.
- Cosmic - Stellar simulated 8-bit computer architecture.
- Optimized implementations of various library functions for ARM architecture processors
- Chipping away at Moore's law. Modern CPUs are just chiplets connected together (2020)
- SIMD instructions (HN)
- Reverse-engineering the TL431: the most common chip you've never heard of (2014) (HN)
- X86-64 Semantics - Complete and thoroughly tested formal semantics of x86-64 to date.
- Efficient and performance-portable SIMD wrapper
- The DooM-chip: no CPU, no opcodes, no instruction counter (2020) (HN)
- Unicorn Engine - Lightweight multi-platform, multi-architecture CPU emulator framework. (Code)
- afl-unicorn - Lets you fuzz any piece of binary that can be emulated by Unicorn Engine.
- Archspec - Library for detecting, labeling, and reasoning about microarchitectures.
- Branch prediction in CPUs
- Examining ARM vs X86 Memory Models with Rust (2020) (HN)
- Single-use JIT Performance on x86 Processors (HN)
- ARMRef - iOS, iPadOS, and macOS application reference manual for ARM assembly instructions.
- Produce your own physical chips. For free. In the Open. (2020) (HN)
- Improving performance with SIMD intrinsics in three use cases (2020) (HN)
- Inside the 8086 processor, tiny charge pumps create a negative voltage (2020)
- An Intel 8080 assembler and online simulator (2020)
- CoreMark - Industry-standard benchmark that measures the performance of central processing units (CPU) and embedded microcrontrollers (MCU).
- How Extreme Ultraviolet Lithography works (2020)
- SIMDe - Implementations of SIMD instruction sets for systems which don't natively support them. (HN)
- Itanium Processor Microarchitecture (2000)
- Intel Hardware Accelerated Execution Manager (HAXM)
- sse2neon - C/C++ header file that converts Intel SSE intrinsics to Arm/Aarch64 NEON intrinsics.
- Toward the 1nm Technology Generation: Imec Roadmap for Logic Technology (2020)
- Gperftools CPU Profiler
- VSCode JS Profile Visualizer - Custom editor for viewing .cpuprofile files in VS Code. Pairs well with new JavaScript debugger.
- LDM: My Favorite ARM Instruction (2020) (HN)
- How Debuggers Work: Getting and Setting x86 Registers (2020)
- Taiwan Semiconductor - Taiwanese multinational semiconductor contract manufacturing and design company.
- AMD Research Instruction Based Sampling Toolkit
- Dynarmic - Dynamic recompiler for ARM.
- Reverse-engineering the carry-lookahead circuit in the Intel 8008 processor (2020) (HN)
- ARM Memory Model Tool: Morello (and Some Memory Tagging) (2020)
- Graphs, Metagraphs, RAM, CPU: HyperGraphs are more memory efficient than graphs (2020)
- Intel's disruption is now complete (2020) (HN)
- ARM processor history (2020)
- Bitdefender disassembler - Lightweight, x86/x64 only instruction decoder.
- Performance Analysis and Tuning on Modern CPUs book (Code)
- Under the hood of a CPU: Reverse Engineering the P6 microcode | Peter Bosch (2020)
- 2020 Wheeler Lecture: The Future of Microprocessors
- c8c - Aims to be a small typeless programming language for the CHIP-8 virtual machine.
- vrCPU - Code, documentation, schematics, notes for my Ben Eater inspired breadboard computer and emulator.
- ARM and Lock-Free Programming (2020)
- Why Is Apple’s M1 Chip So Fast? (2020) (HN)
- Collection of information about ARM cortex-M
- Ask HN: How did Apple manage to create such a better chip than Intel? (2020)
- ARM Cortex-A72 fetch and branch processing (2020)
- The Secret History of the First Microprocessor, the F-14, and Me (2020)
- sandsifter - x86 processor fuzzer.
- Undocumented arm64 ISA extension present on the Apple M1 (Reddit)
- MIPS-Simulator - Functional MIPS CPU simulator implemented in Haskell.
- From microops to abstract resources: constructing simpler CPU performance models (2020)
- Let's Build a Microprocessor! - From NAND to RISC, using JavaScript as a HDL.
- ARM NEON intrinsics guide
- ASL Interpreter - Example implementation of Arm's Architecture Specification Language (ASL). (Fork)
- Corellium - ARM Device Virtualization. (GitHub)
- Siliconpr0n: High Resolution Chip Maps (HN)
- Fritzchens Fritz's Albums - Gorgeous high resolution die shots of (mostly) modern chips.
- Lobsters: How much are non x86/arm platforms used? (2021)
- MIPS Emulator written in Go
- The CPU Shack - History of Microprocessors & CPU Techo.
- The 486 CPU Era – The Birth of Overclocking (2021)
- How CPUs are Designed and Built (2020)
- Arm Announces Armv9 Architecture: SVE2, Security, and the Next Decade (2021) (HN)
- Our Journey to ARM | PSPDFKit (2021)
- Understanding modern state-of-the-art branch predictor (2021)
- Application Binary Interface for the Arm Architecture
- A CPU With Just One Instruction (2019)
- v86 - Emulates an x86-compatible CPU and hardware.
- RISC vs. CISC
- Where the top of the stack is on x86 (2011) (HN)
- Architecture All Access: Modern CPU Architecture (2021)
- How M1 Macs feel faster than Intel models: it’s about QoS (2021) (HN)
- UCodeDisasm: Intel Atom Disassembler
- Atomics in AArch64 (2021)
- CPU Fun Blog - Intended to cover various subjects related to the low-level interactions of software and hardware.
- Building an Always-On CPU Profiler (2021)
- Scamp – a homebrew 16-bit CPU (2021) (HN)
- What should the CPU usage be of a fully-loaded CPU that has been throttled? (2021) (HN)
- Your CPU May Have Slowed Down on Wednesday (2021) (HN)
- CPU Pinning and CPU Sets (2020)
- A natively flexible 32-bit Arm microprocessor (2021) (HN)
- PlasticArm: Get Your Next CPU, Made Without Silicon (2021) (Lobsters)
- Beating the L1 cache with value speculation (2021) (HN) (Tweet)
- Hunting a bug in the i40e Intel driver (2021)
- An inside look at the custom CPUs in Tesla's Dojo Supercomputer (2021) (HN)
- ASML business breakdown (2021)
- Next-gen chips will be powered from below (2021) (HN)
- Upgraded Homemade Silicon Chips (2021)
- Turing Complete Game - Game where you build a CPU and assembly language from circuits.
- A bug that doesn’t exist on x86: Exploiting an ARM-only race condition (HN)
- The Soviet 1801VM2 LSI-11 Processor (2021) (HN)
- Designing a MIPS CPU in Hardcaml (HN)
- A Close Look at a Spinlock (2021)
- How to Make a CPU – A Simple Picture Based Explanation (2021) (HN)
- Implementing CHIP-8 in Jack (2021)
- n2t-wasm - Emulator for the nand2tetris computer (Hack CPU).
- memu - ARMv8-M/Cortex-M emulator/simulator.
- SCAMP CPU - Homebrew 16-bit CPU with a homebrew Unix-like-ish operating system. (Web)
- mainspring - CPU and device simulation framework focused on extensibility and flexibility of hardware layouts.
- Why It’s So Difficult – and Costly – To Secure Chips (2021) (HN)
- Graviton2 and Graviton3 (2021) (HN)
- Reverse Engineering the M1 (2021)
- What can you do with an ISA specification? (2021)
- JDH-8 - Fully custom 8-bit minicomputer with a unique architecture.
- Performance Ninja Class - Online course where you can learn to find and fix low-level performance issues, for example CPU cache misses and branch mispredictions.
- Ask HN: Are we entering an ARM era? (2021)
- Predictive CPU isolation of containers at Netflix (2019)
- CPU implemented in an analog modular synthesizer (Tweet) (HN)
- A single line of code made a 24-core server slower than a laptop (2021) (HN) (Reddit)
- Power, frequency, management: how M1 E cores win (2022) (HN)
- CPU-X - Free software that gathers information on CPU, motherboard and more.
- Alex Blewitt - Understanding CPU microarchitecture (2022)
- System V Application Binary Interface (2020 (HN)
- Thoughts on Intel software-defined silicon (2022) (HN)
- The AMD Branch (Mis)predictor: Just Set it and Forget it (2022)
- BLAS-level CPU Performance in 100 Lines of C (HN)
- Simple three-stage pipeline RISC-V implementation written in Chisel 3 HDL with support for AXI4-Lite
- Pico-8: CPU
- Benchmarking the Apple M1 Max (2021)
- Apple M1 Ultra (2022) (HN)
- Introduction to Apple Silicon (Lobsters)
- pycachesim - Python Cache Hierarchy Simulator. Accurately simulate the caching (allocation/hit/miss/replace/evict) behavior of all cache levels found in modern processors.
- Intel Virtualization and Apple Silicon (2022) (HN)
- Single-Chip Processors Have Reached Their Limits (2022) (HN)
- gProfiler - System-wide profiler, combining multiple sampling profilers to produce unified visualization of what your CPU is spending time on.
- Apple Silicon Guide
- Evaluating Graviton 2 for data-intensive applications: Arm vs. Intel comparison (2022) (HN)
- Crash course introduction to parallelism: Multithreading (2022) (Reddit)
- cpu - CPU command in Go, inspired by the Plan 9 CPU command.
- Inside the Apple-1's shift-register memory (2022)
- The AMD Branch (Mis)predictor: New Types and Methods of Straight-Line Speculation (SLS) Vulnerabilities (2022)
- Assembler Simulator - Simulator of 8-bit CPU using the "Samphire" Microprocessor Simulator instruction set.
- Y86 Emulator - Y86 pipeline CPU simulator in JavaScript. (Code)
- CPUs, cloud VMs, and noisy neighbors: the limits of parallelism (2022)
- The TRUTH of TSMC 5nm: Claimed Density vs Reality (2022) (Reddit)
- AMD’s Athlon 64: Getting the Basics Right (2022) (HN)
- Code Density Compared Between Way Too Many Instruction Sets (Lobsters)
- Binary Translators for Weak Memory Model Architectures (HN)
- Astro-8 Computer - 16-bit homebrew CPU.
- Introduction to Apple Silicon (HN)
- Custom Processing Unit - Dynamic analysis framework able to hook, patch and trace CPU microcode at the software level.
- SiliFuzz - System that finds CPU defects by fuzzing software proxies.
- CPU Benchmarks Set
- Intel’s Meteor Lake Chiplets, Compared to AMD’s (2022) (HN)
- Ask HN: What'd be possible with 1000x faster CPUs? (2022)
- A history of ARM, part 1: Building the first chip (2022) (HN) (Part 2)
- High-NA may be the end of the line for lithography (2022)
- Zen4's AVX512 Teardown (2022) (HN)
- ASML's Secret: A view from inside the global semiconductor giant (2022) (HN)
- MIPS CPU written in Verilog
- LambdaVM - Programmable Virtual CPU Written as an Untyped Lambda Calculus Term.
- Hermes - Speculative mechanism that accelerates long-latency off-chip load requests by removing on-chip cache access latency from their critical path.
- Skylake: Intel’s Longest Serving Architecture (2022) (HN)
- X86 CPU topics overview for developers, oriented towards performance
- AMD Hypervisor written written in Rust
- Description of Apple's LEAP ISA
- Reverse Branch Target Buffer Poisoning (2022)
- Why is Rosetta 2 fast? (2022) (HN) (Reddit)
- A bug fix in the 8086 microprocessor, revealed in the die's silicon (2022)
- ARM1 Gate-level Simulation (HN)
- Knight’s Landing: Atom with AVX-512 (2022)
- TSMC: Semiconductors and Borders of Light (2022)
- The Amazing, Humble Silicon Wafer (2022)
- Ask HN: Why did stack-based CPUs lose out? (2023)
- CoreFreq - CPU monitoring software designed for the 64-bits Processors.
- IEDM 2022 – TSMC 3nm
- At the edges of Moore’s Law, connecting components is increasingly the game (2023)
- Apple Firestorm/Icestorm CPU microarchitecture docs (Code)
- Libcpucycles - Micro library for counting CPU cycles.
- 8086 Processor's microcode pipeline from die analysis (2023) (HN)
- What happens when a CPU starts (HN)
- CPU11 - Historical PDP-11 microprocessors reverse engineering.
- Evaluating the Cost of Atomic Operations on Modern Architectures
- Huge Pages are a Good Idea (2023) (Lobsters) (HN)
- How a CPU works: Bare metal C on my RISC-V toy CPU (2023) (HN)
- My Fear of Commitment to the First CPU Core (2023) (HN)
- Performance Analysis and Tuning on Modern CPUs Book
- RV32i CPU implemented in Turing Complete - Compile rust code for a RISC-V CPU I made in Turing Complete.
- sevctl - Command line utility for managing the AMD Secure Encrypted Virtualization (SEV) platform.
- CPU assembly examples
- CPU of the Day: UTMC UT69R000: The RISC with a Trick (2019)
- Toy CPU Simulator (HN)
- nopl
- ARM vs. Intel on Amazon’s Cloud: A URL Parsing Benchmark (2023) (HN)
- Linker notes on AArch64 (2023)
- Reverse-engineering the register codes for the 8086 processor's microcode (2023)
- 64-bit ARM CPU core information table
- A CPU is a compiler (2023) (Lobsters) (HN)
- False Sharing - A Phenomenon on Modern CPUs (2023)
- samply - Command-line sampling profiler for macOS and Linux.
- Ice and Fire: How to read icicle and flame graphs (2023)
- Архитектуры процессорных систем - YouTube
- Compress-a-Palooza: Unpacking 5 Billion Varints in only 4 Billion CPU Cycles (2023)
- Modern CPUs have a backstage cast (2023)
- Deep dive into CPU internals (HN)
- NVIDIA Grace Hopper Superchip - AI chip with 480GB CPU RAM, 96GB GPU RAM. (HN)
- A performance analysis of Intel x86-SIMD-sort (AVX-512) (HN)
- ARM Learning Paths
- Logic Paint - 16-bit micro-coded CPU I built based in Logic Paint, on the LC-3B micro-architecture.
- Getting Friendly With CPU Caches (2023)
- Zenbleed (2023) (HN)
- go6502 - 6502 CPU emulator, assembler, disassembler, debugger and host written in go.
- Emulating x86 on X64 on Aarch64 (2023) (HN)
- ARM’s Neoverse N2: Cortex A710 for Servers (2023) (HN)
- Emulating a CPU in C++ (6502)
- 16-bit Serial Homebrew CPU - 2023 (Lobsters)