reply to post by SLaPPiE
Unfortunately to truly understand the disinfo coming from AMD and Intel you must understand some of the technical problems.
Here's why. It's because chips aren't getting any more clock cycles. Above 4 ghz the chips start to catch on fire. No, that's not a joke. They
literally start to catch on fire. So, if they kept advertising the frequency number, all the boxes would have the same frequency, 4 ghz. You can't
stand out like that.
Also, clock cycle is a very bad predictor of performance. What's a hertz? It's a clock cycle (CPU tick) per second. 4 ghz is 4 billion times a
second. But that's not an actual program instruction.
A program instruction may take 4 cycles to run or 100 cycles to run or 400 cycles to run. Also, sometimes you have to waste crap loads of cycles
waiting for the data to come in from RAM. So, there's no way to predict how many cycles are needed.
Another problem is pipelining and branch prediction. With pipelining you can send more than one instruction to the CPU at a time. So, say you have 10
instructions that can be pipelined. Should be 10 times faster right? Well, turns out it ain't. The reason is because the 2nd instruction might need
the result from the 1st instruction to finish. So, you may still up waiting just as long. But the number one reason is the next 9 instructions may
have not even been loaded from RAM yet.
Branch prediction is when the program has two or more paths that it can take. The CPU will try to guess which one the program is going to take while
it's waiting on something. It will go ahead and run that code. However, if it guessed wrong, it has to go back and do it again. So there's no way to
know how many ghz it will take.
So, it all basically has to do with if the computer has to wait on something or not. Things like this make it very hard to predict how many clock
cycles it will take to process a set of instructions.
So the real disinfo was making people believe that the ghz number on the computer actually meant something to begin with. It never did. A 1 ghz
computer might be faster than a 5 ghz computer depending on how it's built inside and depending on what the chip was built for. One chip may take
less clock cycles than another for the same instruction.
For example RISC chips do simple instructions really fast in only a few cycles where the x86 may take many more cycles to do the same work. Same
frequency, but the RISC chip is much much faster. So we should switch to RISC right? Well, we already did. Most x86 chips are just RISC chips that
pretend to be x86 chips BTW.
So, how do we make computers faster then? Well, lets look at mine. An AMD X2 5000+. Instead of pumping up the chip to 5ghz and melting it, it's
basically 2 2.6 ghz processors sharing a socket. You lose about 200 mhz doing that so AMD rated it as a 5000+.
The problem is that doesn't tell us anything either. Old programs aren't designed to run on more than one CPU. Old programs don't get any speedup
and the other cores just sit there doing nothing.
Also, only certain special parts of a program can be ran on more than one core. Other parts can't finish until they have the results from some other
part of the program. When this happens they have to stop and wait.
So here's the trick. Adding more and more cores will only make certain parts faster, while other parts that can't be ran in parallel will run at the
same speed from here on out until we can make chips go faster than 4 or 5ghz without catching on fire. So, every time you double the cores you get
less of a speed boost than you did the time before.
So, sometimes my chip can work like a 5ghz chip, but sometimes it can't. because one chip has to wait on something. When that happens it's only
working at about 2 ghz or less. The trade off though is that my computer is not on fire.
However, the next disinfo you'll see from the chip companies is the core war. You'll see computers with 8 cores, then 16 cores, then 32 cores and
they'll just keep going, but the computers won't be getting twice as fast. They'll only be getting 5% or 10% faster because only small portions of
the programs we run can be ran at the same time.
But here's the biggest problem of all. RAM is already about 400 to 500 times slower than the CPUs we already have. That means even if you could
double the speed of the CPU it won't help. That would just mean the RAM is now 800 times slower than the CPU. In other words, the CPU spends most of
its time waiting on data already! If we double the speed of the CPU that means it'll just be waiting faster.
This is why cache is so important. If the instructions the CPU is going to run are already in the cache, it can just run them. An instruction that may
only take 1 clock cycle to run from cache may have to wait 400 clock cycles while the data is loaded from RAM. This is called a cache miss. This is
why writing programs so the most used parts of it stay in the cache is so important.
So this is what they mean when they say CPUs are already fast enough. Other bottlenecks such the RAM, the network, and the hard drive are much more
important. This is why solid state hard drives (SSD) are getting popular. The faster we can get the data off the drive, the faster we can get it to
the CPU so it doesn't have to wait. Modern CPUs can already process the data from RAM, the network, and the HD combined, faster than the new data can
be read in anyway.
So, the disinfo is that AMD and Intel are trying to still sell faster and faster chips when we don't need them. The CPUs we have are already so much
faster than everything else in the system that speeding up the CPU only gives single digit increases now like 5%.
If you want a faster computer you need more cache and data bandwidth. Faster hard drive, faster RAM like triple channel and things like that and just
keep pumping the CPU full so it doesn't wait around. But AMD and Intel probably don't want the average consumer to know that it's not really faster
CPUs that they need.
But they don't advertise ghz as much anymore, because it's stuck. So they advertise cores instead.
But this is why GPUs try to get the fastest video ram available. First, they have thousands of cores and then use the fast RAM to keep those cores as
busy as possible all the time. Which is cool, but faster RAM doesn't really help Intel sell more chips.
[edit on 12-2-2010 by tinfoilman]