KR100993134B1 - 디버그 동안 데이터 처리 시스템을 제어하는 방법 및 장치 - Google Patents

디버그 동안 데이터 처리 시스템을 제어하는 방법 및 장치 Download PDF

Info

Publication number
KR100993134B1
KR100993134B1 KR1020057013637A KR20057013637A KR100993134B1 KR 100993134 B1 KR100993134 B1 KR 100993134B1 KR 1020057013637 A KR1020057013637 A KR 1020057013637A KR 20057013637 A KR20057013637 A KR 20057013637A KR 100993134 B1 KR100993134 B1 KR 100993134B1
Authority
KR
South Korea
Prior art keywords
debug
activation
subsystem
subsystems
data processing
Prior art date
Application number
KR1020057013637A
Other languages
English (en)
Other versions
KR20050100639A (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 KR20050100639A publication Critical patent/KR20050100639A/ko
Application granted granted Critical
Publication of KR100993134B1 publication Critical patent/KR100993134B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Power Sources (AREA)

Abstract

데이터 처리 시스템(10)은 디버그 동작을 위해 필요한 만큼 복수의 서브시스템들 전부나 선택된 서브세트의 활성화를 제어함으로써 데이터 처리 시스템의 정규 동작에 대해 치중되지 않은 디버그 능력들을 제공할 수 있는 디버그 유닛(14)을 포함한다. 예를 들어, 디버그 동작을 위해 필요한 만큼 선택된 서브시스템들을 활성화함으로써 전력이 보존될 수 있다. 또한, 일 실시예에서, 디버그 유닛은 데이터 처리 시스템의 또다른 제어를 제공하는 선택된 서브시스템들에 비활성화부터 전체 활성화까지의 범위인 활성화 레벨을 제공한다. 일 실시예에서, 디버그 제어 및 상태 레지스터들(40)은 디버그 유닛과 복수의 서브시스템들 사이의 전력 관리 핸드쉐이킹을 제공한다. 선택된 서브시스템들은 상태 정보를 디버그 유닛에 제공할 수 있기 때문에, 상기 핸드쉐이킹은, 디버그 동작이 적절히 진행할 수 있다는 것을 보장하도록 사용될 수 있다.
Figure R1020057013637
디버깅, 활성화 레벨, 동작 모드

Description

디버그 동안 데이터 처리 시스템을 제어하는 방법 및 장치{Method and apparatus for controlling a data processing system during debug}
본 발명은 일반적으로 데이터 처리 시스템들과 디버깅에 관한 것으로, 보다 구체적으로는, 디버그 동안 데이터 처리 시스템의 제어에 관한 것이다.
디버그 시스템들은 시스템 구성요소들에 대한 액세스와 가시성(visibility)을 제공하도록 시스템 온 칩들(system on chips;SoCs)과 같은 많은 데이터 처리 시스템들에 이용된다. 그러므로, 이들 디버그 시스템들은 데이터 처리 시스템들 내의 결함들을 검출하고 정정하기 위해 사용될 수 있다. 그러나, 오늘날 현재 이용가능한 많은 디버그 시스템들은 데이터 처리 시스템의 시스템 상태에 현저히 영향을 미친다는 점에서 지나치게 치중되어(obtrusive), 상기 시스템을 정확히 디버깅하는 능력을 감소시킨다. 게다가, 일부 디버그 시스템들은 또한 디버그 동작들을 수행하기 위해 데이터 처리 시스템의 최대 전력 상승(full power-up)을 요구한다. 그러나, 이러한 최대 전력 상승 동안에, 데이터 처리 시스템의 일부가 불필요하게 전력 상승될 수 있고, 따라서 전력 소모를 불필요하게 증가시킨다. 그러므로, 덜 치중된 전력 감지(power-aware) 디버그 시스템에 대한 필요성이 존재한다.
본 발명은 유사한 참조들이 유사한 요소들을 나타내는 예로서 설명되고, 첨 부 도면들로 제한되지 않는다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템을 블록도의 형태로 도시하는 도면.
도 2는 본 발명의 일 실시예에 따라 도 1의 데이터 처리 시스템의 디버그 제어 및 상태 레지스터들을 도시하는 도면.
도 3은 본 발명의 일 실시예에 따라 디버그 동안에 도 1의 데이터 처리 시스템을 제어하는 방법을 흐름도의 형태로 도시하는 도면.
당업자들은 도면들의 요소들이 간단함과 명료함을 위해 도시되고 있고, 반드시 일정한 비례로 축소하여 그려진 것은 아니라는 점을 알 수 있다. 예를 들어, 도면들에서 일부 요소들의 크기는 본 발명의 실시예들에 대한 이해를 향상시키는 것을 돕기 위해 다른 요소들에 비해 과장될 수 있다.
본원에 사용된 바와 같이, 용어 "버스(bus)"는 데이터, 어드레스들, 제어, 또는 상태와 같은 하나 이상의 다양한 유형들의 정보를 전달하는데 사용될 수 있는 복수의 신호들 또는 컨덕터들을 언급하기 위해 사용된다. 본원에 논의된 컨덕터들(또는 신호들)은 단일 컨덕터, 복수의 컨덕터들, 단방향 컨덕터들, 또는 양방향 컨덕터들에 관하여 설명되거나 기술될 수 있다. 그러나, 상이한 실시예들은 컨덕터들의 구현을 변경할 수 있다. 예를 들어, 양방향 컨덕터들보다는 별개의 단방향 컨덕터들이 사용될 수 있고, 그 역도 또한 가능하다. 또한, 복수의 컨덕터들은 연속적으로 또는 시간 다중화된 방식으로 다수의 신호들을 전달하는 단일 컨덕터로 대체될 수 있다. 마찬가지로, 다수의 신호들을 전달하는 단일 컨덕터들은 상기 신호들의 서브세트들을 전달하는 다양하고 상이한 컨덕터들로 분할될 수 있다. 그러므로, 신호들을 전달하기 위한 많은 옵션들이 존재한다.
용어들 "어써트(assert)" 또는 "세트(set)"와 "니게이트(negate)"(또는 "디어써트(deassert)" 또는 "클리어(clear)")는, 신호, 상태 비트, 또는 유사한 장치를 각각 논리적으로 참이거나 논리적으로 거짓 상태로 렌더링하는 것을 언급할 때 사용된다. 논리적으로 참 상태가 논리적 레벨 1이면, 논리적으로 거짓 상태는 논리적 레벨 0이다. 그리고, 논리적으로 참 상태가 논리적 레벨 0이면, 논리적으로 거짓 상태는 논리적 레벨 1이다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템(10)을 도시한다. 데이터 처리 시스템(10)은 프로세서(12), 디버그 유닛(14), 전력 관리 및 클록 제어 회로(18), 및 서브시스템들(24 내지 27)을 포함한다. 프로세서(12), 디버그 유닛(14), 전력 관리 및 클록 제어 회로(18), 및 서브시스템들(24, 25)은 버스(20)를 통해 서로 양방향으로 결합된다. 또한, 디버그 유닛(14)은 각각 프로세서(12), 서브시스템들(24 내지 27), 및 전력 관리 및 클록 제어 회로(18)의 각각으로 및 각각으로부터 디버그 제어/상태 신호들(22)을 송신 및 수신한다. 전력 관리 및 클록 제어 회로(18)는 각각 양방향 컨덕터들(30,31,32,33)을 통해 서브시스템들(24 내지 27)의 각각에 전력 관리 및 클록/제어 신호들(28)을 제공한다. 프로세서(12)는 또한 컨덕터들(36)을 통해 전력 관리 및 클록 제어 회로(18)에 양방향으로 결합된다.
디버그 유닛(14)은 데이터 처리 시스템(10)을 디버깅하는 능력을 제공한다. 디버그 유닛(14)은 디버그 동작에 필요한 만큼 서브시스템들(24 내지 27)의 전부 또는 일부의 활성화 레벨을 제어함으로써 데이터 처리 시스템(10)의 정규 동작에 대해 치중되지 않은(unobtrusive) 디버그 능력들을 제공할 수 있다. 종래의 시스템들과는 달리, 본 발명의 실시예들은 데이터 처리 시스템(10)의 동작 모드에 대한 임의의 변경을 요구하지 않고 디버그 동안에 서브시스템들(24 내지 27)의 활성화 레벨을 제어할 수 있다. 이것은, 보다 정확한 디버깅을 제공하기 위해서는 디버그 동안에 데이터 처리 시스템(10)에 대한 최소의 변경들이 요구되기 때문에 바람직하다. 데이터 처리 시스템(10)의 실제 애플리케이션에 있어서, 데이터 처리 시스템은 디버그 모드에서 동작하지 않을 것이기 때문에, 데이터 처리 시스템의 동작 모드의 변경은 덜 정확한 디버그 정보를 발생시킬 수 있다. 그러므로, 보다 정확한 디버그 정보를 얻기 위해, 디버그 동안에 데이터 처리 시스템은 실제 애플리케이션에서 사용된 동작 모드와 가능한 한 유사하게 동작해야 한다.
일 실시예에서, 데이터 처리 시스템(10)은, 예를 들어 핸드-헬드 장치들(hand-held devices)(무선 애플리케이션들과 같은)에서 사용될 수 있는 저전력 SoC이다. 대안적으로, 도 1에 예시된 바와 같이, 데이터 처리 시스템(10)은 다수의 서브시스템들을 갖는 임의의 유형의 데이터 처리 시스템일 수 있다. 데이터 처리 시스템(10)은 서브시스템들(24 내지 27)을 포함하고, 여기서 서브시스템들(24,25)은 버스(20)에 결합되어 디버그 제어 및 상태 정보들을 디버그 유닛(14)에 및 그로부터 송신 및 수신할 수 있는 복수의 서브시스템들 중 두 개의 서브시스템들이고, 서브시스템들(26,27)은 버스(20)에 결합되지 않지만 디버그 제어 및 상태 신호들을 디버그 유닛(14)에 및 그로부터 여전히 송신 및 수신할 수 있는 복수의 서브시스템들 중 두 개의 서브시스템들이다. 단지 4개의 서브시스템들이 예시되었지만, 데이터 처리 시스템(10)은 서브시스템들(24,25)과 같은 임의의 개수(1 또는 0 포함)의 서브시스템들과, 서브시스템들(26,27)과 같은 임의의 개수(1 또는 0 포함)의 서브시스템들을 포함할 수 있다.
일반적으로, 서브시스템들(24 내지 27)의 각각은 데이터 처리 시스템(10)의 부분들이다. 이들 서브시스템들(24 내지 27)의 각각은, 예를 들어 전체 시스템 전력 소모를 낮추기 위해, 클록들 및/또는 전력 공급들(및/또는 다른 속성들)이 독립적으로 제어될 수 있는 상이한 클록 도메인들 또는 전력 도메인들을 가질 수 있다. 서브시스템들 중 일부는 또한 클록 또는 전력 도메인들을 공유할 수 있다는 점에 유의하라. 그러므로, 이들 서브시스템들의 각각은 다른 제어기들, 주변장치들, 입/출력(I/O) 장치들, I/O 인터페이스들, 디지털 신호 프로세서(DSP)와 같은 다른 프로세서들 등과 같이 데이터 처리 시스템(10)의 상이한 부분들을 포함할 수 있다. 그러므로, 데이터 처리 시스템(10)은 다양하고 상이한 종류의 마스터(master) 및 슬래이브(slave) 장치들을 포함할 수 있고, 상이한 서브시스템들로 그룹화될 수 있으며, 여기서 서브시스템들 또는 서브시스템들의 부분들은 오버랩(overlap)할 수 있다. 더욱이, 프로세서(12), 디버그 유닛(14), 및 전력 관리 및 클록 제어 회로(18)의 각각은 서브시스템으로 간주되거나, 서브시스템의 일부로서 포함될 수 있다는 점에 유의하라. 또한, 대안적인 실시예들에서, 데이터 처리 시스템(10)은 상이하게 조직화될 수 있다는 점에 유의하라. 예를 들어, 디버그 유닛(14)은 프로세서(12) 또는 전력 관리 및 클록 제어 회로(18) 내에 위치될 수 있고, 전력 관리 및 클록 제어 회로(18)는 프로세서(12) 내에 위치되거나, 프로세서(12) 또는 서브시스템들(24 내지 27)의 일부 또는 전부에 분배될 수 있다. 더욱이, 디버그 유닛(14)의 일부 또는 전부는 데이터 처리 시스템(10)의 외부(오프 칩 위치와 같은)에 위치될 수 있다. 그러므로, 이해될 수 있는 바와 같이, 데이터 처리 시스템(10)은 다양하고 상이한 방식들로 상이한 서브시스템들로 설계 및 분할될 수 있다.
데이터 처리 시스템(10)의 정규 동작(디버깅 이외)은 일반적으로 당업계에 알려진 바와 같이 기능할 수 있어, 단지 도 1 내지 도 3의 설명들을 더 잘 이해하기 위해 필요한 범위로만 기술될 것이라는 점에 유의하라. 또한, 도 1에 예시된 블록들은, 일부 부분들조차도 데이터 처리 시스템(10)의 외부에 위치될 수 있는 상이하고 다양한 방식들로 구성될 수 있다는 점에 유의하라. 또한, 예를 들어 디버그 유닛(14)과 전력 관리 및 클록 제어 회로(18)와 같이 도 1에 예시된 블록들의 각각은 소프트웨어, 하드웨어, 펌웨어, 또는 그 임의의 결합으로 구현될 수 있다.
전술된 바와 같이, 서브시스템들(24 내지 27)은 다양하고 상이한 방식들로 제어될 수 있다. 예를 들어, 서브시스템들(24 내지 27)의 각각은, 공급 전압들을 감소 또는 제거하거나 그 클록들의 주파수를 변경함으로써 그 클록들을 게이팅-오프(gating-off)하거나 디스에이블링하여 독립적으로 전력 하강될 수 있다. 즉, 다양하고 상이한 서브시스템 속성들(클록 또는 전력 속성들 또는 전력 사용 등)이 다양한 방식으로 독립적으로 제어될 수 있다. 그러므로, 전력 관리 및 클록 제어 회로(18)는 임의의 이런 기능들이나 속성들을 제어하도록 제어 신호들을 서브시스템들 각각에 제공하거나, 실제 클록 신호들은 임의의 상기 서브시스템들에 제공하도록 사용될 수 있다. 그러므로, 전력 관리 및 클록/제어 신호들(28)은 제어 신호들, 클록들, 또는 서브시스템들(24 내지 27)의 전력 관리와 활성화 제어(이하에 기술될 것임)를 위해 필요할 수 있는 임의의 다른 유형의 정보를 포함할 수 있다.
서브시스템의 활성화 레벨은 다양하고 상이한 방식으로 제어될 수 있다. 일 실시예에서, 각각의 서브시스템은 활성화된 및 비활성화된(또는 비활동(inactive)) 레벨과 같이 단지 두 개의 가능한 활성화 레벨을 가질 수 있다. 이러한 실시예에서, 서브시스템을 활성화하는 것은 그 클록들을 인에이블링하거나, 클록 주파수를 증가시키거나, 공급 전압을 서브시스템에 제공하는 것을 언급할 수 있고, 서브시스템을 비활성화하는 것은 클록들을 게이팅-오프 또는 디스에이블링하거나, 공급 전압을 완전히 제거하거나, 클록 주파수를 감소시키는 것을 언급할 수 있다. 대안적으로, 각각의 서브시스템은 더 많은 활성화 레벨들을 가질 수 있다. 예를 들어, 서브시스템의 활성화 레벨을 제어하는 것은 특정한 공급 전압을 제공하거나, 특정한 클록 주파수를 제공하거나, 서브시스템을 최대 전력, 감소된 전력, 또는 저전력, 또는 일부 다른 동작 모드에 배치하는 것을 포함할 수 있다. 그러므로, 디버그 유닛(14)의 다양하고 상이한 실시예들은 상이한 활성화 제어를 제공할 수 있다.
일 실시예에서, 도 2에 도시된 바와 같이, 디버그 유닛(14)은 디버그 제어 레지스터(40) 및 디버그 상태 레지스터(46)를 포함하는 디버그 레지스터들(16)을 포함한다. 이들 레지스터들은 디버그 유닛(14)과 서브시스템들(24 내지 27) 사이의 전력 관리 핸드쉐이킹(power management handshaking)을 제공한다. 디버그 제어 레지스터(40)는 디버그 동작을 위해 선택된 서브시스템들의 활성화를 제어하기 위해 사용된다. 디버그 상태 레지스터(46)는 서브시스템들(24 내지 27)의 상태를 나타내기 위해 사용된다. 디버그 유닛(14)은 이 후, 선택된 서브시스템들을 포함하여 디버그 동작을 계속할 수 있는 때를 확인하기 위해 상태 정보를 사용할 수 있다. 또한, 대안적인 실시예들에서, 디버그 레지스터(16)는 필요한 만큼의 임의의 개수의 레지스터들을 포함할 수 있고, 데이터 처리 시스템(10) 내의 어디든지에 포함될 수 있다는 점에 유의하라.
도 2에 도시된 바와 같이, 디버그 제어 레지스터(40)는 각각의 서브시스템(24 내지 27)에 대응하는 필드(42 내지 45)를 각각 포함한다. 그러므로, 서브시스템(24) 활성화 필드(42)는 서브시스템(24)에 대응하고, 서브시스템(25) 활성화 필드(43)는 서브시스템(25)에 대응하고, 서브시스템(26) 활성화 필드(44)는 서브시스템(26)에 대응하고, 서브시스템(27) 활성화 필드(45)는 서브시스템(27)에 대응한다. 각각의 활성화 필드(42 내지 45)는, 하나의 비트 상태가 대응하는 서브시스템이 활성화되는 것을 나타내고, 다른 비트 상태가 대응하는 서브시스템이 이미 활성화되지 않았다면 활성화되지 않는다는 것을 나타내는(또는 대안적으로 대응하는 서브시스템이 비활성화되는 것을 나타내는) 단일 비트 값일 수 있다. 대안적으로, 각각의 활성화 필드는 대응하는 서브시스템에 대한 활성화 레벨을 제공하는 n-비트 값일 수 있다. 예를 들어, 2-비트 값은, 예를 들어 비활성화 내지 부분적인 활성화에서부터 전체 활성화까지의 범위와 같이, 각 서브시스템에 대해 최대 4개의 상이한 활성화 레벨들을 제공하는데 사용될 수 있다. 대안적으로, 1-비트 값은 활성화 레벨의 미리 결정된 증가 또는 감소를 나타내기 위해 사용될 수 있다. 또한, 각각의 활성화 필드는 서브시스템의 상이한 속성들에 대응할 수 있다는 점에 유의하라. 예를 들어, 서브시스템(24) 활성화 필드(42)는 한가지 유형의 클록 속성을 제어하기 위해 사용될 수 있고, 서브시스템(25) 활성화 필드(43)는 상이한 종류의 클록 속성, 전력 속성, 또는 임의의 다른 유형의 서브시스템 속성을 제어하도록 사용될 수 있다. 또한, 대안적인 실시예에서, 다수의 서브시스템들은 단일의 디버그 활성화 필드를 공유할 수 있다.
도 2를 여전히 참조하면, 디버그 상태 레지스터(46)는 각각의 서브시스템(24 내지 27)에 대응하는 필드(47 내지 50)를 각각 포함한다. 그러므로, 서브시스템(24) 상태 필드(47)는 서브시스템(24)에 대응하고, 서브시스템(25) 상태 필드(48)는 서브시스템(25)에 대응하고, 서브시스템(26) 상태 필드(49)는 서브시스템(26)에 대응하고, 서브시스템(27) 상태 필드(50)는 서브시스템(27)에 대응한다. 각각의 상태 필드(47 내지 50)는, 하나의 비트 상태가 대응하는 서브시스템이 활성(active)인 것을 나타내고, 다른 하나의 비트 상태가 대응하는 서브시스템이 비활성(inactive)인 것을 나타내는 단일 비트 값일 수 있다. 대안적으로, 각각의 상태 필드는 대응하는 서브시스템의 현재의 활성화 레벨을 나타내는 n-비트 값일 수 있다. 또한, 대안적인 실시예에서, 상이한 서브시스템들은 단일의 디버그 상태 필드를 공유할 수 있다. 대안적으로, 상태 정보를 디버그 유닛(14)에 통신할 필요가 없을 수도 있기 때문에, 일부 서브시스템들은 디버그 상태 필드를 전혀 요구하지 않을 수 있다.
도 3은 디버그 동작 동안에 데이터 처리 시스템(10)을 제어하는 방법을 도시하는 흐름도(60)를 포함한다. 흐름도(60)는 시작(62)으로 시작하여, 디버그 동작이 개시되는 블록(64)으로 진행한다. 흐름도는 이 후 블록(66)으로 진행하는데, 상기 블록에서 디버그 유닛은 디버그 동작 동안에 사용될 서브시스템들을 결정한다. 일 실시예에서, 디버그 유닛은 이런 정보를 결정하도록 룩-업 테이블을 사용하고, 상기 룩-업 테이블은 각각의 디버그 동작에 필요한 대응하는 서브시스템들과 디버그 동작들의 리스트를 포함한다. 또한, 사용될 서브시스템들을 결정하는 것은 또한 특정한 디버그 동작을 수행하기 위해 각각의 서브시스템에 필요한 활성화 레벨이 무엇인지를 결정하는 것을 포함할 수 있다는 점에 유의하라. 예를 들어, 대안적인 실시예에서, 룩-업 테이블의 각 디버그 동작을 위해, 활성화 레벨은 대응하는 디버그 정보가 필요한 각각의 서브시스템을 위해 저장될 수 있다. 그러므로, 이들 활성화 레벨의 값들은 디버그 제어 레지스터(40)에 저장될 값들에 대응할 수 있다. 그러므로, 이런 식으로, 상이한 서브시스템들은 수행되는 특정한 디버그 동작에 의존하여 상이한 활성화 레벨들(상이한 속성들은 제어될 수 있음)을 가질 수 있다. 대안적으로, 룩-업 테이블에 부가하거나 상기 룩-업 테이블 이외의 다른 시스템들은, 사용될 서브시스템들을 결정하도록 사용될 수 있다. 예를 들어, 지능형 소프트웨어 결정(intelligent software determination)이나 상태-머신 기반 방법(state-machine based method)이 사용될 수 있다.
디버그 유닛(14)은 룩-업 테이블(또는 선택된 서브시스템들에 대해 적절한 활성화 레벨을 제공하는 다른 시스템)로부터 정보를 사용하고, 적절한 값들을 디버그 제어 레지스터(40)에 기록한다. 즉, 각각의 선택된 서브시스템에 대해, 적절한 활성화 레벨에 대응하는 적절한 값이 대응하는 활성화 필드에 저장된다. 예를 들어, 결정 방법이 각각의 디버그 동작을 위해 요구되는 서브시스템들을 제공하는 룩-업 테이블을 사용하는 전술된 실시예에서, 요구되는 서브시스템들을 활성화하기 위해, 동일한 미리 결정된 값이 필요한 서브시스템에 대응하는 각각의 활성화 필드(디버그 제어 레지스터(40))에 기록될 수 있다. 대안적으로, 리스트가 또한 각각의 필요한 서브시스템에 대한 활성화 레벨 값들을 제공한다면, 상기 값들은 디버그 제어 레지스터(40)에 기록될 수 있다. (일 실시예에서, 비-선택된 서브시스템들에 대응하는 임의의 잔여 활성화 필드들은 현재의 디버그 동작에 영향받지 않는다는 점에 유의하라. 대안적으로, 상기 필드들은 클리어되거나 미리 결정된 값으로 기록될 수 있다.)
흐름도는 이 후, 선택된 서브시스템들의 활성화가 제어되는 블록(68)으로 진행한다. 일 실시예에서, 디버그 제어 레지스터(40)에 따라 원하는 활성화 레벨에 도달하기 위해 적절한 제어 신호들 또는 클록 신호들이 적절한 서브시스템들에 제공될 수 있도록, 디버그 제어 레지스터(40)의 값들은 전력 관리 및 클록 제어 회로(18)에 제공된다. 대안적으로, 디버그 유닛(14)은 디버그 제어 레지스터(40)의 활성화 필드들에 저장된 값들을, 전력 관리 및 클록 제어 회로(18)에 상기 값들을 송신하는 것에 부가하거나 그에 대체하여 각각의 대응하는 서브시스템에 직접 제공할 수 있다.
일 실시예에서, 디버그 유닛(14)은 디버그 동작 동안에 사용될 서브시스템들만을 활성화하기 위해 사용될 수 있다는 점에 유의하라. 대안적으로, 디버그 유닛(14)은 더 많은 서브시스템들을 활성화거나, 또한 임의의 서브시스템의 활성화 레벨을 비활성화하거나 변경할 수도 있다. 일부 경우들에서, 디버그 동작을 위해 선택된 서브시스템에 제공된 활성화 레벨은 선택된 서브시스템의 현재의 활성화 레벨과 동일할 수 있고, 이것은 활성화 레벨의 변화가 요구되지 않는다는 것을 의미한다는 점에 유의하라. 대안적으로, 디버그 동작을 위해 선택된 서브시스템에 제공된 활성화 레벨이 현재의 활성화 레벨보다 낮다면, 일부 실시예들은 이 경우 활성화 레벨을 변경하지 않도록 선택할 수 있다.
전술된 바와 같이, 디버그 유닛(14)은 다양하고 상이한 방식들로 구현될 수 있고, 일 예로, 부분들은 데이터 처리 시스템(10) 내부와 외부 모두에 위치될 수 있다. 일 예에서, 블록(66)의 결정들은 데이터 처리 시스템(10)의 외부에 위치된 하드웨어나 소프트웨어(예컨대, 오프-칩 하드웨어나 소프트웨어)에 의해 수행될 수 있고, 그 결과들은 이 후 데이터 처리 시스템(10) 내부의 하드웨어(디버그 제어 레지스터(40) 등)에 기록될 수 있다. 이런 식으로, 임의의 룩-업 테이블이나 소프트웨어 결정 방법들이 데이터 처리 시스템(10)의 외부에 저장될 수 있다.
흐름도는 이 후, 선택된 서브시스템들로부터 상태 정보가 수신되는 블록(70)으로 진행한다. 디버그 유닛(14)(및/또는 전력 관리 및 클록 제어 회로(18))으로부터 활성화 제어 정보를 수신한 선택된 서브시스템들의 각각은 활성화 상태 정보를 제공하는 디버그 유닛(14)에 디버그 상태 신호들을 (디버그 제어/상태 신호들(22)을 통해) 제공한다. 대안적으로, 각각의 선택된 서브시스템은 디버그 상태 신호들을 디버그 유닛(14)에 직접 제공하는 것 대신에 또는 그에 부가하여 전력 관리 및 클록 제어 회로(18)에 제공할 수 있다. 필요하다면, 전력 관리 및 클록 제어 회로(18)는 이 후 디버그 상태 정보를 디버그 유닛(14)에 제공할 수 있다. 디버그 상태 신호들은 디버그 상태 레지스터(46)의 대응하는 상태 필드에 저장되거나 그런 값들로 반영되는 상태 값들을 제공한다. 이런 식으로, 디버그 유닛(14)은 선택된 서브시스템들의 활성화 레벨을 알 수 있다. 일 실시예에서, 디버그 유닛(14)은 선택된 서브시스템들의 활성화 레벨을 결정하기 위해 디버그 상태 레지스터(46)를 폴링할 수 있다. 대안적으로, 디버그 유닛(14)은 전파 지연들을 고려하도록 디버그 상태 레지스터(46)를 판독하기 전에 미리 결정된 시간을 대기할 수 있다.
일단 상태 정보가 수신되면, 흐름도는 적절한 활성화 레벨들로 설정된 적절한 시스템들로 디버그 동작이 수행되는 블록(72)으로 진행할 수 있다. 일 실시예에서, 상태 정보는, 대응하는 서브시스템이 이제 정확한 활성화 레벨로 동작하고 있다는 것을 나타낸다는 점에 유의하라. 그러나, 대안적인 실시예에서, 상태 정보는, 대응하는 서브시스템이 정확한 활성화 레벨을 입력하는 중이라는 것을 나타낼 수 있다. 상기 실시예에서, 디버그 유닛(14)은 서브시스템들이 적절한 활성화 레벨인 것을 보장하도록 디버그 동작을 수행하기 전에 미리 결정된 시간을 대기할 수 있다. 또한, 디버그 유닛(14)은, 임의의 선택된 서브시스템들이 정확한 활성화 레벨을 입력하는 것을 실패했는지를 결정하도록 디버그 상태 레지스터(46)의 정보를 사용할 수 있다. 또한, 데이터 처리 시스템(10)의 내부나 외부에 위치된 소프트웨어는 활성화 제어의 적절한 동작을 결정하는 것을 돕기 위해 디버그 상태 레지스터(46)로부터 상태 정보를 판독하여 예측된 결과들과 상기 결과들을 비교할 수 있다.
디버그 동작이 완료된 후, 흐름도는 디버그 유닛(14)이 선택된 서브시스템의 활성화 제어를 해제(release)하는 블록(74)으로 진행한다. 일 실시예에서, 활성화 제어의 해제시, 선택된 서브시스템들은 디버그 동작 전의 활성화 레벨로 복귀한다. 예를 들어, 특정한 선택된 서브시스템이 디버그 동작 전에는 저전력 모드였지만 디버그 동작을 위해 활성화되어야 했다면(인에이블된 클록들을 갖게 되거나 공급 전력이 제공됨으로써), 특정한 선택된 서브시스템은 디버그 유닛(14)에 의한 활성화 제어의 해제시에 저전력 모드로 자동으로 복귀할 것이다. 일 실시예에서, 디버그 유닛(14)은 디버그 제어 레지스터(40)의 대응하는 필드들을 클리어함으로써 활성화 제어를 해제한다. 대안적인 실시예에서, 디버그 유닛(14)은 디버그 제어 레지스터의 대응하는 필드들의 미리 결정된 값을 재저장함으로써 활성화를 해제한다. 대안적으로, 활성화 제어의 해제시, 선택된 서브시스템들은 디폴트 모드나 활성화 레벨로 복귀할 수 있다. 흐름도는 이 후 76에서 종료한다.
대안적인 실시예들에서, 블록들(70,74)은 선택적이라는 점에 유의하라. 예를 들어, 일 실시예에서, 디버그 유닛(14)이 선택된 서브시스템들로부터 상태 정보에 대한 피드백을 수신하지 않는 경우, 블록(70)은 존재하지 않는다. 이러한 실시예에서, 블록(68)에서 활성화를 제어한 후, 디버그 유닛(14)은 블록(72)에서의 디버그 동작을 수행하기 전에 미리 결정된 시간량을 대기할 수 있다. 유사하게, 디버그 회로(14)가 활성화 제어를 적극적으로 해제할 필요가 없다면, 블록(74)은 선택적이다. 예를 들어, 활성화 제어는 디버그 동작을 완료할 때 다른 방법들을 사용하여 해제되거나 어드레싱될 수 있다.
요구된 서브시스템들은 디버그 명령을 내리기 전에 활성인 것으로 알려지기 때문에, 어떻게 핸드쉐이킹 제어 및 상태 정보를 포함하는 흐름도(60)의 폐-루프 동작이 디버그 동작이 적절히 진행할 수 있다는 것을 보장하는지가 이해될 수 있다. 또한, 전체 데이터 처리 시스템을 전력 상승할 필요 없이, 저전력 모드 동안 디버그 동작에 필요한 만큼의 서브시스템들의 서브세트만을 활성화함으로써 전력이 보존될 수 있다. 또한, 전술된 바와 같이, 흐름도(60)는 데이터 처리 시스템(10)의 동작 모드의 변경을 요구하지 않는다. 즉, 서브시스템 활성화 제어의 사용을 통해, 본원에서 기술된 실시예들은 데이터 처리 시스템의 동작 모드의 변경을 요구하지 않고 디버그 능력을 제공할 수 있고, 디버그 동안 전력 소모를 감소시키기 위한 능력을 제공하여, 개선되고 보다 정확한 디버깅을 달성한다.
전술된 명세서에서, 본 발명은 특정한 실시예들을 참조하여 기술되었다. 그러나, 당업자는 이하의 청구범위에서 설명된 바와 같은 본 발명의 범위를 벗어나지 않고 다양한 변경들과 변화들이 형성될 수 있다는 점을 알 수 있다. 예를 들어, 블록도들은 도시된 블록과는 상이한 블록들을 포함할 수 있고, 더 많거나 더 적은 블록들을 가지거나 상이하게 배열될 수 있다. 또한, 상이하게 배열된 더 많거나 더 적은 단계들을 포함하는 흐름도들은 또한 상이하게 배열되거나, 다수의 단계들로 분할될 수 있는 단계들이나 서로 동시에 수행될 수 있는 단계들을 가질 수 있다. 따라서, 명세서 및 도면들은 제한적이기보다는 예시적인 것으로 간주되고, 모든 상기 변경들은 본 발명의 범위 내로 포함되도록 의도된다.
이점, 다른 장점들, 및 문제점들에 대한 해결책들은 특정한 실시예들에 관해 전술되었다. 그러나, 상기 이점, 장점들, 문제들에 대한 해결책들, 및 임의의 이점, 장점, 또는 해결책을 발생 또는 더 표명되게 할 수 있는 요소들은 중요하거나 요구되거나 필수적인 임의 또는 모든 청구항들의 특징이나 요소로서 해석되지 않는다. 본원에서 사용된 바와 같이, 용어 "포함하다", "포함하는", 또는 그 임의의 다른 변형은, 요소들의 리스트를 포함하는 처리, 방법, 물건, 또는 장치가 그 요소들만을 포함하지 않고 상기 처리, 방법, 물건, 또는 장치에 대해 명백히 리스트되지 않거나 고유한 다른 요소들을 포함할 수 있도록, 배타적이지 않은 포함을 커버하도록 의도된다.

Claims (20)

  1. 복수의 서브시스템들을 갖는 데이터 처리 시스템을 디버그 동작 동안 제어하는 방법에 있어서,
    상기 디버그 동작 동안 활성화되는 상기 복수의 서브시스템들 중 선택된 서브시스템들을 선택하는 단계;
    상기 데이터 처리 시스템의 동작 모드를 변경하지 않고 상기 복수의 서브시스템들 중 상기 선택된 서브시스템들의 활성화를 제어하는 단계로서, 상기 활성화 제어는 클록의 속성을 변경하거나 또는 전력 소비의 변경을 개시하는 것 중 적어도 하나를 포함하는, 상기 활성화 제어 단계;
    상기 복수의 서브시스템들 중 상기 선택된 서브시스템들로부터 활성화 상태 정보를 제공하는 단계; 및
    상기 디버그 동작을 수행하는 단계를 포함하는, 데이터 처리 시스템 제어 방법.
  2. 데이터 처리 시스템에 있어서,
    복수의 서브시스템들; 및
    디버그 동작을 수행하는 수단으로서,
    상기 디버그 동작 동안 상기 복수의 서브시스템들 중 어느 것이 활성화될지를 선택하는 수단; 및
    상기 디버그 동작 동안 상기 복수의 서브시스템들 각각의 활성화를 개별적으로 제어하는 수단으로서, 상기 데이터 처리 시스템의 동작 모드는 활성화에 의해 변경되지 않고, 상기 복수의 서브시스템들 각각의 활성화를 개별적으로 제어하는 상기 수단은 상기 복수의 서브시스템들 중 적어도 하나에 제공된 클록의 속성을 변경하는 수단 또는 상기 복수의 서브시스템들 중 적어도 하나의 전력 사용을 변경하는 수단 중 적어도 하나를 포함하는, 상기 제어 수단을 포함하는, 상기 디버그 동작 수행 수단을 포함하는, 데이터 처리 시스템.
  3. 데이터 처리 시스템에 있어서,
    제 1 서브시스템;
    제 2 서브시스템; 및
    디버그 동작을 수행하는 디버그 유닛으로서,
    상기 제 1 서브시스템에 대한 상기 디버그 동작을 위해 클록 속성 또는 전력 속성 중 적어도 하나에 대응하는 제 1 활성화 제어 정보를 저장하는 제 1 제어 레지스터 필드;
    상기 제 2 서브시스템에 대한 상기 디버그 동작을 위해 클록 속성 또는 전력 속성 중 적어도 하나에 대응하는 제 2 활성화 제어 정보를 저장하는 제 2 제어 레지스터 필드;
    상기 제 1 서브시스템에 대한 상기 디버그 동작을 위해 제 1 활성화 상태 정보를 나타내는 제 1 상태 레지스터 필드;
    상기 제 1 서브시스템에 대한 상기 디버그 동작을 위해 제 2 활성화 상태 정보를 나타내는 제 2 상태 레지스터 필드를 포함하는, 상기 디버그 유닛을 포함하는, 데이터 처리 시스템.
  4. 데이터 처리 시스템에 있어서,
    제 1 서브시스템;
    제 2 서브시스템; 및
    디버그 동작을 위해 클록 속성 또는 전력 속성 중 적어도 하나에 대응하는 제 1 활성화 제어 정보를 상기 제 1 서브시스템에 제공하고 상기 디버그 동작을 위해 클록 속성 또는 전력 속성 중 적어도 하나에 대응하는 제 2 활성화 제어 정보를 상기 제 2 서브시스템에 제공하는 회로로서, 상기 제 1 활성화 제어 정보 및 상기 제 2 활성화 제어 정보는 상기 제 1 및 제 2 서브시스템들에 상이한 응답을 생성하고, 상기 제 1 및 제 2 활성화 제어 정보는 상기 데이터 처리 시스템에 동작 모드를 변경하도록 요청하지 않는, 상기 회로를 포함하는, 데이터 처리 시스템.
  5. 데이터 처리 시스템에 있어서,
    제 1 서브시스템;
    제 2 서브시스템; 및
    디버그 동작을 위해 클록 속성 또는 전력 속성 중 적어도 하나에 대응하는 제 1 활성화 제어 정보를 상기 제 1 서브시스템에 제공하고, 상기 디버그 동작을 위해 클록 속성 또는 전력 속성 중 적어도 하나에 대응하는 제 2 활성화 제어 정보를 상기 제 1 서브시스템에 제공하는 회로로서, 상기 회로는 상기 제 1 활성화 제어 정보를 제공하는 것에 응답하여 제 1 활성화 상태 정보를 수신하고, 상기 제 2 활성화 제어 정보를 제공하는 것에 응답하여 제 2 활성화 상태 정보를 수신하고, 상기 제 1 활성화 상태 정보는 상기 제 1 서브시스템의 활성화 레벨을 나타내고, 상기 제 2 활성화 상태 정보는 상기 제 2 서브시스템의 활성화 레벨을 나타내는, 상기 회로를 포함하는, 데이터 처리 시스템.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020057013637A 2003-01-24 2004-01-16 디버그 동안 데이터 처리 시스템을 제어하는 방법 및 장치 KR100993134B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/350,658 2003-01-24
US10/350,658 US6895530B2 (en) 2003-01-24 2003-01-24 Method and apparatus for controlling a data processing system during debug

Publications (2)

Publication Number Publication Date
KR20050100639A KR20050100639A (ko) 2005-10-19
KR100993134B1 true KR100993134B1 (ko) 2010-11-10

Family

ID=32735615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057013637A KR100993134B1 (ko) 2003-01-24 2004-01-16 디버그 동안 데이터 처리 시스템을 제어하는 방법 및 장치

Country Status (7)

Country Link
US (1) US6895530B2 (ko)
EP (1) EP1590912A2 (ko)
JP (1) JP2006516780A (ko)
KR (1) KR100993134B1 (ko)
CN (1) CN1742458B (ko)
TW (1) TWI338835B (ko)
WO (1) WO2004068279A2 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
KR100520082B1 (ko) * 2003-10-06 2005-10-11 삼성전자주식회사 컴퓨터 시스템
US7318172B2 (en) * 2004-08-31 2008-01-08 Broadcom Corporation Wireless remote firmware debugging for embedded wireless device
US9304773B2 (en) * 2006-03-21 2016-04-05 Freescale Semiconductor, Inc. Data processor having dynamic control of instruction prefetch buffer depth and method therefor
US7865704B2 (en) 2006-03-29 2011-01-04 Freescale Semiconductor, Inc. Selective instruction breakpoint generation based on a count of instruction source events
US7962786B2 (en) * 2006-11-17 2011-06-14 Nokia Corporation Security features in interconnect centric architectures
US20080141226A1 (en) * 2006-12-11 2008-06-12 Girouard Janice M System and method for controlling trace points utilizing source code directory structures
US7870455B2 (en) 2007-12-12 2011-01-11 Infineon Technologies Ag System-on-chip with master/slave debug interface
US7870434B2 (en) * 2008-02-29 2011-01-11 Freescale Semiconductor, Inc. Method and apparatus for masking debug resources
US7870430B2 (en) * 2008-02-29 2011-01-11 Freescale Semiconductor, Inc. Method and apparatus for sharing debug resources
US8441298B1 (en) 2008-07-01 2013-05-14 Cypress Semiconductor Corporation Analog bus sharing using transmission gates
US8135884B1 (en) 2009-05-04 2012-03-13 Cypress Semiconductor Corporation Programmable interrupt routing system
US9448964B2 (en) * 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8487655B1 (en) 2009-05-05 2013-07-16 Cypress Semiconductor Corporation Combined analog architecture and functionality in a mixed-signal array
US8179161B1 (en) 2009-05-05 2012-05-15 Cypress Semiconductor Corporation Programmable input/output circuit
US9612987B2 (en) * 2009-05-09 2017-04-04 Cypress Semiconductor Corporation Dynamically reconfigurable analog routing circuits and methods for system on a chip
CN102227740B (zh) * 2009-06-25 2014-06-11 松下电器产业株式会社 功率控制支持装置及功率控制支持方法
CN102270030B (zh) * 2010-05-07 2015-09-09 三星电子株式会社 片上系统、具有其的设备以及该片上系统的电力控制方法
KR20110124617A (ko) * 2010-05-11 2011-11-17 삼성전자주식회사 시스템-온-칩 및 그것의 디버깅 방법
US8601315B2 (en) * 2010-11-01 2013-12-03 Freescale Semiconductor, Inc. Debugger recovery on exit from low power mode
US9053233B2 (en) * 2011-08-15 2015-06-09 Freescale Semiconductor, Inc. Method and device for controlling debug event resources
US8826079B2 (en) * 2011-12-16 2014-09-02 Arm Limited Data processing apparatus and method for identifying debug events
US9213397B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system
US9507406B2 (en) * 2012-09-21 2016-11-29 Atmel Corporation Configuring power domains of a microcontroller system
US9213388B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Delaying reset signals in a microcontroller system
US9323312B2 (en) 2012-09-21 2016-04-26 Atmel Corporation System and methods for delaying interrupts in a microcontroller system
KR20150019457A (ko) 2013-08-14 2015-02-25 삼성전자주식회사 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 시스템
US9383807B2 (en) 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
US9483373B2 (en) * 2014-02-14 2016-11-01 Freescale Semiconductor, Inc. Debug configuration tool with layered graphical user interface
US9270553B1 (en) * 2014-03-26 2016-02-23 Amazon Technologies, Inc. Dynamic service debugging in a virtual environment
KR102210770B1 (ko) 2014-09-02 2021-02-02 삼성전자주식회사 반도체 장치, 반도체 시스템 및 그 제어 방법
US9632137B2 (en) * 2015-04-22 2017-04-25 Apple Inc. Serial wire debug bridge
US9892024B2 (en) * 2015-11-02 2018-02-13 Sony Interactive Entertainment America Llc Backward compatibility testing of software in a mode that disrupts timing
CN105549499A (zh) * 2016-03-03 2016-05-04 深圳市博巨兴实业发展有限公司 一种面向键控类应用的低功耗mcu-soc系统
CN115220978B (zh) * 2022-09-19 2023-02-03 瀚博半导体(上海)有限公司 包括在线调试模式的芯片启动方法和装置、芯片和设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680620A (en) 1995-06-30 1997-10-21 Dell Usa, L.P. System and method for detecting access to a peripheral device using a debug register
US5889988A (en) 1995-01-03 1999-03-30 Intel Corporation Debugger for debugging tasks in an operating system virtual device driver

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9320052D0 (en) * 1993-09-29 1993-11-17 Philips Electronics Uk Ltd Testing and monitoring of programmed devices
US5887146A (en) * 1995-08-14 1999-03-23 Data General Corporation Symmetric multiprocessing computer with non-uniform memory access architecture
US5828824A (en) 1996-12-16 1998-10-27 Texas Instruments Incorporated Method for debugging an integrated circuit using extended operating modes
US6026503A (en) * 1997-08-12 2000-02-15 Telrad Communication And Electronic Industries Ltd. Device and method for debugging systems controlled by microprocessors
US6279123B1 (en) * 1997-09-15 2001-08-21 Lucent Technologies, Inc. System for viewing and monitoring embedded processor operation
US6446221B1 (en) * 1999-05-19 2002-09-03 Arm Limited Debug mechanism for data processing systems
US6560712B1 (en) 1999-11-16 2003-05-06 Motorola, Inc. Bus arbitration in low power system
US6598180B1 (en) * 1999-12-30 2003-07-22 International Business Machines Corporation Method, system and program products for selectively debugging program versions executing with in a computing environment
US6732311B1 (en) * 2000-05-04 2004-05-04 Agere Systems Inc. On-chip debugger
JP3913470B2 (ja) * 2000-12-28 2007-05-09 株式会社東芝 システムlsi
US6823224B2 (en) * 2001-02-21 2004-11-23 Freescale Semiconductor, Inc. Data processing system having an on-chip background debug system and method therefor
US20020144235A1 (en) * 2001-03-30 2002-10-03 Charles Simmers Debugging embedded systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889988A (en) 1995-01-03 1999-03-30 Intel Corporation Debugger for debugging tasks in an operating system virtual device driver
US5680620A (en) 1995-06-30 1997-10-21 Dell Usa, L.P. System and method for detecting access to a peripheral device using a debug register

Also Published As

Publication number Publication date
CN1742458A (zh) 2006-03-01
WO2004068279B1 (en) 2004-11-25
WO2004068279A2 (en) 2004-08-12
WO2004068279A3 (en) 2004-09-30
JP2006516780A (ja) 2006-07-06
CN1742458B (zh) 2010-09-29
TW200422819A (en) 2004-11-01
TWI338835B (en) 2011-03-11
US20040148548A1 (en) 2004-07-29
KR20050100639A (ko) 2005-10-19
EP1590912A2 (en) 2005-11-02
US6895530B2 (en) 2005-05-17

Similar Documents

Publication Publication Date Title
KR100993134B1 (ko) 디버그 동안 데이터 처리 시스템을 제어하는 방법 및 장치
US20200159279A1 (en) Low power autonomous peripheral management
KR101095738B1 (ko) 저전력 모드로 들어가게 하기 위한 방법 및 장치
JP4837780B2 (ja) マスタおよびスレーブを有するデータ処理デバイスにおける電力管理
US5561384A (en) Input/output driver circuit for isolating with minimal power consumption a peripheral component from a core section
CN101558366B (zh) 直接存储器存取控制器
KR100329344B1 (ko) 전원관리장치및방법
EP1785811B1 (en) Memory information transfer power management
US5898232A (en) Input/output section of an integrated circuit having separate power down capability
US20090164817A1 (en) Interrupt controller
JPH0667768A (ja) バスユニットと実行ユニットとを含むタイプのプロセッサを動作させる方法、中央処理装置、コンピュータシステム、およびクロック制御装置回路
US7870400B2 (en) System having a memory voltage controller which varies an operating voltage of a memory and method therefor
US20140095896A1 (en) Exposing control of power and clock gating for software
US20090044030A1 (en) Apparatus for dynamic power management in an execution unit using pipeline wave flow control
US20070130482A1 (en) Idle Mode for Power Management
US10732697B2 (en) Voltage rail coupling sequencing based on upstream voltage rail coupling status
EP3759713A1 (en) Dynamic memory power management
CN107544658B (zh) 用于控制电源域的电源控制电路
US20070038795A1 (en) Asynchronous bus interface and processing method thereof
KR100591524B1 (ko) 버스 구조하에서 다이나믹 클록 게이팅이 가능한 슬레이브장치 및 그 동작방법
US9733690B2 (en) Communication device which decreases power comsumption by powering off unused functions when device is inactive
US20060206644A1 (en) Method of hot switching data transfer rate on bus
GB2308469A (en) Power conserving clocking system
US8667319B2 (en) System and method for clock control for power-state transitions

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131023

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141023

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151023

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161021

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee