1 international technology university cen 951 computer architecture lecture 1 - introduction
TRANSCRIPT
2
Introduction
• Rapidly changing field:• vacuum tube -> transistor -> IC -> VLSI
• Doubling every 1.5 years• memory capacity
• processor speed (Due to advances in technology and organization)
3
Intel 4004 1971
Note:•16 wires bonded•lines in parallel are buses•function modules are rectangular
5
Processor speed in MIPS
MIPS
1
10
100
1000
10000
1986 1988 1990 1992 1994 1996 1998
MIPS
Processor speed increases by factor 10 each 5 years
6
Growth of
DRAM chip
capacity
capacity Kbits
1
10
100
1000
10000
100000
1975 1980 1985 1990 1995 2000
capacity Kbits
DRAM capacity grows by factor 10 each 5 years
7
Things you’ll be learning:
• How computers work, a basic foundation• How to analyze their performance (or how not to!)• Issues affecting modern processors (caches, pipelines)
Why learn this stuff?• You want to call yourself a “computer scientist”• You want to build software people use (need
performance)• You need to make a purchasing decision or offer
“expert” advice• You want to understand specs of current Pentium
8
What is a computer?
• Components:– input (mouse,
keyboard)
– output (display, printer)
– memory (disk drives, DRAM, SRAM, CD)
– network
• Our primary focus:– the processor (data-
path and control)• implemented using
millions of transistors
• Impossible to understand by looking at each transistor
• We need…abstraction
11
7 Layer model for architecture
• High Level
• Low Level
• User Level: Application Programs• High Level Languages• Assembly Language /
Machine Code• Micro-programmed /
Hardwired Control• Functional Units (Memory,
ALU, etc.)• Logic Gates• Transistors and Wires
13
Abstraction
• Delving into the depths reveals more information
• An abstraction – omits unneeded detail– helps us cope with complexity
• What are some of the details that appear in these familiar abstractions?
14
High- level language program (in C) and equivalent assembler code
swap( int v[ ], int k)
{
int temp;
temp = v[ k];
v[ k] = v[ k+ 1];
v[ k+ 1] = temp;
}
swap:
muli $2, $5, 4
add $2, $4,$2
lw $15, 0($2)
lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)
jr $31
v[k]
v[k+1]
$5=k ,$4=addr of v[0]
return fromroutine
15
Assembly language program (for MIPS), and binary machine language program (for MIPS)
swap:
muli $2, $5, 4
add $2, $4,$ 2
lw $15, 0($ 2)
lw $16, 4($ 2)
sw $16, 0($ 2)
sw $15, 4($ 2)
jr $31
00000000101000010000000000011000
00000000100011100001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
These 32 bit codes are not exactly the MIPS codes!!
17
Instruction Set Architecture
• A very important abstraction– 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
19
Where we are headed
• Performance issues, vocabulary and motivation
• A specific instruction set architecture• Arithmetic and how to build an ALU• Constructing a processor to execute our
instructions• Pipelining to improve performance• Memory: caches and virtual memory• I/ O• Assembler programming
20
Desirable features of systems
• coherent• collaborative• connected• extensible• flexible• hidden• instrumented
• maintainable• open• reusable• robust• scalable• secure• transportable
21
coherent
• made of individual components with defined interfaces, unaffected by changes in implementation of other components
22
collaborative
• data and transactions work across environments from different vendors and implementations
23
connected
• information and functionality are available by defined interfaces, paths and connections from elsewhere in the system
25
flexible
• performance degrades gradually allowing time for corrective action with evolving business context and environment
26
hidden data
• interfaces are well defined, complexity of implementation is hidden, simplicity of design is presented
27
instrumented
• the system is provided with built in sensors or data gathering devices for system diagnostics
28
maintainable
• useful life of the system can be prolonged by routine attention to features that change or wear out
30
reusable
• components are well defined, subjected to configuration management, and documented so that they can be used again in different contexts
31
robust
• able to adapt to changing requirements and contexts, allowing for effective modification, administration and management; gradual degredation under stress
32
scalable
• performance improves linearly or nearly linearly as system components are added to handle additional data volume, users and processing requirements