Hello everyone. I am once more stuck with a question in my assignment that I can't fully understand. Please if some one understands the question, let me know. The question is given below:
In the last 60 years, computer processors have been evolving and processing speed has increased multiple times. Increasing processor speed along with increasing the number of processing cores has been the major trend. As a computer architect, we have an option of either increasing the number of cores to achieve better performance or increasing the processing speed of a single processor.
What would be your choice to go with in the prevailing scenario keeping in view the pros and cons of each approach? Provide logical reasoning in either case.
the question is for you to defend your answer by digging deep into both approaches and seeing why both approaches have pros and cons. Your prof does not want a simple answer of 'clearly more cores are better' .. even if that were absolutely true, you still have to say why by explaining BOTH approaches and showing it.
What I would do is to get online and dig up some info, and turn it into a math problem. If you double the speed of 4 cores, is that faster than adding a 5th core at the old speed? How many cores can software make use of practically, in general? What is the new CPU for, gaming? Science? big servers? Laptops? What is the difference in the power usage? Costs? Silicon space? Look at it from every angle, not just speed and end result but marketability (costs, power draw, applications, etc). Maybe start by setting up a scenario where both approaches give approximately the same performance, then look at other factors to pick which is better, and then look again at which one could be faster for the least increase in costs / power /etc.
There are practical limits to # of programs running on a box and # of threads those need in general. Special purpose stuff or high end boxes aside, talking typical user's desktop here.. at some point more cores = more idle cores while the non-idle cores crunch away. Idle cores do not help. Faster cpus help there. And the reverse is true too... one core cpus can't handle 20 programs each with 10 threads well: need more cores. You have to try to figure out the practical side of it along with the theoretical side.
I think the purpose of the question is to make you demonstrate whether you understand both approaches.
Neither "cores" nor "speed" is the correct answer in every situation. Therefore, it does not matter which you say, as long as you can provide the "logical reasoning" to back it up.
Also keep in mind that we've basically reached the theoretical maximum speed of a single core. Processor speeds have topped out at about 4GHz for several years now. Light in a vacuum travels only about 3 inches in one clock cycle at that rate, so there are real physical limitations to what you can do.
How the digital circuitry is currently put onto a silicon chip means there are physical limits as to speed and number of cores that can be laid out and accessed.
Commercially produced quantum computing chips should they ever become available will change the physical limitations chip makers run up against now.