What really happens when you press Run?
Behind every program lies a complex interaction between hardware and software. High-level code written in languages such as C, C++, Rust, or Java is transformed through compilers, operating systems, and runtimes before it finally executes on a processor.
This book explains that hidden process clearly and practically.
Starting from the fundamentals of digital logic and datapaths, the book moves through instruction set architecture, assembly language, and modern processor microarchitecture. It then explores the critical bridge between software and hardware: the Application Binary Interface (ABI).
Inside the book, you will learn:
How instruction set architectures influence compiler design
How ABIs define register usage, stack layout, and binary compatibility
How linkers and loaders transform object files into executable programs
How pipelines, caches, and branch prediction affect performance
How memory models impact multithreaded software
How modern processors execute instructions out of order while maintaining correctness
Designed for computer science students, systems programmers, embedded engineers, and performance specialists, this book helps you understand the contract between hardware and software.
If you want to move beyond writing code and truly understand how computers execute programs, this guide will give you the architectural insight needed to build faster, smarter, and more reliable systems.