Memory Frequency Scaling on Intel's Skull Canyon NUC - An Investigationby Ganesh T S on August 29, 2016 8:00 AM EST
Overclocking has generally been the domain of enthusiasts with desktop rigs. However, increasing the CPU frequency beyond the official specification is not the only way to extract more performance from a computing system. Memory-bound workloads can benefit from memory hierarchies with increased bandwidth and/or lower latencies.
The memory controller in the Intel U-series processors (on which most, if not all, high performance SFF systems are based) is rated for operation only according to the standard JEDEC guidelines (1600 MHz for DDR3 and 2133 MHz for DDR4). However, the Skull Canyon NUC (NUC6i7KYK) can support DDR4 SODIMMs operating at 2133 MHz+. In this article, we explore the effects of varying DDR4 frequencies and latencies on the NUC6i7KYK.
Intel's Skylake platform brought DDR4 DRAM into the mainstream market. DDR4 brings a host of improvements over DDR3, particularly in terms of operating at lower voltage and higher frequencies. Another important advantage is the maximum capacity per DIMM (moving from the usual 8GB in DDR3 to 16GB in DDR4). On standard non-overclocked systems, the DDR4 memory can operate at up to 2133 MHz. DDR4 DIMMs operating as high as 3733 MHz are available for desktop systems with full-sized memory slots. On the SODIMM side, we have seen various vendors introduce kits operating at more than 2133 MHz. However, there are very few systems utilizing DDR4 SODIMMs that also support for memory overclocking (a term I will use in this article to indicate DDR4 operation at more than 2133 MHz).
SODIMMs are used in notebooks and SFF PCs. The memory in most notebooks is rarely upgraded, and many high-performance notebooks are now opting to go with soldered DRAM instead of SODIMM slots. That leaves SFF PCs as the only viable option to explore the benefits of these new wave of DDR4 SODIMMs. Skylake-U is not an effective option because its memory controller is rated to operate at only 2133 MHz. However, the Skull Canyon NUC (NUC6i7KYK), which combines a Skylake-H CPU (Core i7-6770HQ) with the H170 chipset, is a completely different platform. The BIOS includes XMP support, resulting in the appropriate SODIMM kits operating at speeds higher than 2133 MHz automatically.
One of the advantages of DDR4 SODIMMs is that we can get up to 16GB on a single SODIMM. On systems like the NUC6i7KYK with two SODIMM slots, we can have up to 32GB of DRAM. To that end, for today's article we have procured 2x16GB DDR4 SODIMM kits rated for operation at more than 2133 MHz from Corsair, Crucial, G.Skill, Kingston and Patriot Memory to study the impact of memory overclocking on the performance of Skull Canyon.
The Core i7-6770HQ Memory Controller and Hierarchy
Our Skull Canyon NUC (NUC6i7KYK) review analyzed the platform and BIOS in great detail. The block diagram shows two channels of DDR4 memory operating at 1.2V for a 128b memory interface. When both memory slots are occupied, the two memory channels operate in dual-channel symmetric mode (also known as interleaved mode) and provide the best performance for real-world applications. Addresses are ping-ponged between the channels after each cache line boundary (64 bytes). In the case that only one slot is occupied, the operation is in single-channel asymmetric mode. The memory controller does support ECC RAM (since it is used in the Xeon E3-1500 v5 lineup also), but the feature is disabled in the Core i7-6770HQ.
Intel recommends that the SODIMMs used in the NUC6i7KYK support the Serial Presence Detect (SPD) data structure. This allows the BIOS to read the SPD data and program the chipset to accurately configure memory settings for optimum performance. If non-SPD memory is installed, the BIOS will attempt to correctly configure the memory settings, but performance and reliability may be impacted or the SO-DIMMs may not function under the determined frequency.
The other interesting aspect of the Core i7-6770HQ that bears relevance to the performance of the NUC6i7KYK is the internal memory hierarchy. The processor is one of the Skylake-H members to come with a 128MB On-Package Cache (eDRAM). The processor also features a 6MB L3 (LLC) cache, which is smarted among all 4 CPU cores. Each core also has a dedicated 256KB L2 cache (making for a total of 1MB L2 in the Core i7-6770HQ). Skylake's core architecture (32KB of I-cache and 32KB of D-cache) is well-known and has been analyzed before.
The LLC in the Core i7-6770HQ is only 6MB (1.5MB/core), while other members of the Skylake-H family with Iris Pro Graphics (same 128MB eDRAM configuration) have 2MB of LLC per core (total of 8MB). The most important aspect here is that the eDRAM is not available only to the GPU, but also to the other clients of the memory controller.
The BIOS of the NUC6i7KYK supports the Extreme Memory Profile (XMP), an Intel-developed JEDEC SPD extension for memory kits to indicate support for high-performance timings that are beyond the standard JEDEC standard. This allows 'overclocked' memory kits to be plug-and-play. The BIOS can read the extra SPD information at boot time and automatically set the memory timings to the overclocked configuration.
Evaluating Memory Frequency Scaling on the NUC6i7KYK
The rest of this review deals with the quantitative measurement of the effectiveness of different types of DRAM in the Skull Canyon NUC. In order to do this, we processed various benchmarks while keeping everything other than the DRAM SODIMMs constant. Each configuration was booted to BIOS multiple times to ensure that the SPD information was properly parsed and the optimal frequency / timing parameters chosen. Once the OS was booted, we also checked with multiple hardware monitoring tools that the parameters indicated by the BIOS for the DRAM SODIMMs were indeed what the OS was also seeing.
|Intel NUC6i7KYK (Skull Canyon) Specifications|
|Processor||Intel Core i7-6770HQ
Skylake-H, 4C/8T, 2.6 GHz (Turbo to 3.5 GHz), 14nm, 6MB L2, 45W TDP
|Graphics||Intel Iris Pro Graphics 580|
|Disk Drive(s)||Samsung SSD 950 PRO
(512 GB; M.2 Type 2280 PCIe 3.0 x4 NVMe; 40nm; MLC V-NAND)
|Networking||Intel Dual Band Wireless-AC 8260
(2x2 802.11ac - 866 Mbps)
Intel Ethernet Connection I219-LM GbE Adapter
|Audio||3.5mm Headphone Jack
Capable of 5.1/7.1 digital output with HD audio bitstreaming (HDMI)
|Miscellaneous I/O Ports||4x USB 3.0
1x Thunderbolt 3 / USB 3.1 Gen 2
|Operating System||Retail unit is barebones, but we installed Windows 10 Pro x64|
|Pricing (As configured)||$1027|
|Full Specifications||Intel Skull Canyon NUC6i7KYK Specifications|
In the next section, we will first take a look at the specifications of the five SODIMM kits that were evaluated in the NUC6i7KYK, along with the AIDA64 Memory Bench for each. Following this, we present the relevant benchmarks from Intel's Memory Latency Checker tool to determine the raw performance of the DRAM in the system. This is followed by our standard test suite for mini-PCs with a gaming focus - SYSmark 2014, Futuremark benchmarks and some select gaming titles. Prior to our concluding remarks, we take a look at a few miscellaneous aspects such as power consumption and pricing.