Introduction to Computer Organization
Author | : Robert G. Plantz |
Publisher | : No Starch Press |
Total Pages | : 514 |
Release | : 2022-01-25 |
ISBN-10 | : 9781718500105 |
ISBN-13 | : 1718500106 |
Rating | : 4/5 (106 Downloads) |
Download or read book Introduction to Computer Organization written by Robert G. Plantz and published by No Starch Press. This book was released on 2022-01-25 with total page 514 pages. Available in PDF, EPUB and Kindle. Book excerpt: This hands-on tutorial is a broad examination of how a modern computer works. Classroom tested for over a decade, it gives readers a firm understanding of how computers do what they do, covering essentials like data storage, logic gates and transistors, data types, the CPU, assembly, and machine code. 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: How data is encoded in memory How the operating system manages hardware resources with exceptions and interrupts How Boolean algebra is used to implement the circuits that process digital information How a CPU is structured, and how it uses buses to execute a program stored in main memory How recursion is implemented in assembly, and how it can be used to solve repetitive problems How program code gets transformed into machine code the computer understands 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.