6 ms·
Okay guys, this may be off-topic, not sure as I've not finished the article yet. What (wiki?)books can I purchase that would help me bridge my mental understan
by Snitch-Thursday 6y ago
Okay guys, this may be off-topic, not sure as I've not finished the article yet.
What (wiki?)books can I purchase that would help me bridge my mental understanding of computer circuitry from 'this is a circuit with a resistor and a power source and a lightbulb, while this is a CPU that has wires to memory and magic happens to make em talk' to 'I know the difference between TTL logic and a microprocessor and can fuzzily trace where the electrical signals go'?
I don't own but am aware of things called logic analyzers, 'progammers', and the difference between a microcontroler and a microprocessor (ish, the former is vaguely a system on a chip?), but I'm not sure where to start to fill in the many gaps in the bits of knowledge I have so far.
Wikipedia feeds me articles about logic gates, programmable logic, and Algorithmic Logical Units used in things like the Xerox Alto, but I don't know if this means I should try for electrical engineering courses or something simpler?
- ggambetta 6y agoI don't know about books, but I learned about this in my first year in university (for CS-ish), and it was fascinating :) I think the missing link you're looking for is the flip-flop [0]. It's a clever arrangement of logic gates (just AND, OR, NOT, etc) that can store a bit. The concept of a clock signal is very closely related. Then you learn about multiplexers and you realize that if you put a bunch of flip-flops that can store a bit behind a multiplexer [1], suddenly you have something that looks like very primitive RAM with a data and address bus! At the time it blew my mind that you can (conceptually, at least) take a bunch of logic gates, arrange them in clever ways, and arrive pretty quickly at much "higher level" concepts like memory on an address bus. [0] https://en.wikipedia.org/wiki/Flip-flop_(electronics)#D_flip-flop https://en.wikipedia.org/wiki/Flip-flop_(electronics)#D_flip... [1] https://en.wikipedia.org/wiki/Multiplexer#Digital_multiplexers https://en.wikipedia.org/wiki/Multiplexer#Digital_multiplexe...
- mrspeaker 6y agoI'm not sure what you're looking for (maybe I mis-read your requirements above), but for the step from "I understand the idea of simple boolean logic" to "I understand (quite concretely) how a Z80 (or 6502 or similar) CPU works", I'd recommend the book "The Elements of Computing Systems" from the Nand2Tetris site: https://www.nand2tetris.org/book https://www.nand2tetris.org/book It's what made things click for me. [EDIT: I also second Klelatti's suggestion... Ben Eater's youtube channel is ALL gold. He's an amazing teacher. I also purchased his clock module, and the 6502 kit - they are awesome!]
- Snitch-Thursday 6y agoThis is exactly what I was looking for, thanks. I will order that book and check out that YT channel as well, I prefer books to videos, but sometimes a video is worth 1 million words.
- klelatti 6y agoNot 100% sure this is precisely what you're looking for but Ben Eater's YouTube series on building an 8 bit computer is great to help build understanding how a microprocessor works. [1] https://www.youtube.com/watch?v=HyznrdDSSGM&list=PLowKtXNTBypGqImE405J2565dvjafglHU https://www.youtube.com/watch?v=HyznrdDSSGM&list=PLowKtXNTBy...
- Snitch-Thursday 6y agoThank you! I will definitely give this a try. What a helpful online community.
- NwtnsMthd 6y agoI don't have a great answer for you but I'll give it a shot. It sounds like you're trying to get from a basic understanding of analog circuits to understanding the makeup of a simple processor (e.g. the Z80). The general progression is: 1. Circuit Theory (how fundamental components work) 2. Semiconductors(diodes, transistors, op-amps [skip those for now]) 3. Digital Electronics (basic logic gates and boolean algebra) Once you finish learning about digital electronics you should have the fundamental knowledge to understand how a basic processor might operate. A reasonably good place to start might be here. https://www.allaboutcircuits.com/textbook/ https://www.allaboutcircuits.com/textbook/ Read Volume 1, Volume 3 (skip chapters 7-13), and Volume 4. That should get you up to speed reasonably quickly.
- astatine 6y agoThis would be the right approach, but a multi-year one.
- Snitch-Thursday 6y agoThanks for this, I was hoping to get a sketch of how I should orient my big-picture roadmap to understand digital electronics from the old 'electric light circuit kit' i used to have. While I can't claim that I'll complete this stuff quickly as the sibling reply mentions, I will certainly look into it.
- pkaye 6y agoIts about 4 courses (semester long) worth of studying I would consider essential. One circuits analysis course, two digital design courses, and computer architecture. By the end you should be able to build a simple RISC cpu on an FPGA.
- codewritinfool 6y agoI would recommend "But How Do It Know?" by J. Clark Scott.
- GrumpyYoungMan 6y agoTry Charles Petzold's book "Code: The Hidden Language of Computer Hardware and Software". It goes through the structure of a computer at the binary level in a gentle way that's aimed at non-specialists.
- 7thaccount 6y agoThere are a few amazing books out there: Code by Charles Petzold, The Elements of Computing (Nand2Tetris course book), No Starch Press's Secret Life of Programs, Learning Computer Architecture with Raspberry Pi