An essential aspect of computer architecture is the design of the instruction set for the processor. The instruction set selected for a specific computer determine the way that machine language programs are constructed. Early computers had simple and small instruction sets, forced basically by the have to minimize the hardware used to implement them. With the advent of integrated circuits as digital hardware became cheaper and computer instructions tend to increase both in complexity and number. Many computers contain instruction sets that include more than hundred and sometimes even more than 200 instructions. These computers also employ a variety of data types and a large number of addressing modes. The trend for computer hardware complexity was influenced by several factors, such as upgrading existing models to provide more customer applications, adding instructions that facilitate the translation from high-level language into machine language programs and striving to develop machines that move functions from implementation of software into hardware . A computer with number of instructions is classified as a Complex Instruction Set Computer and abbreviated CISC.
In the early 1980s, a number of computer designers recommended that computers use fewer instructions with easy constructs so they may be executed much faster within the CPU without having to use memory as frequently. This type of computer is classified as a Reduced Instruction Set Computer or RISC.