Maker Pro
Maker Pro

Request for a book title on how electrons are stored to create binary code.

Hi. I do understand the concept of Boolean Logic. I just don't understand the process of how the electrons are relayed inside a microprocessor. I assume when you turn the computer on, a small amount of electricity is supplied through the motherboard, via busses, to the routed chips and then locked into capacitors until an event occurs where switches are tripped and the relays allow electrons to stop or flow.

Could someone suggest a very basic book for beginners on how this process works. A really good video on youtube has a wooden frame, similar to Plinko on ThePriceIsRight, as an example of relays and binary code.

Thanks for your attention.

P.S. Someone suggested a book by Texas Instruments on their 8080 processor, but I just can't find that title anywhere.
 
A significant hint is the fact that ALL digital components (logic gates, MCUs, etc.) are made from analog components, such as the MOSFET.
 
Hi ElectroNerd, I appreciate the reply. I did a search on MOSFETs and it appears they are used in Microcontrollers as gates. But I was still hoping for a book title that will break down the basic concept of how power is sent into the motherboard and how the combination of gates and relays will create binary code. Thanks again! ;0)
 
I'm sure you can get very, very deep into the whole quantum physics of the electron through certain texts... though the basic answer should be pretty simple. The FET (or transistor) can be used as a switch, yes? On or off? 0 or 1?
 
Hi Mitchekj, thanks for adding to the thread. But my only question is for a name of a book title that explains how gates and relays creates binary code. I have been advised to find a book by Texas Instruments on the 8080 Processor, (a college text), but I cannot locate it. I have found a great book at http://fastchip.net/howcomputerswork/p1.html about the process; I'm reviewing it now. If you know of any books you used to study an introcduction to computer engineering I would appreciate it. Thanks.
 
i actually suggest you to look at analog electronics. Multiplexers, boolean logic gates and so. Then you shall get the knowledge about how PC works. it is a bad idea to start from the most complex part. Work up from the beginning. First discrete components, then integrated circuits, later uC-s and then go on to PC-s

But no, sadly i do not know of any books.
 
Thanks Marcus,

I have found a great site that shows the basic concept of the microchip outlay on the motherboard and how they're connected. What I need to know is how the electricity is allowed in. Where is it stored? (for example: how are the chips initialized with electricity?) Preparing it for the first clock evolution.

In Windows Programing (by Microsoft) there is something very similar where the program does a constant loop checking for any input, then once it receives it, the program will branch to the appropriate response.

I hope I'm making this question clearer. Thanks again for your response. And if you know of any book titles or websites to look into please post those. Thankyou!!!
 
Are you trying to understand how Memory works? You seem to make a few assumptions in your first post that really ain't true.

Capacitors don't 'lock' in binary code and I don't think you'll ever see a relay in a digital computer that is of any use other then to show it can be done for various mechanical reasons. Youtube has a few videos of these cpu's made of relays. The one video even explains the limitations of using relays for such a purpose.
 
Hi Jack, since I'm new to electronics I used capacitors as an example. Obviously a modern day computer is not an ENIAC. It uses chips that have very small transistors inside them. But the idea is still the same as the days of relays. It's just in miniature. And to achieve this modern computers are using material based in silicon that allows for the same method as the days of ENIAC, of relays and gates, but using transistors and diodes that are even different from the original transistors of 50 years ago. Which are much smaller.

My question again is how are the chips initialized with electricity. And after they are charged what happens next?

And again, any book titles or specific examples from websites would be helpful. Thankyou.
 
Last edited:

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
There is no initialisation, and no charging in the sense that you are talking about.

Storage in a modern computer (in the working parts -- memory can operate quite differently -- is like 2 paper cups and a ball. The ball is initially in one of the cups (this is random. Energy is used to move the ball to the other cup. By looking at the cups you can determine which side the ball is in, and hence whether that particular bit is a 1 or a 0.

Energy isn't used for charging, it's used for changing states. All the energy is pretty much dissipated as heat.

The 2 cups and one ball analogy is a flip-flop. It has 2 states, both of them stable. A logic signal can be used to change the device from one to the other, but removing that signal does not cause it to change back.

Much of the rest of the innards of the CPU is comprised of gates (actually so are flip-flops) that produce a certain output in response to the various inputs.

The simplest type is the inverter. The actual inputs and outputs are high or low logic levels (not balls in cups obviously). Whatever state the input of the inverter is, the output is the other state.

States are given names, 0 and 1, or true and false, or asserted and not asserted, etc., but they all mean the same thing -- on or off, there is no middle state.

Other gates (and from your comments you should know about them) are OR, AND NAND, NOR, and XOR. Combinations of these can create flip-flops (2 2-input NOR gates is the easy way), adders, shift registers, all the way up to CPUs.

Certain types of flip-flops (more complex than just 2 NOR gates) will only change state when a clock input says they can. These are used all over most computers so that everything gets to settle into a final state before it is used to generate the next state (because nothing happens instantly you need to make sure that a slower set of logic doesn't fail to be ready before something that depends on its outputs). This the use of these clocked flip-flops and a clock signal to keep everything synchronised.

The clock speed is often a major selling point of a CPU. One upon a time, 4MHz was considered fast, now several GHz is not uncommon.

Rather than thinking about balls and cups, the *real* thing that is happening is that there are transistors (often mosfets) that effectively connect the output to either the +ve or -ve supply rail. The inputs of the gates are used to control these transistors. With the gate just sitting there in one state or the other, the current drain can be quite low (in some logic families theoretically zero).

When the state changes, one transistor will turn off and the other will turn on, switching the output from one supply rail to the other. In a perfect world this would be instantaneous and would consume no power. However reality intervenes, and this change of state requires power. Ironically, much of the reason for this is capacitance. Whether that be capacitance in wires (2 conductors will have some capacitance between them) or in the transistors themselves, that capacitance needs to be charged or discharged to allow the state change to be effective. This takes time and energy and contributes directly or indirectly to power consumption, but more importantly to speed, since it takes TIME. Faster computers rely on devices with lower and lower capacitance (and lower and lower voltages) so the can switch faster and faster.

Thus it is capacitance which works against the operation, it is NOT something on which they rely.
 
I may be offtopic, but I consider my request related, so I'll say it here. If a moderator considers it should have it's own topic, please move my post. Thanks.

I'm looking for something that's probably similar (not exactly the same thing, though). I want the name of a book that shows how to make computer programs from scratch (i.e. kernels). As far as I know, kernels are written in hex code, but it's closely related to binary stuff.
 
As far as I know, kernels are written in hex code

No, in fact the microsoft kernel uses C/C++ and the linux kernel is in pure C. The linux kernel is freely downloadable, so if you just want to stare at code then find your way to www.kernel.org and start browsing the git repository.

Again Hex code is just machine code interpreted into a more readable format then binary. programmers don't code in HEX, it's a ridiculous concept and nearly impossible for any program of any use.

If you want to learn how to design an Operating System, then there is quite a few books on that. If you want to learn how high level language is translated into machine code to run some hardware, then you should look at how a compiler is coded and how it functions. Let me just say this, you may want to wait till after you have your masters in computer science before you attempt that.

http://tldp.org/LDP/LGNET/85/mahoney.html
http://wiki.osdev.org/Getting_Started

Andrew Tanebaum has an excellent book http://www.informit.com/store/product.aspx?isbn=0130313580
 
Last edited:
Thanks for the links. I'll never have my masters in computer science, All the computer stuff I (will ever) know is self-taught. :)

Edit: I meant to say assembly, I don't know why I said hex.
 
Last edited:
Thanks Steve,

Fantastic explanation! I love the cup idea, because in essence computers use electricity which is simply electrons in motion. (most diagrams show particles as balls) I'm definitely in agreement with your explanation of clock cycles. Is there a book that teaches how that system works in detail? I would love an oppurtunity to see for myself. A few months back I just got a breadboard (a plastic medium to allow for connecting of electronic paraphernalia without soddering). And I just read from another "poster" about how to create an operating system. So this might also be what I'm looking for as well.
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Designing an operating system, or even writing a small module of one is not something for the feint hearted. Unless you're already an *EXCELLENT* programmer, it's almost certainly out of your league. If you're a good enough programmer, you'll know where to find these resources.

I'm glad you agree with me about clock cycles(!)

Note that my explanation of rocks in cups was NOT supposed to equate those rocks with charge or electrons (that's why I avoided "balls". It was merely to indicate a state. The rock has to be somewhere, either one cup or the other, not both, not neither.

It really does sound to me like you're aiming at things well beyond your reach. If you've just got a breadboard, make a few simple circuits and try to understand them.
 
Book

A good book to find that infomation in is "Programmable Logic Controllers" Third editon by Frank D Petruzella Published by McGraw Hill. Be ready to shell out about $200 if you buy it in a college bookstore, but you can find it online for $50 to $70 I would think. I hope this helps you.
 
Thankyou Sema!!!!! Yes, it will most definitely help me!!! Book titles or names of websites is exactly what I need!!! Thankyou so very much for taking the time to post this title. I'll definitely put it to good use. Once I reviewed it I'll post if it helped me on my research. But regardless it will put me that much further than where I was before! Thanks again! Have a great Tuesday!
 
Top