Andy Glew's comp-arch.net wiki, http://semipublic.comp-arch.net

If you are reading this elsewhere, e.g. at site waboba.info, it is an unauthorized copy, and probably a malware site.
comp-arch.net wiki on hold from October 17, 2011

Number of Operands in an Instruction

From CompArch

(Redirected from 1 output, 3 input)
Jump to: navigation, search

The terminology for the number of input operands in an instruction is inconsistent.

For example, instructions of the form A+=B are often called 2-operand instructions. Which they are, from the point of view of instruction encoding. However, from the point of view of a simple micro-dataflow OOO machine, such an instruction really 3 operands in its micro-operation form: A.new := A.old + B. Whereas a move instruction like A:=B has 2-operands from both perspectives, albeit 1-input, 1-output.

CLEAR reg 1 operand 1 output (1 implicit constant input)
INC reg 1 operand 1 input/output
MOV reg1 := reg2 2 operand 1 input, 1 output
ADD in place reg1 += reg2 2 operand 1 input/output, 1 input

(viz. 2 inputs, one of which also happens to be output)

ADD reg1 = reg2 + reg3 3 operand 2 input, 1 output
FMA3 reg1 += reg2*reg3 3 operand 2-input, 1-input/output

(viz. 3-inputs, one of which happens to be output)

FMA4 reg1 = reg2*reg3 + reg4 4 operand 1 output, 3 input

See Instructions with more than 2 inputs, 1 output.

Terms beyond 4-operands do not seem to be in common use, except possibly with notes of incredulity, e.g. "Do you realize that Itanic had 7-operand instructions?"

And except for instructions such as load-mutiple or store-multiple.

---

Personal tools
No more shadowing