Linux PHC patch (CPU 코어 전압 조절) Part 2

병맛의 이미지

(내용이 길어서 두 개로 나눔)

phc 인터페이스를 살펴 보면 사용하는 CPU 갯수에 따라

/sys/devices/system/cpu/cpu0/cpufreq/
/sys/devices/system/cpu/cpu1/cpufreq/
/sys/devices/system/cpu/cpu2/cpufreq/
......
/sys/devices/system/cpu/cpuX/cpufreq/

까지의 디렉터리의 파일을 건드려 전압을 조절한다. 각각 파일의 역할을 다음과 같다.

------------------------------------------------------------------------------------------
파일명 | 퍼미션 | 기능 | 기타
------------------------------------------------------------------------------------------
phc_controls | 644 | FID:VID pairs/ 또는 설정 | 쓰기 가능
phc_default_controls | 444 | 기본 FID:VID pairs |
phc_default_vids | 444 | 기본 VIDs값 |
phc_fids | 444 | 기본 FIDs값 |
phc_vids | 644 | VIDs값/ 또는 설정 | writable
phc_version | 444 | PHC 버전 |
------------------------------------------------------------------------------------------

VID = Voltage Identifer, 정수값만 사용.
FID = Frequency Identifer, 정수값만 사용.

즉 VID는 전압, FID는 CPU 클럭이라고 보면 된다. 마찬가지로 해당 클럭에서 얼만큼의 전압을 줄지
짝지어둔 게 FID:VID pairs다.

여기서 실제로 건드리는 파일은 phc_vids 뿐이다. VID 값은 이렇게 얻어진다. 센트리노 프로세서의 경우,

{ (실제 전압:단위 mV) - 700 } / 16

코어 듀오나 AMD64는 조금 다르므로 Linux PHC patch Part 3의 덧글 내용을 참고할 것. 이 문서에선
별다른 언급 없이 계속 센트리노 기준으로 계산을 할 것이다.
PHC 0.2.x에선 실제 mV 단위를 적었는데 0.3부터 바뀌었다.

맥북 Core 1 Duo 2.0 GHz의 경우 기본 VID는 44 40 36 32 28 19로 각각

2.00 GHz일 때 1404 mV
1.83 GHz일 때 1340 mV
1.66 GHz일 때 1276 mV
1.50 GHz일 때 1212 mV
1.33 GHz일 때 1148 mV
1.00 GHz일 때 1004 mV

가 기본값이다. FID를 실제 클럭으로 바꾸는 공식은 메뉴얼에 나와 있지 않은데 아무튼 가장 큰 값이 최고 클럭
가장 작은 값이 최저 클럭을 가리킨다. 역시 맥북 Core 1 Duo 2.0 G의 경우

12 11 10 9 8 6

값을 가진다. 따라서 기본 FID:VID pairs는

12:44 11:40 10:36 9:32 8:28 6:19

와 같다.

여기서 phc_vids 파일을 수정하여 각각의 FID일 때의 VID 값을 고치면 전압도 바뀐다.

주의: 코어 듀오, 코어 2 듀오 프로세서는 0.956v 이하의 전압은 사용할 수 없다. 강제로
적용할 수는 있지만 기기에 좋지 않은 영향을 미친다고 여겨진다.

여러 사례에서 0.956v 이하의 값을 주면 에러가 난다고 보고됐다. 글쓴이의 경우는 0.850v
까지도 써봤는데 이유없이 자주 발생하는 오류의 원인이 이 때문이었던 것 같다.

펜-M 프로세서(예: 도선)는 하드웨어가 뻗지 않는 한 최대한 낮춰서 사용할 수 있지만
코어 듀오 프로세서들은 공식적으로 최고 클럭에서의 기본 전압보다 높게 할 수 없고
최저 클럭의 기본 전압보다 낮게 할 수 없다.(하지만 방금 말했듯이 0.956v까지는 가능)

펜-M 프로세서에서의 전압 설정은 젠투 위키쪽 페이지에 테이블로 잘 나와 있다.

-----

패치 파일 안의 init-scripts 디렉터리를 보면 ubuntu, gentoo 디렉터리가 있고 각각의 디렉터리에
etc/phc-config(또는 conf.d)/undervolt 파일과 /etc/init.d/undervolt 파일이 있어

phc-config/undervolt 파일에서 phc_vids 값과 기타 설정을 조작하며
init.d/undervolt 파일이 실제로 작동하는 스크립트임을 알 수 있다.

글쓴이는 데비안을 쓰기에 ubuntu/ 디렉터리의 phc-config/undervolt를 /etc/phc-config/undervolt 파일로
init.d/undervolt 파일을 /etc/init.d/undervolt 파일로 복사했다.

기본 phc-config/undervolt 파일은 맥북 Core Duo와는 다른 CPU의 설정값이 잡혀 있고 CPU도 하나만 조절하도록
되어 있으니 이를 조금 손봐서 써야 한다. 또한 init.d/undervolt 스크립트 역시 마찬가지다. 그리 어려운 일은 아니다.

참고로 패치 파일의 kernel-modules 디렉터리에는 커널 버전 별로 미리 컴파일해둔 모듈이 몇 개 있어 이것을 바로
이용할 수도 있게 해놨다. 하지만 2.6.22 버전은 우뿡투용밖에 없어 직접 커널 컴파일을 했다.

댓글

DebPolaris의 이미지

좋은정보 감사합니다.

--------------------------------------------------------
남이 가르쳐주는 것만 받아들이는 것이 아니라, 스스로 만들고, 고쳐가는 사람을 '해커'라고 부른다.
그리고 자신이 쌓아온 노하우를 거리낌없이 나눌 줄 아는 사람을 '진정한' 해커라고 한다.
-Rob Flickenger 'Linux server hacks'
http://heu

-----------------------------------------------------
남이 가르쳐주는 것만 받아들이는 것이 아니라, 스스로 만들고, 고쳐가는 사람을 '해커'라고 부른다.
그리고 자신이 쌓아온 노하우를 거리낌없이 나눌 줄 아는 사람을 '진정한' 해커라고 한다.
-Rob Flickenger 'Linux server hacks'

DEBIAN TESTING, KDE...
debpolaris.blogspot.kr

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.