3

I have read somewhere that we can calculate the bandwidth for a ram like this. Assuming the ram clocks at 1600 MHz without dual-channel, the bandwidth is 1600 MHz * 64 bits = 102400 Mbit/s, which as I understand means the ram is able to transfer data at a speed of 102400 Mbit/s at its peak performance.

Similarly, can we calculate the bandwidth for a CPU? Assuming a 64-bit dual-core CPU with clock speed 1.8 GHz, can we calculate the bandwidth as 1.8 GHz * 64 bits * 2 cores = 230.4 Gbits/s? I tend to think this CPU is able to process data capped at a speed of 230.4 Gbits/s.

However, when I google the term "cpu bandwidth", I actually didn't find one definition. So can we calculate the bandwidth for a CPU? If not, why the bandwidth concept is not applicable to CPU?

Thanks!

8
  • superuser.com/questions/816430/… have a look at this. Commented Feb 12, 2016 at 10:53
  • @NetworkKingPin Thanks for your prompt reply. Maybe my question was not clear, I don't mean the speed at which the CPU exchanges data with memory, but how fast can CPU process data.
    – Ray
    Commented Feb 12, 2016 at 10:58
  • Ray maybe this could help a bit more. alf.sd83.bc.ca/courses/It12/using_it/processor_speed.htm Commented Feb 12, 2016 at 11:01
  • @Ray But someone has to feed the data to be processed to the CPU... As for its speed, in your case that's 1.6 billion operations per second, no more. That's the clock rate that separates two time-contiguous operations. Commented Feb 12, 2016 at 11:13
  • @MariusMatutiae Thank you. So, if assuming there is no bottleneck in data transfer between CPU and memory, and the CPU can get as many data as fast as possible, and the speed of processing data is only dependent on how fast the CPU is. In this ideal case, is 230.4Gbit/s (as the example in my question) the theoretically maximal speed the CPU can handle data?
    – Ray
    Commented Feb 12, 2016 at 11:45

2 Answers 2

4

I apologize for being too terse, in the comments. Let me expand a little bit.

The Intel link you provided states that your particular core can be served by two types of RAM, DDR3L 1333/1600. They operate at 1300MHz and 1600MHz, respectively. Assuming you have the faster one, you can transfer to one of them 64bits x 1600x10^6 times per second, which equals 12.8GB/s. However,the same Web page states that the core has (at most) two memory channels, so using both of them at the same time will allow you to reach the Max Memory Bandwidth of 12.8 GB/s x2 = 25.6GB/s, the final figure quoted in the document above.

An even more curious case is that of the i7-6700 processor, which can use, as memory banks, even DDR4-1866/2133, with 2 memory channels. Repeating the computation above, 8B per cycle, 2.133x10^9 cycles per second, 2 memory channels, you obtain 34.128GB/s, which jibes with the value in the link, 34.1GB/s.

2
  • Thank you Marius. Now I understand. We need to use the memory's frequency but not the CPU's. This is because the memory is slow and the bottleneck lies on memory side, not CPU side. If there is a super fast memory, even faster than CPU, and the CPU's processing power becomes the bottleneck, then we would need to use CPU's frequency in this calculation, right? Is it 64bits * min(CPU's frequency, memory's frequency)?
    – Ray
    Commented Feb 12, 2016 at 15:53
  • Hey ya thanks dude. I accept it already. Have a nice day :)
    – Ray
    Commented Feb 12, 2016 at 16:36
0

I know this is a pretty old thread but hopefully it helps someone down the line. So, there are a couple of things to consider. First and most importantly is your CPU external clock speed. Lets say for example that is 2 Ghz or 2 billion ticks per second and your data bus let's say that is 64-bit. This could theoretically transfer 16 GB (2 billion bytes) of data to and from memory per second. One byte consists of 8 bits, so 2 billion * 64 bits / 8 bits per second. This is theoretical though, the software must be able to instruct the CPU to use all of the data bus, and the rest of the computer must be fast enough to keep up with the CPUs external clock speed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .