Last week I looked at DDR4 memory scaling
from 2133MHz to 3866MHz on the new Intel 6th
Generation Core i7-6700K ‘Skylake’ processor. Since that article was published I’ve received a number of kind and helpful letters from the overclocking community, board makers and memory companies with ideas on how to get even better memory performance. Intel has yet to brief the media on the changes the made in the 14nm Skylake core architecture and it turns out I might have unintentionally been limiting some internal memory bandwidth by overclocking the DDR4 dual-channel memory without also overclocking the processors cache or ‘Ring Frequency’ as some people call it. In our original DDR4 memory scaling article the Intel Core i7-6700K Processor was overclocked to 4.6GHz, but I didn’t overclock the CPU cache and left it at 4.1 GHz. The CPU Cache Frequency can be adjusted on most enthusiast-class Intel Z170 based motherboards in either the UEFI itself or on the desktop with the Intel Xtreme Tuning Utility (Intel XTU).
Intel clocks the CPU Core/Cache Frequency at 4100 MHz on the Core i7-6700K and they picked that frequency as it was best tuned to go along with the processors maximum Turbo Clock speed (4.2GHz) and the most common memory kits on the market today. Changing this value in the UEFI was very simple as I just changed the min/max CPU Cache ratio from AUTO to a higher value that I wanted. Without knowing much about the architecture I had to talk to several board makers about what they know to be safe and if higher voltages would be needed for overclocking. It turns out that the ring/cache voltage is tied into the core processor voltage on most boards, so no voltage changes should be needed for cache overclocking. ASUS was able to confirm that the CPU Core/Cache voltage is linked together on the ASUS Z170 Deluxe motherboard that I am using as a test platform. From what I have learned, the cache frequency itself should easily be increased 300-500MHz on the new K-Sku processors without breaking a sweat, but like any overclock you can go higher if you want to push it a little bit.
I tried using the Intel Extreme Tuning Utility to change the processor cache ratio on the Windows desktop, but it resulted in system crashes when I raised it from 4100 MHz to 4500 MHz and hit the apply button. I changed the CPU Cache Ratio in the UEFI on the ASUS Z170 Deluxe motherboard and had no issues.
By overclocking the processor up to 4600MHz and running the memory kit at nearly 4000MHz it makes sense that the clock speed on the memory ring could be bottlenecking performance. After learning that I could have been missing out on some system performance I went back and spot checked our results again. This time I went back and looked at the G.Skill Ripjaws V 8GB DDR4-3600 memory kit at it's rated speed with the Intel Core i7-6700K processor overclocked to 4600 MHz and the CPU cache at various ratios. The CPU cache speeds tests were 4100 MHz (default), 4400 MHz (44x) and finally at 4600 MHz (46x). The test platform is the same that I used in my DDR4 scaling article, so please reference it
if you'd like to know more about my test setup.
In the AIDA64 read/write memory bandwidth test I was able to improve the read bandwidth by about 800 MB/s and the write bandwidth by 200 MB/s after running the benchmark five times and averaging all the test results. This is only a 2 percent improvement on the read bandwidth, but that is a measurable difference.
I noted a 300 MB/s improvement in the AIDA 64 Copy test by increasing the Core i7-6700K Skylakes CPU cache frequency from 4100 to 4600 MHz.
The memory latency improved by 2.4% as I was able to remove 1ns thanks to the CPU/Cache overclock!
When it comes to gaming performance I took a quick look at GTA V and found that bumping up the cache just 300 MHz gave us about half a frame per second higher frame rate on average. If you round up this is a 0.5% increase in performance, so unfortunately I found that CPU Cache overclocking doesn't help much for general real world performance. If you are gaming it might help give you half a FPS improvement during game play and if you are using a video converter program like handbrake you might be able to shave off a few seconds off your projects.
I am still looking for applications or game titles that will show off what can be done with all this memory bandwidth, so let me know if you know of any. I've had a number of people tell us to look into benchmarking game titles like Arma III and Starcraft 2 that are more CPU bound game titles that might benefit from the additional memory bandwidth. I will be looking at those in the days ahead, but let us know if there are any other applications I can look at!