Tag Archives: ACPI

PPM Mode from The Tech ARP BIOS Guide

PPM Mode

Common Options : Native, SMM

 

Quick Review of PPM Mode

The PPM Mode BIOS option allows you to change the operating mode of the Processor Power Management (PPM).

When set to Native, the operating system will use its native PPM support to directly control the processor’s performance states and power management.

When set to SSM, the operating system will revert to the ACPI System Management Mode (ACPI SMM), leaving power management to the processor.

If you are using an older operating system like Windows 98 or Windows 2000, you should set this BIOS option to SSM.

You should also select SSM if you are using Windows XP or Windows 2003 in a multi-processor or multi-core environment.

On the other hand, you should select Native if you are using a newer operating system that supports ACPI 3.0. This includes Windows Vista, Windows Server 2003, Windows 7, Windows 2008, and Windows 10.

 

PPM Mode Details

Prior to Windows XP, Microsoft operating systems cannot directly control the processor’s power management. They can only put the processor into its SMM (System Management Mode), whereby the processor would then perform its own power management routines.

Support for ACPI 2.0 processor performance states was first introduced in the Microsoft Windows XP operating system. It finally allowed the operating system to directly control the processor’s power and performance through the Advanced Configuration and Power Interface (ACPI).

However, Processor Power Management in Windows XP is limited to a single processor with a single core and running a single thread. It does not support multi-processor systems, or multi-core processors, or even multi-threading.

Support for multi-processor systems and multi-core processors was eventually added to the ACPI 3.0 specifications. Microsoft Windows Vista was the first Microsoft operating system to offer native support for PPM of multi-processor systems or multi-core processors. This includes systems using processors with multiple logical threads, multiple cores or multiple physical sockets.

[adrotate group=”1″]

This is where the PPM Mode BIOS option comes in. It allows you to change the operating mode of the Processor Power Management (PPM).

When set to Native, the operating system will use its native PPM support to directly control the processor’s performance states and power management.

When set to SSM, the operating system will revert to the ACPI System Management Mode (ACPI SMM), leaving power management to the processor.

If you are using an older operating system like Windows 98 or Windows 2000, you should set this BIOS option to SSM.

You should also select SSM if you are using Windows XP or Windows 2003 in a multi-processor or multi-core environment.

On the other hand, you should select Native if you are using a newer operating system that supports ACPI 3.0. This includes Windows Vista, Windows Server 2003, Windows 7, Windows 2008, and Windows 10.

Go Back To > The Tech ARP BIOS Guide | Home

 

Support Tech ARP!

If you like our work, you can help support our work by visiting our sponsors, participating in the Tech ARP Forums, or even donating to our fund. Any help you can render is greatly appreciated!

OS Select For DRAM > 64MB from The Tech ARP BIOS Guide

OS Select For DRAM > 64MB

Common Options : OS/2, Non-OS/2n-OS/2

 

Quick Review of OS Select For DRAM > 64MB

The OS Select For DRAM > 64MB BIOS feature is designed to correct the memory size detection problem for OS/2 systems that have more than 64 MB of system memory.

If you are using an older version of the IBM OS/2 operating system, you should select OS/2.

If you are using the IBM OS/2 Warp v4.0111 or higher operating system, you should select Non-OS/2.

If you are using an older version of the IBM OS/2 operating system but have already installed all the relevant IBM FixPaks, you should select Non-OS/2.

Users of non-OS/2 operating systems (like Microsoft Windows XP) should select the Non-OS/2 option.

 

Details of OS Select For DRAM > 64MB

Older versions of IBM’s OS/2 operating system use the BIOS function Int15 [AX=E801] to detect the size of installed system memory. Microsoft Windows, on the other hand, uses the BIOS function Int15 [EAX=0000E820].

However, the Int15 [AX=E801] function was later scrapped as not ACPI-compliant. As a result, OS/2 cannot detect the correct size of system memory if more than 64 MB of memory is installed. Microsoft Windows isn’t affected because the BIOS function it uses is ACPI-compliant.

The OS Select For DRAM > 64MB BIOS feature is designed to correct the memory size detection problem for OS/2 systems that have more than 64 MB of system memory.

[adrotate group=”1″]

If you are running an old, unpatched version of OS/2, you must select the OS/2 option. But please note that this is only true for older versions of OS/2 that haven’t been upgraded using IBM’s FixPaks.

Starting with the OS/2 Warp v4.0111, IBM changed the OS/2 kernel to start using Int15 [EAX=0000E820] to detect the size of installed system memory. the memory management system to the more conventional method. IBM also issued FixPaks to address this issue with older versions of OS/2.

Therefore, if you are using OS/2 Warp v4.0111 or higher, you should select Non-OS/2 instead. You should also select Non-OS/2 if you have upgraded an older version of OS/2 with the FixPaks that IBM have been releasing over the years.

If you select the OS/2 option with a newer (v4.0111 or higher) or updated version of OS/2, it will cause erroneous memory detection. For example, if you have 64 MB of memory, it may only register as 16 MB. Or if you have more than 64 MB of memory, it may register as only 64 MB of memory.

Users of non-OS/2 operating systems (like Microsoft Windows or Linux) should select the Non-OS/2 option. Doing otherwise will cause memory errors if you have more than 64 MB of memory in your system.

In conclusion :-

  • If you are using an older version of the IBM OS/2 operating system, you should select OS/2.
  • If you are using the IBM OS/2 Warp v4.0111 or higher operating system, you should select Non-OS/2.
  • If you are using an older version of the IBM OS/2 operating system but have already installed all the relevant IBM FixPaks, you should select Non-OS/2.
  • Users of non-OS/2 operating systems (like Microsoft Windows XP) should select the Non-OS/2 option.

Go Back To > The Tech ARP BIOS Guide | Home

 

Support Tech ARP!

If you like our work, you can help support our work by visiting our sponsors, participating in the Tech ARP Forums, or even donating to our fund. Any help you can render is greatly appreciated!


ACPI 2.0 Support – The Tech ARP BIOS Guide

ACPI 2.0 Support

Common Options : Enabled, Disabled

 

Quick Review of ACPI 2.0 Support

While its name hints that this BIOS feature is a toggle to enable ACPI 2.0 features, this is not the case. Enabling this BIOS feature does not turn on ACPI 2.0. Similarly, disabling it does not turn on the original ACPI 1.0 standard. It disables ACPI completely.

The ACPI 2.0 Support BIOS feature merely determines if ACPI support is enabled on the motherboard chipset level. The name ACPI 2.0 Support merely means that this motherboard supports the ACPI 2.0 standard.

If enabled, ACPI support will be enabled on the motherboard chipset level. If the operating system supports ACPI, it can then use ACPI to configure the hardware, as well as control the system’s power management features.

If disabled, ACPI support will be disabled on the motherboard chipset level. Even if the operating system supports ACPI, it cannot use ACPI to configure the hardware or control its power management features.

It is recommended that you enable this BIOS feature. This allows an ACPI-compliant operating system to fully control the configuration of hardware devices and their power management.

Please note that for Microsoft Windows to run in ACPI mode, it needs to be installed with ACPI enabled in the BIOS. If you switch from ACPI to non-ACPI mode, or vice versa, Microsoft Windows will fail to boot. You need to reinstall Microsoft Windows everytime you switch modes.

 

Details of ACPI 2.0 Support

The Advanced Configuration and Power Interface (ACPI) is an open industry standard jointly developed by Intel, Microsoft, HP, Phoenix and Toshiba. It establishes standards for hardware and software interfaces that allow the operating system to configure hardware devices, as well as manage their power.

First published in 1999, it has since undergone numerous updates. Released in August 2000, Revision 2.0 of the ACPI specifications was the first major specification revision. It boasts of the following changes :

  • 64-bit addressing support added
  • Processor and device performance state support added
  • Numerous multiprocessor workstation and server-related enhancements
  • Consistency and readability enhancements throughout (the document)

For ACPI to work properly, both the motherboard and operating system must support ACPI. This means using Microsoft Windows 98 or newer, if you are on the Microsoft Windows platform. Even so, ACPI may not be enabled if ACPI support is not enabled on the motherboard.

[adrotate group=”1″]

While its name hints that this BIOS feature is a toggle to enable ACPI 2.0 features, this is not the case. Enabling this BIOS feature does not turn on ACPI 2.0. Similarly, disabling it does not turn on the original ACPI 1.0 standard. It disables ACPI completely.

The ACPI 2.0 Support BIOS feature merely determines if ACPI support is enabled on the motherboard chipset level. The name ACPI 2.0 Support merely means that this motherboard supports the ACPI 2.0 standard.

If enabled, ACPI support will be enabled on the motherboard chipset level. If the operating system supports ACPI, it can then use ACPI to configure the hardware, as well as control the system’s power management features.

If disabled, ACPI support will be disabled on the motherboard chipset level. Even if the operating system supports ACPI, it cannot use ACPI to configure the hardware or control its power management features.

It is recommended that you enable this BIOS feature. This allows an ACPI-compliant operating system to fully control the configuration of hardware devices and their power management.

Please note that for Microsoft Windows to run in ACPI mode, it needs to be installed with ACPI enabled in the BIOS. If you switch from ACPI to non-ACPI mode, or vice versa, Microsoft Windows will fail to boot. You need to reinstall Microsoft Windows everytime you switch modes.

Go Back To > The Tech ARP BIOS Guide | Home

 

Support Tech ARP!

If you like our work, you can help support our work by visiting our sponsors, participating in the Tech ARP Forums, or even donating to our fund. Any help you can render is greatly appreciated!


PNP OS Installed – The BIOS Optimization Guide

PNP OS Installed

Common Options : Yes, No

 

Quick Review

What this BIOS feature actually does is determine what devices are configured by the BIOS when the computer boots up and what are left to the operating system.

Non-ACPI BIOSes are found in older motherboards that do not support the new ACPI (Advanced Configuration and Power Interface) initiative. With such a BIOS, setting the PNP OS Installed feature to No allows the BIOS to configure all devices under the assumption that the operating system cannot do so. Therefore, all hardware settings are fixed by the BIOS at boot up and will not be changed by the operating system.

On the other hand, if you set the feature to Yes, the BIOS will only configure critical devices that are required to boot up the system. The other devices are then configured by the operating system. This allows the operating system some flexibility in shuffling system resources like IRQs and IO ports to avoid conflicts. It also gives you some degree of freedom when you want to manually assign system resources.

Of course, all current motherboards now ship with the new ACPI BIOS. If you are using an ACPI-compliant operating system (i.e. Windows 98 and above) with an ACPI BIOS, then this PNP OS Installed feature is no longer relevant. This is because the operating system will use the ACPI BIOS interface to configure all devices as well as retrieve system information.

But if your operating system does not support ACPI, then the BIOS will fall back to PNP mode. In this situation, consider the BIOS as you would a Non-ACPI BIOS. If there is no need to configure any hardware manually, it is again recommended that you set this feature to No.

If you are using an old Linux kernel (prior to 2.6.0), Jonathan has the following advice –

Although Linux (prior to kernel 2.6) is not really PnP-compatible, most distributions use a piece of software called ISAPNPTOOLS to setup ISA cards. If you have PnP OS set to No, the BIOS will attempt to configure ISA cards itself. This does not make them work with Linux, though, you still need to use something like ISAPNPTOOLS. However, having both the BIOS and ISAPNPTOOLS attempting to configure ISA cards can lead to problems where the two don’t agree.

The solution? Set PnP OS to Yes, and let ISAPNPTOOLS take care of ISA cards in Linux, as BIOS configuration of ISA cards doesn’t work for Linux anyway (with the current stable and development kernels). Most times, it probably won’t make a difference, but someone somewhere will have problems, and Linux will always work with PnP OS set to Yes.

Britt Turnbull recommends disabling this feature if you are running the OS/2 operating system, especially in a multi-boot system. This is because booting another operating system can update the BIOS which may later cause problems when you boot up OS/2.

To sum it all up, except for certain cases, it is highly recommended that you to set this BIOS feature to No, irrespective of the operating system you actually use. Exceptions to this would be the inability of the BIOS to configure the devices properly in PnP mode and a specific need to manually configure one or more of the devices.

 

Details

This BIOS feature is quite misleading because its name alludes that you should set it to Yes if you have an operating system that supports Plug and Play (PnP). Unfortunately, it isn’t quite so simple.

What this BIOS feature actually does is determine what devices are configured by the BIOS when the computer boots up and what are left to the operating system. This is rather different from what the name implies, right?

Before you can determine the appropriate setting for this feature, you should first determine the kind of BIOS that came with your motherboard. For the purpose of this discussion, the BIOS can be divided into two types – ACPI BIOS and Non-ACPI BIOS.

You will also need to find out if your operating system supports and is currently running in ACPI mode. Please note that while an operating system may tout ACPI support, it is possible to force the operating system to use the older PnP mode. So, find out if your operating system is actually running in ACPI mode. Of course, this is only possible if your motherboard comes with an ACPI BIOS. With a Non-ACPI BIOS, all ACPI-compliant operating systems automatically revert to PnP mode.

[adrotate banner=”4″]

Non-ACPI BIOSes are found in older motherboards that do not support the new ACPI (Advanced Configuration and Power Interface) initiative. This can be either the ancient non-PnP BIOS (or Legacy BIOS) or the newer PnP BIOS. With such a BIOS, setting the PNP OS Installed feature to No allows the BIOS to configure all devices under the assumption that the operating system cannot do so. Therefore, all hardware settings are fixed by the BIOS at boot up and will not be changed by the operating system.

On the other hand, if you set the feature to Yes, the BIOS will only configure critical devices that are required to boot up the system. For example, the graphics card and the hard disk. The other devices are then configured by the operating system. This allows the operating system some flexibility in shuffling system resources like IRQs and IO ports to avoid conflicts. It also gives you some degree of freedom when you want to manually assign system resources.

While all this flexibility in hardware configuration sounds like a good idea, shuffling resources can sometimes cause problems, especially with a buggy BIOS. Therefore, it is recommended that you set this feature to No, to allow the BIOS to configure all devices. You should only set this feature to Yes if the Non-ACPI BIOS cannot configure the devices properly or if you want to manually reallocate hardware resources in the operating system.

Of course, all current motherboards now ship with the new ACPI BIOS. If you are using an ACPI-compliant operating system (i.e. Windows 98 and above) with an ACPI BIOS, then this PNP OS Installed feature is no longer relevant. It actually does not matter what setting you select. This is because the operating system will use the ACPI BIOS interface to configure all devices as well as retrieve system information. There is no longer a need to specifically split the job up between the BIOS and the operating system.

But if your operating system does not support ACPI, then the BIOS will fall back to PNP mode. In this situation, consider the BIOS as you would a Non-ACPI BIOS. If there is no need to configure any hardware manually, it is again recommended that you set this feature to No.

Please note that bugs in some ACPI BIOS can cause even an ACPI-compliant operating system to disable ACPI. This reverts the BIOS to PnP mode. However, there is an additional catch to it. Certain operating systems (i.e. Windows 98 and above) will only access the buggy BIOS in read-only mode. This means the operating system will rely entirely on the BIOS to configure all devices and provide it with the hardware configuration. As such, you must set the feature to No if you have a buggy ACPI BIOS.

If you are using an old Linux kernel (prior to 2.6.0), Jonathan has the following advice –

Although Linux (prior to kernel 2.6) is not really PnP-compatible, most distributions use a piece of software called ISAPNPTOOLS to setup ISA cards. If you have PnP OS set to No, the BIOS will attempt to configure ISA cards itself. This does not make them work with Linux, though, you still need to use something like ISAPNPTOOLS. However, having both the BIOS and ISAPNPTOOLS attempting to configure ISA cards can lead to problems where the two don’t agree.

The solution? Set PnP OS to Yes, and let ISAPNPTOOLS take care of ISA cards in Linux, as BIOS configuration of ISA cards doesn’t work for Linux anyway (with the current stable and development kernels). Most times, it probably won’t make a difference, but someone somewhere will have problems, and Linux will always work with PnP OS set to Yes.

Britt Turnbull recommends disabling this feature if you are running the OS/2 operating system, especially in a multi-boot system. This is because booting another operating system can update the BIOS which may later cause problems when you boot up OS/2. In addition, if you add or change hardware, you should enable full hardware detection during the initial boot sequence of OS/2 (ALT-F1 at boot screen -> F5) so that the new hardware can be registered correctly.

Thomas McGuire of 3D Spotlight sent me this e-mail from Robert Kirk at IBM :-

“Actually, the setting “PnP OS” is really misnamed. A better thing would be to say “do you want the system to attempt to resolve resource conflicts, or do you want the OS to resolve system conflict?”. Setting the system to PnP OS says that even if the machine determines some kind of resource problem, it should not attempt to handle it… Rather, it should pass it on to the OS to resolve the issue. Unfortunately, the OS can’t resolve some issues…. which sometimes results in a lock or other problems.

For stability reasons, it is better to set EVERY motherboard’s PnP OS option to No, regardless of manufacturer but still allow the BIOS to auto configure PnP devices. Just leave the PnP OS to No. It won’t hurt a thing, you lose nothing, your machine will still autoconfigure PnP devices and it will make your system more stable.”

Thanks, Thomas! That was really useful info.

To sum it all up, except for certain cases, it is highly recommended that you to set this BIOS feature to No, irrespective of the operating system you actually use. Exceptions to this would be the inability of the BIOS to configure the devices properly in PnP mode and a specific need to manually configure one or more of the devices.

 

Support Tech ARP!

If you like our work, you can help support our work by visiting our sponsors, participate in the Tech ARP Forums, or even donate to our fund. Any help you can render is greatly appreciated!

ACPI SRAT Table – BIOS Optimization Guide

ACPI SRAT Table

Common Options : Enabled, Disabled

 

Quick Review

The ACPI Static Resource Affinity Table (SRAT) stores topology information for all the processors and memory, describing the physical locations of the processors and memory in the system. It also describes what memory is hot-pluggable, and what is not.

The operating system scans the ACPI SRAT at boot time and uses the information to better allocate memory and schedule software threads for maximum performance. This BIOS feature controls whether the SRAT is made available to the operating system at boot up, or not.

When enabled, the BIOS will build the Static Resource Affinity Table (SRAT) and allow the operating system to access and use the information to optimize software thread allocation and memory usage.

When disabled, the BIOS will not build the Static Resource Affinity Table (SRAT). Alternative optimizations like Node Memory Interleaving can then be enabled.

If you are using an operating system that supports ACPI SRAT (e.g. Windows Server 2003, Windows XP SP2 with Physical Address Extensions or PAE enabled), it is recommended that you enable this BIOS feature to allow the operating system to dynamically allocate threads and memory according to the SRAT data.

Please note that you must disable Node Memory Interleave if you intend to enable this BIOS feature. Node Memory Interleave is a static optimization that cannot work in tandem with the dynamic optimizations that the operating system can perform using information from the ACPI SRAT.

If you are using an operating system that does not support ACPI SRAT (e.g. Windows 2000, Windows 98 ), it is recommended that you disable this BIOS feature, and possibly enable Node Memory Interleaving instead.

 

Details

Although multiple cores and increased clock speeds have increased computing performance, the processor bus and memory bus are becoming significant bottlenecks. Even SMP (Symmetric MultiProcessor) systems are limited by their dependence on a processor and memory bus.

To allow computing performance to scale better, system designers are building smaller systems, called nodes, each containing their own processors and memory. These are connected together using a high-speed cache-coherent interconnect, forming a larger system. This architecture is known as ccNUMA, short for Cache-Coherent Non-Uniform Memory Access.

The cache-coherent interconnect may be a network switch, or the interconnect within a multi-core processor (e.g. the HyperTransport bus between the two cores of an AMD Opteron processors). Any processor in any node can access and use memory in other nodes through this interconnect. In multi-core processors, this allows one core to read from another core’s memory.

However, while memory accesses within the node itself (or local memory access by one core) is fast, access to memory in other nodes (or another core’s memory) is several times slower. Therefore, improving performance on a ccNUMA system would involve optimizations based on prioritizing threads to processors in the same node, and ensuring processors use memory closest to them.

Older operating systems like Windows 2000 are not capable of determining the design of the system, and therefore cannot perform such optimizations. However, newer operating systems like Windows Server 2003 can readily identify the system’s hardware topology, and allocate software threads and memory in a more optimal fashion.

[adrotate banner=”5″]

This is where the ACPI Static Resource Affinity Table (SRAT) comes in. The SRAT stores topology information for all the processors and memory, describing the physical locations of the processors and memory in the system. It also describes what memory is hot-pluggable, and what is not.

The operating system scans the ACPI SRAT at boot time and uses the information to better allocate memory and schedule software threads for maximum performance. This BIOS feature controls whether the SRAT is made available to the operating system at boot up, or not.

When enabled, the BIOS will build the Static Resource Affinity Table (SRAT) and allow the operating system to access and use the information to optimize software thread allocation and memory usage.

When disabled, the BIOS will not build the Static Resource Affinity Table (SRAT). Alternative optimizations like Node Memory Interleaving can then be enabled.

If you are using an operating system that supports ACPI SRAT (e.g. Windows Server 2003, Windows XP SP2 with Physical Address Extensions or PAE enabled), it is recommended that you enable this BIOS feature to allow the operating system to dynamically allocate threads and memory according to the SRAT data.

Please note that you must disable Node Memory Interleave if you intend to enable this BIOS feature. Node Memory Interleave is a static optimization that cannot work in tandem with the dynamic optimizations that the operating system can perform using information from the ACPI SRAT.

If you are using an operating system that does not support ACPI SRAT (e.g. Windows 2000, Windows 98 ), it is recommended that you disable this BIOS feature, and possibly enable Node Memory Interleaving instead.

[adrotate banner=”5″]

 

Support Tech ARP!

If you like our work, you can help support our work by visiting our sponsors, participate in the Tech ARP Forums, or even donate to our fund. Any help you can render is greatly appreciated!