The devices connected to PCI-bus are configured automatically – due to the Plug and Play conception. Thus, any PCI device is automatically determined, receives interruption, address space in memory and other. There is only one disadvantage: you should turn off the computer power supply to replace, delete or add a device. But nowadays there is the mechanism that enables to replace PCI devices without turning off the power supply.
Both the allocation of interruptions and direct access to memory are executed by using special services that provide compatibility with operating modes of ISA-bus. A regular direct access of PCI-device to the memory is impossible this device already has a mechanism “bus master”. This causes the occurrence of parameters in BIOS that either enable to switch on or off the deprecated functions or that set the time delays.
The parameter “PCI 2.1 Support” (PCI 2.1 Compliance) enables to switch on/off the support of PCI 2.1 specification. This parameter has got two values: Enabled and Disabled. 2.0 specification has got two main differences from 2.0 specification: a maximum clock frequency of a bus is increased to 66 MHz, and there is also a mechanism of PCI-PCI bridge that enables to lift the restrictions of 2.0 specification, due to which no more than four devices are enabled to be set on a bus. This parameter should be switched on because a lot of manufacturers of motherboards use 2.2 specification with various functions of energy management, fast connection of peripherals, the support of 64-bit data transmission on the 66 MHz frequency and other. This parameter should be switched off (Disabled value) only if you use the outdated PCI-devices. But it is not recommended to use new and old motherboards simultaneously because disconnection of 2.1 specification support may affect the productivity of a new device.
Use the parameter “PCI Latency Timer” (PCI Clocks) to specify the time during which the other devices control the bus operation. This parameter allows specifying (in cycles of PCI-bus) for how long some PCI-device that supports bus master-mode may retain control over the bus if it is requested by another device. After the time has expired, a bus conflict resolver forcibly takes a bus from the current bus host and sends it to another device. This parameter may have values from 16 cycles (16 CLK) to 128 cycles (128 CLK) with a step folded to 8 (16, 24, 32, …) and also the value “Auto Configured” that allows a system automatically setting the required control time. It is clear that the lower the set value is, the quicker another PCI-device would get the required access to a bus. But the time for controlling a bus depends on individual features of used devices and is determined by selecting an optimal value.
Use the parameter “Master Prefetch and Posting” (value Enabled) to speed up the process of sending the data. This parameter allows simultaneously using the prefetch mode and a buffer of posted record for any master-device.
Use the parameter “CPU Mstr Post-WR Burst Mode” to turn on the high-speed packet mode of transmission information from a buffer of posted record. This value may have two values: Enabled and Disabled. If packing for information transmission is allowed, the same address is given to each data block that increases the system productivity.
Another opportunity to reduce the time spent by master-devices for operation with PCI-bus is reducing delays of waiting responses from a device and the time during which a processor controls this bus. In the first case the parameter “CPU Mstr DEVSEL# Time-out” is used. It may have the following values that determine the delay as a number of cycles of PCI-bus: 3 PCUCLK, 4 PCICLK, 5 PCICLK and 6 PCICLK. But decreased value of this parameter may lead to failures in system operation. Use the parameter “Master Retry Timer” to set the time during which the processor may dominate in the bus operation. This parameter may have the values stated in the cycles of PCI-bus: 10 PCICLK, 18 PCICLK, 34 PCICLK and 66 PCICLK.
Another method of setting the sequence of access to a bus is direct indication of a device that has got the highest priority which is carried out using the parameter “PCI Bus Parking” that enables to turn on/off the mode of device “parking” on PCI-bus. This parameter may have two values: Enabled and Disabled. If you set the value “Enabled”, a device on PCI-bus would have a full control over a bus for some time. This increases the operating productivity of this device but slows down the operation of the rest devices.
To control the data exchange via PCI-bus, use the parameter “Preempt PCI Master Option”. This parameter may have two values: Enabled and Disabled. If you set the value “Enabled”, the reading/writing operation on PCI-bus may be interrupted by some other system operations, for example, memory regeneration. The value “Disabled” enables the parallel operation that speeds up the system operation but may also cause some failures.
If you carry out reading/writing operations on PCI-bus the same way as on the other devices, you can use the buffering operation. It is necessary when the parameter “Preempt PCI Master Option” has got the value “Enabled”. During data reading, all recorded information are stored and transmitted as a packet at the end of reading, thus minimizing the required time. Use the parameter “ CPU Mstr Post-WR Buffer” to include the ability to use the buffer of posted record. But, unlike the other device, it is possible to identify several buffers for PCI-bus, that’s why this parameter may have the following values: NA – buffering is off; 1, 2, or 4 – a number of used buffers. The greater the number of buffer is used, the better.
The main parameter that controls the allocation of access priorities to PCI-bus is “PCI Bus Arbitration” (Arbitration Priority, PCI Arbiter Mode, PCI Arbitration Mode, PCI Arbit. Rotate Priority). Each of these parameters may have two values. For example, the parameter “PCI Bus Arbitration” has got values “Rotating” and “Fixed” that identify the operating mode of devices with PCI-bus, Favor CPU or Favor PCI and also specify which of devices would receive an access priority to a bus. It is sure that to optimize the computer operation, it is necessary to set an access priority to a bus for the processor but in some cases selection of a value “Rotating” (or Favor PCI) enables to speed up its operation.
To set the access priorities to a bus, you may use separate parameters, for example, the parameter “CPU priority” which enables to set the rank of central processor in the hierarchy of the access priorities of all possible devices that contain a function of master-devices in a system. This parameter may have the following values; Always Last – a processor access to a bus immediately after finishing its operation with the current device; CPU 2nd – omit the current and the next device by a processor; CPU 3rd – omit three devices; CPU 4th – omit four devices. In this case the recommendations are still the same: if you carry out a normal operation, it is optimal to set as low delays as possible for access to a bus; but if you carry out the operation connected with direct interaction of two devices (expansion cards), it is possible to set the delays.
All devices connected with a bus are subjected to a particular operating mode which is called “bus master”. A device that controls the bus operation is a host or the dial of cycles.
If you need to transmit data, each device sends a request and either continues waiting or takes a bus for its needs after received a request. The allocation of bus resources depends on the priority or/and a regular request for this device. After finishing its operation, a device sends an appropriate signal and relieves a bus. All devices that operate with this bus undergo this standard procedure.
You can check the opportunity to control a bus by using the parameter “Enabled Master”. This parameter has got two values: Enabled and Disabled.
As a rule, all devices on PCI-bus have equal priority. There are two methods of access to the memory. The first one is the rotation mode where the device priority is periodically changed. In this mode a low priority is given to a device that has a control over a bus, and any other device moves one step up in the priority queue. The second method is the fixed operating mode in which the devices with dominant priority appear.
In modern systems most control functions and functions of allocation of access to a bus are flashed and are not displayed in the appropriate parameters of BIOS. Much older versions of BIOS may contain some of parameters described above.
PCI bus (Peripheral Component Interconnect) is a 32-bit bus that is able to support up to ten peripherals (PCI-cards). The data transmission with the clock frequency of 33 MHz is set by default for this bus. It is consistent with the peak bandwidth of 132 Mb/s but actually the data exchange can have the speed of about 40-50 Mb/s for this bus. Nowadays there are PCI-buses that enable to operate with the bus frequency of 66 MHz and that support 64-bit data transmission.
From the very beginning of its occurrence, PCI-bus connected all computer components: chipset, processor, memory and video card. That’s why, for example, a simple increasing of this bus’s frequency automatically led to increasing of its speed. After the progressive developments in technology, PCI-buses for the link “chipset-processor” was replaced by much faster FSB-bus that operated on 66 MHz and finally the AGP-bus for the link “chipset-video card and memory bus” was created.
All BIOS parameters for PCI-bus can be found in sections “Chipset Features Setup”, “Advanced Chipset Features” and “Advanced”.
When the system configuration is set, all data about resource allocation are stored in ESCD (Extended System Configuration Data). If no modifications were found after configuration processing, the stored configuration is set. This significantly decreases the time of computer loading.
In some cases you should forcibly reset the system configuration, for example, while setting new equipment or resource allocation. The parameter “Reset Configuration Data” (Force Update ESCD, Reset Config Data, Clear NVRAM, Clear ESCD) enables to reset the configuration data. This parameter has got two values: Enabled (Yes) – ESCD cleansing is allowed; Disabled (No) – denied. If this parameter has got the value “Enabled”, after computer restarting BIOS cleans an area of ESCD, reconfigures the devices that support Plug and Play, write the appropriate information and automatically gives the values “Disabled” to the parameter “Reset Configuration Data”. In some BIOS you can find the parameter “Clear NVRAM on Every Boot”. It value “Yes” underlines the need resource reallocation during each computer restarting.
Different versions of BIOS use various parameters for identification of methods of system configuration: Configuration Mode, PnP OS Installed, PnP BIOS Auto-Config, Plug & Play O/S, PnP BIOS Auto-Config. All these parameters suggest performing the installation of devices that support Plug and Play by using BIOS tools. The values of these parameters are divided into two parts: Use BIOS Setup – the use of BIOS opportunities; Use PnP OS – the use of opportunities operating system.
If you use Windows 95 or any later version and do not use any old ISA-devices that do not support Plug and Play, the allocation of system resources should be shifted to operating system.
If you use manual configuration, you may use the parameter “Lock Setup Configuration (Secured Setup Configuration) which denies modifying any settings by BIOS. This parameter has got two values: Yes – denied modifications; and No – allowed modifications. This parameter may be useful if you operate in Windows 2000/XP which not only perform the configuration automatically, but lock the possibility of manual allocation of system resources by default.
System resource allocation is one of the most important moments in computer booting. The productivity of the whole system and operability of separate devices may significantly depend on an access to the dynamic memory, the way of allocation of interruptions, configuration interaction between devices (expansion cards) and buses and other.
As a rule, all resource allocations are automatic. But this does not guarantee the compatibility of all devices and their setting to an optimum operation. This may occur in old computers that use outdated equipment. That’s why you have to reinstall manually a part of automatically installed values to reach a normal operation of all devices and to get the top performance out of them.
Use the parameter “Resources Controlled By” to install the method of resource allocation. This parameter is located in a section “PnP/PCI Configuration Setup” and has got two values: Auto – automatic setting, and Manual – manual setting. In case of automatic setting, BIOS allocates IRQ-interruptions and DMA-channels to all devices connected to PCI-bus. In case of manual setting, select one of available parameters: “x IRQ-n assigned to” or “x IRQ-n assigned to”. The manual resource allocation is required when you use devices that do not support Plug and Play.