EEL 4713/EEL 5764 Computer Architecture

Download Report

Transcript EEL 4713/EEL 5764 Computer Architecture

EEL 4713/EEL 5764
Computer Architecture
Required Textbook: Computer Organization & Design,
by Patterson and Hennessy, 2nd Ed.
Spring Semester 2004
Instructor: Dr. Shonda Walker
Chapter 1
Computer Abstractions and Technology
• Computers have led to the information revolution or
technological movement.
• Technologies used in computers (Fig. 1.13 in text):
Vacuum
Tubes
(1951)
Transistor
(1965)
IC
(1975)
VLSI
(1995)
• Computer technology (in terms of memory capacity and
processor speed) is a rapidly changing field quadrupling
every 3 years! (aka The DRAM Growth Rule  4 times
every 3 years).
EEL 4713/EEL 5764
S. Walker
2
Chapter 1
Computer Abstractions and Technology
• Innovative computer systems have led to the
development of applications that until recently
were economically infeasible:
• Automatic Teller Machines (ATMs)
• Laptop Computers
• The Internet
• Computer performance has been a primary
concern for computer architects and programmers
(memory versus speed).
EEL 4713/EEL 5764
S. Walker
3
Chapter 1
Computer Abstractions and Technology
•
Major goals of this text:
1. To understand how computers work by
understanding machine language;
2. To understand the internal organization of
computers;
3. To identify and evaluate performance metrics for
a computers and their programs;
EEL 4713/EEL 5764
S. Walker
4
Chapter
1
What is a computer?
Computer Abstractions and Technology
Inside a computer (The Big Picture)
Five Classic Components of a Computer (based on the Von Neumann model)
Memory
where programs are kept when they are running;
also contains data needed by programs
Control
Datapath
one of two components of processor that performs
arithmetic operations
Input Devices
devices that supply input to the computer such as
the keyboard and the mouse
Datapath
Output Devices
devices, such as printer and monitor, that convey the
result of a computation to the user
Memory
Control
one of two components of processor that tells
memory, datapath, and I/O devices what to do
Input
Output
5
Chapter 1
Computer Abstractions and Technology
• Computers communicate using machine language
which is a binary representation of electrical
signals (1 and 0).
• Binary digits are known as bits.
• Since computers only follow commands, we say
the individual commands are called instructions.
For example:
1000110010100000 is an instruction that tells a
computer to add two numbers
(more in chapter 3).
EEL 4713/EEL 5764
S. Walker
6
Chapter 1
Computer Abstractions and Technology
• Bits are used to represent both instructions and data.
• Initially only binary numbers are used to design and
program computers, however this became tedious. Hence,
the development of assembly language and high-level
programming languages.
• The notion of low-level and high-level programming is a
common approach to hardware and software system
design.
• A system that consists of hierarchical layers with each
lower layer hiding the details from the layer above it is
known as abstraction.
EEL 4713/EEL 5764
S. Walker
7
Chapter 1
Computer Abstractions and Technology
• Levels or layers of Abstraction can be though of as the
highest “user” level to the lowest level (transistor level).
• Separability is the key to effective computer abstraction.
For example, if you run Microsoft Word or some other
word processing program, you don’t need to know
anything about the inner-workings of its programming.
•
Exploiting separability supports the development of
upwardly-compatible machines (allows a user to upgrade
to a faster, more capable machine without rewriting the
software the runs on the less capable machine)
EEL 4713/EEL 5764
S. Walker
8
Chapter 1
General Levels of Abstraction
Highest Level
User Level – Applications Programs
High-level Languages
Assembly Language/Machine Code
Mircoprogrammed/Hardwired Control
Functional Units (memory, ALU, etc.)
Logic Gates
Lowest Level
Transistors and Wires
EEL 4713/EEL 5764
S. Walker
9
Chapter
1
Instruction Set Architecture
Computer Abstractions and Technology
The programmer’s view of computer technology deals
primarily with the instruction set architecture and
functional units of the machine.
The computer architect views the system at all levels.
He/She focuses on parameters that affect the design of a
computer emphasizing performance requirements and cost
constraints.
Our focus
EEL 4713/EEL 5764
S. Walker
10
Chapter 1
Computer Abstractions and Technology
Example
High-level Language
(in C)
A+B
(High-level Instruction)
Compiler
Assembly Language
Program
add A, B
(Assembly Language Statement)
Assembler
1000110010100000
(Binary Instruction)
Binary Machine
Language
EEL 4713/EEL 5764
S. Walker
11
Chapter 1
Computer Abstractions and Technology
• The remainder of the semester:
–
–
–
–
–
–
–
–
Chapter 2: Performance and Cost Analysis
Chapter 3: Instruction Set Architecture
Chapter 4: Computer Arithmetic and building an ALU
Chapter 5: Controller and Datapath Systems
Chapter 6: Pipelining
Chapter 7: Memory Hierarchy
Chapter 8: Input/Output Systems
Chapter 9: Multiprocessors
EEL 4713/EEL 5764
S. Walker
12
Chapter 1
Take-home Quiz #1
Briefly (no more than 1 page) discuss the
history of computers include a description
of the Von Neumann architecture and its
main components.
Due next class period: Monday January 12, 2004
EEL 4713/EEL 5764
S. Walker
13