Computer Systems Architecture presents the subject in a progressive, incremental manner, bottom-upwards. Starting with digital logic and computer hardware, moving through the layers of software and leading on to an introduction to the field of networking and operating systems. It adopts a practical, hand-on approach, drawing upon areas of student interest and experience (the Internet, Pentium processors, GUIs, mobile communications) to stimulate the reader's enthusiasm for the subject. Throughout, system performance is analysed as jointly dependent on hardware and software features. Practical exercises demonstrate this fundamental aspect of hardware/software interaction. Computer Systems Architectureis meant as an introduction in the first year to the subject for university students in Computer Science and related courses. It is planned as a two-semester introductory course in networked computer systems passing through digital logic, peripheral hardware, layers of software, networking, and operating systems.