AMD K7 계열 CPU의 HLT 명령 켜기 (WPCRSET)


HLT 명령은 CPU가 작동할 필요가 없을 때는 멈췄다가 필요할 때만 작동하게 하게 하는 기능을 한다. HLT 명령이 이용하면 CPU 과열을 막아 수명도 늘리면서 소비전력도 줄일 수 있다. AMD K7 계열의 주기판들은 거의가 HLT 명령이 기본으로 동작하지 않으므로 수동으로 켜 주어야 한다. (바이오스에서 기본으로 켜져 있으면 그대로 쓰면 된다.)
HLT를 활성화하려면 CPUIdle, CPUCool, Rain, Waterfall 등과 비슷한 냉각 프로그램을 실행시키거나 PCI 레지스터 값을 직접 수정해 HLT 명령을 켤 수 있다. K7 계열에서는 WPCRSET 또는 WPCREDIT을 이용해 PCI 레지스터값을 바꾸는 방법을 많이 이용한다.
WPCREdit을 이용하면 레지스터 값을 수정해 바로 적용해서 PC 상태를 지켜볼 수 있다. 수정해도 이상이 없다는 것을 확인하고 나서, WPCRSET로 윈도우가 시작할 때부터 변경된 값을 적용시킨다. 만약 레지스터 값 수정이 잘못되면 윈도우가 부팅이 되지 않을 수도 있으므로 반드시 WPCREdit로 먼저 확인해야 한다. (사용하는 칩셋의 PCR 파일을 불러온다면 이들 값의 의미를 확인하며 작업할 수 있다.)
아래는 알려진 레지스터 값을 칩셋별로 정리한 것이다. 기존값(수정하기 전의 값)은 주기판이나 바이오스 버전에 따라 다를 수 있다. 기존값에서 빨간 색 값을 바꿔 주면 된다.
칩셋 | 번지 (offset) |
기존값 (data) |
바꿀 값 (data) |
---|---|---|---|
AMD760/761 | 62< | B5 또는 B1 | B7 |
VIA KX133/KT133(A) | 52 | 6B | EB |
VIA KT266(A)/333/400 | 92 | 69 | E9 |
95 | 1C |
1E |
|
VIA KT600 | D2 | 69 | E9 |
D5 | 1C | 1E | |
NVIDIA nForce2 | 6F | 9F 또는 0F | 1F |


CPU 온도 보는 프로그램을 실행시켜 놓고 비교해 보면 아무 작업도 하지 않을 때에 HLT 명령이 작동할 때와 작동하지 않을 때의 온도차는 대개 5~20도까지 차이가 난다. 클래식 애슬론부터 애슬론 썬더버드, 듀론, 애슬론XP, 써러브레드, 바톤 등등 K7 계열의 CPU들은 경쟁 제품에 비해 열이 많이 나며, 부하를 걸 때와 걸지 않을 때의 온도차가 적다고 알려져 있다. 하지만 이 작업으로 온도가 30도 대까지 떨어진 CPU 방열판을 만져 본다면 그게 꼭 CPU 탓만은 아님을 깨닫게 될 것이다.
이 방법이 항상 통하는 것은 아니다. HLT 명령 때문에 PC가 불안정해져서 음악이 끊기거나 화면이 갑자기 멎어 버리는 부작용도 있을 수도 있다. 대부분은 CMOS 설정 등을 잘 조율해서 해결되지만, 더러는 포기해야만 하는 경우도 있을 수 있다. 그리고 주기판에 따라서는 주변장치(주로 내장사운드)가 작동 중이면 HLT 명령이 작동하지 않기도 한다. 드물게 레지스터 값이 고정되어 수정이 되지 않을 수도 있다.
덧글을 달아 주세요