The BIOS Optimization Guide

 






Comment #81

Regarding the Video BIOS shadowing. I turned that off as per the BIOS Optimization guide and suddenly I couldn't change the refresh rate within Win98...

I have a Matrox Millenium and am using the newest Matrox drivers for this card. Just something I think you should be aware of. I'm sured others would hate staring at 60Hz as much as I did!

Otherwise keep up the good work!

Zachary Henkel
http://www.cs.wisc.edu/~zhenkel/


Hello Zachary,

That's certainly a weird problem you have there. The shadowing of the BIOS or the lack of, shouldn't affect the refresh rates at all. You might want to try reinstalling the Matrox drivers or manually set the string value RefreshRate in the registry branch HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Display\000x\DEFAULT\ to whatever you want the refresh rate to be.

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/


Comment #82

Adrian,

I have emailed you on this subject before, but I noted you did not modify your BIOS guide to include an error in information provided to you by someone else (Chris Elkins).

In the PNP/PCI Config. section, under the PnP OS Installed option, Chris states (and you blindly followed his advice, ignoring mine) that for Linux, you need to set PnP OS to No. This is wrong. I had a discussion by email with Chris on this, and when I pointed out some facts to him, I have not heard from him again. Chris seemed to be confused with 'having a PnP BIOS', and the PnP OS setting IN BIOS. He claims to have 'spoken to the Linux community' on this, but when I pressed him on that, he could not tell me who.

The PnP OS installed option ONLY affects ISA PnP cards. It does not have any effect on the initialisation of PCI cards, which happens as a matter of course with a PnP BIOS. Every single Linux distribution I know of uses it's own, well-documented, piece of software for configuring ISA PnP cards. This piece of software is called isapnptools.

The effect that PnP OS option in BIOS has is -
1. If 'Yes', BIOS does NOT attempt to initialise any of your ISA PnP cards.
2. If 'No', BIOS WILL attempt to initialise your ISA PnP cards. Unfortunately, the BIOS is not very good at doing this and there is no documentation or ability to debug things if it does not initialise your cards (e.g., my ABit BX6-2 cannot initialise my ISA PnP AWE64 Gold properly - a very popular motherboard and soundcard, but the BIOS cannot initialise it properly). If you try and run isapnptools after the BIOS has attempted to configure the cards, it will fail. This leaves any ISA PnP cards you have that bios cannot initialise (such as an Awe32/64, SB16, ISA network card, etc) un-initialised and therefore unusable. The isapnptools FAQ points this out, although I have to say it is not worded very well.
To get around this, you need to set PnP OS in the Bios to 'No'. This means Bios does not attempt to configure any of your ISA PnP cards, leaving the Linux utility isapnptools to do it for you, which it does very well - much better than any BIOS can. Although Linux at this time is 'non-PnP', that is not quite accurate as Linux distros provide software that effectively makes it PnP compatible.

With this exception I have found your BIOS guide to be fairly accurate. Might I offer, as an Engineer here at IBM UK with 17 years' experience in these matters, that I would offer you any assistance I can with any BIOS settings you do not know about. I think your page is a very good idea and extremely useful as the BIOS is the first, often critical part in building a PC (which I have been doing outside of my job here at IBM for some years also - lots of satisfied customers, and some with Linux as well - usually with ISA Awe64's, and they ALL WORK). I know it's only one point of your guide, but as Linux gets more popular, lots of people are going to be misled.

If you disagree with my points, I would be very keen for you to reply and tell me why you have not / are not going to update your guide with my information. You must realise there is no point in having a guide if the information in it is wrong.

Regards.

Jonathan
(Gnk. Internal Extn. 23500) Commodity QA Engineering


Hello Jonathan,

First of all, I would like to apologize to you for not posting your contribution to the BIOS Optimization Guide a lot sooner. It's not that I disagree with your points. In fact, I found them to be both logical and most persuasive. I would definitely have posted it much earlier if only I had the time to update the BIOS Optimization Guide.

Just for the record again to all of you :-), I'm not a BIOS writer and thus, no BIOS expert. In fact, all I'm doing here is compiling a guide of all the important BIOS options, attempt to explain what each archaic option means and recommend an optimal setting for each. Thus, I have to rely on help from fellow optimizers and other experts to improve and expand this guide.

Unfortunately, while many people have stepped forward to help, it's inevitable that some make mistakes. We are humans after all. But that's alright with me, as long as we discover those mistakes and learn from them.

Another matter is that because I'm now a full-time student in the Kasturba Medical College here in Manipal, India, the amount of time I can devote to maintain this site and still write credible articles has been severely curtailed. So, you should all expect long delays in replying my e-mails and posting updates quite often. It's not that I don't want to update the site, it's just that there are only 24 hours in a day... :-(

Jonathan, once again I would like to apologize to you for not replying your e-mail and posting the correction sooner. I'll also like to thank you for your correction which I'm sure will be of tremendous help to Linux users out there. I'll try my best to update the BIOS Optimization Guide quicker when corrections come in and I gratefully welcome any comment or help you can render to improve the BIOS Optimization Guide.

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/


Comment #83

Sorry to disagree with a previous caller but disabling the Plug`n`Play-aware OS has no effect on the use of ACPI on either a Windows 2000 system or Windows 98 System.

To enable ACPI on AMI or AWARD base machines that have full ACPI support all you need to do is DISABLE power management. You CANNOT get ACPI to work if APM is enabled as APM and ACPI cannot coexist - this has been confirmed to me by both FIC and Supemicro Support.

To enable support for ACPI in Windows 98 see http://support.microsoft.com/support/kb/articles/Q195/2/18.ASP. Windows 2000 will install ACPI support only at the time of setup (it seems) if Windows 2000 is setup with ACPI enabled (ie APM disabled) and you then try and switch APM on in the BIOS it will invariably crash.

It also seems advisable to ensure that you have the latest version of your BIOS if attempting to run Windows 2000. On the Supermicro boards this needs to be ver 2.1 or higher - it seems vendors are sneaking fixes into their BIOS!!

Let me know if you need any clarification

Alex


Hello Alex,

Thanks for the clarification! I'm revising the BIOS Optimization Guide to reflect those corrections.

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/


Comment #84

Hey.. In your BIOS guide you say:

------------
Ryu Connor <mailto:Hellfire@unspacy.com> confirmed this by sending me a link to a Microsoft article about Shadowing BIOS under WinNT 4.0 http://http://support.microsoft.com/support/kb/articles/q92/7/66.asp. According to this article, shadowing the BIOS (irrespective of what BIOS it is) does not bring about any performance enhancements because it's not used by WinNT. It will only waste memory. Although the article did not say anything about Win9x, it's the same for Win9x as it's based on the same Win32 architecture.
------------

This is not true - Win98 is based upon the Win95 architecture, not the WinNT kernel.

Apart from that, great site. I have mentioned you in the news on our site today. Cheers..

Agg
Overclockers Australia


Hello Agg,

I always thought Win98 was based on a hybrid of Win32 and Win16 architectures. Anyone to confirm or refute this?

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/


Comment #85

Hey, Adrian.

Your guide has been of great benefit to me so far. However, I still have a couple of questions regarding my BIOS. I was wondering if you're gonna do a page on the power management options of the BIOS. I have a BX6R2.0 with the MW (08/30/99) and the ACPI setting doesn't seem to work with Win98, even though I've enabled it via the registry. Is there some sort of incapability with the board or something. Your response will be greatly appreciated. Thanks.

Elmo


Hello Elmo,

I might write a page or two on the Power Management options of the BIOS if I can find enough time.

About your problem, I believe you have to disable APM in the BIOS in order for ACPI to work. Try that and see if that helps solve your problem. Good luck! :)

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/


Comment #86

Hi Adrian,

Very nice BIOS Optimization Guide. I have an ABIT BH6 board and some of the selections in the Softmenu are Enabled, Disabled or Auto. Example, Assign IRQ For VGA can be set to one of these three options. What are the disadvantages of selecting "Auto" for this item? I have the Matrox G200 AGP video card.

Regards,

Yow !!!!!!!!


Hello Yow,

Basically, setting any of the BIOS options to Auto means allowing the BIOS to autodetect and choose a setting for you. Normally, the motherboard manufacturer will wire it so that the BIOS will choose the most appropriate setting for you. So, choosing Auto does not have any fundamental disadvantages.

However, they still leave the other options there for users who need to troubleshoot problems with their hardware or for those who want to eyeball the settings and make sure they are set exactly the way they want them to be.

Hope that helps you some! :)

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/


Comment #87

Hello. Thank you for taking the time to put this information out there for us to use. I have found the information very helpful with the systems I build for a living.

One complaint on the site, however: White text on a black background is not only extremely harmful on the eyes (studies prove this), it makes it next to impossible to see links to pages already visited. I have to use my mouse to select the text in the page so the color reverses just so I can read what's there.

It's very frustrating to use your site for this reason. Please consider a change. Visit sites like www.anandtech.com, www.theregister.co.uk, and others that provide large amounts of information. See how easy it is to read them.

Thanks again,

Lynn


Hello Lynn,

Terribly sorry for the inconvenience. Actually, I first chose black for the blackground because all my friends voted it as the coolest background colour I can have for my website. But after a while, I too discovered the problems with a blackground, including the ones you just mentioned. Unfortunately, because all the pages have been rigged in black, it would be a monumental task to convert them to another background and format.

However, I've been planning for a major revamp of the site with a different look and format. That will take some time (because I'll have to wait for some help from my friends) but it will definitely be forthcoming. Please do try to stand the black background for now, Lynn.

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/


Comment #88

Hi,

Nice piece of work....

I have a query regarding the Master / Slave UDMA setting. My PC boots up displaying both master and slave as UDMA2. I find no reference to this in either of the tables posted in your guide for UDMA or PIO settings. Can you tell me what UDMA2 refers to please? My HDD isn't that old (Quantum Fireball EL 5.1GB), so I'd have thought it read be UDMA33?

Thanks

Gary Lewis


Hello Gary,

UDMA2 is the same as UltraDMA 33. Some BIOS will display this as UDMA33 or UDMA/33 as well as your UDMA2.

Hope that helps you some! :)

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/


Comment #89

Hi,

Regarding your BIOS Guide, there are a couple of incorrect facts there, AFAIK. Now, I don't know that much about PC-specific details here; so, while details may be incorrect, I do believe the "overall picture" is fairly correct.

System & Video BIOS Shadow: Adrien Huviers explanation (Comment #23) seems technically correct, so there should be no memory wasted and the memory should be write-protected. In any case, we're only talking about 96 kB of memory.

System & Video BIOS Cacheable: The statements about wasted L2 cache bandwidth seems very odd to me.

To begin with, certain memory areas cannot be cached, since that would yield incorrect results or even worse things (instability or crashes). Hardware registers is a good example. So, the CPU need to know what to cache and what not to cache, and keeps a table for this purpose (among others).

E.g., making the system BIOS cacheable would only mean that this table is altered somewhat, telling the CPU it should use the cache when accessing these areas (there may be special registers in the CPU that can be used as well, but the net effect should be the same). And the cache is only used to temporarily store data actually accessed by the CPU (well, in reality, it fills a "cache line", 16 bytes or so, and the requested data can be anywhere in that line). If the BIOS isn't used, well, then no L2 cache "bandwidth" is "wasted" either.

So, while enabling these two options might not yield much of an performance boost (except, perhaps, during boot), it should definitively not hurt performance either. And writing to a ROM shouldn't cause a crash either - or rather, cached or not cached shouldn't make any difference.

Video RAM Cacheable: This looks similar to the BIOS cacheable options, but for another (small) memory area. So no L2 cache bandwith wasted here either. And don't tell me the graphics processor knows anything about the L2 cache; it doesn't (the L2 cache is used by the CPU only). Anything else would be plain stupid really, and would make graphic operations (done by the graphics processor) a lot slower.

I looked a little on the Phoneix Project figures, and what I saw only says that Video RAM caching doesn't make any difference. The differences seen are so small that they can easily be explained by random variations or other differences in the test environment.

Magnus Holmgren


Hello Magnus,

A Microsoft article titled Shadowing BIOS under WinNT 4.0 states that shadowing memory under WinNT 4.0 will bring no performance advantage at all and will only waste memory. Because Win98's architecture is based somewhat on the same Win32 architecture as WinNT 4.0, the same result applies to Win98.

Regarding the caching of the System and Video BIOSes, discussions about wasting the L2 cache bandwidth is not odd at all because if you enable the caching of the System or Video BIOS, the processor's L2 cache will be used to cache the System or Video BIOS. And since both of them are hardly used, it will be a waste of the L2 cache's bandwidth just to cache them.

You are correct to say that if the BIOS isn't used, it will not be cached at all. But during bootup, the BIOS will be used and thus, will take up some cache bandwidth. Similarly, changing refresh rates will access the video BIOS and thus cause the BIOS to be cached. This are all the needless caching that we want to avoid. Note that caching the BIOS will not result in a faster booting time because after the BIOS is read, it will then be cached for future use. Thus, only the next BIOS access will be faster but because there will usually be no BIOS access after that, there will be absolutely no performance improvement from the caching of the BIOS.

If I'm not mistaken, because of a linear framebuffer, that section of the video RAM will appear to be part of the system memory and thus cacheable. The purpose, I guess, would be to increase the transfer rate between the system RAM and the video RAM. But like I wrote in the guide, it works much better in theory than in practice. In fact, it slows down the overall performance of the system by wasting L2 cache bandwidth on something that doesn't need caching as much as the system RAM.

I believe in the Optimization of The Intel Celeron 450A and Diamond Viper V330 System, the first sentence of my conclusion went "Well, it's pretty clear that the Video RAM Cached feature and FastVid do more harm than good.". While the differences may not be much, note that they were consistent and thus cannot be explained away as mere variances.

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/


Comment #90

Dear Adrian,

Please indulge me one question. I have thoroughly read your ABIT page and still cannot figure out how to do something. I have 2 BX6R2 mbs and 2 Supramax PCI Winmodems and realize that this could be the root of the problem. About once a week on a cold boot or after a BIOS modification, my boards or Windows 98 don't find my modem and say they have found a new device, PCI serial controller. Usually after a reboot, everything is as it should be. Someone gave me advice to disable COM port 2 in the BIOS and install the modem and HFC modem enumerator there, which I did and may have solved my problem, however what I'd like to do is get my USB, which follows this modem, no matter where I put it, to use an IRQ by itself.

To your knowledge, is this possible, as I've tried everything I can think of with no luck at all. I realize that IRQ sharing is not usually a problem, especially when I use no USB devices, but I've been trying to figure out how to take control of this for some time now. If it won't work, then I can live with that, but if there is a logical way, I'd love to know how. Thanks, in advance for any assistance you might be able to render. Have a nice weekend!

Sincerely,

Rick McKay


Hello Rick,

Unfortunately, there's currently no way in the BIOS to control what IRQ the USB uses. Normally, it should be IRQ 12 unless IRQ 12 has already been taken up by another device. You should try manually setting the IRQ for the PCI slot that holds your PCI Winmodem so that it does not use IRQ12 or IRQ3 (which is usually the default setting for COM2). That may help solve your problem.

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/

Comments?

If you have a comment or two about this article, please post them here.

Thanks for your time and I hope you enjoyed the article! :)

 

 
 

 

 
     
   

 

 
   

 
     
 

                   

 
   

 

 
 
Last Updated 28-11-2001

All trademarks used are properties of their respective owners.
Copyright © 1998-2000 Adrian Wong. All rights reserved.

 
Visit the new Tech ARP @ http://www.techarp.com/ !