Advantages of Instruction set architecture:
Advantages: it is simple Model of expression evaluation (reverse polish). Contain Short instructions.
Disadvantages: A stack can't be arbitrarily accessed .it makes it difficult to produce efficient code. The stack itself is accessed every operation and becomes a bottleneck.
Advantages: it has short instructions.
Disadvantages: It is only storage on temporary basis so memory traffic is the highest for this approach.
Advantages: it makes code generation simple. Data can be stored for long periods in registers.
Disadvantages: All operands ought to be named leading to longer instructions.
Prior CPUs were of the first 2 types but in the last 15 years all CPUs made are based on GPR processors. The 2 main reasons are that registers are quicker in comparison with memory, the more data that can be kept internally in the CPU the quicker the program will run. The other reason is that registers are simpler for a compiler to use.