Software that has been written for an ISA can run on different implementations of the same ISA. Both of these developments have helped to lower the cost of computers and to instruction sequencing in computer architecture pdf their applicability. Processors with different microarchitectures can share a common instruction set.
Prior to NPL , the company’s computer designers had been free to honor cost objectives not only by selecting technologies but also by fashioning functional and architectural refinements. The SPREAD compatibility objective, in contrast, postulated a single architecture for a series of five processors spanning a wide range of cost and performance. None of the five engineering design teams could count on being able to bring about adjustments in architectural specifications as a way of easing difficulties in achieving cost and performance objectives. An ISA may be classified in a number of different ways.
These are theoretically important types, but have not been commercialized. Used to store the contents of a register, result of a computation, or to retrieve stored data to perform a computation on it later. ISAs, saving operand fetch in trivial cases. Processors may include “complex” instructions in their instruction set. A single “complex” instruction does something that may take many instructions on other computers. Complex instructions are more common in CISC instruction sets than in RISC instruction sets, but RISC instruction sets may include them as well. SIMD instructions have the ability of manipulating large vectors and matrices in minimal time.
One instruction may have several fields, which identify the logical operation, and may also include source and destination addresses and constant values. This is the MIPS “Add Immediate” instruction, which allows selection of source and destination registers and inclusion of a small constant. Conditional instructions often have a predicate field—a few bits that encode the specific condition to cause the operation to be performed rather than not performed. For example, a conditional branch instruction will be executed, and the branch taken, if the condition is true, so that execution proceeds to a different part of the program, and not executed, and the branch not taken, if the condition is false, so that execution continues sequentially. Some instruction sets also have conditional moves, so that the move will be executed, and the data stored in the target location, if the condition is true, and not executed, and the target location not modified, if the condition is false. Within an instruction set, different instructions may have different lengths. The design of instruction sets is a complex issue.
There were two stages in history for the microprocessor. In the 1970s, however, places like IBM did research and found that many instructions in the set could be eliminated. A simpler instruction set may offer the potential for higher speeds, reduced processor size, and reduced power consumption. Any given instruction set can be implemented in a variety of ways. The various ways of implementing an instruction set give different tradeoffs between cost, performance, power consumption, size, etc. ISA using this physical microarchitecture.