Introduction to Computer Organization Cover

Introduction to Computer Organization

An Under the Hood Look at Hardware and x86-64 Assembly
by Robert G. Plantz
January 2022, 502 pp.
ISBN-13: 
9781718500099

Look Inside!

Introduction to Computer Organization backcoverIntroduction to Computer Organization pages 108 and 109 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. 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. 

Author Bio 

Bob Plantz started his career designing electronics for the horizon scanners on the Gemini spacecraft and Apollo Lunar Module. He earned his PhD in electrical engineering at the University of California Berkeley and worked as a software engineer for eight years before becoming an educator. He was a professor at Sonoma State University for 21 years.

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: Input/Output
Chapter 21: Interrupts and Exceptions

View the Copyright page
View the detailed Table of Contents
View the Index

Reviews 

"A really good assembly language learning resource for x86-64 using Linux and GNU tools."
—@Jobutex

Extra Stuff 

Visit https://rgplantz.github.io/ for additional resources.