Hardware Engineering -> Writing Software

241 views

In computer hardware engineering, how does the electricity and the little bits of silicon work, what’s the “lowest level” of computer engineering and how does that work, and how does that scale and translate up into writing software? i.e. hardware -> machine code -> assembly -> higher level programming languages?

I think mostly I’m just curious about the bridge between software and hardware, and how to get there, but I have no idea where to start.

In: 1

5 Answers

Anonymous 0 Comments

The smallest physical component of a computer is the transistor. This is a bit of wire with three connections. An input (source), an output (drain) and a controlling connection (gate). If electricity is flowing to the gate, then current can flow from the source to the drain. If there is no electricity to the gate then no current can flow. It acts as a very simple switch. Gate on then the switch is closed. Gate off then the switch is open.

The real power of a computer comes from when you hook the output from one transistor to the gate of a second. So, now if the first transistor is switch closed, it will also switch the second transistor to closed.

Using chains of transistors you can make simple logic gates. These are things like AND circuits (only turns on when all inputs are on), OR circuits (turns on when any of the inputs are on) or NOT circuits (switches on to off and vice versa).

Connect some logic gates in the right order and you can do simple arithmetic like adding and multiplying. From there, you can do any mathematical operation we know about.

The software just sets the initial inputs to the circuits. Then the circuits calculate whatever they’re configured to calculate.

You are viewing 1 out of 5 answers, click here to view all answers.