From WikiChip
Difference between revisions of "macro-operation"
(→Nomenclature) |
|||
Line 8: | Line 8: | ||
* [[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. | * [[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. | ||
+ | |||
+ | == See also == | ||
+ | * [[macro-operation fusion]] | ||
+ | * [[micro-operation]] |
Revision as of 16:59, 30 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.