A typical desktop computer architecture, especially that of IBM/Intel compatible machines, includes a central microprocessor (.mu.P) that communicates with random access memory and a system controller chip through a local bus. An expansion bus typically couples the system controller to peripheral devices, such as video control boards, network adapters, modems, and the like. For one class of IBM/Intel architecture, the expansion bus is known as the AT bus. The components described above are typically mounted on a system board or main circuit board, often termed the motherboard in the art.
The motherboard typically includes an oscillator (OSC) that supplies a high frequency clock signal to the microprocessor and other components connected on the local bus. More recent oscillators are speed programmable. Most microprocessors, such as the Intel486DX, are simply operated at the OSC frequency, e.g., if the OSC frequency is 33.33 MHz, then the microprocessor operates at 33.33 MHz. To drive the expansion bus at the industry-standard AT bus frequency of 8.33 MHz, the system controller divides the OSC frequency into a range of selectable ratios, such as OSC/4 (4:1), OSC/5 (5:1), OSC/6 (6:1), etc. For example, an OSC/4 Ratio for an input OSC frequency of 33.33 Mhz produces a bus frequency of 8.33 MHz.
A Basic Input Output System (BIOS) chip typically connected to the AT bus includes firmware for determining various timing parameters for the motherboard, such as AT bus wait states and the like.
Some recently introduced microprocessors, such as the Intel486 DX2.TM., include circuitry that causes them to operate at a frequency twice the oscillator frequency. If, for example, the OSC frequency is 33.33 MHz, then a DX2 microprocessor will operate at 66.66 MHz, i.e., at an OSC-To-.mu.P Ratio or 1:2. The result is greatly improved computing performance without increasing the cost of the motherboard and its components other than the microprocessor. Other components may still run at a 33.33 MHz.
Current practice is to provide user- or dealer-configurable motherboards with a selectable set of timing parameters in the BIOS, so that a board can be configured for different types of microprocessors and oscillator speeds.
The clock ratios for DX and DX2 microprocessors are fixed at 1:1 and 1:2, respectively. Because these microprocessors have known OSC-To-.mu.P frequency ratios, their OSC frequency car, be relatively easily deduced. For example, a self-configuring BIOS, sold under the trademark MR BIOS by Microid Research Inc. of Santa Clara, Calif., contains firmware for automatically determining the OSC frequency by identifying the type of microprocessor installed, calculating the microprocessor's internal frequency, and dividing that frequency by a logically selected Ratio. After the OSC frequency is determined, the self-configuring BIOS automatically configures various system timing parameters, including the OSC-to-bus ratio for the AT bus.
A new type of microprocessor, of which the Intel486 DX4.TM. is an example, does not have a single fixed OSC-To-.mu.P clock ratio, but instead offers a range of selectable integer and fractional ratios. e.g., 1:2, 1:2.5, 1:3. This new type of microprocessor also has no provision for allowing external firmware, such as the system BIOS, to identify which clock ratio is selected. For this type of microprocessor is hereinafter termed an IANS microprocessor, for Identification Alone is Nto Sufficient. For this type microprocessor, identification alone is simply not sufficient for determining the OSC-To-.mu.P clock Ratio, hence the Osc frequency, to have the needed information to set system timing parameters. If a microprocessor of this type is installed on a motherboard with a conventional user-configurable BIOS, the user will need to know the OSC-To-.mu.P Ratio in order to set the correct parameters.
Even the self-configuring BIOS described above will not be able to set the proper parameters for an IANS microprocessor, because the self-configuring BIOS works on the assumption that the microprocessor-to-OSC clock ratio is Fixed. Therefore, proper knowledge of the IANS microprocessor's clock ratio and its configuration parameters is paramount for a person, whether a trained technician or an end user, assembling or setting up the computer. If such knowledge is not on hand, then the wrong parameters may be set, and the computer will not operate correctly.
What is clearly needed is a method for automatically determining the OSC frequency for a motherboard, even when identification of the microprocessor is not sufficient, so modular computer systems can be assembled and modified without the need for technical information or personnel.