File Size: 6531 KB
Print Length: 344 pages
Publisher: The MIT Press (January 25, 2008)
Publication Date: January 25, 2008
Sold by: Digital Services LLC
Language: English
ASIN: B004HHORGA
Text-to-Speech: Enabled
X-Ray: Not Enabled
Word Wise: Not Enabled
Lending: Not Enabled
Enhanced Typesetting: Not Enabled
Best Sellers Rank: #215,659 Paid in Kindle Store (See Top 100 Paid in Kindle Store) #131 in Books > Computers & Technology > Hardware & DIY > Design & Architecture #176 in Books > Computers & Technology > Hardware & DIY > Personal Computers #229 in Kindle Store > Kindle eBooks > Computers & Technology > Hardware
I highly recommend this book if you are interested in learning about computer science. The book is organized around the idea of building a computer from the fundamental logic gates up--starting with the hardware (combinational logic gates, arithmetic logic units, sequential logic gates, the CPU and memory) and then through the software hierarchy (starting with the machine language, and working up through the assembler, a virtual machine, a compiler for a high-level language, and an operating system). As a "by-product," one learns, by very relevant examples, many fundamental concepts of computer science.You can just read the book, but the best idea is to follow the authors' advice and do the projects where you implement every necessary piece of the computer system yourself. The projects are all very well organized. All the software necessary to emulate any part of the computer is available for free download from the authors' web-site. It all works beautifully. If you want to skip any of the projects, you can, because the software is organized in such a way that it will use built-in modules instead of the ones you built if necessary.The authors seem to have extensively tested the whole approach through the courses they have taught using this material. I also noticed that Harvard's Computer Science 101 course is being taught based on this book. I have been using the book for self-study with absolutely no problems--in fact I have never had such a great experience with a self-study course. All you need is a Windows or Linux (edit: Mac OS X works fine too) computer and access to the internet, and you can give yourself a wonderful education in computer science.In terms of prerequisites, you only really need to have some experience with programming (e.g.
When I say "survey," I mean a wide-ranging view of what goes into a computing system. This unique book goes into more depth than the word suggests, though, since it presents every level as a project for the student to carry out. This starts with the processor: the authors present an elegant but very stripped-down instruction set, slightly reminiscent of the PDP-8, and an equally stripped-down hardware description language (HDL). The exercise is to implement that processor using that HDL, and verify it using a simulator the authors provide. Next, the student implements the assembler for that instruction set, an interpreter in the spirit of the Java Virtual Machine, a compiler, and a simple operating system. Although each project could be a term course in itself, the authors display a real knack for extracting the essentials of each and boiling them down to a minimal but functional kernel. The results, although they might be toy systems, demonstrate the framework around which larger, industrial systems would be built.I've taught HDL-based logic design, operating systems, and object-oriented design. Each level of system implementation makes sense only in terms of the levels above and below it, but each is normally taught in isolation. This leaves an odd lack of context and motivation. It never explains to a processor designer what hardware support an OS needs, never explains to the OS implementor what the hardware can (and can't) do, or what the application developer requires. This philosophy even lets computer science students graduate in ignorance of or disdainful of the hardware on which their whole career depends. And, at every level, crucial basics like "what is a stack frame?" go unexplained and unexplored.
The Elements of Computing Systems: Building a Modern Computer from First Principles HACKING: Beginner's Crash Course - Essential Guide to Practical: Computer Hacking, Hacking for Beginners, & Penetration Testing (Computer Systems, Computer Programming, Computer Science Book 1) Computability, Complexity, and Languages, Second Edition: Fundamentals of Theoretical Computer Science (Computer Science and Scientific Computing) Computers as Components, Third Edition: Principles of Embedded Computing System Design (The Morgan Kaufmann Series in Computer Architecture and Design) Computers as Components: Principles of Embedded Computing System Design (The Morgan Kaufmann Series in Computer Architecture and Design) GPU Computing Gems Emerald Edition (Applications of GPU Computing Series) Student Solutions Manual for Differential Equations: Computing and Modeling and Differential Equations and Boundary Value Problems: Computing and Modeling Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems The Complete Works of Herbert Spencer: The Principles of Psychology, The Principles of Philosophy, First Principles and More (6 Books With Active Table of Contents) The Encyclopedia of Crystals, Herbs, and New Age Elements: An A to Z Guide to New Age Elements and How to Use Them Computer Architecture: Fundamentals and Principles of Computer Design Foundations of Computer Science: C Edition (Principles of Computer Science Series) Computer Programming Box Set (4 in 1): Linux, Raspberry Pi, Evernote, and Python Programming for Beginners (Computer Programming & Operating Systems) Mathematics and Computer Science in Medical Imaging (Nato a S I Series Series III, Computer and Systems Sciences) Minecraft: Minecraft Building Guide: Ultimate Blueprint Walkthrough Handbook: Creative Guide to Building Houses, Structures, and Constructions with Building ... Minecraft Houses, Minecraft Handbook) Chicken Coop Building: Step by Step Guide for Beginners (Chicken Coop Building, Backyard Chickens, Chicken Coop Plans, Building Chicken Coops) Chicken Coop Building: The Complete Beginners Guide To Chicken Coop Building - Discover Amazing Plan To Building The Perfect Chicken Coop! (Chicken Coops ... Coop Plans, How To Build A Chicken Coop) Quantum Computing for Computer Scientists From Whirlwind to MITRE: The R&D Story of The SAGE Air Defense Computer (History of Computing) Elementary Linear Programming with Applications, Second Edition (Computer Science & Scientific Computing Series)