Introduction to Computer Organization Cover

Introduction to Computer Organization

An Under the Hood Look at Hardware and x86-64 Assembly
by Bob Plantz
December 2021, 502 pp.

Look Inside!

>Introduction to Computer Organization Page 4 & 5Introduction to Computer Organization pages 108 and 109Introduction to Computer Organization pages 308 & 309

Download Chapter 4: BOOLEAN ALGEBRA

Introduction to Computer Organization gives programmers a practical understanding of what happens in a computer when you execute your code. You may never have to write x86-64 assembly language or design hardware yourself, but knowing how the hardware and software works will give you greater control and confidence over your coding decisions. We start with high level fundamental concepts like memory organization, binary logic, and data types and then explore how they are implemented at the assembly language level.

The goal isn’t to make you an assembly programmer, but to help you comprehend what happens behind the scenes between running your program and seeing “Hello World” displayed on the screen. Classroom-tested for over a decade, this book will demystify topics like:

  • How to translate a high-level language code into assembly language
  • How the operating system manages hardware resources with exceptions and interrupts
  • How data is encoded in memory
  • How hardware switches handle decimal data
  • How program code gets transformed into machine code the computer understands
  • How pieces of hardware like the CPU, input/output, and memory interact to make the entire system work.
Author Bio 

Bob Plantz was a professor at Sonoma State for 21 years, teaching a variety of core computing classes. He started his career designing electronics for the horizon scanners on the Gemini spacecraft and Apollo Lunar Module. After that, he got his PhD in electrical engineering at UC Berkeley, and went on to work as a software engineer for eight years before becoming an educator.

Table of contents 

Chapter 1: Setting the Stage
Chapter 2: Data Storage Formats
Chapter 3: Computer Arithmetic
Chapter 4: Boolean Algebra
Chapter 5: Logic Gates
Chapter 6: Combinational Logic Circuits
Chapter 7: Sequential Logic Circuits
Chapter 8: Memory
Chapter 9: Central Processing Unit
Chapter 10: Programming in Assembly Language
Chapter 11: Inside the main Function
Chapter 12: Instruction Details
Chapter 13: Control Flow Constructs
Chapter 14: Inside Subfunctions
Chapter 15: Special Uses of Subfunctions
Chapter 16: Computing with Bitwise Logic, Multiplication, and Division Instructions
Chapter 17: Data Structures
Chapter 18: Object-Oriented Programming

Chapter 19: Fractional Numbers
Chapter 20: Interrupts and Exceptions
Appendix A: Using GNU make to Build Programs Index

The chapters in red are included in this Early Access PDF.