ZTEX e.K.
 
Home
 
ZTEX Shop
 
Products
USB-FPGA-Module Series
  USB-FPGA-Module
  Power Supply
  Experimental Board
  Extension Board
  Accessories
USB Module Series
  USB-Module
  Accessories
 
ZTEX EZ-USB SDK
  Overview
  Documentation
  Downloads
  Example
  Release history
  ZTEX Wiki
 
Miscellaneous
  k10ctl
  c2ctl
 
Downloads
 
Contact
Impressum
AGB
RoHS
 

k10ctl

Warning

USE THIS PROGRAM AT YOU OWN RISK. IT MAY DAMAGE YOUR HARDWARE.

What is k10ctl?

The main purpose of k10ctl is overclocking and / or "undervolting" the CPU and to configure Cool'n'Quiet settings. In particular

  • It is intended for AMD Family 10h (aka K10) CPU's (e.g. Phenom, Phenom II)
  • It runs under Linux
  • It can modify the P-States, i.e. alter processor and the northbridge frequencies and voltages;
  • set / change the P-State;
  • read out frequency and voltage information

Download

k10ctl.tar.bz2 Source code with a precompiled, statical linked binary.

Requirements

  • A Linux kernel with MSR support (Processor type and features -- > /dev/cpu/*/msr - Model-specific register support) and write access to /dev/cpu/*/msr
  • Read access to /proc/bus/pci/00/18.3
  • Libraries: none (linked statically)
  • For Compiling: Freepascal compiler

Usage

k10ctl <cpu>[-<cpun>]
    Print some information about CPU(s) <cpu>(-<cpun>)

k10ctl <cpu>[-<cpun>] <p-state>
    Set the P-State for CPU(s) <cpu>(-<cpun>)

k10ctl <cpu>[-<cpun>] <p-state> [parameters]
    Configure the P-State for CPU(s) <cpu>(-<cpun>), see below
    
k10ctl <cpu>[-<cpun>] -a
    Print DSDT template for CPU(s) <cpu>(-<cpun>) using P-State MSR's
    
k10ctl -h
    Help

Parameters for the P-State configuration:

  -nv <NbVid>    Nothbridge VID (0..127)
  -nd <NbDid>    Nothbridge DID (0..1)
  -cv <CpuVid>   CPU VID (0..127)
  -cd <CpuDid>   CPU DID (0..7)
  -cf <CpuFid>   CPU FID (0..63)
  -p <mW>        Power dissipation in mW

Meaning of the vid's, fid's and did's

The meaning of the vid's, fid's and did's are described in [1].

The vid to voltage conversion formula depends on whether the mainboard runs in parallel or serial VID interface mode. The interface mode is detected automatically by k10ctl and can be shown using the syntax k10ctl <cpu>[-<cpun>].

In parallel VID interface mode the conversion formula is

  if vid>=64 then U=375 mV
  else if vid>=32 then U=1162.5mV - vid=12.5 mV
  else U=1550mV - vid*25 mV .
In serial VID interface mode it is
  if vid>=124 then U=0 mV
  else U=1550mV - vid*12.5 mV .

The CPU frequency multiplier is computed by

  CpuMult = (CpuFid + 16) / (2^(CpuDid+1)).
The reference clock is usually 200 MHz.

The northbridge divisor is computed by

  NbDiv = 2^NbDid .
NbDid=1 is not supported by all K10 revisions - mainboard combinations.

Examples

k10ctl 0-3
    Prints a lot of information about cores 0-3

k10ctl 0-3 0 -nv 46 -cv 22 -cd 0 -cf 16
    Set NbVid=46, CpuVid=22, CpuDiD=0, CpuFid=16 for CPU's 0-3 and
    P-State 0
    
k10ctl 0-3 0
    Set P-State 0 for CPU's 0-3

k10ctl 0 -a
    Print a DSDT template for CPU 0

References

[1] BIOS and Kernel Developers Guide (BKDG) For AMD Family 10h, http://support.amd.com/de/Processor_TechDocs/31116-Public-GH-BKDG_3-28_5-28-09.pdf


[Home]  [Impressum]   
© ZTEX e.K.