From WikiChip
Difference between revisions of "macro-operation"

(Nomenclature)
Line 7: Line 7:
 
* [[Intel]] refers to the variable-length [[x86]] instructions as ''macro-ops''. In their context, macro-operations are variable length and can be quite complex capable of performing multiple memory and arithmetic operations at once. In AMD's context, those are refered to as actual "[[x86-64|AMD64]] instructions".
 
* [[Intel]] refers to the variable-length [[x86]] instructions as ''macro-ops''. In their context, macro-operations are variable length and can be quite complex capable of performing multiple memory and arithmetic operations at once. In AMD's context, those are refered to as actual "[[x86-64|AMD64]] instructions".
 
* [[AMD]] refers to the a more simplified fixed-length operation as ''macro-ops'' (sometimes also ''Complex-Op'' or ''COPs''). In their context, macro-operations are a fixed-length operation that may be composed of a memory operation and an arithmetic operation. For example, a single MOP can perform a read, modify, and write operation. Another way of describing MOPs is [[x86]] instructions that have undergone a number of transformations to make them fit into a more strict, but still complex, format. In Intel's context, no such concept exist.
 
* [[AMD]] refers to the a more simplified fixed-length operation as ''macro-ops'' (sometimes also ''Complex-Op'' or ''COPs''). In their context, macro-operations are a fixed-length operation that may be composed of a memory operation and an arithmetic operation. For example, a single MOP can perform a read, modify, and write operation. Another way of describing MOPs is [[x86]] instructions that have undergone a number of transformations to make them fit into a more strict, but still complex, format. In Intel's context, no such concept exist.
 +
* [[ARM Holdings|ARM]] refers to complex instructions that get decomposed into a number of [[µOPs]] that required a number of iterations through the pipeline ''multi-cycle instructions''. Some other complex instructions that get cracked into smaller µOPs can also considered macro-ops, however ARM doesn't explicitly use that term.

Revision as of 20:00, 23 April 2017

Macro-Operation (Macro-Ops or MOP) is a more complex version of a micro-operation as handled by the microprocessor. Macro-Operations have a number of slightly different meanings, depending on the microarchitecture and designers that's being discussed.

Nomenclature

MOPs have a number of common meanings among chip designers:

  • Intel refers to the variable-length x86 instructions as macro-ops. In their context, macro-operations are variable length and can be quite complex capable of performing multiple memory and arithmetic operations at once. In AMD's context, those are refered to as actual "AMD64 instructions".
  • AMD refers to the a more simplified fixed-length operation as macro-ops (sometimes also Complex-Op or COPs). In their context, macro-operations are a fixed-length operation that may be composed of a memory operation and an arithmetic operation. For example, a single MOP can perform a read, modify, and write operation. Another way of describing MOPs is x86 instructions that have undergone a number of transformations to make them fit into a more strict, but still complex, format. In Intel's context, no such concept exist.
  • ARM refers to complex instructions that get decomposed into a number of µOPs that required a number of iterations through the pipeline multi-cycle instructions. Some other complex instructions that get cracked into smaller µOPs can also considered macro-ops, however ARM doesn't explicitly use that term.