That's because Intel went from 12 in the PIII to 20 in the P4 (a 66% increase). At the same time, they went from 1GHz to 1.4GHz (a 40% increase.) So Intel increases the pipeline by 66% and only increases the MHz by 40% - that's why people laughed. Motorola, if they pull it off, will lengthen the pipeline by 43% and the MHz by 100%. See the difference?
Again...the G5 is in a different process than the G4. They're going to get a lot of frequency boost from the process alone.
Don't forget that the G5 is in a different process. Shrinking the G4 plus putting it on SOI will get you a good frequency boost without any repipelining.
But wait...longer pipelines are bad right? What about the MHz myth? Why didn't they just increase IPC?:)
Performance is measured in "seconds" which is a function of frequency, CPI and the number of instructions executed.
Performance = (CPI * num_instructions)/freq
The pentium 4 has a lower CPI because it was designed that way. Intel believes that it can scale freq up much faster than it can scale CPI down thus increasing overall performance in the long run. Things like compilers can also help with not only the CPI component but the num_instructions component.
MHz to MHz is silly. What you want to compare is TIME. How long does it take to finish a task given the hardware available TODAY and for what price.
SPEC scores are based on time. Intel has the fastest single processor chip available today for running SPEC like applications.
Now when you compare SPECrate, did you forget to look at the DELL systems with 2-way P4 Xeons?
Or how about the 4-way and 8-way PIII Dells?
Or...the 32-way!! Unisys PIII systems?
If you care about SPECrate, then Intel has some extremely competitive offerings.
Considering that Sun is supposed have vastly superior system/memory design, I think that it is telling that a 2-way Intel or AMD system is competitive with a 2-way sun system that costs a lot more.
Anandtech has an overview of this technology here.
That's because Intel went from 12 in the PIII to 20 in the P4 (a 66% increase). At the same time, they went from 1GHz to 1.4GHz (a 40% increase.) So Intel increases the pipeline by 66% and only increases the MHz by 40% - that's why people laughed. Motorola, if they pull it off, will lengthen the pipeline by 43% and the MHz by 100%. See the difference?
Again...the G5 is in a different process than the G4. They're going to get a lot of frequency boost from the process alone.
Don't forget that the G5 is in a different process. Shrinking the G4 plus putting it on SOI will get you a good frequency boost without any repipelining.
:)
But wait...longer pipelines are bad right? What about the MHz myth? Why didn't they just increase IPC?
CPI isn't the whole story either.
Performance is measured in "seconds" which is a function of frequency, CPI and the number of instructions executed.
Performance = (CPI * num_instructions)/freq
The pentium 4 has a lower CPI because it was designed that way. Intel believes that it can scale freq up much faster than it can scale CPI down thus increasing overall performance in the long run. Things like compilers can also help with not only the CPI component but the num_instructions component.
Yes, of course and 640K should be enough for everybody...
MHz to MHz is silly. What you want to compare is TIME. How long does it take to finish a task given the hardware available TODAY and for what price. SPEC scores are based on time. Intel has the fastest single processor chip available today for running SPEC like applications. Now when you compare SPECrate, did you forget to look at the DELL systems with 2-way P4 Xeons? Or how about the 4-way and 8-way PIII Dells? Or...the 32-way!! Unisys PIII systems? If you care about SPECrate, then Intel has some extremely competitive offerings. Considering that Sun is supposed have vastly superior system/memory design, I think that it is telling that a 2-way Intel or AMD system is competitive with a 2-way sun system that costs a lot more.
void reverse_string_in_place(char *str) { int length = strlen(str); for (int ii = 0; ii (length/2); ++ii) { // Swap str[ii] with str[length - 1 - ii]
str[ii] ^= str[length - 1 - ii];
str[length - 1 - ii] ^= str[ii];
str[ii] ^= str[length - 1 - ii];
}
}