The BIOS (Basic Input/Output System) is a small memory chip located on the motherboard containing data that define the system parameters. As some BIOS data are written in a ROM, it is not possible to change them, however, certain parameters are accessible from the BIOS setup, which can be enabled right after start-up, usually by pressing the <F1> or <DEL> key (it may be another key, in which case at start-up you will see a message like "HIT 'DEL' TO ENTER SETUP"). BIOS setup is a sort of "BIOS configuration panel".
The BIOS setup generally takes the form of menus selected using the keyboard (apart from a few rare BIOSes which use a mouse, such as AMI's WIN BIOS, for example, and which present the sections in the form of windows). The parameters are arranged in sections in the form of options for which there are a limited number of choices. However, given the number of options present, the set of all possible configurations resulting from all possible choices of BIOS parameters is huge. In addition, these options are always in English, which prevents those who don't know English from optimising their machines, unless they have a guide ;-)
There is no single type of BIOS. There are several BIOS manufacturers, but the main ones are currently
As we have seen, BIOS configuration allows you to adjust the behavior of the chipset. For example, you can modify parameters such as the data transfer speed between the different components of the motherboard, and the way in which the transfers occur.
However, all the default parameters (i.e. the parameter settings at the time the manufacturer delivered the BIOS) are configured so that any computer using this BIOS will operate correctly without modifying the parameters. In addition, when assemblers (a person or company who assembles PCs) supply a PC, they do not generally optimize the BIOS for you. In fact, for such a company, a PC that is assembled quickly is generally a large amount of money saved, as demand is high. However, these standard parameters are also the least advantageous settings for your configuration.
By optimising your BIOS you can gain up to 50% more power!
However, this operation takes time, as you must not modify all parameters at once. In fact, it is preferable to modify one or two parameters and then boot up the system to make sure it operates correctly. The best way is to use so-called Benchmark software that evaluates system performance by assigning a mark for the tests performed.
It can, in fact, happen that your computer becomes lightning fast but generates a large number of errors (such as bugs or crashes) making it unstable (as in the case of overclocking).
The various BIOSes offer roughly the same features, but their presentation varies from one BIOS manufacturer to another (a single manufacturer usually sticks to the same presentation). You can generally find the following sections:
Video can be slightly accelerated using BIOS configuration.
While it is true that the BIOS ROM contains routines (program lines) specially dedicated to graphic display, the ROM is read byte by byte, which makes access to these data extremely slow. The shadow RAM or video ROM BIOS shadow function allows the content of this ROM (access time on the order of 170 ns) to be copied to RAM (access time on the order of 60ns for SIMM modules, and 10ns for DIMM modules). For your information, the memory area into which the ROM is copied is located between 640KB and 1024KB, called the Adapter segment.
This option is of interest for games and graphic applications running under MS-DOS as they use this ROM.
However, recent operating systems (Windows 95 and 98, Windows NT, OS/2, ...) all have their own video card drivers (graphic display managers), so the shadow RAM (or video ROM BIOS shadow) function can be disabled for recent operating systems that no longer operate under DOS.
In general, as many peripherals have a ROM (whose access time is not the greatest), their contents (if you know the exact address) can be copied to RAM using the ROM BIOS shadow function. However, use of this option is not recommended as most adapter cards now have their own drivers, and modifications could cause problems.
Some BIOS options are unneeded for recent PCs or the use that you make of them (e.g. network options, ...), so it is possible to accelerate start-up by disabling them.
|Anti-virus||The BIOS has a small anti-virus which prevents any writes to the Boot sector of your hard drive. Only the installation of a new operating system requires access to this (very sensitive) part of the disk. It is sufficient to enable the Virus Warning option|
|Recalibration of the floppy disk drive||At each start-up, the BIOS recalibrates the floppy disk drive, which means that it determines if the floppy disk drive is of the 40- or 80-track type. This can be avoided by disabling the Boot Up Floppy Seek option.|
|Cache memory||By correctly configuring the cache memory, the computer performance can be considerably improved. Depending on the machine, it is often helpful to enable the CPU Internal Cache and CPU External Cache options. It is therefore recommended that you run tests with these options enabled and disabled to see which settings yield the best results...|
|Disable the start-up tests to save time||
The RAM tests performed by the BIOS are completely useless. If these options exist, disable them:
Above 1 MB Memory Test
Memory Parity Check Error
Memory Test Tick Sound
On the other hand, you should enable the Quick Power On Self Test option which will accelerate the start-up of your PC.
|Hard drive block mode||Block mode lets the system transfer several sectors at once. Enable the IDE HDD Block Mode option if your disk supports this..|
|Keyboard repeat speed||By enabling the Typematic Rate Setting setting (speed at which the keyboard repeats a character when you hold a key down). The Typematic Rate and Typematic Delay options define the key repetition frequency and the time interval before repetition starts. The values 30 and 250
are optimal values.
|Memory access speed||The DMA Clock option defines the direct memory access speed. The higher the value, the better the results. This value must be increased slowly until you find the optimal setting (which will depend on your motherboard).|
|Memory performance||Enable the DRAM Fast Leadoff and <strong>DRAM Posted Write Buffer options
Set DRAM Read Burst to the lowest value supported by your PC.
|PCI performance||Enable the CPU to PCI Posting, PCI Burst and PCI to CPU Posting options which allow you, respectively, to create buffer systems for the data sent by the CPU to the PCI bus, transfer more data simultaneously and manage a PCI to CPU buffer.|
|AGP performance||The AGP Aperture Size option lets you define the memory assigned to textures. The higher this value, the faster the memory access. Increase this value step by step until you find the optimal setting.|
|Boot sequence||The Boot sequence option lets you define the order in which the system chooses the drives from which it will boot up. The boot sequence generally starts with the floppy disk drive (sequence A, C), which means that if the system detects a floppy disk in the drive it will verify that it contains a boot sector and then boot from if it finds one, otherwise it will send an error message indicating that the floppy disk is not bootable, or is not a system disk (sample message:
"Non-system disk or disk error, Replace and strike any key when ready").
This option is useless if you have no intention of booting from a system disk. In fact, this option slows computer startup considerably and is very annoying if you are like me and tend to forget floppy disks in the drive. To disable this option, you need to modify the boot sequence (using the PgUp and Pgdown keys), until it is something like 'C, A'. Don't forget to reset the sequence to 'A, C' the day you need to boot from a system disk.
|Auto-detection of disks||Detection of hard drives can take time if you have several hard drives. To save time at start-up, it is recommended that you fix the parameters of your hard drives in the STANDARD CMOS SETUP. If you know the number of cylinders, tracks and sectors per track of your hard drive (these values are generally written on the disk) you can enter them manually, otherwise, you can run automatic hard drive detection (IDE HDD AUTO DETECTION) which will determine these values for you...|
In the area of performance, memory access times are of great importance in the BIOS. By setting these parameters, it is possible to obtain increases of up to 20% with respect to the automatic default configuration.
The parameters related to memory are generally in the "Chipset Features Setup" section. These parameters are:
To modify these values, you first have to disable automatic configuration by disabling the Auto Configuration option (the enabled value assigns the safest settings for all types of memory, and therefore the slowest... however, they should be noted down as they are a starting point). You then need to modify the options, one at a time, and after each test note the previous value so that you can restore it if you see a problem occur after a change.
Why are there different settings for memory?
Because there are large number of memory types, each with different settings.
The DRAM R/W option has two values: the first value corresponds to the number of processor cycles for reading (R), and the second for writing (W). The values are generally X444 for reading, X333 for writing (the lower the value, the faster the memory access, but the greater the risk that your configuration will be unstable. This is why you need to reduce these values gradually, testing them each time).
The FP Mode DRAM Read WS and EDO Read Wait State options characterise the RAM reading synchronization for DRAM and EDO memory modules (they are sometimes called DRAM Read WS, DRAM Read Wait States, ...). This option lets you define the number of wait states with respect to the system bus, as the system bus is sometimes too fast for the memory, which can cause lock-ups.
So, you can try to lower the number of wait states to accelerate the system. If, however, you have problems because you have increased the speed of the system (overclocking) you can try to lower it...
There are also wait states inside the memory modules. As the data are stored in tables, there are two signals:
There are a very large number of refresh options in the BIOS. To understand the concept of refresh, you need to understand how RAM works.
RAM consists of a large number of capacitors which lose their charge over time, which means that the memory gradually loses ... its memory. It therefore needs to be refreshed using small electrical pulses which recharge the capacitors. These pulses last on the order of a millisecond. Now, in a computer, time is marked with respect to a clock frequency. The duration of the refresh intervals is therefore given with respect to the clock frequency ("1 CLK" means one clock tick, while "2T or 3T" refer to the number of processor (CPU) cycles). These values must be a low as possible to achieve good optimization. Each value can generally be lowered by one unit with respect to the value set via auto-configuration.