Computer architectures
General purpose computers
Charles Babbage's design for the analytical engine is the first design of a general purpose computer. A general purpose computer is one that can be programmed to complete a variety of tasks. Ada Lovelace is credited as the
first programmer as she wrote an algorithm using punch cards that could be executed on an analytical engine.
Early computers
The ENIAC, built in 1945, was the first programmable electronic, general purpose digital computer. It was built to calculate artillery firing tables for the US army. To reprogram ENIAC required changing huge amounts of
plugboard wiring and setting the 1200 switches found on each of the three function tables.
Von Neumann architecture
It was John Von Neumann who had the idea for the stored program concept. Features of the Von Neumann architecture:
* A single memory store that holds both data and instructions together in the same place
* A single
central processor with an arithmetic logic unit and registers for storing temporary values, as well as a control unit that includes an instruction register and program counter
* Input and output mechanisms allowing for
external mass storage
Harvard architecture
Features of the Harvard architecture:
* Separate storage for data and instructions meaning they can be fetched simultaneously on separate buses
* This makes it very fast but more complex to build
* Instructions may
be held in ROM where data requires RAM
* The address bus and data bus can be different sizes to suit different needs
The Harvard architecture is commonly used in embedded systems. In particular, those that use digital signal processing. Digital signal processing usually involves responding in real time to a number of sensors. The speed of
the Harvard architecture makes it ideal for a range of uses e.g. flight control systems, navigation systems.