At this level

Download Report

Transcript At this level

CCSE251
Introduction to Computer
Organization
Overview
1
What is Computer Organization about?
Computer Organization
refers to the level of abstraction
above the digital logic level, but
below the operating system level.
At this level
the major components are
functional units or subsystems
that correspond to specific pieces
of hardware (e.g., memory, register)
built from the lower level building
blocks (e.g., logic gates)
How does a computer work???
2
Why Study Computer
Organization?
• Gain an understanding of the underlying implementation of code.
– pointers, memory usage, code constructs
• Design better programs.
– including system software such as compilers, operating
systems, and device drivers.
• Learn important computer science concepts.
– dual between hardware and software
• Optimize program behavior.
• Understand time, space, and price tradeoffs.
– hardware or software decisions?
3
Principle of Equivalence of Hardware
and Software
• Anything that can be done with software can also be done
with hardware, and anything that can be done with
hardware can also be done with software.
• Assumes speed and cost are not a concern.
• Hardware is almost always faster and more expensive.
4
Computer Components
• At the most basic level, a computer is a device consisting of
three pieces:
5
Computer Level Hierarchy
• A hierarchical design divides a computer system into
manageable layers.
– Each layer can be implemented without intimate
knowledge of the other layers.
– Each layer is an abstraction of the level below it.
• Each layer executes their own particular instructions, calling
upon lower layers to perform tasks as required.
• Computer circuits ultimately carry out the work.
6
Computer Level Hierarchy
7
Computer Level Hierarchy
• Level 6: User
– Program execution
and user interface
level.
– The level with
which we are most
familiar.
8
Computer Level Hierarchy
• Level 5: High-Level
Language
– The level with
which we write
programs in
languages such as
C, Pascal, Lisp,
and Java.
9
Computer Level Hierarchy
• Level 4: Assembly
Language
– Acts upon
assembly
language
produced from
Level 5, as well
as instructions
programmed
directly at this
level.
10
Computer Level Hierarchy
• Level 3: System
Software
– Controls executing
processes on the
system.
– Protects system
resources.
– Inserts system
library code.
– Assembly language
instructions often
pass through Level
3 without
modification.
11
Computer Level Hierarchy
• Level 2: Machine
– Also known as the
Instruction Set
Architecture (ISA)
Level.
– Consists of
instructions that
are particular to
the architecture of
the machine.
12
Computer Level Hierarchy
• Level 1: Control
– A control unit
decodes and
execute
instructions and
moves data
through the
system.
– Internal to the
microprocessor
and can be
microprogramme
d or hardwired.
13
Computer Level Hierarchy
• Level 0: Digital
Logic
– This level is
where we find
digital circuits
(the chips).
– Digital circuits
consist of
gates and
wires.
– These
components
implement the
mathematical
logic of all
other levels.
14
Note: Gates are abstractions of actual hardware.
We are going to cover
15
von Neumann Model
• von Neumann computers have the following characteristics:
– Three hardware systems:
• A central processing unit (CPU)
• A main memory system
• An I/O system
• The capacity to carry out sequential instruction processing.
• A single data path between the CPU and main memory.
– This single path is known as the von Neumann
bottleneck.
16
von Neumann Architecture
• This is a general
depiction of a von
Neumann system:
• These computers
employ a fetchdecode-execute
cycle to run
programs as
follows . . .
17
von Neumann Architecture
• The control unit fetches the next instruction from memory
using the program counter to determine where the
instruction is located.
18
von Neumann Architecture
• The instruction is decoded into a language that the ALU
can understand.
19
von Neumann Architecture
• Any data operands required to execute the instruction are
fetched from memory and placed into registers within the
CPU.
20
von Neumann Architecture
• The ALU executes the instruction and places results in
registers or memory.
21
History of Computing Devices
• Generation Zero: Mechanical Calculating Machines (16421945)
• First Generation:
Vacuum Tube Computers (1945-1953)
• Second Generation:
Transistorized Computers (1954-1965)
• Third Generation:
Integrated Circuit Computers (1965-1980)
• Fourth Generation:
VLSI Computers (1980-present)
22
Generation Zero:
Mechanical Calculating Machines
(1642-1945)
• Calculating Clock - Wilhelm Schickard (1592 - 1635).
• Pascaline - Blaise Pascal (1623 - 1662).
• Difference Engine - Charles Babbage (1791 - 1871), also
designed but never built the Analytical Engine.
• Punched card tabulating machines - Herman Hollerith (1860
- 1929).
23
Generation Zero:
Mechanical Calculating Machines
(1642-1945)
• Charles Babbage
•
•
•
•
Analytical Engine
Started in 1834
Never finished
No Hertz Rating
24
First Generation:
Vacuum Tube Computers (1945-1953)
• Atanasoff Berry Computer (1937-1938)
– John Atanasoff and Clifford Berry of Iowa
State University
– solved systems of linear equations.
• Electronic Numerical Integrator and Computer
(ENIAC) (1946)
– John Mauchly and J. Presper Eckert of
University of Pennsylvania
– First general-purpose computer.
25
First Generation:
Vacuum Tube Computers (1945-1953)
Eckert and Mauchly
• 18,000 Vacuum tubes
• 1,800 instructions/sec
• 3,000 ft3
26
Second Generation:
Transistorized Computers (1954-1965)
•
•
•
•
•
IBM 7094 (scientific) and 1401 (business)
Digital Equipment Corporation (DEC) PDP-1
Univac 1100
Control Data Corporation 1604
. . . and many others
27
Third Generation:
Integrated Circuit Computers (19651980)
•
•
•
•
IBM 360
DEC PDP-8 and PDP-11
Cray-1 supercomputer
. . . and many others
• By this time, IBM had gained overwhelming dominance in
the industry.
– Computer manufacturers of this era were characterized
as IBM and the BUNCH (Burroughs, Unisys, NCR, Control
Data, and Honeywell).
28
Fourth Generation:
VLSI Computers (1980-present)
• VLSI (very large scale integration) enable more than
10,000 components per chip.
• The first was the 4-bit Intel 4004.
– first microprocessor
• Later versions, such as the 8080, 8086, and 8088 spawned
the idea of “personal computing.”
29
Fourth Generation:
VLSI Computers (1980-present)
Intel 8086
• 29,000 transistors
• 33 mm2
• 5 MHz
• Introduced in 1979
– Basic architecture
of the IA32 PC
30
Fourth Generation:
VLSI Computers (1980-present)
Pentium
• 3,100,000 transistors
• 296 mm2
• 60 MHz
• Introduced in 1993
– 1st superscalar
implementation of IA32
31
Multi Core Processors
• A single chip has multiple processing units
– Dual core has 2 processing units
– Quad core has 4 processing units
• Allows multiple programs to be executed at once.
• Programs can also take advantage of multiple processing
units.
– Software must be specifically designed to do this.
– Software is hard to write
• Faster than having multiple processors (each on a separate
chip)
– Processing elements are “closer”
– Communication off-chip is slow
32
What next?
• Enormous improvements in computational power require
departure from the classic von Neumann architecture.
• Possible 5th generations?
– A computer that would use artificial intelligence
techniques to learn, reason, and converse in natural
languages resembling human languages.
33