Instruction set design refers to the process of defining a computer’s instructions, their format, size, the way they access their operands (i.e. addressing modes), resources utilization ...etc.
Before the computer can be designed, a special attention has to be paid to designing its instruction set
Instruction set design is the most important factor affecting the performance of a computer
Each instruction must specify the following:
Which operation to perform (the op-code)
Where to get the operands
Where to put the result
Where to find the next instruction
The following points illustrate the main issues and trade-offs involved in the instruction set design:
Fewer instructions means:
Longer programs (in number of instructions) due to lack of complex instructions
Simpler processor design which in turn makes it possible to execute more instructions in a given time
This is the main philosophy of the RISCA reduced instruction set computer (a computer with fewere and simpler instructions) (Reduced Instruction Set Computers)
More instructions results in:
More complex logic design of processor
More complex control unit, whether hardwired or microprogrammed, with fewer instructions executed in a given time
Shorter programs (due to the availability of more complex instructions) and (possibly) shorter execution times
This is the main philosophy of the CISCA complex instruction set computer (a computer with large number of instructions that are generally capable of performing complex functions) (Complex Instruction Set Computers)
Computers instructions can be classified into three primary types: