What is the Typical Computer?
The typical computer of 2024 is a computer that is powered by electricity and stores data as bits (binary digits, which can be either 0 or 1). This includes all PCs, tablets, laptops, smartphones, and physical servers that we normally use. However, not all "computers" use electricity or store data as bits.
Key Features of Typical Computers
Digital data: typical computers store data by encoding it as digital signals. Data that is observed from natural sources, e.g. light and color, sound waves, pressure, temperature, dimensions, etc., produce analog signals. These signals must be measured by some device. This measurements turns the continuous analog signal into a discrete number, and the discrete number can be encoded as digital signals.
For example, let's say we're measuring how long something is. The length of something is determined by the position of its atoms. I'm not sure we can observe and measure the position of all atoms of an object at one instant, so this level of precision isn't achievable. Instead, we just use a simple ruler that only has marks for millimeters. The length of the object is "clamped" to millimeter precision, e.g. 273mm, or 27.3cm, and this number is encoded as digital data.
The same idea applies to everything. Voltage, for example, is derived from the difference in missing electrons between two areas. There are more electrons than atoms, so voltmeters can't really measure every single electron that is missing. There is a level of precision. Data less significant than this precision is simply not recorded.
Irreversible deterministic logic: typical computers process data by sending electrical signals that encode the bits through electrical circuits. This electricity only goes one way (i.e. it's direct concurrent, which means all electronics have a rectifier to transform the alternate current you get from a power plant into DC). The electricity moves through the electrical circuit pathways, its direction is changed conditionally thanks to transistors. With transistors and electrical circuits, it's possible to implement some logic gates (e.g. the AND
gate), and with those logic gates, it's possible to implement other logic gates, and all functions that a computer needs.
These advanced functions include, for example, the ability to add two binary numbers using full-adder logic circuits, and the ability to store data temporarily to be modified in a next cycle through the circuit using flip-flop circuits. This would be the CPU registers and the RAM. Because this memory (this stored data) is entirely made out of electrons running through electrical circuits, when the computer is powered off and there is no voltage to pull the electrons through anymore, so (I assume) those electrons may just move away naturally corrupting the memory. Presumably, the computer resets all the bits in registers and memory it needs to use when it powers up. In any case, that means this memory isn't reliable enough to be permanent.
Typical computers store data permanently by storing the bits as magnetism in HDDs and as storing electrons in SSDs (FLASH memory).
The algorithm to process data is carved into the computer as electrical circuits (and logic gates), and only goes one way. It's not possible to revert the data operations by flipping the voltage from +5v to -5v.
The same input always results in the same output (it's deterministic). The typical computer is just a microscopic Rube Goldberg machine. Consequently, the typical computer is incapable of producing truly random outputs, as a random value must be derived from data inside the computer, and this data is always the same given the exact same input. Many games that have randomly generated aspects (e.g. randomly generated worlds (Minecraft, Terraria, Factorio), or roguelikes (Slay the Spire)) allow the user to set an initial random "seed" which is used to produce all random values used in the game, such that the game's generation algorithm always produces exactly the same world from a given seed (so long as the algorithm doesn't change). There are some electronic devices that can supply a truly random number to a computer based on data observed outside the computer (e.g. current temperature). Would that really be random, though, if the universe itself were deterministic?
Examples of Atypical Computers
Steampunk Computers: the first computer, the difference engine, was built out of gears: it was powered by mechanical force, not electricity, and stored data as base-10 numbers written on the gears.
Water Computers: some computers used water to store data. The amount of water in a container representing a single scalar value. Operations that move water subtract from or add to this amount.
Quantum Computers: quantum computer process data as quantum bits (qbits). I honestly have no idea how they work! All I know is that they work significantly different from the typical computer, such that you can't just take an algorithm that would have worked on a typical computer and port it to a quantum one. Conversely, algorithms for quantum computer can process (certain kinds of) data in ways that would take a ridiculous amount of time for a typical computer.
Turing Machine Implementations
One definition of a computer is that it must be Turing-complete, which means it's able to implement any computer algorithm. This has led some people to spend a ridiculous amount of time taking this as a challenge.
See [I Built a COMPUTER in Magic: The Gathering] for an example.
I don't really understand how Turing machines are supposed to work, and I assume most people don't either. A more tangible and easy to understand challenge is adding two binary numbers together, which can be built if you can build logic gates.
Logic Gate Implementations
Some games like Minecraft and Terraria allow players to built circuits, including logic gates, to operate all sorts of objects inside the game. Naturally, this has lead players to build computers in it.
Similar computers have also been made in real life. When you hear "I made a computer using X" it often means implementing logic gates somehow, and from there you can build anything.
Leave a Reply