Hardware and Computer Organization: The Software Perspective, Volume 1
Hardware and Computer Organization is a practical introduction to the architecture of modern microprocessors. This book from the bestselling author explains how PCs work and how to make them work for you. It is designed to take students "under the hood" of a PC and provide them with an understanding of the complex machine that has become such a pervasive part of everyday life. It clearly explains how hardware and software cooperatively interact to accomplish real-world tasks.
Unlike other textbooks on this topic, Dr. Berger's book takes the software developer's point-of-view. Instead of simply demonstrating how to design a computer's hardware, it provides an understanding of the total machine, highlighting strengths and weaknesses, explaining how to deal with memory and how to write efficient assembly code that interacts directly with, and takes best advantage of the underlying hardware. The book is divided into three major sections: Part 1 covers hardware and computer fundamentals, including logical gates and simple digital design. Elements of hardware development such as instruction set architecture, memory and I/O organization and analog to digital conversion are examined in detail, within the context of modern operating systems. Part 2 discusses the software at the lowest level assembly language, while Part 3 introduces the reader to modern computer architectures and reflects on future trends in reconfigurable hardware.
This book is an ideal reference for ECE/software engineering students as well as embedded systems designers, professional engineers needing to understand the fundamentals of computer hardware, and hobbyists.
What people are saying - Write a review
Chapter 1 Introduction and Overview of Hardware Architecture
Chapter 2 Introduction to Digital Logic
Chapter 3 Introduction to Asynchronous Logic
Chapter 4 Introduction to Synchronous Logic
Chapter 5 Introduction to State Machines
Chapter 6 Bus Organization and Memory Design
Chapter 7 Memory Organization and Assembly Language Programming
Chapter 8 Programming in Assembly Language
Chapter 11 The ARM Architecture
Chapter 12 Interfacing with the Real World
Chapter 13 Introduction to Modern Computer Architectures
Chapter 14 Memory Revisited Caches and Virtual Memory
Chapter 15 Performance Issues in Computer Architecture
Chapter 16 Future Trends and Reconfigurable Hardware
APPENDIX A Solutions for OddNumbered Exercises
About the Author