12/06/2006
As you know there were still hands up at the end of class. One student just sent me email: So I had a burning question or two that I wanted to ask you but due to the time constraint, I did not get the chance to speak my questions. It seems that CPUs today are coming out with more and more internal cores. Intel and AMD's dual core processors will likely get replaced by the newer and faster quad core CPUs. The Playstation 3 uses some 8 or 9 core "Cell" processor, and the Xbox 360 has 3 cores on its CPU. Is it harder or more time consuming to produce software that actually utilizes these multiple cores? I would imagine that programming on one CPU is easier; but what actually changes when the software developers must prepare for multiple cores? Does having more cores mean its harder to program for, or is there a simple way to program for "n" number or cores? Thanks, Sorry you did not get to ask it, although frankly most students were in the mood to talk about other things. The answer to your question is exactly what you think: that writing software for multiple cores is a lot harder than for one cpu. In fact, we (the community) are currently struggling with the issue of how to program chips that have multiple cores on them. The reason for multiple cores is simply the fact that the chip has more and more transistors, and an easy way to use them all is by putting more than one core on the chip. What this does is kick the problem to the software. Not nice, perhaps, but a fact of life. Some of my research lately is to have two different kinds of cores on the chip, but to get into why this makes sense is a long explanation. Perhaps I will see you in 360N someday. Yale Patt