19
1 Core Ingredients of Computing “universal” machine rogrammability inary Code (everything stored as “0” or rogram and Data are interchangeable lectronic Components

1 Core Ingredients of Computing A “universal” machine Programmability Binary Code (everything stored as “0” or “1”) Program and Data are interchangeable

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

1

Core Ingredients of Computing

A “universal” machine

•Programmability•Binary Code (everything stored as “0” or “1”)•Program and Data are interchangeable•Electronic Components

2

200 BC - today Abacus -

~1670 Leibniz’ “Rechenmaschine”

Fixed calculations

+, -, *, /, sqrt

~1750 Jacquard’s Loom Punch Tape

1820 Babbage’s“Difference Engine”

FixedTable Calculation

1838 Babbage’s “Analytical Engine”

Program & Data separate

1841 Ada Byron, Lady Lovelace

First program (Bernoulli-Numbers)

Early Computing History in a Nutshell

3

Leibniz’s Step Reckoner• Gottfried von Leibniz

1670• Add, subtract, multiply,

divide, square roots

4

Jacquard’s punch card

• Joseph Marie Jacquard 1804 • punch cards used to operate

loom

5

Babbage’s analytical engine• Charles Babbage

(1791-1871)Design for the analytical engine

•Programmable, but mechanical.

•Data+Program separate

6

The World’s First Programmer

• Lady Ada Augusta Byron, Countess of Lovelace (1815-1952) (1791-1871)

7

200 BC - today Abacus -

~1670 Leibniz’ “Rechenmaschine”

Fixed calculations

~1750 Jacquard’s Loom Punch Tape

1820 Babbage’s“Difference Engine”

FixedTable Calculation

1838 Babbage’s “Analytical Engine”

Program & Data separate

1841 Ada Byron, Lady Lovelace

First program (Bernoulli-Numbers)

Early Computing History in a Nutshell

First universal programmable machine

8

1886 Hollerith Punch Cards

1936 Zuse Z1 Relais

1941-1944 Zuse Z3/Z4 “Plankalkül”

1944 Mark I Partly mechanic

1943 Colossus Not universal

1946 Eniac Programmable with Re-wiring

1949 ManchesterUniversal Computer

Cathode-RayTube Memory

The AncestorsBinary code

universal

Integration:•fully electronic•binary•Programmable•universal

electronic

9

Hollerith’s Tabulating Machine• Herman Hollerith (1860-1929)

• Invented a punched card device to help analyse the 1890 US census data

• Founded “Tabulating Machine Company” 1896

• 1924 – Tabulating Machine Company merges with others to form IBM

Binary but not really programmable

10

Konrad Zuse• 1936: Z1 first binary computer using

Erector Set parts, keyboard and lights for output (relay memory)

• 1938: Z2 – using punched tape and relays

Z1

Z3: fully binary, fully programmable, but partly mechanical

11

Colossus• 1943 British Colossus –

(1,500 vacuum tubes)– Decipher enigma coded messages at 5,000

chars/sec

– At peak, 10 machines ran 24 hours a day in Bletchley Park

A German enigma coding machine

Fully electronic, but not universally programmable

12

Harvard Mark 1• 1943-44 Aiken at Harvard/IBM “Mark 1” – first

electromechanical digital computer (electromagnetic relays – magnets open and close metal switches) (recreation of Analytical Engine)– 8 ft tall, 50 ft long, 1 million parts– 323 decimal-digit additions per sec– storage for 72 23-digit numbers.

Universal, fully programmableBut partly mechanical

13

ENIAC (1946)• 18,000 tubes, 1500 sq ft

• Programmed by wire plugs into panels– 5,000 decimal-digit additions/sec

– 20 10-decimal digit “accumulators”

Von Neumann and ENIAC

Fully electronic, programmableBut extensive-wiring required

14

Experminental MUC (1949)• 1941 Von Neumann proposes

EDVAC – Electronic Discrete Variable Computer

• Computer should– Use binary

– Have stored programs

– Be function-oriented

• Team Members from Bletchley Parkand EDVAC/ENIACCollaborate

• Add CRT display memory

First fully electronic universal computer

25

Hardware Components of a Typical Computer

PeripheralDevices

Central ProcessingUnit (CPU)

Memory

• "Buses" allow components to pass data to each other

26

Hardware Components of a Typical Computer -- CPU

Central Processing Unit (CPU) • performs the basic operations• consists of two parts:

– Arithmetic / Logic Unit (ALU) - data manipulation– Control Unit - coordinate machine’s activities

MemoryPeripheralDevices

Central ProcessingUnit (CPU)

27

Hardware Components of a Typical Computer -- Memory

Main Memory • holds programs and data• stores bits in fixed-sized chunks: “word” (8, 16, 32, or 64 bits)• each word is stored in a cell, which has a unique address• the cells can be accessed in any order =>

random-access memory or “RAM”

PeripheralDevices

Central ProcessingUnit (CPU)

Memory

28

Bits, Bytes, Kilo-, Mega-, Giga-, …

• A bit: 0 or 1• A word: chunk of bits (8, 16, 32 or 64 bits)

• a byte = 8 bits• a kilobyte = 210 bytes = 1024 bytes • a megabyte = 1024 KB = 220 bytes =

1,048,576 bytes• a gigabyte = 1024 MB = 230 bytes• a terabyte = 1024 GB = 240 bytes

32

Family Tree of

Programming

Languages

http://faramir.rug.ac.be/courses/soot1/dungeon/histlang.html