Hide this

Results from Google Books

Click on a thumbnail to go to Google Books.

The Elements of Computing Systems: Building…

The Elements of Computing Systems: Building a Modern Computer from First…

by Noam Nisan

MembersReviewsPopularityAverage ratingConversations
153278,096 (4.5)None



Sign up for LibraryThing to find out whether you'll like this book.

No current Talk conversations about this book.

Showing 2 of 2
The first part of the book describes the logic which is necessary to construct a simplistic computer from NAND gates, data-flip-flops, a clock, and IO-interfaces. The second part describes how to write (in a given higher-level language, like C++) a simplistic compiler which generates machine code for the computer from part one.

The book is well-written and very understandable. The exercises, which are are nicely integrated into the text, are insightful.

The authors do not get tired to say that the book teaches to build a computer from NAND gates, but I find this somewhat boastful because (a) as mentioned above also data-flip-flops, ... are taken for granted and (b) you are only simulating the logic in an emulator which means you are not building anything. ( )
  Tobias.Bruell | Oct 24, 2013 |
I have used this book in my computer organization class and I must admit that it brought a very fresh perspective to second year computer science students. For the first time they were able to see the process of designing a computer from the ground up.

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. ( )
  EmreSevinc | May 20, 2009 |
Showing 2 of 2
no reviews | add a review
You must log in to edit Common Knowledge data.
For more help see the Common Knowledge help page.
Series (with order)
Canonical title
Original title
Alternative titles
Original publication date
Important places
Important events
Related movies
Awards and honors
First words
Last words
Disambiguation notice
Publisher's editors
Publisher series
Original language

References to this work on external resources.

Wikipedia in English


Book description
Haiku summary

Amazon.com Product Description (ISBN 0262640686, Paperback)

In the early days of computer science, the interactions of hardware, software, compilers, and operating system were simple enough to allow students to see an overall picture of how computers worked. With the increasing complexity of computer technology and the resulting specialization of knowledge, such clarity is often lost. Unlike other texts that cover only one aspect of the field, The Elements of Computing Systems gives students an integrated and rigorous picture of applied computer science, as its comes to play in the construction of a simple yet powerful computer system.Indeed, the best way to understand how computers work is to build one from scratch, and this textbook leads students through twelve chapters and projects that gradually build a basic hardware platform and a modern software hierarchy from the ground up. In the process, the students gain hands-on knowledge of hardware architecture, operating systems, programming languages, compilers, data structures, algorithms, and software engineering. Using this constructive approach, the book exposes a significant body of computer science knowledge and demonstrates how theoretical and applied techniques taught in other courses fit into the overall picture.Designed to support one- or two-semester courses, the book is based on an abstraction-implementation paradigm; each chapter presents a key hardware or software abstraction, a proposed implementation that makes it concrete, and an actual project. The emerging computer system can be built by following the chapters, although this is only one option, since the projects are self-contained and can be done or skipped in any order. All the computer science knowledge necessary for completing the projects is embedded in the book, the only pre-requisite being a programming experience.The book's web site provides all tools and materials necessary to build all the hardware and software systems described in the text, including two hundred test programs for the twelve projects. The projects and systems can be modified to meet various teaching needs, and all the supplied software is open-source.

(retrieved from Amazon Thu, 12 Mar 2015 18:19:05 -0400)

(see all 2 descriptions)

No library descriptions found.

Quick Links

Swap Ebooks Audio
32 wanted1 pay

Popular covers


Average: (4.5)
4 4
4.5 1
5 4

Is this you?

Become a LibraryThing Author.


Help/FAQs | About | Privacy/Terms | Blog | Store | Contact | LibraryThing.com | APIs | WikiThing | Common Knowledge | Legacy Libraries | Early Reviewers | 105,894,967 books! | Top bar: Always visible