Title: EEL 4713/EEL 5764 Computer Architecture
1EEL 4713/EEL 5764Computer Architecture
Required Textbook Computer Organization
Design, by Patterson and Hennessy, 3rd
Ed.
- Spring Semester 2005
- Instructor Dr. Michael Frank
2Competency Areas
- The Course Instructional Objectives cover six
competency areas -
3Competency Areas
- Computer System Components
- Identify important parts of a computer system
and classify them according to the five
components of a computer - Performance Metrics
- Calculate and interpret different performance
and cost metrics of computer systems.
4Competency Areas
- Programming Coding Methods
- Derive binary MIPS RISC processor code from
assembler coding and verify with software
simulation tools - Derive assembler code from an equivalent
C-code representation. - Computer Arithmetic
- Calculate floating point and twos complement
number conversion and solve arithmetic equations
in twos complement. - Analyze the datapath and control of an
arithmetic logic unit. - Design and implement multiplication and
division algorithms.
5Competency Areas
- Processor Datapath Control
- Analyze a multicycle datapath of a MIPS
microprocessor. -
- Cache Architectures
- Â Â Â Â Identify, analyze and design optimal cache
architectures for a given need.
6Assignment 1
- Sign the Prerequisite form and turn it in to me
before the end of class today. - Go to Blackboard Course Web page and verify
and/or self-enroll in the class. - Obtain the textbook (3rd edition) and read
chapter 1.
7Computer Abstractions and Technology
- Computers have led to the information revolution
or technological movement. - Technologies used in computers (Fig. 1.13)
- 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).
8Chapter 1Computer Abstractions and Technology
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).
9Chapter 1Computer Abstractions and Technology
Computer Abstractions and Technology
- Major goals of this text
- 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 -
10What is a computer?
Chapter 1Computer Abstractions and Technology
Computer Abstractions and Technology
- Inside a computer (The Big Picture)
-
Five Classic Components of a Computer Memory
where programs are kept when they are running
also contains data needed by programs Control
one of two components of processor that tells
memory, datapath, and I/O devices what to do
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 Output Devices devices, such as
printer and monitor, that convey the result
of a computation to the user
11Chapter 1Computer Abstractions and Technology
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).
12Chapter 1Computer Abstractions and Technology
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.
13Chapter 1Computer Abstractions and Technology
Computer Abstractions and Technology
Example
High-level Language (in C)
A B
(High-level Instruction)
Compiler
add A, B
Assembly Language Program
(Assembly Language Statement)
Assembler
1000110010100000
(Binary Instruction)
Binary Machine Language
14Instruction Set Architecture
Chapter 1Computer Abstractions and Technology
Computer Abstractions and Technology
- INSTRUCTION SET ARCHITECTURE (ISA)
- Important interface between hardware and
low-level software - standardizes instructions, machine language bit
patterns, etc. - advantage different implementations of the same
architecture - disadvantage sometimes prevents using new
innovations - Modern instruction set architectures
- 80x86/Pentium, PowerPC, DEC Alpha, MIPS, SPARC,
HP
15Computer Abstractions and Technology
- The remainder of the semester will consist of
development and understanding of the six
competency areas - Computer System Components
- Performance Metrics
- Programming Coding Methods
- Computer Arithmetic
- Processor Datapath Control
- Cache Architectures