Skip to main content
Introduction to Computer Organization: An Under the Hood Look at Hardware and x86-64 Assembly

Introduction to Computer Organization: An Under the Hood Look at Hardware and x86-64 Assembly

Current price: $59.99
Publication Date: January 25th, 2022
Publisher:
No Starch Press
ISBN:
9781718500099
Pages:
502
The MIT Press Bookstore
1 on hand, as of Apr 23 10:14am
(CS:PR)
On Our Shelves Now

Description

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. 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 Robert Plantz takes a practical approach to the material, providing examples and exercises on every page, without sacrificing technical details. Learning how to think like a computer will help you write better programs, in any language, even if you never look at another line of assembly code again.

    About the Author

    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.

    Praise for Introduction to Computer Organization: An Under the Hood Look at Hardware and x86-64 Assembly

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