KR20060092253A - 전력 인디케이터 기반 동적 프로그램 억제를 이용하는컨버전스 장치 - Google Patents
전력 인디케이터 기반 동적 프로그램 억제를 이용하는컨버전스 장치 Download PDFInfo
- Publication number
- KR20060092253A KR20060092253A KR1020067007770A KR20067007770A KR20060092253A KR 20060092253 A KR20060092253 A KR 20060092253A KR 1020067007770 A KR1020067007770 A KR 1020067007770A KR 20067007770 A KR20067007770 A KR 20067007770A KR 20060092253 A KR20060092253 A KR 20060092253A
- Authority
- KR
- South Korea
- Prior art keywords
- program
- capacity
- execution
- given
- core
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
- Power Sources (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
배터리 또는 다른 파워 소스를 포함하는, 그리고 하나 이상의 프로세서를 포함하는 컨버전스 장치에서 프로그램 실행을 억제함으로써 전력을 보존하기 위한 기술. 상기 프로세서는 음성 콜 통신 기능에 연계된 프로세싱 동작을 수행하도록, 그리고 데이터 통신 기능에 연계된 프로세싱 동작을 수행하도록 설정되며, 핵심 프로그램 및 비핵심 프로그램을 실행하도록 동작한다. 상기 컨버전스 장치는 데이터 통신 기능에 연계된 다수의 프로그램 중 하나 이상의 주어진 프로그램과, 상기 주어진 프로그램과 같은 기능을 수행하나 서로 다른 전력 소스 용량을 갖는 하나 이상의 교체용 용량 프로그램에 대한 식별자를 저장한다. 남아 있는 용량 또는 전력 소스의 다른 특징을 표시하는 전력 인디케이터 에 기반하여, 음성 콜 통신 기능에 대해 전력 소스 용량의 사용 가능한 양이 증가되도록, 기 주어진 프로그램의 실행은 교체용 용량 프로그램의 실행으로 대체될 수 있다.
Description
본 발명은 프로세서 기반 통신 장치에 관한 것이며, 더 세부적으로는, 여러 다른 매체를 통해, 음성, 데이터, 오디오, 비디오 및 그 밖의 다른 정보를 처리하기 위해 설정된 통신 장치를 포함할 수 있는 컨버전스 장치(convergence device)에 관한 것이다.
컨버전스 장치는 여러 다른 통신과 멀티미디어 데이터 프로세싱 기능을 수행하는 것이 통상적이다. 이러한 장치의 한 가지 예로는, 셀룰러 음성 콜 통신 기능에 연계되어 있는 프로그램뿐 아니라, 멀티미디어 응용 프로그램 또는 데이터 통신 기능에 연계되어 있는 다른 프로그램을 운용할 수 있는 프로세스가 포함되는 “스마트”전화기가 있다. 예를 들어, 상기 스마트 전화기는 기본적인 셀룰러 전화기 음성 콜 또한 제공하면서, 사용자가 이메일을 수신하고, 인터넷을 검색하고, 개인 정보를 관리하며, 텍스트 메시지를 이용할 수 있도록 설정될 수도 있다.
이러한 종류의 컨버전스 장치의 더 세부적인 예를 들자면, 근래에 개발된 고속 CDMA 통신 시스템의 무선 모바일 유닛, 가령, 3세대 파트너십 프로젝트(3GPP: 3rd Generation Partnership Project)인 광대역 CDMA(WCDMA: Wideband CDMA)가 있 으며, 이는 3GPP 기술 문서 TS 25.1xx에 설명되어 있고, 본원에서 이를 참조한다. 컨버전스 장치는 셀룰러 통신 기능성을 대체하여 또는 셀룰러 통신 기능성에 추가하여, IEEE 802.11 표준에 따르는 무선 네트워킹 기능성을 포함한다. 본원에서 IEEE 802.11 또는 그 밖의 다른 적합한 무선 네트워킹 표준을 참조한다.
컨버전스 장치는 JAVA 또는 그 밖의 다른 객체 지향 프로그래밍 언어로 써진 하이-레벨 프로그램 애플리케이션 코드뿐 아니라, 신호 프로세싱 작동에 연계되어 있는 DSP(digital signal processor) 코드를 포함해 많은 여러 다른 종류의 코드의 실행을 요구한다.
멀티스레드 프로세서는 U.S. Patent Application Serial No. 10/269372, filed October 11, 2002 and "Multithreaded Processor With Efficient Processing For Convergence Device Applications"에서 설명된 컨버전스 장치에서 사용되기 특히 적합하며, 이를 본원에서 함께 인용한다. U.S. Patent Application Serial No. 10/269372에서 설명된 멀티스레드 프로세서의 실제 실시예에 의해, RISC 기반 제어 코드, DSP 코드, JAVA 코드, 네트워크 프로세싱 코드를 실행할 수 있다. 이러한 프로세서는 SIMD(single instruction multiple data) 벡터 유닛, 축소 유닛, 명령어 실행을 합성하는 LIW(long instruction word)를 포함한다.
컨버전스 장치는 배터리 전력에 의해 작동되도록 설정되는 것이 통상적이다. 배터리 수용량이 감소함에 따라, 상기 장치가 음성 콜 통신 수용량의 특정 최소치를 유지하는 것이 바람직하다. 일반적으로, 데이터 통신 기능에 연계되어 있는 프로세싱, 가령, 멀티미디어 애플리케이션 프로세싱은 더 많은 컴퓨터연산을 위한 수 용량을 요구하며, 그에 따라 셀룰러 음성 콜 통신에서보다 더 많은 배터리 전력을 소비한다.
불행히도, 종래의 전력 보존 기법은 컨버전스 장치의 특별한 설정 및 기능을 지원하도록 설계되어지지 않으므로 이러한 장치에 최적 성능을 제공하지 못한다. 따라서 개선된 전력 보존 기법이 컨버전스 장치를 사용함에 있어 필요하다.
본 발명은 프로세서 기반 컨버전스 장치에서 배터리 또는 다른 전력 소스를 보존하기 위한 개선된 기술을 제공한다.
본 발명의 한 태양에 따라, 배터리 또는 다른 전력 소스와 하나 이상의 프로세서를 포함하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하기 위해 기술이 제공된다. 프로세서는 멀티스레드 프로세서 또는 다른 종류의 프로세서를 포함할 수 있다. 상기 프로세서는 음성 콜 통신 기능에 연계된 프로세싱 동작을 수행하도록, 데이터 통신 기능에 연계된 프로세싱 동작을 수행하도록 설정되며, 상기 프로세서는 핵심 프로그램 및 비핵심 프로그램을 실행하도록 동작된다.
핵심 프로그램은 예를 들어, 프로세서상에서 실행되는 운영 체제, 컨버전스 장치의 GUI(graphical user interface), 음성 콜 통신 기능의 하나 이상의 기능 중 하나 이상을 구현하도록 이용되는 프로그램을 포함한다.
비핵심 프로그램은 전력 소스 용량에 기반하여 두 개의 카테고리로 분류될 수 있으며, 상기 두 개의 카테고리에는 제 1 용량에서의 카테고리와 제 2 용량에서의 카테고리가 포함되며, 상기 제 1 용량은 상기 제 2 용량보다 더 낮다. 다수의 비핵심 프로그램의 하나 이상의 부분 집합 각각은 실행 상태, 보류 상태, 수면 상태를 포함하는 다수의 상태 중 하나일 수 있다.
동작 중에, 상기 컨버전스 장치는 데이터 통신 기능에 연계된 다수의 비핵심 프로그램 중 하나 이상의 주어진 프로그램에 대해 상기 주어진 프로그램과 같은 기능을 수행하나 서로 다른 전력 소스 용량을 갖는 하나 이상의 교체용 용량 프로그램의 식별자를 저장하고, 전력 소스의 특성을 표시하는 전력 인디케이터에 기반하여, 상기 주어진 프로그램의 실행을 상기 교체용 용량 프로그램의 실행으로 대체하며, 그에 따라 음성 콜 통신 기능에 대해, 전력 소스 용량의 사용가능한 양이 증가한다. 가령, 전력 인디케이터가 제 1 임계값 아래에 있을 경우, 상기 주어진 비핵심 프로그램의 실행이 상기 주어진 프로그램보다 더 낮은 전력 소스 용량을 갖는 교체용 용량 비핵심 프로그램의 실행으로 대체된다. 이와 유사하게, 상기 전력 인디케이터가 제 1 임계값 아래에 있지 않을 경우, 상기 주어진 비핵심 프로그램의 실행은 상기 주어진 프로그램보다 더 높은 전력 소스 용량을 갖는 교체용 용량 프로그램의 실행으로 대체된다.
본 발명의 실시예에서, 상기 데이터 통신 기능은 하나 이상의 특정 데이터 전송률, 특정 재생 빈도 및 특정 디스플레이 분해능에서의 멀티미디어 프로세싱에 연계된 하나 이상의 기능을 포함한다. 상기 주어진 프로그램은 멀티미디어 프로세싱을 특정 데이터 전송률, 재생 빈도 또는 디스플레이 분해능에서 수행할 수 있고, 상기 주어진 프로그램과 같은 기능을 수행하는 교체용 용량 프로그램은 멀티미디어 프로세싱을 상기 주어진 프로그램과 서로 다른 데이터 전송률, 재생 빈도, 디스플레이 분해능에서 수행할 수 있다.
본 발명의 또 다른 태양에 따라, 상기 전력 인디케이터가 제 1 임계값 보다 낮은 제 2 임계값 아래에 있을 경우, 주어진 비핵심 프로그램 및 교체용 비핵심 프로그램은 수면 상태로 설정된다. 또는, 상기 전력 인디케이터가 제 2 임계값 아래 있지 않을 경우, 수면 상태를 갖는 임의의 비핵심 프로그램은 보류 상태로 설정된다. 상기 제 2 임계값은 하나 이상의 음성 콜 통신 기능을 계속 하기 위해 최소 수용 가능한 용량을 표시한다.
본 발명의 기술에 의해, 주어진 배터리 용량 레벨에서,컨버전스 장치가 음성 콜 통신 기능을 제공하기 위한 시간 주기를 바람직하게 증가시킬 수 있다.
도 1은 본 발명이 구현하는 프로세서 기반 컨버전스 장치의 한 가지 예를 도식한 도면이다.
도 2는 도 1의 컨버전스 장치의 멀티스레드 프로세서의 실시예를 다 자세히 도식한 도면이다.
도 3은 특정 통신 기능에 대한 프로세서의 이용률(%)을 도식한 그래프이다.
도 4는 본 발명에 따른 도 1의 컨버전스 장치에서 구현된 동적 프로그램 억제 프로세스의 흐름도이다.
본 발명이 본원에서 멀티스레드 프로세서를 포함하도록 설정된 컨버전스 장치의 예를 들어 구현될 것이다. 그러나 본 발명은 특정한 컨버전스 장치 및 멀티스 레드 프로세서의 사용을 요구하지는 않으며, 본 발명은 배터리 전력(또는 다른 종류의 전력)의 개선된 보존을 제공하는 임의의 프로세서 기반 컨버전스 장치를 사용함에 있어 더 일반적으로 적합하다. 본원에서 사용되는 용어“컨버전스 장치(convergence device)”는 모바일 전화기, PDA(personal digital assistant), 휴대용 컴퓨터 또는 음성 콜 통신과 데이터 통신 기능을 모두 갖는 다른 종류의 프로세서 기반 통신 장치를 제한 없이 포함한다.
도 1은 본 발명의 실시예를 따르는 컨버전스 장치(100)를 도식한다. 상기 컨버전스 장치는 메인 메모리(104)에 연결된 프로세서(102)를 포함한다. 또한, 하나 이상의 트랜시버(105), 하나 이상의 네트워크 인터페이스(106), 배터리(108)의 용량을 모니터하는 배터리 모니터(107)에 프로세서(102)는 연결되어 있다.
상기 트랜시버(105)는 가령, WCDMA 통신 기능 같은 셀룰러 통신 기능에, 또는 컨버전스 장치에서 구현되는 다른 종류의 음성 콜 통신 기능에 연계되어 있을 수 있다.
상기 배터리 모니터(107) 및 배터리(108)는 설계상으로 종래의 것일 수 있고, 상기 구성요소의 수많은 가능한 구현 예들이 당업자에게는 명확히 이해될 것이다. 일반적으로, 상기 배터리 모니터(107)는 배터리 인디케이터라 일컬어지는 하나 이상의 배터리 인디케이터 신호를 생성하며, 이는 남아 있는 배터리의 용량을 표시할 수 있고, 또는 다른 종류의 남아 있는 전력 레벨 또는 배터리(108)의 다른 용량의 레벨을 표시한다. 상기 배터리 인디케이터는 본원에서는 더 일반적으로 전력 인디케이터라 일컬어진다. 본 발명은 임의의 특정 종류의 전력 인디케이터를 요구하 지 않으며, 당업자가 알고 있는 다양한 인디케이터를 구동하는 방식대로 설정될 수 있다. 또한, 본 발명은 배터리가 아닌 다른 전력원을 갖고 사용될 수 있다. [20] 상기 컨버전스 장치(100)는 SDR(software defined radio) 기법을 이용하도록 설정될 수 있으며, 상기 기법은 예를 들어 다음에서 설명되었으며, 본원에서 이를 참조한다. J. Glossner, D. Iancu, J. Lu, E. Hokenek, M. Moudgill, "A Software Defined Communications Baseband Design," IEEE Communications Magazine, Vol.41, No.1, pages 120 ~ 128, January, 2003, 그리고 J. Glossner, E. Hokenek, M. Moudgill, "Multithreaded Processor for Software Defined Radio," Proceedings of the 2002 Software Defined Radio Technical Conference, VolumeⅠ, pp.195 ~ 199, November 11 ~ 12, 2002, San Diego, California
앞서 명시된 참고 문헌에서 설명된 SDR 기법을 구현하는 바람직한 집적 회로 프로덕트가 Sandbridge Technologies Inc.(USA, New York, White Plains)의 SB9600TM 베이스밴드 프로세서이다.
도 2는 프로세서(102)의 하나의 가능한 구현예를 더 세부적으로 도식한 도면이다. 가령, 앞서 표시한 바와 같이, 멀티스레드 프로세스를 사용하는 것이 본 발명에서 요구하지 않는다 할지라도, 프로세서(102)가 멀티스레드 프로세서로서 구현된다. 상기 멀티스레드 프로세서는 멀티스레드 캐쉬 메모리(110), 데이터 메모리(112), 캐쉬 제어기(114), 명령어 디코더(116), 레지스터 파일(118), ALU(arithmetic logic unit)의 집합(120)을 포함한다. 또한, 상기 멀티스레드 캐쉬 메모리(110)는 본원에서 멀티스레드 캐쉬라고도 일컬어진다.
상기 멀티스레드 캐쉬(110)는 다수의 스레드 캐쉬(110-1, 110-2, ...110-N)를 포함하며, 이때 N은 일반적으로 멀티스레드 프로세서(102)를 기반으로 하는 스레드의 숫자를 명시한다. 그러므로 각 스레드는 그곳에서 멀티스레드 캐쉬(110)에 연계된 그에 대응하는 스레드 캐쉬를 갖는다. 이와 유사하게, 데이터 메모리(112)는 데이터 메모리(112-1, 112-2,...112-N)로 표시되는 N개의 구별되는 데이터 메모리 인스턴스를 포함한다.
멀티스레드 캐쉬(110) 내부의 각각의 스레드 캐쉬는 하나 이상의 메모리 위치 집합을 갖는 메모리 어레이를 포함할 수 있다. 상기 스레드 캐쉬는 추가로 포함하거나 아니면 그곳에 연계된 스레드 식별자 레지스터를, 연계된 스레드 식별자를 저장하기 위해 가질 수 있다.
상기 멀티스레드 캐쉬(110)는 캐쉬 제어기(114)를 통해 메인 메모리(104)와 인터페이싱한다. 상기 캐쉬 제어기(114)는 메인 메모리(104)로부터의 적합한 명령어가 멀티스레드 캐쉬(110)로 로딩됐다는 것을 보증한다. 본 실시예의 상기 캐쉬 제어기(114)는 개별 스레드 캐쉬(110-1, 110-2,...110-N)에 연계되어 있는 논리 회로 또는 다른 프로세싱 구성 요소와 연합하여 동작하며, 상기 캐쉬 제어기(114)는 주소 사상 기법의 일부분, 가령, 완전 연관 매핑(fully associative mapping), 직접 매핑, 집합-연관 매핑(set-associative mapping)을 구현할 수 있다.
본원에서 참고로 인용되는 U.S. Patent Serial Nos. 10/161774, June 4, 2002 및 10/161874, June 4, 2002에서 설명된 집합-연관 매핑 기법은 본 발명에 연계되어 사용되기 적합하다.
일반적으로, 멀티스레드 캐쉬(110)는 멀티스레드 프로세서(102)에 의해 실행될 명령어들을 저장하기 위해 사용되며, 데이터 메모리(112)에는 상기 명령어들에 의해 작동될 데이터가 저장된다. 명령어 디코더(116)에 의해 명령어들이 멀티스레드 캐쉬(110)로부터 페칭(fetching)되며, 상기 명령어 디코더(116)는 종래 방식으로 명령어들의 실행을 제어하면서, 레지스터 파일(118) 및 ALU(120)와 연계하여 작동한다. 멀티스레드 프로세서 구성요소, 가령, 명령어 디코더(116), 레지스터 파일(118), ALU(120)는 기존 기술 분야에서도 잘 알려져 있기 때문에 본원에서는 더 자세히는 다루지 않는다.
비록 도면상에 명확히 도시되어 있지 않더라도, 데이터 메모리(112)는 메인 메모리(104)에 직접 연결되어 있는 것이 통상적이다.
메모리(104, 110, 112)중 하나 이상의 메모리는 다수의 뱅크 또는 지정된 부분을 포함하도록 각각 설정될 수 있다. 예를 들어, 각 뱅크는 하나 이상의 메모리 모듈 또는 단일 메모리 모듈의 특정 부분으로 구성된 듯이 보여질 수 있다.
상기 메모리들 또는 멀티스레드 프로세서에 연계된 다른 메모리의 스레드 기반 뱅킹에 대한 기법은 U.S. Patent Application Serial No.10/269247, filed October 11, 2002, entitled " Method and Apparatus for Thread-Based Memory Access in a Multithreaded Processor,"에서 설명되어 있으며, 본원에서 참고로 인용된다.
용어“메모리(memory)”는 본원에서 내부 또는 외부 메모리, 캐쉬 메모리, 데이터 메모리, 또는 그 밖의 다른 데이터 저장 구성 요소를 아우르도록 정의된다. 본 발명은 임의의 특정 메모리 종류, 구성, 애플리케이션에 의해 제한받지 않는다. 그러나 메모리가 레지스터 파일(118)을 포함하는 만큼(도 2), 레지스터와 구별되는 프로세서 기술 분야에서 메모리가 이해되는 것이 일반적이다.
레지스터 파일로의 스레드 기반 액세스에 대한 기법이 U.S. Patent Application Serial No.10/269373, filed October 11, 2002, entitled "Method and Apparatus for Register File Port Reduction in a Multithreaded Processor,"에서 설명되어 있으며, 본원에서 이를 참고로 인용한다.
도 1 및 2에서 도식된 특정 배열은 실시예를 명확하게 하기 위해 간략화된 것이며, 추가적이거나 대안 구성용소가 포함될 수 있음이 명백하다.
본 발명은 도 2에 도식된 특정 멀티스레드 프로세서 구성을 요구하는 것이 아니다. 본 발명은 다른 멀티스레드 또는 비-멀티스레드 프로세서 구성을 구현할 수 있다.
도 2에서 도식된 종류의 멀티스레드 프로세서의 예 그리고 본 발명과 연계되어 사용하기 적합한 예가 U.S. Patent Application Serial No.10/269372에 설명되어 있다.
상기 멀티스레드 프로세서(102)는 토큰 트리거 스레딩(token triggered threading)이라 일컬어지는 스레딩 접근, 또는 그 밖의 다른 적합한 스레딩 기법을 이용하도록 설정될 수 있다. 이러한 스레딩과 연계하여 파이프라이닝(pipelining)이 사용되는 것이 바람직하다. 본 발명에서 사용되는 적합한 스레딩과 파이프라이 닝 기법의 예가 U.S. Patent Application Serial No.10/269245, filed October 11, 2002, entitled "Method and Apparatus for Token Triggered Multithreading,"에서 설명되며, 본원에서 참고로 인용된다.
멀티스레드 프로세서에서, 상기 스레드는 소프트웨어뿐 아니라 하드웨어에 관해서도 나타날 수 있는 것이 일반적이다. 상기 스레드에 연계된 특정 프로세서 하드웨어는 하드웨어 스레드 유닛 또는 간단하게“컨텍스트(context)”라고 일컬어진다. 본원에서 사용되는 용어“스레드(thread)”는 소프트웨어 또는 하드웨어, 또는 둘 다를 의미한다.
본 발명의 태양에 따라, 본 발명은 컨버전스 장치(100)에서의 전력 보존에 대한 개선된 기법을 제공한다. 더 세부적으로, 본 발명의 실시예가 배터리 모니터(107)에 의해 생성되는 전력 인디케이터에 기반하는 동적 프로그램 억제(dynamic program throttling)에 대한 기법을 제공한다.
본원에서 앞서 언급한 바와 같이, 장치(100)와 같은 컨버전스 장치에서, 배터리 용량이 감소함에 따라, 음성 콜 통신 수용력의 특정 최소치를 유지하는 것이 바람직하다. 또한, 멀티미디어 애플리케이션 프로세싱 또는 데이터 통신에 관련된 그 밖의 다른 종류의 프로세싱은 컴퓨터 연상을 위해 더 많은 용량을 요구함으로, 음성 콜 셀룰러 통신에서보다 더 많은 배터리 전력이 소비된다.
셀룰러 음성 콜 수용력을 확인하기 위해서 본 발명에서 사용될 수 있는 기법이 주어진 배터리 용량에 대한 가능한 긴 시간 주기 동안 제공된다. 상기 프로세서(102)는 핵심적이지 않은 프로그램들을 억제하도록 설정되며, 그에 따라 전력 인 디케이터에 기반하여, 이러한 프로그램들이 실행되는 것을 방지할 수 있다.
도 3은 특정 데이터 통신 기능에 대한 예제 프로세서의 이용률(%)을 나타내는 그래프를 도식한다. 이번 경우에서 사용된 프로세서는 Sandbridge Technologies SB9600TM 베이스밴드 프로세서이다. 상기 프로세서는 1초당 96억 개의 MAC(multiply-accumulate) 연산 작업을 제공하는 다수의 멀티스레드 프로세서 코어를 포함하며, 상기 프로세서는 여러 다른 통신 프로토콜에 연계되어 있는 베이스밴드 프로세싱을 구현하는데 사용될 수 있다.
도 3에 도식된 그래프는 두 가지 셀룰러 프로토콜, 즉, WCDMA와 GPRS(general packet radio service), 그리고 무선 LAN 프로토콜인 IEEE 802.11b 를 사용하는 각각의 데이터 통신에 대해서 SB9600TM 베이스밴드 프로세서의 이용률(%)을 다양한 비트 전송률에서 나타낸다. 각각의 셀룰러 프로토콜에서의 음성 콜은 데이터 통신에서의 어떤 것보다 더 작은 이용률을 나타낸다. 이것은 중요한데 왜냐하면, 이용률이 더 높을수록, 에너지 손실은 더 많아지고, 배터리 수명은 더 짧아지기 때문이다.
SB9600TM 베이스밴드 프로세서는 음성 콜 통신과, 멀티미디어 데이터 프로세싱 또는 소프트웨어 기반의 멀티스레드 프로세서 코어에서 주로 구현되는 그 밖의 다른 데이터 통신 기능이 모두 존재하는 프로세서의 한 예이다.
소프트웨어적으로 음성 콜 통신과 데이터 통신 동작이 모두 구현되는 음성 컨버전스 장치에서, 주요 배터리 자원이 감소됨에 따라, 데이터 통신 기능에 의해 소모되는 에너지를 제어할 수 있는 것이 바람직하다. 바람직하게도, 이는 특정 시간 동안의 음성 콜 통신 수용력의 최소 기능을 가능하게 해준다.
예를 들자면, 완전 충전했을 경우, 통상적인 컨버전스 장치 배터리는 음성 콜 통신에 대해 8시간, 그리고 데이터 통신에 대해 2시간 동안 지속될 수 있다. 1시간 동안 데이터 통신을 했을 경우, 이는 음성 콜 통신 용량 또한 4시간으로 감소시킬 것이다.
본 발명의 동적 프로그래밍 억제 기법을 사용할 때, 배터리 용량이 지시된 레벨 아래로 떨어질 때, 데이터 통신은 제어되는 것이 바람직하며, 이는 가능한 충분히 긴 시간 주기 동안 기본 음성 통신 기능을 보존시키기 위한 것이다.
동적 프로그램 억제 기법이 도 4를 참조하여 설명된다. 도 4는 본 발명의 실시예에 따른, 동적 프로그램 억제 프로세스에 대한 흐름도(400)이다.
다음에서, 프로세서(102)상에서 실행되는 명령어들의 시퀀스가 하나의 프로시저를 포함하며, 상기 프로시저와 그에 적용된 데이터는 함께 하나의 태스크를 포함한다. 일반적으로, 상기 프로시저 또는 태스크는 본원에서 프로그램이라 일컬어진다. 본원에서 사용되는 용어“프로그램(program)”은 명령어의 임의의 집합 또는 다른 종류의 코드를 포함한다. 컨버전스 장치(100)는 음성 콜 통신에 연계된 태스크뿐 아니라, 멀티미디어 프로세싱 또는 데이터 통신에 관련된 다른 종류의 프로세싱에 연계된 태스크도 실행한다고 가정된다.
일반적으로, 도 4의 동적 프로그램 억제 프로세스의 실행 전에, 태스크는 2개 이상의 카테고리로 분류된다. 본 실시예에서는, 태스크가 2 개의 카테고리, 즉, 핵심과 비핵심으로 분류된다. 그렇지만 그 밖의 다른 카테고리들이 사용될 수 있다.
핵심 태스크는 충분한 배터리 용량이 남아 있는지 아닌지를 항상 실행해야만 하는 태스크이다. 핵심 태스크의 예에는 프로세서(102)에서 실행되는 운영 체제, 컨버전스 장치(100)의 GUI, 음성 콜에 관련된 통신 프로세싱 태스크가 포함된다.
비핵심 태스크가 용량에 의해 또한 분류될 수 있다. 비핵심 태스크의 한 가지 예로는 멀티미디어 프로세싱, 또는 데이터 통신에 연계된 다른 종류의 프로세싱이 있으며, 이는 다수의 재생 빈도(refresh rate)에서 동작할 수 있고, 분해능을 디스플레이할 수 있다. 더 세부적인 예로는, 초당 10프레임의 MPEG 비디오와 240x180 분해능에 비교되는 초당 30프레임의 MPEG 비디오와 640x480 분해능을 포함하는 프로세싱이 있다. 또 다른 예는 64kbps 또는 192kbps에서의 모노 또는 스테레오 음향 오디오이다. 또 다른 예는 다중 데이터 전송률에서 작동할 수 있는 데이터 통신 프로세싱이다(가령, 1, 2, 5.5 또는 11 Mbps에서 작동하는 802.11b). 비핵심 태스크의 이러한 집합들의 구분되는 특징은 컴퓨터 연산 요구가 품질 또는 성능에 대해 변하지만, 기초 소프트웨어는 요구되는 용량을 제외하고 변하지 않는다는 것이다.
비핵심 태스크의 리스트가 프로세서(102)의 내부 메모리에, 또는 메인 메모리(104)에 또는 컨버전스 장치의 그 밖의 어느 곳에서 유지된다. 핵심 태스크의 리스트 역시 유지될 수 있다. 태스크 실행 시 소모되는 배터리 용량에 기반하여, 비핵심 태스크는 낮은 용량 또는 높은 용량으로 특정될 수 있다. 용량에 기반하여 여 러 다른 카테고리로 분류되는 비핵심 태스크의 다른 구조가 사용될 수 있다.
본원에서 주어진 태스크 또는 다른 프로그램을 참조하여 사용되는 용어“용량(capacity)”은 상기 프로그램의 용량 이용 및 상기 프로그램의 용량 관련 특징을 특정하는 그 밖의 어떤 정보라도 포함한다. 그러므로 주어진 프로그램에 연계된 전력 소스 용량은 예들 들어 상기 프로그램에서 사용되는 전력 소스 용량, 또는 상기 프로그램이 요구하는 최소(또는 적정) 전력 소스 용량, 또는 상기 프로그램을 포함하는 용량 카테고리에 할당된 임의 다른 종류의 용량 레벨을 참조할 수 있다.
주어진 비핵심 태스크는 그에 관련된 여러 다른 상태 설정 중 하나를 가질 수 있으며, 그 예로는 실행(excuting), 보류(pending), 수면(sleeping) 상태가 있다. 실행 상태에서의 태스크는 활성화되며 프로세서상에서 실행된다. 보류 상태의 태스크는 아직 실행 상태는 아니지만, 충분한 프로세서 자원이 확보되자마자 실행될 것이다. 수면 태스크는 프로세서 메모리로 로딩되지만, 운영 체제가 태스크 상태를 전화시켜 줄 때까지 보류 상태로 전환되는 것을 허락받지 못하는 태스크이다.
그러나 도 4에서 도식된 특정 태스크(또는 프로그램 설정), 용량 레벨 및 상태 설정은 단지 예일 뿐이며, 그 밖의 다른 배치가 또 다른 실시예에서 사용될 수 있다.
흐름도(400)를 참조하여, 스텝(402)에서 배터리 인디케이터가 체크된다. 앞서 언급한 바와 같이, 상기 배터리 인디케이터는 남아 있는 배터리 용량의 퍼센티지를 특정하거나, 상기 배터리 인디케이터는 배터리 용량을 나타내는 다른 적합한 포맷으로 존재할 수 있다. 일반적으로, 상기 배터리 용량이 특정 임계값(본원에서 는 임계값 1) 아래로 내려갈 경우, 현재 실행되는 비핵심 태스크와 같은 기능을 수행하는 더 낮은 용량을 소모하는 대안적인 비핵심 태스크가 존재할 수 있으며, 상기 현재 실행되는 더 높은 용량 태스크는 낮은 용량 태스크로 대체된다. 이와 유사한 방식으로, 배터리 용량이 임계값 1보다 높고 대안적인 높은 용량 태스크가 현재 실행되는 더 낮은 용량 태스크에 대해 존재하는 경우, 상기 더 낮은 용량 태스크는 상기 더 높은 용량 태스크로 대체된다.
도 4를 참조하여, 동적 프로그램 억제 프로세스의 이러한 부분이 스텝(404)에서 스텝(416)에 걸쳐 구현된다. 배터리 전력은 보존하면서 같은 기능을 수행할 수 있도록 하기 위해, 단일 실행 태스크가 다수의 교체용 용량 태스크로 대체되거나, 다수의 실행 태스크가 단일 교체용 용량 태스크로 대체될 수도 있다.
더 세부적으로, 스텝(404)에서 배터리 용량이 임계값 1보다 적게 결정될 경우, 스텝(406)에서 비핵심 태스크 리스트를 체크하며, 스텝(408)에서는 같은 기능을 수행하는 교체용 용량 비핵심 태스크 또는 태스크들의 집합이 존재하는 지를 결정하며, 그럴 경우, 스텝(410)에서, 하나 이상의 식별된 낮은 용량 태스크를 하나 이상의 현재 실행되는 태스크를 대체하는 비핵심 태스크로부터 로딩한다. 이와 유사하게, 스텝(404)에서, 배터리 용량이 임계값 1보다 작지 않을 경우, 스텝(412)에서, 비핵심 태스크 리스트를 체크하고, 스텝(414)에서, 같은 기능을 수행하는 교체용 용량 비핵심 태스크 또는 태스크들의 집합이 존재하는 지를 판단하고, 그럴 경우에는, 스텝(416)에서, 하나 이상의 식별된 높은 용량 태스크를, 하나 이상의 현재-실행 태스크를 대체하여 실행하기 위해, 비핵심 태스크 리스트에서 로딩한다. 스텝(408) 또는 스텝(414)에서, 현재 실행되는 태스크의 기능을 수행하는 교체용 용량 태스크가 없을 경우, 각각 스텝(410)과 스텝(416)은 통과되고 다음 스텝(418)으로 진행한다.
앞서 언급한 바와 같이, 용량에 기반하여 두 개의 카테고리로 분리된 비핵심 태스크의 실행을 제어하기 위해, 스텝(404)에서 스텝(416)까지 수행되는 프로세스의 일부분에서 단일 임계값, 즉, 임계값 1이 사용된다. 그러나 또 다른 실시예에서 용량 카테고리의 수를 증가시킴에 따라 다수의 임계값이 사용될 수도 있다.
스텝(418)에서, 배터리 용량이 두 번째 임계값, 즉 임계값 2보다 작은지를 판단한다. 이러한 두 번째 임계값은 최소 수용가능한 용량을 나타내며, 지정된 시간 주기 동안의 컨버전스 장치의 음성 콜 수용량이 허용되는 용량에 따라 결정된다. 일반적으로, 배터리 용량이 최소 수용가능한 용량보다 작을 경우, 임계값 2에 기반하여, 프로세스의 일부분은 모든 비핵심 태스크를 수면 상태로 설정한다. 이는 스텝(418) 내지 스텝(424)에서 나타난다.
더 세부적으로, 스텝(418)이 배터리 용량이 임계값 2보다 작다고 판단할 경우, 스텝(420)에서, 비핵심 태스크의 리스트가 체크되며, 스텝(422)에서, 리스트상의 모든 비핵심 태스크가 수면 상태로 설정된다. 그렇지 않다면, 배터리 용량이 임계값 2보다 작지 않을 경우, 스텝(424)에서, 모든 수면 태스크가 보류 태스크로 설정된다. 스텝(422) 또는 스텝(424)을 수행한 후, 다시 스텝(402)을 수행하며, 이러한 방식으로 무한히, 또는 지정 시간 간격만큼 반복될 수 있다. 태스크가 수면 상태로 설정되면, 프로세스를 여러 번 반복하는 중에, 배터리 용량이 임계값 2 이상 으로 다시 돌아왔을 경우에만 보류 상태로 설정될 수 있다.
앞서 설명한 프로세스에서의 임계값은 종래의 기법을 사용하는 방식으로 결정될 수 있다.
한 가지 예를 들자면, 전력 인디케이터가 아날로그 전압 신호를 포함하는 실시예에서, 임계값 1은 약 2.5볼트, 그리고 임계값 2는 약 1.5볼트일 수 있다. 물론, 이러한 특정 값들은 예로 든 값일뿐이며, 특정 전력 소스와 다른 장치 매개변수가 존재함에 따라, 다른 실시예에서 그 밖의 다른 값이 임계값으로 사용될 수 있다.
또 다른 예를 들자면, 상기 전력 인디케이터는 디지털 신호(가령, 2비트 디지털 신호)를 포함할 수 있으며, 이때 임계값 1에는 “01”값이 임계값 2는 “10”값이 주어진다. 2비트보다 많은 비트가 다른 실시예에서 사용될 수 있다. 또한, 아날로그와 디지털 신호의 조합이 전력 인디케이터를 제공하기 위해 사용될 수 있다. 앞서 언급한 바와 같이, 본 발명에서 임의의 특정 종류의 전력 인디케이터의 사용을 요구하는 것은 않는다.
도 4 프로세스는 본 발명에 따르는 다-단계 동적 프로그램 억제 프로세스의 한 가지 예이다. 앞에서 설명한 이러한 프로세스에서 제 1 임계값을 사용하여 더 낮은 용량 비핵심 태스크를 더 높은 용량 비핵심 태스크로 대체하거나, 그 반대의 경우를 행할 수 있다. 그리고 제 1 임계값보다 더 낮은 제 2 임계값을 사용하여, 보류 상태와 수면 상태 간의 비핵심 태스크의 변환을 제어할 수 있다. 앞서 언급한 바와 같이, 다른 실시예에서 여러 다른 임계값들, 태스크 상태, 매개변수가 사용될 수 있다. 또한, 도 4에서 나타난 프로세스 스텝들이 다른 실시예에서도 사용될 수 있다.
본 발명의 동적 프로그램 억제 기법은 종래 기법을 능가하는 명확한 이점을 제공한다. 가령, 앞서 설명된 실시예에서, 본 발명은 컨버전스 장치에서의 배터리 전력의 개선된 보존을 제공하며, 그로 인해 사용자는 주어진 작동 조건하에서 가능한 오랜 시간 주기 동안 음성 콜 통신 기능에 액세스해 있을 것이다.
당 분야의 통상의 지식을 가진 자라면, 앞서 설명한 본 발명의 실시예와 첨부된 청구항의 범위내에서 대체가능한 수많은 실시예를 이해할 것이다. 가령, 특정 컨버전스 장치와 프로세서 구성이 또 다른 실시예에서는 바뀔 수 있다. 또한, 앞서 언급한 바와 같이, 임계값 같은 매개변수들, 비핵심 태스크 카테고리와 태스크 상태뿐 아니라 관련된 프로세스 스텝의 배열이 주어진 적용예에 특정한 요구에 적용되도록 변화될 수 있다.
Claims (20)
- 전력 소스를 포함하고, 음성 콜 통신 기능에 연계된 프로세싱 동작을 수행하기 위해 설정된, 그리고 데이터 통신 기능에 연계된 동작을 수행하기 위해 설정된 하나 이상의 프로세서를 포함하는 컨버전스 장치에서, 프로그램 실행을 제어함으로써 전력을 보존하는 방법에 있어서, 이때 상기 프로세서는 핵심 프로그램 및 비핵심 프로그램을 실행하기 위해 동작하며, 상기 방법은데이터 통신 기능에 연계된 다수의 비핵심 프로그램 중 하나 이상의 주어진 프로그램에 대해 상기 주어진 프로그램과 같은 기능을 수행하나 서로 다른 전력 소스 용량을 갖는 하나 이상의 교체용 용량 프로그램의 식별자를 저장하는 단계, 그리고전력 소스의 특성을 표시하는 전력 인디케이터에 기반하여, 상기 주어진 프로그램의 실행을 상기 교체용 용량 프로그램의 실행으로 대체하는 단계로서, 그에 따라 음성 콜 통신 기능에 대해, 전력 소스 용량의 사용가능한 양이 증가하는 단계를 포함함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 1 항에 있어서, 상기 전력 소스는 배터리를 포함함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 2 항에 있어서, 상기 전력 인디케이터는 상기 배터리의 남아 있는 용량을 표시함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 1 항에 있어서, 전력 인디케이터가 제 1 임계값 아래에 있을 경우, 상기 주어진 비핵심 프로그램의 실행이, 상기 주어진 프로그램보다 더 낮은 전력 소스 용량을 갖는 교체용 용량 비핵심 프로그램의 실행으로 대체됨을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 1 항에 있어서, 상기 전력 인디케이터가 제 1 임계값 아래에 있지 않을 경우, 상기 주어진 비핵심 프로그램의 실행이, 상기 주어진 프로그램보다 더 높은 전력 소스 용량을 갖는 교체용 용량 프로그램의 실행으로 대체됨을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 1 항에 있어서, 상기 음성 콜 통신 기능에는 셀룰러 음성 콜 통신에 연계된 하나 이상의 기능이 포함됨을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 1 항에 있어서, 상기 데이터 통신 기능은 하나 이상의 특정 데이터 전송률, 특정 재생 빈도(refresh rate) 및 특정 디스플레이 분해능에서의 멀티미디어 프로세싱에 연계된 하나 이상의 기능을 포함함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 7 항에 있어서, 상기 주어진 프로그램은 특정 데이터 전송률에서 멀티미디어 프로세싱을 수행하고, 상기 주어진 프로그램과 같은 기능을 하는 상기 교체용 용량 프로그램은 멀티미디어 프로세싱을 상기 주어진 프로그램과 다른 데이터 전송률에서 수행함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 7 항에 있어서, 상기 주어진 프로그램은 멀티미디어 프로세싱을 특정 재생 빈도에서 수행하며, 상기 주어진 프로그램과 같은 기능을 수행하는 상기 교체용 용량 프로그램은 멀티미디어 프로세싱을 상기 주어진 프로그램과 다른 재생 빈도에서 수행함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 7 항에 있어서, 상기 주어진 프로그램은 특정 디스플레이 분해능에서 멀티미디어 프로세싱을 수행하고, 상기 주어진 프로그램과 같은 기능을 하는 상기 교체용 용량 프로그램은 멀티미디어 프로세싱을 상기 주어진 프로그램과 다른 디스플레이 분해능에서 수행함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 1 항에 있어서, 상기 핵심 프로그램은 프로세서상에서 실행되는 운영 체제, 상기 컨버전스 장치의 GUI(graphical user interface) 및 음성 콜 통신 기능 중 하나 이상을 구현하도록 이용되는 프로그램을 포함하는 것을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 1 항에 있어서, 전력 소스 용량에 기반하여, 다수의 비핵심 프로그램이 두 개 이상의 카테고리로 분류되며, 이때 상기 카테고리에는 제 1 용량에서의 카테고리 및 제 2 용량에서의 카테고리가 포함되며, 상기 제 1 용량은 상기 제 2 용량보다 더 낮음을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 1 항에 있어서, 다수의 비핵심 프로그램의 각각의 하나 이상의 부분 집합은 실행 상태, 보류 상태 및 수면 상태를 포함하는 다수의 상태들 중 하나의 상태일 수 있음을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 4 항에 있어서, 상기 전력 인디케이터가 제 1 임계값보다 낮은 제 2 임계값 아래에 있을 경우, 주어진 비핵심 프로그램 및 교체용 비핵심 프로그램은 수면 상태로 설정됨을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 14 항에 있어서, 상기 전력 인디케이터가 제 2 임계값 아래 있지 않을 경우, 수면 상태를 갖는 임의의 비핵심 프로그램은 보류 상태로 설정됨을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 14 항에 있어서, 상기 제 2 임계값은 하나 이상의 음성 콜 통신 기능을 계속 하기 위해 최소 수용 가능한 용량을 표시함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 1 항에 있어서, 상기 프로세서는 비핵심 프로그램들 중 하나 이상에 대한 용량에 연계된 비핵심 프로그램들의 리스트를 저장하기 위해 동작함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 제 1 항에 있어서, 상기 프로세서는 멀티스레드 프로세서를 포함함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하는 방법.
- 컨버전스 장치에 있어서, 상기 장치는전력 소스, 그리고음성 콜 통신 기능에 연계된 프로세싱 동작을 수행하도록 설정된, 그리고 데이터 통신 기능에 연계된 동작을 수행하기 위해 설정되는 하나 이상의 프로세서로서, 핵심 프로그램 및 비핵심 프로그램을 실행하기 위해 동작하는 상기 프로세서를 포함하며, 상기 컨버전스 장치는데이터 통신 기능에 연계된 다수의 비핵심 프로그램 중 하나 이상의 주어진 프로그램에 대해 상기 주어진 프로그램과 같은 기능을 수행하나 서로 다른 전력 소스 용량을 갖는 하나 이상의 교체용 용량 프로그램의 식별자를 저장하는 동작,전력 소스의 특성을 표시하는 전력 인디케이터에 기반하여, 상기 주어진 프로그램의 실행을 상기 교체용 용량 프로그램의 실행으로 대체하는 동작으로서, 그에 따라 음성 콜 통신 기능에 대해, 전력 소스 용량의 사용가능한 양을 증가시키는 동작을 실행하는 컨버전스 장치.
- 전력 소스를 포함하고, 음성 콜 통신 기능에 연계된 프로세싱 동작을 수행하기 위해 설정된, 그리고 데이터 통신 기능에 연계된 동작을 수행하기 위해 설정된 하나 이상의 프로세서를 포함하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하기 위한 프로그램 코드가 기록된, 머신에 의해 판독 가능한 저장 매체를 포함하는 제품에 있어서, 이때 상기 프로세서는 핵심 프로그램 및 비핵심 프로그램을 실행하기 위해 동작하며, 이때 상기 프로세서에 의해 실행될 때, 상기 프로그램 코드는데이터 통신 기능에 연계된 다수의 비핵심 프로그램 중 하나 이상의 주어진 프로그램에 대해 상기 주어진 프로그램과 같은 기능을 수행하나 서로 다른 전력 소 스 용량을 갖는 하나 이상의 교체용 용량 프로그램의 식별자를 저장하는 단계, 그리고전력 소스의 특성을 표시하는 전력 인디케이터에 기반하여, 상기 주어진 프로그램의 실행을 상기 교체용 용량 프로그램의 실행으로 대체하는 단계로서, 그에 따라 음성 콜 통신 기능에 대해, 전력 소스 용량의 사용가능한 양이 증가하는 단계를 구현함을 특징으로 하는 컨버전스 장치에서 프로그램 실행을 제어함으로써 전력을 보존하기 위한 프로그램 코드가 기록된, 머신에 의해 판독 가능한 저장 매체를 포함하는 제품.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/699,022 US7251737B2 (en) | 2003-10-31 | 2003-10-31 | Convergence device with dynamic program throttling that replaces noncritical programs with alternate capacity programs based on power indicator |
US10/699,022 | 2003-10-31 | ||
PCT/US2004/035216 WO2005046109A2 (en) | 2003-10-31 | 2004-10-25 | Convergence device with dynamic program throttling based on power indicator |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060092253A true KR20060092253A (ko) | 2006-08-22 |
KR101056322B1 KR101056322B1 (ko) | 2011-08-11 |
Family
ID=34550821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067007770A KR101056322B1 (ko) | 2003-10-31 | 2004-10-25 | 전력 인디케이터 기반 동적 프로그램 쓰로틀링을 이용하는 컨버전스 장치 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7251737B2 (ko) |
EP (1) | EP1678861B1 (ko) |
JP (1) | JP2007510370A (ko) |
KR (1) | KR101056322B1 (ko) |
CN (1) | CN100447709C (ko) |
TW (1) | TW200530797A (ko) |
WO (1) | WO2005046109A2 (ko) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257112B2 (en) * | 2003-11-28 | 2007-08-14 | Texas Instruments Incorporated | Receiver directed power management for WLAN receiver |
US8074051B2 (en) * | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
TW200625097A (en) * | 2004-11-17 | 2006-07-16 | Sandbridge Technologies Inc | Data file storing multiple date types with controlled data access |
US20060279256A1 (en) * | 2005-06-10 | 2006-12-14 | Media Lab | Power management system for multi-function battery-operated device |
US7962182B2 (en) * | 2006-08-25 | 2011-06-14 | Qualcomm Incorporated | Method and apparatus for content delivery to devices |
US7716500B2 (en) * | 2006-08-31 | 2010-05-11 | Ati Technologies Ulc | Power source dependent program execution |
US7694160B2 (en) * | 2006-08-31 | 2010-04-06 | Ati Technologies Ulc | Method and apparatus for optimizing power consumption in a multiprocessor environment |
KR20090078790A (ko) * | 2006-09-26 | 2009-07-20 | 샌드브리지 테크놀로지스, 인코포레이티드 | 무선 통신 시스템에서 매트릭스 변환 소프트웨어 구현을 위한 장치 및 방법 |
WO2008060948A2 (en) * | 2006-11-10 | 2008-05-22 | Sandbridge Technologies, Inc. | Method and system for parallelization of pipelined computations |
US8001400B2 (en) * | 2006-12-01 | 2011-08-16 | Apple Inc. | Power consumption management for functional preservation in a battery-powered electronic device |
EP2602710A1 (en) * | 2007-11-05 | 2013-06-12 | Aspen Acquisition Corporation | Method of encoding register instruction fields |
WO2009097444A1 (en) * | 2008-01-30 | 2009-08-06 | Sandbridge Technologies, Inc. | Method for enabling multi-processor synchronization |
KR20100126690A (ko) * | 2008-02-18 | 2010-12-02 | 샌드브리지 테크놀로지스, 인코포레이티드 | 널-종료 문자열 동작을 가속화하는 방법 |
US8762641B2 (en) * | 2008-03-13 | 2014-06-24 | Qualcomm Incorporated | Method for achieving power savings by disabling a valid array |
US20090300399A1 (en) * | 2008-05-29 | 2009-12-03 | International Business Machines Corporation | Profiling power consumption of a plurality of compute nodes while processing an application |
US8195967B2 (en) * | 2008-05-29 | 2012-06-05 | International Business Machines Corporation | Reducing power consumption during execution of an application on a plurality of compute nodes |
US8291427B2 (en) * | 2008-06-09 | 2012-10-16 | International Business Machines Corporation | Scheduling applications for execution on a plurality of compute nodes of a parallel computer to manage temperature of the nodes during execution |
US8296590B2 (en) | 2008-06-09 | 2012-10-23 | International Business Machines Corporation | Budget-based power consumption for application execution on a plurality of compute nodes |
US8458722B2 (en) | 2008-06-09 | 2013-06-04 | International Business Machines Corporation | Thread selection according to predefined power characteristics during context switching on compute nodes |
US8250389B2 (en) * | 2008-07-03 | 2012-08-21 | International Business Machines Corporation | Profiling an application for power consumption during execution on a plurality of compute nodes |
WO2010017263A1 (en) | 2008-08-06 | 2010-02-11 | Sandbridge Technologies, Inc. | Haltable and restartable dma engine |
US8281159B1 (en) * | 2008-09-11 | 2012-10-02 | Symantec Corporation | Systems and methods for managing power usage based on power-management information from a power grid |
JP4564560B2 (ja) * | 2008-11-21 | 2010-10-20 | 株式会社東芝 | サーバ装置 |
GB2465599B8 (en) * | 2008-11-24 | 2010-11-10 | 1E Ltd | Power management of computers. |
US8484652B2 (en) | 2009-07-31 | 2013-07-09 | Dell Products L.P. | Systems and methods for task execution on a managed node |
US8358298B2 (en) * | 2009-10-07 | 2013-01-22 | Cisco Technology, Inc. | Automatic brightness control |
EP2502126B1 (en) * | 2009-11-18 | 2018-04-18 | Aktiebolaget SKF | Execution of signal processing tasks |
US8436720B2 (en) | 2010-04-29 | 2013-05-07 | International Business Machines Corporation | Monitoring operating parameters in a distributed computing system with active messages |
US9552234B2 (en) * | 2011-01-31 | 2017-01-24 | Nokia Technologies Oy | Method and apparatus for energy optimization in multi-level distributed computations |
US9374787B2 (en) * | 2011-02-10 | 2016-06-21 | Alcatel Lucent | Method and apparatus of smart power management for mobile communication terminals using power thresholds |
US20120210150A1 (en) * | 2011-02-10 | 2012-08-16 | Alcatel-Lucent Usa Inc. | Method And Apparatus Of Smart Power Management For Mobile Communication Terminals |
WO2013081600A1 (en) * | 2011-11-30 | 2013-06-06 | Intel Corporation | Reducing power for 3d workloads |
US8768419B2 (en) * | 2012-01-26 | 2014-07-01 | Verizon Patent And Licensing Inc. | Mobile battery partitioning system and method |
CN103902010A (zh) * | 2012-12-26 | 2014-07-02 | 联想(北京)有限公司 | 一种降低功耗的方法及电子设备 |
US8972760B1 (en) | 2013-12-20 | 2015-03-03 | Futurewei Technologies, Inc. | Method and apparatus for reducing power consumption in a mobile electronic device using a second launcher |
CN108322249B (zh) * | 2018-01-22 | 2020-09-08 | 新疆联海创智信息科技有限公司 | 面向任务驱动的可重构星座卫星入网决策方法及系统 |
CN109343691A (zh) * | 2018-08-28 | 2019-02-15 | 维沃移动通信有限公司 | 一种移动终端的控制方法及移动终端 |
US10873949B1 (en) * | 2019-10-22 | 2020-12-22 | Link Labs, Inc. | Battery watchdog system and methodology |
US11800343B2 (en) * | 2021-11-29 | 2023-10-24 | International Business Machines Corporation | Emergency monitoring application mobility management |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5552736A (en) * | 1995-04-19 | 1996-09-03 | Hewlett-Packard Company | Power supply detect circuit operable shortly after an on/off cycle of the power supply |
US5719800A (en) | 1995-06-30 | 1998-02-17 | Intel Corporation | Performance throttling to reduce IC power consumption |
US5701337A (en) | 1995-12-27 | 1997-12-23 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for implementing a combined mobile phone and pager in a telecommunications network |
US5801522A (en) * | 1996-09-26 | 1998-09-01 | Compaq Computer Corporation | Power limit circuit for computer system |
JPH10304578A (ja) * | 1997-04-21 | 1998-11-13 | Canon Inc | 電気機器及び電気機器の運用制御方法 |
US6314308B1 (en) * | 1998-07-02 | 2001-11-06 | Snaptrack, Inc. | Method and apparatus for providing reserve power in a cellular telephone |
US6415388B1 (en) * | 1998-10-30 | 2002-07-02 | Intel Corporation | Method and apparatus for power throttling in a microprocessor using a closed loop feedback system |
JP3297389B2 (ja) | 1998-12-07 | 2002-07-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 消費電力制御方法および電気機器 |
US6564328B1 (en) * | 1999-12-23 | 2003-05-13 | Intel Corporation | Microprocessor with digital power throttle |
JP2001186251A (ja) * | 1999-12-27 | 2001-07-06 | Nec Corp | 携帯情報端末装置及び電源電力供給制御方法 |
JP3700595B2 (ja) | 2000-04-07 | 2005-09-28 | 株式会社デンソー | 携帯電話 |
KR20010091049A (ko) * | 2000-04-07 | 2001-10-22 | 오카베 히로무 | 부가기능을 가진 배터리-전원공급 이동전화 |
JP3430119B2 (ja) | 2000-04-17 | 2003-07-28 | 埼玉日本電気株式会社 | 携帯電話装置 |
EP1223655A1 (en) * | 2000-06-09 | 2002-07-17 | Mitsubishi Denki Kabushiki Kaisha | External power supply control system for cellular phone |
US6799279B1 (en) * | 2000-06-21 | 2004-09-28 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for stopping supply of power to a specific function for playing contents stored on media in response to a low battery level |
JP2002064596A (ja) | 2000-08-21 | 2002-02-28 | Matsushita Electric Ind Co Ltd | 携帯電話装置 |
GB2368495B (en) | 2000-10-23 | 2004-06-30 | Ericsson Telefon Ab L M | Monitoring circuit |
US6697953B1 (en) * | 2000-11-15 | 2004-02-24 | Ericsson Inc. | Method for reducing power consumption in battery powered devices |
JP2002176493A (ja) | 2000-12-05 | 2002-06-21 | Matsushita Electric Ind Co Ltd | 消費電流削減機能付き携帯電話機 |
JP3718448B2 (ja) | 2001-05-23 | 2005-11-24 | 株式会社ケンウッド | 携帯電話機 |
US6968445B2 (en) * | 2001-12-20 | 2005-11-22 | Sandbridge Technologies, Inc. | Multithreaded processor with efficient processing for convergence device applications |
US7003658B2 (en) | 2002-02-21 | 2006-02-21 | Inventec Corporation | Method for user setup of memory throttling register in north bridge via BIOS to save power |
JP3692089B2 (ja) | 2002-04-02 | 2005-09-07 | 株式会社東芝 | 消費電力制御方法及び情報処理装置 |
US6948082B2 (en) * | 2002-05-17 | 2005-09-20 | International Business Machines Corporation | Method and apparatus for software-assisted thermal management for electronic systems |
-
2003
- 2003-10-31 US US10/699,022 patent/US7251737B2/en active Active
-
2004
- 2004-10-25 EP EP04796245.1A patent/EP1678861B1/en not_active Expired - Lifetime
- 2004-10-25 JP JP2006538140A patent/JP2007510370A/ja active Pending
- 2004-10-25 WO PCT/US2004/035216 patent/WO2005046109A2/en active Application Filing
- 2004-10-25 CN CNB2004800325154A patent/CN100447709C/zh not_active Expired - Lifetime
- 2004-10-25 KR KR1020067007770A patent/KR101056322B1/ko active IP Right Grant
- 2004-10-29 TW TW093133083A patent/TW200530797A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN100447709C (zh) | 2008-12-31 |
CN1961278A (zh) | 2007-05-09 |
WO2005046109A2 (en) | 2005-05-19 |
KR101056322B1 (ko) | 2011-08-11 |
US20050097376A1 (en) | 2005-05-05 |
WO2005046109A3 (en) | 2006-06-22 |
JP2007510370A (ja) | 2007-04-19 |
EP1678861A2 (en) | 2006-07-12 |
EP1678861A4 (en) | 2011-06-01 |
US7251737B2 (en) | 2007-07-31 |
EP1678861B1 (en) | 2013-08-28 |
TW200530797A (en) | 2005-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101056322B1 (ko) | 전력 인디케이터 기반 동적 프로그램 쓰로틀링을 이용하는 컨버전스 장치 | |
EP2034401B1 (en) | System and method of executing instructions in a multi-stage data processing pipeline | |
US20090119477A1 (en) | Configurable Translation Lookaside Buffer | |
EP2261815A2 (en) | Multithread processor with efficient processing for convergence device applications | |
US20090187909A1 (en) | Shared resource based thread scheduling with affinity and/or selectable criteria | |
KR101252744B1 (ko) | 캐시(cache) 라인 대체를 위한 시스템들 및 방법들 | |
JP6276470B2 (ja) | ポータブルコンピューティングデバイスの揮発性メモリのスタンバイ電力を低減するためのシステムおよび方法 | |
CN112307431B (zh) | 一种vdsp、数据处理方法及通讯设备 | |
CN101258465A (zh) | 控制多线程处理器内的多个程序线程的系统和方法 | |
JP2004252987A (ja) | 同時多重スレッディングプロセッサ回路、動作するスレッドの数に基づいて相異なる性能レベルで動作するように構成されるコンピュータプログラム製品及びこれらを動作させる方法 | |
EP2542963B1 (en) | System and method of processing hierarchical very long instruction packets | |
JP6038955B2 (ja) | 高時間的参照局所性のデータフィルバッファの排除防止 | |
EP3304283A1 (en) | System, apparatus, and method for temporary load instruction | |
KR100416858B1 (ko) | 명령어 처리장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N234 | Change of applicant [patent]: notification of change of applicant and registration of full transfer of right | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140730 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160629 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170629 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180628 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190624 Year of fee payment: 9 |