Chapter 0
Chapter 0
Chapter 0 Introduction
Chapter 0 1
History of Computing - Early Computers
• Abacus (ancient orient, still in use)
• Slide rule (17C, John Napier)
• Adding machine with geared wheels (17C, B. Pascal)
• Difference Engine (19C, C. Babbage): First device using the principles of
modern computer.
• ENIAC (1945, John Mauchly and J. Presper Eckert, Jr.)
– Vacuum tube computer (18,000 electron tubes)
• Three important inventions
– Stored program concept (John von Neumann)
– Transistor (J. Bardeen, W.H. Brattain, W. Shockley)
– Magnetic core memory (J.W. Forrester and colleagues in MIT)
Chapter 0 2
History of Computing - First Four Generations
• First generation: ENIAC and other vacuum tube computers (1940s - 1950s)
• First generation: Vacuum tube computers (1940s - 1950s)
• Second generation (1950s): Transistors
• Third generation (1960s and 1970s): Integrated circuits
• Fourth generation (late 1970s through present): LSI and VLSI
– Personal computers, computer networks, WWW, etc.
• Next generation:
– New user interfaces (voice activation, etc.)
– New computational paradigm (parallel processing, neural network, etc.)
– Parallel processing, artificial intelligence, optical processing, visual
programming, gigabit networks, etc.
Chapter 0 3
History of Computing - Evolution of Intel
Microprocessor
80
3,100,000
10,000,000
Parameters
1,200,000
70
66
Transistors
1,000,000 60
Clock speed (MHz)
275000
50
130,000
50
Number of transistors
100,000 40
33
29,000
10,000 20
16
4,500
2,300
10
10
8
0.74
1,000 0
4004 8080 8085 8086/8088 80286 80386 80486 Pentium
(1971) (1974) (1976) (1978) (1980) (1986) (1988) (1993)
Chapter 0 4
Digital Systems - Analog vs. Digital
• Analog vs. Digital: Continuous vs. discrete.
0000000000000000
0111111100000111
1000100011111000
1011011010001011
(a) Analog form (b) Sampled analog form (c) Digital form
Chapter 0 5
Digital Systems - Design Hierarchy (1)
• System level - Register level - Gate level - Transistor and physical design
level
Adder
Compute the sum of
a sequence of
input numbers
Clear
Register A
Store
Total Total
Chapter 0 6
Digital Systems - Design Hierarchy (2)
• Gate level: Collection of logic gates.
x1
G1
x2
G4
Inputs Combinational Outputs
x1
logic
x3 G2 G6 f(x1, x2, x3, x4, x5) network
x4
G5
x2 Memory
G3
x3
Chapter 0 7
Digital Systems - Design Hierarchy (3)
• Transistor and physical design level: Each logic gate is implemented by a
lower-level transistor circuit.
• Electronic Technologies:
Chapter 0 8
Organization of a Digital Computer -
Four Major Components
• Control unit: Follows the stored list of instructions and supervises the flow of
information among other components.
• Arithmetic/logic unit (ALU): Performs various operations.
• Memory unit: Stores programs, input, output, and intermediate data.
• I/O devices: Printers, monitors, keyboard, etc.
Arithmetic/
I/O
logic unit Memory
devices
(ALU)
Control
unit
Chapter 0 9
Organization of a Digital Computer -
Instruction Cycle
• Fetch the next instruction into the control unit.
• Decode the instruction.
• Fetch the operands from memory or input devices.
• Perform the operation.
• Store the results in the memory (or send the results to an output device).
Chapter 0 10
Organization of a Digital Computer -
Computer Instructions
• Arithmetic instructions.
• Test and compare instructions.
• Branch or skip instructions.
• Input and output commands.
• Logical and shift operations.
Chapter 0 11
Organization of a Digital Computer -
Information Representation
• Numeric data: Binary number system.
• Numeric (Input/Output) codes: ASCII.
• Instruction codes: Operation code and memory addresses of operands and
result.
Chapter 0 12
Organization of a Digital Computer - Software
• Programming: The process of designing a list of instructions.
• Application programs: Word processor, spreadsheet, drawing programs,
inventory management programs, accounting programs, etc.
• System programs: Operating systems, language translation programs, utility
programs, performance monitoring programs, etc.
High-level
language Compiler
program
Machine
language
program
Assembly
language Assembler
program
Chapter 0 13