Operand And Instructions Representation (Dave Maung)

Operand And Instructions
Representation
By
Dave Maung
Different types of
Operand/Instruction




Zero Operands per instruction
One Operands per instruction
Two Operands per instruction
Three operands per instruction
Zero Operand Per Instruction

Also known as Stack Architecture
because Operand are kept in stack.

To add an instruction using zero
operand, take two values and add
them together and put the result
back to then stack.

Operand must be implicit
An example of Instruction
used on a stack computer
Push X
Push 7
Add
Pop X
One Operand Per Instruction


Architecture that limit each
instruction to single operand is
known as 1-address design.
Relies on implicit operand for
each instruction to store in
special register known as an
accumulator.
Step to process one operand
per Instruction
1.
2.
3.
Processor extracts the current
value of the accumulator
Performs the specified
operation using the extracted
value and the operand
place the result back in the
accumulator
Example of One operand per
instruction
Add X
Accumulator  accumulator + X
Disadvantage of One Operand
Per Instruction


It does not allow instructions to
specify two values.
It requires two instructions that
load the value into the
accumulator and then need to
store the values back in the new
location
Two Operands Per Instruction



Overcomes the limitation 1address systems
Using 2 address process, an
operation can be applied to a
specified value.
It also offers data movement
instructions that treat the
operand as source and
destination.
Example two operand per
instruction
Add X Y
Specifies that the value of X is to
be added to the current value of
Y
YY+X
Three Operand Per Instruction

Similar as Two Operand Per
Instruction except that it can
operate three input value per
instruction
Example of three operand per
instruction
Add X Y Z
Specifies an assignment of
ZX+Y
Operand that specifies a
source must be




A signed constant
An Unsigned constant
The content of a register
The value in a memory location
Operand the specifies a
destination must be:



A signed register
A pair of contiguous registers
A memory location
Von Nuemann Boottleneck



Operand addressing is the central
weakness of a von Neumann
architecture.
memory access may become a
bottleneck because instructions are
stored in memory and a processor
must make at least one memory per
instruction.
To Optimize the performance,
operand must be taken from a
register instead of memory.
Types of Encoding
1. Explicit Operand Encoding
2. Implicit Operand Encoding
Implicit Operand Encoding


The Opcode specifies the types
of operands.
A processor that uses a implicit
encoding contains multiple
operand code for a given
operation
Example of Implicit Encoding
Disadvantage of Implicit
encoding


Multiple opcodes are needed for
a given operation.
A list of opcodes can become
large, when a processor allows
many types of operands.
Explicit Encoding


Using Explicit can overcome the
disadvantage of implicit
encoding.
Each operand is represented by
two fields:
Type of Operand
 Type of Value

Example of Explicit Operand
Encoding
Tradeoffs in the choice of
operands






Ease of Programming
Fewer Instructions
Smaller Instructions
Larger Range of Immediate
Values
Faster Operand Fetch and
Decode
Decreased Hardware size
Fewer Instructions

Reduces the number of instruction in
a program by increasing the
expressive power of operands

Lowers the count of instructions by
increasing the number of addresses
Disadvantage:
Each instruction will be larger
Disadvantage of keeping smaller
instruction


Decreases the expressive
power.
Increases the number of
instructions
Smaller Instructions

How to keep smaller
Instruction?
1. Limiting the number of
operands
2. Limiting the set of operands
types
3. Limiting maximum size of an
operand keep instruction small
Larger Range of Immediate
values

Increasing the size allows larger
values because the size of a
field in the operand determines
the numeric range of immediate
values.
Disadvantage:
Larger instruction results
Faster Operand Fetch and
Decode

How to operate hardware
faster?
First, limit the number of
operands
 Second, limit the possible types of
each operand

Decreased Hardware size

How to decrease the hardware
size?
limits the types and complexity of
operands
 Reduces the size of circuitry

Values in Memory



Every processors include at least
one instruction that allows an
operand to specify value in memory
Values in the operand interpreted as
an memory address.
This memory address is for the
professor to perform memory lookup.
Advantage of memory look up



Helps ease programming
Helps allowing arbitrary
instruction to reference memory.
improves performance.
Operand Addressing Modes


Instruction register is used to
hold an instruction that is being
decoded.
A immediate value can be found
in instruction register
Summary

Covered different type of
Operand instruction, Von
Neumann Bottleneck, different
choice of operand