KR102099301B1 - 반도체 장치의 제어 - Google Patents

반도체 장치의 제어 Download PDF

Info

Publication number
KR102099301B1
KR102099301B1 KR1020157001977A KR20157001977A KR102099301B1 KR 102099301 B1 KR102099301 B1 KR 102099301B1 KR 1020157001977 A KR1020157001977 A KR 1020157001977A KR 20157001977 A KR20157001977 A KR 20157001977A KR 102099301 B1 KR102099301 B1 KR 102099301B1
Authority
KR
South Korea
Prior art keywords
module
master
clock
power
request
Prior art date
Application number
KR1020157001977A
Other languages
English (en)
Other versions
KR20150037891A (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 노르딕 세미컨덕터 에이에스에이
Publication of KR20150037891A publication Critical patent/KR20150037891A/ko
Application granted granted Critical
Publication of KR102099301B1 publication Critical patent/KR102099301B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • 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/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
    • Y02D50/20

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

마이크로컨트롤러 장치는 적어도 하나의 프로세서(8), 하나 이상의 주변 장치 시스템(6) 및 리소스 공급 모듈(2)을 포함한다. 프로세서(8) 및 주변 장치 시스템(들)(6)은 그들이 전력 및/또는 클록 신호를 요구할 때 신호를 생성하도록 각각 구성된다. 이들 신호는 요구된 리소스를 공급하도록 리소스 공급 모듈(2)을 자극한다.

Description

반도체 장치의 제어{CONTROL OF SEMICONDUCTOR DEVICES}
본 발명은 반도체 장치에 관한 것이고, 특히 장치에 걸쳐서 총 전력을 효율적으로 사용하도록 서브시스템에 의한 시스템 리소스의 사용을 제어하는 것에 관한 것이다.
마이크로컨트롤러와 같은 반도체 장치가 보다 많은 주변 장치 시스템으로 보다 복잡하게 됨에 따라(여기서 "주변"이라고 하는 용어는 메인 프로세서에 대하여 주변이지만 전형적으로 여전히 실리콘의 동일한 조각의 일부를 의미하도록 의도된다), 모바일 장치의 배터리 수명을 연장하기 위해 전력 소비의 효과적인 제어를 유지하는 것의 중요성도 증가한다. 하지만 복잡도가 그러한 제어를 보다 어렵게 한다.
기존의 장치에서는 전력 및 클록 신호와 같은, 주변 장치에 공급되는 리소스에 대한 제어는 '하향식(top-down)' 방식을 사용하여 중앙 집중적으로 제어된다. 하지만 본 출원인은 중앙 리소스 제어기가 주변 장치의 요건을 고려할 수 있도록 할 필요가 있기 때문에 이러한 제어가 최대 효율을 제공하지 않는 것을 이해하였다. 특정한 주변 장치에 대한 전력 및/또는 적절한 클록 신호를 거부하여 오동작을 발생시키는 것을 회피하기 위해, 리소스는 이론적으로 필요한 이상으로 공급되는 경향이 있다. 본 출원인은 이 구성에서 주변 장치가 추가/활성화 또는 제거/비활성화될 때마다 리소스를 제어하는 코드를 리라이트할 필요가 있는 것도 이해하였다.
제 1 측면으로부터 보면 본 발명은 적어도 하나의 프로세서, 하나 이상의 주변 장치 시스템, 및 리소스 공급 모듈을 포함하는 마이크로컨트롤러 장치를 제공하고, 프로세서 및 주변 장치 시스템(들)은 그들이 전력 및/또는 클록 신호를 필요로 할 때에 신호를 생성하도록 각각 구성되고, 상기 신호는 요구된 리소스를 공급하도록 리소스 공급 모듈을 자극한다.
따라서 본 발명에 따르면, 리소스가 '하향식' 방식에 의해 관리되는 대신에, 리소스가 요구에 따라 주변 장치에 할당되는 것이 당업자에게 이해될 것이다. 따라서 리소스 할당에 대한 제어는 완전히 중앙 집중적으로 관리되는 대신에 주변 장치에 대하여 하향으로 분산된다. 이러한 방식의 변경은 주변 장치 자신만이 언제 상이한 리소스가 필요하게 되는지 또한 전력 소비를 최소화하고자 하는 방법으로 어떻게 이들에 대한 요구가 관리될 수 있는지를 상세히 알고 있음을 인식한다. 또한 리소스 할당에 대한 제어를 주변 장치에 대해 하향으로 분산하는 것에 의해, 적어도 본 발명의 바람직한 실시 형태에서는, 주변 장치가 추가 또는 제거되는 경우에 전력 관리를 위한 코드를 리라이트할 필요가 없다.
주변 장치는 리소스 공급 모듈에 리소스 요구 신호를 직접 송신하도록 구성될 수 있지만, 실시 형태의 세트에 있어서 주변 장치는 상기 요구 신호를 수신하고 리소스 공급 모듈에 적절한 요구를 송신하는 중간 마스터 모듈과 통신하도록 구성된다. 그러한 구성에서 주변 장치는 리소스 요구를 처리하기 위한 슬레이브 모듈과 연관될 것이다. 예컨대 주변 장치의 상이한 부분이 상이한 전력 및/또는 클록 요건을 갖는 경우, 주변 장치마다 하나의 슬레이브 모듈이 있을 수 있거나 주변 장치가 복수의 슬레이브 모듈을 가질 수 있다. 일반적으로 이것은 본 발명의 몇몇의 실시 형태에서 달성될 수 있는 최적화된 전력 절약을 완전히 이용할 수 있게 하는 것은 아니지만, 복수의 주변 장치는 공통의 전력/클록 요건을 갖는 경우 하나의 슬레이브 모듈을 공유할 수 있는 것도 예상된다.
실시 형태의 세트에 있어서 각각의 마스터 모듈은 복수의 슬레이브 모듈에 접속된다. 이것은 마스터 모듈이 연관된 슬레이브로부터의 요구를 조정하는 것을 가능하게 한다. 예컨대 하나 이상의 슬레이브가 특정한 클록 신호를 요구하는 경우, 마스터 모듈은 클록 신호를 공급하도록 리소스 공급 모듈에 적절한 요구를 발행할 수 있다. 전력 측면에서, 각각의 모듈로부터의 요구가 고전력 레귤레이터가 인에이블되는 임계치를 각각 하회할 수 있지만, 특정한 마스터 모듈에 접속된 모든 슬레이브의 누적적인 요건은 그러한 임계치보다 클 수 있고, 이것은 마스터가 고전력 모듈을 인에이블하도록 리소스 공급 모듈에 요구를 발행할 수 있는 것을 의미한다. 이것은 어떠한 개개의 주변 장치도 (그러한 피쳐가 제공된) 고전력 레귤레이터를 요구하지 않았더라도 그러할 것이다. 리소스 공급 모듈('상부 마스터')에 직접 접속된 하나의 마스터 모듈이 존재하는 실시 형태의 세트에 있어서, 상기 마스터 모듈은 복수의 전력 레귤레이터 중 어느 것이 사용될 것인지 자동적으로 결정하도록 구성된다. 이것은 '상부 마스터'가 모든 모듈(필요에 따라 리소스 공급 모듈 자체를 포함한다)로부터의 전력 요구를 집약하고 이를 사용하여 요구되는 전력의 전체적인 레벨을 결정할 수 있게 한다. 상부 마스터는 그것으로부터의 전력 요구에 포함되는 데이터로부터 각각의 모듈에 의해 요구되는 전력의 양을 결정할 수 있고/있거나, (예컨대 룩업테이블에) 미리 기억된 정보를 사용할 수 있다.
실시 형태의 세트에 있어서 마스터 모듈은 각각의 슬레이브 모듈로의 클록 신호의 선택적인 통과를 허용하도록 접속된 각각의 슬레이브 모듈의 게이트(이하, "클록 게이트")를 포함한다. 그러한 실시 형태의 서브세트에 있어서 마스터 모듈은, 클록 신호에 대한 요구를 수신하면, 요구를 행한 슬레이브 모듈로의 클록 게이트를 열기 전에 적절한 클록 소스가 안정적이고 또한 가동 중인 것을 보증하도록 구성된다. 이것은 클록 신호가 불필요한 아티팩트 없이 제어된 방법으로 공급되는 것을 보증하는 것에 도움이 된다. 요구된 클록, 또는 다른 보다 정확한 클록(그렇지 않으면 일반적으로 제공하는 전력의 면에서 보다 고가가 된다)이 이미 다른 슬레이브 모듈에 제공된 경우, 마스터 모듈은 기다릴 필요는 없지만 즉시 적절한 클록 게이트를 열 수 있다. 이 상황에서 마스터 모듈은, 실시 형태의 세트에 있어서, 요구된 클록 신호가 (제 2 슬레이브가 그것을 요구했을 때 해당 클록이 가동되도록 한) 원래의 슬레이브로부터의 요구가 종료된 뒤에 제 2 슬레이브에 의해 요구되는 경우에 리소스 공급 모듈로 요구를 발행하도록 여전히 구성된다.
하나의 마스터 모듈이 모든 슬레이브를 서비스하기 위해 제공될 수 있다. 하지만 이것은 필수는 아니고 실시 형태의 세트에 있어서 적어도 2개의 마스터 모듈이 제공된다. 복수의 마스터 모듈이 제공되는 경우, 바람직하게는 하나의 마스터 모듈만이, 그것에 접속된 하나 이상의 다른 마스터 모듈을 갖는 리소스 공급 모듈에 접속된다. 일반적으로 마스터 모듈은 다른 마스터 모듈에 접속될 수 있고, 따라서 유연한 시스템 토포그래피를 제공한다. 마스터 모듈이 다른 마스터 모듈에 접속되는 경우 마스터의 업스트림 출력으로의 직통 접속을 갖는 것이 바람직하다. 즉 접속은 클록 게이트를 통과하지 않는다. 이것은 주변 장치와 리소스 공급 모듈의 사이의 어떠한 접속도 하나의 클록 게이트만을 통과하여, 추가적인 지연을 회피한다는 유리한 상황을 가능하게 한다.
리소스 요구 신호는 전력에 대한 요구만 또는 특정한 클록 신호에 대한 요구만을 포함할 수 있지만, 실시 형태의 세트에 있어서 그들은 양쪽을 포함한다. 실시 형태의 세트에 있어서 전력에 대한 요구는 요구되는 전력의 레벨을 포함한다. 이것은 그 특정한 주변 장치의 요구를 만족시키기 위해 고전력 레귤레이터가 요구되는지 여부를 나타낼 수 있다.
실시 형태의 세트에 있어서 클록 신호에 대한 요구는 요구되는 클록의 품질, 또는 최저 품질을 나타낸다. 클록의 품질은 그 정확도, 기동(start-up) 시간 또는 전력 소비의 하나 또는 그 이상의 함수일 수 있다. 클록 신호를 요구할 수 있는 것에 더하여, 주변 장치는 클록 리소스에 관한 보다 복잡한 요구를 행하는 것이 가능할 수 있다. 예컨대 실시 형태의 세트에 있어서 주변 장치는 특정한 클록 소스가 턴온되도록 요구할 수 있다. 이것은 실제로 관련되는 기동 지연(클록 소스의 타입에 의존하는 길이)을 갖는 경향이 있는 각각의 발진자에 전력을 넣는다. 주변 장치가 클록 코어가 턴온되도록 요구할 수 있게 하는 것에 의해, 주변 장치는, 몇몇의 상황에 있어서 클록 신호가 필요하게 되기 약간 전에 요구를 행할 수 있고, 또는 클록 신호가 다시 필요하게 될 때를 예측하여 기동 지연을 보상할 수 있다.
추가적으로 또는 대안적으로 주변 장치는 클록 버퍼가 턴온되도록 요구할 수 있다. 이것은 클록 신호가 실제로 몇몇의 타입의 클록 소스에 의해 제공될 수 있게 하는 것에 필요한 단계이다. 버퍼는 전형적으로 가동 중에 가장 많은 전력을 소비할 것이지만 코어는 전형적으로 전력을 넣어 작동하는 데에 시간이 더 걸리기 때문에, 주변 장치가 클록 코어와 별개로 클록 버퍼를 온 또는 오프로 할 수 있게 하는 것에 있어서의 유연성은 기동 지연을 최소화하면서 전력 저감의 가능성을 제공하기 때문에 유리하다. 따라서 상기에 나타낸 실시 형태에 따라 주어진 유연성은, 상당히 단시간 내에 클록 신호를 다시 필요로 하는 경우에 주변 장치가 버퍼를 스위치 오프시키지만 코어를 가동 중인 채로 두는 것을 가능하게 한다.
실시 형태의 세트에 있어서 장치는 슬레이브 모듈이 어느 정도의 리소스를 슬레이브 모듈이 이용할 수 있게 할지 결정하기 위해 선택할 수 있는 복수의 미리 결정된 옵션을 포함한다. 출원인은, 특정한 수의 사전 정의된 옵션(이하 '페널티 레벨'이라고 칭한다)을 지연과 전력 소비의 사이의 상이한 트레이드오프를 제공하는 주변 장치에 제시하는 것에 의해, 주변 장치가 그의 특정한 요건에 그의 전력 소비를 훨씬 더 근접하게 맞출 수 있음을 이해하였는데, 이는 예컨대 지연 요건을 만족시키기 위해, 엄격히 필요한 것보다 많은 전력의 사용을 필연적으로 수반하는 세계적으로 도입된 체제보다 더 효율적인 전력 사용을 가능하게 한다. 그러한 실시 형태의 서브세트에 있어서 미리 결정된 옵션은 상이한 지연 및 상이한 전력 소비를 포함한다.
따라서 주변 장치는 전력 소비와 지연의 사이의 상이한 트레이드오프를 제공하는 다양한 상태를 가질 수 있는 것이 이해될 수 있다. 이는 주변 장치가 (물론 그 동작 사양을 계속 만족시키면서) 전력 저감을 도모하기 위해 받아들일 준비가 된 지연의 관점에서 불이익을 나타내기 때문에 "페널티 레벨"이라고 불린다. 클록 소스 및 클록 버퍼에 관한 상술한 옵션에 근거한 예를 제공하기 위해, 최고 페널티 레벨은 주변 장치가 전력 또는 클록의 어느 쪽에 대해 어떠한 요구도 하지 않는 경우이다. 이것은 일반적으로 주변 장치가 완전히 동작 가능하게 되기 전에 가장 긴 지연을 발생시킬 것이지만 물론 상당한 어떠한 전력 소비와도 관련되지 않는다.
다음 페널티 레벨은 주변 장치가 전력을 요구하지만 클록은 요구하지 않는 상태에 의해 표현된다. 이것은 그것이 완전하게 동작 가능하게 되기 전에 보다 짧은 지연을 제공할 것이지만 명백하게 전력 소비의 약간의 증가라는 대가가 수반된다.
제 3 페널티 레벨은 전력 및 클록 소스가 가동될 것을 주변 장치가 요구하는 것에 대응한다. 전술한 바와 같이 클록 소스 코어를 시동하는 것은 시동에 비교적 긴 시간이 걸리는 경향이 있기 때문에 이것은 지연의 현저한 감소를 제공한다. 하지만 클록 소스를 가동하는 것은 총 전력 소비에 영향을 준다.
제 4 페널티 레벨은 전력, 클록 소스 및 클록 버퍼가 가동될 것을 주변 장치가 요구하는 '제로' 페널티 레벨이다. 이것은 대응하는 클록 게이트가 닫히면 바로(즉 어떠한 지연 없이) 클록 신호를 수신할 수 있게 한다.
따라서 상기에 나타낸 페널티 레벨은 클록 신호가 요구되지 않지만 전력 소비와 지연의 사이의 트레이드오프를 보다 개선하는 상이한 대기 상태로서 이해될 수 있다.
이것은, 본 발명에 의해 실현되는, 주변 장치로 리소스 제어를 양도하는 원리의 추가적인 예시인데, 이 경우, 주변 장치가 그의 요건에 관한 보다 정확한 결정을 할 수 있고 허용할 수 없을 정도로 동작 또는 지연을 포함하는 일 없이 총 전력 소비를 삭감할 수 있다. 종래 기술의 중앙 집중식 제어 구성에서는, 이것은 제어기 기능에 하드 코딩(hard-coded)되어 주변 장치가 추가되거나 또는 그들의 동작이 변경되는 때에 스케일링이 가능하지 않을 것이기 때문에, 각각의 주변 장치의 페널티 레벨을 관리하는 것은 매우 어려울 것이다.
특정한 시점에 있어서의 특정한 주변 장치에 대한 페널티 레벨은 그 시간에 허용할 수 있는 최대 지연에 의해 결정될 것이다. 물론 클록 소스 또는 버퍼가 다른 주변 장치를 위해 이미 가동 중인 경우 실제로 경험되는 지연은 이 최대값보다 짧아질 것이다.
상기에 나타낸 페널티 레벨은 단지 기재된 클록 상태로부터 도출된 예시적인 예인 것이 이해될 것이다. 보다 많은 또는 상이한 클록 및/또는 전력 상태가 사용 가능하면 보다 많은 또는 상이한 페널티 레벨이 사용 가능할 수 있다. 하지만 모든 가능한 상태의 조합에 대응하는 페널티 레벨이 주변 장치에 이용 가능하게 되는 것이 필수는 아니다. 예컨대 타당하지 않은 일부가 있을 수 있다(예컨대 지연을 감소시키는 일 없이 전력 소비를 증가시키는 것 또는 그 반대).
상술한 바와 같이 본 발명은 어떠한 리소스를 요구하는지를 주변 장치가 가장 잘 정확하게 안다는 원리 하에서 주변 장치가 필요한 때에 리소스를 요구할 수 있게 하고, 그래서 리소스가 가능한 한 효율적으로 요구되는 것을 가능하게 할 수 있다. 하지만 본 출원인은 또한 제 1 주변 장치로부터의 요구에 따라 동작을 행하기 위해 제 2 주변 장치에 의해 리소스가 요구될 것을 제 1 주변 장치가 알고 있는 몇몇의 상황이 있는 것을 이해하였다. 따라서 본 발명의 실시 형태의 세트에 있어서 적어도 하나의 제 1 주변 장치는 리소스 요구를 발행하도록 제 2 주변 장치를 자극하기 위해 구성된다. 그러한 실시 형태에 있어서 지연은 제 2 주변 장치가 동작을 행하도록 하는 요구를 제 1 주변 장치로부터 수신하지만 해당 동작을 행하기 전에 제 2 주변 장치가 필요한 리소스를 요구하여야 하는 상황과 비교하여 저감될 수 있다.
그러한 구성은 그 자체로 새롭고 또한 독창적이라고 생각되고 따라서 다른 측면으로부터 보았을 때에 본 발명은 복수의 주변 장치 모듈 및 리소스 공급 모듈을 포함하는 마이크로컨트롤러 장치를 제공하고 복수의 주변 장치 모듈 중 적어도 제 1 주변 장치 모듈이 상기 복수의 주변 장치 모듈 중 제 2 주변 장치 모듈을 수반하는 태스크를 행하도록 프로그래밍되고, 상기 제 1 주변 장치 모듈은 리소스 공급 모듈로부터 전력 및/또는 클록 신호를 요구하는 신호를 생성하도록 상기 제 2 모듈을 자극하기 위한 신호를 생성하도록 구성된다.
주변 장치 모듈은 프로세서를 포함할 수 있다. 제 1 주변 장치 모듈은 제 2 주변 장치 모듈 대신에 요구 신호를 리소스 공급 모듈에 직접 송신할 수 있다. 하지만 실시 형태의 다른 세트에 있어서 제 1 주변 장치 모듈은 제 2 주변 장치 모듈이 리소스 공급 모듈로부터 전력 및/또는 클록 신호를 요구할 수 있도록 요구 신호를 제 2 주변 장치 모듈에 송신한다.
본 발명의 제 1 측면의 실시 형태의 세트에 있어서 리소스 제어 시스템의 요소는 전력을 절약하기 위해 자신을 셧다운(shut down)할 수 있다. 예컨대 제공되는 경우 마스터 모듈(들) 및/또는 리소스 공급 모듈은 몇몇의 상황에서 전력이 끊길 수 있다. 실시 형태의 세트에 있어서 적어도 하나의 마스터 모듈은 마스터 모듈이 저전력 상태에 있을 때 주변 장치에 리소스, 예컨대 전력을 제공하도록 구성된다. 이것은, 예컨대, 전체 장치가 슬립(sleep) 상태에 들어가지만 미리 결정된 시간에 장치를 기동하기 위해 타이머로의 전력 공급을 유지하는 것을 가능하게 한다. 하지만 마스터 모듈은 저전력 상태에 있기 때문에 리소스 요구 신호에 대응할 수 없으므로 공급되고 있는 리소스의 상태를 변경할 수 없다.
그러한 구성은 그 자체로 새롭고 또한 독창적이라고 생각되고 따라서 다른 측면으로부터 보았을 때에 본 발명은 하나 이상의 주변 장치 시스템과 리소스 요구 신호에 응답하여 상기 주변 장치로의 리소스의 공급을 제어하는 하나 이상의 리소스 제어 모듈을 구비하는 마이크로컨트롤러 장치를 제공하고, 리소스 제어 모듈 중 전부 또는 적어도 하나는 리소스 요구 신호에 응답하지 않지만 적어도 하나의 주변 장치에 리소스를 공급하는 저전력 상태를 갖는다. 바람직하게 리소스는 전력 및/또는 클록 신호이다.
본 발명의 모든 측면에 따르면 마이크로컨트롤러 장치는 단일 집적 회로에 의해 제공될 수 있다.
본 발명의 모든 측면에 따르면 마이크로컨트롤러 장치는 무선 송신기 및/또는 무선 수신기를 포함하거나 또는 제어하도록 구성될 수 있다.
본 발명의 특정한 실시 형태가 첨부 도면을 참조하여 단지 예로서 설명될 것이다.
도 1은 본 발명에 따른 시스템의 아키텍처의 개략도이다.
도 2는 도 1의 시스템에서 사용하는 마스터 모듈의 개략도이다.
도 3은 제어될 수 있는 전력 리소스를 보다 상세하게 나타내는 도면이다.
도 4는 제어될 수 있는 클록 리소스를 보다 상세하게 나타내는 도면이다.
도 5는 도 1의 시스템에서 사용하는 슬레이브 모듈의 개략도이다.
도 6 및 도 7은 마스터 모듈과 슬레이브 모듈의 사이의 제어의 가능한 다른 구성을 나타낸다.
도 8은 모듈 사이의 메인 인터페이스의 예시적 구성을 제공한다.
도 1은 본 발명에 따른 마이크로컨트롤러를 위한 리소스 제어 시스템의 전체적인 아키텍처를 나타낸다. 아키텍처의 상부에는 상부 지원 모듈(2)이 있다. 이것은 이후에 보다 상세히 설명되는 바와 같이 시스템이 제어하는 전력 및 클록 리소스를 포함한다.
상부 지원 모듈(2)의 아래는 마스터 모듈(4a)이다. 이것도 이후에 보다 상세히 설명될 것이다. 최상위 마스터 모듈(4a)의 아래는 추가적인 마스터 모듈(4b) 및 3개의 슬레이브 모듈(6)이다. 슬레이브 모듈(6)은 다양한 주변 장치 모듈과 관련되고, 그 정확한 성질은 필수가 아니다. 중간 레벨 마스터 모듈(4b)은 차례로 5개의 추가적인 슬레이브 모듈(6, 8)(그 중 하나는 메인 프로세서 모듈(8)이다) 및 또 다른 추가적인 마스터 모듈(4c)에 접속된다. 가장 낮은 레벨의 마스터 모듈(4c)은 그것과 관련된 2개 이상의 슬레이브 모듈(6)을 갖는다.
이러한 하이 레벨의 도면은 특정한 응용에 적합하도록 구현될 수 있는 가능한 계층에 있어서 상당한 정도의 유연성이 있는 것을 나타낸다. 슬레이브 모듈(6)과 마스터 모듈(4)의 사이의 클록 라인 접속은 클록 게이트 제어(10)를 거쳐서 행해지는 것에 비하여 하나의 마스터 모듈(4)과 다른 마스터 모듈의 사이의 접속은 직접 이루어진다(즉 클록 게이트 제어(10)를 포함하지 않는다). 따라서 계층과 상관없이, 어떠한 슬레이브 모듈(6)에 대해서도 그것과 상부 지원 모듈(2)의 사이의 클록 라인에 있어서 오직 하나의 클록 게이트 제어(10)만이 있다.
도 2는 마스터 모듈(4)의 개략도를 나타낸다. 마스터 모듈(4)은 상이한 클록, 메인 리셋 및 상태 정보를 슬레이브 모듈 또는 그것에 접속된 임의의 다른 마스터 모듈에 배포하기 위해 사용된다. 상술한 바와 같이 슬레이브 모듈은 각각과 관련되는 개개의 상태 머신(12)에 의해 마스터 모듈의 제어하에 있는 개개의 클록 게이트 제어(10)를 거쳐서 접속된다. 그것은 또한 파워 게이팅에 필요한 신호를 제어하고, 리셋, 아이솔레이션 및 보존(save)/복원(restore) 신호를 생성하고, 슬레이브 모듈로부터의 상이한 요구 신호를 처리한다. 이들 요구 신호의 일부는 마스터 모듈(4)에서 내부적으로 처리될 수 있고, 도 3 및 도 4를 참조하여 이하에 보다 상세히 설명되는 바와 같이, 일부는 상이한 발진자, 전력 레귤레이터 및 버퍼가 턴온 및 턴오프되도록 보다 상위의 마스터 모듈을 거쳐 최종적으로 상부 지원 모듈(2)까지 보내질 수 있다.
마스터 모듈(4)은 복수의 입력 및 출력을 갖는다. 상위 인터페이스(14)는 마스터 모듈(4)을 보다 상위 레벨에 있는 다른 마스터 모듈에 접속하기 위해, 또는 상부 지원 모듈(2)에 직접 접속하기 위해 사용된다(도 1 참조). 마스터 모듈(4)은 상이한 전력 레귤레이터 및 클록 소스 및 상이한 전력/클록 버퍼를 위한 이러한 인터페이스 상에서 요구를 송신하고, 리턴되는 데이터는 대응하는 상이한 시스템 클록, 상이한 시스템 리셋 신호 및 전력 및 클록에 대한 상태 신호이다.
하위 인터페이스(16)(그 하나만 도시된다)는 복수의 인터페이스로 이루어진 버스를 포함하는데, 마스터(4)에 접속되는 각각의 슬레이브(6)에 대해 하나의 인터페이스가 있다. 다른 마스터가 이 마스터에 대한 슬레이브로서 접속되는 경우, 그 마스터로부터의 요구는 다른 슬레이브로부터의 요구와 병합되어 상위 인터페이스(14)에 직접 보내지고, 상위 인터페이스(14)로부터의 대응하는 클록 및 리셋 신호는 클록 게이트 제어(10) 또는 어떤 다른 로직을 경유하지 않고 하위 레벨 마스터를 위한 하위 인터페이스에 직접 보내진다.
인터페이스(22)는 마스터의 구성 및 상태 정보 판독을 위한 프로세서 통신 인터페이스이다.
마스터 모듈은, 마스터와 슬레이브간의 메인 인터페이스(16, 64)와 마스터 쌍간의 메인 인터페이스(14, 16)에 통합된, '버디(buddy)' 접속으로서 알려진 입력과 출력의 쌍을 또한 포함한다. 이것은 하나의 주변 장치가 다른 주변 장치를 리소스를 요구하도록 자극할 수 있게 하기 위해 2개의 주변 장치의 사이의 접속을 허용하는 통신 라인을 포함한다. 요구는 요구하는 주변 장치를 위한 슬레이브 모듈이 접속된 마스터 모듈의 버디 요구 출력을 통해 이루어지고, 리소스가 요구된 주변 장치를 위한 슬레이브 모듈에 접속된 마스터 모듈의 버디 요구 입력으로 전달된다. 그 다음에, 버디 요구 신호는 적절한 요구를 행하도록 프롬프트되는 제 2 주변 장치로 그 슬레이브 모듈(6)을 거쳐서 보내진다. 이 구성은 클록 및/또는 전력 리소스를 요구하는 동작을 다른 주변 장치가 실행하는 것이 필요하다는 것을 주변 장치가 알고 있는 작업을 개시할 때에 지연을 저감할 수 있게 한다.
도 3은 상부 지원 모듈(2)이 슬레이브 대신에 마스터 모듈로부터의 전력 요구를 처리하는 방법을 개략적으로 나타낸다. 전원 장치는 초저전력(ULP) 레귤레이터(28) 및 메인 전압 레귤레이터(30)를 포함한다. 특정한 주변 장치로의 전력을 연결하거나 절단하기 위해 사용되는 스위치(32)도 있다.
본 실시 형태에 있어서의 전력 요구는 코어 및 스위치라는 2개의 신호를 포함한다. 코어 신호는 메인 전압 레귤레이터(30)가 턴온되는 것을 요구하기 위해 사용된다. 예컨대 마스터 모듈이 슬레이브 모듈로부터의 요구 또는 메인 레귤레이터가 턴온되는 것을 필요로 하는 2개 이상의 슬레이브 모듈로부터의 집약(aggregate) 요구를 수신하면, 코어 신호를 발행할 것이다. 메인 레귤레이터(30)가 온으로 되어 있지 않은 경우, 전력은 ULP(28)에 의해서만 공급될 것이다. 이것은 일반적으로 장치의 저전력 슬립 모드 동안 장치를 가동하기에 충분할 것이다. 최상위 또는 '상부' 마스터 모듈(4a)은 예컨대 주변 장치(6), 마이크로프로세서(8), 및 상부 지원 모듈(2) 등의 모든 모듈로부터의 요구를 집약하고 이를 사용하여 특정한 레귤레이터로 스위칭할지를 자동적으로 결정할 수 있다.
스위치 신호는 실제로 그것과 관련된 전력 스위치(32)를 열거나 닫음으로써 특정한 주변 장치에 전력을 제공하기 위해 사용된다.
도 4는 상부 지원 모듈(2)이 슬레이브 대신에 마스터 모듈로부터의 클록 요구를 처리하는 방법을 개략적으로 나타낸다. 본 예에 있어서의 클록 리소스는 높은 전력, 매우 빠른 시동의 낮은 정확도의 RC(resistor-capacitor) 발진자(34) 및 낮은 전력, 느린 시동, 높은 정확도의 수정 발진자(36)를 포함한다. RC 발진자(34)는 공통 클록 소스 부분(38)에 직접 접속되지만 수정 발진자는 그것이 생성하는 신호를 증폭하기 위한 버퍼(40)를 갖는다. 도시한 스위치(10)는 마스터 모듈(4)에 마련되고 도 2를 참조하여 상술한 클록 게이트 제어이다.
클록 요구 신호는 3개의 상이한 성분 신호를 포함한다. 가장 단순한 것은 마스터 모듈(4)이 요구를 보낸 슬레이브(6)에 대응하는 클록 게이트(10)를 닫기 위해 사용하는 스위치 신호이다. 코어 신호는 발진자(34, 36)의 한쪽 또는 양쪽이 턴온되도록 요구하기 위해 사용된다. 코어 신호는 어떤 발진자가 참조되는지 결정하는 파라미터를 포함한다. 세 번째 성분 신호는 버퍼(40)가 턴온될 수 있게 하는 버프(buff)이다.
상술한 바와 같이, RC 발진자(34)는 매우 빠른 시동(start-up) 시간을 갖는다. 이것이 주는 낮은 고유 지연은 필요하지 않을 때 보다 손쉽게 전력을 차단할 수 있는 것을 의미한다. 수정 발진자(36)는 상대적으로 긴 시동 시간을 갖지만, 버퍼(40)는 보다 짧은 시동 시간을 갖는다. 이것은 긴 지연을 도입하지 않고서 전력을 저감하기 위해서 버퍼의 전원만을 끊고 수정 발진자를 기동 중으로 유지할 수 있다는 것을 의미한다. 수정 발진자 클록이 필요할 때, 버퍼는 간단하게 다시 전력을 공급받을 수 있는데, 이것은 수정 발진자 자신이 전력을 공급받아야 하는 경우보다 훨씬 신속하게 이루어질 수 있다.
상술한 구성은 클록 리소스가 공급되는 방법에 있어서의 높은 유연성을 제공하고, 특히 한편으로는 정확도와 전력 소비의 사이의, 또한 다른 한편으로는 지연과 전력 소비의 사이의 트레이드오프를 위한 선택의 범위를 제공한다. 마찬가지로 메인 전압 레귤레이터를 온 및 오프로 할 수 있다는 것은 지연과 전력 소비의 사이의 트레이드오프에 있어서의 유연성을 제공한다.
이 특정한 예에서는 주변 장치가 그의 슬레이브 모듈을 거쳐서 주변 장치의 사양(특히 최대 허용 지연에 관한 것) 및 그 운용 상태에 따라 선택할 수 있는 4개의 상이한 페널티 레벨, 즉 4개의 상이한 대기 상태가 있다. 첫 번째, 또는 가장 높은 페널티 레벨은 메인 레귤레이터(30)가 오프이고 클록 소스(34, 36)가 오프인 경우이다. 이것은 물론 가장 낮은 전력 소비를 갖는다. 다음의 페널티 레벨에서는 메인 레귤레이터(30)는 온이지만, 클록 소스(34, 36)는 여전히 오프이다. 따라서 관련된 클록 소스(34, 36)에만 전력을 공급하고 레귤레이터(30)에는 전력을 공급할 필요가 없기 때문에 지연은 약간 낮다. 물론 레귤레이터(20)는 다른 주변 장치에 의한 요구에 응답하여 이미 전력이 공급되어 있는 것이 좋을 수 있고, 따라서 페널티 레벨은 주변 장치가 허용할 수 있는 최대 지연을 나타내지만, 실제로는 보다 짧을 수 있다.
세 번째 페널티 레벨은 레귤레이터(30) 및 클록 소스(34, 36)는 온이고 버퍼(40)는 오프가 된다. 이것은 필요하다면 수정 발진자에 의해 제공되는 클록이 비교적 신속히 제공될 수 있게 하지만 버퍼에 의해 소비되는 전력을 절약한다. 네 번째 페널티 레벨은 버퍼(40)가 스위치 온되고 클록 게이트(10)가 오픈된다. 이것은 각각의 클록 소스(34, 36)가 곧바로 제공되게 할 수 있지만 클록이 실제로 주변 장치에 제공되고 있는 상황에 있어서 매우 적은 전력 절약을 제공한다.
도 5는 슬레이브 모듈(6)의 개략도이다. 적어도 하나의 그러한 슬레이브 모듈이 모든 주변 장치에 마련된다. 도 5의 우측은 주변 장치로부터 슬레이브 모듈로의 입력의 수이다. 이들은, (요구의 파라미터로서 전달되는) 전력 및 클록 주파수의 특정한 쌍을 요구하기 위해 주변 장치에 의해 사용될 수 있는 리소스 요구 라인(50), 웨이크업 핀(wake-up pin)의 자극 등의 비동기 이벤트가 클록/전력 쌍을 요구할 수 있게 하는 비동기 리소스 요구 라인(52), 주변 장치가 리셋을 요구할 수 있게 하는 리셋 요구 라인(54), 주변 장치가 페널티 레벨 및 상술한 바와 같이 받아들일 수 있는 최대 지연을 결정할 수 있게 하는 페널티 레벨 설정(56), 슬레이브가 어느 클록 소스를 수신하고 싶은지 지정(요구된 주파수를 단지 클록/전력 쌍 요구의 일부로서 지정하는 것과는 대조적으로)할 수 있게 하는 클록 소스 입력(58)을 포함한다.
또한 도 5의 우측은 버디 요구 입력(60) 및 버디 요구 출력(62)이다. 앞서 설명한 바와 같이, 이들은 슬레이브에 연관된 주변 장치가 버디 요구 입력에 적절한 신호를 송신하는 것에 의해 리소스를 요구할 필요가 있다는 조기 경고(early warning)를 다른 주변 장치에 줄 수 있게 한다. 그것은 대상 슬레이브가 접속되는 마스터 모듈을 거쳐서, 슬레이브(6)가 접속되는 마스터 모듈을 통과하고, 대상 슬레이브 모듈 및 대상 주변 장치로의 버디 요구 출력(62)의 등가물에 전달된다. 이것은 주변 장치가 리소스 요구가 버디 요구 내에 프롬프트되게 할 수 있게 한다. 이 처리는 임의의 2개의 주변 장치의 사이에서 발생할 수 있고, 따라서 또 다른 주변 장치가 버디 요구를 할 수 있는데, 이 버디 요구는 슬레이브 모듈(6)에 의해 수신되어 버디 요구 출력(62)을 거쳐서 외부로 전달되어, 주변 장치에 적절한 리소스 요구를 하도록 프롬프트한다.
도 5의 도시의 하부는 마스터 모듈로의 인터페이스 접속(64)이다. 도 2에 나타낸 바와 같이 이것은 마스터 모듈의 접속(16)에 대응한다. 마스터 모듈과 마찬가지로, 슬레이브 모듈(6)도 좌측에 나타낸 구성 인터페이스(65)를 갖는다.
블록의 상부는, 요구된 클록을 주변 장치에 제공하는 클록 출력(66)과, 슬레이브 모듈이 리셋 신호를 클록에 연관된 주변 장치에 보낼 수 있게 하는 리셋 출력(68)과, 주변 장치에 의해 요구되는 전력 및 클록에 관한 상태 정보를 제공하는 상태 출력(69)이라는 3개의 출력이다.
도 8은 마스터 모듈(4a, 4b, 4c)과 슬레이브 모듈(6)의 사이, 2개의 마스터 모듈(4a, 4b, 4c)의 사이, 또는 상부 마스터 모듈(4a)과 상부 지원 모듈(2)의 사이의 인터페이스(16, 64)의 예시적인 구성을 나타낸다. 계층에 있어서의 상위 요소는 좌측에 있고 계층에 있어서의 하위 요소는 우측에 있다. 도 8의 가장 위에 나타낸 4개의 접속(70-76)은 전력에 관련된다. 첫 번째는 상술한 바와 같이 주변 장치(6)를 위한 전력을 요구하기 위해 사용되는 업스트림 PowerRequest(70)이다. 이것은 예컨대 코어 전력 레귤레이터 및 예컨대 주변 장치 모듈(6)의 전력 스위치에 접속될 수 있다. 다른 업스트림 접속은 주변 장치의 실제의 전력 소비를 나타내기 위해 사용되는 PowerConsumption(72)이다. PowerReady(74)는 요구된 전력이 공급될 준비가 된 것을 나타내기 위해 사용되는 다운스트림 접속이고, PowerDomainReady는 그것이 요구된 경우에 전력 도메인이 준비된 것을 나타내기 위해 사용되는 다운스트림 접속이다.
다음의 5개의 접속(78-86)은 클록에 관련된다. ClockRequest 업스트림 접속(78)은 코어 발진자, 버퍼 발진자, 클록 스위치(또는 클록 게이트) 및 주변 장치 모듈(6)의 비동기 요구 기능에 접속될 수 있다. 업스트림 ClockRequest(78) 및 ClockSource 요구(80)는 이전에 기술하였다. 다운스트림 접속(82)은 실제의 클록 신호인 반면 다른 2개의 다운스트림 접속(84, 86)은 클록 및 클록 소스가 각각 기동되고 있는 것을 나타낸다.
RequestReset 접속(88)은 상술한 바와 같이 주변 장치가 리셋 신호를 요구할 수 있게 한다. Reset 다운스트림 접속(90)은 적절한 경우에 리셋 신호가 제공될 수 있게 한다.
마지막으로, 상술한 바와 같이, BuddyRequest(92)는 하나가 다른 것에 의해 요구될 것을 예상하여 리소스를 요구할 수 있게 하는 모듈의 사이의 쌍방향 접속이다.
상술한 실시 형태의 몇몇의 예시적인 동작이 모든 도면을 참조하여 설명될 것이다.
우선 주변 장치는 슬립 모드로부터 깨기 위해 전력 및 클록 소스를 필요로 한다고 가정한다. 이것은 예컨대 중간 레벨 마스터 모듈(4b)에 접속된 슬레이브 모듈(6)애 관련되는 주변 장치일 수 있다(도 1 참조). 주변 장치는 비동기 리소스 요구 입력(52) 및 클록 소스 입력(58)을 이용하여 적절한 전력(예컨대 메인 레귤레이터(30)) 및 적절한 클록 소스(예컨대 수정 발진자(36))에 대한 요구를 주변 장치에 관련되는 슬레이브 모듈(6)에 보낸다. 슬레이브 모듈(6)은 슬레이브-마스터 인터페이스(64, 16)를 이용하여 이 요구를 마스터 모듈(4b)에 보낸다. 요구하는 슬레이브(6)에 관련된 상태 머신(12)은 리소스 요구를 처리한다. 예컨대 요구된 클록 소스가 이미 다른 주변 장치에 제공되고 있는 경우 상태 머신은 단지 슬레이브(6)에 연관된 클록 게이트(10)를 열게 할 것이고, 이에 따라 마스터-슬레이브 인터페이스(16, 64)에 의해 클록이 새로운 주변 장치에 공급된다. 전력이 이미 이용 가능한 경우, 마찬가지로 전력은 즉시 제공될 수 있다.
요구되는 클록/전력 쌍이 이미 제공되고 있는지 여부에 관계없이, 리소스 요구는 마스터-마스터 인터페이스(14, 16)에 의해 수신하는 마스터 모듈(4b)로부터 위쪽으로 다음 레벨의 마스터 모듈(4a)로 보내진다. 수신하는 마스터 모듈(4a)은, 그 출력(14)을 거쳐서, 요구를 상부 지원 모듈(2)에 직접 보낸다. 다음으로 상부 지원 모듈(2)은 메인 전압 레귤레이터(30) 및 수정 발진자(36)에 연관된 버퍼(40)에 전력을 공급한다. 이 예에서 주변 장치(클록을 요구하는 주변 장치이거나 아닐 수 있음) 중 하나는 그 슬레이브 모듈(6)로의 페널티 레벨 입력(56)에 의해 설정된 세 번째 페널티 레벨을 갖고 있었기 때문에 발진자 자체는 이미 기동 중이다. 이것은 버퍼(40)만을 정지하는 것에 의해 수정 자체에 전력을 공급하고 안정화할 필요 없이 수정 클록 소스(36)의 낮은 지연 배달을 가능하게 하는 것이었다.
수정 발진자 클록은 상부 지원 모듈(2)과 상위 레벨 마스터 모듈(4a)의 사이의 인터페이스(14)를 거쳐서 또한 상부 레벨 마스터 모듈과 중간 레벨 마스터 모듈(16, 14)의 사이의 인터페이스를 거쳐서 공통 클록 소스 부분(38)에 또한 거기로부터 요구하는 마스터 모듈(4b)에 제공된다. 요구하는 주변 장치에 관련되는 요구하는 마스터 모듈(4b)의 상태 머신(12)은 언제 클록 및 전력이 안정화되었는지를 결정하고 그의 슬레이브 모듈(6)을 거쳐서 요구하는 주변 장치에 클록 및 전력을 제공하기 위해 전력 스위치(32) 및 클록 게이트(10)를 연다.
전력 및/또는 클록이 이미 기동 중이었기 때문에 마스터 모듈(4b)에 의해 곧바로 제공될 수 있었던 경우, 원래 리소스를 요구했던 주변 장치가 해당 리소스를 요구하는 것을 중단하는지 여부와 관계없이, 요구를 상부 지원 모듈(2)에 보내는 것은 요구하는 주변 장치에 의해 전력 및/또는 클록이 요구되는 한 전력 및/또는 클록이 계속 제공되는 것을 보장한다.
다른 예시적인 동작에서 주변 장치는 다른 주변 장치가 필요하게 되는 작업을 실행하고 있다. 예컨대 메인 프로세서는 플래시메모리에 기입할 필요가 있고 따라서 플래시 주변 장치는 전력이 공급되어 클록 소스를 가질 필요가 있다. 아마도 리소스에 대한 자신의 요구에 부가하여 또는 예컨대, 리소스가 이미 가동 중이면 별개로, 메인 프로세서는 메인 프로세서와 관련된 슬레이브 모듈(8)의 버디 요구 입력(60)을 이용하여 플래시 메모리 주변 장치를 위한 버디 요구를 송신한다. 버디 요구 신호는 통상의 슬레이브-마스터 인터페이스(64, 16)를 이용하여 슬레이브(8)에 접속된 마스터 모듈(4b)에 보내지고, 각각의 마스터 모듈 사이의 인터페이스(14, 16)를 거쳐서 플래시 메모리 주변 장치에 접속된 마스터 모듈(4c)에 보내진다. 다음으로 수신하는 마스터 모듈(4c)은 마스터-슬레이브 인터페이스(16, 64)를 이용하여 플래시 메모리 주변 장치에 관련된 슬레이브(6)에 요구를 보내고, 주변 장치는 상술한 방법으로 리소스 요구를 행하는 것에 의해 요구에 응답한다.
버디 요구 시스템을 사용하여, 플래시 메모리 주변 장치에 의해 요구되는 리소스가 큰 추가 지연 없이 공급될 수 있다. 예컨대 플래시 메모리 주변 장치는 메인 프로세서에 의해 접촉될 때 플래시 메모리 주변 장치가 먼저 깨는 것을 기다릴 필요 없이 응답할 준비가 될 수 있다. 그러한 시스템은 임의의 2개의 주변 장치의 사이에서 사용될 수 있고, 상기한 것은 단순한 예인 것이 물론 이해될 것이다.
다른 예시적인 동작에서, 마스터 모듈(4) 자신의 일부 또는 전부는 전력이 끊길 수 있지만, 그들에 접속된 슬레이브 모듈(6)의 일부는 마스터 모듈이 슬립 중일 때 전력 및 클록 리소스를 계속 수신하도록 한다. 주변 장치는, 예컨대, 저전력 모드로 동작하게 할 수 있도록 ULP 레귤레이터(28) 및 저전력 수정 발진자(36)로부터 전력을 수신한다. 마스터 모듈(4)의 전력이 끊기는 동안 분명히 슬레이브 모듈(6)로부터의 모든 새로운 요구를 처리할 수 없고, 슬레이브로부터의 요구는 마스터 모듈(4)이 전력이 끊길 때 '래치'될 수 있다. 마스터 모듈(4)의 전력을 끊는 기능은 분명히 특정한 조작 중에 전력을 절약하기 위해 더 큰 범위를 제공한다.
도 6은 본 발명의 다른 실시 형태에 따른 3개의 마스터 모듈(70, 72, 74)의 구성을 개략적으로 나타낸다. 특히 2개의 하위 레벨 마스터(72, 74)가 접속된 상위 레벨 마스터(70)가 있다. 상태 머신(12)이 각각의 클록 게이트(10)(따라서, 각각의 주변 장치(6))와 관련된 상술한 실시 형태와는 대조적으로, 본 실시 형태에서는 주변 장치의 일부는 전력 도메인으로 그룹화되는데, 이 전력 도메인 내에서 각각의 마스터 모듈은 그 전력 도메인에 대한 모든 신호를 제어하는 공통 상태 머신(12)에 의해 서비스된다. 전력 도메인은 동일한 전력 스위치를 거쳐서 동일한 전력 레귤레이터에 접속되는 주변 장치의 그룹에 대응한다. 상이한 주변 장치를 독립적으로 턴온 및 턴오프할 수는 없지만, 각각의 주변 장치는 여전히 그것에 관련된 클록 게이트(10)를 갖고, 따라서 클록의 공급은 여전히 각각의 주변 장치 레벨에서 제어될 수 있다.
따라서 상부 레벨 마스터 모듈(70)에 있어서, 3개의 모든 주변 장치는 동일한 전력 도메인에 속하고, 따라서 마스터 모듈(70)은 단지 하나의 상태 머신(12)을 갖는다. 하나의 하위 레벨 마스터 모듈(72)에 있어서, 각각이 2개의 주변 장치(6)를 갖는 2개의 전력 도메인이 있다. 이들 전력 도메인 중 하나는 상위 레벨 마스터 모듈에 관련되는 것과 같을 수 있거나, 또는 그들이 모두 상이할 수 있다. 다른 하위 레벨 마스터 모듈(74)에서는, 또한 2개의 전력 도메인이 있고, 따라서 2개의 상태 머신(12)이 있지만, 이 경우 각각의 전력 도메인은 그것에 관련된 하나의 주변 장치(6)만을 갖는다.
주변 장치를 전력 도메인으로 배치하는 것은 각각이 그 전력을 제어할 수 있게 하는 것보다 약간 덜 유연하지만, 상태 머신(12)의 수를 저감하는 것은 집적 회로에 요구되는 게이트의 수 및 필요한 전체적인 전력 소비 및 면적을 저감하기 때문에 상당한 이점이 있다.
도 7은 이 원리를 더 취하는 다른 실시 형태를 개략적으로 나타낸다. 이 구성에서는 3개의 전력 도메인과 각 전력 도메인과 연관된 단지 하나의 상태 머신(12a, 12b, 12c)이 있다. 상태 머신(12a, 12b, 12c)은 모두 상위 레벨 마스터 모듈(76)에 배치된다(즉 그것에 접속된 2개의 하위 레벨 마스터 모듈(78, 80)은 상태 머신을 갖지 않는다). 상태 머신(12a, 12b, 12c)은 통상의 마스터-마스터 인터페이스를 이용하여 그들의 각각의 전력 도메인에 있어서의 주변 장치(6a, 6b, 6c)로부터의 모든 요구를 처리한다. 이 예에서는 상부 마스터 모듈(76)에 접속된 모든 3개의 주변 장치(6a)와, 하위 레벨 마스터 모듈(80)에 접속된 하나의 주변 장치(6a)가, 제 1 상태 머신(12a)에 의해 제어되는 제 1 전력 도메인을 형성한다. 제 2 상태 머신(12b)에 의해 제어되는 제 2 전력 도메인은 하나의 하위 레벨 마스터 모듈(78)에 접속된 2개의 주변 장치(6b) 및 다른 하위 레벨 마스터 모듈(80)에 접속된 하나의 주변 장치(6b)를 포함한다. 제 3 상태 머신(12c)에 의해 제어되는 제 3 전력 도메인은 하나의 하위 레벨 마스터 모듈(78)에 접속된 2개의 주변 장치(6c)를 포함한다.
마스터 모듈(76, 78, 80)에 대한 코드는 상태 머신을 제어할 수 있게 하도록, 그들 중 하나가 구성 설정에 의해 상부 마스터 모듈로서 단순히 지정된다는 점에서 동일할 수 있다. 상부 마스터 모듈(76)은 또한 상부 지원 모듈과 접촉하는 것이 될 것이다.
상술한 본 발명의 실시 형태는 주변 장치 시스템으로의 클록 및 전력 리소스의 공급에 보다 큰 제어 및 유연성을 주기 때문에 상당한 전력 절약을 가능하게 하는 것을 알게 될 것이다. 또한 구성은 리소스 제어 방식을 바꾸거나 또는 대규모의 재코딩을 요구하는 일 없이 주변 장치가 간단히 추가, 변경 또는 제거될 수 있는 것을 의미하는 모듈식의 접근법을 가능하게 한다. 하지만 설명된 실시 형태는 단순한 예이고, 본 명세서에 기재된 원리는 구성에서 사용될 수 있기 때문에 본 발명의 범위는 특정한 예로 한정되지 않는 것이 당업자에 의해 이해될 것이다.

Claims (27)

  1. 마이크로컨트롤러 장치로서,
    적어도 하나의 프로세서, 적어도 하나의 슬레이브 모듈에 연결된 하나 이상의 주변 장치 시스템, 및 리소스 공급 모듈을 포함하되, 상기 프로세서 및 상기 주변 장치 시스템은 각각 전력 및/또는 클록 신호를 필요로 할 때에 신호를 생성하도록 구성되고, 상기 신호는 요구된 리소스를 공급하도록 상기 리소스 공급 모듈을 자극하며,
    상기 마이크로컨트롤러 장치는 복수의 슬레이브 모듈에 각각 연결된 두 마스터 모듈들을 더 포함하되, 상기 두 마스터 모듈들 중 제 1 마스터 모듈은 상기 리소스 공급 모듈에 연결되고, 상기 두 마스터 모듈들 중 제 2 마스터 모듈은 상기 제 1 마스터 모듈에 연결되어 상기 제 2 마스터 모듈에 연결된 주변 장치로부터의 요구 신호는 마스터-마스터 인터페이스를 통해 상기 제 1 마스터 모듈로 전달되는
    마이크로컨트롤러 장치.
  2. 제 1 항에 있어서,
    상기 제 1 마스터 모듈 및 상기 제 2 마스터 모듈은 각각의 슬레이브 모듈에 대한 게이트를 포함하며, 상기 게이트는 각각의 슬레이브 모듈에 접속되어 각각의 슬레이브 모듈로의 클록 신호의 선택적인 통과(selective passage)를 가능하게 하는
    마이크로컨트롤러 장치.
  3. 제 2 항에 있어서,
    상기 제 1 마스터 모듈 및 상기 제 2 마스터 모듈은, 클록 신호에 대한 요구를 수신하면 상기 요구를 행한 슬레이브 모듈로의 클록 게이트를 열기 전에, 상기 클록 신호를 제공하도록 구성된 클록 소스가 안정적이고 또한 기동 중임을 보증하도록 구성된
    마이크로컨트롤러 장치.
  4. 제 3 항에 있어서,
    상기 제 1 마스터 모듈 및 상기 제 2 마스터 모듈은 요구된 클록 또는 보다 정확한 다른 클록이 이미 제공되고 있는 경우에도 상기 리소스 공급 모듈에 요청을 발행하도록 구성된
    마이크로컨트롤러 장치.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 마스터 모듈은 복수의 전력 레귤레이터 중 어느 것이 사용될 것인지를 자동적으로 결정하도록 구성된
    마이크로컨트롤러 장치.
  6. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 제 2 마스터 모듈은 상기 제 1 마스터 모듈에 연결되어 상기 제 2 마스터 모듈이 상기 제 1 마스터 모듈의 업스트림 출력으로의 직통 접속(direct-through connection)을 갖는
    마이크로컨트롤러 장치.
  7. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 신호는 전력에 대한 요구 및 특정한 클록 신호에 대한 요청을 포함하는
    마이크로컨트롤러 장치.
  8. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 신호는 요구되는 전력의 레벨을 포함하는 전력에 대한 요청을 포함하는
    마이크로컨트롤러 장치.
  9. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 신호는 요구되는 클록의 품질 또는 최저 품질을 나타내는 클록 신호에 대한 요청을 포함하는
    마이크로컨트롤러 장치.
  10. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 신호는 특정한 클록 소스가 턴온이 되어야 한다는 요청을 포함하는
    마이크로컨트롤러 장치.
  11. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 신호는 클록 버퍼가 턴온이 되어야 한다는 요청을 포함하는
    마이크로컨트롤러 장치.
  12. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 슬레이브 모듈에게 어느 정도의 리소스가 이용 가능한지를 결정하기 위해 상기 슬레이브 모듈이 선택할 수 있는 복수의 미리 결정된 옵션을 포함하는
    마이크로컨트롤러 장치.
  13. 제 12 항에 있어서,
    상기 미리 결정된 옵션은 지연 시간을 다르게 하는 것 및 전력 소비를 다르게 하는 것을 포함하는
    마이크로컨트롤러 장치.
  14. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 리소스 공급 모듈의 요소가 전력을 절약하기 위해 스스로 셧다운될 수 있는
    마이크로컨트롤러 장치.
  15. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 제 1 마스터 모듈 및 상기 제 2 마스터 모듈 중 적어도 하나의 마스터 모듈은 상기 마스터 모듈이 저전력 상태에 있을 때 주변 장치에 리소스를 제공하도록 구성된
    마이크로컨트롤러 장치.
  16. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    제 2 주변 장치를 자극하여 리소스 요구를 발행하도록 구성된 적어도 하나의 제 1 주변 장치를 포함하는
    마이크로컨트롤러 장치.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
KR1020157001977A 2012-06-26 2013-06-19 반도체 장치의 제어 KR102099301B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1211340.3A GB201211340D0 (en) 2012-06-26 2012-06-26 Control of semiconductor devices
GB1211340.3 2012-06-26
PCT/GB2013/051597 WO2014001763A1 (en) 2012-06-26 2013-06-19 Control of semiconductor devices

Publications (2)

Publication Number Publication Date
KR20150037891A KR20150037891A (ko) 2015-04-08
KR102099301B1 true KR102099301B1 (ko) 2020-04-10

Family

ID=46704250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157001977A KR102099301B1 (ko) 2012-06-26 2013-06-19 반도체 장치의 제어

Country Status (8)

Country Link
US (1) US10474592B2 (ko)
EP (1) EP2847647B1 (ko)
JP (1) JP6227640B2 (ko)
KR (1) KR102099301B1 (ko)
CN (1) CN104412199B (ko)
GB (2) GB201211340D0 (ko)
TW (1) TWI629586B (ko)
WO (1) WO2014001763A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015069333A (ja) * 2013-09-27 2015-04-13 富士通セミコンダクター株式会社 設計方法及び設計プログラム
US9383807B2 (en) * 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
US20190101969A1 (en) * 2017-09-29 2019-04-04 Intel Corporation Control Blocks for Processor Power Management
GB201810663D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Power Domains
JP7328055B2 (ja) * 2019-07-31 2023-08-16 キヤノン株式会社 電子機器及び電子機器の制御方法
GB2587381B (en) * 2019-09-26 2021-09-29 Continental Automotive Gmbh Remote powered bus system in a motor vehicle, master electronic control unit, slave electronic control unit and method of operating remote powered bus system
CN117882029A (zh) * 2021-07-19 2024-04-12 飞比特有限公司 用于基于硬件表决的时钟控制的系统和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161683A1 (en) 2009-12-31 2011-06-30 Peng Zou Apparatus for high efficient real-time platform power management architecture

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5021679A (en) * 1989-06-30 1991-06-04 Poqet Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
JPH08152945A (ja) 1994-11-28 1996-06-11 Nec Corp 消費電力管理装置
US5838171A (en) * 1996-11-22 1998-11-17 National Semiconductor Corporation Low power real-time clock circuit having system and battery power arbitration
US6694441B1 (en) * 2000-11-15 2004-02-17 Koninklijke Philips Electronics N.V. Power management method and arrangement for bus-coupled circuit blocks
US7155618B2 (en) * 2002-03-08 2006-12-26 Freescale Semiconductor, Inc. Low power system and method for a data processing system
US7206949B2 (en) 2003-03-18 2007-04-17 Matsushita Electric Industrial Co., Ltd. System and method for controlling a clock oscillator and power supply voltage based on the energy consumed for processing a predetermined amount of data
US7203849B2 (en) 2003-12-12 2007-04-10 Hewlett-Packard Development Company, L.P. Method and system for distributing power to networked devices
JP2005250650A (ja) 2004-03-02 2005-09-15 Nec Electronics Corp マルチレイヤシステム及びクロック制御方法
US7696641B2 (en) 2005-02-16 2010-04-13 Panasonic Corporation Power supply control circuit and electronic circuit
US8201004B2 (en) * 2006-09-14 2012-06-12 Texas Instruments Incorporated Entry/exit control to/from a low power state in a complex multi level memory system
JP4551814B2 (ja) * 2005-05-16 2010-09-29 Okiセミコンダクタ株式会社 無線通信装置
CN100419637C (zh) * 2005-11-25 2008-09-17 鸿富锦精密工业(深圳)有限公司 电脑周边设备供电装置的驱动电路
CN101473286B (zh) * 2006-06-29 2012-05-30 Arm有限公司 控制数据处理设备中的功率消耗
JP5408844B2 (ja) * 2006-07-04 2014-02-05 キヤノン株式会社 バスシステム
KR100778114B1 (ko) * 2006-09-18 2007-11-21 삼성전자주식회사 통신에러를 개선하기 위한 통신방법 및 그 통신방법이적용된 전자장치
US8255722B2 (en) 2009-03-09 2012-08-28 Atmel Corporation Microcontroller with clock generator for supplying activated clock signal to requesting module to conserve power
JP2010282585A (ja) * 2009-06-08 2010-12-16 Fujitsu Ltd 電力管理回路、電力管理方法及び電力管理プログラム
JP5256253B2 (ja) * 2009-07-17 2013-08-07 日産自動車株式会社 自動変速機
JP5610566B2 (ja) * 2010-02-22 2014-10-22 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム
US8392696B2 (en) * 2010-04-26 2013-03-05 Broadcom Corporation Modular integrated circuit with common software
US8726047B2 (en) 2010-05-07 2014-05-13 Samsung Electronics Co., Ltd. System on chip, devices having the same, and method for power control of the SOC
JP5517830B2 (ja) * 2010-08-19 2014-06-11 ルネサスエレクトロニクス株式会社 半導体集積回路
US9317639B1 (en) * 2014-10-27 2016-04-19 Freescale Semiconductor, Inc. System for reducing power consumption of integrated circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161683A1 (en) 2009-12-31 2011-06-30 Peng Zou Apparatus for high efficient real-time platform power management architecture

Also Published As

Publication number Publication date
JP6227640B2 (ja) 2017-11-08
EP2847647A1 (en) 2015-03-18
JP2015527638A (ja) 2015-09-17
GB2503576A (en) 2014-01-01
GB2503576B (en) 2015-12-30
EP2847647B1 (en) 2019-12-25
US10474592B2 (en) 2019-11-12
CN104412199B (zh) 2018-02-06
GB201211340D0 (en) 2012-08-08
TWI629586B (zh) 2018-07-11
CN104412199A (zh) 2015-03-11
US20150193357A1 (en) 2015-07-09
KR20150037891A (ko) 2015-04-08
TW201403304A (zh) 2014-01-16
WO2014001763A1 (en) 2014-01-03
GB201310943D0 (en) 2013-07-31

Similar Documents

Publication Publication Date Title
KR102099301B1 (ko) 반도체 장치의 제어
US7032117B2 (en) Dynamic power control in integrated circuits
US8639955B2 (en) Method and system for controlling power in a chip through a power performance monitor and control unit
KR101459140B1 (ko) 전원관리 제어 장치 및 방법
CN103370878B (zh) 集成电路内的电源管理
EP2047354A1 (en) Power management in a data processing device having masters and slaves
US9851768B2 (en) Voltage regulator control system
US20100292854A1 (en) Integrating energy budgets for power management
US10732697B2 (en) Voltage rail coupling sequencing based on upstream voltage rail coupling status
US11068018B2 (en) System and method for power management of a computing system with a plurality of islands
US10282214B2 (en) System and method for power management of a plurality of circuit islands
KR102333391B1 (ko) 전자 장치 및 이의 전력 제어 방법
CN104204988A (zh) 活动显示的处理器睡眠状态
CN111052037A (zh) 复位隔离桥
CN110362187A (zh) 用于功率管理的系统和方法
KR20090046841A (ko) 마스터 및 슬레이브를 갖는 데이터 처리장치에서의 전력 관리
CN108319326B (zh) 半导体装置
CN117641541A (zh) 一种基于双芯协同的多电压域低功耗管理方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right