Instruction Sets: Computer Architecture Taxonomy. Assembly Language
Instruction Sets: Computer Architecture Taxonomy. Assembly Language
Instruction Sets: Computer Architecture Taxonomy. Assembly Language
Computers as Components 3e
© 2012 Marilyn Wolf
von Neumann architecture
address
200
PC
memory data
CPU
200 ADD r5,r1,r3 ADD IR
r5,r1,r3
Computers as Components 3e
© 2012 Marilyn Wolf
Harvard architecture
address
data memory
data PC
CPU
address
Computers as Components 3e
© 2012 Marilyn Wolf
von Neumann vs. Harvard
Computers as Components 3e
© 2012 Marilyn Wolf
RISC vs. CISC
Computers as Components 3e
© 2012 Marilyn Wolf
Instruction set
characteristics
Computers as Components 3e
© 2012 Marilyn Wolf
Programming model
Computers as Components 3e
© 2012 Marilyn Wolf
Multiple implementations
Computers as Components 3e
© 2012 Marilyn Wolf
Assembly language
label1 ADR r4,c
LDR r0,[r4] ; a comment
ADR r4,d
LDR r1,[r4]
SUB r0,r0,r1 ; comment
Computers as Components 3e
© 2012 Marilyn Wolf
Pseudo-ops
Computers as Components 3e
© 2012 Marilyn Wolf
VLIW
VLIW: very long instruction word.
Performs several instructions simultaneously.
Architecture usually restricts the combination of
instructions that can be performed at once.
Superscalar vs. VLIW:
Superscalar runs standard code, determines parallel
operations at run time.
VLIW determines parallelism at compile time.
Packet: a set of instructions to be executed in parallel.
Computers as Components 3e
© 2012 Marilyn Wolf
Data and control
dependencies
Computers as Components 3e
© 2012 Marilyn Wolf
VLIW and embedded
computing
Computers as Components 3e
© 2012 Marilyn Wolf