Apparatus and method for processing data

Disclosed are an apparatus and a method for processing data, capable of controlling the use of a graphic controller based on data usage in a memory, a variation speed of a memory data value, and/or operating states/conditions of a system.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an apparatus and a method for processing data, capable of controlling the use of a graphic controller.

2. Description of the Prior Art

Generally, a graphic mode has been used without taking into graphic data usage and the operating conditions/states of a system.

As shown in a block diagram of a system100ofFIG. 1, an internal graphic controller (IGC) (not shown) provided inside a graphic memory control hub (GMCH)12or an external graphic controller (EGC) (not shown) provided outside the GMCH12is used by selectively operating toggle switches11aand11bprovided on a keyboard11. A corresponding graphic controller and a memory are set trough the rebooting of the system100.

SUMMARY OF THE INVENTION

According to the present invention, an internal graphic controller (IGC) provided in a graphic memory control hub (GMCH), which is a kind of a graphic chip set, shares a system memory and/or at least one additional graphic controller is adaptively used to process data, based on data usage (particularly, graphic data usage) and a variation speed of a memory data value.

According to the present invention, the IGC and/or at least one internal/external graphic controller, which is additionally provided, is adaptively used based on the operating conditions/states of a system, for example, application programs in operation, the number of the application programs in operation, the existence of an AC adaptor, or a residual amount of battery power, so as to process graphic data.

According to the present invention, a controller is adaptively used through the selection of a user. For example, if the user selects an operating mode based on graphic data usage, the controller can operate only in the operating mode selected by the user without taking into consideration the operating conditions/states of a system, for example, a residual amount of battery power. In addition, the user can select at least one operating mode such that the controller operates only under the operating conditions/states of the system.

According to the present invention, an apparatus for processing data, the apparatus includes a central processing unit, a controller which controls a peripheral device, a memory unit, and a graphic/memory controller which is connected to the central processing unit, the memory unit and the first controller, and controls a system by taking into data usage of the memory unit or at least one operating condition/state of the system consideration.

According to the present invention, the graphic/memory controller includes a controller controlling graphic data.

According to the present invention, at least one controller, which controls graphic data, is provided outside the graphic/memory controller.

According to the present invention, a method for processing data includes the steps of setting data usage of controllers, processing data through a first controller, determining if data usage of the first controller is within a range of preset data usage, and processing data by using at least one controller together with the first controller if the data usage of the first controller exceeds the preset data usage.

DETAILED DESCRIPTION OF THE INVENTION

Hereinafter, an apparatus and a method for processing data according to the present invention will be described in more detail with reference to accompanying drawings.

Terms mentioned in the present invention, for example, a “graphic memory control hub (GMCH)” and an “input/output control hub (ICH)” refer to devices controlling a specific hardware of a whole system by integrating several micro-chips and several circuits. Although the GMCH and the ICH typically control various signals generated from a central process unit (CPU) and a main memory, which are important parts in a computer, and/or a disc device and peripheral devices, the GMCH and the ICH may be a controller having a small capacity and connected to a specific device in order to process and/or control graphic data.

In addition, although terms used in the present invention are selected from general terms that are currently used, an applicant may arbitrarily suggest terms in specific cases. Since the terms suggested by the applicant will be described in detail in relation to operations and meanings in a corresponding description part of the present invention, the present invention should be understood in relation to the operations and meanings represented in the terms instead of names of the terms.

Hereinafter, the present invention will be schematically described.

According to the present invention, graphic controllers are used based on graphic data usage determined by a graphic memory controller. For example, the type (IGC/EGC, etc.) and the number of the graphic controllers to be used are adaptively selected/controlled.

According to the present invention, the use and the number of controllers to process graphic data are adaptively controlled by taking into consideration operating conditions/states of a system, for example, application programs in operation, the number of the application programs in operation, the type of power, such as an AC adaptor/a battery mode, a residual amount of battery power, and the selection of a system user.

According to the present invention, graphic data are effectively processed by using a first device for processing the graphic data and/or at least one second device for processing the graphic data, based on graphic data usage and/or the operating conditions/states of a system, thereby reducing system power consumption and improving system performance.

FIG. 2is a block diagram showing a system200including a GMCH, a memory unit, and at least one graphic controller. As shown inFIG. 2, the system200includes a central processing unit (CPU)20, a GMCH21, and an ICH22. The GMCH21is connected the CPU20to control an internal graphic controller (IGC)21a, a random access memory (RAM), a system memory24, and at least one of external graphic controllers26and25based on graphic data usage and/or the operating conditions/states of the system200. The ICH22controls an HDD25, which stores data including various programs and data run/processed based on the programs, and a main board H/W23, on which a flash memory loading the data stored in the HDD25and a control chip are mounted.

The GMCH21includes a controller (not shown) which automatically selects and drives the IGC21a, the GCI26, or a GC227based on the check results of the graphic data usage and/or the operating conditions/states of the system200, after checking the graphic data usage and/or the operating conditions/states of the system200. A component serving as the controller (not shown) may be additionally provided in the form of another one-chipset.

The GMCH21typically includes a graphic controller such as the IGC21a. In such a structure, the graphic controller is accommodated in the chipset of the GMCH21, and may have performance slightly inferior to that of first and second EGCs26and27provided outside the GMCH21.

In addition, at least one of controller such as the first EGC26, the second EGC27, and a video memory28or29is additionally provided outside the GMCH21.

Meanwhile, the video memories28and29may be provided in the first and second EGC26and EGC27.

Although it is described as one example that the GMCH21makes data communication with the first EGC26and the second EGC27through a 16×PCI express graphics (PEG) bus interface, the data communication may be performed through various schemes.

Regarding the EGC, “ATI” and “nVIDIA” represent examples of companies that produce video chipsets.

FIG. 3is a block diagram showing a system300that processes graphic data by using an EGC provided outside a GMCH31and/or an IGC31aprovided inside the GMCH31based on graphic data usage, or at least one operating conditions and states of the system300according to the first embodiment of the present invention.

The definition of operating modes of the system300shown inFIG. 3is as follows:

The first operation mode: graphic data are processed by using only the IGC31aof the GMCH31(a battery optimized mode: use only the IGC31a);

The second operating mode: graphic data are processed by using only the EGC36provided outside the GMCH31(a normal mode: PM mode: use only the EGC36); and

The third operating mode: graphic data are processed according to the first and second operating modes (the maximum performance mode: use both of the IGC31aand the EGC36).

In this case, the first operating mode requires the least battery consumption, and the maximum performance mode requires the greatest battery consumption. However, in terms of performance, the third operating mode has the highest performance, and the first mode has the lowest performance.

According to one embodiment, the operating modes are adaptively changed and set based on the check results of preset graphic data usage and/or the operating conditions/states of the system300after the GMCH31checks graphic data usage of a system memory34, or the ICH32checks the operating conditions/states of the system300.

The above-mentioned operating modes may be classified as follows based on graphic data usage.

The operation modes are adaptively used in a memory based on the data usage as described above, thereby reducing power consumption, and improving the performance of the system300.

For example, when using only both of the IGC31aofFIG. 3and a video memory34aof the system memory34in order to process graphic data, the system300automatically operates in the third operating mode if preset data usage (e.g., 75% or more) is output.

However, if the data usage by the IGC31aexceeds a preset value, the system300raises the data usage up to a predetermined level by using another GC or the IGC31a/the GC.

Meanwhile, as another embodiment ofFIG. 3, the system300may automatically operate in the following two operating modes:

The first operating mode: only the IGC31ais used (a battery optimized mode); and

The third operating mode: both of the IGC31aand the EGC36are used (the maximum performance mode).

TABLE 2Data usage in graphic memoryOperating modeRemarks50% or less1stoperating mode50%~70%Maintain present mode75% or more3rdoperating mode

Regarding table 2, if the present operating mode is the first operating mode, and if present graphic data usage is checked as 55% (that is, 50%˜70%), the first operating mode, which is the present operating mode, is continuously maintained. Meanwhile, if the present graphic data usage is 75% or more, the third operating mode is adaptively automatically set.

InFIG. 3, the operating modes having been defined according to the above graphic data usage may be set as follows based on the operating conditions/states of the system300independently from the graphic data usage. Hereinafter, examples of the operating conditions/states of the system300will be described.

First, the system300can automatically operate in the following operation modes according to the type of application programs in operation.

The first operating mode: only the IGC31ais used (a battery optimized mode).

The third operating mode: both of the IGC31aand the EGC36are used (the maximum performance mode).

In table 3, when document programs such as “WORD” and “Power Point” are used, the first operating mode is set in order to reduce battery consumption. When other programs (a CAD program, a web design program, programs used for the search of the Internet, etc.) are used, a present operation mode (the first operating mode or the third operating mode) may be continuously maintained.

If an application program in operation is a moving picture playing program such as “windows media program”, the third operating mode is set to improve system performance, so that user's demand for the system300can be satisfied.

The operation modes are adaptively set based on an amount of loads processed by an application program in operation, that is, the type of the application program as described above, thereby reducing power consumption and improving system performance.

Second, after checking the number of application programs in operation, the following two operation modes may be adaptively set.

The number of the application programs in operation can be checked by calculating the number of windows, which are currently activated.

According to one embodiment of the present invention, in order to check the number of the activated windows or the application programs in operation, a filter driver are stored in an HDD, and then stacked in a memory to operate after a window OS is booted, in which the filter driver is a kind of a preset program capable of detecting an activated program or at least one application program output on a display.

The first operating mode: only the IGC is used (a battery optimized mode).

The third operating mode: both of the IGC31aand the EGC36are used (the maximum performance mode).

TABLE 4The number of applicationprograms in operationOperating modeRemarks11stoperating mode2 or 3Maintain present operatingmode4 or more3rdoperating mode

In table 4, when the number of application programs in operation is 1 so that the first operating mode is set, the first operating mode is continuously maintained even if the number of application programs to be operated is 2 or 3. However, if the number of application programs to be operated is 4 or more, the third operating mode is automatically set.

The operating modes are adaptively set based on the number of application programs in operation as described, thereby reducing power consumption and improving system performance.

If the number of application programs in operation is taken into consideration as described above, the operating mode of a program, such as a moving picture program that requires a greater amount of data processing, can be adjusted based on the number of application programs. For example, when determining the number of programs for the moving picture program, the number of the programs is determined as at least four even if one moving picture program is run, so that the third operating mode can be set.

In other words, the setting of the operating mode based on the type and/or the number of programs to be operated can be adjusted according to the characteristic of the programs as described above.

Third, the following two operating modes are automatically set according to the type of power in use.

The first operating mode: only the IGC31ais used (a battery optimized mode).

The third operating mode: both of the IGC31aand the EGC36are used (the maximum performance mode).

The operating modes are adaptively set based on the power in use as described above, thereby reducing power consumption and improving system performance.

Fourth, two operating modes can be automatically set according to a residual amount of battery power. Preferably, the following two operating modes may be set.

The first operating mode: only the IGC31a(a battery optimized mode) is used.

The third operating mode: both of the IGC31aand the EGC36(the maximum performance mode) are used.

TABLE 6Residual amount of batterypowerOperating modeRemarks50% or less1stoperating mode50%~75%Maintain a present mode75% or more3rdoperating mode

In table 6, on the assumption that a present mode is the first operating mode, if the residual amount of battery power is in the range of 50% to 75% of a battery capacity, the first operating mode is maintained as the present mode. Meanwhile, if the residual amount of the battery power is 75% or more, the third operating mode is automatically set.

Referring toFIG. 3, differently from table 6, the following three operating modes are defined, and a corresponding mode is adaptively and automatically set as shown in table 7.

The first operating mode: only the GMCH31and the IGC31a(a battery optimized mode) is used.

The second operating mode: only the EGC36(a normal mode) is used.

The third operating mode: both the IGC31aand the IGC36(the maximum performance mode) are used.

In this case, the first operating mode requires the least battery consumption, and the maximum performance mode, which is the third operating mode, requires the most battery mode. Meanwhile, in terms of performance, the third operating mode has the highest performance, and the first operating mode has the lowest performance.

In table 7, if a residual amount of battery power is in the range of 50% to 70% of the battery capacity on the assumption that a present operating mode is the first operating mode (a residual amount of battery power is 50% or less), the present operating mode is automatically switched from the first operating mode into the second operating mode. Meanwhile, if the residual amount of the battery power is 75% or more, the present operating mode is automatically switched into the third operating mode.

The operating modes are adaptively set based on a residual amount of battery power as described above, so that power can be effectively used, and system performance can be improved.

FIG. 4is a block diagram showing a system400according to another embodiment of the present invention, in which the system400processes graphic data by using first and second EGCs46and43and first and second video memories48and45, which are provided outside a GMCH41, and/or a IGC41aprovided inside the GMCH41and a video memory44ain a system memory44.

Operating modes in the system400having the above structure are defined as follows:

The first operating mode: graphic data are processed only by using the IGC41aprovided inside the GMCH14(a battery optimized mode);

The second operating mode: graphic data are processed only by using the first EGC46; and

The fourth operating mode: graphic data are processed only by using the first EGC46and the second EGC43(the maximum performance mode).

In this case, the greatest amount of battery power is consumed in the fourth operating mode, and the least amount of battery power is consumed in the first operating mode. Meanwhile, in terms of system performance, the fourth operating mode has the highest performance.

The operating modes are adaptively changed and set based on the check results of preset graphic data usage and/or the operating conditions/states of the system400after the GMCH41checks graphic data usage of the system memory44, or an ICH42checks the operating conditions/states of the system400.

For example, the operating modes may be set as follows based on graphic data usage.

The operating modes are adaptively set based on data usage in a graphic memory as described above, thereby reducing power consumption and improving system performance.

In addition, the operating modes described above may be set as follows based on the operating conditions/states of the system400. Hereinafter, examples of the operating conditions/states of the system400will be described.

The other programs include a CAD program, a web design program, and a program allowing a user to search the Internet, and the second operating mode is preferably set for programs requiring system resources less than system resources required for a moving picture program.

The operating modes are adaptively set based on the programs in operation as described above, thereby reducing power consumption and improving system performance.

In addition, the operating modes may be set as follows based on application programs to be operated.

TABLE 10The number of applicationprograms to be operatedOperating modesRemarks11stoperating mode2 or 3Maintain a present mode4 or more4thoperating mode

In table 10, it is assumed that the first operating mode is set if one application program is currently in operation. Meanwhile, even if the number of application programs to be operated is two or three, the first operating mode, which is a present operating mode, is continuously maintained. However, if the number of application programs to be operated is four or more, the fourth operating mode is automatically set.

The operating modes are adaptively set based on the number of programs to be operated as described above, thereby reducing power consumption and improving system performance. If the number of programs to be operated is taken into consideration as described above, in a program, such as a moving picture program, requiring the processing of a greater amount of data, a program number according to the operating modes can be adjusted.

In other words, when determining a program number in the moving picture program, the program number is determined as at least four, so that the four operating mode can be set.

Further, the setting of the operating modes based on the type or the number of programs to be operated can be adjusted according to a program characteristic.

The operating modes may be set as follows based on the type of power.

The operating modes are adaptively set based on power as described above, thereby reducing power consumption and improving system performance.

In addition, the operating modes may be set based on a residual amount of battery power.

The operating modes are adaptively set based on a residual amount of battery power, thereby effectively using power and improving system performance.

FIG. 5is a block diagram showing a system500including a GMCH51provided with an IGC57according to another embodiment of the present invention, in which a plurality of cores57ato57cincluded in the IGC57process graphic data based on at least one of data usage, and the operating conditions and states of the system500. The cores57ato57cserve as a plurality of engines to process graphic data, and are realized on one chipset.

In the system500having the above structure, the operating modes are defined as follows.

The sixth operating mode: graphic data are processed by using only the first core57aof the IGC57embedded in the GMCH51.

The seventh operating mode: graphic data are processed by using only the first and second cores57aand57bof the IGC57embedded in the GMCH51.

The eighth operating mode: graphic data are processed by using only the first, second, and third cores57a,57b, ad57cof the IGC57embedded in the GMCH51.

The operating modes are adaptively changed and set based on preset data usage and/or checked operating conditions/states of the system500after the GMCH51checks data usage in a graphic memory through the cores, and the ICH52checks the operating conditions/states of the system500.

For example, the operating modes may be set as follows based on graphic data usage.

TABLE 13Data usage in a graphicmemoryOperating modesRemarks50% or less6thoperating mode50%~70%7thoperating mode75% or more8thoperating mode

The operating modes are adaptively set based on data usage in the graphic memory as described above, thereby reducing power consumption and improving system performance.

In addition, the operating modes described above may be set as follows based on the operating conditions/states of the system500. Hereinafter, examples of the operating conditions/states of the system500will be described.

The operating modes are set or adaptively selected based on programs in operation.

The operating modes are adaptively set based on the application programs in operation as described above, thereby reducing power consumption and improving system performance.

TABLE 15The number of applicationprograms to be operatedOperating modesRemarks16thoperating mode2 or 37thoperating mode4 or more8thoperating mode

The operating modes are adaptively set based on the number of application programs to be operated, thereby reducing power consumption and improving system performance.

When the number of application programs to be operated is taken into consideration as described above, the adjustment of the number of programs according to the operating modes can be achieved with respect to a program, such as a moving picture program, having a greater number of data to be processed.

In other words, as described above, the setting of the operating modes based on the type and the number of programs to be operated can be adjusted according to a program characteristic.

The operating modes are adaptively set based on power as described above, thereby reducing power consumption and improving system performance.

The operating modes are adaptively set based on a residual amount of the battery power as described above, thereby effectively using power and improving system performance.

FIG. 6is a flowchart showing the adaptive use of a graphic controller based on graphic data usage. Hereinafter, the whole operating procedure for the adaptive use of the graphic controller will be described again even though the adaptive use of the graphic controller has been described above.

As shown inFIGS. 3 and 4, when data are processed by using the IGC (internal GC) of the GMCH and/or at least one EGC (external GC), the IGC is first used (step S601).

It is determined if data usage using the IGC31aor41aexceeds a preset value (step S603).

Embodiments of the preset value and the operating modes relating to the data usage are shown in tables 1 and 8.

If an amount of data processed or to be processed by the IGC in operation exceeds the preset data usage, only an additional GC, for example, the first EGC is used, or both the first EGC1and the IGC are used to process the data (step S605).

If the amount of data processed or to be processed by the IGC in operation exceeds the preset data usage, it means that the amount of graphic data being currently processed is more increased. The example thereof has been described above in detail.

For example, as shown in table 1, if data usage is 50% or less in a graphic memory, the graphic data are processed by using only the IGC31aof the GMCH31, called the first operating mode. If the data usage in the graphic memory is in the range of 50% to 75%, the graphic data are processed by using only the EGC36of the GMCH31, called the second operating mode. If the data usage in the graphic memory exceeds 75%, the graphic data are processed based on the first and second operating modes, called the third operating mode. In addition, as shown inFIG. 8, the fourth operating mode may be set.

Another IGC57may be provided in addition to the above IGC. In this case, as shown inFIG. 5, only the IGC57may be used or the IGC57is used together with an existing IGC (not shown).

In detail, if an amount of data to be processed exceeds the preset value of data usage using the IGC as the determination result of step S603, the data are processed by using the IGC or at least one of the IGC and the first EGC.

Thereafter, it is determined if the amount of the data to be processed exceeds the preset value of the data usage using at least one of the IGC or the EGCI (step S607).

If the amount of the data cannot be processed by the IGC and the first EGC in operation that is an amount of data to be processed more increases, an additional GC, for example, the second EGC is used together with the IGC and the first EGC to process the data (step S609).

Thereafter, the determination steps (steps S603and S607) are repeatedly performed, so that a GC satisfying preset data usage can be automatically selected (step S611).

FIG. 7is a flowchart showing the adaptive use of a graphic controller (GC) based on the operating conditions and states of a system according to another embodiment of the present invention.

It is set that data are processed by using the IGC (internal GC) of the GMCH and/or at least one EGC (external GC) shown inFIGS. 2,3, and4according to the operating conditions/states (refer to tables 2 to 7 and tables 9 to 12) (step S701).

It is assumed that data are processed by using the IGC (step S703).

In step S703, the EGC may be first used.

The use sequence of the IGC and the EGC may be changed according to user setting in the whole embodiments of the present invention. In addition, the present invention may be realized by providing plural IGCs and a single EGC, and plural IGCs and plural EGCs.

It is determined if the data processing by the IGC satisfies the operating conditions/states of a system set in each table (step S705). The operating conditions/states include an amount of residual battery power, the type of an application program, the number of programs in operation, or the use of an AC adaptor, and this has been described above.

If the set operating condition of the system is not satisfied as the determination result only the IGC or the additional GC (e.g., the first EGC) is used, or the IGC is used together with the first EGC to process data (step S707).

It is determined if data processing by the IGC and/or the first EGC satisfies the operating conditions/states of the system set in the tables (step S709).

If the data processing by the IGC and/or the first EGC does not satisfy the operating conditions/states of the system set in the tables, only the additional GC (e.g., the second EGC) is used, or the second EGC is used together with the IGC and the first EGC to process data (step S711).

The determination steps are repeatedly performed to continuously process data by using a GC satisfying the operating conditions/states of the system (step S713).

The combination of the IGC and the EGC shown inFIGS. 6 and 7is one embodiment, and the IGC and the EGC are variously combined according to data usage/the operating states/conditions of the system.

FIG. 8is a view showing that a graphic controller is adaptively selected and operated only through the condition set by a user according to one embodiment of the present invention.

As shown inFIG. 8, the present invention basically relates to that the IGC and/or at least one EGC81,82, or83is adaptively selected and operated.

The operating modes that can be set by a user are as follows for example.1) A graphic controller is adaptively selected and operated based on only graphic data usage (reference number84).2) A graphic controller is adaptively selected and operated based on only an amount of residual battery power (reference number85).3) A graphic controller is adaptively selected and operated based on only an application program (reference number86).4) A graphic controller is adaptively selected and operated based on only power (reference number87).

The graphic controller may be adaptively selected and operated by taking into only one of the operating modes set by a user consideration.

As described above, in the apparatus and method for processing data according to the embodiments of the present invention at least one IGC having a graphic core and at least one EGC using a graphic chip are provided inside and outside a GMCH, respectively, according to the position of components processing graphics. Accordingly, the embodiments of the present invention relate to that at least one core is provided in the IGC, the first EGC, the second EGC, and the IGC, and adaptively selected and operated based on data usage, or the operating conditions/states of a system.

The data usage is obtained by using information about the variation speed of data values of memories connected to the GCs.

According to the embodiment to determine the variation speed of data values of the memories, operation values processed in the GC/graphic core are written/read in the graphic memory in a state in which the GC or the graphic core is connected to the graphic memory. In this case, the data variation can be obtained by sensing the active degree of a data line between the two components. In detail, since the voltage of each data line can be measured, low and high levels are previously determined according to the voltage level. Thus, data variation from the low to high or vice versa can be checked.

In addition, the variation speed of data values of the memories may be obtained by determining a speed at which write/read register values are changed in the GC/graphic core and/or the memory.

The data usage may be measured similarly to a technology of measuring CPU usage. For example, present CPU usage can be automatically measured by using the idle thread or the registry information of the system. The graphic data usage may be measured similarly to that of the CPU. The type and the number of GCs to be used are adaptively set based on the measurement result for the variation speed of data values in a system memory to operate the system.

In addition, the system operates by adaptively setting the type and the number of GCs to be used by taking into consideration the operating conditions/states of the system, for example, the type and the number of programs in operation, an amount of residual battery power and/or power.

As described above, in the apparatus and method for processing data according to the present invention, controllers processing graphic are adaptively selected and operated based on graphic data usage, the variation speed of a memory data value, and the operating conditions/states of a system, so that system power can be effectively used, and system performance can be improved.