|Publication number||US6035407 A|
|Application number||US 08/680,487|
|Publication date||Mar 7, 2000|
|Filing date||Jul 15, 1996|
|Priority date||Aug 14, 1995|
|Publication number||08680487, 680487, US 6035407 A, US 6035407A, US-A-6035407, US6035407 A, US6035407A|
|Inventors||Ghassan R. Gebara, Kenneth A. Jansen|
|Original Assignee||Compaq Computer Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (11), Non-Patent Citations (18), Referenced by (103), Classifications (4), Legal Events (8)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application is a continuation-in-part of U.S. applications Ser. Nos. 08/515,030, 08/514,565, 08/514,758, and 08/515,108, all of which were filed on Aug. 14, 1995 all now abandoned.
The invention relates to accommodating different components.
Processors for Desk top/Server platforms are available from a variety of manufacturers such as Intel, Analog Micro Devices ("AMID"), Cyril, and NexGen. While all processors are designed to operate in essentially the same environment, each manufacturer designs its processors to be somewhat different than those of the other manufacturers. In addition, each manufacturer periodically upgrades its processor families, releasing products that differ from those previously offered by that manufacturer.
The computer system manufacturer that wishes to use several types of computer processors or to provide its customers with available processor upgrades must accommodate the differences between the processors. Typically, this requires the computer manufacturer to develop and maintain a distinct hardware design (e.g., printed circuit card) for each processor it wishes to accommodate. When a processor upgrade becomes available, instead of simply substituting the upgraded processor for the obsolete processor, the computer manufacturer must provide an upgraded processor card. As a result, both the computer manufacturer and its customers must incur significant expense to keep up with processor improvements.
Referring to FIG. 1A, the typical computer includes a processor 20 which has internal primary cache memory (not shown) and which is connected to secondary cache memory 22 via a system bus 24. Referring to FIG. 1B, some newer processors, such as Intel's Pentium Pro processor, include secondary cache 22 in the same package 16, and the CPU communicates with secondary cache 22 using a private internal bus 18. The NexGen Nx586 and H86 processors are connected to secondary cache through a dedicated bus (not shown) that services only the processor and the secondary cache. Secondary cache memories typically have sizes of 128K bytes, 256K bytes, or 512K bytes, but may have other values in certain applications.
The processor 20 is driven by a system clock 26, (bus clock) which typically oscillates at a frequency between 50 MHz and 66 MHz. However, today's processors usually operate at core frequencies much greater than the standard bus clock speeds, with core speeds typically varying from 100 MHz to more than 200 MHz. As a result, the processor 20 must multiply the bus clock frequency to attain a higher core speed. For example, a 150 MHz processor running from a 60 MHz bus clock (i.e., a bus/core ratio of 2/5) must multiply the bus clock frequency by a factor of 5/2. The computer system not only provides the bus clock 26 to the processor 20, but typically it also supplies the value of the frequency multiplier to the processor through a multi-bit input signal 28 to ensure that the processor operates at the proper speed.
The processor 20 interacts with memory 21 through a memory data path 23 and a memory interface buffer 25. A memory data controller 27 manages the flow of data through the memory device 21 and the memory interface buffer 25. The processor 20 also may access the system's PCI bus 29 through a PCI bridge 31. The PCI bus 29 is connected to the system's ISA/EISA bus 33 through a PCI/EISA bridge 35.
Each processor is designed to operate at a specific primary core voltage VCCP. The core voltage may vary not only between processor families but also between processors of the same family, including processors that otherwise appear to be the same. For example, Intel's P6.0 150 MHz processor is targeted to operate at a core voltage of 3.1 volts. However, down-binned processors that do not meet this requirement may still be rated at 150 MHz for a higher core voltage, e.g., 3.3 volts. Or a processor targeted to operate with a core speed of 180 MHz at 3.3 volts may fail to meet this requirement, but may satisfy a down-binned requirement of 150 MHz at a core voltage of only 3.1 volts. As a result, the computer manufacturer often must maintain several hardware designs even for a single processor type.
Referring to FIG. 2, Intel has included on each Pentium Pro processor package four voltage identification (VID) pins. The VID pins provide four bits 30 of binary data that indicate the designed core voltage setting VCCP 32 for that processor. The VID bits 30, which are hardwired to a particular value when the processor is packaged, identify a core voltage setting that is correct only if the processor actually operates at the designed voltage VCCP (i.e., the processor is not down-binned).
Referring now to FIG. 3, many processors implement a bus interface technology known as gunning transceiver logic (GAL). In a GAL system, a processor 34 and other components 36, 38 having open drain I/O ports are linked in daisy-chain fashion by a bus 40, each end of which must be pulled to a termination voltage VTT by pull-up resistors 42, 44. If either of the pull-up resistors 42, 44 is missing, the GAL system will not operate properly. Similar pull-up resistors are required for every signal line connecting the processor 34 and the other system components 36, 38. Thus, for a 160-signal bus, 320 pull-up resistors are needed.
Under the GAL standard, the termination voltage VTT has a value of 1.2 volts. HIGH and LOW level logic signals are determined by a reference voltage VREF, which by definition has a value equal to 2/3 VTT, or 0.8 volts. However, because this value of VREF is so close to typical noise levels, a digital standard known as GAL+ was created to provide greater noise margin. Under the GAL+ standard, the termination voltage VTT is 1.5 volts and the reference voltage VREF, which equals 2/3 VTT, is 1.0 volts.
In one aspect, the invention features a computer having a packaged integrated circuit with an information storage area containing information about the circuit determined only after the circuit is packaged, and a control circuit that uses the information to configure the computer.
Embodiments of the invention may include one or more of the following features. The integrated circuit may include at least one conductive pin protruding from the package to pass the information to the control circuit. The integrated circuit also may include a value selection element that determines the information provided via the conductive pin. The value selection element may include an electrically conductive element connected at one end to the conductive pin and at another end to a voltage supply. The integrated circuit may be a processor. The information stored in the information storage area may indicate a supply voltage value required by the integrated circuit, or it may indicate the difference between a supply voltage value required by the integrated circuit and a nominal design value.
In another aspect, the invention features a computer having a processor with an input element that allows an operational parameter of the processor to be selected from a predetermined group of parameters after the processor is packaged, and a selection device connected to the input element that controls selection of the operational parameter from the group.
Embodiments of the invention may include one or more of the following. The parameter may be core operating frequency or bus/core ratio. The input element may include a conductive lead extending from a surface of the processor package into the processor. The selection device may include an electrically conductive element connected at one end to the conductive lead and at another end to a voltage supply.
In another aspect, the invention features a method of configuring a computer system by retrieving from a packaged integrated circuit information about the circuit that is determined only after the circuit is packaged, and by using the information to configure the computer system.
In another aspect, the invention features a computer system comprising a packaged integrated circuit that provides information about a characteristic, other than a voltage requirement, of the integrated circuit, and control circuitry that configures the computer system in response to the information provided by the integrated circuit.
Embodiments of the invention may include one or more of the following features. The integrated circuit may include at least one conductive pin that passes the information. The integrated circuit may be a processor, and the characteristic be bus/core ratio, core operating frequency, processor type, or secondary cache memory size.
In another aspect, the invention features a method of configuring a computer system to accommodate a packaged integrated circuit by accessing information about a characteristic, other than a required voltage value, of the integrated circuit, and by using the information to configure the computer system.
In another aspect, the invention features a processor having at least one conductive pin that passes information about a characteristic of the processor, and an external value selection element that determines the information provided by the conductive pin after the processor is packaged.
Embodiments of the invention may include one or more of the following features. The external value selection element may include an electrically conductive device connected electrically at one end to the conductive pin and at another end to a voltage supply. The external value selection element may include a resistor. The processor also may include two conductive pads electrically connected to each other by the external value selection element on an external surface of the processor, one of the pads connecting to the conductive pin and the other pad connecting to a voltage source.
In another aspect, the invention features a computer having a bus line connecting two GAL electronic components at a single termination point, and a pull-up resistor connecting the termination point to a termination voltage supply. In some embodiments of the invention, the computer also may include a third GAL electronic component connected to one of the two electronic components or to the termination point.
Advantages of the invention may include one or more of the following. Certain information about the processor in a computer system is readily available to the computer system. This information may include the processor's core voltage, its required digital logic supply voltage, and certain operational parameters, such as processor type, speed grade, bus/core ratio, and cache size. The information may be stored on the processor after the processor is packaged and tested. The computer system may retrieve the information automatically and use the information to configure itself for proper operation with the processor. As a result, the need for multiple hardware designs is reduced, and the computer manufacturer may use a single bill-of-materials to build mother boards compatible with several different processors. Also, the computer user may make on-the-fly processor upgrades without having to replace existing computer hardware.
In addition, a GAL-based bus in the computer system may be terminated by a resistor network having only a single pull-up resistor. As a result, lower current and power demands are placed on the termination voltage supply. The resistor network may be located anywhere along the bus to allow greater freedom in circuit board design.
Other advantages and features will become apparent from the following description and from the claims.
FIGS. 1A and 1B are block diagrams of conventional computer system components.
FIG. 2 is a diagram of a voltage identification output scheme.
FIG. 3 is a block diagram of computer components connected via a GAL bus.
FIGS. 4A, 4C, and 4E are perspective views of fragments of a processor package and a printed circuit card.
FIGS. 4B, 4D, and 4F are schematic diagrams of circuits that provide processor information.
FIG. 5 is a diagram of a frequency identification output scheme.
FIG. 6 is a block diagram of a processor.
FIG. 7 is a diagram of a bus/core ratio identifier scheme.
FIG. 8 is a diagram of a processor type identification scheme.
FIG. 9 is a diagram of a cache size identification scheme.
FIG. 10A is a block diagram of computer system components required to accommodate different processors.
FIG. 10B is a perspective view of a processor circuit board.
FIG. 11 is a block diagram of computer system components required to accommodate different processors.
FIG. 12 is a bit definition diagram for a core voltage override scheme.
FIG. 13 is a diagram of the core voltage override scheme of FIG. 12.
FIG. 14 illustrates the storage of core voltage override information.
FIG. 15 is a flow diagram for generating voltage override information.
FIG. 16 is a diagram of a termination voltage override scheme.
FIG. 17 is a bit definition diagram for the termination voltage override scheme of FIG. 16.
FIG. 18 illustrates the storage of termination voltage override information.
FIG. 19 is a flow diagram for generating termination voltage override information.
FIG. 20 is a block diagram of components connected via a GTL bus.
By directly and automatically providing from the processor itself information that identifies the operational characteristics and requirements of a processor, processor manufacturers and computer system manufacturers may simplify the manner in which different processors, e.g., an upgrade processor, may be accommodated in a computer system. Processor information may include the processor type, the processor core frequency, the bus/core ratio (and thus the frequency multiplier), the secondary cache memory size, the required core voltage setting, and the required termination voltage setting (for systems using GTL/GTL+). When this type of processor information is available, the computer system may be designed to retrieve the information and to automatically configure the system hardware and software to match the requirements of a particular processor. As a result, processor changes become simpler, making possible "on-the-fly" changes even while the computer is powered-up and operating. System board changes are also minimized because a single board design may accommodate a variety of processors.
Referring to FIG. 4A, the processor information is provided by pins 52a, 52b that extend from the ceramic processor package 50. Each pin 52a, 52b provides one binary bit of information and is electrically connected to a conductive pad 56a, 56c mounted on the upper surface 58 of the processor package 50. Each conductive pad 56a, 56c is paired with another conductive pad 56b, 56d that is connected to a ground signal 51 inside the processor package 50. The processor manufacturer sets the binary values of the pins 52a, 52b by electrically connecting the corresponding pair of conductive pads 56a, 56b or 56c, 56d, or by leaving the pads unconnected. Pads 56a and 56b or pads 56c and 56d may be connected by soldering an electronic component 60, e.g., a low-value resistor or a conductive wire, between the pads. When the processor package 50 is mounted to a printed circuit board 55, the pins 52a, 52b are tied to the primary supply voltage VCCP through pull-up resistors 62a, 62b. The pins 52a, 52b connect to the pullup resistors 62a, 62b through contact pads 53a, 53b on the printed circuit board 55.
Referring also to FIG. 4B, if no component is placed between pads 56a and 56b, pull-up resistor 62a pulls the binary bit at pin 52a to a high value. Thus, in FIG. 4A, the output at pin 52b is high because the corresponding pads 56c and 56d are not connected. Because pads 56a and 56b are connected, the output at pin 52a is pulled to a low value by the ground signal in the processor package 50. Therefore, the output corresponding to pins 52a and 52b is a binary value of "10".
Referring to FIGS. 4C and 4D, the pull-up resistors 62a, 62b (FIGS. 4A and 4B) may be eliminated from the circuit board 55 if each pin 52c is associated with three conductive pads 56e, 56f, 56g, one of which (pad 56f) is electrically connected to the pin 52c (or to an internal bond pad 49, as discussed below) and the other two of which are connected to VCCP and ground 51 (pads 56e and 56g, respectively). When a low-value (e.g., zero ohm) resistor 61a is soldered between pads 56e and 56f, the output signal on the pin 52c (and therefore at pad 53c on the circuit board 55) is pulled to VCCP. When a resistor 61b is soldered between pads 56f and 56g, the output signal on the pin 52c is pulled to ground 51. Resistors 61a and 61b cannot both be present at the same time.
The processor information also may be stored elsewhere in the computer system, such as in another device on the circuit board instead of on the processor itself. Referring to FIG. 4E, information about different processors may be stored in a memory device 69 (e.g., RAM). When a processor 68 is installed to the board, information identifying the processor may be retrieved from the processor's CPU-ID register (not shown) and used to access the appropriate information in RAM 69, e.g., in a manner similar to that described below with reference to FIG. 11.
Referring to FIGS. 4E and 4F, the processor information also may be provided by switches 64 located on the processor circuit board 66. Each switch 64 is an on/off switch that connects to a data line 63 on one side and circuit ground 65 on the other side. When the switch is closed, the data line 63, and thus the corresponding bit of processor information, is pulled to a low value. When the switch is open, a pull-up resistor 67 connected to the primary supply voltage VCCP pulls the data line 63 to a high value. When switches 64 are used, the computer manufacturer must obtain the processor information from the processor manufacturer and set the switches 64 to provide the appropriate binary outputs. While the use of switches 64 does not allow true "on-the-fly" processor changes, the switches 64 do eliminate the need for multiple circuit boards to accommodate different processors.
Referring to FIG. 5, the actual core operating frequency ("speed grade") 70 of the processor may be provided by one or more Frequency Identification Output (FIDO) binary bits 72. When four or fewer different speed grades are available for a processor family, one or two FIDO bits 72 will suffice. For Intel's Pentium and Pentium Pro processor families, several speed grades are offered: 133 MHz, 150 MHz, 166 MHz, 180 MHz and 200 MHz. These speed grades may be represented by FIDO settings of "001", "010", "011", "100", and "101", respectively, with the digital values "110" and "111" being reserved for a future Pentium Pro speed grades. If one or two speed grades are available, only one FIDO bit is needed, and if five or more speed grades are available, more than two FIDO bits are necessary. Each FIDO bit is provided by one of the pins 52 (FIGS. 4A and 4C) or switches 64 (FIG. 4E) discussed above. The pins 52 and switches 64 also may be used to output the MIDO, PT, and PSCS identifier bits described below.
Referring now to FIGS. 6 and 7, a processor 74 requires the computer system to provide it not only with a system clock 75 of a specific frequency, but also typically with the bus/core ratio 76 (i.e., the required frequency multiplier). For the Intel Pentium Pro family of processors, the processor 74 requires a 4-bit input signal 78 indicating the bus/core ratio 76, which it then uses to multiply the system clock frequency 75 to produce the desired processor clock speed. Because the bus/core ratio is determined by the processor manufacturer, bus/core ratio information could be provided directly from the processor to the computer system. Thus, to simplify processor upgrades, Multiplier Identification Output (MIDO) pins 80 may be placed on the processor to generate a digital code 82 identifying the bus/core ratio 76 of the processor. Because the number of possible bus/core ratios 76 varies widely among the many processor families, the number of MIDO pins 80 will vary. In general, however, eight bus/core ratios 76 are available for a processor family, so three MIDO bits 82 will suffice. For example, bus/core ratios 76 of 1/4, 1/3, and 1/2 may have corresponding MIDO outputs of "100", "010", and "000", respectively.
Referring now to FIG. 8, the processor may also provide information about its type 84 within a given family. For example, Intel's Pentium Pro family currently consists of P6.0, P6S, and overdrive processors. To ensure the possibility of an on-the-fly upgrade, a Pentium Pro-based computer system must be able to determine which of the three types of Pentium Pro processor is installed. A Processor Type (PT) output 86 may be provided by the processor package to indicate the processor's type 84. If a processor family consists of only one or two types 84, a single PT bit 84 will suffice. Since most processor families include three or four processor types 84, two PT bits 86 usually will be required. Intel's Pentium Pro processors present a special case, because they already provide a UP# bit 88 that indicates whether the processor is an "upgrade" or "overdrive" processor. While the UP# bit 88 allows the computer system to distinguish between overdrive and non-overdrive processors, it does not allow the system to determine the processor type. Therefore, for the Intel Pentium Pro processor, a single PT bit 86 is needed in addition to the UP# bit 88 to identify the processor type.
Referring now to FIG. 9, the processor information also may include a Processor Secondary Cache Size (PSCS) identifier 90. The PSCS identifier 90 informs the computer system of the size 92 of secondary cache installed with the processor. For an Intel Pentium Pro processor, the PSCS identifier 90 indicates the size of the secondary cache contained in the processor package. If more than two cache sizes are available for use with a processor family, the PSCS identifier 90 must have multiple bits.
Referring to FIGS. 10A and 10B, the processor information, including the FIDO, MIDO, PT, and PSCS signals, is provided by the processor 100 or by switches 101, or both, to a smart controller 94, such as a programmable logic device ("PLD"), on the processor circuit board 99. The PLD 94 uses the FIDO input to set the frequency of a programmable oscillator 96, which generates the system clock frequency that is provided by a clock driver 98 to the processor 100. The PLD 94 provides the MIDO signal to a bit divider 102, which converts the MIDO bits into the 4-bit signal (78 in FIG. 6) that tells the processor 100 how convert the system clock speed to the appropriate processor clock speed. The PT and PSCS inputs are provided to a shift chain 104 that can be accessed by operating the system software to establish the hardware present in the system. System ROM 103 provides supply voltage VCCP and termination voltage VTT information to the PLD 94, which the PLD 94 then uses to control the operation of variable voltage regulator 105, as described below.
Referring to FIG. 11, the computer system is able to determine and to provide the actual core voltage requirement VCCP of the processor 106, even for an Intel Pentium Pro processor having an incorrect VID value. When one processor in a lot fails to meet design specifications, all processors in that lot usually fail to meet the specifications. Thus, all processors in a lot generally are down-binned together. When a computer system manufacturer receives processors from the processor manufacturer, the computer manufacturer may obtain lot information identifying, among other things, the actual core voltage requirements of each lot of processors. The computer manufacturer may then store this information in a look-up table 108 in memory 110 (e.g., ROM). When a processor 106 is installed into the computer system, the system's PLD 112 may read the processor's internal CPU-ID register 114 to determine the processor's lot number and then use the lot number to retrieve the processor's actual VCCP requirement from the look-up table. The PLD then generates an output signal, which it stores to a general purpose register 116.
A variable voltage regulator 118 uses the information stored in the general purpose register 116 to generate the appropriate VCCP and VTT voltage levels for the processor 106. In the variable voltage regulator 118, a logic circuit 118A receives the information from the general purpose register 116 and calculates the corresponding VCCP and VTT voltage levels. The logic circuit 118A then issues a control signal to a DC/DC converter 118B that converts an input voltage level from a voltage source 119 into the appropriate VCCP and VTT values, as described below. For processors in Intel's Pentium Pro family, the variable voltage regulator 118 uses the information stored in the general purpose register 116 to correct the information provided by the processor's VID pins.
Referring to FIGS. 12 and 13, for the Intel Pentium Pro processor family, a processor's VID pins may call for a core voltage that differs from the actual core voltage requirement of the processor. The PLD 112 generates an Override Voltage Identification (ORVID) output 120 that identifies the difference (offset) 122 between the actual core voltage required by the processor and the voltage specified by the processor's VID pins. The ORVID output 120 preferably consists of four digital bits, thereby allowing sixteen different voltage offset values. The most significant bit ("MSB") 119a, ORVID, is a sign bit that indicates the direction of the voltage offset. The lower order bits, 119b-c, ORVID[2:0], determine the magnitude of the offset. In FIG. 13, two of the ORVID patterns ("1111" and "0111") are used to indicate that the voltage specified by the VID pins is correct (i.e., no voltage offset is required), and one of the ORVID patterns ("0000") is reserved. The thirteen remaining ORVID patterns represent voltage offset values ranging from -700 mV to +600 mV, in 100 mV increments. For processors with no VID pins, the ORVID pins may be used to indicate the actual core voltage requirement instead of a voltage offset value.
Referring to FIG. 14, the ORVID output is stored in the lower four bits 116a-d of a general purpose register 116, such as that at address C52h. The ORVID bits are provided from the register 116 to the variable voltage regulator, which uses the ORVID bits in conjunction with the output from the VID pins to produce the required processor core voltage. For an ORVID pattern of "0011", for example, the voltage regulator adds 400 mV to the voltage specified by the VID pins. Thus, for a P6.0 133 MHz processor, which has a VID value of 2.9 volts, an ORVID pattern of "0011" causes the voltage regulator to supply 3.3 volts.
FIG. 15 illustrates how the computer system's PLD generates the ORVID output for an Intel Pentium Pro processor. The PLD first determines (124) the core voltage level specified by the processor's VID pins. The PLD then retrieves (126) the processor's lot number from its internal CPU-ID register. Using the lot number, the PLD accesses (128) the ROM look-up table to determine the actual core voltage requirement of the processor. The PLD subtracts (130) the VID value from the look-up table value to determine the required voltage offset and then converts (132) the offset value into an ORVID pattern. The ORVID pattern is then placed (134) into the 8-bit register and provided (136) to the variable voltage regulator to generate the core voltage required by the processor.
When a processor is upgraded on-the-fly, the voltage must be stepped gradually from the current voltage to the required voltage. The steps must be limited to a predetermined size (e.g., 100 mV) with a minimum delay period (e.g., 5 milliseconds) between steps. Gradually changing the supply voltage in this manner insures that the voltage regulator overvoltage and undervoltage tracking circuitry will not be activated falsely. The 5 ms minimum delay only applies for activating the override function while the processor is running.
Referring now to FIG. 16, a processor manufacturer may employ either the GTL or the GTL+ standard within the same family of processors. In addition, the processor manufacturer may require the computer manufacturer to provide a termination voltage VTT that differs from the standard VTT value (1.2 volts for GTL; 1.5 volts for GTL+). Thus, to insure the availability of on-the-fly upgrades, the computer system generates an Override VTT Identification (ORVTT ID) output 140 that allows the variable voltage regulator (118 in FIG. 11) to produce the required VTT value by applying a range of offset voltages 142 to the standard VTT value.
Referring also to FIG. 17, the ORVTT ID output 140 preferably consists of three digital bits. The MSB 143a (ORVTT ID) determines the direction (i.e., sign) of the offset, and the ORVTT ID[1:0] bits 143b-c determine the magnitude of the offset. In FIG. 16, two of the ORVTT ID patterns ("111" and "011") are used to instruct the voltage regulator to supply the standard VTT value. The remaining six ORVTT ID patterns are used to generate voltage offset values 142 ranging from -300 mV to +300 mV. If the voltage regulator generates a default termination voltage of 1.5 volts (i.e., the GTL+ standard), the ORVTT ID output allows the termination voltage to vary from a value of 1.2 volts (VTT for the GTL standard) to 1.8 volts in 100 mV increments. For an on-the-fly upgrade, the steps must be limited to 100 mv with a minimum delay of 5 ms between steps. Gradually changing the VTT voltage insures that the overvoltage and undervoltage tracking circuitry will not be activated falsely.
Referring to FIG. 18, the ORVTT ID output is stored in the fifth through seventh bits 116e-g of the 8-bit general purpose register 116 containing the ORVID output described above. The eighth bit 116h of the register 116 could be used to store an additional ORVID or ORVTT ID bit, but otherwise is reserved. The ORVTT ID bits are provided from the register 116 to the voltage regulator to generate the appropriate termination voltage.
Referring to FIG. 19, the ORVTT ID output is determined in manner similar to that used to determine the ORVID output. The computer system's PLD first retrieves (144) the processor's lot number from the CPU-ID register. The lot number is used to access (146) a ROM look-up table (108 in FIG. 11) that indicates the actual VTT value required by the processor. The PLD then determines (148) the difference between the actual VTT value and the standard VTT value (1.5 volts) and converts (150) the result into an ORVTT ID pattern. The ORVTT ID pattern is stored (152) in the 8-bit register and used (154) by the voltage regulator to offset the default termination voltage.
Referring again to FIG. 4C, instead of providing information about the processor to the computer system, the pads 56e, 56f, 56g on the processor package 54 may be used to allow the processor manufacturer to select processor features, such as bus/core ratio (and therefore processor frequency), after the processor is packaged. For example, the manufacturer may design the processor 54 to receive a system clock of 50 MHz and to have a bus/core ratio selectable from a predetermined set of ratios (e.g., 1/3 and 1/4), which allows the manufacturer to select, post-packaging, the speed at which the processor operates. In this situation, pad 56f must connect to an internal bond pad 49 instead of to a conductive pin 52c. The bond pad 49 in turn must connect to the processor circuitry (not shown) that determines bus/core ratio. Using codes similar to the three-bit MIDO codes 82 of FIG. 7, if the manufacturer were to provide a three-bit input of "010" to three corresponding bond pads 49, the processor's bus/core ratio would be 1/3, and the processor clock would operate at 150 MHz. If the computer were to apply an input of "100", the bus/core ratio would be 1/4 and the processor would operate at 200 MHz.
Referring now to FIG. 20, signal lines in an open-drain GTL/GTL+ bus 155 may be terminated by a resistor network 156 having a single pull-up resistor 158. At one end, the pull-up resistor 158 connects to the termination voltage, and at the other end, the resistor 158 connects to a termination point 160 on the bus 155, e.g., at a system component ("chip A") 162. The processor 164 and other system components, e.g., "chip B" 166 and "chip C" 168, are connected to the termination point 160 in parallel through resistors 170, 172, 174. These resistors, which have resistance values much smaller than that of the pull-up resistor 158, block any line reflections that may occur in the legs 171, 173, 175 of the GTL/GTL+ bus. A system component, e.g., "chip D" 176, that is in close physical proximity (within 6 inches) to another system component, e.g., chip B 166, may be daisy-chained to the other component 166 without requiring an additional resistor. Any number of closely situated components may be daisy-chained in one leg 171, 173, 175 of the bus. Thus, in FIG. 18, the third leg 175 may be eliminated entirely if the components are positioned carefully.
The termination point 160 of the resistor network 156 may be located at any of the system components, so the resistor network 156 may be placed at virtually any location along the GTL bus 155. As a result, the circuit card designer has great flexibility in laying out the system components and the resistor network. Furthermore, because only a single pull-up resistor is required for each signal line, the resistance seen by the VTT power supply is twice as great as the equivalent resistance of a bus line having two termination resistors in parallel, thereby drawing half of the current drawn by a two resistor termination system.
Other embodiments are within the scope of the following claims. For example, processor information may be provided for any microprocessor family, including those manufactured by AMD, NexGen, Cyril, and Intel. Processor information also may be provided for any processor characteristic that affects the configuration of other system components. In addition, logic standards other than GTL/GTL+ may be used.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5254883 *||Apr 22, 1992||Oct 19, 1993||Rambus, Inc.||Electrical current source circuitry for a bus|
|US5345109 *||Mar 30, 1993||Sep 6, 1994||Intel Corporation||Programmable clock circuit|
|US5363335 *||Sep 28, 1993||Nov 8, 1994||Intel Corporation||Nonvolatile memory with automatic power supply configuration|
|US5404310 *||Oct 17, 1990||Apr 4, 1995||Kabushiki Kaisha Toshiba||Method and apparatus for power-source wiring design of semiconductor integrated circuits|
|US5483188 *||Sep 27, 1994||Jan 9, 1996||Intel Corporation||Gil edge rate control circuit|
|US5493683 *||Dec 29, 1992||Feb 20, 1996||Intel Corporation||Register for identifying processor characteristics|
|US5530620 *||Jun 18, 1993||Jun 25, 1996||Advanced Logic Research, Inc.||Computer system with externally accessible upgrade capability|
|US5537581 *||Mar 24, 1993||Jul 16, 1996||Intel Corporation||Microprocessor with a core that operates at multiple frequencies|
|US5548226 *||Jun 30, 1994||Aug 20, 1996||Hitachi, Ltd.||Fast transmission line implemented with receiver, driver, terminator and IC arrangements|
|US5550496 *||Jul 31, 1995||Aug 27, 1996||Hewlett-Packard Company||High speed I/O circuit having a small voltage swing and low power dissipation for high I/O count applications|
|US5551012 *||Mar 8, 1994||Aug 27, 1996||Acer Incorporated||Single socket upgradeable computer motherboard with automatic detection and socket reconfiguration for inserted CPU chip|
|1||*||Access.bus Specification, Version 3.0, Access.bus Industry Group, pp. 1 1 to 9 7 (Sep. 1995).|
|2||Access.bus Specification, Version 3.0, Access.bus Industry Group, pp. 1-1 to 9-7 (Sep. 1995).|
|3||*||Amiga Hardware Reference Manual, 3rd Ed., Commodore Amiga, Inc., pp. 383 439 (1991).|
|4||Amiga Hardware Reference Manual, 3rd Ed., Commodore-Amiga, Inc., pp. 383-439 (1991).|
|5||Haynie, D., "Addendum to the Zorro III Bus Specification, Zorro III Bus Timing," Revision 1.0, Commodore-Amiga, Inc. pp. 1-12 (Apr. 1993).|
|6||*||Haynie, D., Addendum to the Zorro III Bus Specification, Zorro III Bus Timing, Revision 1.0, Commodore Amiga, Inc. pp. 1 12 (Apr. 1993).|
|7||Heinrich, J., "Pll Passive Components," MIPS R4000 Users Manual, pp E-1 to E-3, (1993).|
|8||*||Heinrich, J., Pll Passive Components, MIPS R4000 Users Manual, pp E 1 to E 3, (1993).|
|9||Kunzman, A.J. et al., "1394 High Performance Serial Bus: The Digital Interface for ATC," IEEE Transactions on consumer Electroncs, vol. 14, pp. 893-900 (Aug. 1995).|
|10||*||Kunzman, A.J. et al., 1394 High Performance Serial Bus: The Digital Interface for ATC, IEEE Transactions on consumer Electroncs, vol. 14, pp. 893 900 (Aug. 1995).|
|11||*||NEC, VR4000 Series Architecture Including VR4400 User s Manual, PLL Passive Components, pp. E 1 E 3, 1993, MIPS Technologies, Inc.|
|12||NEC, VR4000-Series™ Architecture Including VR4400™User's Manual, PLL Passive Components, pp. E-1-E-3, © 1993, MIPS Technologies, Inc.|
|13||*||PCI Local Bus Specification, Production Version, Revision 2.1, pp. 1 281 (Jun. 1995).|
|14||PCI Local Bus Specification, Production Version, Revision 2.1, pp. 1-281 (Jun. 1995).|
|15||*||Pentium Pro Family Developer s Manual, Electrical Specification, Intel, vol. 1: Specification, pp. 11 7 to 11 8, (Jan. 1996).|
|16||Pentium.sup.® Pro Family Developer's Manual, Electrical Specification, Intel, vol. 1: Specification, pp. 11-7 to 11-8, (Jan. 1996).|
|17||*||Universal Serial Bus Specification, Revision 1.0, Compaq Computer Corporation et al., pp. 1 268 (Jan. 1996).|
|18||Universal Serial Bus Specification, Revision 1.0, Compaq Computer Corporation et al., pp. 1-268 (Jan. 1996).|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US6327663 *||Oct 21, 1998||Dec 4, 2001||Advanced Micro Devices, Inc.||System and method for processor dual voltage detection and over stress protection|
|US6453421 *||May 21, 1999||Sep 17, 2002||Intel Corporation||Processor system with power supply selection mechanism|
|US6691242 *||Jun 1, 2000||Feb 10, 2004||Intel Corporation||System test and method for checking processor over-clocking by retrieving an assigned speed from an register internal to the processor, comparing with running speed, and displaying caution message to user|
|US6836848 *||Dec 5, 2001||Dec 28, 2004||Via Technologies Inc.||Power management integrated circuit for overriding an internal frequency ID code of a processor and for providing frequency ID value to a bridge chipset|
|US6897671||Mar 1, 2004||May 24, 2005||Transmeta Corporation||System and method for reducing heat dissipation during burn-in|
|US6900650||Mar 1, 2004||May 31, 2005||Transmeta Corporation||System and method for controlling temperature during burn-in|
|US6941480||Sep 30, 2000||Sep 6, 2005||Intel Corporation||Method and apparatus for transitioning a processor state from a first performance mode to a second performance mode|
|US6968469 *||Jun 16, 2000||Nov 22, 2005||Transmeta Corporation||System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored|
|US7039817 *||Jan 7, 2003||May 2, 2006||Sun Microsystems, Inc.||Method and apparatus for supplying power to a processor at a controlled voltage|
|US7085944||Sep 30, 2000||Aug 1, 2006||Intel Corporation||Power management by transmitting single multiplexed signal to multiple system components to change settings of internal performance registers in response to change in power source|
|US7155621 *||Nov 26, 2001||Dec 26, 2006||Intel Corporation||Method and apparatus to enhance processor power management|
|US7200762 *||Sep 30, 2003||Apr 3, 2007||Intel Corporation||Providing a low-power state processor voltage in accordance with a detected processor type|
|US7228242||Dec 31, 2002||Jun 5, 2007||Transmeta Corporation||Adaptive power control based on pre package characterization of integrated circuits|
|US7231621 *||Apr 30, 2004||Jun 12, 2007||Xilinx, Inc.||Speed verification of an embedded processor in a programmable logic device|
|US7248988||Mar 1, 2004||Jul 24, 2007||Transmeta Corporation||System and method for reducing temperature variation during burn in|
|US7334198||Dec 31, 2002||Feb 19, 2008||Transmeta Corporation||Software controlled transistor body bias|
|US7463050||May 26, 2005||Dec 9, 2008||Transmeta Corporation||System and method for controlling temperature during burn-in|
|US7562233||Jul 14, 2009||Transmeta Corporation||Adaptive control of operating and body bias voltages|
|US7565259||Jul 21, 2009||Eric Chen-Li Sheng||System and method for reducing temperature variation during burn in|
|US7577859 *||Feb 20, 2004||Aug 18, 2009||International Business Machines Corporation||System and method of controlling power consumption in an electronic system by applying a uniquely determined minimum operating voltage to an integrated circuit rather than a predetermined nominal voltage selected for a family of integrated circuits|
|US7595652||Jul 10, 2007||Sep 29, 2009||Eric Chen-Li Sheng||System and method for reducing heat dissipation during burn-in|
|US7598731||Apr 17, 2007||Oct 6, 2009||Robert Paul Masleid||Systems and methods for adjusting threshold voltage|
|US7626409||Sep 26, 2006||Dec 1, 2009||Koniaris Kleanthes G||Frequency specific closed loop feedback control of integrated circuits|
|US7642835||Nov 12, 2003||Jan 5, 2010||Robert Fu||System for substrate potential regulation during power-up in integrated circuits|
|US7649402||Jan 19, 2010||Tien-Min Chen||Feedback-controlled body-bias voltage source|
|US7671621||Mar 2, 2010||Koniaris Kleanthes G||Closed loop feedback control of integrated circuits|
|US7692477||Apr 6, 2010||Tien-Min Chen||Precise control component for a substrate potential regulation circuit|
|US7719344||Feb 21, 2006||May 18, 2010||Tien-Min Chen||Stabilization component for a substrate potential regulation circuit|
|US7730330||Aug 10, 2005||Jun 1, 2010||Marc Fleischmann||System and method for saving and restoring a processor state without executing any instructions from a first instruction set|
|US7739531||Mar 4, 2005||Jun 15, 2010||Nvidia Corporation||Dynamic voltage scaling|
|US7774625||Jun 22, 2004||Aug 10, 2010||Eric Chien-Li Sheng||Adaptive voltage control by accessing information stored within and specific to a microprocessor|
|US7779279 *||Apr 26, 2007||Aug 17, 2010||Asustek Computer Inc.||Power supply system for CPU where an old generation CPU conforms to a second standard and a new generation CPU conforms to a first standard|
|US7782110||Jul 19, 2007||Aug 24, 2010||Koniaris Kleanthes G||Systems and methods for integrated circuits comprising multiple body bias domains|
|US7786756||Sep 30, 2005||Aug 31, 2010||Vjekoslav Svilan||Method and system for latchup suppression|
|US7816742||Oct 19, 2010||Koniaris Kleanthes G||Systems and methods for integrated circuits comprising multiple body biasing domains|
|US7834648||Nov 16, 2010||Eric Chen-Li Sheng||Controlling temperature in a semiconductor device|
|US7847619||Apr 22, 2008||Dec 7, 2010||Tien-Min Chen||Servo loop for well bias voltage source|
|US7849332||May 30, 2003||Dec 7, 2010||Nvidia Corporation||Processor voltage adjustment system and method|
|US7859062||Sep 30, 2004||Dec 28, 2010||Koniaris Kleanthes G||Systems and methods for integrated circuits comprising multiple body biasing domains|
|US7882369||Feb 1, 2011||Nvidia Corporation||Processor performance adjustment system and method|
|US7886164||May 30, 2003||Feb 8, 2011||Nvidia Corporation||Processor temperature adjustment system and method|
|US7941675||May 10, 2011||Burr James B||Adaptive power control|
|US7949864||May 24, 2011||Vjekoslav Svilan||Balanced adaptive body bias control|
|US7953990||Dec 31, 2002||May 31, 2011||Stewart Thomas E||Adaptive power control based on post package characterization of integrated circuits|
|US7996809||Aug 9, 2011||Ditzel David R||Software controlled transistor body bias|
|US8022747||Nov 30, 2009||Sep 20, 2011||Robert Fu||System for substrate potential regulation during power-up in integrated circuits|
|US8040149||Oct 18, 2011||Koniaris Kleanthes G||Frequency specific closed loop feedback control of integrated circuits|
|US8085084||Dec 27, 2011||Robert Fu||System for substrate potential regulation during power-up in integrated circuits|
|US8140872||Jun 10, 2008||Mar 20, 2012||Marc Fleischmann||Restoring processor context in response to processor power-up|
|US8193852||Feb 19, 2010||Jun 5, 2012||Tien-Min Chen||Precise control component for a substrate potential regulation circuit|
|US8222914||Jul 17, 2012||Robert Paul Masleid||Systems and methods for adjusting threshold voltage|
|US8319515||Nov 27, 2012||Robert Paul Masleid||Systems and methods for adjusting threshold voltage|
|US8370658||Jul 14, 2009||Feb 5, 2013||Eric Chen-Li Sheng||Adaptive control of operating and body bias voltages|
|US8370663||Feb 5, 2013||Nvidia Corporation||Power management with dynamic frequency adjustments|
|US8370785 *||Jun 24, 2011||Feb 5, 2013||Ditzel David R||Software controlled transistor body bias|
|US8420472||Aug 31, 2010||Apr 16, 2013||Kleanthes G. Koniaris||Systems and methods for integrated circuits comprising multiple body biasing domains|
|US8436675||May 7, 2013||Tien-Min Chen||Feedback-controlled body-bias voltage source|
|US8442784||May 14, 2013||Andrew Read||Adaptive power control based on pre package characterization of integrated circuits|
|US8566627||Jul 14, 2009||Oct 22, 2013||Sameer Halepete||Adaptive power control|
|US8593169||Sep 16, 2011||Nov 26, 2013||Kleanthes G. Koniaris||Frequency specific closed loop feedback control of integrated circuits|
|US8629711||May 1, 2012||Jan 14, 2014||Tien-Min Chen||Precise control component for a substarate potential regulation circuit|
|US8694808 *||Jun 27, 2013||Apr 8, 2014||Huawei Technologies Co., Ltd.||Method and apparatus for power supply protocol management, and power supply system applying them|
|US8697512||Dec 14, 2010||Apr 15, 2014||Kleanthes G. Koniaris||Systems and methods for integrated circuits comprising multiple body biasing domains|
|US8775843||Feb 4, 2013||Jul 8, 2014||Nvidia Corporation||Power management with dynamic frequency adjustments|
|US8806247||Dec 21, 2012||Aug 12, 2014||Intellectual Venture Funding Llc||Adaptive power control|
|US8839006||May 28, 2010||Sep 16, 2014||Nvidia Corporation||Power consumption reduction systems and methods|
|US8843344||Jul 20, 2009||Sep 23, 2014||Eric Chen-Li Sheng||System and method for reducing temperature variation during burn in|
|US8898616 *||Jan 14, 2013||Nov 25, 2014||Intellectual Venture Funding Llc||Software controlled transistor body bias|
|US9026810||Dec 31, 2012||May 5, 2015||Intellectual Venture Funding Llc||Adaptive control of operating and body bias voltages|
|US9100003||Jul 16, 2012||Aug 4, 2015||Robert Paul Masleid||Systems and methods for adjusting threshold voltage|
|US9134782||May 7, 2007||Sep 15, 2015||Nvidia Corporation||Maintaining optimum voltage supply to match performance of an integrated circuit|
|US9256265||Dec 30, 2009||Feb 9, 2016||Nvidia Corporation||Method and system for artificially and dynamically limiting the framerate of a graphics processing unit|
|US9407241||Aug 16, 2012||Aug 2, 2016||Kleanthes G. Koniaris||Closed loop feedback control of integrated circuits|
|US20020073346 *||Dec 5, 2001||Jun 13, 2002||Chia-Hsing Yu||Integrated level shift and override circuit for a processor system|
|US20020083356 *||Nov 26, 2001||Jun 27, 2002||Xia Dai||Method and apparatus to enhance processor power management|
|US20020143518 *||Mar 28, 2001||Oct 3, 2002||Abrahamson Carl K.||Dynamically adaptable digital architecture system|
|US20040128090 *||Dec 31, 2002||Jul 1, 2004||Andrew Read||Adaptive power control based on pre package characterization of integrated circuits|
|US20040128566 *||Dec 31, 2002||Jul 1, 2004||Burr James B.||Adaptive power control|
|US20040128567 *||Dec 31, 2002||Jul 1, 2004||Tom Stewart||Adaptive power control based on post package characterization of integrated circuits|
|US20040128631 *||Dec 31, 2002||Jul 1, 2004||Ditzel David R.||Software controlled body bias|
|US20040133813 *||Jan 7, 2003||Jul 8, 2004||Burnham Andrew S.||Method and apparatus for supplying power to a processor at a controlled voltage|
|US20050046400 *||May 21, 2003||Mar 3, 2005||Efraim Rotem||Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components|
|US20050071696 *||Sep 30, 2003||Mar 31, 2005||Pearl Lowell Raymond||Providing a low-power state processor voltage in accordance with a detected processor type|
|US20050188230 *||Feb 20, 2004||Aug 25, 2005||International Business Machines Corporation||System and method of controlling power consumption in an electronic system|
|US20050192773 *||Mar 1, 2004||Sep 1, 2005||Sheng Eric C.||System and method for reducing temperature variation during burn in|
|US20050196268 *||Mar 2, 2004||Sep 8, 2005||Shah Dilip M.||High modulus metallic component for high vibratory operation|
|US20070271061 *||Jul 24, 2007||Nov 22, 2007||Transmeta Corporation||System and method for reducing temperature variation during burn in|
|US20070300087 *||Apr 26, 2007||Dec 27, 2007||Sheng-Chung Huang||Power supply system for cpu|
|US20080024152 *||Jul 10, 2007||Jan 31, 2008||Transmeta Corporation||System and method for reducing heat dissipation during burn-in|
|US20080141187 *||Feb 19, 2008||Jun 12, 2008||Transmeta Corporation||Software controlled transistor body bias|
|US20080143372 *||Feb 26, 2008||Jun 19, 2008||Transmeta Corporation||Closed loop feedback control of integrated circuits|
|US20090289654 *||Nov 26, 2009||Eric Chen-Li Sheng||System and method for reducing temperature variation during burn in|
|US20090316750 *||Jun 19, 2009||Dec 24, 2009||Eric Chen-Li Sheng||System and method for reducing temperature variation during burn in|
|US20100011233 *||Jan 14, 2010||Sameer Halepete||Adaptive power control|
|US20100060306 *||Sep 1, 2009||Mar 11, 2010||Koniaris Kleanthes G||Frequency specific closed loop feedback control of integrated circuits|
|US20100073075 *||Nov 30, 2009||Mar 25, 2010||Robert Fu||System for substrate potential regulation during power-up in integrated circuits|
|US20100073076 *||Nov 30, 2009||Mar 25, 2010||Robert Fu||System for substrate potential regulation during power-up in integrated circuits|
|US20100201434 *||Aug 12, 2010||Tien-Min Chen||Precise control component for a substrate potential regulation circuit|
|US20100257389 *||Jul 14, 2009||Oct 7, 2010||Eric Chen-Li Sheng||Adaptive control of operating and body bias voltages|
|US20110086478 *||Dec 14, 2010||Apr 14, 2011||Koniaris Kleanthes G||Systems and methods for integrated circuits comprising multiple body biasing domains|
|US20110219245 *||Sep 8, 2011||Burr James B||Adaptive power control|
|US20110231678 *||Sep 22, 2011||Stewart Thomas E||Adaptive power control based on post package characterization of integrated circuits|
|US20110258590 *||Oct 20, 2011||Ditzel David R||Software controlled transistor body bias|
|Jul 15, 1996||AS||Assignment|
Owner name: COMPAQ COMPUTER CORPORATION, TEXAS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GEBARA, GHASSAN R.;JANSEN, KENNETH A.;REEL/FRAME:008109/0612;SIGNING DATES FROM 19960702 TO 19960705
|Oct 30, 2001||CC||Certificate of correction|
|Dec 31, 2001||AS||Assignment|
Owner name: COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P., TEXAS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COMPAQ COMPUTER CORPORATION;REEL/FRAME:012418/0222
Effective date: 20010620
|Aug 19, 2003||FPAY||Fee payment|
Year of fee payment: 4
|Jan 21, 2004||AS||Assignment|
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS
Free format text: CHANGE OF NAME;ASSIGNOR:COMPAQ INFORMATION TECHNOLOGIES GROUP, LP;REEL/FRAME:015000/0305
Effective date: 20021001
|Sep 7, 2007||FPAY||Fee payment|
Year of fee payment: 8
|Sep 17, 2007||REMI||Maintenance fee reminder mailed|
|Sep 7, 2011||FPAY||Fee payment|
Year of fee payment: 12