Changes

Jump to: navigation, search

Computer Architecture

10 bytes added, 14:29, 16 January 2014
In-order and Out-of-order Execution
In-order execution means that instructions are executed in the order in which they exist in memory. Out-of-order execution is an architecture feature where instructions are re-sequenced by the CPU on-the-fly to produce the same logical result while keeping the execution units as busy as possible.
For example, when evaluating a compound arithmetic function on a CPU that has two integer units which take an average of 2 [[Clock|clock cycles ]] to perform an operation, and a floating point unit which takes an average of 5 clock cycles to perform an operation, two multiplications in succession will cause a pipeline stall, because the second operation cannot be performed until the first multiplication has completed. With out-of-order execution, additional logic in the early portion of the pipeline could rearrange operations so that some integer operations would be performed between the two multiplications, avoiding the stall (and therefore increasing performance).
Out-of-order execution required requires significant additional hardware logic (chip space) and energy.
== RISC vs CISC ==

Navigation menu