To understand the in depth working of microcontrollers (and computers in general)...
October 29, 2012
This topic has been in my mind for a long time and my recent reading (this book) has made it even more worthy a question for me to ask-
What is puzzling me is that I know how a computer language (C++ in my case) works and I also know how basic electronics like diodes, resistors, transistors etc. work but what is the link between a language and electronics. How is an electronic device able to do the jobs such as copy, paste, move etc.
What I know- Languages are translated into binary or machine language by devices called compilers/interpretters (and assemblers in simpler languages). This binary code somehow is able to do our job. Assemblers/compilers/interpretters are themselves written in machine code(most probabaly).
Questions I need answered- How is this binary code doing our job? What kind of circuit is able to do the job? What all kinds of circuits do we need? What is an instruction set?
By understanding how the simplest computer works, I want to understand the working of all devices from microcontrollers upto the latest INTEL processors. The problem is, I'm missing the basic knowledge. I know a bit about what VLSI is and a bit about what Integrated Circuits are (a compact package of thousands of electronic components like transistors). Problem with my knowledge is that I need to know if someway I aquire a thousand odd transistors, how can I convert it to a working computer? Then again, if I'm able to wire everything up perfectly, how'll I be able to access it to perform the most basic jobs like read a file, store it, execute it etc. And for those who'll say that why use a thousand transistors, the answer is simple- I want to build my way up (or down because as technology grows, size tends to decrease).
The simplest computer (or micro computer) I have are 12 of the idle ATMega 328PU chips I ordered from Atmel but never got around to use due to lack of materials. I can easily spare 6 of them for hacking. The next step is my INTEL Core2Duo processor and then the INTEL Core i5 processor which are to complex for me to hack and understand. So, it'll be the best if I understand the basics at ATMega.
Thanks in advance for your effort!!
Thank you everyone for your reply!! I didn't have my internet working for a few days so I couldn't come around to check the replies. As there are a lot of replies, it'll take me some time to read though everyone's reply (including the links they posted) and if you allow me, I'll keep on bugging you with questions.