All Topics  
Micro-operation

 

   Email Print
   Bookmark   Link






 

Micro-operation



 
 
In computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
 central processing unit
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
s, micro-operations, also known as a micro-ops or 發ps, are detailed low-level instructions used in some designs to implement complex machine instructions (sometimes termed macro-instructions in this context).

Various forms of 發ps have long been the basis for traditional microcode
Microcode

Microcode is a layer of lowest-level instructions involved in the implementation of machine code instructions in many computers and other processors; it resides in a special high-speed memory and translates machine instructions into sequences of detailed circuit-level operations....
 routines used to simplify the implementation of a particular CPU design
CPU design

CPU design is the design engineering task of creating a central processing unit , a component of computer hardware. It is a subfield of electronics engineering and computer engineering....
 or perhaps just the sequencing of certain multi-step operations or addressing modes.






Discussion
Ask a question about 'Micro-operation'
Start a new discussion about 'Micro-operation'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
 central processing unit
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
s, micro-operations, also known as a micro-ops or 發ps, are detailed low-level instructions used in some designs to implement complex machine instructions (sometimes termed macro-instructions in this context).

Various forms of 發ps have long been the basis for traditional microcode
Microcode

Microcode is a layer of lowest-level instructions involved in the implementation of machine code instructions in many computers and other processors; it resides in a special high-speed memory and translates machine instructions into sequences of detailed circuit-level operations....
 routines used to simplify the implementation of a particular CPU design
CPU design

CPU design is the design engineering task of creating a central processing unit , a component of computer hardware. It is a subfield of electronics engineering and computer engineering....
 or perhaps just the sequencing of certain multi-step operations or addressing modes. More recently, 發ps have also been employed in a different way in order to let modern "CISC
Complex instruction set computer

A complex instruction set computer is a computer instruction set architecture in which each instruction can execute several low-level operations, such as a load from Memory , an arithmetic operator, and a memory , all in a single instruction....
" processors more easily handle asynchronous parallel and speculative execution: As with traditional microcode, one or more table lookups (or equivalent) is done to locate the appropriate 發p-sequence based on the encoding and semantics of the machine instruction (the decoding or translation step), however, instead of having rigid 發p-sequences controlling the CPU directly from a microcode-ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
, 發ps are here dynamically issued, that is, buffered in rather long sequences before being executed.

This buffering means that the fetch and decode stages can be more detached from the execution units than is feasible in a more traditional microcoded (or "hard-wired") design. As this allows a degree of freedom regarding execution order, it makes some extraction of instruction level parallelism
Instruction level parallelism

Instruction-level parallelism is a measure of how many of the operations in a computer program can be performed simultaneously. Consider the following program:...
 out of a normal single-threaded program possible (provided that dependencies are checked etc). It opens up for more analysis and therefore also for reordering of code sequences in order to dynamically optimize mapping and scheduling of 發ps onto machine resources (such as ALUs
Arithmetic logic unit

In computing, an arithmetic logic unit is a digital circuit that performs arithmetic and logicaloperations. The ALU is a fundamental building block of the central processing unit of a computer, and even the simplest microprocessors contain one for purposes such as maintaining timers....
, load/store units etc). As this happens on the 發p-level, sub-operations of different machine (macro) instructions may often intermix in a particular 發p-sequence (forming partially reordered machine instructions).

Today, the optimization has gone even further; processors not only translate many machine instructions into a series of 發ps, but also do the opposite when appropriate; they combine certain machine instruction sequences (such as a compare followed by a conditional jump) into a more complex 發p which fits the execution model better and thus can be executed faster or with less machine resources involved.

Another way to try to improve performance is to cache the decoded micro-operations, so that if the same macroinstruction is executed again, the processor can directly access the decoded micro-operations from a special cache, instead of decoding them again. The Execution Trace Cache found in Intel's NetBurst Microarchitecture
NetBurst

The Intel NetBurst Microarchitecture, called P68 inside Intel, was the successor to the Intel P6 microarchitecture in the x86 family of central processing units made by Intel....
 (Pentium 4
Pentium 4

The Pentium 4 brand refers to Intel's line of single-core mainstream Desktop computer and laptop central processing units introduced on November 20, 2000 ....
) is so far the only widespread example of this technique. The size of this cache may be stated in terms of how many thousands of micro-operations it can store: k發ps.