Introduction to Computer Organization gives programmers a practical understanding of what happens in a computer when you execute your code. Working from the ground up, the book starts with fundamental concepts like memory organization, digital circuit design, and computer arithmetic. It then uses C/C++ to explore how familiar high-level coding concepts—like control flow, input/output, and functions—are implemented in assembly language. The goal isn’t to make you an assembly language programmer, but to help you understand what happens behind the scenes when you run your programs.
Classroom-tested for over a decade, this book will also demystify topics like:
You may never have to write x86-64 assembly language or design hardware yourself, but knowing how the hardware and software works will make you a better, more confident programmer.