KR100274781B1 - Computer with clock control function - Google Patents
Computer with clock control function Download PDFInfo
- Publication number
- KR100274781B1 KR100274781B1 KR1019970058355A KR19970058355A KR100274781B1 KR 100274781 B1 KR100274781 B1 KR 100274781B1 KR 1019970058355 A KR1019970058355 A KR 1019970058355A KR 19970058355 A KR19970058355 A KR 19970058355A KR 100274781 B1 KR100274781 B1 KR 100274781B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- system management
- management interrupt
- computer
- input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
Description
본 발명은 컴퓨터에 관한 것으로, 좀 더 구체적으로는 시스템의 동작이 수행되지 않는 경우에 클럭의 속도를 낮추도록 제어하는 것에 관한 것이다.TECHNICAL FIELD The present invention relates to a computer, and more particularly, to controlling to slow down a clock when an operation of a system is not performed.
일반적으로 휴대형 컴퓨터(예컨대 노트북 컴퓨터)는 외부로부터 전원이 공급되지 않더라도 사용이 가능하도록 밧데리를 장착하고 있다. 이러한 밧데리는 컴퓨터에서 소모되는 전력과 밧데리의 용량에 따라 사용가능한 시간이 제한되게 된다. 그러므로 휴대형 컴퓨터는 불필요한 전력소모를 줄일 필요성이 강조되고 있다.In general, portable computers (eg, notebook computers) are equipped with batteries so that they can be used even when no power is supplied from the outside. These batteries have limited time available depending on the power consumed by the computer and the capacity of the batteries. Therefore, portable computers are stressing the need to reduce unnecessary power consumption.
도 1은 종래의 실시예에 따른 컴퓨터의 구성을 도시한 블럭도이다.1 is a block diagram showing the configuration of a computer according to a conventional embodiment.
이하, 도 1을 참조하여 종래의 실시예에 따른 컴퓨터를 상세히 설명한다. 도면에서, 부호 11은 중앙처리부, 12는 바이오스, 13은 주기억장치, 14는 IDE컨트롤러, 15는 보조기억장치, 16은 디스플레이장치, 17은 비디오제어부, 18은 칩셋, 19는 키보드컨트롤러, 20은 키보드, 21은 밧데리를 각각 나타낸다.Hereinafter, a computer according to a conventional embodiment will be described in detail with reference to FIG. 1. In the figure, reference numeral 11 denotes a central processor, 12 BIOS, 13 main memory, 14 IDE controller, 15 auxiliary memory, 16 display device, 17 video controller, 18 chipset, 19 keyboard controller, 20 The keyboard and 21 represent batteries respectively.
상기의 각 구성블럭은 데이터, 어드레스, 제어명령을 시스템버스(22)를 통해 전송하게 된다.Each configuration block transmits data, an address, and a control command through the
중앙처리부(11)는 예컨대 486 이상의 성능을 갖는 IBM호환 마이크로프로세서이다. 그리고 바이오스(12)는 컴퓨터의 입출력을 지원하는 프로그램부이다. 주기억장치(13)는 예컨대 RAM으로 구성되어 상기 중앙처리부(11)에 의해 처리되는 명령 및 데이터를 기억시킨다. IDE컨트롤러(14)는 상기 중앙처리부(11)와 예컨대 하드디스크드라이브 또는 CD-ROM등의 보조기억장치(15)를 인터페이스한다. 비디오제어부(17)은 상기 중앙처리부(11)의 제어에 의해 비디오정보를 예컨대 모니터 또는 LCD와 같은 디스플레이장치(16)를 통해 표시되도록 인터페이스한다.The central processing unit 11 is, for example, an IBM compatible microprocessor having a performance of 486 or higher. The
그리고 키보드컨트롤러(19)는 키보드(20)로부터 입력되는 키입력값을 변환시킨다. 이와 같은 키보드컨트롤러(19)는 프로그램이 가능하다.The
밧데리(21)는 컴퓨터의 각 전원입력단을 통해 전원을 공급시킨다.The
칩셋(18)은 상기 중앙처리부(11)와 시스템버스(22; 예컨대 LOCAL버스, ISA버스, PCI버스등을 포함함)와 접속된 각 블록을 인터페이스한다. 이와 같은 칩셋(18)은 그 기능에 따라 일반적으로 3개의 칩으로 구성되고, 프로그램 가능하다.The
상기와 같이 구성된 컴퓨터는 칩셋(18)에 의해 컴퓨터가 사용되고 있는지(입출력동작이 있는지)를 감지하고, 입출력동작이 없는 경우에는 중앙처리부(11)측으로 소정의 시스템관리인터럽트를 발생시켜, 중앙처리부(11)로 하여금 전원관리기능을 수행하도록 한다.The computer configured as described above detects whether the computer is being used (input / output operation) by the
그러나 시스템관리인터럽트 발생기능을 갖고 있지 않은 칩셋으로 구성된 컴퓨터에서는 전원관리기능을 수행할 수 없게 된다.However, a power management function cannot be performed on a computer configured with a chipset that does not have a system management interrupt generation function.
따라서, 본 발명은 상술한 제반 문제점을 해결하기 위해 제안된 것으로서, 주변기기의 입출력을 감지할 수 있고, 설정된 시간동안 입출력이 없는 경우에 시스템관리인터럽트를 발생할 수 있으며, 시스템관리인터럽트가 발생되면 시스템 클럭을 낮추도록 제어하는 클럭 제어기능을 갖는 컴퓨터를 제공함에 그 목적이 있다.Therefore, the present invention has been proposed to solve the above-mentioned problems, can detect the input and output of the peripheral device, can generate a system management interruption when there is no input and output for a set time, the system clock when the system management interrupt occurs It is an object of the present invention to provide a computer having a clock control function for controlling the voltage to lower.
도 1은 종래의 실시예에 따른 컴퓨터의 구성을 도시한 블럭도;1 is a block diagram showing the configuration of a computer according to a conventional embodiment;
도 2는 본 발명의 1실시예에 따른 칩셋에 의한 클럭 제어기능을 갖는 컴퓨터의 구성을 도시한 블럭도;2 is a block diagram showing the configuration of a computer having a clock control function by a chipset according to an embodiment of the present invention;
도 3은 본 발명의 2실시예에 따른 키보드컨트롤러에 의한 클럭 제어기능을 갖는 컴퓨터의 구성을 도시한 블럭도;3 is a block diagram showing the configuration of a computer having a clock control function by a keyboard controller according to an embodiment of the present invention;
도 4는 본 발명의 실시예에 의한 시스템관리서비스루틴의 설정단계를 도시한 플로우챠트;4 is a flowchart showing a setting step of a system management service routine according to an embodiment of the present invention;
도 5는 본 발명의 실시예에 따른 시스템관리인터럽트 서비스루틴의 수행단계를 도시한 플로우챠트;5 is a flowchart showing a step of performing a system management interrupt service routine according to an embodiment of the present invention;
도 6은 본 발명의 1실시예에 따른 칩셋에 의한 리스케쥴드 시스템관리인터럽트 발생루틴을 상세히 도시한 플로우챠트;6 is a flowchart showing in detail a re-scheduled system management interrupt generation routine by a chipset according to an embodiment of the present invention;
도 7은 본 발명의 2실시예에 따른 키보드컨트롤러에 의한 시스템관리인터텁트 발생루틴을 상세히 도시한 플로우챠트;7 is a flowchart showing in detail a system management interrupt generation routine by the keyboard controller according to an embodiment of the present invention;
도 8은 본 발명의 3실시예에 따른 칩셋 및 키보드컨트롤러에 의한 시스템관리인터럽트 발생루틴을 상세히 도시한 플로우챠트.8 is a flowchart showing in detail a system management interrupt generation routine by the chipset and the keyboard controller according to an embodiment of the present invention.
*도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
110, 210 : 중앙처리부 120 : 칩셋110, 210: central processing unit 120: chipset
121, 221 : 카운터 122, 222 : 카운트레지스터121, 221:
123, 223 : 디코더 130, 230 : SMI서비스루틴123, 223:
140, 240 : 클럭제어레지스터 150, 250 : 클럭발생부140, 240:
220 : 키보드컨트롤러 224 : 키입력감지부220: keyboard controller 224: key input detection unit
260 : 시스템버스 270 : 키보드260: system bus 270: keyboard
상술한 목적을 달성하기 위해 제안된 본 발명의 특징에 의하면, 클럭기능을 갖는 컴퓨터는 소정의 클럭입력단으로 입력되는 클럭에 동기되어 명령을 수행하고, 시스템관리인터럽트 요구신호를 감지하면 시스템관리인터럽트 서비스루틴을 수행하는 중앙처리부와; 시스템관리인터럽트 서비스요구에 따라, 컴퓨터에 제공되는 클럭을 제어하도록 시스템관리인터럽트소스를 제공하는 SMI서비스와; 상기 중앙처리부의 시스템관리인터럽트입력단으로 소정의 주기로 시스템관리인터럽트를 발생시키는 칩셋과; 상기 중앙처리부에 의한 상기 SMI서비스루틴의 수행에 따른 클럭주파수값이 설정되는 클럭제어레지스터와; 상기 클럭제어레지스터에 기억된 클럭주파수값에 따라 클럭을 발생시키는 클럭발생부를 포함한다.According to a feature of the present invention proposed to achieve the above object, a computer having a clock function executes a command in synchronization with a clock input to a predetermined clock input terminal, and when a system management interrupt request signal is detected, a system management interrupt service A central processing unit for performing a routine; An SMI service for providing a system management interrupt source to control a clock provided to a computer according to a system management interrupt service request; A chipset for generating a system management interrupt at a predetermined cycle to a system management interrupt input terminal of the central processing unit; A clock control register configured to set a clock frequency value according to the execution of the SMI service routine by the central processing unit; And a clock generator for generating a clock according to the clock frequency value stored in the clock control register.
이 특징의 바람직한 실시예에 있어서, 상기 SMI서비스는 컴퓨터의 입출력동작이 있는지를 판단하고, 컴퓨터의 입출력동작이 없으면, 클럭제어레지스터를 최소의 동작주파수 또는 0동작주파수로 설정시킨다.In a preferred embodiment of this aspect, the SMI service determines whether there is an input / output operation of the computer, and if there is no input / output operation of the computer, sets the clock control register to a minimum operating frequency or zero operating frequency.
이 특징의 바람직한 실시예에 있어서, 상기 컴퓨터는 입력된 카운트 설정값이 0인지를 판단하고, 입력된 카운트 설정값이 0이 아니면, 칩셋의 디코더를 선택하고, 상기 입력된 카운트 설정값을 칩셋의 카운트레지스터에 기억시키고, SMI서비스루틴에 클럭다운 서비스를 설정시킨다.In a preferred embodiment of this aspect, the computer determines whether the input count setting value is 0, if the input count setting value is not 0, selects a decoder of the chipset, and sets the input count setting value of the chipset. The count register is stored and the clock down service is set in the SMI service routine.
이 특징의 바람직한 실시예에 있어서, 상기 칩셋은 카운터에 의해 카운팅을 수행하고, 카운트값이 목표값이 되었는지를 판단하고, 카운트값이 목표값이 되었을 경우에 시스템관리인터럽트를 발생시키고, 카운터를 카운트레지스터에 저장된 값으로 설정시킨다.In a preferred embodiment of this aspect, the chipset performs counting by a counter, determines whether the count value has reached the target value, generates a system management interrupt when the count value has reached the target value, and counts the counter. Set to the value stored in the register.
본 발명의 다른 특징에 의하면, 클럭 제어기능을 갖는 컴퓨터는 소정의 클럭입력단으로 입력되는 클럭에 동기되어 명령을 수행하고, 시스템관리인터럽트 서비스요구신호를 감지하면 시스템관리인터럽트 서비스루틴을 수행시키는 중앙처리부와; 시스템관리인터럽트 서비스요구에 따라, 컴퓨터에 제공되는 클럭을 제어하도록 시스템관리인터럽트소스를 제공하는 SMI서비스와; 상기 중앙처리부의 시스템관리인터럽트 입력단으로 소정의 주기로 시스템관리인터럽트를 발생시키는 키보드컨트롤러와; 상기 중앙처리부에 의한 SMI서비스루틴의 수행에 따른 클럭주파수값이 설정되는 클럭제어레지스터와; 상기 클럭제어레지스터에 기억된 클럭주파수값에 따라 클럭을 발생시키는 클럭발생부를 포함한다.According to another aspect of the present invention, a computer having a clock control function executes a command in synchronization with a clock input to a predetermined clock input terminal, and performs a system management interrupt service routine upon detecting a system management interrupt service request signal. Wow; An SMI service for providing a system management interrupt source to control a clock provided to a computer according to a system management interrupt service request; A keyboard controller for generating a system management interrupt at a predetermined cycle to a system management interrupt input terminal of the central processing unit; A clock control register configured to set a clock frequency value according to the execution of the SMI service routine by the central processing unit; And a clock generator for generating a clock according to the clock frequency value stored in the clock control register.
이 특징의 바람직한 실시예에 있어서, 상기 SMI서비스는 컴퓨터의 입출력동작이 있는지를 판단하고, 컴퓨터의 입출력동작이 없으면, 클럭제어레지스터를 최소의 동작주파수 또는 0동작주파수로 설정시킨다.In a preferred embodiment of this aspect, the SMI service determines whether there is an input / output operation of the computer, and if there is no input / output operation of the computer, sets the clock control register to a minimum operating frequency or zero operating frequency.
이 특징의 바람직한 실시예에 있어서, 상기 컴퓨터는 입력된 카운트 설정값이 0인지를 판단하고, 입력된 카운트 설정값이 0이 아니면, 키보드컨트롤러의 디코더를 선택하고, 상기 입력된 카운트 설정값을 키보드컨트롤러의 카운트레지스터에 기억시키고, SMI서비스루틴에 클럭다운 서비스를 설정시킨다.In a preferred embodiment of this aspect, the computer determines whether the input count setting value is 0, if the input count setting value is not 0, selects a decoder of the keyboard controller, and inputs the input count setting value to the keyboard. It is stored in the count register of the controller and the clock down service is set in the SMI service routine.
이 특징의 바람직한 실시예에 있어서, 상기 키보드컨트롤러는 키입력감지부를 통해 키보드로부터 키입력이 있는지를 판단하고; 키입력이 없으면 카운터에 의해 카운팅을 수행하고, 키입력이 있으면 카운터를 카운트레지스터에 기억된 값으로 설정시키고; 카운트값이 목표값이 되었는지를 판단하고, 카운트값이 목표값이 되었을 경우에, 시스템관리인터럽트를 발생시키고, 카운터를 카운트레지스터에 저장된 값으로 설정시킨다.In a preferred embodiment of this aspect, the keyboard controller determines whether there is a key input from the keyboard through a key input detecting unit; If there is no key input, counting is performed by the counter; if there is a key input, the counter is set to a value stored in the count register; It is determined whether the count value reaches the target value, and when the count value reaches the target value, a system management interrupt is generated, and the counter is set to the value stored in the count register.
본 발명은 클럭제어기능을 갖는 컴퓨터에 관한 것으로, 칩셋에서 리스케쥴드 시스템관리 인터럽트를 발생시키는 경우에는 칩셋의 타이머에 인터럽트발생시간을 설정시키고, 마이크로프로세서는 시스템관리인터럽트가 발생되면 시스템관리인터럽트 서비스를 수행한다. 시스템관리인터럽트 서비스는 컴퓨터에 클럭을 공급하는 클럭발생부로부터 출력되는 클럭주파수가 낮아지게 되도록 제어하는 루틴이다. 한편, 칩셋에서 리스케쥴드 시스템관리 인터럽트를 제공하지 않는 경우에는 키보드컨트롤러의 타이머에 인터럽트발생시간을 설정시키고, 설정된 시간동안 키입력동작이 없는 경우에는 시스템관리인터럽트를 발생시키도록 한다. 마이크로프로세서는 이와같이 시스템관리인터럽트가 발생되면 시스템관리인터럽트 서비스루틴을 수행하여 클럭주파수가 낮아지도록 제어한다. 이와 같이 구성된 본 발명에 의하면, 주변기기의 입출력을 감지할 수 있고, 설정된 시간동안 입출력이 없는 경우에 시스템관리인터럽트를 발생할 수 있으며, 시스템관리인터럽트가 발생되면 시스템 클럭을 낮출 수 있다.The present invention relates to a computer having a clock control function. When a scheduled system management interrupt is generated in a chipset, the interrupt generation time is set in a timer of the chipset, and a microprocessor system management interrupt service is generated when a system management interrupt occurs. Perform The system management interrupt service is a routine for controlling the clock frequency output from the clock generator supplying the clock to the computer to be lowered. On the other hand, when the chipset does not provide the rescheduled system management interrupt, the interrupt generation time is set in the timer of the keyboard controller, and the system management interrupt is generated when there is no key input operation for the set time. When the system management interrupt occurs in this way, the microprocessor executes the system management interrupt service routine to control the clock frequency to be lowered. According to the present invention configured as described above, it is possible to detect the input and output of the peripheral device, it is possible to generate a system management interrupt when there is no input and output for a set time, it is possible to lower the system clock when the system management interrupt occurs.
이하, 도 2 내지 도 7을 참조하여 본 발명의 실시예를 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 2 to 7.
(실시예1)Example 1
도 2를 참조하면, 본 발명의 신규한 클럭 제어기능을 갖는 컴퓨터는 중앙처리부(110), 칩셋(120), SMI서비스루틴(130), 클럭제어레지스터(140), 클럭발생부(150)를 구비하여, 시스템관리인터럽트 서비스개시 시간을 자유롭게 설정할 수 있으며, 시스템의 입출력동작이 설정된 시간동안 없는 경우에는 시스템 클럭을 낮출 수 있다.Referring to FIG. 2, a computer having a novel clock control function of the present invention includes a
도면에서 중앙처리부(110)은 예컨대 486, Pentium, Pentium Pro 등의 IBM호환 컴퓨터에서 사용되는 마이크로프로세서이다. 이와 같은 중앙처리부(110)는 시스템관리인터럽트를 입력받을 수 있도록, 시스템관리인터럽트 입력단(SMI)을 구비한다.In the figure, the
그리고 도면에서 참조부호 120은 칩셋으로, 카운터(121)와 카운트레지스터(122) 및 디코더(123)를 구비한다. 이와 같은 칩셋은 프로그램이 가능하도록 구성된다. 여기서 카운터(121)는 카운트레지스터(122)에 기억된 설정값에 따라 카운팅하고, 목표값에 이르게 되면 시스템관리인터럽트신호를 출력시킨다. 디코더(123)는 중앙처리부(110)에 의해 칩셋(120)이 선택되었는지를 판단하고, 중앙처리장치(110)로부터 카운트레지스터(122)로 타이머값이 전송될수 있도록 카운트레지스터(122)를 이네이블시킨다.In the drawing,
SMI서비스루틴(130)에는 시스템관리인터럽트 서비스를 수행하는 소스프로그램이 기억된다. 클럭제어레지스터(140)에는 발생시키고자 하는 클럭주파수를 설정시킨다. 상기 클럭제어레지스터(140)에 기억된 레지스터값에 따라 클럭발생부(150)는 클럭주파수를 발생시켜 컴퓨터에 공급시킨다.The
상기 중앙처리부(110), SMI서비스루틴(130), 클럭제어레지스터(140), 클럭발생부(150), 칩셋(120)은 시스템버스(160)를 통해 서로 접속되어 데이터, 어드레스, 제어신호를 전송한다.The
도 4를 참조하여 시스템관리서비스루틴의 설정단계를 설명한다.A setting step of the system management service routine will be described with reference to FIG.
먼저, 설정시키고자 하는 타이머값이 0인지를 판단한다(S112). 여기서는 클럭발생부(150)가 보통의 상태에서 200MHz의 클럭을 출력시키고 있고, 타이머를 예컨대 10분으로 설정시키는 경우를 예로들어 설명한다.First, it is determined whether the timer value to be set is 0 (S112). Here, an example will be described in which the
도면에 도시된 바와 같이 만일 타이머값이 0이 입력된 경우에는 시스템관리 서비스루틴을 설정시키지 않게된다.As shown in the figure, if the timer value is 0, the system management service routine is not set.
타이머값이 0보다 큰 경우에는 칩셋의 디코더(123)를 선택하는 루틴이 수행된다(S113). 즉, 중앙처리부(110)는 시스템버스(160)를 통해 칩셋(120)의 디코더(123)측으로 소정의 선택명령을 출력한다. 그러면, 디코더(123)는 상기 중앙처리부(110)로 부터의 선택명령을 디코드하게 되고, 칩셋(120)이 선택되게 된다. 그리고, 중앙처리부(110)는 시스템버스(160)를 통해 타이머값(예컨대 1010HEX)을 출력시킨다. 이와 같이 출력된 타이머값은 칩셋(120)의 카운트레지스터(122)에 설정된다(S114). 계속해서, 중앙처리부(110)는 클럭다운을 수행할 시스템관리인터럽트 서비스루틴(130)을 설정시킨다(S115).If the timer value is greater than zero, a routine for selecting the
이와 같이 하여 소정의 설정루팅이 모두 수행되면, 칩셋(120)은 상기 카운트레지스터(122)에 기억된 타이머값에 따라 카운터(121)를 통해 카운트하고, 설정된 시간마다 시스템관리인터럽트(SMI)를 발생시킨다. 그러므로 여기서 타이머값이 예컨대 10분으로 설정되어 있으므로, 칩셋(120)은 10분마다 시스템관리인터럽트(SMI)를 발생시킨다.In this manner, when all predetermined setting routings are performed, the
그러면, 중앙처리부(110)는 상기 칩셋(120)으로부터 시스템관리인터럽트(SMI)가 발생될 때 마다, SMI서비스루틴(130)을 호출하여 시스템관리인터럽트 서비스를 수행하게 된다.Then, whenever the system management interrupt (SMI) is generated from the
도 5는 본 발명의 실시예에 따른 시스템관리인터럽트 서비스루틴(130)의 수행단계를 도시한 플로우챠트이다.FIG. 5 is a flowchart illustrating an execution step of the system management interrupt
먼저, SMI서비스루틴이 개시되면(S211), 중앙처리부(110)는 현재 시스템의 입출력동작이 있는지를 확인한다(S212). 여기서 현재 시스템의 입출력 동작이 있는 것으로 판단되면 중앙처리부(110)는 SMI서비스루틴을 리턴하여 다음 명령을 수행하게 된다. 상기에서 시스템의 입출력 동작이 없는 것으로 판단되면, 중앙처리부(110)는 클럭제어레지스터(140)에 예컨대 0Hz 또는 20Hz의 최소의 클럭값(0OHEX또는 00010100HEX)을 출력시켜 설정시킨다(S213). 클럭발생부(150)는 이와 같이 클럭제어레지스터(140)에 재설정된 클럭값에 기초하여 중앙처리부(110) 및 각 장치에 공급되는 클럭을 예컨대 0Hz 또는 20Hz로 감소시키게 된다.First, when the SMI service routine is started (S211), the
도 6은 본 발명의 1실시예에 따른 칩셋에 의한 리스케쥴드 시스템관리인터럽트 발생루틴을 상세히 도시한 플로우챠트이다.6 is a flowchart showing in detail a re-routed system management interrupt generation routine by the chipset according to an embodiment of the present invention.
칩셋(120)은 카운터(121)에 의해 다운 카운팅을 수행한다(S312). 이와 같이 다운카운팅을 수행하면서 카운트값이 0인지를 판단하고(S313), 0이 아니면 다운카운팅을 계속 수행한다.The
상기 카운터(121)에 의해 다운 카운팅을 수행하면서 카운트값이 0가 되면, 칩셋(120)은 중앙처리부(110)측으로 시스템관리 인터럽트(SMI)를 발생시킨다(S314). 그리고 칩셋(120)은 카운터레지스터(122)에 기억된 값을 카운터(121)에 셋트시킨다(S315). 계속해서 칩셋(120)은 다운 카운팅을 계속 수행한다(S312). 이와 같은 동작에 의해 칩셋으로부터 시스템관리인터럽트가 주기적(예컨대 10마다)으로 발생된다. 상기 카운팅동작은 업카운팅하도록 구성할 수도 있다.When the count value is 0 while performing the down counting by the counter 121, the
(실시예2)Example 2
도 3을 참조하면, 본 발명의 신규한 클럭 제어기능을 갖는 컴퓨터는 중앙처리부(210), 키보드컨트롤러(220), SMI서비스루틴(230), 클럭제어레지스터(240), 클럭발생부(250), 키보드(270)를 구비하여, 키보드입출력 동작감지시간(타이머)를 자유롭게 설정할 수 있으며, 키입력이 없는 경우에 시스템관리인터럽트를 요구할 수 있으며, 시스템인터럽트 서비스개시시 시스템의 입출력동작이 없는 경우에는 시스템 클럭을 낮출 수 있다.Referring to FIG. 3, the computer having the novel clock control function of the present invention includes a central processing unit 210, a
도면에서 중앙처리부(210)와 SMI서비스루틴(230), 클럭제어레지스터(240), 클럭발생부(250)의 구성 및 동작은 상기 실시예와 동일하다. 그리고 도면에서 220은 키보드컨트롤러로서, 카운터(221), 카운트레지스터(222), 디코더(223), 키입력감지부(224)를 구비한다. 이와 같은 키보드컨트롤러(220)는 프로그램이 가능하도록 구성된다.In the drawing, the configuration and operation of the central processing unit 210, the
여기서 상기 중앙처리부(210)는 시스템관리인터럽트신호가 입력되도록 소정의 입력단(EXSMI 또는 SMI)을 구비하고 있다.Here, the central processing unit 210 has a predetermined input terminal (EXSMI or SMI) so that the system management interrupt signal is input.
디코더(223)는 중앙처리부(210)에 의해 키보드컨트롤러(220)가 선택되었는지를 판단하고, 중앙처리장치(210)로부터 카운트레지스터(222)로 타이머값이 전송될수 있도록 카운트레지스터(222)를 이네이블시킨다. 키입력감지부(224)는 키보드(270)로부터 입력되는 키입력을 감지한다. 카운터(221)는 상기 키입력감지부(224)로부터 키입력이 감지되지 않으면 카운트레지스터(222)에 기억된 설정값에 따라 업 또는 다운카운팅하고, 목표값에 이르게 되면 시스템관리인터럽트신호를 출력시킨다.The decoder 223 determines whether the
도 4를 참조하여 시스템관리서비스루틴의 설정단계를 설명한다.A setting step of the system management service routine will be described with reference to FIG.
먼저, 설정시키고자 하는 타이머값이 0인지를 판단한다(S112). 여기서는 클럭발생부(250)가 보통의 상태에서 300MHz의 클럭을 출력시키고 있고, 타이머를 예컨대 5분으로 설정시키는 경우를 예로들어 설명한다.First, it is determined whether the timer value to be set is 0 (S112). Here, an example will be described in which the
타이머값이 5분이므로 0보다 크게되어, 칩셋의 디코더(223)를 선택하는 루틴이 수행된다(S113). 즉, 중앙처리부(210)는 시스템버스(260)를 통해 키보드컨트롤러(220)의 디코더(223)측으로 소정의 선택명령을 출력한다. 그러면, 디코더(223)는 상기 중앙처리부(210)로 부터의 선택명령을 디코드하게 되고, 키보드컨트롤러(220)가 선택되게 된다. 그리고, 중앙처리부(210)는 시스템버스(260)를 통해 타이머값(예컨대 0101HEX)을 출력시킨다. 이와 같이 출력된 타이머값은 키보드컨트롤러(220)의 카운트레지스터(222)에 설정된다(S114). 계속해서, 중앙처리부(210)는 클럭다운을 수행할 시스템관리인터럽트 서비스루틴(230)을 설정시킨다(S115).Since the timer value is 5 minutes, it becomes larger than 0, and a routine for selecting the decoder 223 of the chipset is performed (S113). That is, the central processing unit 210 outputs a predetermined selection command to the decoder 223 side of the
이와 같이 하여 소정의 설정루팅이 모두 수행되면, 키보드컨트롤러(220)는 상기 카운트레지스터(222)에 기억된 타이머값에 따라 카운터(221)를 통해 카운팅하고, 설정된 시간마다 시스템관리인터럽트(EXSMI)를 발생시킨다. 그러므로 여기서 타이머값이 5분으로 설정되어 있으므로, 키보드컨트롤러(220)는 5분마다 시스템관리인터럽트(EXSMI)를 발생시킨다.In this way, when all of the predetermined setting routing is performed, the
그러면, 중앙처리부(210)는 상기 키보드컨트롤러(220)로부터 시스템관리인터럽트(EXSMI)가 발생될 때 마다, SMI서비스루틴(230)을 호출하여 시스템관리인터럽트 서비스를 수행하게 된다.Then, whenever the system management interrupt (EXSMI) is generated from the
도 7은 본 발명의 실시예에 따른 키보드컨트롤러(210)에 의한 시스템관리인터텁트 발생루틴을 상세히 도시한 플로우챠트이다.7 is a flowchart showing in detail the system management interrupt generation routine by the keyboard controller 210 according to an embodiment of the present invention.
키보드컨트롤러(220)는 키보드(270)로부터 키입력이 있는지를 키입력감지부(224)를 통해 감지하고(S412), 키입력이 있으면 카운트레지스터(222)에 기억된 값을 카운터(221)에 설정시킨다(S414). 만일, 키보드(270)로부터 키입력이 없으면, 카운터(221)는 다운 카운팅을 수행한다(S413).The
계속해서, 키보드컨트롤러(220)는 상기 카운터(221)의 카운트값이 0인지를 판단한다(S415). 카운터(221)의 값이 0이 아니면, 키보드컨트롤러(220)는 상기 키보드 동작 판단(S412)을 계속 수행하게 된다. 만일, 상기 카운터(221)의 값이 0이면, 키보드컨트롤러(220)는 중앙처리부(210)측으로 시스템관리인터럽트(EXSMI)를 발생시킨다(S416). 그리고 키보드컨트롤러(220)는 카운트레지스터(222)에 기억된 값을 상기 카운터(221)에 설정시킨다(S417).Subsequently, the
다시 도 5를 참조하면, 시스템관리인터럽트 서비스루틴이 개시되면, 중앙처리부(210)는 현재 시스템의 입출력동작이 있는지를 판단한다(S212). 상기에서 시스템의 입출력 동작이 없는 것으로 판단되면, 중앙처리부(210)는 클럭제어레지스터(240)에 예컨대 0Hz 또는 20Hz의 최소의 클럭값(0OHEX또는 00010100HEX)을 출력시켜 설정시킨다(S213). 클럭발생부(250)는 이와 같이 클럭제어레지스터(240)에 재설정된 클럭값에 기초하여 중앙처리부(210) 및 각 장치에 공급되는 클럭을 예컨대 0Hz 또는 20Hz로 감소시켜 출력하게 된다.Referring back to FIG. 5, when the system management interrupt service routine is started, the central processing unit 210 determines whether there is an input / output operation of the current system (S212). If it is determined that there is no input / output operation of the system, the central processing unit 210 outputs and sets the minimum clock value (0 HEX or 00010100 HEX ) of, for example, 0 Hz or 20 Hz to the clock control register 240 (S213). The
본 발명의 실시예에서는 카운터의 동작을 다운카운트하도록 구성하였으나, 업카운트하도록 구성하고, 카운터의 값이 카운트레지스터에 저장된 카운트값에 이르게 되면 시스템관리인터럽트를 출력하도록 구성하여도 된다. 따라서 본 발명의실시예에서 카운터와 카운트레지스터는 타이머로서 동작하게 된다.In the embodiment of the present invention, the operation of the counter is configured to count down, but it may be configured to count up and output a system management interrupt when the value of the counter reaches the count value stored in the count register. Therefore, in the embodiment of the present invention, the counter and the count register operate as a timer.
(실시예3)Example 3
도 8을 참조하면, 본 발명의 신규한 클럭 제어기능을 갖는 컴퓨터는 중앙처리부, 칩셋, 키보드컨트롤러, SMI서비스루틴, 클럭제어레지스터, 클럭발생부, 키보드를 구비하여, 칩셋에 의한 시스템관리인터럽트 서비스개시 시간을 자유롭게 설정시켜 시스템관리인터럽트를 발생시킬 수 있고, 키보드입출력 동작감지시간(타이머)를 자유롭게 설정시켜 키입력이 없는 경우에 시스템관리인터럽트를 요구할 수 있으며, 시스템인터럽트 서비스개시시 시스템의 입출력동작이 없는 경우에는 시스템 클럭을 낮출 수 있다.Referring to FIG. 8, a computer having a novel clock control function according to the present invention includes a central processing unit, a chipset, a keyboard controller, an SMI service routine, a clock control register, a clock generator, a keyboard, and a system management interrupt service by a chipset. A system management interrupt can be generated by setting the start time freely. A keyboard input / output operation detection time (timer) can be set freely and a system management interrupt can be requested in the absence of a key input. If not, the system clock can be lowered.
도면을 참조하면, SMI서비스루틴은 다음과 같은 처리를 수행한다.Referring to the figure, the SMI service routine performs the following processing.
먼저, SMI서비스루틴이 개시되면, 중앙처리부는 칩셋에 의한 리스케쥴드 시스템관리인터럽트(Rescheduled SMI)가 발생되었는지를 판단한다(S511).First, when the SMI service routine is started, the central processing unit determines whether a scheduled system management interrupt (Rescheduled SMI) by the chipset has occurred (S511).
여기서 리스케쥴드 시스템관리인터럽트가 발생된 것으로 판단되면 시스템의 입출력 동작이 있는지를 판단하고(S512), 시스템의 입출력이 없으면 클럭을 줄이도록 클럭제어레지스터를 설정시킨다(S514).If it is determined that the re-scheduled system management interrupt is generated, it is determined whether there is an input / output operation of the system (S512), and if there is no input / output of the system, a clock control register is set to reduce the clock (S514).
한편, 중앙처리부는 상기에서 리스케쥴드 시스템관리인터럽트가 발생되지 않은 것으로 판단되면, 키보드컨트롤러에 의한 시스템관리인터럽트(EXSMI)가 발생되었는지를 판단한다(S513). 여기서 키보드컨트롤러에 의한 시스템관리인터럽트(EXSMI)가 발생된 것으로 판단되면, 시스템의 클럭을 줄이도록 클럭제어레지스터를 설정시킨다(S514).On the other hand, if it is determined that the rescheduled system management interrupt has not occurred above, the central processing unit determines whether a system management interrupt (EXSMI) by the keyboard controller has occurred (S513). If it is determined that the system management interrupt (EXSMI) is generated by the keyboard controller, the clock control register is set to reduce the clock of the system (S514).
상기와 같이 칩셋 또는 키보드컨트롤러에 의한 시스템관리인터럽트가 수행된 다음에는 나머지 시스템관리인터럽트 서비스를 계속 수행한다(S515).After the system management interrupt by the chipset or the keyboard controller is performed as described above, the remaining system management interrupt service is continued (S515).
본 발명은 종래의 시스템관리인터럽트 발생기능을 갖고 있지 않은 칩셋으로 구성된 컴퓨터에서는 전원관리를 효율적으로 수행할 수 없는 문제점을 해결한 것으로, 주변기기의 입출력을 감지할 수 있고, 설정된 시간동안 입출력이 없는 경우에 시스템관리인터럽트를 발생할 수 있으며, 시스템관리인터럽트가 발생되면 시스템 클럭을 낮출 수 있다.The present invention solves the problem that power management cannot be efficiently performed in a computer configured with a chipset that does not have a conventional system management interrupt generation function. When the input / output of a peripheral device can be detected and there is no input / output for a predetermined time, A system management interrupt can occur, and the system clock can be lowered when a system management interrupt occurs.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970058355A KR100274781B1 (en) | 1997-11-06 | 1997-11-06 | Computer with clock control function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970058355A KR100274781B1 (en) | 1997-11-06 | 1997-11-06 | Computer with clock control function |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990038563A KR19990038563A (en) | 1999-06-05 |
KR100274781B1 true KR100274781B1 (en) | 2000-12-15 |
Family
ID=19524238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970058355A KR100274781B1 (en) | 1997-11-06 | 1997-11-06 | Computer with clock control function |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100274781B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010087876A (en) * | 2000-03-09 | 2001-09-26 | 구자홍 | CPU clock control method |
-
1997
- 1997-11-06 KR KR1019970058355A patent/KR100274781B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990038563A (en) | 1999-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6975947B2 (en) | Power saving apparatus in an appliance | |
JP3406594B2 (en) | Computer power management system | |
EP0889387B1 (en) | Controlling a power state of a computer | |
US6832311B2 (en) | Information processing system and resume processing method used in the system | |
TW470876B (en) | Launch key, low power CD-ROM player for portable computers | |
JP3075957B2 (en) | Computer system | |
US5163153A (en) | Low-power, standby mode computer | |
US5913068A (en) | Multi-processor power saving system which dynamically detects the necessity of a power saving operation to control the parallel degree of a plurality of processors | |
US6016548A (en) | Apparatus for controlling duty ratio of power saving of CPU | |
US5560017A (en) | System with clock frequency controller responsive to interrupt independent of software routine and software loop repeatedly executing instruction to slow down system clock | |
JPH11161385A (en) | Computer system and its system state control method | |
JP3805913B2 (en) | Method for waking up computer system from standby mode and wakeup control circuit | |
JPH11194846A (en) | Computer system and its system state control method | |
EP2843502A1 (en) | Information processing device, information processing method, and program | |
US6275947B1 (en) | Control circuit and method to wake up or turn on computer via peripheral device | |
JP2000039937A (en) | Computer system and its power-saving control method | |
JP2002163047A (en) | Portable computer system, and control method therefor | |
KR100274781B1 (en) | Computer with clock control function | |
EP1656603A1 (en) | Power conservation in the absence of ac power | |
US6523122B1 (en) | Computer system for displaying system state information including advanced configuration and power interface states on a second display | |
US6766461B1 (en) | Status switching method of an information apparatus to ensure an operating status when the apparatus is liable to receive vibration or shock | |
CN103970253B (en) | Power-saving operation method and electronic device | |
EP0556198B1 (en) | System clock speed controller | |
EP1656602A1 (en) | Power button and device wake event processing methods in the absence of ac power | |
JP2001117663A (en) | Computer system and method for controlling processing speed of the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110830 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |