System Overclocking

To overclock the system, it is necessary to write a ROM module that tunes the chipset for maximum performance. The chipset is configured using special registers located deep inside it and connected to the PCI bus. A description of the registers can be found in the datasheet. This document must contain the " PCI Configuration Registers" section or something of the sort . Comparison of BIOS configuration options available in BIOS Setup and the data available in the datasheet shows that some settings are intentionally blocked by the motherboard manufacturer.

In particular, the 80000064h register of the VIA Apollo Pro 133 chipset controls memory bank interleaving (interleaving has considerable effect on the performance). Most motherboards on the basis of this chipset do not provide such a capability. Is it possible to unlock it?

It is! The PCI bus has two useful ports. Port CF8h contains the address of the chipset register, which is needed for this operation, and data are exchanged through the CFCh port. Most chipset registers are sets of control bits; therefore, before writing anything into the CFCh port, it is necessary to read the current chipset state and set the required bits using OR and AND operations, after which you can write the updated register to its original location.

Assembly code of the BIOS extension that carries out this task is shown in Listing 32.14. Note that this code is intended for the VIA Apollo Pro 133 chipset only. Owners of other chipsets must replace the bold constants according to documentation supplied with their chipsets.

Listing 32.14: BIOS extension that enables interleaving of the DRAM banks
image from book
 MOV EAX,  80000064h  ; Chipset register controlling the DRAM controller MOV DX, 0CF8h         ; PCT port (address of the register) OUT DX, EAX           ; Choose the register. MOV DX, 0cfch         ; PCT port (data) IN  FAX, DX           ; Read the contents of the 80000064h register. OR  FAX,  00020202h  ; Set the bits that enable interleaving. OUT DX, EAX           ; Write the chipset register. 
image from book
 

This module can be implemented as ISA ROM or inserted into the boot block. The main issue here is ensuring that it gains control after BIOS initializes start-up of the hardware; otherwise , the settings that it adjusts will be ignored. After writing the updated firmware into BIOS, you'll notice that the system performance has increased considerably (Figs. 32.6 and 32.7). All other registers missing from BIOS Setup can be edited in the same way. Thus, hardware hackers can overclock their systems to unimaginable speeds.

image from book
Figure 32.6: Memory performance in the default mode
image from book
Figure 32.7: Performance of the memory subsystem after overclocking

Honestly, this isn't overclocking as such. It is simply legally using all possibilities provided by the chipset (undocumented chipset capabilities deserve a separate discussion in another book).



Shellcoder's Programming Uncovered
Shellcoders Programming Uncovered (Uncovered series)
ISBN: 193176946X
EAN: 2147483647
Year: 2003
Pages: 164

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net