0
\$\begingroup\$

What should I know to understand how a processor performs computations, at the level of the electron (concerning adders,gates,etc.)?

Suppose I already know the logic side of the issue, i.d. how processors do arithmetic by binary logic operations.

I need an overview of the main subjects, perhaps in the form of a diagram.

\$\endgroup\$

closed as too broad by Eugene Sh., Matt Young, TonyM, Leon Heller, old_timer May 15 '17 at 19:53

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 7
    \$\begingroup\$ There are too many layers between the calculations and the electrons. These are covered under somewhat complete Electrical Engineering university degree program... \$\endgroup\$ – Eugene Sh. May 15 '17 at 18:37
  • 1
    \$\begingroup\$ What a broad question.. \$\endgroup\$ – M.Ferru May 15 '17 at 18:39
  • 1
    \$\begingroup\$ That's because that is what a core does. In digital design, abstraction needs to be made. It's impossible to talk about the low level at all times. We use math and programming languages/HDL to go to building blocks like cores, memories, etc which are made up of ALUs, control structures, etc which are made up of adders and multipliers etc which are built up of individual gates which are built up out of transistors. Any decent digital design book will cover this in an introduction \$\endgroup\$ – Joren Vaes May 15 '17 at 18:54
  • 2
    \$\begingroup\$ It's possible to describe an adder at gate level. But to transistor level it won't make sense. Maybe you should learn how gate works at transistor level, then a adder at gate level. After you've learned all the basic components (adder, registers, decoder, etc) at gate level, you can understand a CPU core at RTL level. After that it's instructions and programming languages. It's always to use one level lower abstraction to explain the next higher level. Talking how the lowest level implements the highest level is impossible. \$\endgroup\$ – user3528438 May 15 '17 at 19:03
  • 1
    \$\begingroup\$ start with schematic for CMOS adder then work yer way up slowly up to an ALU. Google "images " will express more than 1000 words \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 May 15 '17 at 19:16
1
\$\begingroup\$

There's basically two concepts you'll have to explore.

First, how does the digital logic work? Using logic gates, you can basically build up whatever mathematical logic engine you want (theoretically). This rough generalization won't really change, but in the future we may have more than just binary logic (1 and 0).

Second, how do those gates actually operate from a analog physics standpoint? This is basically the IEEE article, etc. This will potentially change with time, too.

It'll be difficult to find one source that puts it all together (outside of a textbook) because they are different EE fields of study.

\$\endgroup\$
  • \$\begingroup\$ Thank you, is there any way you can make a diagram of a simple addition problem? \$\endgroup\$ – Nirelan May 15 '17 at 19:16
  • \$\begingroup\$ @Nirelan: do a google search for "binary adder" - you'll get links to many descriptions of adders - Wikipedia has a long article. These should answer some of your questions. \$\endgroup\$ – Peter Bennett May 15 '17 at 19:22
  • \$\begingroup\$ Thank you Peter, I found improve.dk/adding-67-at-the-logic-gate-level and it seems to do a good job of breaking it down. Is there anything you would add to that? \$\endgroup\$ – Nirelan May 15 '17 at 19:23
  • \$\begingroup\$ Btw, I wanted to thank @PeterBennett and @G36! Until I found that article that specifically mentioned the carry part, it was confusing. I was more specific about my searches thanks to you and explaining how the carry works made it make sense. \$\endgroup\$ – Nirelan May 15 '17 at 19:30

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