Oldest computers Stonehenge In many introductions to computing, the Antikythera mechanism is mentioned, which is a 60-gear mechanical astrological calculator made about 2000 years ago.
A current phone has more sensors (15+) and substantially more computing power (8+ 64-bit cores) than NASA had in the 60s to land on the moon.
Semiconductors Transistors A semiconductor is a material which conducts electricity, but not too well.
Booleans There are two values: true and false. Many operations, such as comparisons, on other data (e.
Adders Half Adder A half adder is a component which adds the right-most bits of two numbers.
Positional Number Systems As mentioned: numbers are an abstraction. One number can be represented in many ways, including the positional number systems.
Memory In principle, memory is capable of storing a large number of bytes.
So far we’ve looked at the lowest level of Bits & Gates, but now we’re off to bigger things.
Around 1950, as the demand for more powerful, faster processors was growing, one engineer, faced with the increasingly complex and error-prone task of designing new processors, had a great thought: create a simple, more reliable ‘CPU’ which simulates more complex processors.
A modern ISA understands several data types (implied by an instruction):
Assembler A CPU fetches bits from memory and decodes and executes them, which means that bits are altered here and there.
Users don’t like to wait, and while a single ALU is fast, it can only do so much.
In the early days of computing, memory was expensive and small.
Although Multi-tasking, Concurrency and Parallelism all refer to the same concept, more than one thing happening at once, they are entirely different ideas.
A process is
An executable program (i.e. ISA instructions) data used by that program (variables, stack, buffers, etcetera) an execution context = current state The OS maintains administration of many aspects including: