Can we calculate the bandwidth for a CPU

cpu

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!

Best Answer

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.

Related Question