KR101622195B1 - 동적 버스 클럭을 제어하기 위한 장치 및 방법 - Google Patents

동적 버스 클럭을 제어하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR101622195B1
KR101622195B1 KR1020090106325A KR20090106325A KR101622195B1 KR 101622195 B1 KR101622195 B1 KR 101622195B1 KR 1020090106325 A KR1020090106325 A KR 1020090106325A KR 20090106325 A KR20090106325 A KR 20090106325A KR 101622195 B1 KR101622195 B1 KR 101622195B1
Authority
KR
South Korea
Prior art keywords
bus
frequency
master module
clock
bus clock
Prior art date
Application number
KR1020090106325A
Other languages
English (en)
Other versions
KR20110049345A (ko
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 KR1020090106325A priority Critical patent/KR101622195B1/ko
Priority to US12/938,561 priority patent/US8972768B2/en
Priority to EP10190033.0A priority patent/EP2320300A3/en
Priority to EP17194630.4A priority patent/EP3316073A3/en
Priority to CN2010105327628A priority patent/CN102053649A/zh
Priority to JP2010248817A priority patent/JP5652942B2/ja
Publication of KR20110049345A publication Critical patent/KR20110049345A/ko
Application granted granted Critical
Publication of KR101622195B1 publication Critical patent/KR101622195B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

본 발명은 동적 버스 클럭을 제어하기 위한 장치 및 방법에 관한 것이다. 이때, 본 발명에 따른 동작 버스 클럭을 제어하기 위한 장치는, 적어도 하나의 마스터 모듈과, 적어도 하나의 슬레이브 모듈과, 상기 적어도 하나의 마스터 모듈과 상기 적어도 하나의 슬레이브 모듈이 데이터를 송수신하는 버스와, 상기 적어도 하나의 마스터 모듈이 상기 버스를 사용하는 빈도를 고려하여 버스 클럭의 주파수를 결정하는 버스 주파수 제어기와, 상기 버스 주파수 제어기의 제어에 따라 발생시킨 클럭을 상기 적어도 하나의 마스터 모듈과 상기 적어도 하나의 슬레이브 모듈 및 상기 버스로 제공하는 클럭 발생기를 포함한다.
온-칩 버스(On-Chip Bus), 클럭 발생기(Clock Generator), AFS(Adaptive Frequency Scaling), 버스의 동작 정보(Activity)

Description

동적 버스 클럭을 제어하기 위한 장치 및 방법{APPARATUS AND METHOD FOR ADAPTIVE FREQUENCY SCALING}
본 발명은 동적 버스 클럭을 제어하기 위한 장치 및 방법에 관한 것으로서, 특히, 온-칩 버스(On-Chip Bus)의 사용 빈도를 고려하여 디지털 시스템의 버스 클럭 주파수를 제어하기 위한 장치 및 방법에 관한 것이다.
동기식(Synchronous) 디지털 시스템은 하기 도 1에 도시된 바와 같이 버스를 중심으로 적어도 하나의 마스터 모듈(Master Module)과 적어도 하나의 슬레이브 모듈(Slave Module)과 서로 데이터를 송수신한다.
도 1은 종래 기술에 따른 디지털 시스템의 버스 구성을 도시하고 있다.
상기 도 1에 도시된 바와 같이 적어도 하나의 마스터 모듈(100-1, 100-2, …, 100-n)은 버스(120)를 통해 적어도 하나의 슬레이브 모듈(110-1, 110-2, …, 110-m)과 데이터를 송수신한다. 이때, 상기 마스터 모듈(100-1, 100-2, …, 100-n)과 슬레이브 모듈(110-1, 110-2, …, 110-m) 및 버스(120)는 클럭 발생기(130)에서 생성한 고정된 버스 클럭(BUS_CLK)을 사용한다. 상기 클럭 발생기(130)는 디지털 시스템의 최대 성능을 만족시키기 위한 최대 주파수를 생성한다.
디지털 시스템은 전력 소비를 줄이기 위해 동적 전압 및 주파수 제어(DVFS: Dynamic Voltage and Frequency Scaling) 기술을 사용한다.
DVFS 기술을 사용하는 경우, 디지털 시스템은 메인 프로세서(CPU: Center Frequency Unit)의 동작 정보(Activity)를 측정하여 CPU 또는 상기 디지털 시스템의 전체 주파수를 변경한다.
하지만, 상기 DVFS 기술은 CPU 자체만의 동작 정보만을 측정하여 CPU 자체만의 전압과 주파수를 조절한다. 이에 따라, 디지털 시스템의 DVFS 기술을 통해 CPU의 주파수를 변경하는 경우, 전력 감소의 범위가 CPU로 한정되는 문제점이 있다.
또한, 상기 DVFS 기술을 통해 디지털 시스템의 전체 주파수를 변경하는 경우, CPU 이외의 독자적인 버스의 대역폭을 요구하는 마스터 모듈이 존재하면 CPU 중심의 DVFS 기술에 의해 디지털 시스템의 성능이 저하되는 문제가 발생할 수 있다.
따라서, 본 발명의 목적은 디지털 시스템에서 버스 클럭의 주파수를 변경하여 시스템의 전력 소모를 줄이기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 디지털 시스템에서 온-칩 버스(On-Chip Bus)의 사용빈도를 고려하여 버스 클럭의 주파수를 변경하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 디지털 시스템에서 온-칩 버스의 사용빈도를 고려하여 버스 클럭의 주파수를 단계적으로 변경하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 디지털 시스템에서 마스터 모듈에 따른 온-침 버스의 사용빈도를 고려하여 버스 클럭의 주파수를 변경하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 동적 버스 클럭을 제어하기 위한 방법은, 적어도 하나의 마스터 모듈에 대한 동작 정보(Activity)를 확인하는 과정과, 각각의 마스터 모듈의 동작 정보에 가중치를 적용하는 과정과, 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합을 산출하는 과정과, 상기 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합을 고려하여 버스 클럭의 주파수를 결정하는 과정을 포함하는 것을 특징으로 한다.
본 발명의 제 2 견지에 따르면, 동적 버스 클럭을 제어하기 위한 방법은, 버스를 사용하는 적어도 하나의 마스터 모듈이 존재하는지 확인하는 과정과, 기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 버스 클럭의 주파수를 낮추는 과정과, 기준 시간 내에 버스를 사용하는 마스터 모듈이 존재하는 경우, 버스 클럭의 주파수를 높이는 과정을 포함하는 것을 특징으로 한다.
본 발명의 제 3 견지에 따르면, 동적 버스 클럭을 제어하기 위한 장치는, 적어도 하나의 마스터 모듈과, 적어도 하나의 슬레이브 모듈과, 상기 적어도 하나의 마스터 모듈과 상기 적어도 하나의 슬레이브 모듈이 데이터를 송수신하는 버스와, 상기 적어도 하나의 마스터 모듈이 상기 버스를 사용하는 빈도를 고려하여 버스 클럭의 주파수를 결정하는 버스 주파수 제어기와, 상기 버스 주파수 제어기의 제어에 따라 발생시킨 클럭을 상기 적어도 하나의 마스터 모듈과 상기 적어도 하나의 슬레이브 모듈 및 상기 버스로 제공하는 클럭 발생기를 포함하여 구성되는 것을 특징으로 한다.
상술한 바와 같이 온-칩 버스(On-Chip Bus)의 사용 빈도를 고려하여 디지털 시스템의 버스 클럭의 주파수를 변경함으로써, 버스 클럭을 사용하는 모듈들의 전력 소모를 줄일 수 있는 이점이 있다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 본 발명은 온-칩 버스(On-Chip Bus)의 사용 빈도를 고려하여 디지털 시스템의 버스 클럭의 주파수를 변경하기 위한 기술에 대해 설명한다.
도 2는 본 발명에 따른 디지털 시스템의 버스 구성을 도시하고 있다.
상기 도 2에 도시된 바와 같이 적어도 하나의 마스터 모듈(200-1, 200-2, …, 200-n)은 버스(220)를 통해 적어도 하나의 슬레이브 모듈(210-1, 210-2, …, 210-m)과 데이터를 송수신한다. 이때, 상기 마스터 모듈(200-1, 200-2, …, 200-n)과 버스(220) 및 슬레이브 모듈(210-1, 210-2, …, 210-m)은 클럭 발생기(240)에서 생성한 버스 클럭(BUS_CLK)을 사용하여 동작한다.
상기 클럭 발생기(240)는 상기 버스 AFS(Adaptive Frequency Scaling) 제어기(230)의 제어에 따라 상기 마스터 모듈(200-1, 200-2, …, 200-n)과 슬레이브 모듈(210-1, 210-2, …, 210-m) 및 버스(220)를 동작시키기 위한 버스 클럭을 발생시킨다.
상기 버스 AFS 제어기(230)는 상기 마스터 모듈(200-1, 200-2, …, 200-n)의 상기 버스(220) 사용 여부에 따라 버스 클럭을 발생시키도록 상기 클럭 발생기(240)를 제어한다. 예를 들어, 상기 버스 AFS 제어기(230)는 RVALID 신호와 RREADY 신호를 통해 각 마스터 모듈(200-1, 200-2, …, 200-n)의 읽기 채널(read channel)에 대한 사용 여부를 판단한다. 또한, 상기 버스 AFS 제어기(230)는 WVALID 신호와 WREADY 신호를 통해 각 마스터 모듈(200-1, 200-2, …, 200-n)의 쓰기 채널(write channel)에 대한 사용 여부를 판단한다.
상기 버스 AFS 제어기(230)는 하기 도 3에 도시된 바와 같이 구성된다.
도 3은 본 발명의 실시 예에 따른 버스 AFS 제어기의 구성을 도시하고 있다.
상기 도 3에 도시된 바와 같이 상기 버스 AFS 제어기(230)는 채널 확인부(300-1, …, 300-n), 카운터(310-1, …, 310-n), 가중치 제어부(320), 가산기(Adder)(330), 비교기(Comparator)(340) 및 저장부(350)를 포함하여 구성된다.
상기 채널 확인부(300-1, …, 300-n)는 각각의 마스터 모듈(200-1, 200-2, …, 200-n)이 버스를 사용하는지를 확인한다. 예를 들어, 상기 채널 확인부 1(300-1)은 마스터 모듈 1(200-1)의 읽기 채널 버스와 쓰기 채널 버스의 사용 여부를 확인한다. 이때, 상기 채널 확인부 1(300-1)은 마스터 모듈 1(200-1)의 RVALID 신호와 RREADY 신호를 통해 읽기 채널 버스의 사용 여부를 확인할 수 있다. 또한, 상기 채널 확인부 1(300-1)은 마스터 모듈 1(200-1)의 WVALID 신호와 WREADY 신호를 통해 쓰기 채널 버스의 사용 여부를 확인할 수 있다. 이때, 상기 채널 확인부 1(300-1)은 마스터 모듈 1(200-1)로부터 수신받은 RVALID 신호와 RREADY 신호를 AND 연산(360-1_1)하고, WVALID 신호와 WREADY 신호를 AND 연산(360-1_2)한다. 이후, 상 기 채널 확인부 1(300-1)은 상기 읽기 채널의 AND 연산(360-1_1)과 쓰기 채널의 AND 연산(360-1_2)에 대한 OR 연산(370-1)을 수행하여 마스터 모듈 1(200-1)의 읽기 채널과 쓰기 채널의 사용 여부를 확인한다. 이때, 상기 채널 확인부 1(300-1)은 OR 연산(370-1) 결과를 카운터 1(310-1)의 'en'핀으로 전송한다.
상기 카운터(310-1, …, 310-n)는 각각의 채널 확인부(300-1, …, 300-n)로부터 제공받은 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 버스 사용 여부에 따라 동작한다. 예를 들어, 상기 카운터(310-1, …, 310-n)는 각각의 마스터 모듈(200-1, 200-2, …, 200-n)이 버스를 사용하는 경우에만 카운팅한다.
상기 카운터(310-1, …, 310-n)는 일정 시간 동안 누적한 각각의 마스터 모듈(200-1, 200-2, …, 200-n)의 동작 정보를 상기 가중치 제어부(320)로 전송한다. 이때, 상기 카운터(310-1, …, 310-n)는 각각의 마스터 모듈(200-1, 200-2, …, 200-n)의 동작 정보가 일정 시간 누적된 다중 비트(multi-bit)를 상기 가중치 제어부(320)로 전송한다.
상기 가중치 제어부(320)는 각각의 카운터(310-1, …, 310-n)로부터 제공받은 각각의 마스터 모듈(200-1, 200-2, …, 200-n)의 동작 정보에 서로 다른 가중치를 적용한다. 예를 들어, 상기 가중치 제어부(320)는 적어도 하나의 쉬프터(shifter)로 구성된다. 이때, 각각의 쉬프터는 해당 마스터 모듈의 가중치만큼 해당 마스터 모듈의 동작 정보를 쉬프팅(shifting)한다.
상기 가산기(330)는 상기 가중치 제어부(320)로부터 제공받은 가중치가 적용된 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 동작 정보들의 합을 산출 한다.
상기 비교기(340)는 상기 가산기(330)로부터 제공받은 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 동작 정보들의 합과 버스 클럭을 변경하기 위한 기준 값들을 비교하여 상기 클럭 발생기(240)에서 발생시킬 버스 클럭의 주파수를 결정한다. 예를 들어, 상기 비교기(340)는 상기 저장부(350)로부터 버스 클럭을 변경하기 위한 기준 값 정보를 획득한다. 이후, 상기 비교기(340)는 상기 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 동작 정보들의 합과 상기 저장부(350)로부터 획득한 상기 기준 값 정보를 비교한다. 만일, 상기 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 동작 정보들의 합이 기준 값 1보다 작은 경우, 상기 비교기(340)는 상기 클럭 발생기(240)에서 발생시키는 버스 클럭의 주파수를 낮추도록 제어한다. 한편, 상기 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 동작 정보들의 합이 기준 값 2보다 큰 경우, 상기 비교기(340)는 상기 클럭 발생기(240)에서 발생시키는 버스 클럭의 주파수를 높이도록 제어한다. 이때, 상기 비교기(340)는 상기 클럭 발생기(240)에서 최대 버스 클럭을 발생시키고 있으면, 상기 버스 클럭이 유지되도록 제어한다. 또한, 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 동작 정보들의 합이 기준 값 1보다 크고 기준 값 2보다 작은 경우, 상기 비교기(340)는 상기 클럭 발생기(240)에서 발생시키는 버스 클럭이 유지 되도록 제어한다. 여기서, 상기 기준 값 1은 버스 클럭의 주파수를 낮추기 위한 낮은 기준 값을 나타내고, 상기 기준 값 2는 버스 클럭의 주파수를 높이기 위한 높은 기준 값을 나타낸다.
상기 저장부(350)는 상기 비교기(340)에서 버스 클럭을 변경하기 위한 기준 값들을 저장한다. 또한, 상기 저장부(350)는 상기 가중치 제어부(320)에서 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 적용한 가중치 정보를 포함한다.
상술한 실시 예에서 상기 비교기(340)는 상기 가산기(330)에서 합산한 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 동작 정보들의 합과 버스 클럭을 변경하기 위한 기준 값들을 비교한다.
다른 실시 예에서 상기 가산기(330)는 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 동작 정보들의 합을 비율(Ratio) 산출기로 전송한다. 상기 비율 산출기는 상기 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 동작 정보들의 합을 고려하여 상기 마스터 모듈(200-1, 200-2, …, 200-n)들이 동작 시간에 대한 비율을 산출한다. 이때, 상기 비교기(340)는 상기 비율 산출기에서 산출한 마스터 모듈(200-1, 200-2, …, 200-n)들이 동작시간에 대한 비율과 기준 값들을 비교하여 상기 클럭 발생기(240)에서 발생시킬 버스 클럭의 주파수를 결정할 수도 있다.
상술한 바와 같이 상기 버스 AFS 제어기(230)가 구성되는 경우, 상기 버스 AFS 제어기(230)는 하기 도 4에 도시된 바와 같이 버스 클럭의 주파수를 제어한다.
도 4는 본 발명의 실시 예에 따른 버스 클럭의 주파수를 제어하기 위한 절차를 도시하고 있다.
상기 도 4를 참조하면 먼저 버스 AFS 제어기(230)는 401단계에서 각각의마스터 모듈에 대한 카운터를 초기화한다. 예를 들어, 상기 버스 AFS 제어기(230)가 상 기 도 3에 도시된 바와 같이 구성되는 경우, 상기 버스 AFS 제어기(230)는 상기 카운터들(310-1, …, 310-n)을 초기화한다.
각각의 마스터 모듈에 대한 카운터를 초기화한 후, 상기 버스 AFS 제어기(230)는 403단계로 진행하여 각각의 마스터 모듈에 대한 카운터를 이용하여 각각의 마스터 모듈에 대한 동작 정보(Activity)를 확인한다.
이후, 상기 버스 AFS 제어기(230)는 405단계로 진행하여 각각의 마스터 모듈에 대한 동작 정보에 가중치를 적용한다. 이때, 상기 버스 AFS 제어기(230)는 각각의 마스터 모듈의 동작 정보에 서로 다른 가중치를 적용한다.
각각의 마스터 모듈에 대한 동작 정보에 가중치를 적용한 후, 상기 버스 AFS 제어기(230)는 407단계로 진행하여 가중치가 적용된 각각의 마스터 모듈에 대한 동작 정보들의 합을 산출한다.
이후, 상기 버스 AFS 제어기(230)는 409단계로 진행하여 마스터 모듈의 버스 사용 빈도를 고려하여 버스 클럭의 주파수를 낮출지 확인한다. 예를 들어, 상기 버스 AFS 제어기(230)는 상기 407단계에서 산출한 마스터 모듈들에 대한 동작 정보들의 합과 기준 값 1을 비교한다. 여기서, 상기 기준 값 1은 버스 클럭의 주파수를 낮추기 위한 낮은 기준 값을 나타낸다.
상기 407단계에서 산출한 마스터 모듈들에 대한 동작 정보들의 합이 상기 기준 값 1보다 작거나 같은 경우, 상기 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 빈도가 낮은 것으로 인식한다. 이에 따라, 상기 버스 AFS 제어기(230)는 411단계로 진행하여 버스 클럭의 주파수를 낮춘다. 예를 들어, 상기 버스 AFS 제어 기(230)는 버스 클럭의 주파수가 최소화되도록 제어한다.
한편, 상기 407단계에서 산출한 마스터 모듈들에 대한 동작 정보들의 합이 상기 기준 값 1보다 높은 경우, 상기 버스 AFS 제어기(230)는 413단계로 진행하여 마스터 모듈의 버스 사용 빈도를 고려하여 버스 클럭의 주파수를 높일지 확인한다. 예를 들어, 상기 버스 AFS 제어기(230)는 상기 407단계에서 산출한 마스터 모듈들에 대한 동작 정보들의 합과 기준 값 2를 비교한다. 여기서, 상기 기준 값 2는 버스 클럭의 주파수를 높이기 위한 높은 기준 값을 나타낸다.
상기 413단계에서 마스터 모듈들에 대한 동작 정보들의 합이 상기 기준 값 2보다 작은 경우, 상기 버스 AFS 제어기(230)는 현재 버스 클럭이 마스터 모듈의 버스 사용 빈도에 적합한 것으로 인식한다. 이에 따라, 상기 버스 AFS 제어기(230)는 415단계로 진행하여 버스 클럭의 주파수를 유지하도록 제어한다.
한편, 상기 413단계에서 마스터 모듈들에 대한 동작 정보들의 합이 상기 기준 값 2보다 크거나 같은 경우, 상기 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 빈도가 높은 것으로 인식한다. 이때, 상기 버스 AFS 제어기(230)는 417단계로 진행하여 버스 클럭의 주파수를 높일 수 있는지 확인한다. 즉, 상기 버스 AFS 제어기(230)는 디지털 시스템에서 현재 사용하고 있는 버스 클럭의 주파수가 최대 주파수인지 확인한다.
버스 클럭의 주파수가 최대 주파수인 경우, 상기 버스 AFS 제어기(230)는 상기 415단계로 진행하여 버스 클럭의 주파수를 유지하도록 제어한다.
한편, 버스 클럭의 주파수가 최대 주파수가 아닌 경우, 상기 버스 AFS 제어 기(230)는 419단계로 진행하여 버스 클럭의 주파수를 높인다. 예를 들어, 상기 버스 AFS 제어기(230)는 버스 클럭의 주파수가 최대가 되도록 제어한다.
이후, 상기 버스 AFS 제어기(230)는 본 알고리즘을 종료한다.
상술한 실시 예에서 버스 AFS 제어기(230)는 각각의 마스터 모듈에 가중치를 적용하여 마스터 모듈의 버스 사용 빈도를 확인한다.
다른 실시 예에서 버스 AFS 제어기(230)는 하기 도 5에 도시된 바와 같이 마스터 모듈의 구분없이 버스 사용 빈도를 확인할 수 있다.
도 5는 본 발명의 다른 실시 예에 따른 버스 AFS 제어기의 구성을 도시하고 있다.
상기 도 5에 도시된 바와 같이 상기 버스 AFS 제어기(230)는 채널 확인부(500), 카운터(510), 비교기(Comparator)(520) 및 저장부(530)를 포함하여 구성된다.
상기 채널 확인부(500)는 상기 마스터 모듈들(200-1, 200-2, …, 200-n)이 버스를 사용하는지를 확인한다. 즉, 상기 채널 확인부(500)은 상기 마스터 모듈들(200-1, 200-2, …, 200-n)의 읽기 채널 버스와 쓰기 채널 버스의 사용 여부를 확인한다. 예를 들어, 상기 채널 확인부(500)는 각각의 마스터 모듈(200-1, 200-2, …, 200-n)로부터 제공받은 ARVALID 신호와 AWVALID 신호에 대한 OR 연산(540-1)을 수행한다. 이후, 상기 채널 확인부(500)는 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 OR 연산(540-1, 540-2, 540-n) 결과들을 OR 연산(550)하여 상기 마스터 모듈들(200-1, 200-2, …, 200-n)이 버스를 사용하는지를 확인한다. 이하 설 명에서 상기 각각의 마스터 모듈(200-1, 200-2, …, 200-n)에 대한 OR 연산(540-1, 540-2, 540-n) 결과들을 OR 연산(550)을 AVALID_OR이라 칭한다.
이때, 상기 채널 확인부(500)는 어느 하나의 마스터 모듈에서 버스를 요청하는 경우, 'High'로 설정된 AVALID_OR을 상기 카운터(510)로 전송한다. 한편, 상기 채널 확인부(500)는 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 'Low'로 설정된 AVALID_OR을 상기 카운터(510)로 전송한다.
상기 카운터(510)는 상기 채널 확인부(500)로부터 제공받은 AVALID_OR에 따라 구동된다. 예를 들어, 상기 카운터(510)는 상기 AVALID_OR이 'High'인 경우 리셋 된다. 이에 따라, 상기 카운터(501)는 상기 AVALID_OR이 'High'인 경우 상기 비교기(520)로 카운팅 값을 전송하지 않는다. 한편, 상기 AVALID_OR이 'Low'인 경우, 상기 카운터(510)는 카운팅 값을 상기 비교기(520)로 전송한다.
상기 비교기(520)는 상기 카운터(510)로부터 제공받은 카운팅 값에 따라 상기 클럭 발생기(240)에서 발생시킬 버스 클럭의 주파수를 결정한다. 예를 들어, 상기 비교기(520)는 상기 저장부(530)로부터 버스 클럭의 주파수를 낮추기 위한 기준 시간 정보를 획득한다. 이후, 상기 비교기(520)는 상기 기준 시간 동안 상기 카운터(510)로부터 지속적으로 카운팅 값을 제공받는 경우, 버스를 사용하는 마스터 모듈이 존재하지 않는 것으로 인식한다. 이에 따라, 상기 비교기(520)는 버스 클럭의 주파수를 낮추도록 제어한다. 이때, 상기 카운터(510)는 상기 비교기(520)의 출력 신호에 따라 리셋 된다. 다른 예를 들어, 상기 비교기(520)는 'High'인 AVALID_OR에 따라 상기 카운터(510)가 리셋되는 경우, 버스 클럭의 주파수를 높이도록 제어 한다.
상기 저장부(530)는 상기 비교기(520)에서 버스 클럭을 변경하기 위한 기준 시간 정보를 저장한다.
상술한 실시 예에서 상기 버스 AFS 제어기(230)는 기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 버스 클럭의 주파수를 낮추도록 제어한다.
다른 실시 예에서 상기 AFS 제어기(230)는 기준 시간 동안 카운터(510)의 카운팅 값이 발생한 비율을 고려하여 버스 클럭의 주파수를 결정할 수도 있다.
상술한 바와 같이 상기 버스 AFS 제어기(230)가 구성되는 경우, 상기 버스 AFS 제어기(230)는 하기 도 6에 도시된 바와 같이 버스 클럭의 주파수를 제어한다.
도 6은 본 발명의 다른 실시 예에 따른 버스 클럭의 주파수를 제어하기 위한 절차를 도시하고 있다.
상기 도 6을 참조하면 상기 버스 AFS 제어기(230)는 601단계에서 카운터를 초기화한다. 예를 들어, 상기 버스 AFS 제어기(230)가 상기 도 5에 도시된 바와 같이 구성되는 경우, 상기 버스 AFS 제어기(230)는 상기 카운터(510)를 초기화한다.
이후, 상기 버스 AFS 제어기(230)는 603단계로 진행하여 버스를 사용하는 마스터 모듈이 존재하는지 확인한다. 예를 들어, 상기 버스 AFS 제어기(230)는 적어도 하나의 마스터 모듈에서 ARVALID 신호 또는 AWVALID 신호가 발생하는지 확인한다.
상기 603단계에서 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 상기 버스 AFS 제어기(230)는 605단계로 진행하여 기준 시간이 도래하는지 확인한다. 즉, 상기 버스 AFS 제어기(230)는 상기 601단계에서 초기화한 카운터가 상기 기준 시간 동안 지속적으로 구동되는지 확인한다.
상기 605단계에서 기준 시간이 도래하지 않은 경우, 상기 버스 AFS 제어기(230)는 상기 603단계로 진행하여 버스를 사용하는 마스터 모듈이 발생하는지 다시 확인한다.
한편, 상기 605단계에서 기준 시간이 도래한 경우, 상기 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 빈도가 낮은 것으로 인식한다. 이에 따라, 상기 버스 AFS 제어기(230)는 607단계로 진행하여 버스 클럭의 주파수가 최소화 되도록 제어한다.
상기 603단계에서 버스를 사용하는 마스터 모듈이 존재하는 경우, 상기 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 빈도가 높은 것으로 인식한다. 이에 따라, 상기 버스 AFS 제어기(230)는 609단계로 진행하여 버스 클럭의 주파수를 높일 수 있는지 확인한다. 즉, 상기 버스 AFS 제어기(230)는 디지털 시스템에서 현재 사용하고 있는 버스 클럭의 주파수가 최대 주파수인지 확인한다. 미 도시되었지만, 상기 버스를 사용하는 마스터 모듈이 존재하는 경우, 상기 버스 AFS 제어기(230)는 상기 601단계에서 초기화한 카운터를 리셋한다.
버스 클럭의 주파수가 최대 주파수인 경우, 상기 버스 AFS 제어기(230)는 본 알고리즘을 종료한다. 이때, 상기 버스 AFS 제어기(230)는 버스 클럭의 주파수를 유지하도록 제어한다.
한편, 버스 클럭의 주파수가 최대 주파수가 아닌 경우, 상기 버스 AFS 제어기(230)는 611단계로 진행하여 버스 클럭의 주파수가 최대가 되도록 제어한다.
이후, 상기 버스 AFS 제어기(230)는 본 알고리즘을 종료한다.
상술한 실시 예에서 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 여부에 따라 버스 클럭의 주파수를 최대 또는 최소로 변경하도록 제어한다.
다른 실시 예에서 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 여부에 따라 버스 클럭의 주파수를 단계적으로 변경하도록 제어할 수도 있다.
도 7은 본 발명의 또 다른 실시 예에 따른 버스 클럭의 주파수를 제어하기 위한 절차를 도시하고 있다.
상기 도 7을 참조하면 상기 버스 AFS 제어기(230)는 701단계에서 카운터 1을 초기화한다. 예를 들어, 상기 버스 AFS 제어기(230)가 상기 도 5에 도시된 바와 같이 구성되는 경우, 상기 버스 AFS 제어기(230)는 상기 카운터(510)를 초기화한다.
이후, 상기 버스 AFS 제어기(230)는 703단계로 진행하여 버스를 사용하는 마스터 모듈이 존재하는지 확인한다. 예를 들어, 상기 버스 AFS 제어기(230)는 적어도 하나의 마스터 모듈에서 ARVALID 신호 또는 AWVALID 신호가 발생하는지 확인한다.
상기 703단계에서 버스를 사용하는 마스터 모듈이 존재하는 경우, 상기 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 빈도가 높은 것으로 인식한다. 이에 따라, 상기 버스 AFS 제어기(230)는 705단계로 진행하여 버스 클럭의 주파수를 높일 수 있는지 확인한다. 즉, 상기 버스 AFS 제어기(230)는 디지털 시스템에서 현재 사용하고 있는 버스 클럭의 주파수가 최대 주파수인지 확인한다. 미 도시되었지만, 상기 버스를 사용하는 마스터 모듈이 존재하는 경우, 상기 버스 AFS 제어기(230)는 상기 701단계에서 초기화한 카운터를 리셋한다.
버스 클럭의 주파수가 최대 주파수인 경우, 상기 버스 AFS 제어기(230)는 본 알고리즘을 종료한다. 이때, 상기 버스 AFS 제어기(230)는 버스 클럭의 주파수를 유지하도록 제어한다.
한편, 버스 클럭의 주파수가 최대 주파수가 아닌 경우, 상기 버스 AFS 제어기(230)는 707단계로 진행하여 버스 클럭의 주파수가 최대가 되도록 제어한다.
상기 703단계에서 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 상기 버스 AFS 제어기(230)는 709단계로 진행하여 기준 시간이 도래하는지 확인한다. 즉, 상기 버스 AFS 제어기(230)는 상기 701단계에서 초기화한 카운터가 상기 기준 시간 동안 지속적으로 구동되는지 확인한다.
상기 709단계에서 기준 시간이 도래하지 않은 경우, 상기 버스 AFS 제어기(230)는 상기 703단계로 진행하여 버스를 사용하는 마스터 모듈이 발생하는지 다시 확인한다.
한편, 상기 709단계에서 기준 시간이 도래한 경우, 상기 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 빈도가 낮은 것으로 인식한다. 이에 따라, 상기 버스 AFS 제어기(230)는 711단계로 진행하여 버스 클럭의 주파수가 한 단계 낮아지도록 제어한다.
이때, 상기 버스 AFS 제어기(203)는 713단계로 진행하여 카운터 2를 초기화 한다. 여기서, 상기 카운터 2는 버스 클럭의 주파수를 한 단계 더 낮추기 위한 제 2 기준 시간을 측정하기 위해 사용된다.
이후, 상기 버스 AFS 제어기(230)는 715단계로 진행하여 버스를 사용하는 마스터 모듈이 존재하는지 확인한다. 예를 들어, 상기 버스 AFS 제어기(230)는 적어도 하나의 마스터 모듈에서 ARVALID 신호 또는 AWVALID 신호가 발생하는지 확인한다.
상기 715단계에서 버스를 사용하는 마스터 모듈이 존재하는 경우, 상기 버스 AFS 제어기(230)는 상기 707단계로 진행하여 버스 클럭의 주파수가 최대가 되도록 제어한다.
한편, 상기 715단계에서 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 상기 버스 AFS 제어기(230)는 717단계로 진행하여 제 2 기준 시간이 도래하는지 확인한다. 즉, 상기 버스 AFS 제어기(230)는 상기 713단계에서 초기화한 카운터 2가 상기 제 2 기준 시간 동안 지속적으로 구동되는지 확인한다.
상기 717단계에서 기준 시간이 도래하지 않은 경우, 상기 버스 AFS 제어기(230)는 상기 715단계로 진행하여 버스를 사용하는 마스터 모듈이 발생하는지 다시 확인한다.
한편, 상기 717단계에서 기준 시간이 도래한 경우, 상기 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 빈도가 낮은 것으로 인식한다. 이에 따라, 상기 버스 AFS 제어기(230)는 719단계로 진행하여 버스 클럭의 주파수가 최소화되도록 제어한다.
이후, 상기 버스 AFS 제어기(230)는 본 알고리즘을 종료한다.
상술한 바와 같이 버스 클럭의 주파수를 단계적으로 낮추는 경우, 상기 버스 AFS 제어기(230)는 하기 도 8에 도시된 바와 같이 버스 클럭의 주파수를 결정할 수 있다.
도 8은 본 발명의 실시 예에 따른 디지털 시스템의 주파수 변경 그래프를 도시하고 있다.
상기 도 8에 도시된 바와 같이 기준 시간 1 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 상기 버스 AFS 제어기(230)는 A1 시점(800)에서 버스 클럭의 주파수를 한 단계 낮춘다.
A2 시점(810)에 버스를 사용하는 마스터 모듈이 존재하는 경우, 상기 버스 AFS 제어기(230)는 버스 클럭의 주파수를 최대로 높인다.
또한, A2 시점(810) 이후 A3 시점(820)까지 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 상기 버스 AFS 제어기(230)는 A3 시점(820)에서 버스 클럭의 주파수를 한 단계 낮춘다. 여기서, 상기 A2 시점(810)부터 A3 시점(820)까지의 시간 구간은 상기 기준 시간 1과 동일하다.
이후, A3 시점(820) 이후 A4 시점(830)까지 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 상기 버스 AFS 제어기(230)는 A4 시점(830)에서 버스 클럭의 주파수를 최소화되도록 낮춘다.
A5 시점(840)에 버스를 사용하는 마스터 모듈이 존재하는 경우, 상기 버스 AFS 제어기(230)는 버스 클럭의 주파수를 최대로 높인다.
상술한 실시 예에서 상기 버스 AFS 제어기(230)는 두 개의 카운터를 이용하여 두 단계로 버스 클럭의 주파수를 낮춘다.
다른 실시 예에서 상기 버스 AFS 제어기(230)는 하나의 카운터를 이용하여 기준 시간 동안 카운터가 리셋되지 않고 구동되는 경우 단계적으로 버스 클럭의 주파수를 낮출 수도 있다.
상기 도 6과 도 7의 버스 AFS 제어기(230)는 기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 버스 클럭의 주파수를 낮춘다.
다른 실시 예에서 버스 AFS 제어기(230)는 기준 시간 동안 마스터 모듈들의 버스 사용 빈도에 따라 버스 클럭의 주파수를 낮출 수도 있다.
도 9는 본 발명의 또 다른 실시 예에 따른 버스 클럭 주파수를 제어하기 위한 절차를 도시하고 있다.
상기 도 9를 참조하면 상기 버스 AFS 제어기(230)는 901단계에서 카운터를 초기화한다. 예를 들어, 상기 버스 AFS 제어기(230)가 상기 도 5에 도시된 바와 같이 구성되는 경우, 상기 버스 AFS 제어기(230)는 상기 카운터(510)를 초기화한다.
카운터를 초기화한 후, 상기 버스 AFS 제어기(230)는 903단계로 진행하여 마스터 모듈들의 버스 사용 여부를 확인한다. 예를 들어, 상기 버스 AFS 제어기(230)는 마스터 모듈에서 ARVALID 신호 또는 AWVALID 신호가 발생하는 경우, 상기 마스터 모듈이 버스를 사용하는 것으로 인식한다.
이후, 상기 버스 AFS 제어기(230)는 905단계로 진행하여 기준 시간이 도래하는지 확인한다.
만일, 기준 시간이 도래하지 않은 경우, 상기 버스 AFS 제어기(230)는 상기 903단계로 진행하여 마스터 모듈들의 버스 사용 여부를 확인한다.
한편, 기준 시간이 도래한 경우, 상기 버스 AFS 제어기(230)는 907단계로 진행하여 기준 시간 동안 마스터 모듈들의 버스 사용 량을 확인한다. 예를 들어, 상기 901단계에서 초기화한 카운터는 마스터 모듈이 버스를 사용하지 않는 경우에만 카운팅된다. 이에 따라, 상기 버스 AFS 제어기(230)는 기준 시간 동안 상기 카운터의 카운팅 값을 고려하여 기준 시간 동안 마스터 모듈들의 버스 사용 량을 확인한다.
이후, 상기 버스 AFS 제어기(230)는 909단계로 진행하여 상기 907단계에서 확인한 버스 사용 량을 고려하여 버스 클럭의 주파수를 낮출지 확인한다. 예를 들어, 상기 버스 AFS 제어기(230)는 상기 907단계에서 확인한 버스 사용 량과 기준 값 1을 비교한다. 여기서, 상기 기준 값 1은 버스 클럭의 주파수를 낮추기 위한 낮은 기준 값을 나타낸다.
상기 907단계에서 확인한 버스 사용 량이 상기 기준 값 1보다 작거나 같은 경우, 상기 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 빈도가 낮은 것으로 인식한다. 이에 따라, 상기 버스 AFS 제어기(230)는 911단계로 진행하여 버스 클럭의 주파수를 낮춘다. 예를 들어, 상기 버스 AFS 제어기(230)는 버스 클럭의 주파수가 최소화되도록 제어한다. 다른 예를 들어, 상기 버스 AFS 제어기(230)는 미리 정해진 버스 클럭 변경 주파수 단계에 따라 버스 클럭의 주파수를 한 단계 낮추도록 제어한다.
한편, 상기 907단계에서 확인한 버스 사용 량이 상기 기준 값 1보다 높은 경우, 상기 버스 AFS 제어기(230)는 913단계로 진행하여 상기 907단계에서 확인한 확인한 버스 사용 량을 고려하여 버스 클럭의 주파수를 높일지 확인한다. 예를 들어, 상기 버스 AFS 제어기(230)는 상기 907단계에서 확인한 버스 사용 량과 기준 값 2를 비교한다. 여기서, 상기 기준 값 2는 버스 클럭의 주파수를 높이기 위한 높은 기준 값을 나타낸다.
상기 913단계에서 버스 사용 량이 상기 기준 값 2보다 작은 경우, 상기 버스 AFS 제어기(230)는 현재 버스 클럭이 마스터 모듈의 버스 사용 빈도에 적합한 것으로 인식한다. 이에 따라, 상기 버스 AFS 제어기(230)는 915단계로 진행하여 버스 클럭의 주파수를 유지하도록 제어한다.
한편, 상기 913단계에서 버스 사용 량이 상기 기준 값 2보다 크거나 같은 경우, 상기 버스 AFS 제어기(230)는 마스터 모듈의 버스 사용 빈도가 높은 것으로 인식한다. 이때, 상기 버스 AFS 제어기(230)는 917단계로 진행하여 버스 클럭의 주파수를 높일 수 있는지 확인한다. 즉, 상기 버스 AFS 제어기(230)는 디지털 시스템에서 현재 사용하고 있는 버스 클럭의 주파수가 최대 주파수인지 확인한다.
버스 클럭의 주파수가 최대 주파수인 경우, 상기 버스 AFS 제어기(230)는 상기 915단계로 진행하여 버스 클럭의 주파수를 유지하도록 제어한다.
한편, 버스 클럭의 주파수가 최대 주파수가 아닌 경우, 상기 버스 AFS 제어기(230)는 919단계로 진행하여 버스 클럭의 주파수를 높인다. 예를 들어, 상기 버스 AFS 제어기(230)는 버스 클럭의 주파수가 최대가 되도록 제어한다.
이후, 상기 버스 AFS 제어기(230)는 본 알고리즘을 종료한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 종래 기술에 따른 디지털 시스템의 버스 구성을 도시하는 도면,
도 2는 본 발명에 따른 디지털 시스템의 버스 구성을 도시하는 도면,
도 3은 본 발명의 실시 예에 따른 버스 AFS 제어기의 구성을 도시하는 도면,
도 4는 본 발명의 실시 예에 따른 버스 클럭의 주파수를 제어하기 위한 절차를 도시하는 도면,
도 5는 본 발명의 다른 실시 예에 따른 버스 AFS 제어기의 구성을 도시하는 도면,
도 6은 본 발명의 다른 실시 예에 따른 버스 클럭의 주파수를 제어하기 위한 절차를 도시하는 도면,
도 7은 본 발명의 또 다른 실시 예에 따른 버스 클럭 주파수를 제어하기 위한 절차를 도시하는 도면,
도 8은 본 발명의 실시 예에 따른 디지털 시스템의 주파수 변경 그래프를 도시하는 도면, 및
도 9는 본 발명의 또 다른 실시 예에 따른 버스 클럭 주파수를 제어하기 위한 절차를 도시하는 도면.

Claims (21)

  1. 동적 버스 클럭을 제어하기 위한 방법에 있어서,
    적어도 하나의 마스터 모듈에 대한 동작 정보(Activity)를 확인하는 과정과,
    각각의 마스터 모듈의 동작 정보에 가중치를 적용하는 과정과,
    가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합을 산출하는 과정과,
    상기 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합을 고려하여 버스 클럭의 주파수를 결정하는 과정을 포함하고,
    상기 동작 정보를 확인하는 과정은,
    상기 마스터 모듈이 읽기 채널 버스와 쓰기 채널 버스 중 적어도 하나를 사용하기 위한 신호를 발생하는지를 결정하는 과정을 포함하는 것을 특징으로 하는 방법.
  2. 삭제
  3. 제 1항에 있어서,
    상기 가중치를 적용하는 과정은,
    각각의 마스터 모듈의 동작 정보에 서로 다른 가중치를 적용하는 과정을 포함하는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서,
    상기 버스 클럭의 주파수를 결정하는 과정은,
    상기 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합이 낮은 기준 값보다 작은 경우, 상기 버스 클럭의 주파수를 낮추는 과정과,
    상기 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합이 높은 기준 값보다 큰 경우, 상기 버스 클럭의 주파수를 높이는 과정과,
    상기 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합이 상기 낮은 기준 값보다 크고 상기 높은 기준 값보다 작은 경우, 상기 버스 클럭의 주파수를 변경하지 않는 과정을 포함하는 것을 특징으로 하는 방법.
  5. 동적 버스 클럭을 제어하기 위한 방법에 있어서,
    버스를 사용하는 적어도 하나의 마스터 모듈이 존재하는지 확인하는 과정과,
    기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 버스 클럭의 주파수를 낮추는 과정과,
    기준 시간 내에 버스를 사용하는 마스터 모듈이 존재하는 경우, 버스 클럭의 주파수를 높이는 과정을 포함하고,
    상기 적어도 하나의 마스터 모듈이 존재하는지 확인하는 과정은,
    상기 마스터 모듈이 읽기 채널 버스와 쓰기 채널 버스 중 적어도 하나를 사용하기 위한 신호를 발생하는지를 결정하는 과정을 포함하는 것을 특징으로 하는 방법.
  6. 삭제
  7. 제 5항에 있어서,
    상기 버스 클럭의 주파수를 낮추는 과정은,
    기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 버스 클럭의 주파수가 최소화되도록 낮추는 과정을 포함하는 것을 특징으로 하는 방법.
  8. 제 5항에 있어서,
    상기 버스 클럭의 주파수를 낮추는 과정은,
    기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 기 설정된 적어도 하나의 버스 클럭의 주파수 조절 단계에 따라 버스 클럭의 주파수를 한 단계 낮추는 과정을 포함하는 것을 특징으로 하는 방법.
  9. 제 8항에 있어서,
    상기 버스 클럭의 주파수를 한 단계 낮춘 후, 제 2 기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 버스 클럭의 주파수가 최소화되도록 낮추는 과정을 더 포함하는 것을 특징으로 하는 방법.
  10. 제 5항에 있어서,
    상기 버스 클럭의 주파수를 높이는 과정은,
    기준 시간 내에 버스를 사용하는 마스터 모듈이 존재하는 경우, 버스 클럭의 주파수가 최대화되도록 높이는 과정을 포함하는 것을 특징으로 하는 방법.
  11. 동적 버스 클럭을 제어하기 위한 장치에 있어서,
    적어도 하나의 마스터 모듈과,
    적어도 하나의 슬레이브 모듈과,
    상기 적어도 하나의 마스터 모듈과 상기 적어도 하나의 슬레이브 모듈이 데이터를 송수신하는 버스와,
    상기 적어도 하나의 마스터 모듈이 상기 버스를 사용하는 빈도를 고려하여 버스 클럭의 주파수를 결정하는 버스 주파수 제어기와,
    상기 버스 주파수 제어기의 제어에 따라 발생시킨 클럭을 상기 적어도 하나의 마스터 모듈과 상기 적어도 하나의 슬레이브 모듈 및 상기 버스로 제공하는 클럭 발생기를 포함하고,
    상기 버스 주파수 제어기는, 상기 마스터 모듈이 읽기 채널 버스와 쓰기 채널 버스 중 적어도 하나를 사용하기 위한 신호를 발생하는지를 결정하는 것을 특징으로 하는 장치.
  12. 제 11항에 있어서,
    상기 버스 주파수 제어기는,
    각각의 마스터 모듈에 대한 동작 정보(Activity)를 확인하는 적어도 하나의 채널 확인부와,
    상기 적어도 하나의 채널 확인부에서 확인한 각각의 마스터 모듈의 동작 정보에 가중치를 적용하는 가중치 제어부와,
    상기 가중치 제어부에서 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합을 산출하는 가산기와,
    상기 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합을 고려하여 버스 클럭의 주파수를 결정하는 비교기를 포함하여 구성되는 것을 특징으로 하는 장치.
  13. 삭제
  14. 제 12항에 있어서,
    상기 가중치 제어부는, 상기 적어도 하나의 채널 확인부에서 확인한 각각의 마스터 모듈의 동작 정보에 서로 다른 가중치를 적용하는 것을 특징으로 하는 장치.
  15. 제 12항에 있어서,
    상기 비교기는, 상기 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합이 낮은 기준 값보다 작은 경우, 상기 버스 클럭의 주파수를 낮추고,
    상기 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합이 높은 기준 값보다 큰 경우, 상기 버스 클럭의 주파수를 높이고,
    상기 가중치가 적용된 각각의 마스터 모듈의 동작 정보의 합이 상기 낮은 기준 값보다 크고 상기 높은 기준 값보다 작은 경우, 상기 버스 클럭의 주파수를 변경하지 않는 것을 특징으로 하는 장치.
  16. 제 11항에 있어서,
    상기 버스 주파수 제어기는,
    버스를 사용하는 적어도 하나의 마스터 모듈이 존재하는지 확인하는 채널 확인부와,
    기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 버스 클럭의 주파수를 낮추고, 기준 시간 내에 버스를 사용하는 마스터 모듈이 존재하는 경우, 버스 클럭의 주파수를 높이는 비교기를 포함하여 구성되는 것을 특징으로 하는 장치.
  17. 제 16항에 있어서,
    상기 채널 확인부는, 각각의 마스터 모듈에서 읽기 채널 버스와 쓰기 채널 버스를 사용하기 위한 신호가 발생하는지 확인하는 것을 특징으로 하는 장치.
  18. 제 16항에 있어서,
    상기 비교기는, 기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 버스 클럭의 주파수가 최소화되도록 낮추는 것을 특징으로 하는 장치.
  19. 제 16항에 있어서,
    상기 비교기는, 기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않 는 경우, 기 설정된 적어도 하나의 버스 클럭의 주파수 조절 단계에 따라 버스 클럭의 주파수를 한 단계 낮추는 것을 특징으로 하는 장치.
  20. 제 19항에 있어서,
    상기 비교기는, 상기 버스 클럭의 주파수를 한 단계 낮춘 후, 제 2 기준 시간 동안 버스를 사용하는 마스터 모듈이 존재하지 않는 경우, 버스 클럭의 주파수가 최소화되도록 낮추는 것을 특징으로 하는 장치.
  21. 제 16항에 있어서,
    상기 비교기는, 기준 시간 내에 버스를 사용하는 마스터 모듈이 존재하는 경우, 버스 클럭의 주파수가 최대화되도록 높이는 것을 특징으로 하는 장치.
KR1020090106325A 2009-11-05 2009-11-05 동적 버스 클럭을 제어하기 위한 장치 및 방법 KR101622195B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020090106325A KR101622195B1 (ko) 2009-11-05 2009-11-05 동적 버스 클럭을 제어하기 위한 장치 및 방법
US12/938,561 US8972768B2 (en) 2009-11-05 2010-11-03 Apparatus and method for scaling dynamic bus clock
EP10190033.0A EP2320300A3 (en) 2009-11-05 2010-11-04 Apparatus and method for scaling dynamic bus clock
EP17194630.4A EP3316073A3 (en) 2009-11-05 2010-11-04 Apparatus and method for scaling dynamic bus clock
CN2010105327628A CN102053649A (zh) 2009-11-05 2010-11-05 用于增减动态总线时钟的装置和方法
JP2010248817A JP5652942B2 (ja) 2009-11-05 2010-11-05 動的バスクロックを制御するための装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090106325A KR101622195B1 (ko) 2009-11-05 2009-11-05 동적 버스 클럭을 제어하기 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20110049345A KR20110049345A (ko) 2011-05-12
KR101622195B1 true KR101622195B1 (ko) 2016-05-18

Family

ID=43356661

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090106325A KR101622195B1 (ko) 2009-11-05 2009-11-05 동적 버스 클럭을 제어하기 위한 장치 및 방법

Country Status (5)

Country Link
US (1) US8972768B2 (ko)
EP (2) EP2320300A3 (ko)
JP (1) JP5652942B2 (ko)
KR (1) KR101622195B1 (ko)
CN (1) CN102053649A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101740338B1 (ko) * 2010-10-20 2017-05-26 삼성전자주식회사 디지털 시스템에서 동적 클럭 제어 장치 및 방법
CN102301357B (zh) * 2011-07-08 2015-03-11 华为技术有限公司 一种工作时钟切换方法、智能门控电路及系统
US9559529B1 (en) * 2011-07-28 2017-01-31 The United States Of America As Represented By The Administrator Of National Aeronautics And Space Administration Modular battery controller
JP2014021786A (ja) * 2012-07-19 2014-02-03 International Business Maschines Corporation コンピュータ・システム
CN104919763A (zh) 2012-11-29 2015-09-16 松下知识产权经营株式会社 通信装置、具有通信装置的路由器、总线系统以及具有总线系统的半导体电路的电路基板
US9547331B2 (en) 2014-04-03 2017-01-17 Qualcomm Incorporated Apparatus and method to set the speed of a clock
KR20190032985A (ko) * 2017-09-20 2019-03-28 가부시끼가이샤 도시바 클럭 생성 회로 및 클럭 생성 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004258695A (ja) * 2003-02-24 2004-09-16 Canon Inc データ転送システム
JP2006072597A (ja) * 2004-09-01 2006-03-16 Seiko Epson Corp データ処理装置及びデータ処理方法
US20080162967A1 (en) 2007-01-03 2008-07-03 Apple Computer, Inc. Gated power management over a system bus

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3466793B2 (ja) 1995-09-28 2003-11-17 株式会社東芝 マルチプロセッサシステム
US5758133A (en) 1995-12-28 1998-05-26 Vlsi Technology, Inc. System and method for altering bus speed based on bus utilization
US6079022A (en) * 1996-10-11 2000-06-20 Intel Corporation Method and apparatus for dynamically adjusting the clock speed of a bus depending on bus activity
JPH10268963A (ja) 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
US6115823A (en) * 1997-06-17 2000-09-05 Amphus, Inc. System and method for task performance based dynamic distributed power management in a computer system and design method therefor
JP3524337B2 (ja) * 1997-07-25 2004-05-10 キヤノン株式会社 バス管理装置及びそれを有する複合機器の制御装置
AU9798798A (en) * 1997-10-10 1999-05-03 Rambus Incorporated Power control system for synchronous memory device
US6021506A (en) * 1998-07-31 2000-02-01 Intel Corporation Method and apparatus for stopping a bus clock while there are no activities on a bus
US6298448B1 (en) 1998-12-21 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for automatic CPU speed control based on application-specific criteria
JP2000215149A (ja) * 1999-01-25 2000-08-04 Canon Inc 複合機器の制御装置
US6850995B1 (en) * 1999-01-25 2005-02-01 Canon Kabushiki Kaisha Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process
JP2000276436A (ja) 1999-03-29 2000-10-06 Minolta Co Ltd Dma制御装置
US6564329B1 (en) 1999-03-16 2003-05-13 Linkup Systems Corporation System and method for dynamic clock generation
US6460107B1 (en) * 1999-04-29 2002-10-01 Intel Corporation Integrated real-time performance monitoring facility
JP2002082904A (ja) 2000-09-08 2002-03-22 Hitachi Ltd 半導体集積回路装置
SE516758C2 (sv) * 2000-12-22 2002-02-26 Ericsson Telefon Ab L M Digitalt bussystem
US7093153B1 (en) * 2002-10-30 2006-08-15 Advanced Micro Devices, Inc. Method and apparatus for lowering bus clock frequency in a complex integrated data processing system
US7392411B2 (en) 2003-04-25 2008-06-24 Ati Technologies, Inc. Systems and methods for dynamic voltage scaling of communication bus to provide bandwidth based on whether an application is active
US7770034B2 (en) 2003-12-16 2010-08-03 Intel Corporation Performance monitoring based dynamic voltage and frequency scaling
US7725759B2 (en) * 2005-06-29 2010-05-25 Sigmatel, Inc. System and method of managing clock speed in an electronic device
JP2007058279A (ja) * 2005-08-22 2007-03-08 Oki Electric Ind Co Ltd パワーダウン移行システム
JP2007257363A (ja) 2006-03-23 2007-10-04 Matsushita Electric Ind Co Ltd 情報処理装置
US20080263254A1 (en) * 2007-04-20 2008-10-23 Via Technologies, Inc. Method and System For Adjusting Bus Frequency And Link Width On A Bus
US8032678B2 (en) * 2008-11-05 2011-10-04 Mediatek Inc. Shared resource arbitration
CN101477398A (zh) 2008-12-25 2009-07-08 深圳华为通信技术有限公司 一种终端功耗控制方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004258695A (ja) * 2003-02-24 2004-09-16 Canon Inc データ転送システム
JP2006072597A (ja) * 2004-09-01 2006-03-16 Seiko Epson Corp データ処理装置及びデータ処理方法
US20080162967A1 (en) 2007-01-03 2008-07-03 Apple Computer, Inc. Gated power management over a system bus

Also Published As

Publication number Publication date
KR20110049345A (ko) 2011-05-12
US8972768B2 (en) 2015-03-03
EP3316073A3 (en) 2018-07-18
JP2011101372A (ja) 2011-05-19
EP2320300A3 (en) 2014-07-23
JP5652942B2 (ja) 2015-01-14
EP3316073A2 (en) 2018-05-02
CN102053649A (zh) 2011-05-11
US20110106992A1 (en) 2011-05-05
EP2320300A2 (en) 2011-05-11

Similar Documents

Publication Publication Date Title
KR101622195B1 (ko) 동적 버스 클럭을 제어하기 위한 장치 및 방법
CN101673137B (zh) 校准方法和校准电路
JP5296764B2 (ja) PoE給電装置および給電方法
US9229512B2 (en) Host device and terminal device, and communication system
CN101027854B (zh) 自主且动态地优化无线网络中的传输功率的系统和方法
CN103493323B (zh) 中间总线架构电力系统中的动态总线电压控制
CN113497647B (zh) 由通信网络中的电子装置执行的方法和电子装置
US20220136909A1 (en) Method and device for temperature detection and thermal management based on power measurement
WO2015025124A1 (en) Power signal interface
US8850234B2 (en) Power management apparatus and method
US20090265572A1 (en) Fast adaptive voltage scaling
US9176777B2 (en) System for determining operating time of a computer to execute assigned tasks based on an amount of change per unit time of a stored electric power
US9529406B2 (en) System interconnect dynamic scaling by lane width and operating frequency balancing
US10104571B1 (en) System for distributing data using a designated device
US9547354B2 (en) System and method for increasing current monitor power telemetry accuracy
CN102221875B (zh) 微处理器、操作微处理器的方法
CN103368720B (zh) 时钟采样自适应调整的方法和系统
WO2023124801A1 (zh) 应用的冻结管理方法、装置、电子设备及存储介质
US10539419B2 (en) Method and apparatus for reducing sensor power dissipation
US8948330B1 (en) Systems and methods for performing variable structure timing recovery
CN118626129A (zh) 一种微服务架构版本发布的控制方法
US20090245231A1 (en) Communication device and method of correcting 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
GRNT Written decision to grant