Your computer's most fundamental system settings are stored in its BIOS. Modifying them can help increase performance and eliminate glitches, but it's not something to approach lightly...
The Basic Input Output System, or BIOS, is a small piece of software which boots the PC and provides an interface between the hardware and operating system. It's located in a Flash Memory chip on the motherboard, and is where you (or the PC supplier) set up the motherboard and expansion card parameters, the hard drive and CD-R/W operating modes, CPU speeds and RAM timing.
In the past I've advised against fiddling about inside the BIOS, since you can cause huge problems if you don't tread carefully, and in some cases can even prevent your PC from booting up at all afterwards. However, if you intend to install a new motherboard, or build your own PC from scratch, you will certainly need to understand a significant proportion of the options, and more and more musicians seem to be taking this approach.
Every BIOS has a set of default values, but these won't know about your hard drives or CPU speed, so a few at least have to be altered by hand the first time the PC is switched on. Some of the defaults also tend to be quite conservative, to ensure reliable performance with every machine. Thankfully most PCs arrive with suitable BIOS settings, but it sometimes only takes one oversight to significantly reduce performance, so it's worth knowing what's what just to reassure yourself that the main settings are as they should be.
Some suppliers do take the time to tweak some settings, either to customise the machine for a particular application (disabling an onboard soundchip in favour of a more professional soundcard in a musician's machine for instance), or to improve overall performance, but it's often possible to squeeze yet more out of your PC if you know what you're doing.
Tweaking the BIOS may improve the performance of your PC, sometimes by a significant amount, but it's important to be able to return to the previous settings in case something goes wrong. Most BIOS programs offer a Load Setup Defaults option, or sometimes both Fail-Safe Defaults and Optimized Defaults, but neither of these are likely to match your current settings, and will therefore require at least some manual tweaking.
The safest thing is to print out a hard copy of each BIOS display screen onto a separate sheet of paper before making any tweaks. I used to do this using the Print Scrn key, but sadly the BIOS knows nothing about USB or FireWire devices or expansion cards, so unless you have a parallel-port printer you're probably out of luck. You could instead write down the 'factory supplied' settings by hand, or photograph each screen display (your PC can't run any screen-grab programs when in the BIOS). All three methods provide a handy reference when you're making further adjustments.
However, the various BIOS settings currently used by your PC are stored in a small CMOS memory chip, so another answer is to save its contents to a file that can subsequently be restored, just like a hard drive image. This beats having to re-enter all the non-default values by hand. Some manufacturers such as Hewlett Packard even have their own dedicated CMOS utilities for restoring machines to their original factory state.
I've found Bios 1.35.1, a freeware utility written by Matthias Bockelkamp, to be useful in this respect. You can download this latest version from www.geocities.com/mbockelkamp; once at a DOS prompt, entering the command 'BIOS S' will save the CMOS data to a file named c:\bios.sav, while 'BIOS R' will restore these values when required.
Once you've chosen suitable settings to match your hardware, performance-oriented BIOS tweaks should normally be carried out like Windows tweaks: one at a time, so that you can gauge what (if any) improvement you've achieved. Blanket changes make it very difficult to do this, and if for some reason your PC starts to prove unreliable or crash, it's far more difficult to retrace your steps.
First of all though, you need to know how to enter the BIOS during the boot-up procedure, as by default all modern PCs continue to the Windows desktop. Some PCs helpfully print a message telling you which computer key to press and when. The most common option is Delete, but Gateway computers seem to use F1, while Compaq machines use F10, and others may use other function keys, Esc, or a combination of Ctrl, Alt and another key. Others are not so forthcoming, but you should be able to find out the correct way from the motherboard manual. If you didn't get one with your PC, you can nearly always download a PDF version from the manufacturer's web site.
Each motherboard manufacturer licenses a version of one of the popular BIOS types available from a handful of BIOS manufacturers (AMI and Phoenix/Award are the most popular), and has it specially tweaked for each model of motherboard. This means that some of the entries in your BIOS will be labelled differently from mine, perhaps because yours uses a different CPU, associated chipset, and type of RAM, while other parameters may be deliberately excluded as options by the manufacturer. As a consequence, there's no point me slavishly documenting each and every parameter: instead, I'll concentrate on those that it makes sense for you to check and possibly change.
All BIOS Setup programs display their information across various pages, normally starting with a Main Menu containing all the basics like System Date and Time, floppy, hard drive and optical drive information. From this you can reach various Advanced menus which include CPU and buss parameters, Chip Configuration for altering RAM, PCI and AGP values, and I/O Device Configuration for dealing with onboard sound and graphics, serial, parallel and USB ports.
A separate page for PCI Configuration lets you allocate and reserve IRQs, while the Power page deals with Power Management and any Hardware Monitoring of the various motherboard voltages and temperatures. There may also be a separate Boot menu to control the order in which the PC accesses your hard, floppy, and CD drives. The dozens of options may be a bit overwhelming at first: don't be tempted to change any setting until you've saved the current ones for posterity (see Saving & Restoring BIOS Settings box), just in case anything goes wrong.
As mentioned in the main text, altering some BIOS settings, particularly those for CPU speeds and RAM timing, may prevent your PC booting up at all. While most motherboards will recover from invalid clock settings, and revert to standard parameters by powering down and then back up, or in some cases by pressing a special key while powering up, some RAM timings may even prevent you reentering the BIOS to revert to the previous value.
The first time this happens it can be frightening, as your monitor screen will simply go blank, but it can usually be dealt with by clearing your user settings out of the tiny battery-backed-up CMOS memory chip and replacing them with the default values. Many motherboards provide a jumper to clear CMOS memory (read the manual carefully for instructions on how to use it, since you'll probably need to switch off power and standby power before doing so). Failing this, the desperate user could try physically removing the motherboard battery, although it can sometimes take an hour or two for the CMOS contents to disappear using this approach.
Once your CMOS has returned to its default parameters, you should be able to restore any settings that were previously altered, either by hand if you have a hard copy to refer to, or by using the restore function of a DOS utility like Bios 1.35. This approach can also be used to overcome that most frustrating of situations where your BIOS is protected by a password. I've known a few companies that deliberately prevent their customers gaining access to the BIOS by employing a secret password, to avoid them messing anything up.
Bios 1.35 also offers to extract your password from its encrypted form with the BIOS. However, even if this doesn't work, as long as you know all the current settings and can restore them, clearing the CMOS will let you get back in, since it clears the password as well.
One of the BIOS's main tasks is to check the connected hardware each time you boot up, including your hard and floppy drives, any CD-R/W and DVD drives, expansion cards, and so on. If there's any integral motherboard device that you'll never use, such as an onboard soundchip, LAN controller, serial, parallel or USB port, it's worth seeing if it can be disabled inside the BIOS's Integrated Peripherals page, so that it doesn't use an IRQ that could perhaps be better employed elsewhere. This will also speed up the boot process slightly. You may also have the option to disable the IDE controllers that are in charge of your drives, although unless you buy a separate IDE Expansion card with better performance, there's little reason to disable the onboard ones.
Most specialist music retailers use this 'selected disabling' technique to enable them to use a range of motherboards without comprising music performance. If you have a multi-boot system and only want to disable unnecessary devices for your stripped-down music partition, you can instead use Device Manager's 'Disable in this hardware profile' switch to ignore individual devices once inside Windows.
One setup process that many musicians will face is the installation of a new hard drive. I discussed the choice of suitable drives, IDE channels, drive cables and operating modes in SOS April 2002, but in most cases the BIOS aspect is fairly easy. Most motherboards offer four IDE connections (Primary Master, Primary Slave, Secondary Master and Secondary Slave) which have default Auto options in the BIOS that automatically detect your various IDE hard drives, CD-ROM, CD-R/W or DVD drives every time you switch on your PC. If you change these entries to User or Manual they should still use the existing auto-detected settings, but shave some time off the booting process. Only if you install a new drive will you need to change them back temporarily. Another way to ensure the fastest performance from hard drives is to make sure any entry labelled 'HDD S.M.A.R.T. Capability' or 'SMART Monitoring' is set to disabled. Self Monitoring Analysis and Reporting Technology allegedly allows a drive to report when it thinks it may fail, but even when properly set up this will impose a slight extra overhead on the hard drives and degrade performance slightly.
You can also speed up booting time by checking that the Quick Power On Self Test (POST) is enabled: this will bypass various memory tests that only really need to be done on the first ever boot after building a new system, or if you're troubleshooting.
Boot Up Floppy Seek checks whether the floppy drive has 40 or 80 tracks; since all models manufactured nowadays have 80, it's superfluous and should be disabled to shave a couple of seconds off boot time. Moreover, few musicians ever need to boot their PCs up from a floppy drive, so you can also save even more time during boot-up by making the C drive the first device in the boot sequence. Your BIOS may offer this as a selection of drive sequences such as 'A, C, D', or 'C, D, A', in which case you should choose an option beginning with 'C'. Alternatively, it may provide a dedicated section where you can enter a specific device for positions 1, 2, 3, and 4 in the boot sequence. If position 1 is dedicated to a Removable Device (normally your floppy drive), just set this to disabled.
Like all software, it's possible for a BIOS to contain bugs, but thankfully these don't tend to be earth-shattering. When updates are released, they normally add support for new CPU types, add tweaks to improve performance with specific hardware items, or improve performance slightly.
Many people assume that if a newer version BIOS appears for their motherboard, they should immediately use the downloadable file to overwrite, or 'flash', their current BIOS. However, if you experience any problem during a flash such as a power cut, it's possible to leave your PC totally unusable, since the system relies on the BIOS to boot up. If this happens, you may have to replace your motherboard, so only upgrade your BIOS if you really need to, or if it really promises something that's particularly useful to you.
Also, make absolutely sure that the file you download is for your particular make, model, and revision of motherboard, since otherwise it may again need retiring to motherboard heaven. Before you start, print out any instructions that accompanied the file, and follow them exactly, step by step. Normally there will be two files involved: the update itself and a flash utility to transfer this data into the BIOS. As you might expect for such a low-level part of the PC, such utilities always have to be run from a DOS command line.
This page contains settings for RAM timing, along with various cache and other options. The most important are probably those for RAM timing: you can tweak these by hand, but the easiest way is to make sure that your Timing is set in the Chip Configuration page to 'By SPD' (Serial Presence Device). The EEPROM on the memory module stores information about its type, size, speed, voltage and bank, which is then read automatically by the BIOS and used to make the most suitable settings. Most motherboards provide this feature, and only if you want to attempt to run your RAM faster than the manufacturer's settings, or you think the modules are being incorrectly recognised or modified, need you change to the 'User Define' setting. If you do, then you'll need to tweak the various settings that follow, such as CAS Latency, RAS to CAS Delay, and RAS Precharge Time.
CAS Latency tends to be the most important performance parameter, since it determines how quickly memory can be accessed. Your system setting will be determined by the slowest stick of RAM in your PC. Many types can be bought in either CAS2 or CAS3 speeds: the faster CAS2 is only slightly more expensive, but can provide a 5 percent improvement to overall performance. Set CAS Latency to 2 for CAS2 memory, and to 3 for CAS3. Although it's more difficult to quantify the improvement when running music applications, you can measure the memory bandwidth directly using a utility like SisSoftware's Sandra Standard 2002, which I recommended in PC Notes May 2002.
Bank Cycle Time (Tras, Trc) will be offered as pairs of values such as '7T, 9T', or '5T, 7T'. Without getting into all the details, with SDRAM and DDR RAM running at 100MHz, this should be set to 5/7, while for 133MHz it will need to be set to either 5/8 or 6/8, depending what options are available.
If you fancy seeing whether your RAM is capable of running with faster than SPD-indicated timings, you should be aware that it's quite possible to prevent your PC booting up at all once you go below a certain setting (see CMOS Clearing box for details on how to recover), so make sure you've written down or backed up your current settings before carrying out RAM timing tests.
Shadowing aims to speed up access times to code stored in ROM chips, by copying it into your system RAM and then redirecting operating system calls there instead. If your PC needs to read this code often enough, shadowing can improve performance. Caching is done inside your CPU, and if enabled uses the Level 2 cache space to temporarily store data for more rapid retrieval. However, the contents of the System BIOS are rarely required after booting has finished, and if stored in Flash ROM, they often load quicker than from RAM anyway, so setting System BIOS Shadow and System BIOS Cacheable to disabled is probably more sensible in most cases, and can occasionally prevent conflicts with other system devices.
There's a lot of conflicting information about the various Video BIOS options on the Internet. Much of it is ancient, with mentions of 386DX processors, and while at that time there were probably benefits in enabling these options, most recent sites seem to agree that modern graphics cards should also have Video BIOS caching disabled, along with the Video BIOS Shadow (which may already be performed by some graphics cards). Video RAM Cacheable should also be disabled, because reading directly from video RAM is now as fast or faster than reading from RAM, and you don't want to waste your L2 cache storing images when running loads of plug-ins.
One unusually-named option may be present on this page: 'Memory Hole at 15M-16M'. This was primarily used in the days of certain ISA expansion cards, and should nearly always be left at its default Disabled setting. However, enabling it may solve a few problems for Creative Labs Soundblaster owners if their soundcard is having conflicts with other devices, causing audio stuttering.
The safest way to alter BIOS parameters is via your machine's BIOS Setup program, since this ensures that your PC boots into Windows with the most suitable settings already in place. However, sometimes you'll find that your particular BIOS Setup doesn't offer a particular parameter option, and in the case of some 'famous name' PCs you may find the options have been restricted to prevent the average user getting into difficulty.
This can be frustrating, particularly in the case of a laptop, where musicians will often benefit from pretty fundamental changes to Power Management and CPU mode settings. Thankfully, all is not lost, since despite the lack of a suitable entry in your BIOS screens, the BIOS chipset will still probably contain the appropriate register, which can instead be directly changed using a suitable utility while running DOS or (more easily) Windows.
The best utility I've discovered that can do this is the freeware WPCREDIT, written by H. Oda, and even if your BIOS includes suitable options, it can sometimes also be used to overclock them beyond the settings on offer. This isn't a recipe for a stable PC unless you really know what you're doing, but sometimes users of specific chipsets will post detailed instructions on enhancing a specific 'hidden' parameter.
TweakBIOS is another freeware utility that lets you alter BIOS settings, this time with a more familiar screen display that mimics that of an Award BIOS. Although this sounds ideal, TweakBIOS has unfortunately not been updated for several years, and therefore sadly doesn't support many modern chipsets. However, if you have an older PC then it's only a 153Kb download.
AGP Aperture size often defaults to 64MB, and is the amount of system RAM shared with the graphics card when it's processing large amounts of 3D data such as textures — it's a sort of overflow video RAM. The more RAM your graphic card has, the smaller the aperture size needed. However, reducing it won't save your system RAM, since it's only used when necessary, and as we know, music applications rarely require 3D graphics. Some experts recommend reducing this to 4MB for music systems to cure some audio crackles, although some graphics cards (ATI models spring to mind) also require at least a 16MB setting to operate properly, and system stability and performance may be adversely affected with lower values. Most musicians should find 64MB the most suitable value, but some Soundblaster owners have solved various lockups and squealing noises by changing this setting, starting with the smallest number available and then trying each larger one in turn until the problem disappears.
Virus Warning should be set to disabled: it alerts the user if anything attempts to access the boot sector or partition table, and while this would seem to be useful, it will interfere with the correct operation of multi-boot utilities like PowerQuest's BootMagic.
If you find an entry called Spread Spectrum Control it should be left disabled, since although it suppresses electromagnetic interference, it does so by FM modulating the PC clock frequency to spread the interference from a single peak to a flatter curve, and this will slightly compromise timing accuracy (particularly it seems with SCSI devices), along with system performance and stability.
Finally, if you find an entry labelled High Priority PCI Mode, it could well benefit a soundcard installed in PCI slot one, although you'll have to check the Interrupt Request Table for your motherboard, which will tell you which slots share their interrupts with other slots or motherboard devices — on my Asus TUSL2-C, slot one shares an interrupt with slot five, so it may be worth shuffling your other expansion cards to keep this unoccupied. Other motherboards may share slot one with the AGP slot, in which case your soundcard should be moved to another PCI slot.
This page lets you set various aspects of the PCI expansion slots. Normally each and every slot will default to the Auto setting, which utilises auto-routing to determine which slot gets which IRQ. However, you can instead choose a specific number if this helps to avoid conflicts, and for the musician this is most likely to be used to force a soundcard to use a specific IRQ. For instance, in the Digital Village PC I recently reviewed, the Echo Mia soundcard had been allocated IRQ9.
Most of the other settings in this page should be left at their default settings, but one is worthy of a closer look: the PCI Latency Timer, which determines the number of cycles a device must wait before accessing the PCI buss again. This should normally be left at its default value (normally 32), but changing it can sometimes solve soundcard crackle and distortion problems with some ALI and VIA chipsets, particularly where Soundblaster cards share a PC with fast graphics cards. Some users have cured their problems by increasing the setting to 64, while others have reduced it right down to zero.
The associated PCI IRQ Resource Exclusion page was often useful in older PCs with ISA slots, to reserve an IRQ for a device that remained invisible to Plug and Play, but it's rarely needed with modern PCs.
Always make sure that your CPU has been correctly set up, since otherwise your PC performance will drop alarmingly. Both the L1 and L2 caches must always be enabled, and you can find these in the Advanced BIOS Features page, or with other processor settings. If you also find an entry labelled 'CPU Level 2 Cache ECC Check', disable this, since the checksum error system may sap your performance by about 1 percent. CPU Frequency should normally be left set at the rated speed of your particular processor, while the front side buss, memory buss, and PCI buss should all be set according to your processor and RAM specs. Most motherboards make this easy with choices such as 133:133:33 or 133:100:33.
However, I couldn't write a feature on the BIOS without mentioning overclocking, since this can provide the biggest increase in performance, primarily by running the CPU at greater than its marked speed. You often gain access to different buss speeds only after setting CPU Frequency to Manual, whereupon various other nonstandard buss ratios will appear as options. Unfortunately, with most motherboard designs, increasing the FSB or memory buss speed has a knock-on effect on PCI buss speed, which once increased beyond its default 33MHz can cause some soundcards to perform badly or even lock the PC up completely. In general, therefore, the PCI buss should always be left as close to 33MHz as possible.
Some people have achieved remarkable results, mainly by choosing specific CPU models that are known to be prime contenders for overclocking, knowing all about tweaking more advanced parameters such as CPU core voltage, knowing when to reduce one setting so that another can be increased safely, upgrading cooling arrangements, and carefully monitoring temperatures after the tweaks (it's possible to burn out both CPU and RAM chips if they overheat). However, unless you really know what you're doing, overclocking may be at the expense of stability, so be prepared to suffer random crashes if your PC is tottering on the brink. One way to expose such weaknesses is to run a software 'torture' test, such as those I mentioned in SOS November 2001. Although there are loads of web sites specialising in overclocking, including www.overclockers.com and www.extremeoverclocking.com, the safest way to proceed is to search out any sites supporting your particular motherboard, as these may be able to provide very specific tweaks, and lots of user feedback about what works and what doesn't. Remember that overclocking is likely to void any guarantee or support agreement you have with your PC supplier.
You may also find an entry labelled Plug & Play O/S or PNP O/S Installed on this page (although it sometimes appears in a separate Boot menu page), and the correct setting for this causes a lot of confusion. You should generally leave this set to Yes or Enabled, so that Windows is allowed to reassign IRQs using its software emulation to get your expansion cards running happily together. Some Asus motherboards also feature proprietary hardware IRQ distribution with their ASIC chip, and if you decide to use this you will also need to leave the setting as Yes so that the BIOS leaves the IRQs alone.
When set to No or Disabled, the BIOS handles these duties instead, which may solve occasional soundcard conflicts where Windows refuses to assign them to your soundcard's satisfaction. You'll also need this setting when you're running a multi-boot system with Linux as one of the operating systems. Anyone running Windows 2000 may also need to do this to avoid a memory error when installing some soundcards including the Lynx One. Indeed, some soundcard manufacturers advise always using this setting, so there's no hard and fast answer.
The ideal situation for a soundcard is to have its own unique IRQ, so that nothing can impact on its performance. However, in general, most soundcards that are fully PCI 2.1-compliant should have few problems sharing an IRQ with another device, as long as it doesn't poll the interrupt at a high rate, in which case there may be a slight performance hit — you should ideally avoid sharing with a USB port, and I have come across warnings about sharing IRQs with graphic cards featuring an nVidia chipset.
When you first install a new soundcard, the BIOS may assign it the same IRQ as a device that refuses to share, and then your PC may not boot up at all. Or, if your soundcard doesn't like sharing interrupts, it may work, but suffer from audio stuttering, particularly at lower driver buffer settings. In both cases the cure is normally to move the soundcard to a different expansion slot, which forces it to be reconfigured, often with another IRQ number; this should resolve booting problems, and may let you run it with smaller buffers, thus achieving lower latency.
If this doesn't work, you could try changing the Plug & Play O/S setting to its other value: it's often difficult to predict how the BIOS and Windows will interact, but this may solve your problem. However, those whose soundcards are funny about sharing will probably benefit more from installing Windows in its Standard rather than ACPI mode, as I explained in SOS March 2002.
Tweaking the BIOS isn't a particularly glamorous activity, but changing an appropriate setting can occasionally boost performance by a significant amount, and often resolve many soundcard conflicts. I've covered the majority of parameters likely to be useful to the PC musician in some depth here, but I can't claim that this feature provides an encyclopaedic description of each and every parameter on offer.
If you're searching for more details about a specific function in your particular BIOS, the Internet is as always a mine of information. However, be aware that many of the more general sites providing BIOS tweaks have not been updated for years, and may therefore give advice unsuitable for today's much faster hardware. If you can't found out when a particular page was originally posted, you can normally spot the ancient ones by references to Windows 3.1 or 95, MS-DOS, or 386 processors. Also, don't assume that all 'go faster' tweaks are automatically relevant or even necessarily desirable to the musician (particularly where graphics are concerned).
Finally, I must point out that neither I nor Sound On Sound can be held responsible for any untoward effects on your PC after changing your BIOS settings. Just as with any other performance tweaks, you should either jot down the original value, print it out, or back it up before you change it, and then you can nearly always revert to the previous value if anything unexpected happens. If not, then clearing the CMOS and then restoring your most recent settings will nearly always solve the problem, but tread carefully.