Content deleted Content added
Wrong target/redirect (was branch prediction meant for, that 3rd option is also wrong). |
No edit summary |
||
Line 82:
*complicated integer and [[floating-point arithmetic]] (e.g. [[square root]], or [[transcendental function]]s such as [[logarithm]], [[sine]], [[cosine]], etc.)
*''{{vanchor|[[Single instruction, multiple data|SIMD]] instruction|SIMD instruction}}s'', a single instruction performing an operation on many homogeneous values in parallel, possibly in dedicated [[SIMD register]]s
*performing an atomic [[test-and-set]] instruction or other [[
*instructions that perform [[arithmetic logic unit|ALU]] operations with an operand from memory rather than a register
Line 159:
There has been research into [[executable compression]] as a mechanism for improving code density. The mathematics of [[Kolmogorov complexity]] describes the challenges and limits of this.
In practice, code density is also dependent on the [[compiler]]. Most [[optimizing
===Representation===
Line 183:
# Some computer designs "hardwire" the complete instruction set decoding and sequencing (just like the rest of the microarchitecture).
# Other designs employ [[microcode]] routines or tables (or both) to do this, using [[read-only memory|
Some microcoded CPU designs with a writable control store use it to allow the instruction set to be changed (for example, the [[Rekursiv]] processor and the [[Imsys]] [[Cjip]]).<ref>{{cite web|url=http://cpushack.net/CPU/cpu7.html |title=Great Microprocessors of the Past and Present (V 13.4.0) |website=cpushack.net |access-date=2014-07-25}}</ref>
Line 193:
Often the details of the implementation have a strong influence on the particular instructions selected for the instruction set. For example, many implementations of the [[instruction pipeline]] only allow a single memory load or memory store per instruction, leading to a [[load–store architecture]] (RISC). For another example, some early ways of implementing the [[instruction pipeline]] led to a [[delay slot]].
The demands of high-speed digital signal processing have pushed in the opposite direction—forcing instructions to be implemented in a particular way. For example, to perform digital filters fast enough, the MAC instruction in a typical [[digital signal processor]] (DSP) must use a kind of [[Harvard architecture]] that can fetch an instruction and two data words simultaneously, and it requires a single-cycle [[multiply–accumulate operation|multiply–accumulate]] [[binary multiplier|multiplier]].
==See also==
|