Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Summer 2012
Course Information
http://groups.yahoo.com/summer_CA_2012_UOG
Lectures
2 lectures/week.
Lecture notes will be available at the web page.
The whole set of last year’s lecture notes is on the UOGIS.
Lecture notes following the course book’s structure are also
available via the web.
Examination
Written exam, closed book.
2
Course Information (cont’d)
Labs
Hands-on practice with concepts taught in the course.
Familiar with tools for architecture evaluation via simulation.
Give insights in various trade-offs involved in the design of computers.
Enhance the understanding of parallel computer systems.
Lab assignments
Lab 1: Cache memories.
Lab 2: Instruction Pipelining.
Lab 3: Superscalar Processors.
Lab 4: VLIW Processors.
L b 5:
Lab 5 Multiprocessor
M lti andd Multi-Computer
M lti C t S Systems.
t
Lecture 1
Computer architecture:
concepts and definitions
3
Computer Architecture
Computer architecture refers to those attributes of a computer
system visible to programmers, or those attributes that have a
direct impact on the logical execution of programs.
Registers
Instruction
I/O Devices ALU
set
Memory
System
4
Typical Architecture Attributes
The instruction set.
Basic data representation methods.
I/O mechanisms.
h i
The basic units in the CPU.
Functions of the major components.
Instruction execution.
Memory organization.
organization
The ways in which the basic components are
interconnected.
…
5
What is a computer?
Definition of a Computer
A computer is a data processing machine which is
operated automatically under the control of a list of
instructions (called a program) stored in its main
memory.
Computer
C
Central Data transfer M i
Main
Processing Unit Memory
(CPU)
Control
6
A Computer System
A computer system consists of a computer and its
peripherals.
Computer peripherals include input devices
devices, output
devices, and secondary memories.
Computer System
Input Output
device
Computer
p device
Secondary
memory
98%
2%
7
Basic Principles of Computers
Virtually all modern computer designs are based on the
von Neumann architecture principles:
8
Technology Development
Eniac, 1946
Sourc
e: S3
Moore’s Law
25M
year
75 80 85 90 95 00
9
2010-10-20
Intel 4004
2.3 Thousands
transistors
10000 nm
Feb. 10, 2009
Lecture 1
Computer architecture:
concepts and definitions
10
Central Processing Unit (CPU)
The Central Processing Unit (CPU), also called
processor, includes two main units:
A program control unit, and
An Arithmetic and Logic Unit (ALU).
CPU
Arithmetic
Control Unit and Logic
Unit
Register
CPU (Cont’d)
The primary function of a CPU is to execute the instructions
stored in the main memory.
An instruction
st uct o tells
te s tthe
eCCPU
U to pe
perform
o o one
eoof its
ts bas
basicc
operations.
The CPU includes also a set of registers, which are
temporary storage devices used to hold control information,
key data, and intermediate results.
It includes also an internal bus infrastructure, which provides
data movement paths among the control unit unit, ALU
ALU, and
registers.
The CU is the one which interprets (decodes) the instruction
to be executed and "tells" the other components what to do.
11
CPU Internal Structure
Registers
CPU must have some working space (temporary
storage).
These storage units are called registers.
They are the top level component in the memory
hierarchy.
Number and function of the registers vary
between different computers.
Register organization is one of the major design
decisions.
12
2010-10-20
Register Organization
The registers serve two main functions:
User-Visible Registers: used by machine or
assembly language programmers to minimize
memory access.
• General-purpose registers
• Data registers
• Address registers
• Condition code registers
Control and Status Registers: used by the control
unit to control the operation of the CPU, and by the
operating system to control the execution of
programs.
Machine Instructions
The CPU can only execute machine code in binary format,
called machine instructions.
A machine
ac e instruction
st uct o spec
specifies
es tthe
e following
o o g information:
o at o
What has to be done (the operation code)
To whom the operation applies (source operands)
Where does the result go (destination operand)
How to continue after the operation is finished (next instruction
address).
Machine instructions are of four types:
Arithmetic and logic operations.
Data transfer between memory and CPU registers.
Program control (conditional branches, etc.).
I/O transfer.
13
2010-10-20
PC AR
CPU
MAR MBR
Address D/I
Main Memory
14
2010-10-20
Instruction Execution
fetch cycle execute cycle
PC AR
Machine Cycles
The execution of an instruction is carried out in a machine
cycle (instruction cycle).
The CPU executes one instruction after the other
other, cycle by
cycle, repeatedly.
The machine cycle time (or instruction execution time) of a
computer gives an indication of its performance (speed).
Ex. a computer can have a performance of 733 MIPS (Millions of
Instructions Per Second).
Since different instructions need different time to execute
execute,
the average instruction execution time is used to calculate
performance.
15
2010-10-20
Summary
A computer executes repeatedly a series of instructions
(called programs) stored in its main memory:
It performs data processing operations specified by the
programs.
It runs the programs automatically, with no need for
human intervention.
It can perform the operations in extremely high speed.
It can store and manipulate
p a large
g amount of data.
It can communicate with each other and with users in an
efficient way.
It represents program and data in the same way, which
leads to flexibility.
Lecture 1
16
2010-10-20
Computer Architecture
Computer architecture refers to those attributes of a computer
system visible to programmers, or those attributes that have a
direct impact on the logical execution of programs.
Registers
Instruction
I/O Devices ALU
set
Memory
System
Computer Organization
Computer organization refers to the operational units and their
interconnections that realize the architectural specifications.
Memory Microprog.
System
Syste controller
17
2010-10-20
Peripherals Computer
Central Main
Processing Memory
Unit
Computer
Systems
Interconnection
Input
Output
Communication
lines
18
2010-10-20
CPU
Computer Arithmetic
Registers and
I/O Login Unit
System CPU
Bus
Internal CPU
Memory Interconnection
Control
Unit
Control Unit
CPU
Sequencing
ALU Login
Control
Internal
Unit
Bus
Control Unit
Registers Registers and
Decoders
Control
Memory
19
2010-10-20
Lecture Contents
1. Introduction: Basic concepts and definitions of computer
architecture and organizations.
2. Memory System: Memory hierarchy, cache memories,
virtual memories, memory management.
3. Instruction Pipelining: Organization, pipeline hazards,
reducing branch penalties, branch prediction strategies.
4. RISC Architectures: Analysis of instruction execution,
compiling for RISC computers, RISC-CISC trade-offs.
5. Superscalar Architectures: Instruction level parallelism
and machine parallelism, HW techniques for performance
enhancement, limitations.
6. VLIW Architectures: VLIW advantages and limitations,
compiling for VLIW architectures, the Merced (Itanium)
architecture.
20