I am no expert in the field of Computer Architecture, but just a student learning about it. On referring to some books and websites, I realized some of the historical advancements in this field and why these advancements aren't able to take the field forward:-
1. Dependencies:- In the golden era of Computer Architecture, the researchers did a great job in looking at the new techniques to speed up the processor. One of these was to solve the problem of data-dependencies by a variety of techniques that included data-forwarding, out-of-order execution, etc.
However, adding new functional units does not increase program performance anymore because dependencies between instructions prevent the hardware to implement their parallel execution.
2. Power Issues:- According to Moore's law, there has been an increase in the number of transistors on a chip. However, this has also increased the power consumption and the heat production.
3. High memory access-times:- Memory access time has not increased by similar amounts as the clock period which has led to load and store instructions taking 100s of cycles to execute.
4. Chip Bandwidth:- There has not been much development in increasing the number of pins that can be used on a processor; thus, limiting the bandwidth between memory and CPU.
All these above reasons have led the researchers looking at new techniques to use multiple cores on a single processor die.
However, adding new functional units does not increase program performance anymore because dependencies between instructions prevent the hardware to implement their parallel execution.
2. Power Issues:- According to Moore's law, there has been an increase in the number of transistors on a chip. However, this has also increased the power consumption and the heat production.
3. High memory access-times:- Memory access time has not increased by similar amounts as the clock period which has led to load and store instructions taking 100s of cycles to execute.
4. Chip Bandwidth:- There has not been much development in increasing the number of pins that can be used on a processor; thus, limiting the bandwidth between memory and CPU.
All these above reasons have led the researchers looking at new techniques to use multiple cores on a single processor die.