Explain how a modern computer works at the most basic level.

1.22K viewsOtherTechnology

How do you go from some silicon wafer with some metallic lines printed on it to having a GUI desktop. I don’t understand the intersection between hardware and software at the fundamental level.

In: Technology

31 Answers

Anonymous 0 Comments

Computers are layers upon layers upon layers, each layer providing a level of abstraction and a black box that will fulfil some function.

Fundamentally computers are input and output systems. A GUI desktop takes inputs from various input devices (keyboards, mice, network, hard drives etc), and outputs to a screen and perhaps speaker, and write to hard drives and network. The outputs for a computer will always be in the form of a digital signal (this is 1s and 0s I’ll get to this later) as digital is the fundamental unit of thought for a computer. If a computer wants to output an analogue signal, extra hardware will be required for conversion.

Computers have many components to help them get their output, but the heart is the CPU. This actually could be better thought of as the brain, the CPU is the piece of hardware that does all the thinking required to process input and generate the correct outputs. The way they do this is not too complicated, all CPUs are instruction machines. They operate step by step and take in instructions in the form of strings of 1s and 0s which encode an instruction. These instructions are of a limited subset, usually to perform some simple calculation using numbers stored in a very short term memory (called registers), or read or write to/from longer term memory (this is what we think of as RAM, but these operations are also what allow they CPU to interface with the output/input device that can access the “data bus”). It can be difficult to imagine how the ability to do such simple operations would allow us to create something as complicated as a desktop computer, but with enough of these instructions in the right order this can be done. To help us produce the correct instructions we have invented tools that help us to more quickly and easily develop them without getting lost in the 1s and 0s, for example we can develop shorthand for doing common groupings of instructions and write programs to convert these shorthands into the appropriate CPU instructions (these shorthands are called programming languages and the programs that convert them are compilers). Then we can write complicated programs that help us to write and manage programs on the CPU, and give us easier ways to manage resources such as our input/output devices, allow multiple programs “share” the main CPU by jumping back and forth between programs and much more, this is an operating system.

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