Originally Posted by Mrzev
MY QUESTIONS because I am no expert....and a bit of a noob about low level stuff.
1. Frequency.... Higher the frequency the weirder stuff tends to get... but increasing the frequency will also increase performance, but that also increases power and heat... Why are we not at 10GHz? Is it the material?
2. Architectures \ Instruction sets. Simply put, my Raspberi Pi 3 and its new Quad Core ARM 1.2 GHz processor is no match for my laptops Dual Core i7-3540M 3GHz. I ran some FFMPEG encoding and my 4-5 year old laptop is 3-5x faster with the encoding. Is there much room in the improvement in the architectures, or is it pretty much trading off one thing for another?
3... Why are our processors not twice as fast every other year?
It takes more energy to make a transistor turn on and off faster. You also have to make considerable sacrifices in efficiency in the CPU pipeline to allow clock speeds that high. It is more efficient to introduce more levels of parallelism to increase performance than it is to continue to up the clock speed.
Core count and clock speed do not add up to performance. The ARM processor operates in a 3 watt tdp, and it makes considerable sacrifices in performance in order to do so.
In order to double performance between one generation and another you need to either increase IPC efficiency, increase the number of functional units (and therefore add more transistors) and/or increase clock speed. Every other year or so CPUs move into a smaller processing node, which allows manufacturers to fit the same number of transistors in roughly 2/3rds the area. You could choose to clock at a higher clock speed, but that reduces energy efficiency and has diminishing returns. You can add more cores and more stages to the CPU pipeline, which is what intel and AMD have largely done, but that only increases performance in highly parallel workloads.
In specific types of workload performance has increased by wide margins between generations. For example, the AES 256bit accelerated instruction set decreased CPU decryption time by something like 250% in some cases.