Reddit Reddit reviews The Elements of Computing Systems: Building a Modern Computer from First Principles

We found 12 Reddit comments about The Elements of Computing Systems: Building a Modern Computer from First Principles. Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Science
Computer Systems Analysis & Design
The Elements of Computing Systems: Building a Modern Computer from First Principles
Check price on Amazon

12 Reddit comments about The Elements of Computing Systems: Building a Modern Computer from First Principles:

u/JamesIry · 29 pointsr/compsci

Binary has no semantics - no meaning - other than being a convenient encoding of symbols. The "magic" is in how the hardware interprets those symbols.

The Elements of Computing Systems: Building a Modern Computer from First Principles walks you all the way from logic gates all the way to a working computer system with an OS and a programming language.

u/74HC595 · 29 pointsr/Minecraft

On the off chance you do actually want to make something complicated like a CPU, I'd recommend this book. It walks you through building a computer from scratch from logic gates to writing programs in a high level language. I think it goes without saying, but doing that sort of thing in redstone is a huge endeavor, as you've no doubt seen with the previous redstone CPUs.

u/PasswordIsntHAMSTER · 3 pointsr/ECE

Python, then Java, then C, then Assembly. But first (and this is the most important advice you're going to get from this thread), go through this book from cover to cover, including the exercises.

Also, congrats on choosing the best field in the world.

u/wgren · 3 pointsr/dcpu_16_programming

Code: The Hidden Language of Computer Hardware and Software,The Elements of Computing Systems and Inside the Machine were recommended on Hacker News.

I have the last one, I will re-read it over Easter holidays...

u/ItsAConspiracy · 3 pointsr/explainlikeimfive

This is the opposite of an ELIF answer but this book will tell you in detail. It takes you through building a computer from the ground up, starting with hooking logic gates together, through building your own OS and compiler from scratch. It does everything in the simplest possible way, so it all fits in one reasonably-short book.

It gives you a simulator so you can run your "home-built" computer without having to physically build it.

u/MyrddinE · 3 pointsr/Minecraft

A better learning environment (but still low level) would be Elements of Computing Systems: Programming a Computer from First Principles. Almost every computer created in Minecraft was built based on the computer designed for this book. Minceraft provided the environment, but the book provided the knowledge.

u/NinjaYoda · 3 pointsr/asm

I have heard this is a great book. It also has practical exercises to sink everything in.

u/igotthepancakes · 2 pointsr/compsci

Consider 'The Elements of Computing Systems' if you would like a grand tour of our current computer architecture. Start with logic gates and eventually build an operating system: http://www.amazon.com/Elements-Computing-Systems-Building-Principles/dp/026214087X

The book has got to be five out of five for a reason, right? Good luck!

u/bnelson · 1 pointr/gaming

He used a specific CPU design that already has a compiler for it. So you will essentially load "code" as a set of minecraft blocks which represent the code. You can do ANYTHING with the CPU. It just crunches numbers, does maths and shits out results, same as your CPU.

A CPU is at once a simple thing and a horribly complex thing. A CPU has a set of instructions. This set of instructions and some other parameters of how you interact with the CPU represent your CPU Architecture. Instructions are the lowest level unit a programmer works with the CPU. An instruction is simple "load a number into a register" (register is just a really small piece of memory, just big enough for a 32bit or 64 bit number). Then you might say something like, "multiply stuff in these two registers" and then the result goes to some other register. You might have an instruction that says "move data from here to this location in memory".

You have I/O devices.. "ports" that you poke and prod with the CPU that perform input and output and allow humans to interact with the devices.. but none of that really matters. When you can actually SEE the CPU like in minecraft you can watch what is happening without the need for a lot of I/O.

He used the CPU architecture described in: http://www.amazon.com/Elements-Computing-Systems-Building-Principles/dp/026214087X this book. Since that CPU architecture has a compiler for it that is how it will run code. He will "compile" the programs, translate that "machine code" to "minecraft block machine code" and then the CPU will be put into a state to execute that program :)

(Oh, that book is pretty awesome). I dug this up: http://en.kioskea.net/contents/pc/processeur.php3 which gives you a rough overview of things. Honestly ANYONE that can do basic arithmetic can sit down and understand how a CPU works in about 8-10 hours. You just have to "accept" many things just work at first and that CPU can do all of this. A simple CPU is so easy. x86 and x86-64 are not so simple, yet I think assembly is fairly easy to understand for any programmer. Oh well. :)

Then you can deconstruct the basics of logic gates and building simple circuits to make your own CPU, which is what this guy did.

u/Unfunny_Asshole · 1 pointr/AskEngineers

All of the suggested items are great. But as they are mainly comp sci, I'll suggest something diving a bit deeper to the EE end.

Compsci is easier to learn usually on your own, so this is a book made for comp sci people who want to start diving into lower level stuff.

Check this out.