# Why are there 2 clock rates (core vs memory clock) in the GPU?

I learned at school that the clock rate inside a computer is the signal that keep switching between 0 - 1 (or active - inactive). There's also another delayed clock with the same frequency. These 2 clocks are then AND and OR together, and the out put is the enable-clock and set-clock.

When data is transferred inside the computer, it run from the original-register (inside the processing unit or on RAM) through the bus when the enable-clock is turned on, then set to its destination-register when set-clock = 1. Therefore, I thought that there's only 1 clock speed that run through the entire computer.

Back to the GPU, with its own processing unit and memory. Retailers' product pages always state 2 clock rates for a GPU: core clock and memory clock (which is several times faster than core clock). Which of those 2 clocks refer to the clock I've described above ? And what is the other clock.

As a broad brush-stroke, the product of bits-processed-per-clock and clock-per-second gives you the data throughput of the device. Here, the GPU core processes more data bits per clock than the RAM does.

Devices achieve this by having wider internal datapaths than that going to memory and/or by having more of these datapaths operating in parallel. Both allow for more bits per clock to be processed. Your GPU uses these techniques, having internal data buses that are 1x/2x/4x the memory data bus and having lots of processing engines operating in parallel.

Note that the GPU is not achieving a perfect balance - the core will be slowed by the memory bandwidth.

Your picture is just a way to generate different clock signals from one clock. It has no relation to GPU and Memory clocks on a product.

The GPU and Memory clocks are often different because the GPU is able to run on a higher clock frequency. Using a higher clock frequency will make it able to more operations in less time.

In general Memory cannot keep up with the GPU's speed because it is outside the main GPU, I mean, it is not the same chip as the GPU. The memory is on different chips. The connections to those chips have speed limitations. The memory chips themselves have speed limitations. So the memory is run at a slower clock speed than the GPU.

The difference between those seeds can be handled by buffers and cache memories.

Ideally the memory would run at the same speed as the GPU but that is either not possible or very expensive. So a compromise is made in using different clock frequencies for GPU and RAM Memory.

• What does that compromise solve? If it has faster clock rate, doesn't the ram still have to wait for the processing unit to give it another instruction after it has handled the previous instruction given to it? Commented Jun 14, 2017 at 15:16
• @NhuThaiSanhNguyen There could (I don't actually know) be a multiplexing unit that lets several cores access memory in one core cycle, using several memory cycles. The graphics core is massively parallel, remember. Commented Jun 20, 2019 at 3:55