Patent Publication Number: US-2003229816-A1

Title: Clock control arrangement for a computing system, power management system and processing unit including the same

Description:
TECHNICAL FIELD OF THE INVENTION  
       [0001] The invention relates to computing systems and more particularly to a clock control arrangement for a computer system.  
       BACKGROUND ART  
       [0002] The need for system performance in the field of data computing in general, and personal computers in particular, continuously increases with the development of new applications and software programs which require higher and higher levels of performance.  
       [0003] In the field of personal computers (P.C.) for instance, each new release of a commercial software program offers new functions to customers normally at the cost of additional requirements in terms of computing resources.  
       [0004] Computer manufacturers have continually to tackle the problem of increasing the processing resources of their products.  
       [0005] This very general problem can be handled in different ways. A more direct way to increase the system performance of a computer at the level of the manufacturing process being used is to increase the density of the semiconductor elements located on a chip. In particular, the reduction of the distances between elementary switching components permits the frequency at which the semiconductor will be able to operate to be increased and, thereby, the processing power. Although this solution is the one which is currently applied in the field of semiconductor manufacturing technology, its main drawback is the huge development costs which are involved.  
       [0006] Another possibility to increase the system performance of a given processor chip results from the margin left by the manufacturer of the semiconductor product in the definition of the voltage and the frequency of the clock driving the processor. A result of this is the development of a kind of “clock chipping” industry which concentrates on the possibility of running a computer at a frequency somewhat higher than the specification defined by the manufacturer. However, this tends to substantially increase the heat dissipation and the temperature to be evacuated on the chip and further, the continuous clocking of the processors out of the range specified by the product manufacturer might degrade the performance of the semiconductor product and increase the exposure to failures and irreversible damage.  
       [0007] This is a reason why the continuous overclocking of a semiconductor chip such as a processor, is not generally recommended by the product manufacturers.  
       [0008] However, in some cases, it could be desirable to increase the system performance of a computing system, in a safe manner which does not expose the chip to irreversible damage.  
       SUMMARY OF THE INVENTION  
       [0009] It is an object of the present invention to provide a process and an apparatus for increasing the processing resources of a processor of a given technology level, while staying in a safe operating mode.  
       [0010] In general terms this is achieved through a clock control arrangement that allows adjustment of the frequency of the driving clock in accordance with the activity of the computing system.  
       [0011] More specifically there is provided a clock control arrangement for a computing system including a processing unit, said control arrangement comprising: a clock generator for generating at least a first clock signal having a first frequency and a second clock signal having a second higher frequency; circuitry for monitoring the activity of said processing unit; and a switching arrangement for switching the clocking of said processor to said second clock in response to the detection of increased activity of said processing unit.  
       [0012] Preferably, the activity of the computing unit is monitored by means of a determination of the number of transactions being handled at a given instant by the processing unit.  
       [0013] This results in an effective control of the clocking of the computer system based on a close and precise monitoring of the activity of the processing unit. In at least preferred embodiments this is carried out independently of the operating system which is running within the computer system, and also independently of the power management functions which operate in the system. The computing unit is monitored with a very low response time which is much lower than that which is inherent in the conventional power management techniques handled by the operating system which, further, tends to increase when the processing unit becomes saturated and overwhelmed by a high number of transactions being active on the processor.  
       [0014] Preferably, when the detection means detects a temporary high activity or even a saturation of the processing unit, the clocking arrangement is switched to the clock having a higher frequency.  
       [0015] Preferably, when the processing unit incorporates a PENTIUM™ family type processor, the clocking control process is based on the information which is reported by the Block Next Request (B.N.R.) control lead of the processor. In one embodiment, there is provided the counting of the number of transactions which are pending on the processor bus.  
       [0016] In one preferred embodiment, a watchdog mechanism is used for automatically switching back to the lower frequency clock after the expiration of a predetermined period.  
       [0017] Another aspect of the invention provides a power management system for a computing system including a processing unit, such as a processor, and a clocking arrangement generating at least a first clock having a first frequency and a second clock having a second higher frequency, said clocking arrangement comprising:  
       [0018] means for monitoring the activity of said processing unit;  
       [0019] means for switching the clocking of said processor to said first clock in response to a low level of activity of said processing unit.  
       [0020] Preferably, the control of the clocking of the processing unit is based on the use of:  
       [0021] circuit means for analysing the number of transactions existing on the processing bus of the processor for the purpose of detecting a temporary high activity or saturation of said processing unit;  
       [0022] means for switching the clocking of the processor to said second clock in response to said detection.  
       [0023] In one embodiment, the clocking control is based on the monitoring of the number of START and STOP operations on the bus of said processor.  
       [0024] If the computing system is based on a PENTIUM™ type processor, the control of the clocking is based on the analysis of the information reported by said control lead Block Next Request (B.N.R.)  
       [0025] A further aspect of the invention consists in the realization of a semiconductor chip which is operable at at least a first and a second clock frequency, the frequency of said second clock being at a higher value than the frequency of said first clock. The processing unit can further include:  
       [0026] means for monitoring a state of high activity of said processing unit;  
       [0027] means for deriving from said monitoring a control signal requesting said first or said second clock frequency.  
       [0028] In one embodiment, there is monitored the number of transactions active on said processing unit for the purpose of determining a temporary high activity or saturation of said processing unit. An overclock request control signal is provided out of said semiconductor chip in response to a temporary detection of high activity or saturation of said processing unit.  
       [0029] Preferably, the semiconductor chip includes means for sensing the internal temperature of said chip and means for forcing the switching back of said overclock request to said first clock in response to said detection of increase of the temperature. 
     
    
    
     DESCRIPTION OF THE DRAWINGS  
     [0030] An embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings, wherein:  
     [0031]FIG. 1 illustrates the cascade of delays which are involved in a basic driver-receiver architecture.  
     [0032]FIG. 2 illustrates a basic clock arrangement circuit which is controlled by the monitoring of the bus activity of a processor.  
     [0033]FIG. 3 shows how the START and STOP operations can be monitored in order to compute a value representative of the activity of the processor.  
     [0034]FIGS. 4 a  and  4   b  respectively illustrate the CPU activity and the bus activity of a processor.  
     [0035]FIG. 5 illustrates a basic architecture of a processor incorporating a specific circuit for providing overclock request control signal. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT OF THE INVENTION  
     [0036] There will now be described in detail how an adjustment of the operating speed of a computing system can be achieved based on a monitoring of the activity of the processing unit which is included within the system.  
     [0037] In one embodiment, the clock control can be used for the purpose of providing an effective power management system since the switching between the two clocks driving the system can be dynamically achieved, without the response time required by the operating system. The switching between the first and the second frequencies remains independent of and transparent to the operating system and conventional power management techniques and, therefore, can achieve a close adjustment of the proper frequency to be supplied to the processing unit in accordance with the activity of the processor. Such close control of the frequency is not possible at the level of the operating system since, firstly, this would result in a much higher response time and, further, the response time would tend to increase when the system becomes saturated.  
     [0038] The description below will concentrate on an effective “overclocking” arrangement which still allows effective gain of system performance during short peaks of activity while ensuring safe condition of running. Indeed, the processor can be operated at a first frequency which is chosen to comply with the specifications of the product manufacturer, thus ensuring a safe running condition. The following considerations should be recalled in the case of the perspective of “overclocking” a processing unit.  
     [0039] Generally speaking, the frequency of the clocks which can be used in a synchronous system should not exceed a value which depends upon the internal characteristics of the electronic components, and particularly the internal delays required for establishing the appropriate voltage within the internal components as well as for propagating the signal from the drivers to the receivers.  
     [0040]FIG. 1 illustrates the sequence of delays which is involved in a very basic circuit comprising a driver  1  and a receiver  2  which are both clocked by a clock generator  3 . Considering the skew and jitter characteristics of the clock generator  3 —represented by the values T skew  and T jitter , as well as the propagation time of the signal from the driver to the receiver—hereinafter called T p , it can be seen that the switching speed—or correspondingly the cycle period of the clock generator  3  should be at least equal to:  
     
       T&gt;T 
       cto 
       +T 
       p 
       +T 
       su 
       +T 
       skew 
       +T 
       jitter  
     
     [0041] Where  
     [0042] T cto  is the time required between the arrival of the clock of the input buffer and the effective output of the signal.  
     [0043] T su  is the minimum setup time of the input buffer before the arrival of the next clock period  
     [0044] T skew  and T jitter  are respectively the potential skew between two copies of the clock and the clock to clock jitter between the latter.  
     [0045] It can be drawn from the above formula that the potential for increasing the clock frequency is limited by internal delays of the components forming an electronic circuit. It should be observed that the T cto  and T su  parameters closely depend on the temperature and, correspondingly, this tends to seriously limit the possibility of increasing the frequency at which the system may be continuously operated since any increase of frequency correspondingly increases the power dissipation and thus the temperature within the chip.  
     [0046] There will be disclosed hereinafter one embodiment which provides controlled overclocking while limiting the increase of temperature since the overclocking is limited to a short time period that can be closely controlled.  
     [0047] More particularly, this allows an electronic component, such as a processor or a video ASIC chip, to be used close to its maximum possible switching speed, while ensuring safe operation.  
     [0048] To achieve this, there is provided a circuit which analyses the activity of the processing unit, for instance a given processor, and particularly the activity existing on particular predetermined locations of the latter. In one embodiment, the bus of the processor is precisely monitored for the purpose of determining, at every instant, the number of transactions which are pending.  
     [0049] Different possibilities can be used for determining the activity of the processor or any ASIC circuit. In the case of a PENTIUM™ processor, advantage can be taken of the control signal existing on the Block Next Request control lead which is representative of the occurrence of a temporary saturation of the processor. In another embodiment, a more precise adjustment can be obtained by computing a value that is representative of the number of transactions pending on the bus.  
     [0050]FIG. 2 more particularly illustrates the architecture of a computing system, such as a motherboard including a PENTIUM TM type processor  210  (marketed by Intel Corp) or a video card including a ASIC chip. Processor  210  is associated with a corresponding chipset  220  which includes a memory controller  221  and a video interface  222 . The general operation of these components is well-known and will not be further described herein.  
     [0051] Chipset  220  communicates with processor  210  via Gun Transceiver Logic (GTL) bus  290  which includes a set of control leads which are used for the purpose of monitoring the activity of the processor. In particular, advantage can be taken of the Interrupt control lead of the processor (not shown), but also the Block Next Request (B.N.R.) control lead  240  existing on the PENTIUM™ type bus which, when activated, is representative of a state of saturation existing on the bus.  
     [0052] The monitoring of the activity of the processor Block Next Request (B.N.R.) control lead  240  provides a close monitoring of the saturation of the processor which is independent of the main operating software.  
     [0053] The control signal existing on BNR control lead  240  is transmitted to a control unit  230  which performs an analysis of the activity of the processor  210 . In one embodiment, control unit  230  also receives information representative of the temperature of the chip—either external or internal—by means of a temperature sensing device  280 . The control unit  230  derives from the information reported by the GTL bus and, possibly the temperature sensing device  280 , a control signal on a control lead  231  which is transmitted to a controllable clock circuit  270  which produces the clock required for driving processor  210 .  
     [0054] In one embodiment, clock circuit  270  produces at least two different clock signals, a first one having one given frequency (F1) and a second one of a higher frequency (F2). In accordance with the state of the control lead  231 , clock circuit  270  provides a clock signal on a lead  260 , at a frequency which is either F1 or F2. Clock signal on lead  260  is transmitted to processor  210  and used for driving the associated circuits on the chipset  220 .  
     [0055] By establishing a direct connection between the activity of the GTL bus reported by the BNR signal, the speed of operation of the processor  210  can be dynamically controlled.  
     [0056] The control of the frequency of the processing unit can be used either for carrying out an overclocking or a downclocking of the processor.  
     [0057] In the case of overclocking, the BNR control signal is used for controlling clock circuit  270  so that the latter produces the higher frequency value to the processor  210 . This provides an increase of the performance of the computing system.  
     [0058] Generally speaking it is envisaged that the higher value F2 of the second clock be chosen to be within the range of frequencies being compatible with the safe operation of the processor so as to secure a safe operating of the processor  210 . However, should the designer wish to use the system in a case of “overclocking” that is exceeding the limits defined by the manufacturer of the processor, they should carefully choose the particular value being used so as to remain within the limits of the formula which is given above.  
     [0059] Whatever the particular use of the clocking arrangement, be it for overclocking for gaining speed or for downclocking for power management, the control unit  230  can use the information reported by the processor bus for the purpose of conducting a statistical analysis of the activity of the processor. In this respect, it could be advantageous to have a more precise indication of the level of activity of the processor, and particularly the accurate number of transactions on the GTL bus. This can be achieved by computing this number from the START and STOP commands which are available on the bus and which are representative of the direct activity of the processor which can be precisely analysed by control unit  230  for the purpose of controlling controllable clock circuit  270 .  
     [0060] More particularly, the number of transactions pending can be calculated by implementing a counter that is incremented each time a “Transaction START” condition is found on the bus and decremented each time a “Transaction STOP” is detected. In this embodiment, this number of transactions pending is referred to as “IOQ” (In Order Queue). When IOQ=0, the bus is idle, When IOQ=IOQmax (the maximum is defined by the internal logic agent that is limited by its logic depth that cannot follow more than a IOQmax number of transaction at a time). Generally speaking, once IOQ reaches a given level, there is a strong probability that increasing the clock frequency will result in a direct increase of the visible performance.  
     [0061] With respect to FIG. 3, there is illustrated a chronogram representing the evolution of the IOQ representative of the current transactions which are pending. In one embodiment, control circuit  230  uses a threshold value for controlling clock circuit  270  to switch from the lower speed to the higher speed. It can be seen that when the number transactions increases, or even when a temporary saturation condition is detected—which may occur for instance when the user launches a new application and opens a new window in an operating system such as WINDOWS™ for instance—the processor is switched to the second clock—as represented by arrow  31  in FIG. 3—for the purpose of increasing the system performance. Since the second clock is only operated during a brief instant, no heat or very negligible heat dissipation occurs inside the semi-conductor chip. This ensures a safe condition of the processor, ie non-destruction of the semi-conductor chip and also failure free operating conditions.  
     [0062] Preferably, in order to remain within a temperature range that allows efficient overclocking there is provided a watchdog circuit which automatically switches back the clocking of the process to the first clock so as to return to the lower frequency after a predetermined period T max , as illustrated by arrow  32  in FIG. 3.  
     [0063] While overclocking a semiconductor chip is normally not safe and not recommended by the product manufacturer, it can be seen that the semiconductor chip can be better operated by means of a better control of the voltage (V) and/or the temperature (T) of the chip.  
     [0064] In one particular embodiment, the security is still enhanced with means for detecting the temperature of the semiconductor chip, so as to ensure safe operation of the processor. The temperature detection means can be external and located on the system cooler of the processing unit. Alternatively, the temperature detection means can be located internally within said processor, for instance based on a thermal diode.  
     [0065] Controllable clock circuit  270  can advantageously include a Phase Locked Loop (PLL) circuit which provides a wide range of different frequencies for the clock control. In this case, control lead  231  can be replaced by a control bus for the purpose of defining the particular frequency among the range of frequencies available at the PLL circuit which will be used for driving processor  210 . Therefore, there is provided a precise adjustment of the frequency of the clocking driving processor  210 . As explained above, the clock control can be used either for providing overclocking or downclocking.  
     [0066] It can be seen that the architecture described in FIG. 2 enables a close and precise clocking control of the frequency of operation of a processing unit such as a processor. This is different from the known mechanisms used in the power management techniques known in the art, for instance used in the WINDOWS™ operating system. Conversely to many known techniques, which monitor inactivity of the processing unit beyond a predetermined relatively long period, for instance a few minutes, for adjusting the frequency of the processor, the invention dynamically controls and adjust the frequency of operation of the processor using direct knowledge of the activity of the processor, and its temperature. Therefore, it is possible to achieve dynamic control and adjustment of the clocking of a system, and particularly, to substantially increase the system performance during short peaks of activity as shown in FIGS. 4 a  and  4   b , for instance when the user is opening a window for instance. The temporary gain in system performance is favorably perceived by the user of the computer.  
     [0067]FIG. 4 a  illustrates a representation of the CPU activity, as seen for instance in the Windows task manager, while FIG. 4 b  illustrates the bus activity. The two figures show the strong correlation existing between the two lines and, therefore, the effective control of the overclocking which can be achieved by precisely monitoring the bus activity.  
     [0068] The switching to the higher clock during a short period does not result in a significant increase of the temperature of the semiconductor chip. For the purpose of increasing security, and in order to avoid the effects of the high temperature and the irreversible damage which such temperature might cause to the chip, there is provided a special arrangement which is used for forcing the switching to the first clock when a set of security conditions are no longer fulfilled.  
     [0069] Many different embodiments can be used for securing the controlled switching process.  
     [0070] In one embodiment, a watchdog mechanism, based on a monostable, is used to force back the switching of the clock speed after a predetermined period.  
     [0071] In a second embodiment, the computing system, and more particularly the processor is fitted with a set of temperature detection devices. Different arrangements are possible should the designer wish to monitor external or internal temperature points.  
     [0072] With respect to FIG. 5, there is now described how the conventional architecture of a semiconductor computing device can be modified to introduce clock control capability. The description will particularly cover the structure of a processor but it should be clear that the architecture of any kind of computing unit, such as a specialized ASIC for a video card for instance, can be derived from that structure which can take benefit of the new clocking arrangement. The ASIC circuit includes, in addition to the usual components, means for determining the occurrence of a state of saturation within said processor and means for deriving from said saturation information an “overclock request” signal which is reported out of the chip and transmitted to a processing unit for the purpose of controlling the clocking system. In one embodiment, illustrated in FIG. 5 showing ASIC circuit  500  (e.g. a processor), there is included temperature sensing means  520  which provides a measurement of the internal temperature at a particular location of the chip. The processor may include numerous locations internal to the chip for the purpose of sensing the temperature internal to the chip. In one embodiment, a thermal diode offering a V be (I) characteristic varying in accordance with the temperature can be used for providing a safe indication of the temperature of the circuit.  
     [0073] Processor  500  further includes a saturation detection unit  510  for detecting a saturation condition within said processor. In one embodiment, saturation detection unit  510  monitors the transactions on the bus  540 , what is represented, in FIG. 5, by the information carried on a lead  541 .  
     [0074] Processor  300  further includes a control unit  530  which receives the information provided by saturation detection unit  510  as well as the information provided by temperature sensing means  520 , respectively on a lead  511  and  521 . In accordance with the information provided by the latter leads, control unit  530  computes and derives an overclocking request control signal on a lead  550  which can be output from the processor  400 .  
     [0075] In one embodiment, the watchdog mechanism which was described above and whose effect is illustrated in FIG. 4 b  is embodied within the processor  500 , and particularly within control unit  530 .  
     [0076] Therefore, it can be seen that the arrangement proposed permits the level of saturation of the processor to be monitored for the purpose of controlling, in a way that ensures a safe operation condition for the processor, the clocking frequency which drives the processor.  
     [0077] Such an arrangement is most useful for the purpose of increasing the system performance of a computing systems of a given technology, while keeping the system cool enough to ensure reliable operation without exposing the systems to a irreversible damage due to abnormal heat dissipation.  
     [0078] In one embodiment, the amplitude of overclocking—i.e. the variation of the frequency around the central frequency—is adjusted depending on the current silicon temperature.  
     [0079] Further, it should be noted that a similar technique can be used to provide a power management arrangement which permits a high powerful processing unit to be used at the normal frequency speed when the activity of the processor is high and to be used at the lower frequency value when the system is less active. By monitoring the precise conditions of operation of the processors, and particularly the level of current transactions, the computing system can adapt the appropriate frequency to be used for driving the processor. It should be noticed that, conversely to the known systems offering dual frequency speeds when the user does not use his/her computer after a period of 2 minutes for instance, the switching between one frequency and the other is dynamic since it is hardware-based and thus can act with a very low response time to closely follow the activity of the processor—by the analysis of the requests on the system bus—and thus the proposed solution offers far more effectiveness in this respect.