Levels in computer design

Download Report

Transcript Levels in computer design

Machine Organization and Assembly Language
Programming
• Machine Organization
– Hardware-centric view (in this class)
– Not at the transistor (bit) level but at the building block level
(registers, adders, memory words etc.)
• Assembly Language
– A way to learn about the Instruction Set Architecture, the interface
between the hardware and the software.
CSE378 Gen. Intro
1
Hierarchical Layers
• Top Layer: Application programs
– Written in high-level languages: C, C++, Java, html etc
• Basic Software Layer
– Translates programs written in high-level languages into machine
language made up of a sequence of instructions (assembly
language is a symbolic rendering of machine language). The
translators are programs called compilers.
– A program, the Operating System, controls the execution of the
translated application programs. The O.S. is responsible for
functions such as I/O, allocating storage, scheduling etc.
• Hardware
– Executes the instructions
CSE378 Gen. Intro
2
Layered View
Application Programs
Operating System
Compilers
ISA
Machine Language
Computer Structure
CSE378 Gen. Intro
3
Programmatic view
a = b + c;
lw $2, 0($15)
lw $3, 4($15)
add $4, $2, $3
sw $4, 8($15)
HLL
# load b
Assembly language
# load c
#compute b + c
#store in a
10001101111000100000000000000000
10001101111001100000000000000100
00000000010000110010000000100001
10101101111001000000000000001000
CSE378 Gen. Intro
Machine language
4
What is Machine Organization (aka Computer
Organization, aka Computer Architecture)?
• Structure: static arrangement of the parts of a computer
system
• Organization: dynamic interaction of the parts and their
control
• Implementation: design of specific building blocks
• Performance: behavioral study of the system or of some
of its components
CSE378 Gen. Intro
5
Alternate definition: Instruction Set
Architecture (ISA) ( subset of previous def.)
• ISA is the interface between hardware and software
• ISA is what is visible to the programmer (and ISA might
be different for O.S. and applications)
• ISA consists of:
–
–
–
–
instructions (operations and how they are encoded)
information units (size, how they are addressed etc.)
registers (or more generally processor state)
input-output control
CSE378 Gen. Intro
6
Computer structure: Von Neumann model
+
Memory
CPU
Memory
hierarchy
Control
control
I/O
ALU
input
Registers
PC
state
Data path
Memory
bus
CSE378 Gen. Intro
output
I/O bus
7
Computer Organization/Architecture
• Organization and architecture often used as synonyms
• Organization (in this course) refers to:
– what are the basic blocks of a computer system, more specifically
• basic blocks of the CPU
• basic blocks of the memory hierarchy
– how are the basic blocks designed, controlled, connected?
• Organization used to be transparent to the ISA.
• Today more and more of the ISA is “exposed” to the
user/compiler in order to improve performance.
CSE378 Gen. Intro
8
Advances in technology
Processor Vacuum TransistorsIntegrated VLSI
technology tubes
circuits
Memory
Vacuum Ferrite
technology tubes
core
SemiSemiconductor conductor
Processor
structure
Micros
PC’s
and minis 64-bit arch
Superscalar
Multithreaded
Single
Main
processor frames
CSE378 Gen. Intro
9
Evolution of Intel Microprocessor Speeds
4000
3500
3000
Speed (MHz)
2500
2000
1500
1000
500
0
1971 1974 1979 1982 1985 1989 1993 1997 1998 1999 2000 2001 2002 2003
Year
CSE378 Gen. Intro
10
Illustration of Moore’s Law
CSE378 Gen. Intro
11
Power Dissipation
CSE378 Gen. Intro
12
Some Computer families
• Computers that have the same (or very similar) ISA
– Compatibility of software between various implementations
• IBM
– 704, 709, 70xx etc.. From 1955 till 1965
– 360, 370, 43xx, 33xx From 1965 to the present
– Power PC
• DEC
– PDP-11, VAX From 1970 till 1985
– Alpha (now Compaq, now HP) in 1990’s
CSE378 Gen. Intro
13
More computer families
• Intel
– Early micros 40xx in early 70’s
– x86 (086,…,486, Pentium, Pentium Pro, Pentium 3, Pentium 4)
from 1980 on
– IA-64 (Itanium) in 2001
• SUN
– Sparc, Ultra Sparc 1985 0n
• MIPS-SGI
– Mips 2000, 3000, 4400, 10000 from 1985 on
CSE378 Gen. Intro
14