Abstract:
An upgradeable/downgradeable computer system is made capable of being driven by more than one model of central processing units, including at least one socket means capable of being plugged with different model of central processing units, an identifying circuit capable of identifying the model of the central processing unit in the socket means and generating an identifying signal, a clock generator responsive to the identifying signal for generating a clock signal acceptable to the model of the central processing unit in the socket means, and a means responsive to the identifying signal for gating and inhibiting a plurality of input/output signals of the central processing unit in the socket means.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This is a Continuation of application of U.S. Ser. No.07/872,611, filed Apr. 22, 1992, now abandoned which is a Continuation-in-part of U.S. Ser. No. 07/689,317, filed Apr. 22, 1991, now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of Invention 
     The present invention relates generally to an upgradeable/downgradeable computer, and specifically to a computer having circuits capable of being driven by more than one model of central processing unit (CPU). 
     2. Description of the Related Art 
     As prices of CPUs decrease, the cost of a CPU as portion of the total cost of the whole system decreases, and as introduction of new types of central processors is becoming faster and faster (for example, within a span of only a few years, the Intel Corporation has introduced models 8086, 80286, 80386, 80486), it is now feasible to have a computer system that can be upgraded or downgraded by simply replacing processors. More specifically, it is desirable to have a computer system with circuitry (motherboard) that can accept different types of central processors without alteration. 
     FIG. 1 is a block diagram of a prior art system. As shown in FIG. 1, the system 10 is designed with two distinct sockets, the first socket 1&#39; for 80486SX (80P23), and the second socket 2&#39; for 80487SX (80P23N). In addition to the CPU clock signal (CLK) from the clock source 7&#39;, all other signals from/to data bus 100&#39;, address bus 101&#39;, and control bus 102&#39; of the 80486SX, are tied to the corresponding signals of the 80487SX. The MP# signal of the 80487SX is tied high to allow the system 10 to function normally when the 80487SX is not present. When the 80487SX is inserted in the first socket 1&#39;, the MP# signal of the 80487SX drives the BOFF# signal and the FLUSH# signal of the 80486SX active, thus, tri-stating it. The 80487SX then takes charge of the buses 100&#39;, 101&#39; and 102&#39; and the system 10 works normally. 
     SUMMARY OF THE INVENTION 
     The present invention relates to an upgradeable/downgradeable computer system capable of being driven by more than one model of processor. The computer system comprises a circuit board which has a socket for receiving a processor, means for identifying the model of the processor in the socket and generating an identifying signal, clock generator responsive to the identifying signal for generating a clock signal acceptable to the identified processor, and circuits responsive to the identifying signal for gating and inhibiting a plurality of input/output signals of the identifyed processor. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a prior art circuit. 
     FIG. 2 is a logic block diagram illustrating a computer system wherein the present invention is embodied. 
     FIG. 3 is a logic block diagram illustrating an alternate embodiment of the computer system of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The present invention is described, by way of example, with reference to models 80486SX, 80486DX, and 80487SX of Intel Corporation&#39;s central processors. These different models of processors operate on different frequencies and have the following pin assignments: 
     
                       TABLE 1______________________________________Pin No. A13      A15        B14   B15   C14______________________________________80486SX NC       NMI        NC    NC    NC80486DX NC       IGNNE#     NC    NMI   FERR#80487SX FERR#    IGNNE#     MP#   NMI   NC______________________________________ 
    
     &#34;NC&#34; means that the corresponding pin of a processor is not connected. 
     There are two differences between pinouts of 80487SX and 80486DX. In 80487SX, the FERR# signal (which carries an output signal indicating occurrence of a floating point error) is assigned to pin A13. In contrast, the FERR# signal is assigned to pin C14 in the 80486DX. In addition, 80487SX has a output signal (MP#) on pin B14, but pin B14 of the 80486DX is not used. The MP# signal is activated low and is never floated. It is driven low at power up and remains active for the entire duration of the processor&#39;s operation. 
     FIG. 2 is a block diagram of a computer system 20 wherein the present invention is embodied. The computer system 20 comprises a first socket 1 for receiving a first processor and a second socket 2 for receiving a second processor. The first socket 1 and the second socket 2 are each connected to a bus 100 through which address, data and control signals are passed. Not shown in FIG. 2 are memory, input/output devices and other components of the system. These components are not shown because they are generally known to those skilled in the art. 
     According to a preferred embodiment of the present invention, the first socket 1 is capable of receiving either the 80486DX or the 80487SX processor models. The first socket 1 is connected to a circuit 3 which, as will be described herein below, is capable of identifying the model of processor plugged into the socket 1 as well as generating clock frequency appropriate for the model plugged in. 
     Pin B14 of the first socket 1, which is used to output the MP# signal if a 80487SX model is plugged in, or is open when a 80486DX is plugged in, is tied to a &#34;high&#34; voltage signal through a resister R1. 
     Upon entering the circuit 3, the MP# signal 221 will be used to drive a selector 32. The selector 32 has two inputs, A0 and A1. A0 receives a clock signal 71 from the clock source 7, whose frequency is appropriate for operation of 80486DX. A1 receives a clock signal 72 from the clock source 7, whose frequency is appropriate for the operation of 80487SX. Depending on the logic signal level of the selection control pin S, which is controlled by the output of the MP# signal 221, one of these clock signals will be input to the first socket 1 at clock pin C3. When a 80486DX is plugged in, the logic signal level of the selection control pin S will be high because pin B14 is open. When a 80487SX is plugged in, the logic signal level of the selection control pin S will be low because of the MP# signal at pin B14. 
     The signal (either the MP# signal or a high voltage) from pin B14 of the first socket 1 is also used to control two tri-state gates 312 and 313. The input of tristate gate 312 is coupled to pin A13 of socket 1 for passing the FERR# signal when the 80487SX processor is inserted into socket 1. The input of the other tristate 313 is coupled to pin C14 of socket 1 for passing the FERR# signal when the 80486DX processor is inserted into socket 1. Thus, each of these two gates 312, 313 receives the FERR# signal from the first socket 1 when the appropriate processor is inserted into tile socket 1. However, because of the inverter 311, only one gate 312, 313 will pass the FERR# signal at any instant. When a 80486DX is plugged in, gate 313 will be enabled and tile FERR# signal at pin C14 of the first socket 1 will be gated to the bus 100 by line 225. When a 80487SX is plugged in, gate 312 will be enabled and the FERR# signal at pin A13 of the first socket 1 will be gated to the bus 100. 
     To further improve flexibility of the computer system 20, a second socket 2 is provided for the connection of a 80486SX processor. In the event that both the first socket 1 and the second socket 2 house processors, the processor in the second socket 2 will be disabled. This is accomplished by the signal 200 coming out of the &#34;Vss&#34; pin S10 of the first socket 1. This &#34;Vss&#34; pin S10 is tied to a logic &#34;high&#34; voltage signal through a resister R2. It will be understood by those skilled in the art that while this improved circuit can accept two processors, they do not need to be plugged in concurrently for the computer system to operate. 
     When a processor is plugged into the first socket 1, the signal 200 from the &#34;Vss&#34; pin S10 will disable signals (e.g. BOFF# and FLUSH#) to tile second socket 2 by AND gates 21 and 22. The method of disabling a processor in a two-processor system using a signal from the non-disabled processor is known to the art. 
     Advantageously, the signal 200 from the &#34;Vss&#34; pin S10 is also used to disable clock signal 73 from clock source 7 into the first socket 1 so as to reduce power spent by the disabled processor. To allow the processor in the second socket 2 to stabilize, circuit 33 is used. Circuit 33 basically ORs the signal 200 with a &#34;power good&#34; (PWGRD#) signal of the computer system 20. The output signal 226 of OR gate 331 is then used to control the clock signal 73 to the second socket 2. The PWGRD# signal would become active only for a few cycles immediately after power on. The effect is to have the PWGRD# signal enable the clock signal 73 to pass to the processor in the second socket 2 to allow it to stabilize. 
     Referring now to the logic diagram of FIG. 3, an alternate embodiment for the upgradeable/downgradeable computer system is illustrated. The upgradeable/downgradeable computer system preferably has a CPU socket cable of housing different models of central processing units, such as the 80486SX, 80487SX, and 80486DX. 
     As shown in Table 1, pin A13 of 80487SX is assigned to FERR# signal, but pin C14 of 80486DX is for the FERR# signal; pin A15 of 80486SX is for NMI, but pin A15 of 80486DX or 80487SX is for IGNNE# signal. Therefore, the problem of pin assignment such as that of A13 or C14 (which connects to bus 100, handling the floating point error signal FERR# 225), or A15 (which connects to bus 100, handling the ignore error signal IGNNE# or non-maskable interrupt request NMI) must be resolved before CPU socket 1 is capable of holding different models of processors like 80486SX, 80486DX and 80487SX. 
     The basic function of the control circuit 30 is to control the IGNNE# or NMI signals of bus 100 which connects to pin A15 of CPU socket 1. Circuit 30 comprises a D type flip-flop 301 and two gates 302, 303. 
     The data input D and the clock input (CLK) of flip-flop 301 are tied to a high voltage through a pull up resistor. The output Q of said flip-flop 301 is used to control gate 302, and the inverted output Q&#39; is used to control gate 303. The clear input CL of said flip-flop 301 is connected to a power good signal (PWGRD) which shows the stability of the power supply. The preset input (PR) is connected to the FERR# signal on line 225. Generally, the present invention employs 80486SX in CPU socket 1 as processor if not otherwise specified. The system 30 can be upgraded by replacing the 80486SX with either a 80487SX or 80486DX in CPU socket 1. 
     When a 80486SX is plugged in CPU socket 1, since pin B14 of 80486SX is &#34;NC&#34;, the signal 221 is coupled to a high voltage through a resistor R1, and will turn off gate 312, and also turns on gate 313. As a result, the signal at pin C14 of CPU socket 1 is then gated to bus 100. Since pin C14 of the 80486SX is &#34;NC&#34; because the 486SX does not comprise an internal coprocessor, neither a high logic level nor a low level voltage will be outputted on line 225 as the FERR# signal and the FERR# signal will not affect the normal operation of the system 30 in this case. 
     As mentioned above, when CPU socket 1 is occupied by 80486SX, pin C14 is &#34;NC&#34; and connected to FERR# 225, and since FERR# 225 is connected to the preset input PR of the D type flip-flop 301, the output (Q or Q&#39;) of the flip-flop 301 will remain unchanged. It means that when 80486SX is used in default, the NMI signal sent through tristate gate 302 and input to pin A15 of tile CPU socket 1. 
     Moreover, when a 80486SX is plugged in CPU socket 1 and PWGRD signal is sent to the clear input CL of the flip-flop 301, since tile data input D of the flip-flop 301 and the clock input CLK are tied &#34;high&#34;, the voltage of the output Q of the flip-flop 301 is low (&#34;0&#34;) and the voltage of the inverted output Q&#39; of the flip-flop 301 is high (&#34;1&#34;). If the voltage of the output Q of the flip-flop 301 is low, gate 302 will be turned on allowing the NMI signal to be sent to pin A15 of CPU socket 1, while the gate 303 will be turned off disconnecting the IGNNE# from pin A15 of CPU socket 1. 
     However, if a 80486DX or 80487SX is plugged in CPU socket 1, pill A15 of CPU socket 1 must be connected to the IGNNE# signal of bus 100, and disconnected from the NMI signal of bus 100. 
     To accomplish this, the present invention executes a segment of a program to test the existence of coprocessor before initiating POST (Power On Self Test) of the BIOS (Basic Input/Output System). If a coprocessor exists, the program will then intentionally generate a computing error for the coprocessor, such as executing three basic coprocessor instructions FLD1, FLDZ and FDIV to perform a division by zero. Therefore, a low voltage (&#34;0&#34;) for FERR# signal will be outputted from pin A13 or pin C14 of the CPU socket 1 to the preset input (PR) of the flip-flop 301. 
     When the logic low level of FERR# signal is sent to the preset input of flip-flop 301, the output Q of the flip-flop 301 will be present to high (&#34;1&#34;). Therefore, gate 302 is turned off to disconnect the NMI signal pin A15 of CPU socket 1. Meanwhile, the inverted output Q&#39; of the flip-flop 301 will be low (&#34;0&#34;), and gate 303 will be turned on, allowing IGNEE# signal to be connected to pin A15 of CPU socket 1. Therefore, a socket means 1 capable of receiving different models of central processors such as 80486SX, 80487SX and 80486DX can be accomplished. 
     While the invention has been described with respect to preferred embodiments thereof, it is to be understood that the foregoing and other modifications and variations may be made without departing from the scope and spirit thereof.