ECE449 - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

ECE449

Description:

Programmer sees set of instructions, along with the machine resources manipulated by them. ... Programmer-accessible registers of the system. ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 33
Provided by: johng49
Category:

less

Transcript and Presenter's Notes

Title: ECE449


1
ECE449
  • Dr. John G. Weber
  • KL-241E
  • 229-3182
  • John.Weber_at_notes.udayton.edu

2
Syllabus
  • Computer Systems Engineering. An Introduction to
    advanced computer architecture and computer
    systems design. Topics include exploration of
    principle architectural features of modern
    computers, pipelining, memory hierarchy, I/O
    devices, interconnection networks, introduction
    to parallel and multiprocessing systems, and the
    use of Hardware Descriptive Languages (HDLs) in
    system implementation.
  • Prerequisites ECE 314 and CPS 346, or
    permission of instructor.
  • Credits 3 
  • Required TextbookVincent P. Heuring and Harry F.
    Jordan, Computer Systems Design and
    ArchitectureSecond Edition, Prentice Hall,
    2004.
  • Recommended Additional Textbook Michael D.
    Ciletti, Advanced Digital Design with the Verilog
    HDL, Prentice Hall 2003.

3
Goals
The student will be expected to develop the
knowledge and design skills required to actively
participate in the development of sophisticated
computer systems. Coverage of computer hardware
will include both RISC and CISC machine concepts.
Hardware and software design skills will be
emphasized individually and in combination.
Students will be expected to demonstrate
competence in fundamental matters relating to
theory, design, and implementation. The course
will consist of a combination of lectures
emphasizing basic principles and related
applications followed by significant hands-on
design projects completed by the students.
4
Course Outline
  • Introduction and Review of Computer Architecture
    Assembly Language.
  • Computer Building Blocks Memory, ALU, I/O, Data
    Paths
  • Control Unit Design including RTL
  • Pipelining
  • I/O Devices and Interfacing
  • System Interconnection architectures
  • Advanced Organization Co-processors,
    multi-pipelined architectures, multi-processors

5
Assignments and Grading
  • Course will be structured as a combined lecture
    and laboratory
  • Laboratory design projects provide an opportunity
    to design machine components and create a working
    computer
  • Grade will be based on mid-term, final, and
    design projects
  • Design Projects
  • Building Blocks
  • Registers
  • General Register Set
  • Memory
  • ALU
  • Simple Computer Control Unit
  • Final Project Computer

6
A Perspective
  • Alan Turing showed that an abstract computer, a
    Turing machine, can compute any function that is
    computable by any means
  • A general purpose computer with enough memory is
    equivalent to a Turing machine
  • Over 50 years, computers have evolved
  • from memory size of 1 kiloword (1024 words) clock
    periods of 1 millisecond (0.001 s)
  • to memory size of a terabyte (240 bytes) and
    clock periods of 1 ns (10-9 s)
  • More speed and capacity is needed for many
    applications, such as real-time 3D animation

7
The Users View of a Computer
The user sees software, speed, storage
capacity, and peripheral device functionality.
8
Machine/Assembly Language Programmers View
  • Machine language
  • Set of fundamental instructions the machine can
    execute
  • Expressed as a pattern of 1s and 0s
  • Assembly language
  • Alphanumeric equivalent of machine language
  • Mnemonics more human-oriented than 1s and 0s
  • Assembler
  • Computer program that transliterates (one-to-one
    mapping) assembly to machine language
  • Computers native language is machine/assembly
    language
  • Programmer, as used in this course, means
    machine/assembly language programmer
  • This view is sometimes used to define the
    Architecture of the computer

9
Machine and Assembly Language
  • The assembler converts assembly language to
    machine language. You must also know how to do
    this.

Op code
Data reg. 5
Data reg. 4
MC68000 Assembly Language
Machine Language
0011 101 000 000 100
MOVE.W D4, D5
ADDI.W 9, D2
0000 000 010 111 100
0000 0000 0000 1001
Two Motorola MC68000 Instructions
10
The Stored Program Concept
The stored program concept says that the
program is stored with data in the computers
memory. The computer is able to manipulate it as
datafor example, to load it from disk, move it
in memory, and store it back on disk.
  • It is the basic operating principle for every
    computer.
  • It is so common that it is taken for granted.
  • Without it, every instruction would have to be
    initiated manually.

11
Programmers ModelInstruction Set Architecture
(ISA)
  • Instruction set the collection of all machine
    operations.
  • Programmer sees set of instructions, along with
    the machine resources manipulated by them.
  • ISA includes
  • Instruction set,
  • Memory, and
  • Programmer-accessible registers of the system.
  • There may be temporary or scratch-pad memory used
    to implement some function is not part of ISA.
  • Not Programmer Accessible.

12
Programmers Models of 4 Commercial Machines
M
6
8
0
0
V
A
X
1
1
P
P
C
6
0
1
I
8
0
8
6
(
i
n
t
r
o
d
u
c
e
d

1
9
9
3
)
(
i
n
t
r
o
d
u
c
e
d

1
9
8
1
)
(
i
n
t
r
o
d
u
c
e
d

1
9
7
5
)
(
i
n
t
r
o
d
u
c
e
d

1
9
7
9
)
7
0
3
1
0
0
6
3
1
5
7
0
8
0
A
A
X
R
0
3
2

6
4
-
b
i
t
1
5
B
B
X
D
a
t
a
1
2

g
e
n
e
r
a
l
f
l
o
a
t
i
n
g

p
o
i
n
t
r
e
g
i
s
t
e
r
s
p
u
r
p
o
s
e
R
1
1
C
X
I
X
6

s
p
e
c
i
a
l
r
e
g
i
s
t
e
r
s
r
e
g
i
s
t
e
r
s
p
u
r
p
o
s
e
3
1
D
X
A
P
S
P
r
e
g
i
s
t
e
r
s
P
C
F
P
0
3
1
S
P
S
t
a
t
u
s
S
P
A
d
d
r
e
s
s
0
3
2

3
2
-
b
i
t
B
P
a
n
d
P
C
g
e
n
e
r
a
l

c
o
u
n
t
S
I
p
u
r
p
o
s
e
r
e
g
i
s
t
e
r
s
D
I
r
e
g
i
s
t
e
r
s
P
S
W
3
1
C
S
M
e
m
o
r
y
0
3
1
D
S
0
0
3
2
s
e
g
m
e
n
t
2

b
y
t
e
s

1
6
2

b
y
t
e
s

S
S
r
e
g
i
s
t
e
r
s
o
f

m
a
i
n

M
o
r
e

t
h
a
n

5
0

o
f

m
a
i
n

m
e
m
o
r
y
3
2
-
b
i
t

s
p
e
c
i
a
l
m
e
m
o
r
y
E
S
c
a
p
a
c
i
t
y
p
u
r
p
o
s
e
c
a
p
a
c
i
t
y
1
6
3
2
2


1
2


1
r
e
g
i
s
t
e
r
s
I
P
M
o
r
e

t
h
a
n

3
0
0
S
t
a
t
u
s
F
e
w
e
r
i
n
s
t
r
u
c
t
i
o
n
s

t
h
a
n

1
0
0
0
i
n
s
t
r
u
c
t
i
o
n
s
0
5
2
2

b
y
t
e
s

2
0
2

b
y
t
e
s

o
f

m
a
i
n

o
f

m
a
i
n

m
e
m
o
r
y
m
e
m
o
r
y
c
a
p
a
c
i
t
y
c
a
p
a
c
i
t
y
5
2
2


1
2
0
2


1
M
o
r
e

t
h
a
n

2
5
0
M
o
r
e

t
h
a
n

1
2
0
i
n
s
t
r
u
c
t
i
o
n
s
i
n
s
t
r
u
c
t
i
o
n
s
13
Machine, Processor, and Memory State
  • The Machine State contents of all registers in
    system, accessible to programmer or not
  • The Processor State registers internal to the
    CPU
  • The Memory State contents of registers in the
    memory system
  • State is used in the formal finite state
    machine sense
  • Maintaining or restoring the machine and
    processor state is important to many operations,
    especially procedure calls and interrupts

14
Data Type HLL Versus Machine Language
  • HLLs provide type checking
  • Verifies proper use of variables at compile time
  • Allows compiler to determine memory requirements
  • Helps detect bad programming practices
  • Most machines have no type checking
  • The machine sees only strings of bits
  • Instructions interpret the strings as a type
    usually limited to signed or unsigned integers
    and FP numbers
  • A given 32-bit word might be an instruction, an
    integer, a FP number, or 4 ASCII characters

15
Instruction Classes
  • This compiler
  • Maps C integers to 32-bit VAX integers
  • Maps C assign, , and to VAX MOV, MPY, and ADD
  • Maps C goto to VAX BR instruction
  • The compiler writer must develop this mapping for
    each language-machine pair

16
Tools of the Assembly Language Programmers Trade
  • The assembler
  • The linker
  • The debugger or monitor
  • The development system

17
Who Uses Assembly Language
  • The machine designer
  • Must implement and trade off instruction
    functionality
  • The compiler writer
  • Must generate machine language from a HLL
  • The writer of time or space critical code
  • Performance goals may force program-specific
    optimizations of the assembly language
  • Special purpose or embedded processor programmers
  • Special functions and heavy dependence on unique
    I/O devices can make HLLs useless

18
The Computer Architects View
  • Architect is concerned with design performance
  • Designs the ISA for optimum programming utility
    and optimum performance of implementation
  • Designs the hardware for best implementation of
    the instructions
  • Uses performance measurement tools, such as
    benchmark programs, to see that goals are met
  • Balances performance of building blocks such as
    CPU, memory, I/O devices, and interconnections
  • Meets performance goals at lowest cost

19
Tools of the Architects Trade
  • Software models, simulators and emulators
  • Performance benchmark programs
  • Specialized measurement programs
  • Data flow and bottleneck analysis
  • Subsystem balance analysis
  • Parts, manufacturing, and testing cost analysis

20
Logic Designers View
  • Designs the machine at the logic gate level
  • The design determines whether the architect meets
    cost and performance goals
  • Architect and logic designer may be a single
    person or team

21
Implementation Domains
An implementation domain is the collection
of devices, logic levels, etc. which the designer
uses.
Possible implementation domains
  • VLSI on silicon
  • TTL or ECL chips
  • Gallium arsenide chips
  • PLAs or sea-of-gates arrays
  • Fluidic logic or optical switches

22
Three Implementation Domains for the 2-1
Multiplexer
  • 2-1 multiplexer in three different implementation
    domains
  • Generic logic gates (abstract domain)
  • National Semiconductor FAST Advanced Schottky TTL
    (VLSI on Si)
  • Fiber optic directional coupler switch (optical
    signals in LiNbO3)

U
6
1
5
/
G
1
/
A
/
B
S
2
1
A
4
1
Y
3
1
B
5
2
A
7
2
Y
6
2
B
I
0
O
S
1
1
I
1
3
A
9
3
Y
I
0
1
0
3
B
O
1
4
4
A
I
0
1
2
S
4
Y
O
1
3

I
1
4
B
I
1
7
4
F
2
5
7
N
(
c
)

O
p
t
i
c
a
l

s
w
i
t
c
h
(
a
)

A
b
s
t
r
a
c
t

v
i
e
w

o
f

(
b
)

T
T
L

i
m
p
l
e
m
e
n
t
a
t
i
o
n
i
m
p
l
e
m
e
n
t
a
t
i
o
n
B
o
o
l
e
a
n

l
o
g
i
c
d
o
m
a
i
n
23
The Distinction Between Classical Logic Design
andComputer Logic Design
  • The entire computer is too complex for
    traditional FSM design techniques
  • FSM techniques can be used in the small (for
    example, in a sequencer that controls instruction
    fetch)
  • There is a natural separation between data and
    control
  • Data path storage cells, arithmetic, and their
    connections
  • Control path logic that manages data path
    information flow
  • Well defined logic blocks are used repeatedly
  • Multiplexers, decoders, adders, etc.

24
Two Views of the CPU PC Register
25
Tools of the Logic Designers Trade
  • Computer-aided design tools
  • Logic design and simulation packages
  • Printed circuit layout tools
  • IC (integrated circuit) design and layout tools
  • Logic analyzers and oscilloscopes
  • Hardware development system

26
Historical Generations
  • 1st Generation 194659, vacuum tubes, relays,
    mercury delay lines
  • 2nd generation 195964, discrete transistors and
    magnetic cores
  • 3rd generation 196475, small- and medium-scale
    integrated circuits
  • 4th generation 1975present, single-chip
    microcomputer
  • Integration scale components per chip
  • Small 10100
  • Medium 1001,000
  • Large 100010,000
  • Very large greater than 10,000

27
Von Neuman View of the Computer
28
How does it operate?
  • Basic Flow of a Stored Program Machine
  • Instruction Fetch
  • Operand Fetch (not in all operations)
  • Execution of the Operation
  • Operand Store (not in all operations)
  • Next Instruction Set-up

29
The Fetch-Execute Process
30
The Control Unit
  • Control Unit is a sequential machine which
    manages the resources of the computer to execute
    correctly written programs
  • Control unit may take many forms (hardwired,
    micro-programmed, pipelined, etc)
  • We will look first at simple implementations and
    move to pipelined units

31
Register Transfer Language
  • Provides a formal method of describing sequential
    operations
  • Can be used to design state machines
  • We will use to specify the control unit operation
  • Many variations
  • Book uses a version of a notation called ISP
  • We will use a slightly different one that
    provides more of a correspondence with the
    sequential hardware design
  • AHPL developed by Hill and Petersen

32
Assignment
  • Read Chapters 1,2, and 3 for background
Write a Comment
User Comments (0)
About PowerShow.com