
mips_info / lecture_1
.pdfWhere Do Operands Come from And Where Do Results Go?
41

Where Do Operands Come from And Where Do Results Go?
Stack |
|
|
… |
TOS |
|
Processor |
ALU |
|
…
Memory
42

Where Do Operands Come from And Where Do Results Go?
Stack |
|
|
… |
TOS |
|
Processor |
ALU |
|
Accumulator
Processor |
ALU |
|
… …
Memory |
|
Memory |
|
|
|
43

Where Do Operands Come from |
|||
And Where Do Results Go? |
|||
Stack |
Accumulator |
Register |
|
Memory |
|||
|
|
|
… |
|
|
TOS |
|
Processor |
|
Processor |
ALU |
ALU |
|
|
|
|
… |
Processor |
ALU |
|
… … …
Memory |
|
Memory |
|
Memory |
|
|
|
|
44

Where Do Operands Come from
And Where Do Results Go? |
Register |
|
Stack |
Register |
|
Accumulator Memory |
Register |
|
… |
|
|
TOS |
|
Processor |
|
Processor |
ALU |
ALU |
|
|
|
|
… |
Processor |
ALU |
|
|
… |
Processor |
ALU |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Memory |
… |
|
|
Memory |
… |
|
|
Memory |
… |
|
|
Memory |
… |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45

Where Do Operands Come from
And Where Do Results Go? |
Register |
|
Stack |
Register |
|
Accumulator Memory |
Register |
|
… |
|
|
TOS |
|
Processor |
|
Processor |
ALU |
ALU |
|
|
|
|
… |
Processor |
ALU |
|
|
… |
Processor |
ALU |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Number Explicitly |
Memory |
… |
|
|
Memory |
… |
|
|
Memory |
… |
|
|
Memory |
… |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Named Operands: |
0 |
|
|
1 |
|
|
|
2 or 3 |
|
2 or 3 |
46

|
… |
TOS |
|
Processor |
ALU |
|
…
Memory
Stack Based Instruction Set
Architecture (ISA)
•Burrough’s B5000 (1960)
•Burrough’s B6700
•HP 3000
•ICL 2900
•Symbolics 3600 Modern
•Inmos Transputer
•Forth machines
•Java Virtual Machine
•Intel x87 Floating Point Unit
47

Evaluation of Expressions
(a + b * c) / (a + d * c - e)
/
|
+ |
|
- |
a |
* |
+ |
e |
b c a *
d c
48

Evaluation of Expressions
(a + b * c) / (a + d * c - e)
/
|
+ |
|
- |
a |
* |
+ |
e |
b c a *
d c
Reverse Polish
a b c * + a d c * + e - /
49

Evaluation of Expressions
(a + b * c) / (a + d * c - e)
/
|
+ |
|
- |
a |
* |
+ |
e |
b c a *
d c
Reverse Polish
a b c * + a d c * + e - /
Evaluation Stack
50