KR101513437B1 - System and method for managing adaptive clock speed - Google Patents

System and method for managing adaptive clock speed Download PDF

Info

Publication number
KR101513437B1
KR101513437B1 KR1020130036320A KR20130036320A KR101513437B1 KR 101513437 B1 KR101513437 B1 KR 101513437B1 KR 1020130036320 A KR1020130036320 A KR 1020130036320A KR 20130036320 A KR20130036320 A KR 20130036320A KR 101513437 B1 KR101513437 B1 KR 101513437B1
Authority
KR
South Korea
Prior art keywords
modules
clock
monitoring
module
signal
Prior art date
Application number
KR1020130036320A
Other languages
Korean (ko)
Other versions
KR20140120502A (en
Inventor
박대진
Original Assignee
어보브반도체 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 어보브반도체 주식회사 filed Critical 어보브반도체 주식회사
Priority to KR1020130036320A priority Critical patent/KR101513437B1/en
Publication of KR20140120502A publication Critical patent/KR20140120502A/en
Application granted granted Critical
Publication of KR101513437B1 publication Critical patent/KR101513437B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/19Monitoring patterns of pulse trains
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/125Discriminating pulses
    • H03K5/1252Suppression or limitation of noise or interference
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/15013Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/153Arrangements in which a pulse is delivered at the instant when a predetermined characteristic of an input signal is present or at a fixed time interval after this instant
    • H03K5/1534Transition or edge detectors

Landscapes

  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 복수의 모듈 각각에서 외부신호를 수신하고, 상기 수신된 외부신호를 처리하고, 상기 외부신호의 처리 결과 신호를 출력하고, 상기 모듈 각각에 의하여 출력되는 상기 처리 결과 신호를 수신하고, 상기 출력 신호의 변화에 기초하여 상기 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링하고, 상기 모듈 각각을 모니터링한 결과에 따라 상기 모듈 각각에 적합한 클럭을 상기 기준 클럭을 이용하여 생성하고 할당하는 동적으로 클럭 속도를 관리하는 시스템 및 그 방법에 관한 것이다.The present invention is a method for processing an external signal, comprising receiving an external signal at each of a plurality of modules, processing the received external signal, outputting a processing result signal of the external signal, receiving the processing result signal output by each of the modules, Monitoring a time interval between operation events of each of the modules based on a change in an output signal and generating and allocating a clock suitable for each of the modules using the reference clock according to a result of monitoring each of the modules, And a method thereof.

Figure R1020130036320
Figure R1020130036320

Description

동적으로 클럭 속도를 관리하는 시스템 및 그 방법{System and method for managing adaptive clock speed}[0001] System and method for managing clock speed dynamically [

본 발명은 클럭 속도를 관리하는 기술에 관한 것으로, 특히, 복수 모듈들을 모니터링하고, 모니터링 결과에 따라 모듈 각각에 적합한 클럭을 동적으로 제공하는 시스템 및 방법에 관한 것이다. The present invention relates to a technique for managing clock speeds, and more particularly, to a system and method for monitoring a plurality of modules and dynamically providing a clock suitable for each of the modules according to a monitoring result.

데이터의 셋업시간(setup time)은 외부클럭신호의 상승 또는 하강 엣지 이전에 입력신호를 확인하는 데 필요한 최소한의 시간을 말하고, 데이터의 홀드시간(hold time)은 외부클럭신호의 상승 또는 하강 엣지 이후에 입력신호를 유지하는 데 필요한 최소한의 시간을 말한다.The setup time of the data refers to the minimum time required to confirm the input signal before the rising or falling edge of the external clock signal and the hold time of the data after the rising or falling edge of the external clock signal Lt; / RTI > is the minimum amount of time required to maintain the input signal.

일반적으로 넓은 주파수 범위에서 동작하는 동기식 반도체 장치에서는 동작 목표로 하는 가장 큰 주파수의 클럭신호를 기준으로 셋업시간 및 홀드시간을 맞추도록 설계되어야 한다. 한편으로는, 셋업시간 및 홀드시간을 만족시키기 위해서는 클럭신호의 주파수를 떨어뜨리게 되므로 셋업시간 및 홀드시간을 만족하는 것은 동작 속도의 저하, 성능의 저하를 가져오는 것으로도 해석할 수 있다.Generally, in a synchronous semiconductor device that operates in a wide frequency range, it should be designed to set up a setup time and a hold time based on a clock signal having the highest frequency as an operation target. On the other hand, since the frequency of the clock signal is lowered in order to satisfy the setup time and the hold time, satisfying the setup time and the hold time can be interpreted as a reduction in the operation speed and a decrease in the performance.

다수의 모듈이 상호 연동되어 동작하는 시스템에서, 동작 주파수에 상관없이 고정된 셋업시간 및 홀드시간을 설계하고, 이를 충족하기 위하여 낮은 주파수의 클럭신호를 설정하는 것은 동작을 비효율적으로 만드는 문제가 있다.In a system in which a plurality of modules operate in cooperation with each other, designing a fixed setup time and a hold time irrespective of an operation frequency and setting a low frequency clock signal in order to satisfy the setup time have a problem of making operation inefficient.

클럭신호는 디지탈 논리회로의 필수적인 신호로서 모든 구성요소의 동작 타이밍의 기준이 되는 신호이다. 그러나 모든 구성요소가 하나의 클럭신호에 동기되어 동작할 필요가 있는 것은 아니다.The clock signal is an essential signal of the digital logic circuit, and is a signal that serves as a reference for the operation timing of all the components. However, not all components need to operate in synchronization with a single clock signal.

다른 한편으로는, 다수의 모듈이 상호 연동되어 동작하는 시스템에서, 각 모듈의 성능 또는 기능 상의 목적이 서로 다른 경우에 높은 주파수의 클럭신호에 의하여 모든 모듈이 동작하는 경우를 가정한다면, 어떤 모듈은 불필요하게 높은 주파수의 클럭신호에 의하여 동작함으로써 불필요한 전력 소모를 초래하게 될 것이다.On the other hand, in a system in which a plurality of modules operate in a mutually interworking manner, if all of the modules operate by a high frequency clock signal when the performance or functional purpose of each module is different, And unnecessary high-frequency clock signals will cause unnecessary power consumption.

최근에는 기존에 서로 다른 칩으로 구현되었던 다수의 기능 모듈들이 하나의 칩 내에 집적되는 경향을 보이고 있는 만큼, 다수의 모듈이 상호 연동되어 동작하는 시스템에서 클럭신호의 주파수를 제어하는 기술에 대한 수요가 높아지고 있는 실정이다.In recent years, there has been a tendency that a plurality of functional modules previously implemented in different chips are integrated in a single chip. Therefore, there is a demand for a technology for controlling the frequency of a clock signal in a system in which a plurality of modules operate in inter- It is a fact that it is getting higher.

종래의 클럭신호를 제어하는 기술의 한 예로, 한국등록특허 제0336556호 "클럭신호제어회로"가 제안되었다. 상기 선행기술에서는 다수개의 지연수단을 구비하고 각각의 지연수단에서 출력되는 서로 다른 지연시간을 갖는 다수개의 클럭신호를 선택수단을 이용하여 선택적으로 출력시켜서 필요한 디바이스 블록에 전달되도록 함으로써 각각의 디바이스 블록에 전달되는 클럭신호의 지연시간을 필요에 따라 적절히 제어할 수 있는 클럭신호 제어회로를 제공하는 기술이 개시되었다.Korean Patent No. 0336556 "Clock signal control circuit" has been proposed as an example of a technique for controlling a conventional clock signal. In the prior art, a plurality of clock signals having a plurality of delay means and having different delay times output from the respective delay means are selectively output by using selection means to be transmitted to a necessary device block, A technique for providing a clock signal control circuit capable of appropriately controlling a delay time of a transmitted clock signal as needed has been disclosed.

하지만, 상기 선행기술은 디바이스 블록의 내부버스의 동작 변화를 고려하지 않고, 디바이스 블록 별로 정해진 클럭을 제공할 뿐이다.However, the prior art only provides a predetermined clock for each device block without considering the operation change of the internal bus of the device block.

따라서, 디바이스 블록의 동작 변화에 따라 동적으로 변화된 클럭을 제공하는 방법이 요구된다.Therefore, a method of providing a dynamically changed clock in accordance with a change in operation of a device block is required.

한국등록특허 제0336556호 (공고일 2002.08.28)Korean Registered Patent No. 0336556 (Published Aug. 28, 2002)

본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 동적으로 클럭 속도를 관리하는 시스템 및 그 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a system and method for dynamically managing a clock rate.

구체적으로, 본 발명은 복수 모듈들을 모니터링하고, 모니터링 결과에 따라 모듈 각각에 적합한 클럭을 동적으로 생성하여 제공하는 시스템 및 방법을 제공하는 것을 목적으로 한다.Specifically, the present invention aims to provide a system and method for monitoring a plurality of modules and dynamically generating and providing a clock suitable for each module according to a monitoring result.

또한, 본 발명은 복수 모듈들을 모니터링하고, 모니터링 결과에 따라 여러 제2 기준 클럭들 중에서 모듈 각각에 적합한 클럭을 동적으로 선택하여 제공하는 시스템 및 방법을 제공하는 것을 목적으로 한다.It is another object of the present invention to provide a system and method for monitoring a plurality of modules and dynamically selecting and providing a clock suitable for each of a plurality of second reference clocks according to a monitoring result.

또한, 본 발명은 복수 모듈들을 모니터링할 때, 모니터링하는 순서와 모듈 각각의 동작 이벤트 간의 시간 간격, 상기 모듈 각각의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나를 고려하여 모니터링할 모듈의 우선순위를 결정하는 방법을 제공하는 것을 목적으로 한다.In addition, when monitoring a plurality of modules, the present invention monitors at least one of a monitoring order, a time interval between operation events of each module, and a number of times that a time interval between operation events of each module changes during a predetermined time And a method for determining a priority of a module.

상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시 예에 따른 동적으로 클럭 속도를 관리하는 시스템은, 외부신호를 수신하고, 상기 수신된 외부신호를 처리하고, 상기 외부신호의 처리 결과 신호를 출력하는 복수의 모듈; 상기 모듈 각각에 의하여 출력되는 상기 처리 결과 신호를 수신하고, 상기 처리 결과 신호의 변화에 기초하여 상기 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링하는 모니터링부; 기준 클럭을 생성하는 클럭 생성부; 및 상기 기준 클럭을 수신하고, 상기 모니터링부에서 상기 모듈 각각을 모니터링한 결과에 따라 상기 모듈 각각에 적합한 클럭을 상기 기준 클럭을 이용하여 생성하고 할당하는 클럭 분배부를 포함한다.According to an aspect of the present invention, there is provided a system for dynamically controlling a clock rate, the system including: an external signal receiving unit for receiving an external signal, processing a received external signal, A plurality of modules for outputting; A monitoring unit that receives the processing result signal output by each of the modules and monitors a time interval between operation events of each module based on a change of the processing result signal; A clock generating unit for generating a reference clock; And a clock distributor for receiving the reference clock and generating and allocating a clock suitable for each of the modules using the reference clock according to a result of monitoring each of the modules by the monitoring unit.

이때, 본 발명의 일 실시예에 따르면 상기 복수의 모듈 각각은 상기 모니터링부와 별도의 채널로 연결될 수 있다.According to an embodiment of the present invention, each of the plurality of modules may be connected to the monitoring unit through a separate channel.

이때, 본 발명의 다른 실시예에 따르면 상기 복수의 모듈은 하나의 채널을 공유하여 상기 모니터링부와 연결될 수 있다.In this case, according to another embodiment of the present invention, the plurality of modules share one channel and can be connected to the monitoring unit.

이때, 본 발명의 일 실시예에 따르면 상기 모니터링부는 상기 모듈 각각을 기설정된 순서에 따라 순차적으로 모니터링할 수 있다.According to an embodiment of the present invention, the monitoring unit may sequentially monitor each of the modules in a predetermined order.

이때, 본 발명의 다른 실시예에 따르면 상기 모니터링부는 상기 모듈 각각을 우선순위에 따라 모니터링할 수 있다. 여기서, 우선순위는, 상기 모듈의 중요도, 상기 모듈 각각의 동작 이벤트 간의 시간 간격 또는 상기 모듈 각각의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나 이상을 고려하여 결정될 수 있다.In this case, according to another embodiment of the present invention, the monitoring unit may monitor each of the modules according to a priority order. Here, the priority can be determined in consideration of at least one of the importance of the module, the time interval between the operation events of each module, or the number of times the time interval between the operation events of each module changes during a predetermined time.

이때, 상기 모니터링부는, 상기 모듈 각각의 모니터링 결과를 저장하고, 상기 모듈 각각의 모니터링 결과를 분석하여 기설정된 시간 동안 상기 모듈 각각의 동작 이벤트 간의 시간 간격이 변화한 횟수가 기설정한 횟수를 초과하면, 상기 기설정한 횟수를 초과한 모듈을 상기 기설정한 횟수를 초과하지 않은 모듈보다 기설정한 반복 횟수만큼 빈번하게 모니터링할 수 있다.In this case, the monitoring unit stores the monitoring result of each of the modules, analyzes the monitoring result of each of the modules, and when the number of times that the time interval between the operation events of each module is changed for a predetermined time exceeds the preset number , The module exceeding the preset number of times may be monitored more frequently than the module that does not exceed the preset number of times by the preset number of times.

본 발명의 다른 실시 예에 따른 동적으로 클럭 속도를 관리하는 시스템은, 외부신호를 수신하고, 상기 수신된 외부신호를 처리하고, 상기 외부신호의 처리 결과 신호를 출력하는 복수의 모듈; 상기 모듈 각각에 의하여 출력되는 상기 처리 결과 신호를 수신하고, 상기 처리 결과 신호의 변화에 기초하여 상기 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링하는 모니터링부; 제1 기준 클럭을 생성하는 클럭 생성부; 상기 기준 클럭을 이용하여 복수의 제2 기준 클럭을 생성하는 제2 기준 클럭 생성부; 및 상기 모니터링부에서 상기 모듈 각각을 모니터링한 결과에 따라 상기 모듈 각각에 상기 제2 기준 클럭을 매핑 테이블을 이용하여 할당하는 클럭 분배부를 포함한다.According to another aspect of the present invention, there is provided a system for dynamically managing a clock rate, comprising: a plurality of modules for receiving an external signal, processing the received external signal, and outputting a processed signal of the external signal; A monitoring unit that receives the processing result signal output by each of the modules and monitors a time interval between operation events of each module based on a change of the processing result signal; A clock generator for generating a first reference clock; A second reference clock generator for generating a plurality of second reference clocks using the reference clock; And a clock distributor for allocating the second reference clock to each of the modules using a mapping table according to a result of monitoring the modules in the monitoring unit.

이때, 상기 매핑 테이블은, 상기 모듈의 중요도, 상기 모듈 각각의 동작 이벤트 간의 시간 간격 또는 상기 모듈 각각의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나에 대응하는 제2 기준 클럭을 저장할 수 있다.At this time, the mapping table may include at least one of a second reference clock corresponding to at least one of the importance of the module, a time interval between operation events of the modules, or a time interval between operation events of the modules, Can be stored.

이때, 본 발명의 일 실시예에 따르면 상기 복수의 모듈 각각은 상기 모니터링부와 별도의 채널로 연결될 수 있다.According to an embodiment of the present invention, each of the plurality of modules may be connected to the monitoring unit through a separate channel.

이때, 본 발명의 다른 실시예에 따르면 상기 복수의 모듈은 하나의 채널을 공유하여 상기 모니터링부와 연결될 수 있다.In this case, according to another embodiment of the present invention, the plurality of modules share one channel and can be connected to the monitoring unit.

이때, 본 발명의 일 실시예에 따르면 상기 모니터링부는, 상기 모듈 각각을 기설정된 순서에 따라 순차적으로 모니터링할 수 있다.According to an embodiment of the present invention, the monitoring unit may sequentially monitor each of the modules in a predetermined order.

이때, 본 발명의 다른 실시예에 따르면 상기 모니터링부는, 상기 모듈 각각을 우선순위에 따라 모니터링할 수 있다. 여기서, 우선순위는, 상기 모듈의 중요도, 상기 모듈 각각의 동작 이벤트 간의 시간 간격 또는 상기 모듈 각각의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나 이상을 고려하여 결정될 수 있다.In this case, according to another embodiment of the present invention, the monitoring unit may monitor each of the modules according to a priority order. Here, the priority can be determined in consideration of at least one of the importance of the module, the time interval between the operation events of each module, or the number of times the time interval between the operation events of each module changes during a predetermined time.

이때, 상기 모니터링부는, 상기 모듈 각각의 모니터링 결과를 저장하고, 상기 모듈 각각의 모니터링 결과를 분석하여 기설정된 시간동안 상기 모듈 각각의 동작 이벤트 간의 시간 간격이 변화한 횟수가 기설정한 횟수를 초과하면, 상기 기설정한 횟수를 초과한 모듈을 상기 기설정한 횟수를 초과하지 않은 모듈보다 기설정한 반복 횟수만큼 빈번하게 모니터링할 수 있다.In this case, the monitoring unit stores the monitoring result of each of the modules, analyzes the monitoring result of each of the modules, and when the number of times that the time interval between the operation events of each module is changed for a predetermined time exceeds the preset number , The module exceeding the preset number of times may be monitored more frequently than the module that does not exceed the preset number of times by the preset number of times.

본 발명의 일 실시 예에 따른 시스템에서 동적으로 클럭 속도를 관리하는 방법은, 복수의 모듈 각각에서 외부신호를 수신하고, 상기 수신된 외부신호를 처리하고, 상기 외부신호의 처리 결과 신호를 출력하는 단계; 상기 모듈 각각에 의하여 출력되는 상기 처리 결과 신호를 수신하고, 상기 처리 결과 신호의 변화에 기초하여 상기 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링하는 단계; 및 상기 모듈 각각을 모니터링한 결과에 따라 상기 모듈 각각에 적합한 클럭을 상기 기준 클럭을 이용하여 생성하고 할당하는 단계를 포함한다.A method for dynamically managing a clock rate in a system according to an embodiment of the present invention includes receiving an external signal at each of a plurality of modules, processing the received external signal, and outputting a processing result signal of the external signal step; Receiving the processing result signal output by each of the modules and monitoring a time interval between operation events of each of the modules based on a change in the processing result signal; And generating and allocating a clock suitable for each of the modules using the reference clock according to a result of monitoring each of the modules.

본 발명의 다른 실시 예에 따른 시스템에서 동적으로 클럭 속도를 관리하는 방법은, 복수의 모듈 각각에서 외부신호를 수신하고, 상기 수신된 외부신호를 처리하고, 상기 외부신호의 처리 결과 신호를 출력하는 단계; 상기 모듈 각각에 의하여 출력되는 상기 처리 결과 신호를 수신하고, 상기 처리 결과 신호의 변화에 기초하여 상기 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링하는 단계; 제1 기준 클럭을 이용하여 복수의 제2 기준 클럭을 생성하는 단계; 및 상기 모듈 각각을 모니터링한 결과에 따라 상기 모듈 각각에 상기 제2 기준 클럭을 매핑 테이블을 이용하여 할당하는 단계를 포함한다.A method of dynamically managing a clock rate in a system according to another embodiment of the present invention includes receiving an external signal at each of a plurality of modules, processing the received external signal, and outputting a processing result signal of the external signal step; Receiving the processing result signal output by each of the modules and monitoring a time interval between operation events of each of the modules based on a change in the processing result signal; Generating a plurality of second reference clocks using a first reference clock; And allocating the second reference clock to each of the modules using a mapping table according to a result of monitoring each of the modules.

본 발명의 실시예들은 복수 모듈들을 모니터링하고, 모니터링 결과에 따라 모듈 각각에 적합한 클럭을 동적으로 제공하기 때문에 각 모듈 별로 클럭을 제어할 수 있어 불필요한 고속의 클럭 발생을 줄여 소비전력을 최소화할 수 있다.Since embodiments of the present invention monitor a plurality of modules and dynamically provide a clock suitable for each module according to a monitoring result, it is possible to control a clock for each module, thereby reducing unnecessary high-speed clock generation and minimizing power consumption .

본 발명의 실시예들은 각각의 기능 모듈의 동작 상황, 동작의 목적, 고유의 성능에 최적화된 주파수의 클럭을 제공함으로써 불필요한 전력 소모를 절감할 수 있다.Embodiments of the present invention can reduce unnecessary power consumption by providing clocks of frequencies optimized for the operation status of each function module, the purpose of operation, and the inherent performance.

또한 본 발명의 실시예들은 동적으로 각 기능 모듈의 상황을 모니터하여 그에 최적화된 주파수의 클럭을 제공하므로, 각 기능 모듈이 수행해야 하는 기능이나 동작이 실패하는 일 없이 주어진 상황에서 전력 소모를 최소화할 수 있다.In addition, embodiments of the present invention dynamically monitor the status of each function module and provide a clock with a frequency optimized for the function module, thereby minimizing power consumption in a given situation without failing a function or operation to be performed by each function module .

도 1은 본 발명의 일 실시예에 따른 동적으로 클럭 속도를 관리하는 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 동적으로 클럭 속도를 관리하는 시스템의 또 다른 구성을 도시한 도면이다.
도 3은 본 발명의 모듈과 모니터링부가 연결된 다른 실시예를 도시한 도면이다.
도 4는 본 발명의 모듈과 모니터링부가 연결된 또 다른 실시예를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 모니터링부의 개략적인 구성을 도시한 도면이다.
도 6은 도 5의 모니터링부에서 모니터링하는 방법을 도시한 도면이다.
도 7은 본 발명의 다른 실시예에 따른 모니터링부의 구성을 도시한 도면이다.
도 8은 도 1의 동적으로 클럭 속도를 관리하는 시스템에서 클럭 속도를 제어하는 과정을 도시한 동작 흐름도이다.
도 9는 도 2의 동적으로 클럭 속도를 관리하는 시스템에서 클럭 속도를 제어하는 과정을 도시한 동작 흐름도이다.
1 is a diagram showing a configuration of a system for dynamically managing a clock rate according to an embodiment of the present invention.
2 is a diagram illustrating another configuration of a system for dynamically managing a clock rate according to an embodiment of the present invention.
FIG. 3 is a diagram showing another embodiment in which a module and a monitoring unit of the present invention are connected.
FIG. 4 illustrates another embodiment of a module and a monitoring unit of the present invention.
5 is a diagram showing a schematic configuration of a monitoring unit according to an embodiment of the present invention.
6 is a diagram illustrating a method of monitoring by the monitoring unit of FIG.
7 is a diagram illustrating the configuration of a monitoring unit according to another embodiment of the present invention.
FIG. 8 is a flowchart illustrating a process of controlling the clock rate in the system for dynamically controlling the clock rate in FIG.
9 is a flowchart illustrating a process of controlling the clock rate in the system for dynamically controlling the clock rate of FIG.

상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이다.Other objects and features of the present invention will become apparent from the following description of embodiments with reference to the accompanying drawings.

본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.

이하에서는, 본 발명의 일 실시 예에 따른 동적으로 클럭 속도를 관리하는 시스템 및 그 방법을 첨부된 도 1 내지 도 9를 참조하여 상세히 설명한다.Hereinafter, a system and method for dynamically managing a clock rate according to an embodiment of the present invention will be described in detail with reference to FIGS. 1 to 9.

도 1은 본 발명의 일 실시예에 따른 동적으로 클럭 속도를 관리하는 시스템의 구성을 도시한 도면이다.1 is a diagram showing a configuration of a system for dynamically managing a clock rate according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 클럭 관리 시스템(100)은 클럭 생성부(110), 제어부(120), 내부 버스(130), 모듈(141,142,143), 모니터링부(150) 및 클럭 분배부(170)를 포함할 수 있다.1, the clock management system 100 includes a clock generation unit 110, a control unit 120, an internal bus 130, modules 141, 142 and 143, a monitoring unit 150, and a clock distribution unit 170 ).

클럭 생성부(110)는 기준 클럭을 생성한다.The clock generating unit 110 generates a reference clock.

내부 버스(130)는 전용 버스 통신 표준을 기반으로 할 수도 있고 다른 공개 표준들을 기반으로 할 수도 있다. 내부 버스(130)에는 제어부(120) 및 모듈(141,142,143)들이 연결되어 데이터가 송수신 된다. 내부 버스(130)는 시스템(100) 내부의 데이터 송수신이 이루어지는 버스를 의미한다.The internal bus 130 may be based on a dedicated bus communication standard or may be based on other open standards. The control unit 120 and the modules 141, 142, and 143 are connected to the internal bus 130 to transmit and receive data. The internal bus 130 refers to a bus through which data is transmitted and received within the system 100.

모듈(141,142,143)는 클럭 분배부(170)에 의해 공급되는 클럭에 따라 동작하며, 외부신호를 수신하고, 수신된 외부신호를 처리하고, 내부 버스(130)를 경유하여 외부신호의 처리 결과 신호를 출력한다. 이때, 모듈(141,142,143)은 반도체 장치와 같은 디바이스에 포함된 내부 모듈들일 수 있다.The modules 141, 142 and 143 operate according to the clock supplied by the clock distributor 170, receive external signals, process the received external signals, and transmit processing result signals of external signals via the internal bus 130 Output. Here, the modules 141, 142, and 143 may be internal modules included in a device such as a semiconductor device.

본 발명의 일 실시예에 따르면 시스템(100)은 하나의 칩 내에 구현된 시스템 온 칩(SOC, System on Chip)일 수 있다. 이때 모듈(141, 142, 143)은 시스템(100) 내부의 회로 모듈 또는 회로 라이브러리일 수 있다. 제어부(120)는 중앙 처리 프로세서(CPU)의 기능을 수행할 수 있는 코어 라이브러리 또는 코어 모듈일 수 있다.According to an embodiment of the present invention, the system 100 may be a system on chip (SOC) implemented in one chip. The modules 141, 142, and 143 may be circuit modules or circuit libraries within the system 100. The control unit 120 may be a core library or a core module capable of performing a function of a central processing unit (CPU).

본 발명의 다른 실시예에 따르면 시스템(100)은 다수의 집적회로(IC) 칩들을 포함하여 버스(130)로 연결된 복합 시스템일 수도 있다. 이때 모듈(141, 142, 143)은 별도의 집적회로 칩일 수 있으며, 제어부(120)는 중앙 처리 프로세서(CPU)일 수 있다.According to another embodiment of the present invention, the system 100 may be a complex system comprising a plurality of integrated circuit (IC) chips connected to the bus 130. [ In this case, the modules 141, 142, and 143 may be separate integrated circuit chips, and the controller 120 may be a central processing unit (CPU).

모듈(141,142,143)는 외부신호의 처리 결과 신호를 모니터링부(150)로 출력할 수 있다. 이때, 외부신호의 처리 결과 신호의 출력 여부는 처리 결과 신호가 출력 중임을 판별하기 위한 한 개의 제1 포트와 제1 포트의 오류여부 체크를 위한 제1 포트의 신호를 인버스(inverse)하여 출력하는 제2 포트로 구성될 수 있고, 제1 포트와 제2 포트를 묶어 하나의 채널을 형성할 수 있다.The modules 141, 142, and 143 may output the processing result signal of the external signal to the monitoring unit 150. At this time, whether or not the processing result signal of the external signal is output is inversed by outputting a signal of a first port for determining whether a processing result signal is being output and a signal of a first port for checking the error of the first port And the first port and the second port may be combined to form one channel.

모니터링부(150)는 내부 버스(130)를 경유하여 모듈(141,142,143) 각각에 의하여 출력되는 처리 결과 신호를 수신하고, 내부 버스(130)의 상태 변화에 기초하여 모듈(141,142,143) 각각의 동작 이벤트 간의 시간 간격을 모니터링 한다.The monitoring unit 150 receives a processing result signal output by each of the modules 141, 142 and 143 via the internal bus 130 and generates a signal indicating the operation events of the modules 141, 142, and 143 based on the state change of the internal bus 130. [ Monitor the time interval.

즉, 모니터링부(150)는 모듈(141,142,143) 각각에 의하여 처리 결과 신호가 출력 중인지 여부를 확인하여 내부 버스(130)의 상태 변화를 감지하고, 모듈(141,142,143) 각각의 동작 이벤트 간의 시간 간격을 모니터링할 수 있다.That is, the monitoring unit 150 detects whether a processing result signal is being output by the modules 141, 142, and 143, detects the state change of the internal bus 130, monitors the time intervals between the operation events of the modules 141, 142, can do.

이때, 복수의 모듈(141,142,143)은 모니터링부(150)와 하나의 채널을 공유하여 연결될 수 있다.At this time, the plurality of modules 141, 142, and 143 may be connected to the monitoring unit 150 by sharing one channel.

모니터링부(150)는 모듈(141,142,143) 각각을 기설정된 순서에 따라 모니터링 할 수도 있고, 모듈(141,142,143) 각각을 우선순위에 따라 모니터링 할 수도 있다. 이때, 우선순위는 모듈(141,142,143)의 중요도, 모듈(141,142,143) 각각의 동작 이벤트 간의 시간 간격 또는 모듈(141,142,143) 각각의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나를 고려해서 결정될 수 있다.The monitoring unit 150 may monitor the modules 141, 142, and 143 according to a predetermined order, or may monitor the modules 141, 142, and 143 according to the priority order. At this time, the priority order is determined in consideration of at least one of the importance of the modules 141, 142, 143, the time interval between the operation events of the modules 141, 142, 143, or the time interval between the operation events of the modules 141, 142, .

모니터링부(150)는 모듈(141,142,143) 각각의 모니터링 결과를 저장하고, 모듈(141,142,143) 각각의 모니터링 결과를 분석하여 기설정된 시간동안 모듈 각각의 동작 이벤트 간의 시간 간격이 변화한 횟수가 기설정한 횟수를 초과하면, 기설정한 횟수를 초과한 모듈을 기설정한 횟수를 초과하지 않은 모듈보다 기설정한 반복 횟수만큼 빈번하게 모니터링할 수 있다.The monitoring unit 150 stores the monitoring results of the modules 141, 142 and 143 and analyzes the monitoring results of the modules 141, 142, and 143 to analyze the monitoring results of the modules 141, 142, and 143, , It is possible to frequently monitor a module exceeding the preset number of times by a predetermined number of times more than a module that does not exceed the preset number of times.

즉, 모니터링부(150)는 중요하거나 또는 모듈 각각의 동작 이벤트 간의 시간 간격의 변화가 많은 모듈을 더 빈번하게 모니터링 할 수 있다.That is, the monitoring unit 150 can more frequently monitor the modules having a large change in the time interval between the operation events of the important or modules.

클럭 분배부(170)는 기준 클럭을 수신하고, 모니터링부(150)에서 모듈(141,142,143) 각각을 모니터링한 결과에 따라 모듈(141,142,143) 각각에 적합한 클럭을 기준 클럭을 이용하여 생성하고, 할당한다.The clock distribution unit 170 receives the reference clock and generates and allocates a clock suitable for each of the modules 141, 142 and 143 using the reference clock according to a result of monitoring the modules 141, 142 and 143 in the monitoring unit 150.

이때, 클럭 분배부(170)는 모듈(141,142,143)을 모니터링한 결과 모듈(141, 142, 143) 각각의 동작 이벤트 간의 시간 간격의 변화보다 모듈에 제공하는 클럭이 기설정한 횟수 이상 빠르게 동작하면, 모듈에 제공하는 클럭을 낮출 수 있다.If the clock distribution unit 170 operates faster than the predetermined number of clocks provided to the module than the change of the time interval between the operation events of the modules 141, 142 and 143 as a result of monitoring the modules 141, 142, and 143, The clock provided to the module can be lowered.

클럭 분배부(170)는 모듈(141,142,143)을 모니터링한 결과 모듈(141, 142, 143) 각각의 동작 이벤트 간의 시간 간격의 변화보다 모듈에 제공하는 클럭이 기설정한 횟수 미만으로 느리게 동작하면, 모듈에 제공하는 클럭을 높일 수 있다.If the clock distribution unit 170 operates slower than the number of times the clock provided to the module is slower than the change in the time interval between the operation events of the modules 141, 142, and 143 as a result of monitoring the modules 141, 142, Can be increased.

예를 들어 시스템이 제공할 수 있는 최대 클럭으로서 기준 클럭이 1GHz인 경우를 가정한다. 또한 모듈(141)은 아날로그 디지털 변환기(ADC)인 경우를 가정한다.For example, assume that the reference clock is 1 GHz as the maximum clock that the system can provide. It is also assumed that the module 141 is an analog-to-digital converter (ADC).

모듈(141)은 외부신호의 아날로그 레벨을 감지하여 디지털 신호로 변환하고, 디지털 신호를 출력한다. 이때 ADC 모듈(141)이 인간의 지각보다 빠르게 출력신호를 제공하는 것만으로도 충분히 그 목적을 달성할 수 있다면, ADC 모듈(141)은 수백~수십 kHz 정도의 클럭에 대응하는 간격으로 출력신호를 제공하더라도 동작에 문제가 없을 것이다. 외부신호는 지속적으로 변화할 것이므로 기준 클럭인 1 GHz보다 빠르게 변화할 수 있으나 ADC 모듈(141)이 수백~수십 kHz 정도의 동작 속도로 출력신호를 내어놓는다면 ADC 모듈(141)의 동작 이벤트는 수백~수십 kHz에 대응하는 간격으로 발생한다고 볼 수 있다. 즉, 모니터링부(150)는 내부 버스(130)의 동작을 모니터하여 ADC 모듈(141)의 동작 이벤트 간의 시간 간격이 수백~수십 kHz에 대응하는 수~수십 마이크로초(microsecond)임을 판정할 수 있다. 이 경우 ADC 모듈(141)은 기준 클럭보다 매우 낮은 수백~수십 kHz의 클럭으로 동작하더라도 동작에 이상이 없을 것이다.The module 141 detects the analog level of the external signal, converts it into a digital signal, and outputs a digital signal. At this time, if the ADC module 141 can sufficiently attain the object by providing the output signal faster than the human perception, the ADC module 141 outputs the output signal at intervals corresponding to clocks of several hundreds to several tens of kHz Even if it is provided, there will be no problem in operation. If the ADC module 141 outputs an output signal at an operation speed of several hundreds to several tens of kHz, the operation event of the ADC module 141 may be performed several hundreds To several tens of kHz. That is, the monitoring unit 150 may monitor the operation of the internal bus 130 and determine that the time interval between the operation events of the ADC module 141 is several microseconds to several tens microseconds corresponding to several hundreds to several tens of kHz . In this case, even if the ADC module 141 operates at a clock rate of several hundreds to several tens of kHz which is much lower than the reference clock, there is no problem in operation.

한편 모듈(142)은 단순히 외부신호가 임계치(threshold) 이상이면 '1'을, 임계치 미만이면 '0'을 출력하는 감지 회로라고 가정한다. 이 경우 모듈(142)은 외부신호의 변화에 따라 '0' 또는 '1'을 빠르게 감지하여 외부신호로부터 데이터를 추출하는 것을 목적으로 할 수 있다. 모듈(142)은 외부신호의 변화를 신속하게 감지하여 데이터를 추출해야 하므로, 모듈(142)에 영향을 미치는 외부신호 발생/변화 이벤트 간의 시간 간격은 시스템(100)이 제공할 수 있는 최대 클럭의 시간 간격에 가까울 것이다. 따라서 모듈(142)에는 기준 클럭인 1GHz가 공급되어야만 소기의 목적을 달성할 수 있다. 이처럼 모듈(141, 142, 143) 각각의 기능과 목적에 따라서 그에 적합한 동작 주파수 및 허용되는 클럭 주파수의 범위가 다르므로, 본 발명의 시스템(100)은 모듈(141, 142, 143) 각각에 서로 다른 주파수의 클럭을 제공한다.On the other hand, the module 142 is assumed to be a sensing circuit that outputs '1' if the external signal is above the threshold and '0' if it is below the threshold. In this case, the module 142 can quickly detect '0' or '1' according to the change of the external signal and extract the data from the external signal. Since the module 142 needs to quickly detect the change of the external signal and extract the data, the time interval between the external signal generation / change events that affect the module 142 is the maximum clock that can be provided by the system 100 It will be close to the time interval. Therefore, the module 142 is required to be supplied with a reference clock of 1 GHz to achieve the desired purpose. The system 100 of the present invention is capable of providing a plurality of modules 141, 142 and 143 with different operating frequencies and acceptable ranges of clock frequencies, Provides clocks of different frequencies.

모듈(141, 142, 143) 각각의 출력 신호는 내부 버스(130)를 통하여 제어부(120)에 전달된다. 따라서 내부 버스(130)의 상태 변화를 모니터하면 모듈(141, 142, 143) 각각으로부터 출력 신호가 생성되어 출력되는지 여부를 확인할 수 있다. 모니터링부(150)는 별도의 채널을 통하여 모듈(141, 142, 143) 각각의 출력 신호를 확인할 수 있지만, 내부 버스(130)의 상태 변화에 기초하여 모듈(141, 142, 143) 각각에 대한 모니터링을 실행할 지 여부를 판단할 수도 있다.Output signals of the modules 141, 142, and 143 are transmitted to the control unit 120 through the internal bus 130. Therefore, by monitoring the state change of the internal bus 130, it can be confirmed whether or not the output signals are generated from the modules 141, 142, and 143, respectively. The monitoring unit 150 can check the output signals of the modules 141, 142 and 143 through the separate channels but can also check the output signals of the modules 141, 142 and 143 based on the state change of the internal bus 130. [ It may determine whether to execute the monitoring.

제어부(120)는 클럭 관리 시스템(100)의 전반적인 동작을 제어할 수 있다. 그리고, 제어부(120)는 모니터링부(150) 및 클럭 분배부(170)의 기능을 수행할 수 있다. 제어부(120), 모니터링부(150) 및 클럭 분배부(170)를 구분하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 제어부(120)는 모니터링부(150) 및 클럭 분배부(170) 각각의 기능을 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다. 또한, 제어부(120)는 모니터링부(150) 및 클럭 분배부(170) 각각의 기능 중 일부를 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다. The controller 120 may control the overall operation of the clock management system 100. The control unit 120 may perform the functions of the monitoring unit 150 and the clock distribution unit 170. The control unit 120, the monitoring unit 150, and the clock distribution unit 170 are separately shown to distinguish the respective functions. Accordingly, the control unit 120 may include at least one processor configured to perform the functions of the monitoring unit 150 and the clock distribution unit 170, respectively. The controller 120 may include at least one processor configured to perform some of the functions of the monitoring unit 150 and the clock distribution unit 170, respectively.

도 2는 본 발명의 일 실시예에 따른 동적으로 클럭 속도를 관리하는 시스템의 또 다른 구성을 도시한 도면이다.2 is a diagram illustrating another configuration of a system for dynamically managing a clock rate according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 클럭 관리 시스템(200)은 클럭 생성부(210), 제어부(220), 내부 버스(230), 모듈(241,242,243), 모니터링부(250) 제2 기준 클럭 생성부(260) 및 클럭 분배부(270)를 포함할 수 있다.2, the clock management system 200 includes a clock generator 210, a controller 220, an internal bus 230, modules 241, 242, and 243, a monitoring unit 250, A clock distribution unit 260, and a clock distribution unit 270.

클럭 생성부(210)는 기준 클럭을 생성한다.The clock generator 210 generates a reference clock.

내부 버스(230)는 전용 버스 통신 표준을 기반으로 할 수도 있고 다른 공개 표준들을 기반으로 할 수도 있다. 내부 버스(230)에는 제어부(220) 및 모듈(241,242,243)들이 연결되어 데이터가 송수신 된다.The internal bus 230 may be based on a dedicated bus communication standard or may be based on other open standards. The control unit 220 and the modules 241, 242, and 243 are connected to the internal bus 230 to transmit and receive data.

모듈(241,242,243)는 클럭 분배부(270)에 의해 동작하며, 외부신호를 수신하고, 수신된 외부신호를 처리하고, 내부 버스(230)를 경유하여 외부신호의 처리 결과 신호를 출력한다. 이때, 모듈(241,242,243)을 하나의 디바이스에 포함된 내부 모듈들 일 수 있다.The modules 241, 242, and 243 are operated by the clock distribution unit 270, and receive external signals, process the received external signals, and output processed signals of the external signals via the internal bus 230. At this time, the modules 241, 242, and 243 may be internal modules included in one device.

모듈(241,242,243)는 외부신호의 처리 결과 신호의 출력 여부를 모니터링부(250)로 출력할 수 있다. 이때, 외부신호의 처리 결과 신호의 출력 여부는 처리 결과 신호가 출력 중임을 판별하기 위한 한 개의 제1 포트와 제1 포트의 오류여부 체크를 위한 제1 포트의 신호를 인버스(inverse)하여 출력하는 제2 포트로 구성될 수 있고, 제1 포트와 제2 포트를 묶어 하나의 채널을 형성할 수 있다.The modules 241, 242, and 243 can output the processing result signal of the external signal to the monitoring unit 250. At this time, whether or not the processing result signal of the external signal is output is inversed by outputting a signal of a first port for determining whether a processing result signal is being output and a signal of a first port for checking the error of the first port And the first port and the second port may be combined to form one channel.

모니터링부(250)는 내부 버스(230)를 경유하여 모듈(241,242,243) 각각에 의하여 출력되는 처리 결과 신호를 수신하고, 내부 버스(230)의 상태 변화에 기초하여 모듈(241,242,243) 각각의 동작 이벤트 간의 시간 간격을 모니터링한다.The monitoring unit 250 receives a process result signal output by each of the modules 241, 242 and 243 via the internal bus 230 and generates a process result signal between the operation events of the modules 241, 242 and 243 based on the state change of the internal bus 230 Monitor the time interval.

즉, 모니터링부(250)는 모듈(241,242,243) 각각에 의하여 처리 결과 신호가 출력 중인지 여부를 확인하여 내부 버스(230)의 상태 변화를 감지하고, 모듈(241,242,243) 각각의 동작 이벤트 간의 시간 간격을 모니터링할 수 있다.That is, the monitoring unit 250 detects whether a processing result signal is being output by the modules 241, 242, and 243, detects a state change of the internal bus 230, monitors the time interval between operation events of the modules 241, 242, can do.

이때, 복수의 모듈(241,242,243)과 모니터링부(250)는 하나의 채널을 공유하여 연결될 수 있다.At this time, the plurality of modules 241, 242, and 243 and the monitoring unit 250 can be connected by sharing one channel.

모니터링부(250)는 모듈(241,242,243) 각각을 기설정된 순서에 따라 모니터링 할 수도 있고, 모듈(241,242,243) 각각을 우선순위에 따라 모니터링 할 수도 있다. 이때, 우선순위는 모듈(241,242,243)의 중요도, 모듈(241,242,243) 각각의 동작 이벤트 간의 시간 간격 또는 모듈(241,242,243) 각각의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나를 고려해서 결정될 수 있다.The monitoring unit 250 may monitor the modules 241, 242, and 243 in a predetermined order, or may monitor the modules 241, 242, and 243, respectively, according to the priority order. At this time, the priority is determined in consideration of at least one of the importance of the modules 241, 242, 243, the time interval between the operation events of the modules 241, 242, 243, or the time interval between the operation events of the modules 241, 242, .

모니터링부(250)는 모듈(241,242,243) 각각의 모니터링 결과를 저장하고, 모듈(241,242,243) 각각의 모니터링 결과를 분석하여 기설정된 시간동안 모듈(241,242,243) 각각의 동작 이벤트 간의 시간 간격이 변화한 횟수가 기설정한 횟수를 초과하면, 기설정한 횟수를 초과한 모듈을 기설정한 횟수를 초과하지 않은 모듈보다 기설정한 반복 횟수만큼 빈번하게 모니터링할 수 있다.The monitoring unit 250 stores the monitoring results of the modules 241, 242, and 243 and analyzes the monitoring results of the modules 241, 242, and 243 to determine the number of times that the time intervals between the operation events of the modules 241, 242, If the set number is exceeded, the module that exceeds the preset number can be monitored more frequently than the module that does not exceed the preset number of times.

즉, 모니터링부(250)는 중요하거나 또는 모듈(241,242,243) 각각의 동작 이벤트 간의 시간 간격의 변화가 많은 모듈을 더 빈번하게 모니터링할 수 있다.That is, the monitoring unit 250 may monitor the modules that are important or have a large change in the time interval between the operation events of the modules 241, 242, and 243, respectively, more frequently.

제2 기준 클럭 생성부(260)는 기준 클럭을 이용하여 복수의 제2 기준 클럭을 생성한다.The second reference clock generator 260 generates a plurality of second reference clocks using the reference clock.

클럭 분배부(270)는 모니터링부(250)에서 모듈(241,242,243) 각각을 모니터링한 결과에 따라 모듈(241,242,243) 각각에 제2 기준 클럭 생성부(260)에서 생성한 제2 기준 클럭을 매핑 테이블을 이용하여 할당한다. 이때, 매핑 테이블은 모듈(241, 242, 243) 각각과 모듈(241, 242, 243) 각각에 대응하는 제2 기준 클럭을 저장할 수 있다. 모듈(241, 242, 243) 각각에 대응하는 제2 기준 클럭은 모듈의 중요도, 모듈(241,242,243) 각각의 동작 이벤트 간의 시간 간격 또는 모듈(241,242,243) 각각의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나 이상을 고려하여 결정될 수 있다.The clock distributor 270 maps the second reference clock generated by the second reference clock generator 260 to each of the modules 241, 242 and 243 according to a result of monitoring the modules 241, 242 and 243 in the monitoring unit 250 . At this time, the mapping table may store a second reference clock corresponding to each of the modules 241, 242, and 243 and the modules 241, 242, and 243, respectively. The second reference clock corresponding to each of the modules 241, 242 and 243 may be configured such that the importance of the module, the time interval between the operating events of each of the modules 241, 242 and 243 or the time interval between the operating events of each of the modules 241, 242 and 243, May be determined by considering at least one of the number of times.

제어부(220)는 클럭 관리 시스템(200)의 전반적인 동작을 제어할 수 있다. 그리고, 제어부(220)는 모니터링부(250) 제2 기준 클럭 생성부(260) 및 클럭 분배부(270)의 기능을 수행할 수 있다. 제어부(220), 모니터링부(250) 제2 기준 클럭 생성부(260) 및 클럭 분배부(270)를 구분하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 제어부(220)는 모니터링부(250) 제2 기준 클럭 생성부(260) 및 클럭 분배부(270) 각각의 기능을 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다. 또한, 제어부(220)는 모니터링부(250) 제2 기준 클럭 생성부(260) 및 클럭 분배부(270) 각각의 기능 중 일부를 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다. The controller 220 can control the overall operation of the clock management system 200. The controller 220 may perform functions of the second reference clock generator 260 and the clock distributor 270 of the monitoring unit 250. The control unit 220, the monitoring unit 250, the second reference clock generation unit 260, and the clock distribution unit 270 are separately described to distinguish the functions. The controller 220 may include at least one processor configured to perform the functions of the second reference clock generator 260 and the clock distributor 270 of the monitoring unit 250, respectively. The controller 220 may include at least one processor configured to perform some of the functions of the second reference clock generator 260 and the clock distributor 270 of the monitoring unit 250. [

도 1과 도 2를 함께 참조하면, 모듈(141, 142, 143) 각각의 출력신호가 변경되는 시간 간격에 따라 모듈(141, 142, 143) 각각에 최적화된 클럭이 제공되는 것이 이상적이겠으나, 고속의 기준 클럭 신호를 이용하여 저속의 조정된 클럭신호를 생성하는 데에는 다수의 시간 지연 회로 체인(delay chain) 등이 필요하기 때문에, 결국 집적회로 상의 면적을 지나치게 증가시키는 원인이 될 수 있다.1 and 2, it is ideal that the optimized clock is provided to each of the modules 141, 142, and 143 according to the time interval at which the output signals of the modules 141, 142, and 143 are changed, Generating a low-speed adjusted clock signal using the reference clock signal of the delay circuit may be a cause of excessively increasing the area on the integrated circuit.

따라서 도 2에서와 같이 고속의 제1 기준 클럭 신호를 이용하여 미리 결정된 수만큼의 제2 기준 클럭 신호를 생성하고, 이들 생성된 제2 기준 클럭 신호들을 모듈(241, 242, 243) 각각에 매핑하는 실시예도 가능하다. 이 때 제2 기준 클럭 신호의 개수 및 복수의 제2 기준 클럭 신호 각각의 주파수는 미리 결정될 수 있다. 이 때 복수의 제2 기준 클럭들은 모듈(241, 242, 243) 각각에 매핑될 클럭의 후보들로서 생성된다.Accordingly, as shown in FIG. 2, a predetermined number of second reference clock signals are generated using the first reference clock signal, and the generated second reference clock signals are mapped to the modules 241, 242, and 243, respectively . At this time, the number of the second reference clock signals and the frequency of each of the plurality of second reference clock signals may be predetermined. At this time, a plurality of second reference clocks are generated as candidates of a clock to be mapped to each of the modules 241, 242, and 243.

도 1과 도 2의 클럭 속도 관리 시스템(100,200)에서는 모듈(141-143, 241-243)과 모니터링부(150, 250)는 하나의 채널을 공유하여 연결된 경우로 도시 되었으나, 실시예에 따라서는 아래 도 3과 도 4와 같이 복수의 채널로 연결될 수도 있다.In the clock rate management systems 100 and 200 of FIGS. 1 and 2, the modules 141-143 and 241-243 and the monitoring units 150 and 250 are connected by sharing one channel. However, And may be connected by a plurality of channels as shown in FIGS. 3 and 4 below.

도 3은 본 발명의 모듈(141-143, 241-243)과 모니터링부(150, 250)가 연결된 다른 형태의 실시예를 도시한 도면이다.FIG. 3 is a diagram illustrating another embodiment in which the modules 141-143 and 241-243 of the present invention and the monitoring units 150 and 250 are connected.

도 3을 참조하면, 모듈(141-143, 241-243)과 모니터링부(150, 250)는 각각 별도의 채널로 연결될 수도 있음을 확인할 수 있다.Referring to FIG. 3, it can be seen that the modules 141-143 and 241-243 and the monitoring units 150 and 250 may be connected by separate channels.

도 4는 본 발명의 모듈(141-143, 241-243)과 모니터링부(150, 250)가 연결된 또 다른 형태의 실시예를 도시한 도면이다.4 is a view showing another embodiment of the modules 141-143 and 241-243 of the present invention and the monitoring units 150 and 250 connected to each other.

도 4를 참조하면, 모니터링부(150, 250)는 하나의 장치로 구성되어 한번의 하나의 모듈을 모니터링할 수도 있지만, 도 4와 같이 모듈(141-143, 241-243) 각각에 대응하는 모니터링부(451-453)로 구성되어 하나의 모니터링부에서는 하나의 모듈만을 모니터링할 수도 있다. 도 4와 같이 다수의 모니터링부(451-453)로 구성된 경우, 모듈(141-143, 241-243)을 동시에 모니터링할 수 있다.Referring to FIG. 4, the monitoring units 150 and 250 may be configured as one device to monitor one module. However, as shown in FIG. 4, the monitoring units 150 and 250 may monitor the modules 141-143 and 241-243, (451-453), and one monitoring unit may monitor only one module. As shown in FIG. 4, when a plurality of monitoring units 451-453 are configured, the modules 141-143 and 241-243 can be simultaneously monitored.

한편 모니터링부(150, 250)는 한번의 측정으로 각 모듈(141-143, 241-243)의 최적화된 동작 클럭 또는 제2 기준 클럭을 결정할 수도 있고, 미리 설정된 횟수만큼 반복 측정하여 통계적 방법(평균, 중간값, 최대 or 최소값 등)을 이용하여 동작 클럭 또는 제2 기준 클럭을 결정할 수도 있다.On the other hand, the monitoring units 150 and 250 may determine an optimized operation clock or a second reference clock of each of the modules 141-143 and 241-243 by one measurement, repeatedly measure the predetermined number of times, , Intermediate value, maximum or minimum value, etc.) may be used to determine the operating clock or the second reference clock.

또한 모니터링부(150, 250)는 각 모듈(141-143, 241-243)의 출력신호의 변화 간의 간격을 측정하고, 측정된 시간 간격과 셋업 시간, 홀드 시간을 고려하여 각 모듈(141-143, 241-243)의 최적화된 동작 클럭 또는 제2 기준 클럭을 결정할 수 있다.In addition, the monitoring units 150 and 250 measure the interval between changes of the output signals of the modules 141-143 and 241-243, and calculate the time interval, the setup time, and the hold time of each module 141-143 , 241-243), or a second reference clock.

도 5는 본 발명의 모니터링부(150, 250)의 일 실시예의 개략적인 구성을 도시한 도면이다. FIG. 5 is a diagram showing a schematic configuration of an embodiment of the monitoring unit 150, 250 of the present invention.

도 5를 참조하면, 모니터링부(150, 250)는 잡음 제거부(510)와 엣지 감지부(520)를 포함할 수 있다.Referring to FIG. 5, the monitoring units 150 and 250 may include a noise removing unit 510 and an edge detecting unit 520.

잡음 제거부(510)는 입력신호와 기설정된 기준 지연시간 시킨 입력신호를 논리합하여 출력하는 장치로서 기준 지연시간보다 짧은 폭(펄스 폭)을 가진 입력신호가 입력되면 필터링하고, 지연시간보다 긴 폭(펄스 폭)을 가진 입력신호가 입력되면 패스한다.The noise eliminator 510 performs a filtering operation when an input signal having a width (pulse width) shorter than a reference delay time is input, and outputs a signal having a longer width than the delay time (Pulse width) is input.

엣지 감지부(520)는 입력신호의 레벨이 상승하는 라이징엣지(rising edge)와 레벨이 하강하는 폴링엣지(falling edge)를 감지하여 기설정된 폭의 펄스 신호를 출력한다.The edge sensing unit 520 senses a rising edge where the level of the input signal rises and a falling edge where the level falls, and outputs a pulse signal of a predetermined width.

모니터링부(150, 250)는 잡음 제거부(510)와 엣지 감지부(520)에 동일한 신호를 입력하고, 잡음 제거부(510)와 엣지 감지부(520) 각각에서 출력되는 신호와 잡음 제거부(510)의 지연시간을 이용하여 모듈(141-143, 241-243)을 모니터링할 수 있다.The monitoring units 150 and 250 receive the same signals from the noise removing unit 510 and the edge detecting unit 520 and output the signals output from the noise removing unit 510 and the edge detecting unit 520, The modules 141-143 and 241-243 can be monitored using the delay time of the module 510. [

도 6은 도 5의 모니터링부에서 모니터링하는 방법을 도시한 도면이다.6 is a diagram illustrating a method of monitoring by the monitoring unit of FIG.

도 6을 참조하면, (a)의 경우는 입력 신호(모듈(141-143, 241-243)의 출력 신호)가 변화하는 간격이 잡음 제거부(510)에서 미리 설정된 기준 지연시간보가 긴 경우가 도시된다. 모니터링부(150, 250)는 엣지 감지부(520)에서 출력되는 펄스 신호의 시작 시점과 종료 시점 사이에서 잡음 제거부(510)의 출력 펄스를 확인하고 모듈(141-143, 241-243)의 출력 신호가 변화하는 간격이 기준 지연시간보다 긴 사실을 확인할 수 있다. 도 6(a)에서 모듈(141-143, 241-243)의 출력 신호의 라이징엣지 또는 폴링엣지가 모듈(141-143, 241-243)의 동작 이벤트에 해당한다.Referring to FIG. 6, in the case of (a), the intervals at which the input signals (output signals of the modules 141-143 and 241-243) change are longer than the predetermined reference delay time of the noise eliminator 510 Respectively. The monitoring units 150 and 250 check the output pulses of the noise removing unit 510 between the start and end points of the pulse signals output from the edge detector 520 and output the pulses to the modules 141-143 and 241-243 It can be confirmed that the interval at which the output signal changes is longer than the reference delay time. 6A, the rising edges or the falling edges of the output signals of the modules 141-143 and 241-243 correspond to operation events of the modules 141-143 and 241-243.

(b)의 경우는 입력 신호(모듈(141-143, 241-243)의 출력 신호)가 변화하는 간격이 잡음 제거부(510)에서 미리 설정된 기준 지연시간보가 짧은 경우가 도시된다. 모니터링부(150, 250)는 엣지 감지부(520)에서 출력되는 펄스 신호의 시작 시점과 종료 시점 사이에서 잡음 제거부(510)의 출력 펄스가 발생하지 않았음을 확인하고 모듈(141-143, 241-243)의 출력 신호가 변화하는 간격이 기준 지연시간보다 짧은 사실을 확인할 수 있다.(b) shows a case where the intervals at which the input signals (output signals of the modules 141-143 and 241-243) change are shorter than the preset reference delay time bands in the noise removing unit 510. [ The monitoring units 150 and 250 check that the output pulses of the noise removing unit 510 have not occurred between the start and end points of the pulse signal output from the edge sensing unit 520, 241-243) is shorter than the reference delay time.

모니터링부(150, 250)는 잡음 제거부(510)의 지연시간을 조정하면서 (a)의 출력형태에서 (b)의 출력형태로 전환되는 시점에 잡음 제어부(510)에서 지연시키는 기준 지연시간을 확인하여 입력신호의 폭(펄스 폭)을 확인할 수 있다. 예를 들어 기준 지연시간이 T인 경우에는 (a)의 형태가, 기준 지연시간이 2T인 경우에는 (b)이 형태가 도출되었다면, 1/T의 주파수를 가지는 클럭이 공급되는 것이 바람직할 것이다.The monitoring units 150 and 250 adjust the delay time of the noise removing unit 510 so that the reference delay time to be delayed by the noise control unit 510 at the time of switching from the output form of (a) to the output form of (b) Check the width of the input signal (pulse width). For example, if the reference delay time is T, (a), if the reference delay time is 2T, (b) if this form is derived, it is preferable that a clock having a frequency of 1 / T is supplied .

한편, 모니터링부(150, 250)가 도 5와 같이 하나의 잡음 제거부(510)로 구성된 경우, 입력신호의 간격을 확인하기 위해서는 잡음 제거부(510)의 지연시간을 조정하면서 여러 번 모니터링을 수행하여야 한다. 모니터링 시간을 줄일 수 있는 다른 구성의 실시예를 아래 도 7을 통해 살펴보고자 한다.5, in order to check the intervals of the input signals, it is necessary to perform monitoring several times while adjusting the delay time of the noise eliminator 510. For example, when the monitoring units 150 and 250 are configured as one noise eliminator 510, Should be performed. An embodiment of another configuration capable of reducing the monitoring time will be described with reference to FIG.

도 7은 본 발명의 다른 실시예에 따른 모니터링부의 구성을 도시한 도면이다.7 is a diagram illustrating the configuration of a monitoring unit according to another embodiment of the present invention.

도 7을 참조하면, 모니터링부(150, 250)는 복수의 잡음 제거부(711-713)와 엣지 감지부(720)를 포함할 수 있다.Referring to FIG. 7, the monitoring units 150 and 250 may include a plurality of noise removing units 711-713 and an edge detecting unit 720.

복수의 잡음 제거부(711-713) 각각은 서로 다른 기준 지연시간을 가지며, 각각의 기준 지연시간보다 짧은 폭(펄스 폭)을 가진 입력신호가 입력되면 필터링하고, 각각의 기준 지연시간보다 긴 폭(펄스 폭)을 가진 입력신호가 입력되면 패스한다.Each of the plurality of noise removing units 711-713 has a different reference delay time and filters when an input signal having a width (pulse width) shorter than each reference delay time is input, (Pulse width) is input.

엣지 감지부(720)는 입력신호의 레벨이 상승하는 라이징엣지(rising edge)와 레벨이 하강하는 폴링엣지(falling edge)를 감지하여 미리 결정된 폭의 펄스 신호를 생성한다.The edge detection unit 720 detects a rising edge where the level of the input signal rises and a falling edge where the level falls, thereby generating a pulse signal of a predetermined width.

복수의 잡음 제거부(711-713)을 가진 모니터링부(150, 250)는 복수의 잡음 제거부(711-713)에 포함된 각기 다른 지연시간들로 인해 지연시간을 조정하는 횟수를 줄일 수 있어 모니터링 시간을 줄일 수 있다.The monitoring units 150 and 250 having the plurality of noise removing units 711 to 713 can reduce the number of times of adjusting the delay time due to the different delay times included in the plurality of noise removing units 711 to 713 Monitoring time can be reduced.

이하, 상기와 같이 구성된 본 발명에 따른 동적으로 클럭 속도를 관리하는 방법을 아래에서 도면을 참조하여 설명한다.Hereinafter, a method of dynamically managing the clock rate according to the present invention will be described with reference to the drawings.

도 8은 도 1의 동적으로 클럭 속도를 관리하는 시스템에서 클럭 속도를 제어하는 과정을 도시한 흐름도이다.8 is a flowchart illustrating a process of controlling the clock rate in the system for dynamically controlling the clock rate of FIG.

도 8을 참조하면, 클럭 관리 시스템(100)은 복수의 모듈 각각에서 외부신호의 처리 결과 신호를 출력함을 감지한다(S810). 이때, 외부신호의 처리 결과 신호는 모듈에서 외부신호를 수신하고, 수신된 외부신호를 처리한 결과로서 내부 버스를 경유하여 출력되는 신호이다.Referring to FIG. 8, the clock management system 100 detects output of a processing result signal of an external signal in each of a plurality of modules (S810). At this time, the processing result signal of the external signal is a signal that is output via the internal bus as a result of receiving an external signal from the module and processing the received external signal.

그리고, 클럭 관리 시스템(100)은 내부 버스의 상태 변화에 기초하여 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링한다(S820).Then, the clock management system 100 monitors the time interval between the operation events of each module based on the state change of the internal bus (S820).

그리고, 클럭 관리 시스템(100)은 모듈 각각을 모니터링한 결과에 따라 모듈 각각에 적합한 클럭을 기준 클럭을 이용하여 생성한다(S830). The clock management system 100 generates a clock suitable for each of the modules using the reference clock according to the result of monitoring each of the modules (S830).

그리고, 클럭 관리 시스템(100)은 생성한 클럭을 대응하는 모듈 각각에 할당한다(S840).Then, the clock management system 100 allocates the generated clock to each of the corresponding modules (S840).

도 9는 도 2의 동적으로 클럭 속도를 관리하는 시스템에서 클럭 속도를 제어하는 과정을 도시한 흐름도이다.9 is a flowchart illustrating a process of controlling the clock rate in the system for dynamically controlling the clock rate of FIG.

도 9를 참조하면, 클럭 관리 시스템(200)은 복수의 모듈 각각에서 외부신호의 처리 결과 신호를 출력함을 감지한다(S910). 이때, 외부신호의 처리 결과 신호는 모듈에서 외부신호를 수신하고, 수신된 외부신호를 처리한 결과로서 내부 버스를 경유하여 출력되는 신호이다.Referring to FIG. 9, the clock management system 200 senses output of a processing result signal of an external signal in each of a plurality of modules (S910). At this time, the processing result signal of the external signal is a signal that is output via the internal bus as a result of receiving an external signal from the module and processing the received external signal.

그리고, 클럭 관리 시스템(200)은 내부 버스의 상태 변화에 기초하여 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링한다(S920).Then, the clock management system 200 monitors the time interval between the operation events of each module based on the state change of the internal bus (S920).

그리고, 클럭 관리 시스템(200)은 제1 기준 클럭을 이용하여 복수의 기설정된 제2 기준 클럭을 생성한다(S930).Then, the clock management system 200 generates a plurality of predetermined second reference clocks using the first reference clock (S930).

그리고, 클럭 관리 시스템(200)은 모듈 각각을 모니터링한 결과에 따라 모듈 각각에 S930단계에서 생성한 제2 기준 클럭을 매핑 테이블을 이용하여 할당한다(S940). 이때, 매핑 테이블은 모듈 각각과 모듈 각각에 대응하는 제2 기준 클럭의 매핑 관계를 저장할 수 있다. 한편 모듈 각각에 대응하는 제2 기준 클럭은 모듈의 중요도, 모듈 각각의 동작 이벤트 간의 시간 간격 또는 모듈 각각의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나 이상을 고려하여 결정될 수 있다.In step S940, the clock management system 200 allocates the second reference clock generated in step S930 to each of the modules using the mapping table according to a result of monitoring each of the modules. At this time, the mapping table may store a mapping relation between each of the modules and a second reference clock corresponding to each of the modules. On the other hand, the second reference clock corresponding to each of the modules may be determined in consideration of at least one of the importance of the module, the time interval between the operation events of the respective modules, or the number of times the time interval between the operation events of each module changes during a predetermined time .

본 발명의 일 실시 예에 따른 동적으로 클럭 속도를 관리하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method of dynamically managing the clock rate according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

Claims (21)

외부신호를 수신하고, 상기 수신된 외부신호를 처리하고, 상기 외부신호의 처리 결과 신호를 출력하는 복수의 모듈;
상기 모듈 각각에 의하여 출력되는 상기 처리 결과 신호를 수신하고, 상기 처리 결과 신호의 변화에 기초하여 상기 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링하는 모니터링부;
기준 클럭을 생성하는 클럭 생성부; 및
상기 기준 클럭을 수신하고, 상기 모니터링부에서 상기 모듈 각각을 모니터링한 결과에 따라 상기 모듈 각각에 대한 클럭을 상기 기준 클럭을 이용하여 생성하고 할당하는 클럭 분배부를 포함하는
동적으로 클럭 속도를 관리하는 시스템.
A plurality of modules for receiving an external signal, processing the received external signal, and outputting a processed signal of the external signal;
A monitoring unit that receives the processing result signal output by each of the modules and monitors a time interval between operation events of each module based on a change of the processing result signal;
A clock generating unit for generating a reference clock; And
And a clock distributor for receiving the reference clock and generating and allocating a clock for each of the modules using the reference clock according to a result of monitoring each of the modules by the monitoring unit
A system that dynamically manages clock speed.
제1항에 있어서,
상기 복수의 모듈 각각은 개별적인 채널을 경유하여 상기 모니터링부와 연결됨을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
The method according to claim 1,
Wherein each of the plurality of modules is connected to the monitoring unit via an individual channel
A system that dynamically manages clock speed.
제1항에 있어서,
상기 복수의 모듈 각각은 하나의 채널을 공유하여 상기 모니터링부와 연결됨을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
The method according to claim 1,
Wherein each of the plurality of modules shares one channel and is connected to the monitoring unit
A system that dynamically manages clock speed.
제1항에 있어서,
상기 모니터링부는,
상기 모듈 각각을 기설정된 순서에 따라 순차적으로 모니터링함을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
The method according to claim 1,
The monitoring unit,
Wherein each of the modules is sequentially monitored in a predetermined order.
A system that dynamically manages clock speed.
제1항에 있어서,
상기 모니터링부는,
상기 모듈 각각을 우선순위에 따라 모니터링함을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
The method according to claim 1,
The monitoring unit,
Characterized in that each of the modules is monitored in priority order
A system that dynamically manages clock speed.
제5항에 있어서,
상기 우선순위는,
상기 모듈의 중요도, 상기 모듈의 동작 이벤트 간의 시간 간격 또는 상기 모듈의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나 이상을 고려하여 결정됨을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
6. The method of claim 5,
The priority order may be,
The time interval between the operation events of the module, or the number of times that the time interval between the operation events of the module changes during a predetermined period of time.
A system that dynamically manages clock speed.
제1항에 있어서,
상기 모니터링부는,
상기 모듈 각각의 모니터링 결과를 저장하고, 상기 모듈 각각의 모니터링 결과를 분석하여 기설정된 시간 동안 상기 모듈의 동작 이벤트 간의 시간 간격이 변화한 횟수가 기설정한 횟수를 초과하면, 상기 기설정한 횟수를 초과한 모듈을 상기 기설정한 횟수를 초과하지 않은 모듈보다 기설정한 반복 횟수만큼 빈번하게 모니터링함을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
The method according to claim 1,
The monitoring unit,
And stores the monitoring result of each of the modules, analyzes the monitoring result of each of the modules, and when the number of times that the time interval between the operation events of the module changes for a preset time exceeds the preset number, Wherein the monitoring module monitors the excess module more frequently than the module that does not exceed the predetermined number of times,
A system that dynamically manages clock speed.
외부신호를 수신하고, 상기 수신된 외부신호를 처리하고, 상기 외부신호의 처리 결과 신호를 출력하는 복수의 모듈;
상기 모듈 각각에 의하여 출력되는 상기 처리 결과 신호를 수신하고, 상기 처리 결과 신호의 변화에 기초하여 상기 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링하는 모니터링부;
제1 기준 클럭을 생성하는 클럭 생성부;
상기 제1 기준 클럭을 이용하여 복수의 제2 기준 클럭을 생성하는 제2 기준 클럭 생성부; 및
상기 모니터링부에서 상기 모듈 각각을 모니터링한 결과에 따라 상기 모듈 각각에 상기 제2 기준 클럭을 매핑 테이블을 이용하여 할당하는 클럭 분배부를 포함하는
동적으로 클럭 속도를 관리하는 시스템.
A plurality of modules for receiving an external signal, processing the received external signal, and outputting a processed signal of the external signal;
A monitoring unit that receives the processing result signal output by each of the modules and monitors a time interval between operation events of each module based on a change of the processing result signal;
A clock generator for generating a first reference clock;
A second reference clock generator for generating a plurality of second reference clocks using the first reference clock; And
And a clock distributor for allocating the second reference clock to each of the modules using a mapping table according to a result of monitoring each of the modules by the monitoring unit
A system that dynamically manages clock speed.
제8항에 있어서,
상기 매핑 테이블은,
상기 모듈 각각과 상기 모듈 각각에 대응하는 제2 기준 클럭 간의 매핑 관계를 저장하며, 상기 모듈 각각에 대응하는 제2 기준 클럭은 상기 모듈의 중요도, 상기 모듈의 동작 이벤트 간의 시간 간격 또는 상기 모듈의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나 이상을 고려하여 결정됨을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
9. The method of claim 8,
Wherein the mapping table comprises:
Wherein a second reference clock corresponding to each of the modules stores a mapping relationship between each of the modules and a second reference clock corresponding to each of the modules, And the number of times the time interval between events has changed over a predetermined period of time.
A system that dynamically manages clock speed.
제8항에 있어서,
상기 복수의 모듈 각각은 개별적인 채널을 경유하여 상기 모니터링부와 연결됨을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
9. The method of claim 8,
Wherein each of the plurality of modules is connected to the monitoring unit via an individual channel
A system that dynamically manages clock speed.
제8항에 있어서,
상기 복수의 모듈 각각은 하나의 채널을 공유하여 상기 모니터링부와 연결됨을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
9. The method of claim 8,
Wherein each of the plurality of modules shares one channel and is connected to the monitoring unit
A system that dynamically manages clock speed.
제8항에 있어서,
상기 모니터링부는,
상기 모듈 각각을 기설정된 순서에 따라 순차적으로 모니터링함을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
9. The method of claim 8,
The monitoring unit,
Wherein each of the modules is sequentially monitored in a predetermined order.
A system that dynamically manages clock speed.
제8항에 있어서,
상기 모니터링부는,
상기 모듈 각각을 우선순위에 따라 모니터링함을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
9. The method of claim 8,
The monitoring unit,
Characterized in that each of the modules is monitored in priority order
A system that dynamically manages clock speed.
제13항에 있어서,
상기 우선순위는,
상기 모듈의 중요도, 상기 모듈의 동작 이벤트 간의 시간 간격 또는 상기 모듈의 동작 이벤트 간의 시간 간격이 기설정된 시간 동안 변화한 횟수 중에서 적어도 하나 이상을 고려하여 결정됨을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
14. The method of claim 13,
The priority order may be,
The time interval between the operation events of the module, or the number of times that the time interval between the operation events of the module changes during a predetermined period of time.
A system that dynamically manages clock speed.
제8항에 있어서,
상기 모니터링부는,
상기 모듈 각각의 모니터링 결과를 저장하고, 상기 모듈 각각의 모니터링 결과를 분석하여 기설정된 시간 동안 상기 모듈의 동작 이벤트 간의 시간 간격이 변화한 횟수가 기설정한 횟수를 초과하면, 상기 기설정한 횟수를 초과한 모듈을 상기 기설정한 횟수를 초과하지 않은 모듈보다 기설정한 반복 횟수만큼 빈번하게 모니터링함을 특징으로 하는
동적으로 클럭 속도를 관리하는 시스템.
9. The method of claim 8,
The monitoring unit,
And stores the monitoring result of each of the modules, analyzes the monitoring result of each of the modules, and when the number of times that the time interval between the operation events of the module changes for a preset time exceeds the preset number, Wherein the monitoring module monitors the excess module more frequently than the module that does not exceed the predetermined number of times,
A system that dynamically manages clock speed.
복수의 모듈 각각에서 외부신호를 수신하고, 상기 수신된 외부신호를 처리하고, 상기 외부신호의 처리 결과 신호를 출력하는 단계;
상기 모듈 각각에 의하여 출력되는 상기 처리 결과 신호를 수신하고, 상기 처리 결과 신호의 변화에 기초하여 상기 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링하는 단계; 및
상기 모듈 각각을 모니터링한 결과에 따라 상기 모듈 각각에 대한 클럭을 미리 생성된 기준 클럭을 이용하여 생성하고 할당하는 단계를 포함하는
동적으로 클럭 속도를 관리하는 방법.
Receiving an external signal from each of the plurality of modules, processing the received external signal, and outputting a processing result signal of the external signal;
Receiving the processing result signal output by each of the modules and monitoring a time interval between operation events of each of the modules based on a change in the processing result signal; And
And generating and allocating a clock for each of the modules using a previously generated reference clock according to a result of monitoring each of the modules
How to dynamically manage clock speed.
제16항에 있어서,
상기 모니터링하는 단계는,
상기 모듈 각각을 기설정된 순서에 따라 순차적으로 모니터링하거나 또는
상기 모듈 각각을 우선순위에 따라 모니터링함을 특징으로 하는
동적으로 클럭 속도를 관리하는 방법.
17. The method of claim 16,
Wherein the monitoring comprises:
Sequentially monitoring each of the modules in a predetermined order, or
Characterized in that each of the modules is monitored in priority order
How to dynamically manage clock speed.
복수의 모듈 각각에서 외부신호를 수신하고, 상기 수신된 외부신호를 처리하고, 상기 외부신호의 처리 결과 신호를 출력하는 단계;
상기 모듈 각각에 의하여 출력되는 상기 처리 결과 신호를 수신하고, 상기 처리 결과 신호의 상태 변화에 기초하여 상기 모듈 각각의 동작 이벤트 간의 시간 간격을 모니터링하는 단계;
제1 기준 클럭을 이용하여 복수의 제2 기준 클럭을 생성하는 단계; 및
상기 모듈 각각을 모니터링한 결과에 따라 상기 모듈 각각에 상기 제2 기준 클럭을 매핑 테이블을 이용하여 할당하는 단계를 포함하는
동적으로 클럭 속도를 관리하는 방법.
Receiving an external signal from each of the plurality of modules, processing the received external signal, and outputting a processing result signal of the external signal;
Receiving the processing result signal output by each of the modules and monitoring a time interval between operation events of each of the modules based on a state change of the processing result signal;
Generating a plurality of second reference clocks using a first reference clock; And
And allocating the second reference clock to each of the modules using a mapping table according to a result of monitoring each of the modules
How to dynamically manage clock speed.
제18항에 있어서,
상기 매핑 테이블은,
상기 모듈 각각과 상기 모듈 각각에 대응하는 제2 기준 클럭 간의 매핑 관계를 저장하며, 상기 모듈의 중요도, 상기 모듈의 동작 이벤트 간의 시간 간격 또는 상기 모듈의 동작 이벤트 간의 시간 간격이 기설정된 시간동안 변화한 횟수 중에서 적어도 하나 이상을 고려하여 결정됨을 특징으로 하는
동적으로 클럭 속도를 관리하는 방법.
19. The method of claim 18,
Wherein the mapping table comprises:
Wherein the module stores the mapping relationship between each of the modules and a second reference clock corresponding to each of the modules, wherein the importance of the module, the time interval between operation events of the module, And the number of times the number of times
How to dynamically manage clock speed.
제18항에 있어서,
상기 모니터링하는 단계는,
상기 모듈 각각을 기설정된 순서에 따라 순차적으로 모니터링하거나 또는
상기 모듈 각각을 우선순위에 따라 모니터링함을 특징으로 하는
동적으로 클럭 속도를 관리하는 방법.
19. The method of claim 18,
Wherein the monitoring comprises:
Sequentially monitoring each of the modules in a predetermined order, or
Characterized in that each of the modules is monitored in priority order
How to dynamically manage clock speed.
제16항 내지 제20항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium storing a program for executing the method according to any one of claims 16 to 20.
KR1020130036320A 2013-04-03 2013-04-03 System and method for managing adaptive clock speed KR101513437B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130036320A KR101513437B1 (en) 2013-04-03 2013-04-03 System and method for managing adaptive clock speed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130036320A KR101513437B1 (en) 2013-04-03 2013-04-03 System and method for managing adaptive clock speed

Publications (2)

Publication Number Publication Date
KR20140120502A KR20140120502A (en) 2014-10-14
KR101513437B1 true KR101513437B1 (en) 2015-04-20

Family

ID=51992358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130036320A KR101513437B1 (en) 2013-04-03 2013-04-03 System and method for managing adaptive clock speed

Country Status (1)

Country Link
KR (1) KR101513437B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012524283A (en) 2009-04-20 2012-10-11 コミッサリア ア レネルジ アトミック エ オ エネルジ アルテルナティヴ Device for monitoring the operation of digital circuits

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012524283A (en) 2009-04-20 2012-10-11 コミッサリア ア レネルジ アトミック エ オ エネルジ アルテルナティヴ Device for monitoring the operation of digital circuits

Also Published As

Publication number Publication date
KR20140120502A (en) 2014-10-14

Similar Documents

Publication Publication Date Title
JP6669930B2 (en) Systems, methods, and integrated circuits for detecting voltage drops
US7802118B1 (en) Functional block level clock-gating within a graphics processor
US7958483B1 (en) Clock throttling based on activity-level signals
US7797561B1 (en) Automatic functional block level clock-gating
US8392739B2 (en) Multi-core processor, its frequency conversion device and a method of data communication between the cores
US9141421B2 (en) Reducing power grid noise in a processor while minimizing performance loss
US8386828B1 (en) Circuit for estimating latency through a FIFO buffer
US10298217B2 (en) Double compression avoidance
US8612648B1 (en) Method and apparatus for implementing quality of service in a data bus interface
CN104076863B (en) A kind of clock switching device
US20160098070A1 (en) Voltage droop reduction in a processor
US9746877B2 (en) Detecting and correcting an error in a digital circuit
US20050225361A1 (en) Clock selection circuit and digital processing system for reducing glitches
CN105677593A (en) Self-adaption adjustment method and device for write operation timing path of chip storage
KR20140020404A (en) Method and apparatus for modelling a power consumption in integrated circuit
WO2017198112A1 (en) Frequency switching method and apparatus, and computer readable storage medium
KR101513437B1 (en) System and method for managing adaptive clock speed
CN110959121B (en) Logic analyzer for integrated circuit
JPWO2015186175A1 (en) Noise analysis device, electronic device, and noise source identification system
CN111913038B (en) Device and method for detecting frequency of multipath clock signals
US11449117B2 (en) Reactive droop limiter
US11614487B2 (en) Multi-capture at-speed scan test based on a slow clock signal
CN102751982A (en) Clock selection circuit suitable for backboard spending treatment of communication equipment
CN104698370A (en) Method and device for testing timing sequence of circuit in chip, and RTL (register transfer level) simulation equipment
KR102530884B1 (en) Semiconductor memory device and the method for operating the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180416

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 5