Introduction to Computer Systems, on the structure and working of general-purpose machines that can execute computer programs, spanning the conceptual gap between simple switches on the one hand and the abstract machine that constitutes a "computer" on the other.