Overclock에 대한 잡소리

1.
여의도 금융회사들이 어느 때부터 오버클락서버를 도입하고 있습니다. 이유가 어렷이겠지만 국내업체들이 품질보증을 하는 외산 서버를 공급하기 때문입니다. 몇 년전 한국을 방문하였던 Xenon이라는 회사가 공급하는 XENON eXtreme HFT Servers도 그런 제품중 하나입니다. 외국계 투자자들이 많이 애용한다고 합니다.

여의도에서 Low Latency는 여전히 중요합니다. 매매속도를 중히 여기는 전략들이 많고 수익성도 괜찮아 보입니다. 이 때문에 오버클럭서버을 도입하는 트레이딩회사도 있고 저와 거래하는 회사도 위에서 언급한 서버를 도입해서 사용하고 있습니다. 솔직히 가격이 높습니다. 공급하는 회사쪽 관계자의 말에 따르면 수율이 낮기 때문에 제품가격이 비쌀 수 밖에 없다고 합니다. 그래서 대안으로 검토한 것이 사제 오버클럭입니다. 게임때문인지 몰라도 오버클럭에 관심을 가지는 분들이 무척 많습니다. 정보도 넘치고 관련한 소프트웨어도 많습니다. 제가 보기에 오버클락은 끈기입니다. 시간을 가지고 설정후 시험, 또 설정후 시험을 반복하면서 최적값을 찾고 안정성을 검증하여야 하기 때문입니다.오버클럭 기초/입문: CPU 오버를 하는 이유와 방법, 발열/안정화/순정에 대해은 이렇게 설명합니다.

4. 시간이 많이 들어간다.

오버클럭은 시간과의 싸움입니다. 오버클럭을 하는 동안엔 컴퓨터를 사용하지도 못합니다. 오버클럭을 위해 세팅값을 조금만 바꾸더라도 따라붙는게 안정화 테스트입니다. 예를 들면, 슈퍼파이나 프라임파이로 계산 속도/정확성 그리고 풀로드시 안정성을 테스트 해보기 위해 원주율을 소수점 아래 3천2백만 자리까지 계산해 봅니다. 그리고 골든 메모리나 뭐 비슷한 프로그램을 이용하여 램에서의 데이터 오염은 없나 체크해 봅니다. 마지막으로 풀로드를 견딜 수 있나 확인해 보기 위해 인텔번 등의 프로그램으로 CPU 100% 부하상태를 24시간 유지시켜 줍니다. 이 3가지의 테스트는 오버클러킹의 안정화 테스트의 필수 3대 테스트입니다. 이 3가지의 테스트 중 하나라도 통과하지 못한다면, 즉 원주율을 계산해 봤는데 올바른 답이 아닌 답이 나오거나, 램에서 데이터 오염이 일어나거나, 인텔번 24시간 돌리는데 다운되거나 하면 안정화가 제대로 되지 않은 것이기 때문에 클럭을 줄이거나 전압을 더 주거나 해야 합니다. 물론 설정값을 바꾸면 당연히 저 3종 테스트 다시 들어갑니다. 참고로 FSB와 배수는 원하는 목표를 정해놓고 한번에 설정하는 경우가 많지만, 전압은 0.01v 단위로 조절합니다. 게다가 CPU를 오버하면 램도 함께 오버가 되니 램에서도 저런 자잘한 것들을 다시 설정해줘야 합니다. 또 램 오버는 오히려 건드릴게 더 많습니다. FSB는 직접 수정이 안되니 FSB 배율을 정하고, 램타이밍도 조이기 시작하면 그것만 해도 설정할 게 4가지 입니다. 덤으로 잘 신경쓰지 않는 부분까지 뜯어고치기 시작하면 수십개의 숫자가 튀어나옵니다. 그리고 당연히, 그것들만 바꿔도 골든 메모리랑 인텔번 24시간은 필수로 따라붙습니다.

제가 오버클락을 하지 않지만 나중에 필요할지 몰라서 관련한 정보를 찾아보았습니다. 우선 오버클락의 정의. 오버클럭 기초/입문: CPU 오버를 하는 이유와 방법, 발열/안정화/순정에 대해에 올라온 설명입니다.

오버클럭을 가장 간단하게 설명하자면, 컴퓨터의 각 부품을 제품이 원래 설계된 속도보다 더 빠르게 작동시키는 것입니다. 오버클럭이란 것 자체는 이처럼 매우 단순하지만, 이 단순한 행위를 하기 위해 많은 작업이 수반되어야 합니다. 더 빠르게 작동하다보니 데이터의 정확도가 떨어지고, 이를 극복하기 위해 더 높은 전압을 인가해 줘야 합니다. 또한 작동속도의 증가와 전압의 증가로 인해 전기소모가 증가하고, 발열 또한 전기소모에 비례하여 증가합니다. 발열의 증가는 그 발열을 해소할 수 있는 냉각성능을 강제하며, 높은 전압과 전류량은 고용량을 지닌 CPU전원부를 요구합니다. RAM의 속도는 CPU의 속도와 밀접하게 연관되어 있기 때문에 CPU의 작동속도를 높이기 위해서는 RAM의 속도도 같이 늘려줘야 합니다. 마지막으로 증가한 전력소모를 감당할 수 있는 넉넉한 용량을 지닌 파워, 전원 공급장치가 필요하게 됩니다. 증가한 전압으로 인해 각 부품들은 지속적으로 전기고문을 받는 상태가 되어 수명이 단축되게 되고, 타들어가는 것을 막기 위해 무턱대고 전압을 높일 수도 없습니다. 단순히 작동속도를 올리는 것 뿐인데, 위에 말한 것들을 전부 신경써야 합니다. 즉, 저런 것들을 전부 관리하고 조절할 수 있지 않다면, 오버클럭을 하지 않는 것이 정신건강과 지갑건강에 좋습니다.

여기서 ‘각 부품’이라는 말에 주목하면 오버클락이 가능한 부품이 CPU만이 아니라 다른 것도 가능합니다. 메모리 오버클럭도 있고 GPU도 있습니다. 같은 글에서 나온 설명을 좀더 인용하겠습니다. 앞서 수율을 언급했는데 조금더 들어간 이야기를 합니다.

2. 오버클럭의 이론적 배경

오버클럭이 가능하다는 건 다시 말하자면 각 부품이 설계된 작동 속도보다 더 빠른 속도로 작동할 수 있다는 것을 의미합니다. 이게 가능한 이유는 수율 때문입니다. 첫째로, 어떤 공장도 부품을 제작할 때 항상 100%의 완성도를 뽑아낼 수는 없습니다. 이로 인해 같은 제작라인에서 나온 부품이라도 실제 작동속도나 메모리 용량에 차이를 지니게 됩니다. 실제로, 같은 라인업을 지닌 CPU의 경우 전부 하나의 공장에서 나오며, 작동속도 테스트를 거쳐 상세 제품명이 결정됩니다. 인텔을 예로 들면, 샌디브릿지 i5는 전부 하나의 공장에서 나옵니다. 이제 나온 CPU를 테스트 해보고 작동속도가 출중하게 나오면 i5-2500이 되고, 속도가 그저 그렇게 나오면 i5- 2400, 안 좋게 나오면 i5-2300, 몹쓸 작동속도가 나오면 용광로로 보내서 녹여버립니다. 하지만 이 과정을 거친다고 하더라도, i5와 i3는 기본적인 코어 디자인에 차이가 있기 때문에(i5: 쿼드코어, i3: 듀얼코어+하이퍼스레딩) 몹쓸 i5라고 하더라도 i3가 되지는 않습니다. 둘째로 위에도 잠깐 설명한 내용인데, 아무리 정상적으로 작동하는 것으로 보이고 부팅이 문제없이 된다고 하더라도, 1+1이 3이 나오는 CPU는 당연히 클럭을 낮추던 용광로로 보내던 해야 하는 물건입니다. 이처럼 같은 공장의 같은 라인에서 같은 재료를 이용해서 만들었는데 CPU의 가격이 다릅니다. 그것도 두 배 이상이나요! 아무튼, 수율은 공장을 오래 돌릴수록 안정화되는 경향이 있기 때문에 신제품 출시 직후 혹은 신공정 적용 직후(스태핑이 바뀐 직후)에 나온 CPU가 오버클럭이 잘 되고, 출시된지 어느정도 흐른 CPU는 오버클럭이 잘 안되는 경향이 있습니다. 예를 들어 E0, E1, E2, E3 스태핑의 CPU가 있다고 하면 E0가 E3보다 오버클럭이 잘됩니다. 또한 C0에서 D0로 스태핑이 바뀌는 경우에는 D0가 오버클럭이 더 잘되기도 합니다.

이제 본격적으로 들어가죠. 우선 어떤 CPU가 오버클락이 가능할까요? 인텔 CPU를 기준으로 하면 모델명 마지막에 ‘K’가 붙어 있으면 가능한 제품이라고 합니다. 예를 들어서 Core i9-9900KS은 오버클락이 가능합니다. Core i9, i7, i5 및 i3의 일부제품들군에서 K를 사용하고 있다고 합니다. 그러면 보드는 어떤 것이 가능할까요? 역시나 단순합니다. Intel Chipset의 이름 처음에 Z가 들어간 제품이면 가능합니다. 요즘 자주 보았던 Asus ROG Maximus XIII Hero Z590처럼 Z590인 보드라 오버클락을 지원합니다. 덧붙여 보드의 전원공급과 관련한 voltage regulator module (VRM)이 있어야 한다고 하네요. 앞서 소개한 Asus ROG Maximus XIII Hero Z590의 설명을 보면

열 관리에 최적화된 설계: 확장된 VRM 방열판과 통합형 I/O 커버, 고 전도성 써멀패드, 백 플레이트가 내장된 쿼드 M.2 히트 싱크 및 ROG 워터 쿨링 존으로 열 관리에 최적화된 설계

라는 표현이 등장합니다. 여기에 오버클락이라는 뜻이 열심히 일한다는 말이므로 전원공급장치의 전력이 충분해야 하고 발열도 고려하여 냉각장치도 선택을 잘해야 합니다. 열 때문에 CPU가 정상적인 동작을 하지 못하는 경우가 발생합니다.

다음은 제일 중요한 BIOS입니다. Bios를 이해하기 전에 CPU의 구조를 먼저 살펴봅니다. 앞서 인용글이 출처입니다.

3. CPU 구조의 이해(1) – FSB 혹은 BCLK

CPU의 클럭은 FSB에 배수를 곱한 형태입니다. FSB는 Front-Side-Bus의 약자이며 FSB는 CPU와 노스브릿지, 램을 연결하는 통로입니다. 물론 현재는 노스브릿지를 없애고 램과 CPU를 직접 연결했으며, FSB라는 용어도 BCLK(베이스 클럭, 인텔에서는 QPI 호스트 클럭이라고도 부릅니다)로 변했지만 어쨌든 CPU와 램은 둘다 FSB를 사용하고 있습니다. 그로 인해서 CPU의 FSB의 클럭을 높이면 램의 FSB도 같은 비율로 향상되게 됩니다. 예를 들어서 설명하자면, 인텔의 QPI 호스트 클럭은 133MHz로 설정되어 있습니다. 이에 비해 흔히 사용하는 DDR3 램의 FSB는 166MHz입니다. 이러한 기본 설정을 가지고 있기 때문에 메모리 컨트롤러는 CPU의 QPI 호스트 클럭과 램의 FSB를 3:4의 비율로 설정하게 됩니다. 이 설정을 건드리지 않고 바로 CPU의 FSB를 200MHz로 올려버린다면 DDR3 PC10600(1333MHz) 램의 경우 2133MHz로, 같은 비율로 오버가 되게 됩니다. 이렇듯 CPU를 오버할 때에는 일반적으로 FSB를 높이기 때문에 오버가 잘 되는 램을 구하던가, FSB 비율을 3:4에서 5:6(이 경우 램은 1920MHz)이나 1:1(1600MHz)로 낮춰서 램이 견딜 수 있게 해야 합니다.

 

4. CPU 구조의 이해(2) – 배수

최초의 CPU는 배수가 없이 FSB를 그대로 클럭으로 가져갔습니다. 그러나 CPU가 발전하는 것에 비해 램의 속도가 발전하는 것은 더뎠고, 램과 연결되어 있는 FSB를 무작정 상승시킬 수는 없었습니다. 그로 인해 도입된 것이 배수입니다. 이는 FSB를 상승시키지 않거나 혹은 낮추면서도 실클럭을 높일 수 있게 해줍니다. 이 배수에는 제한이 걸려있습니다. 그도 그럴 것이, 출시될 때 설정된 FSB(QPI 호스트 클럭)가 동일하기 때문에, 배수만 높인다면 상위 CPU로 변신이 가능하기 때문입니다. 예를 들어 i7-920같은 경우 최대 배수는 20배, 최소 배수는 9배로 제한이 걸려 있습니다. 보통 출시될 때에는 최대 배수를 기준으로 작동속도를 표시해서 출시합니다. 즉, 상위 제품일수록 최대 배수가 높다는 의미이고, FSB를 동일하게 올려도 실제 클럭이 증가하는 폭이 크다는 의미입니다. 따라서 인텔의 경우 배수제한을 해제한 프로세서는 더 이상 상위 프로세서가 없는 최상위 프로세서에만 출시합니다. 이례적으로 걸프타운 같은 경우는 생산기간이 길어지고(이건 샌디브릿지-E 프로세서가 늦게 출시된 탓이 큽니다), 지속적으로 수율이 상승해 i7-980X, i7-990X, i7-995X 3개의 배수제한 프로세서를 출시했습니다. 아무리봐도 990은 몰라도 995는 원래 출시계획이 없던 것 같은 네이밍이죠. 아무튼 오버를 할 때에는 배수와 FSB를 올리는데, 배수는 최대치가 제한되어 있어서 대부분 FSB를 올리게 됩니다. FSB를 늘리면 QPI폭도 늘어나고, 램의 FSB도 늘어나기 때문에 같은 클럭이면 낮은 배수에 FSB가 높은 쪽이 성능이 조금 더 나옵니다.

 

옛날 Bios와 요즘 Bios를 비교하면 제공하는 기능이 무척 다릅니다. 생소한 항목이 많습니다. 특히나 CPU와 관련한 부분은 엄청 많습니다. 오버클럭 관련 용어 정리 / BIOS 설정 방법에서 소개한 설명입니다.

오버클럭 관련 용어는 메인보드 BIOS 설정에 필요한 용어 위주로 필수적인 부분만 설명하도록 하겠다.

■ BCLK (Base Clock)
베이스 클럭, 버스 스피드라 한다. CPU 배수와 곱하여 프로세서의 클럭을 결정한다. BCLK의 기본값은 100 MHz이다.CPU 클럭은 BCLK x CPU 배수로 결정되며, 가이드에서 진행하는 4.5 GHz 오버클럭의 예를 들면 다음과 같다.

100 MHz (BCLK) x 45배수 = 4.5 GHz

하스웰 아키텍처까지 Uncore 영역에 PCIe와 DMI가 포함되어 BCLK 오버클럭 시 PCIe & DMI 클럭이 동기화되었다. 따라서 시스템이 상당히 불안정한 모습을 보였기 때문에 약 5% 이내로 제한적인 BCLK 오버클럭을 하였지만, 스카이레이크 아키텍처에서는 PCIe & DMI 부분이 별도의 독립된 구조로 되어있어 BCLK 오버클럭 시 PCIe & DMI 클럭이 기본값으로 고정되어 BCLK 클럭의 영향을 받지 않게 되었다.즉, 배수락이 해제되지 않은 Non-K 프로세서에서도 PCIe 클럭은 항상 100 MHz를 유지하면서 높은 BCLK 오버클럭이 가능하다는 것이다.

■ CPU Ratio
CPU 배수를 의미하며, 앞서 언급한 BCLK 클럭과 곱하여 CPU 클럭을 결정한다.

■ Cache (Ring / Uncore) Ratio
캐쉬 배수를 의미하며, 샌디브릿지 / 아이비브릿지 아키텍처에서는 CPU 배수와 캐쉬 배수가 동기화되어 같은 클럭으로 작동하였지만, 하스웰 아키텍처부터 Uncore 영역이 독립화되면서 CPU 배수와 다르게 캐쉬 배수를 별도로 설정할 수 있게 되었다.스카이레이크에서 캐쉬 배수는 CPU 배수와 2~4 배수 차이로 설정하는 것을 권장하며 (예: CPU 배수: 45 일 때, 캐쉬 배수는 41 ~ 43), CPU 배수와 차이가 적을수록 안정화에 요구되는 CPU 전압이 상승하는 특성을 지닌다.

■ Extreme Memory Profile (X.M.P)
테스트를 거친 사전 정의된 인텔 X.M.P 프로파일 (메모리 클럭 / 타이밍 / 전압)을 BIOS에서 로드하여 손쉽게 메모리를 오버클럭하여 사용할 수 있다. 메모리 오버클럭 및 안정화에 걸리는 시간을 상당히 단축할 수 있다.

■ Spread Spectrum
주파수를 분산시켜 주변장치의 고주파나 기타 환경의 간섭으로부터 주파수의 안정성과 신뢰성을 확보하는 기능이다. 기능 활성화 시 다양한 부품과의 전기적 간섭을 줄일 수 있는 장점이 있지만, 자기장을 줄이는 만큼 어느 정도 성능의 희생이 필요한 부분이다. 따라서 오버클럭 시 비활성화하는 것을 권장한다.

■ Load Line Calibration (LLC)
간단히 말하자면, LOAD 시 발생하는 전압 강하 (Vdroop) 를 보정해주는 옵션이다. 옵션 설정에 따라 전압 강하가 일어날 수도 있고, 오히려 더 과한 전압이 인가되기도 하며, 제조사 별로 최적의 옵션 값이 존재한다.또한, 최적의 LLC 옵션 설정을 통해 BIOS에서 인가된 전압이 LOAD 시 얼마나 정확하게 전압을 보정해주느냐에 따라 오버클럭 성공 여부가 판가름 날 만큼 오버클럭에 중요한 영향을 미치며, 최적의 LLC 옵션은 CPU 전압 특성에 따라 유동적으로 변할 수 있으므로 BIOS에서 얼마나 세밀한 단계로 LLC 값을 설정할 수 있도록 옵션을 제공하는가도 매우 중요하다고 할 수 있다.

■ CPU Core/Cache (Ring, Uncore) Voltage
CPU & 캐쉬 전압을 조절할 수 있는 옵션으로 오버클럭 시 가장 기본이 되는 옵션 중 하나이다. 스카이레이크 아키텍처에서는 CPU 전압과 캐쉬 전압이 동기화되어 있으므로 CPU 전압 설정 시 자동으로 캐쉬 전압이 동기화된다.오버클럭 시 권장값은 1.2V ~ 1.4V 이내의 값이며, 0.05V 단위로 조절하는 것을 추천한다. 또한, 고클럭, 고배수로 갈수록 높은 CPU 전압과 발열이 수반되므로 고성능의 CPU 쿨러가 필수다.

■ CPU PLL (Core PLL, VCC PLL) Voltage
해당 옵션은 클럭제네레이터에 전압을 공급하여 높은 BCLK 클럭을 도달할 수 있다. 높은 BCLK 설정을 위해서는 낮은 FCLK 주파수와 높은 CPU PLL (Core PLL, VCC PLL) 전압이 필요하며, 1.2V ~ 최대 1.5V 사이의 전압에서 설정하는 것을 권장한다.

■ VCCIO / VCCSA Voltage
VCCIO 전압은 프로세서 I/O 전압 설정, VCCSA는 System Agent (메모리 컨트롤러, PCIe, DMI 등의 Uncore 영역) 전압 설정으로 두 옵션 모두 고클럭 메모리 오버클럭에 중요한 역할을 한다.일반적인 오버클럭에서는 제조사 권장값 (Auto) 을 권장하며, 고클럭 오버클럭 시 1.25V 이하의 범위에서 설정하는 것을 권장한다.

■ PCH Voltage
칩셋 전압 설정으로 배수락이 해제된 K 프로세서에서는 배수 오버클럭이 더욱 수월하므로 제조사 권장값 (Auto) 으로 설정하는 것을 권장하며, BCLK 오버클럭 시 1.15V 이하의 전압에서 설정하는 것을 추천한다.또한, PCH 전압을 과하게 설정할 경우 SATA 포트 및 M.2 슬롯의 고장 원인을 가져올 수 있다.

■ DRAM Voltage
메모리 전압을 조절할 수 있는 옵션으로 DDR4 메모리의 기본전압은 1.2V 이다.X.M.P 지원 메모리 사용 시 저장된 프로파일에 따라 자동으로 전압값이 설정되며, 일반 메모리로 오버클럭 시 1.35V 이하의 값을 설정하는 것을 권장한다.

■ Long / Short Duration Power / Current Limit
오버클럭 시 전력 제한 (Power Limit)의 설정값보다 소비전력을 초과하게 되면, LOAD 시 배수가 하락 (스로틀링) 하는 현상이 발생할 수 있다. 보통 고클럭, 고배수 오버클럭에서 LOAD 시 배수가 하락하여 관련 옵션을 설정해주는데 4.5 GHz와 같은 일반적인 오버클럭의 경우 제조사 권장값 (Auto) 이 실제 필요로 하는 전력보다 낮게 설정되어 있는 경우 발생하기도 한다.

배수 하락 증상 발견 시 다음의 옵션에 대해 프로세서의 소비전력을 고려하여 설정해주면 된다.

4.5 GHz 오버클럭의 예시

– Long Duration (Package) Power Limit(W): 180 ~ 200
– Short Duration (Package) Power Limit(W): 150 ~ 180
– CPU (Core) Current Limit(A): 150

고배수, 고클럭으로 갈수록 각각의 옵션에 대한 최대값을 소비전력보다 더 넉넉하게 설정해주면 된다.

■ 전력 관리 옵션
전력 관리 옵션에는 EIST / Intel Speed Step, CPU / Package C-State (C1E, C3, C6/C7, C8)와 같은 옵션이 있으며, 전력 관리 옵션은 안정화 전압에 영향을 미칠 수 있기 때문에 안정화 테스트 단계에서는 비활성화시키는 것을 권장한다. 안정화 이후에는 C1E 옵션 정도만 활성화하는 것을 추천한다.단, 배수와 전압이 고정되는 Fixed (Override) 모드가 아닌 Adaptive 또는 Offset 모드로 오버클럭을 진행하는 경우 전력 관리 옵션을 설정하도록 하자.

How to Overclock an Intel CPU: Get the Most MHz from Your Processor로 된 자료를 보면 같은 항목도 있고 다른 항목도 있습니다.

  • Base Clock (BCLK) – The frequency at which the processor communicates with the memory and PCIe devices. The default BCLK for Intel chips is 100 MHz, but you can adjust this for smaller incremental performance increases. However, be aware that adjusting the base clock also impacts the PCIe and memory busses. As such, you should refrain from adjusting your BCLK until your overclock is stable. Even then, it would be best if you did so sparingly.
  • CPU Multiplier – Dictates the ratio between the CPU and the BCLK. The formula to determine the processor’s frequency consists of multiplying the base clock by the CPU multiplier. For example, a processor with a 100 MHz BCLK with a multiplier of 40 will operate at 4,000 MHz, or 4 GHz.
  • CPU Core Ratio – Lets you choose whether you want to set the multiplier for all the cores in a group, or individually. The latter is referred to as per-core overclocking, and it allows you to tune individual cores to their highest potential instead of the lowest common denominator. This approach can also allow you to squeeze at least some overclocking headroom out of systems with lesser coolers.
  • Vcore – This voltage goes by many names, like Core Voltage or vCore, but it always represents the motherboard’s main input voltage to the processor. This value has the most direct input on thermals, with higher amounts of voltage generating more heat.
  • Voltage Mode – Auto lets the motherboard decide the voltage to apply to the processor while ‘Manual’ or ‘Override’ allows you to assign a fixed Vcore. Offset mode adds a specific amount of voltage to the processor regardless of the frequency, while Adaptive voltage increases the voltage when the processor operates in turbo mode.
  • AVX Offset – A separate multiplier that can adjust the processor frequency when it executes AVX workloads. AVX instructions yield massive speed-ups, but these instructions also generate more heat and consume more power than other types of instructions, which can lead to system instability during overclocking. Most garden-variety software and games do not use AVX instructions, so dialing the AVX offset back to reduce the core frequency during these taxing workloads is critical to attaining peak performance in non-AVX applications.
  • Load-Line Calibration (LLC) – Sometimes, typically when the processor is first placed under load, the CPU doesn’t receive the amount of voltage set by the user. This condition is caused by voltage droop (Vdroop) and it can result in either lower or higher voltages than intended. Load-line calibration basically compensates for Vdroop by assuring that voltages remain on an even keel. There are multiple LLC options in most motherboards, but Auto typically suffices for most users with higher-end (or newer) motherboards.
  • Intel SpeedStep – Feature that increases or decreases processor speed and voltage according to system load.
  • Uncore – Regulates the frequency of the different controllers on the processor like the L3 cache, ring bus, memory controller, etc.
  • FCLK – Controls the speed at which data is passed from the processor to the graphics card.
  • VCCSA – Voltage for the System Agent. Increasing this voltage can help stability when overclocking the ring bus and cache frequency.
  • VCCIO – Voltage for the memory controller and shared cache.
  • Extreme Memory Profile (XMP) – Enables the XMP profile on compatible memory kits. XMP profiles apply pre-validated memory overclocks by simply toggling the feature on in either the BIOS or a software overclocking utility.
  • How to Overclock


    Before you begin overclocking, always be sure to establish baseline measurements of both performance and CPU thermals. This will allow for an easy comparison of how much impact an overclock has on both CPU heat and performance. Overclocking can be a balancing act that requires a few compromises. This data helps you gauge the acceptable tradeoffs for the amount of performance you gain.

    1. Enter the BIOS or open software overclocking utility. Our tutorial on accessing the BIOS explains how, but for most desktop PCs, hitting the Del key on your keyboard as soon as you see the motherboard logo pop up on your monitor works. You can also use a software-based overclocking utility, like Intel XTU, to adjust many of the same parameters.

    2. Set the CPU multiplier to your desired overclock. You can choose to apply an ‘all-core’ overclock, meaning that all cores will operate at the same frequency, or on newer Intel processors, assign different frequencies for individual cores. You can also overclock via the ‘Turbo Ratio,’ which allows the CPU to boost to different overclocked frequencies based on the number of active cores.

    There are two various approaches to this step — You can gradually increase your processor’s frequency using 100 MHz increments until you’ve hit the wall, or you can set the desired frequency and work your way up or down from there.

    3. Adjust CPU Voltage (Vcore). We suggest starting with a low Vcore (1.25V or lower) as the starting point and then working your way up if your system isn’t stable at your desired frequency. Maximum voltage thresholds vary based on the generation of the Intel processor you’re overclocking. However, a general rule of thumb is not to exceed 1.40V for 9th-Gen and newer processors unless you’re using exotic (sub-ambient) cooling. Higher voltages will result in faster chip degradation.

    There is no magic formula when it comes to overclocking. If you want to pinpoint the exact voltage for stability, use small increments of 0.01V. If you’re not the patient type, you can work with higher increments, like 0.05V.

    Be aware that temperatures will rise, and frequency improvements will decline, on a non-linear basis with voltage increases. That means you’ll get less of a return in exchange for more heat as you work your way up the voltage scale. We suggest not using the borderline voltage for stability. Overclocking isn’t a precise science, and hardware is unpredictable.

    4. Configure the voltage mode to the selection of your choice. We suggest using a static (override) voltage mode until you’ve dialed in your overclock. After that, you can try other modes. Adaptive mode is often popular because the Vcore decreases with the multiplier, which will make the processor generate less heat and consume less power.

    5. Set the AVX offset to -1 or -2 to reduce the multiplier when your processor engages in AVX workloads. AVX workloads hit the processor hard and, as a result, require more voltage to achieve stability. It isn’t uncommon to see high overclocks accompanied by -3 or -4 offsets.

    6. Set the LLC.  Some motherboard brands prefer to use numeric values to determine the LLC level while others use non-numeric values. For the average user, a medium value should be more than enough. You can experiment with the different values to see which works best for you, though.

    Newer-generation motherboards, particularly higher-end models, tend to adjust this setting automatically with precision. Unless you’re chasing the highest of overclocks, you can often leave this setting unaltered.

    7. Set Intel SpeedStep to enabled or disabled. It’s your call if you want your processor to always run at the overclocked frequency, or downlock when it’s idle. If you leave SpeedStep enabled, be aware that the ‘High Performance’ Windows power plan will not allow the processor to downclock during idle periods. You’ll need to use ‘Balanced’ or a lesser power plan to enable downclocking.

    8. Boot your system to see if it starts. If the system is unstable, continue tweaking the Vcore until you find stability. Cycle through the stability tests below to find your maximum core overclocks.

    9. Enable XMP to automatically set up your memory modules to run at their advertised speed. If you’re running faster memory, make sure your system is stable before overclocking the memory. You want to avoid guessing if future system instability is caused by the memory overclock or the processor overclock.

    2.
    이상과 같은 개념을 머리속에 넣고 실제 오버클락을 합니다. 앞서 인용한 오버클럭 기초/입문: CPU 오버를 하는 이유와 방법, 발열/안정화/순정에 대해을 보면 자세한 절차를 정리해놓고 있습니다. 여기서 가장 중요한 부분은 “검색을 시작합니다“라고 한 부분입니다. 앞서 말한 바와 같이 오버클럭은 정답이 없습니다. 스스로 해보는 것외에 방법은 없지만 다른 분의 경험은 도움이 됩니다. 그리고 반복입니다. 반복에서 핵심은 시험입니다. 부하를 주어서 정상적인 동작을 하는지를 확인합니다. 이 때 필요한 소프트웨어가 부하주는 프로그램 및 모니터링 프로그램입니다. 먼저 스트레스프로그램입니다. How to Stress-Test CPUs and PCs (Like We Do)에서 소개한 내용입니다.

  • Intel XTU
  • Prime95
  • Intel Burn Test
  • AIDA64
  • HandBrake
  • ROG RealBench
  • 다음은 모니터링소프트웨어입니다. 보통 CPU-Z를 표준적으로 사용합니다.

  • CPU-z
  • HWMonitor
  • AIDA64
  • HWiNFO64
  • Core Temp
  • Real
    Temp
  • 오버클락과 관련한 두가지 방법이 있는 듯 합니다. BIOS에 따라 다르지만 최근 BIOS는 Per Core 방식과 All Core방식이 가능합니다. 여기서 제가 고민한 지점은 하나더 있습니다. CPU가 제공하는 모든 Core를 다 사용할 필요는 없습니다. 매매전략에 따라 다르지만 HyperThreading을 하지 않고 사용가능한 Core중 1/2 정도로도 가능할 수 있습니다. 만약 이 때 All Core로 했을 때 얻을 수 있는 숫자보다 높은 숫자를 얻을 수 있다면 시험해볼 가치가 있지않을까요? 이를 위해서 BIOS에서 Disable을 설정하면 가능합니다. Linux의 경우 Kernel Parameter로 maxcpus 혹은 nr_cpus를 사용할 수 있습니다.

    nr_cpus — Maximum number of CPUs (2-255)
    max_cpus — Maximum number of CPUs to use.

    그리고 특정한 Core를 사용하지 않을 경우, disable하고자 할 경우 아래와 같이 할 수 있습니다.

    # echo 0 > /sys/devices/system/cpu/cpu3/online
    # echo 0 > /sys/devices/system/cpu/cpu2/online
    # echo 0 > /sys/devices/system/cpu/cpu1/online

    3.
    제가 보통 이상과 같은 일을 하지 않습니다. 고객이 전문업체에 발주한 서버를 받아서 리눅스를 설치하고 확인하는 과정만 담당합니다. Low Latency와 관련한 자료를 찾아보면 Kernel Tuning을 하라고 합니다. 이 때 등장하는 것이 intel_pstate입니다.

    The intel_pstate CPU power scaling driver is used automatically for modern Intel CPUs instead of the other drivers below. This driver takes priority over other drivers and is built-in as opposed to being a module. This driver is currently automatically used for Sandy Bridge and newer CPUs. The intel_pstate may ignore the BIOS P-State settings. intel_pstate may run in “passive mode” via the intel_cpufreq driver for older CPUs. If you encounter a problem while using this driver, add intel_pstate=disable to your kernel line in order to revert to using the acpi-cpufreq driver.

    RHES의 Low Latency Guide를 보면 다음과 같이 설정하라고 합니다.

    • intel_pstate=disable prevents the Intel idle driver from managing power state and CPU frequency.

    intel_pstate CPU Performance Scaling Driver은 intel_pstate와 관련한 CPU Performance Scaling을 설명하는 글입니다.

  • Scaling governors implement the algorithms to compute the desired CPU frequency, potentially based off of the system’s needs.
  • Scaling drivers interact with the CPU directly, enacting the desired frequencies that the current governor is requesting.
  • CPU Scaling이라고 말은 CPU Frequency가 고정이 아니라 필요에 따라 바뀐다는 뜻이고 이를 적절히 통제하는 것이 Governor라고 이해할 수 있습니다. 보통 Low Latency를 목적으로 하는 매매시스템은 CPU 주파수가 최고값으로 항상 일정하길 바랍니다. 여기서 P-State뿐 아니라 C-State를 관리하여야 하는 이유가 있습니다.

    Leave a Comment

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

    이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.