---
title: Computer Architecture
description: Computer architecture explores the design and organization of computer systems, focusing on instruction sets, processors, memory hierarchies, and I/O interfaces. Learners will understand how hardware components interact to execute software instructions efficiently.
category: engineering
subcategory: electrical-and-computer-engineering
difficulty: beginner, intermediate, advanced
url: /subject/computer-architecture
---

# Computer Architecture

Computer architecture explores the design and organization of computer systems, focusing on instruction sets, processors, memory hierarchies, and I/O interfaces. Learners will understand how hardware components interact to execute software instructions efficiently.

## Available Resources

5 Books • 4 Courses • 5 Websites

## Courses

### 1. Nand2Tetris Part II

**Author:** Noam Nisan, Shimon Schocken

Project-based Coursera course from the Hebrew University in which learners build a stack-based virtual machine translator, a compiler for the Java-like Jack language and a small operating system for the Hack computer. Afterwards they understand how high-level code becomes executable machine instructions.

**Difficulty:** Intermediate | **Price:** Free

**Link:** https://www.coursera.org/learn/nand2tetris2

**Tags:** virtual-machine, compilers, memory-management, computer-architecture, nand2tetris

### 2. Computation Structures (MIT 6.004)

**Author:** Chris Terman

Digital systems from the bottom up: logic gates and sequential circuits, instruction set design, assembly language, procedures and stacks, processor pipelining, virtual memory and concurrency. Offers 173 short lecture videos and problem sets with solutions, so learners can build and reason about a working processor.

**Difficulty:** Intermediate | **Price:** Free

**Link:** https://ocw.mit.edu/courses/6-004-computation-structures-spring-2017/

**Tags:** digital-design, computer-architecture, assembly-language, pipelining, virtual-memory

### 3. Nand to Tetris: Building a Modern Computer From First Principles

**Author:** Noam Nisan, Shimon Schocken

Project course by Noam Nisan and Shimon Schocken in which a working computer is built starting from a single NAND gate: elementary gates, adders, an ALU, flip-flops, registers, RAM and a CPU, specified in a simple HDL and checked by a supplied hardware simulator.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://www.nand2tetris.org/

**Tags:** computer-architecture, logic-gates, hdl, cpu-design, digital-electronics

### 4. Computer Architecture

In this course, you will learn to design the computer architecture of complex modern microprocessors.

All the features of this course are available for free.  It does not offer a certificate upon completion.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://www.coursera.org/learn/comparch

**Tags:** courses, technology-computer-science, computer-sciences

## Websites

### 1. NandGame

A browser puzzle that starts with a single NAND gate and has you compose latches, adders, an ALU, memory, and finally a working CPU with its own assembler and instruction set.

**Difficulty:** Beginner | **Price:** Free

**Link:** https://nandgame.com/

**Tags:** digital-logic, logic-gates, cpu-design, alu, interactive

### 2. nand2tetris.org

Nand2Tetris.org offers a hands-on computer-architecture course that guides you from basic NAND gates to a working Hack computer and software stack. It provides project descriptions, HDL files, simulators, and tools (assembler, VM translator, compiler) plus links to the accompanying textbook.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://nand2tetris.org

**Tags:** websites, technology-computer-science, computer-sciences

### 3. cs61c.org

UC Berkeley's CS61C: Machine Structures course site, offering lecture videos, slides, labs, problem sets, and exams that teach core computer architecture concepts like CPU design, memory hierarchy, and pipelining.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://cs61c.org

**Tags:** websites, engineering-manufacturing, electrical-engineering

### 4. gem5.org

gem5.org is the home of the gem5 simulator, an open-source, modular platform for computer-system architecture research and education. It provides customizable full-system and subsystem simulators, along with documentation, tutorials, and guides to model CPUs, memory systems, interconnects, and peripherals.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://gem5.org

**Tags:** websites, engineering-manufacturing, electrical-engineering

### 5. riscv.org

RISC-V.org is the official hub for the RISC-V open instruction set architecture, offering architecture specifications, tooling, reference implementations, compliance resources, and community news and events for developers, educators, and organizations.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://riscv.org

**Tags:** websites, technology-computer-science, computer-sciences

## Books

### 1. Digital Design and Computer Architecture, RISC-V Edition

**Author:** Sarah L. Harris, David Money Harris

Builds from Boolean algebra and CMOS gate construction through combinational and sequential logic, timing, finite state machines and SystemVerilog/VHDL, then uses those blocks to design a working RISC-V microprocessor and memory hierarchy.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/0128200642?tag=edmonddante07-20

**Tags:** digital-design, computer-architecture, risc-v, systemverilog, sequential-logic

### 2. Computer Organization and Design

**Author:** David A. Patterson, John L. Hennessy

Patterson and Hennessy's undergraduate textbook builds up the MIPS instruction set, datapath and control, pipelining, caches, and I/O, connecting each hardware decision to the performance a programmer actually observes.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/155860491X?tag=edmonddante07-20

**Tags:** books, technology-computer-science, computer-sciences

### 3. Computer Architecture: A Quantitative Approach

**Author:** John L. Hennessy, David A. Patterson

The graduate-level companion to Patterson and Hennessy's undergraduate text, arguing architecture from measured performance data: instruction-level parallelism, memory hierarchy design, multiprocessors, and storage systems, with quantitative cost and benchmark analysis throughout.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/0123704901?tag=edmonddante07-20

**Tags:** books, engineering-manufacturing, electrical-engineering

### 4. Computer Systems: A Programmer's Perspective

**Author:** Randal E. Bryant, David R. O'Hallaron

Bryant and O'Hallaron approach machine organization from the programmer's side: data representation, x86-64 assembly, the memory hierarchy, linking, exceptional control flow, virtual memory, and concurrency, each tied to why real programs run slowly or break.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/0137133367?tag=edmonddante07-20

**Tags:** books, technology-computer-science, computer-sciences

### 5. Structured Computer Organization

**Author:** Andrew S. Tanenbaum

Tanenbaum presents a machine as a stack of levels — digital logic, microarchitecture, instruction set, operating system, and assembly language — showing how each layer is implemented by the one beneath it.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/0138544891?tag=edmonddante07-20

**Tags:** books, engineering-manufacturing, electrical-engineering

---

*This content is part of Dantes.io - Your Treasure Map to Knowledge*

*Curated by humans at Dantes.io. Personal study use welcome; republishing this curation requires permission (team@dantes.io).*

View this page online: https://dantes.io/subject/computer-architecture