- Paperback: 344 pages
- Publisher: The MIT Press (March 31, 2005)
- Language: English
- ISBN-10: 0262640686
- ISBN-13: 978-0262640688
- Product Dimensions: 8 x 0.7 x 9 inches
- Shipping Weight: 1.2 pounds (View shipping rates and policies)
- Average Customer Review: 87 customer reviews
- Amazon Best Sellers Rank: #27,540 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
The Elements of Computing Systems: Building a Modern Computer from First Principles
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
A refreshingly new way of looking at computer systems as a whole by considering all aspects of a complete system in an integrated manner.(Jonathan Bowen Times Higher Education Supplement)
About the Author
Noam Nisan is Professor at the Institute of Computer Science and Engineering, Hebrew University of Jerusalem.
Shimon Schocken is the IDB Professor of Information Technologies and Dean of the Efi Arazi School of Computer Science, Interdisciplinary Center Herzliya.
Browse award-winning titles. See more
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
The book is very suitable for self-study or classroom use: it has an excellent website, all the required HDL simulator, assembler, CPU and VM emulator and compiler are freely available and easy to run on any platform (they are all coded in Java).
Of course there are simplifications such as the lack of interrupts and multhithreading but this book prepares the students very well for 3rd and 4th year courses. Every chapter has very well and clearly defined goals and projects that are %100 self-contained. That means even if you skip a chapter you can work out the next project without any loss in implementation.
If you or your students want to have a grasp what it means to build a computer starting from logic gates, hardware definition languages, up to the ALU, RAM, CPU, assembler, virtual machine and compilation of an object oriented high level language, then this book is the best choice. It is one of the most hands-on book I've ever seen in this subject matter and at that intermediate level.
It is the projects (and the accompanying software from the book's website - which runs flawlessly) that make this book really work. You are not going to get much out of the book if you don't do the projects. These projects are not end of chapter exercises that test if you understood what you've read. Nearly all of the understanding you get will come from doing the projects and the book is written with this intent. That's why it really is a lab book - you'll learn from doing rather than from reading.
This book will give you a gut for how computation systems work and are designed. The text doesn't have the breadth or depth that you would get from the traditional textbooks on these subjects (digital design, computer architecture, compilers, and operating systems) but it gives an intuition (because you actually implement each layer) that you can't get from simply reading a book[s].
You can actually read the first seven or so chapters there, to see if it's something that would help you, but the course and book, along with the projects, is invaluable for anyone looking to better understand computers. The projects aren't too hard, but they definitely make you stretch to do them, and the idea of building an entire computing system from parts with guidance is awesome.
Some other books may go deeper into logic and the physical components, but this is one of the best I've seen for a beginner.
Most recent customer reviews
If you give me enough transistors, I'm completely sure I could build a computer out of them.