2
\$\begingroup\$

I'm a .net developer, and it bothered me that I didn't have a good enough knowledge of how the computer actually runs the programs I write. So I started reading on various subjects and came across some questions.

For example, I read that transistors are used to build logic gates since they can operate as an electricity controlled switch. These, in turn can be used to build memory (as in an SR latch) and to perform computational tasks (as in a half adder).

What I don't understand is, how is the controlling voltage (the one applied to the gate) controlled if not by another transistor? I read that the benefit comes from controlling a high current by applying a small one, is controlling a small current an easier task?

I know this is a novice question. Thanks to those who answer!

\$\endgroup\$
3
  • 2
    \$\begingroup\$ Transistors are usually controlled by other transistors. To provide 'primitive' controls you either feed some outputs to the inputs, use user input (e.g. keyboard), or generate signals with special circuitry (e.g. clock generation) \$\endgroup\$ Commented Aug 1, 2016 at 11:30
  • 1
    \$\begingroup\$ A lot of great questions comes from novices. I think this is one of them, and I remember many friends asking me similar questions. \$\endgroup\$
    – pipe
    Commented Aug 1, 2016 at 17:29
  • \$\begingroup\$ Also remember that stored memory can be used to generate inputs to gates. I remember spending some time wondering how they could work since eventually the input has to come from a switch somewhere. But this is not really true! \$\endgroup\$
    – jbord39
    Commented Aug 1, 2016 at 18:13

3 Answers 3

1
\$\begingroup\$

You seem to have mixed up several things you read about. In a broad sense, there are two types of transistors, called BJT (bipolar junction transistor) and FET (field effect transistor). Nowadays, computers are made from the FETs. These are controlled by a voltage, not a current. The voltage produced by the output of one logic gate is applied to other logic gates. Internally the inputs of these logic gates are the gates of the FET transistors. Note that "gate" as in "logic gate" is different from "gate" as one of the terminals of a FET.

\$\endgroup\$
3
  • \$\begingroup\$ Whoever downvoted this, it would be useful to know what you think is wrong, misleading, or badly written. \$\endgroup\$ Commented Aug 2, 2016 at 10:37
  • \$\begingroup\$ My apologies. I shoukd have commented. I simply think that @jonk has a better answer for others who come seeking the answer to a similar question. Everything is correct though. \$\endgroup\$ Commented Aug 4, 2016 at 22:50
  • \$\begingroup\$ @BrianDohler, that is not a reason to downvote. Downvotes imply you think the answer isn't potentially useful for future readers. Maybe because it provides incorrect or misleading information. \$\endgroup\$
    – The Photon
    Commented Aug 4, 2016 at 23:01
1
\$\begingroup\$

Transistors today fall into two basic categories: FETs (which itself breaks down into varieties such as N-channel vs P-channel, enhancement vs depletion mode, JFET vs MOSFET, and more) and BJTs. There are some rare, but still existing ICs which use BJTs (ECL topology) and can be used to make a CPU. But they are not commonly found. Most CPUs are based upon a complementary (N and P types) MOSFET type, commonly called CMOS as short-hand for complementary-MOSFET. MOSFETs do require momentary currents when they switch, to shift the voltage at their gates, but are otherwise field-effect based from a voltage difference applied to their gates (in reference to another terminal.)

So it's not all that useful to worry about "current amplification," per se. Besides, even if BJTs were used (and they were used back in the day) they can be applied in a variety of arrangements within circuits and aren't always used for current amplification, anyway.

BJTs are still used in many other applications, though. And there are a lot of devices that don't support much current for their signalling. Some kinds of microphones fit that, for example. Also, a microcontroller's IO pin often can't produce enough current to properly light up a higher current LED and may require some help with a BJT, as another example where a BJT's ability to accept a small current to control a larger one is useful.

To add further to your confusion, I suppose, even a BJT uses a voltage to control it's larger current capability. You'd have to look at the Ebers-Moll equation to see this fact. And a lot of people still "see" it as a small current controlling a larger one, incorrectly. But it is really the Vbe voltage on the BJT that implies a larger (Ic) collector current. The base current is just an unintended consequence due to recombination of charges. Still, that turns out to also be useful because the collector current, Ic, is exponentially related to the Vbe voltage and controlling tiny changes in that voltage would be complicated and more expensive (except perhaps in things similar to a current mirror configuration -- a fact well used in IC designs where transistors are 'cheap.') So, lemons are turned into lemonade, and the fact that the recombination current at the base is nearly linearly related to the collector current is used to good effect, at times.

You live in a modern world where you really can learn about how computers work inside without spending a lot of money. So these are exciting times for people like you with an interest. Here are some recommendations:

  1. Clive Maxfield and Alvin Brown wrote an excellent book for beginners here called, "Bebop BYTES Back: An Unconventional Guide to Computers." Well worth getting. And you will learn here about what kinds of basic functional units are used within a CPU and how they are put together to achieve instruction execution.
  2. You can also visit the NAND 2 TETRIS site at http://www.nand2tetris.org/ to get a truly wonderful approach, as well, to understanding what is going on inside of a CPU.
  3. For a specific design approach using FPGAs and Verilog HDL, you could pick up Monte Dalrymple's, "Microprocessor Design Using Verilog HDL." It provides a very detailed design approach for the Z80 CPU.
  4. Consider buying an FPGA board. I like Digilent.com as a company and, if you are in a school of any kind, you might be able to get their boards at half price, too.
  5. Get a software program called "Logic Friday" as a supporting tool to help you specify and then minimize complex logic functions. It's free and it doesn't do anything other than the work you'd expect from it. No ads. Etc. Just a nice, useful tool.
  6. Also for beginners considering the idea of learning an HDL, I'd recommend getting Douglas Smith's, "HDL Chip Design" book. It is a kind of "parallel" book on Verilog and VHDL (the two dominant HDLs) and it is targeted at beginners. There are other good books as well on these topics, such as Pong Chu's, "RTL Hardware Design Using VHDL," and K. C. Chang's, "Digital Systems Design with VHDL and Synthesis: An Integrated Approach." But you also need to learn something about floorplanning and none of these books really over that for you. (The tools do some of it automatically, but rather badly at times.)

None of the above gets into the electronics design level, though. Once you assume that there exist certain basic logic functions and you learn about the meaning of the divisions between combinatorial logic and sequential logic, the above covers a great deal. At the electronics level, you'd need to learn about signalling, different topologies and how and why they work as they do, set up and hold times, and a host of other issues that electronics designers worry about -- especially if you need to get down to FAB processing, as well. But for your level of interest and readiness, I'd probably start out with (1) and (2) above. (2) is available over the web and you can learn a lot there. (1) is a book, but it is truly designed for someone at your level, I think. So both are good places to start out. The rest is for you, if your interest continues.

In short, I think you may be getting too focused on some aspect right now that isn't important, given what you also say is your interest about learning how computers run programs. I'm suggesting you let loose of that and focus on the correct "next level down" stage and work yourself towards the rest, later. You need to take this in stages and you've jumped "way too far" into the deep end (which isn't important yet, for you) by asking about current amplification in a BJT, I think.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Once you realize the majority of a computer is built using CMOS logic it is really not that hard to understand. Gates turn on and off when charged up or down, it's really not that complicated at a basic level (of course it becomes complicated when considering delays, feedback, contention, etc; but those are unnecessary and not his question). I am always wary of people telling others to stick close to what they know. \$\endgroup\$
    – jbord39
    Commented Aug 1, 2016 at 18:38
  • 1
    \$\begingroup\$ I think the OP is already out of his comfort zone. So I'm not suggesting that he sticks close to what he knows here. Probably every single suggestion I made will be quite a stretch as it is. That said, my answer is designed to be helpful in exactly the right ways, given his stated desire. Note that he said two things -- what he wanted to learn + an odd question about BJT currents. I took that to mean that he incorrectly took an impression that the answer to one would help the other. It's my opinion that this is simply a mistaken impression. So I addressed his real interest, directly. I hope. \$\endgroup\$
    – jonk
    Commented Aug 1, 2016 at 18:54
0
\$\begingroup\$

Of course a computer is a very complex electronic system. The vast majority of the gates in a computer get their input from the output of other gates.

Only at a few places, like the keyboard, the mouse, and the network interface (traditionally called peripheral devices), are the input signals coming from outside the computer. But of course those are enough to trigger a vast array of complicated behavior.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.