3 ms·
Higher clock speed, more instructions per cycle and good pipelining architecture means higher single-core raw performance. We had already complex pipelining su
by frik 13y ago
Higher clock speed, more instructions per cycle and good pipelining architecture means higher single-core raw performance.
We had already complex pipelining superscalar architecture with Pentium Pro and Pentium 4 (Netburst/Prescott). The current Core Architecture has a lot simpler pipelining based on Pentium 3/M. (see http://en.wikipedia.org/wiki/Clock_rate http://en.wikipedia.org/wiki/Clock_rate )
I favor a high single-core over a slow many-core CPUs.
Have you ever coded a many-core application that runs on thousands of CPUs? I have done using it using http://en.wikipedia.org/wiki/Cilk http://en.wikipedia.org/wiki/Cilk , http://en.wikipedia.org/wiki/OpenMP http://en.wikipedia.org/wiki/OpenMP (and CUDA and OpenCL on GPU), as well as traditional using operating system process and threads.
You need new algorithms that work on massive parallel computers. Converting algorithms from serial to massive parallel is possible in many cases, but really hard science work (have done it).
Nevertheless, for a specific domain I would need a really high speed single-core CPU.
A good book about the topic is "Inside the Machine" from ArsTechnica: http://www.amazon.com/Inside-Machine-Introduction-Microprocessors-Architecture-ebook/dp/B004OEJO0A/ http://www.amazon.com/Inside-Machine-Introduction-Microproce... ...and various university lectures.
- alecdbrooks 13y agoI understand the advantages of higher single-core performance and the difficulties in parallelization. And yes, higher clock speeds mean better performance, all other things being equal. But originally, you said 10 GHz, a record-breaking clock speed, would be advantageous. I replied to say that I doubt that, given the physical limits mentioned in the links I shared above. If what you originally meant was that processors with fewer cores and better raw performance per core is what you need, then I misunderstood. >Have you ever coded a many-core application that runs on thousands of CPUs? Nope. I admit you have more experience in that area than I do, but I don't really see why you brought it up. >Nevertheless, for a specific domain I would need a really high speed single-core CPU. Out of curiosity, which domain do you have in mind?