KR20010067341A - Intelligent power management for distributed processing systems - Google Patents
Intelligent power management for distributed processing systems Download PDFInfo
- Publication number
- KR20010067341A KR20010067341A KR1020000062989A KR20000062989A KR20010067341A KR 20010067341 A KR20010067341 A KR 20010067341A KR 1020000062989 A KR1020000062989 A KR 1020000062989A KR 20000062989 A KR20000062989 A KR 20000062989A KR 20010067341 A KR20010067341 A KR 20010067341A
- Authority
- KR
- South Korea
- Prior art keywords
- task
- activity
- power management
- consumption
- calculating
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
MPU(12), DSP(14)와 같은 다수의 처리 모듈, 및 코프로세서/DMA 채널(16)을 포함하는 분산 처리 시스템(10)이 개시된다. 각종 처리 모듈에 대한 프로파일(36)과 관련된 전력 관리 소프트웨어 및 실행 태스크가 패키지 열 구속에서의 최적 동작을 제공하거나 최소 에너지를 사용하는 것과 같은 소정의 전력 목적을 만족시키는 시나리오를 구성하는 데 사용된다. 태스크와 관련된 실제 활동이 목적과의 호환성을 보장하도록 동작 중에 모니터링된다. 태스크의 할당은 동작으로 변경되어 환경 조건의 변화 및 태스크 리스트의 변화에 적응해 나간다.A distributed processing system 10 is disclosed that includes an MPU 12, a number of processing modules, such as a DSP 14, and a coprocessor / DMA channel 16. Power management software and execution tasks associated with profiles 36 for the various processing modules are used to construct scenarios that meet certain power goals, such as providing optimal operation in package thermal constraints or using minimal energy. Actual activity related to the task is monitored during operation to ensure compatibility with the purpose. The assignment of tasks changes to operations to adapt to changes in environmental conditions and changes in task lists.
Description
본 발명은 일반적인 집적 회로에 관한 것으로, 특히 프로세서에서의 전력을 관리하는 것에 관한 것이다.The present invention relates generally to integrated circuits, and more particularly to managing power in a processor.
수년동안, 마이크로프로세서 유닛들(MPUs), 코-프로세서(co-processor)들, 및 디지털 신호 프로세서(DSPs)에 대한 설계를 포함하는 프로세서 설계 초점은 프로세서의 속도 및 기능을 증가시키는 데 있었다. 최근, 전력 소모가 심각한 관심 거리가 되어왔다. 중요하게는, 속도 및 기능적인 장점을 심각할 정도로 감하지 않으면서, 저 전력 소모를 유지하는 것이 중요하게 간주되었으며 설계의 중심이 되었다. 전력 소모는 많은 응용 분야에서 중요한 문제가 되었는데, 그 이유는 스마트 폰(smart phone), 셀룰러 폰, PDA(pPersonal Digital assistants), 및 포켓용 컴퓨터(handheld computer)와 같은 많은 시스템들은 비교적 작은 배터리로 동작되기 때문이다. 단기간에 배터리를 다시 충전해야하는 것은 불편한 일이기 때문에, 이들 시스템의 배터리 수명을 최대화하는 것이 희망된다.For many years, the processor design focus, including the design for microprocessor units (MPUs), co-processors, and digital signal processors (DSPs), has been to increase the speed and functionality of the processor. In recent years, power consumption has become a serious concern. Importantly, maintaining low power consumption was considered important and central to the design, without seriously reducing speed and functional advantages. Power consumption has become an important issue in many applications because many systems, such as smart phones, cellular phones, personal digital assistants (PDAs), and handheld computers run on relatively small batteries. Because it becomes. Since it is inconvenient to recharge the battery in a short time, it is hoped to maximize the battery life of these systems.
최근, 전력 소모를 최소화하는 쪽으로의 접근 방식은 스태틱(static) 전력 관리, 즉 전력을 적게 사용하는 회로를 설계하는 것을 포함한다. 여기에 해당하는 경우들로서, 아이들(idle) 기간 동안 크럭 속도를 줄인다든지, 또는 회로를 그낭하지 않게 하는 기능적인 작용이 취해져왔다.Recently, approaches towards minimizing power consumption have included static power management, ie, designing circuits that use less power. In this case, a functional action has been taken to reduce the clock speed during the idle period, or to stop the circuit.
이들 변화가 중요한 한편, 특히 크기 즉, 배터리 크기가 해당 디바이스(device)를 편리하게 사용하는 데 중요한 시스템에서는 전력 관리를 지속적으로 향상시키는 것이 중요하다.While these changes are important, it is important to continually improve power management, especially in systems where size, ie battery size, is critical for the convenient use of the device.
총 전력을 절감하는 것에 더하여, 복잡한 처리 환경에서 집적 회로로부터 열을 방산할 수 있는 능력이 한 요인이 될 수 있다. 집적 회로는 특정 양의 열을 방산하도록 설계될 것이다. 하이 레벨의 전류를 끌어내기 위해, 태스크(task)들이 집적 회로상에서 다중 시스템들을 필요로 한다면, 회로는 과열(overheat)되어서 시스템을 실패하게 만들 수 있다.In addition to saving total power, the ability to dissipate heat from integrated circuits in complex processing environments can be a factor. Integrated circuits will be designed to dissipate a certain amount of heat. If tasks require multiple systems on an integrated circuit to draw a high level of current, the circuit may overheat and cause the system to fail.
미래에, 집적 회로에 의해 실행되는 응용들은 보다 복잡해질 것이며, 단일 집적 회로에서 MPU, DSP, 코프로세서, 및 DMA 채널들을 포함하는 다중 프로세서들(이후로는 "분산된 처리 시스템")에 의한 다중 처리를 포함하기 쉬울 것이다. DSP는 다중이며 동시성 응용(application)들을 지지하도록 전개될 것이며, 이들 응용들 중의 어떠한 것은 특정 DSP 플랫폼(flatform)에 제공되지 않을 것이나, 인터넷과 같은 글로벌 네트워크로부터 로딩될 것이다. 따라서, 분산된 처리 시스템이 과열되지 않으면서 처리할 수 있는, 태스크는 불활실해질 것이다.In the future, applications executed by integrated circuits will become more complex, with multiple processors (hereafter "distributed processing systems") containing MPUs, DSPs, coprocessors, and DMA channels in a single integrated circuit. It will be easy to include treatment. The DSP will be deployed to support multiple and concurrent applications, and none of these applications will be provided on a particular DSP platform, but will be loaded from a global network such as the Internet. Thus, the task, which can handle the distributed processing system without overheating, will become inactive.
따라서, 그 성능에 심각하게 영향을 미치지 않은 채, 회로내의 전력을 관리하기 위한 방법 및 장치가 필요한 현안으로 떠오른다.Therefore, a method and apparatus for managing power in a circuit emerge as a necessary issue without seriously affecting its performance.
본 발명은 복수의 처리 모듈을 포함하는 프로세서에서의 테스크 실행을 제어하는 방법 및 장치를 제공한다. 테스크와 관련된 동작에 대한 확률값에 기초하여 소비 정보가 계산된다. 그 후, 소비 정보에 따라 처리 모듈에 대한 테스크가 실행된다.The present invention provides a method and apparatus for controlling task execution in a processor comprising a plurality of processing modules. Consumption information is calculated based on a probability value for the action associated with the task. Thereafter, the task for the processing module is executed in accordance with the consumption information.
본 발명은 종래 기술보다 많은 장점을 제공한다. 먼저, 완전한 다이나믹 전력 관리를 제공한다. 처리 시스템에서 실행된 테스크가 변경됨에 따라 전력 관리 소프트웨어는 임계치를 초과하지 않았다는 것을 확인하기 위한 새로운 시나리오를 구축할 수 있다. 또한, 배터리 전압 강하와 같은 외부 조건이 변함에 따라, 필요한 경우 전력 관리 소프트웨어가 그러한 조건을 재평가하고 시나리오를 변경시킬 수 있다. 두번째로, 전력 관리 소프트웨어는, 그것이 제어하는 여러가지 테스크에 대해 명백하다. 따라서, 특정 테스크가 어떠한 전력 관리도 제공하지 않는 경우에도, 전력 관리 소프트웨어는 처리 시스템의 전력 능력과 일치하는 방식으로 테스크를 실행하는 책임을 지닌다. 세번째로, 전력 관리 소프트웨어의 전체 동작은 상이한 하드웨어 플랫폼, 전력 계산시 사용되는 프로파일을 변화시킴으로써 조정되는 상이한 하드웨어 및 테스크에 사용될 수 있다.The present invention provides many advantages over the prior art. First, it provides complete dynamic power management. As the tasks executed in the processing system change, the power management software can build a new scenario to ensure that the threshold has not been exceeded. In addition, as external conditions change, such as battery voltage drops, power management software can re-evaluate such conditions and change scenarios as needed. Second, power management software is evident for the various tasks it controls. Thus, even if a particular task does not provide any power management, the power management software is responsible for executing the task in a manner consistent with the power capability of the processing system. Third, the overall operation of the power management software can be used for different hardware platforms, different hardware and tasks coordinated by changing the profile used in power calculations.
도 1은 분산 처리 시스템의 블럭도.1 is a block diagram of a distributed processing system.
도 2는 분산 처리 시스템의 소프트웨어 계층도.2 is a software hierarchy diagram of a distributed processing system.
도 3은 분산 처리 시스템의 전력 관리의 이점을 보여주는 예시도.3 illustrates an example of the power management of a distributed processing system.
도 4a 및 4b는 도 2의 전력 관리 소프트웨어의 동작에 대한 양호한 실시예를 보여주는 흐름도.4A and 4B are flow charts showing a preferred embodiment of the operation of the power management software of FIG.
도 5는 도 4의 빌딩 시스템 시나리오 블럭도.5 is a block diagram of the building system scenario of FIG.
도 6은 도 4의 동작 추정 블럭도.6 is a motion estimation block diagram of FIG.
도 7은 도 4의 전력 산출 블럭도.7 is a power calculation block diagram of FIG.
도 8은 도 4의 동작 측정 및 모니터 블럭도.8 is a block diagram of the operation measurement and monitor of FIG.
도 9는 동작 카운터를 갖는 분산 처리 시스템을 보여주는 블럭도.9 is a block diagram illustrating a distributed processing system having an operation counter.
본 발명은 첨부된 도면의 도 1 내지 9를 참조하여 가장 잘 이해되며, 이 도면들에서 유사 구성 요소에는 유사 참조 번호가 부여되어 있다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention is best understood with reference to FIGS. 1 to 9 of the accompanying drawings, in which like elements are assigned like reference numerals.
도 1은 MPU(12), 하나 이상의 DSP(14) 및 하나 이상의 DMA 채널 또는 코프로세서(총괄하여 DMA/코프로세서(16)으로 표시됨)를 포함하는 일반적인 분산 처리 시스템(10)의 개괄적인 블록도이다. 본 실시예에서, MPU(12)는 코어(18) 및 캐시(20)를 포함한다. DSP(14)는 프로세싱 코어(22) 및 로컬 메모리(24)를 포함한다 (실제 실시예에서는, 분리형 명령/데이터 메모리 또는 일체형 명령/데이터 메모리를 이용할 수 있음). 메모리 인터페이스(26)는 공유 메모리(28)를 MPU(12), DSP(14), 또는 DMA/코프로세서(16) 중 하나 이상의 것에 결합시킨다. 각각의 프로세서(MPU(12), DSP(14))는 실제의 분산 처리 시스템 내에서 자신의 운영 시스템(OS) 또는 실시간 운영 시스템(RTOS) 하에서 전자동 상태로 동작할 수 있고, MPU(12)는 공유된 자원 및 메모리 환경을 관리하는 글로벌 OS를 관리할 수 있다.1 is a schematic block diagram of a general distributed processing system 10 including an MPU 12, one or more DSPs 14, and one or more DMA channels or coprocessors (collectively referred to as DMA / coprocessors 16). to be. In this embodiment, the MPU 12 includes a core 18 and a cache 20. The DSP 14 includes a processing core 22 and a local memory 24 (in a practical embodiment, a separate instruction / data memory or an integral instruction / data memory may be used). Memory interface 26 couples shared memory 28 to one or more of MPU 12, DSP 14, or DMA / coprocessor 16. Each processor (MPU 12, DSP 14) can operate fully automatic under its operating system (OS) or real time operating system (RTOS) within the actual distributed processing system, and the MPU 12 You can manage a global OS that manages shared resources and memory environments.
도 2는 분산 처리 시스템(10)을 위한 소프트웨어 레이어 다이어그램을 도시하고 있다. 도 1에 도시되어 있는 바와 같이, MPU(12)는 OS를 실행시키고, DSP(14)는 RTOS를 실행시킨다. 분산 애플리케이션 레이어(32)는 JAVA, C++ 및 다른 애플리케이션과, 프로파일링 데이터(36) 및 전역 태스크 스케쥴러(40)를 이용하는 전원 관리 태스크(38)를 포함한다. 미들웨어(middleware) 소프트웨어 레이어(42)는 OS 계층(30)와 분산 애플리케이션 계층(32) 내의 애플리케이션 사이에서 통신한다.2 shows a software layer diagram for a distributed processing system 10. As shown in Fig. 1, MPU 12 executes an OS, and DSP 14 executes an RTOS. Distributed application layer 32 includes JAVA, C ++, and other applications, as well as power management tasks 38 utilizing profiling data 36 and global task scheduler 40. Middleware software layer 42 communicates between OS layer 30 and applications within distributed application layer 32.
도 1 및 2를 참조하여, 분산 처리 시스템(10)의 동작이 설명된다. 분산 처리 시스템(10)은 다양한 태스크를 실행할 수 있다. 분산 처리 시스템(10)에 대한 전형적인 애플리케이션으로는, 분산 처리 시스템(10)이 무선 통신, 비디오/오디오 압축 해제 및 사용자 인터페이스(즉, LCD 업데이트, 키보디 디코드)를 핸들링하는 스마트폰 애플리케이션이 있다. 이 애플리케이션에서, 분산 처리 시스템(10) 내에 포함된 상이한 시스템들은 상이한 우선 순위의 다양한 태스크를 실행할 것이다. 전형적으로, OS는 포함되어 있는 다양한 시스템들에 대하여 상이한 태스크의 태스크 스케쥴링을 수행한다.1 and 2, the operation of the distributed processing system 10 is described. The distributed processing system 10 may execute various tasks. Typical applications for distributed processing system 10 are smartphone applications where distributed processing system 10 handles wireless communications, video / audio decompression, and user interfaces (ie, LCD updates, keyboard decode). In this application, different systems included in distributed processing system 10 will execute various tasks of different priorities. Typically, the OS performs task scheduling of different tasks on the various systems involved.
본 발명은 에너지 소비를 스케쥴링 태스크 내의 표준으로서 일체화한다. 본 실시예에서, 분산 애플리케이션 계층(32)로부터의 전력 관리 애플리케이션(38) 및 프로파일(36)은, 가능성값에 기초하여 시스템 시나리오를 구성하는 데에 이용되어, 태스크 리스트를 실행한다. 시나리오가 미리 정해진 표준과 일치하지 않는 경우, 즉 예를 들어 전력 소비가 지나치게 큰 경우, 새로운 시나리오가 생성된다. 허용가능한 시나리오가 구성된 후, OS 계층는 하드웨어 활동을 모니터링하여 시나리오 내에서 예측된 활동이 정확했는지를 검증한다.The present invention integrates energy consumption as a standard in scheduling tasks. In this embodiment, the power management application 38 and profile 36 from the distributed application layer 32 are used to construct a system scenario based on the likelihood value to execute the task list. If the scenario does not conform to a predetermined standard, ie if the power consumption is too large, a new scenario is created. After an acceptable scenario has been configured, the OS layer monitors hardware activity to verify that the predicted activity in the scenario is correct.
허용 가능한 태스크 스케쥴링 시나리오를 위한 표준은 장치의 특질에 따라 달라질 수 있다. 이동 장치에서 중요한 표준은 최소 에너지 소비이다. 상술한 바와 같이, 전자 통신 장치들이 초소형화되어 감에 따라, 에너지 소비보다 배터리의 소형화가 더 중요해지고 있다. 장치 동작 중의 많은 경우에 있어서, 특히 배터리가 저레벨로 되었을 때는, 전력을 감소시키기 위해 태스크의 동작 모드를 저하시키는 것이 가능하다. 예를 들어, LCD의 리프레시율을 감소시키면, 화상 품질은 저하되지만 전력 소비를 감소시킬 수 있다. 전력을 감소시키기 위해 분산 처리 시스템(10)의 MIP(millions of instructions per second)를 감소시키는 방법도 있지만, 성능이 저하된다는 문제점이 있다. 전력 관리 소프트웨어(38)는 저하된 성능의 다양한 조합을 이용한 다양한 시나리오들을 분석하여, 허용 가능한 장치 동작에 도달할 수 있다.Standards for acceptable task scheduling scenarios may vary depending on the nature of the device. An important standard in mobile devices is minimum energy consumption. As mentioned above, as electronic communication devices become miniaturized, miniaturization of batteries becomes more important than energy consumption. In many cases during the operation of the device, it is possible to lower the operating mode of the task in order to reduce power, especially when the battery is at a low level. For example, if the refresh rate of the LCD is reduced, image quality may be degraded but power consumption may be reduced. There is also a method of reducing the MIP (millions of instructions per second) of the distributed processing system 10 to reduce power, but there is a problem that the performance is reduced. Power management software 38 may analyze various scenarios using various combinations of degraded performance to reach acceptable device operation.
전력 관리의 다른 목적은 주어진 전력 제한 셋업에 대하여 최고의 MIP 또는 최저 에너지를 찾는 것일 수 있다.Another purpose of power management may be to find the best MIP or lowest energy for a given power limit setup.
도 3a 및 도 3b는, 전력 관리 애플리케이션(38)을 이용하여 분산 처리 시스템(10)이 평균 전력 소모 한계를 초과하는 것을 방지하는 일례를 도시하고 있다. 도 3a에서, DSP(14), DMA(16) 및 MPU(12)는 다수의 태스크를 동시에 실행시킨다. 시점 t1에서, 매립된 3개의 시스템의 평균 전력 소산은 분배 처리 시스템(10)에 부과된 평균 제한을 초과한다. 도 3b는 동일한 태스크가 실행되는 시나리오를 도시하지만, MPU 태스크는 DMA 및 DSP 태스크가 허용가능한 전력 소산 프로파일을 유지하도록 고려된 후 까지 지연된다.3A and 3B illustrate an example of using the power management application 38 to prevent the distributed processing system 10 from exceeding an average power consumption limit. In FIG. 3A, DSP 14, DMA 16, and MPU 12 execute multiple tasks simultaneously. At time t1, the average power dissipation of the three embedded systems exceeds the average limit imposed on distributed processing system 10. 3B illustrates a scenario in which the same task is executed, but the MPU task is delayed until after the DMA and DSP tasks are considered to maintain an acceptable power dissipation profile.
도 4a는 전력 관리 태스크(38)의 제1 실시예의 동작을 기술하는 흐름도이다. 블럭(50)에서, 전력 관리 태스크는 글로벌 스케쥴러(40)에 의해 호출되어 MPU(12) 또는 DSP(14) 중 하나에 의해 실행되고, 스케쥴러는 입력되는 어플리케이션을 평가하여 연관된 우선 및 배제 규칙에 따라 태스크로 분할한다. 태스크 리스트(52)는 예를 들어, 오디오/비디오 디코딩, 디스플레이 제어, 키보드 제어, 캐릭터 인식 등을 포함할 수 있다. 단계(54)에서, 태스크 리스트(52)는 태스크 모델 파일(56) 및 허용된 퇴화(degradation) 파일(58)에 대해 평가된다. 태스크 모델 파일(56)에는 이미 태스크 리스트 중의 각 태스크에 상이한 모델을 할당하는 파일이 생생되어 있다. 각 모델은 데이타의 집합체로서, 경험적으로 또는 컴퓨터 보조 소프트웨어 설계 기술에 의해 도출될 수 있으며, 레이턴시 제한, 우선 순위, 데이타 흐름, 기준 프로세서 속도에서의 초기 에너지 추정치, 퇴화의 충격, 및 MIP 및 시간의 함수로서 주어진 프로세서의 실행 프로파일 등의 연관된 태스크의 특성을 규정한다. 퇴화 리스트(58)는 시나리오의 생성 시에 사용될 수 있는 각 종 퇴화을 기술한다.4A is a flowchart describing the operation of the first embodiment of the power management task 38. In block 50, the power management task is called by the global scheduler 40 and executed by either the MPU 12 or the DSP 14, and the scheduler evaluates the application being entered in accordance with the associated priority and exclusion rules. Split into tasks. Task list 52 may include, for example, audio / video decoding, display control, keyboard control, character recognition, and the like. In step 54, task list 52 is evaluated against task model file 56 and allowed degradation file 58. The task model file 56 has already generated a file for assigning a different model to each task in the task list. Each model is a collection of data, which can be derived empirically or by computer-aided software design techniques and includes latency limits, priorities, data flow, initial energy estimates at reference processor speeds, impact of degradation, and MIP and time. Defines the characteristics of the associated task, such as the execution profile of a given processor as a function. The degeneration list 58 describes the various degenerations that can be used in creating the scenario.
태스크 리스트가 수정(즉, 새로운 태스크가 생성되거나 태스크가 삭제됨)될 때마다 또는 실시간 이벤트가 발생될 때, 단계(54)에서의 태스크 리스트(52) 및 태스크 모델 파일(56)에 기초하여, 시나리오가 구축된다. 이 시나리오는 모듈에 각 종 태스크를 할당하여 태스크가 실행되는 우선 순위를 설정하는 우선 순위 정보를 제공한다. 기준 속도에서의 시나리오 에너지 추정치(59)는 태스크의 추정치로부터계산될 수 있다. 태스크는 필요하거나 바람직하다면, 퇴화될 수 있는 데, 즉, 태스크의 풀 버젼 대신 보다 적은 자원을 사용하는 태스크의 모드로 대체될 수 있다. 이 시나리오로부터, 블럭(60)에서 액티비티 추정치가 생성된다. 액티비티 추정치는 (분배 어플리케이션 계층(32)의 프로파일링 데이타(36)로부터의) 태스크 액티비티 프로파일(62) 및 (분배 어플리케이션 계층(32)의 프로파일링 데이타(36)로부터의) 하드웨어 아키텍쳐 모델(64)을 사용하여 시나리오로부터 얻어질 하드웨어 액티비티에 대한 개연론 값을 생성한다. 가연론 값은 각 모듈의 대기/실행 기산 공유(실효 MHz), 캐시 및 메모리로의 액세스, I/O 토글링 레이트 및 DMA 플로우 요청 및 데이타량을 포함한다. 열적 시정수와 일치하는 주기 T를 사용하여, 기준 프로세서 속도에서의 에너지 추정치(59) 및 단꼐(60)에서 도출된 평균 액티비티(특히, 실효 프로세서 속도)로부터, 열적 패키지 모델에 비교될 수 있는 평균 전력 소산을 계산할 수 있다. 전력값이 패키지 열적 모델(72)에서 기술된 임의 임계값을 초과하면, 시나리오는 판단 블럭(74)에서 거절된다. 이 경우, 불럭(54)에서 새로운 시나리오가 구축되고, 단계(60, 66 및 70)가 반복된다. 그렇지 않으면, 시나리오를 사용하여 태스크 리스트를 실행한다.Whenever a task list is modified (i.e., a new task is created or a task is deleted) or when a real-time event occurs, based on task list 52 and task model file 56 at step 54, the scenario Is built. This scenario provides priority information that assigns various tasks to the module to set the priority at which the tasks run. Scenario energy estimate 59 at the reference speed may be calculated from the estimate of the task. The task can be degraded if necessary or desired, i.e., replaced with the mode of the task using less resources instead of the full version of the task. From this scenario, an activity estimate is generated at block 60. Activity estimates include the task activity profile 62 (from profiling data 36 of distributed application layer 32) and the hardware architecture model 64 (from profiling data 36 of distributed application layer 32). Use to generate probabilistic values for the hardware activities that will be obtained from the scenario. The hypothetical value includes the wait / execution computation share (effective MHz) of each module, access to cache and memory, I / O toggle rate and DMA flow request and data amount. Using a period T coinciding with the thermal time constant, the average that can be compared to the thermal package model, from the average activity (especially the effective processor speed) derived from the energy estimate 59 and step 60 at the reference processor speed The power dissipation can be calculated. If the power value exceeds any of the thresholds described in the package thermal model 72, the scenario is rejected at decision block 74. In this case, a new scenario is established at block 54, and steps 60, 66 and 70 are repeated. Otherwise, run the task list using the scenario.
시나리오에 의해 한정된 태스크의 동작 동안, OS 및 RTOS는 하드웨어에 포함된 카운터(78)를 사용하여 블럭(76) 내의 그들의 각 모듈에 의해 액티비티를 트랙한다. 분배 처리 시스템(10)의 모듈에서의 실제 액티비티는 블럭(60)에서 추정된 액티비티로부터 변화할 수 있다. 하드웨어 카운터로부터의 데이타를 주기 T에 기초하여 모니터링하여 측정된 액티비티 값을 생성한다. 이들 측정된 액티비티 값들을 블럭(66)에서 사용하여 이 주기 동안 에너지 값과, 블럭(66)에서의 평균 전력 값을 상술된 바와 같이 계산하여 블럭(72)의 패키지 열적 모델과 비교한다. 측정된 값들이 임계치를 초과하면, 블럭(54)에서 새로운 시나리오가 구축된다. 측정된 액티비티 값들을 연속적으로 모니터링함으로써, 시나리오는 규정된 제한 범위 내로 유지되거나 변화하는 환경 조건들에 따라 조정되도록 동적으로 수정될 수 있다.During operation of the task defined by the scenario, the OS and the RTOS use the counter 78 included in the hardware to track the activity by their respective modules in the block 76. The actual activity in the module of the distribution processing system 10 may vary from the activity estimated at block 60. The data from the hardware counters are monitored based on period T to generate the measured activity values. These measured activity values are used at block 66 to calculate the energy value during this period and the average power value at block 66 as described above and compare it with the package thermal model of block 72. If the measured values exceed the threshold, a new scenario is established at block 54. By continuously monitoring the measured activity values, the scenario can be dynamically modified to remain within defined limits or to adjust to changing environmental conditions.
칩의 총 에너지 소비는The total energy consumption of the chip
로써 계산되며, 여기서 f는 주파수, Vdd는 공급 전압, 그리고 α는 확률적(또는 측정된, 이 계산의 블록 76에 관련된 토의부 참조) 활성도이다. 즉,은 등가의 소모 캐패시턴스 Cpd에 의해 특징지어지는 고유의 하드웨어 모듈에 대응하는 에너지이며, 카운터 값은을 주고, E는 T 내에서 소모된 분산 처리 시스템에서 모든 모듈을 위한 모든 에너지의 합이다. 평균 시스템 전력 소모 W=E/T 이다. 바람직한 실시예에서, 측정된 확률적인 에너지 소비가 계산되고 평균 전력 소모는 주기 T 동안의 에너지 소비로부터 유도된다. 대부분의 경우에, 에너지 소비 정보는 더욱 즉시 이용가능할 것이다. 그러나, 측정된 확률적 전력 소비로부터 전력 소모를 계산하는 것 또한 가능할 것이다.Where f is the frequency, V dd is the supply voltage, and α is the stochastic (or measured, see discussion section related to block 76 of this calculation) activity. In other words, Is the energy corresponding to the unique hardware module characterized by the equivalent consuming capacitance Cpd, and the counter value is E is the sum of all energy for all modules in the distributed processing system consumed within T. Average system power consumption W = E / T. In a preferred embodiment, the measured probabilistic energy consumption is calculated and the average power consumption is derived from the energy consumption during period T. In most cases, energy consumption information will be more readily available. However, it would also be possible to calculate power consumption from the measured stochastic power consumption.
도 4b는 전력 관리 업무(38)의 실시예 2의 동작을 서술하는 흐름도이다. 도 4b의 흐름은 도 41의 것과 동일하지만, 하나의 새로운 시나리오를 선택하는 것 대신에 단계 50에서 시나리오 구성 알고리즘을 끌어낼 때(새로운 임무, 임무 삭제, 실시간 이벤트), 성능 구속조건을 맞추는 n개의 상이한 시나리오들이, 추적 루프에서 산출된 전력이 블록 74에서 현재의 시나리오 거절로 된다면, 동적 루프(loop) 내에서 동작 수를 감소하고 빠른 적응을 제공하기 위해서 단계 54와 55에서 미리 조기 계산되고 저장될 수 있다는 점만은 다르다.4B is a flowchart describing the operation of the second embodiment of the power management task 38. The flow of FIG. 4B is the same as that of FIG. 41, but instead of selecting one new scenario, when eliciting the scenario construction algorithm in step 50 (new task, task deletion, real-time event), n different performance constraints are met. Scenarios can be precomputed and stored in steps 54 and 55 in advance to reduce the number of operations and provide fast adaptation in a dynamic loop if the power calculated in the tracking loop is the current scenario rejection in block 74. It is different.
도 5-8은 도 3의 다양한 블록의 동작을 더욱 상세히 도시한다. 구축 시스템 블록(54)이 도 5에 도시된다. 이 블록에서, 임무 목록(52), 임모 모델(56), 및 가능한 임무 성능저하의 목록(58)이 시나리오를 생성하기 위하여 이용된다. 임무 목록은 어느 임무가 분산 처리 시스템(10)에서 실행되는가에 달려있다. 도 5의 예시에서, 세가지 임무; MPEG4 디코드, 무선 모뎀 데이타 수신 및 키보드 이벤트 모니터가 도시된다. 실제 수행에서, 임무들은 꽤 많은 수의 소스로부터 생겨난다. 임무 모델은 시나리오를 정의하는데 있어서 고려되어져야만 하는 잠재와 우선 구속조건, 데이타 흐름, 초기 에너지 예측, 및 성능저하의 영향과 같은 조건들을 설명한다. 구축 시스템 시나리오 블록의 출력은 시나리오 80이며, 이것은 다양한 임무들을 모듈과 연결지으며, 각각의 임무에 우선도를 부여한다. 도 5에 도시된 예시에서, 예를 들어 MPEG4 디코드 임무는 우선도 16을 가지며 무선 모뎀 임무는 우선도 4를 갖는다.5-8 illustrate the operation of the various blocks of FIG. 3 in more detail. The build system block 54 is shown in FIG. 5. In this block, a task list 52, a mother tree model 56, and a list 58 of possible task degradations are used to generate the scenario. The task list depends on which task is executed in the distributed processing system 10. In the example of FIG. 5, three tasks; MPEG4 decode, wireless modem data reception and keyboard event monitor are shown. In actual practice, tasks come from quite a few sources. The mission model describes the conditions and potential constraints that must be considered in defining the scenario, such as the impact of data constraints, initial energy prediction, and performance degradation. The output of the build system scenario block is scenario 80, which links various tasks with the module and gives priority to each task. In the example shown in FIG. 5, for example, the MPEG4 decode task has priority 16 and the wireless modem task has priority 4.
블록 54에서 구축된 시나리오들은 다양한 고찰에 기초할 수 있다. 예를 들어, 시나리오들은 최대 성능에 패키지 열적 구속을 제공하는데에 기초하여 구축될 수 있다. 대안으로, 시나리오들은 최저 가능 에너지를 이용하는데 기초할 수 있다. 최적 시나리오는 디바이스의 동작 중에 변화가능하다; 예를 들어 완전 충전된 배터리를 가지고 디바이스는 최대 수행 레벨에서 동작할 수 있다. 배터리에서 전력이 프리세트 레벨 이하로 감소되었기 때문에, 디바이스는 동작을 유지하기 위하여 최저 가능 전력 레벨에서 동작가능했다.Scenarios built at block 54 may be based on various considerations. For example, scenarios can be built based on providing package thermal constraints for maximum performance. Alternatively, scenarios may be based on using the lowest possible energy. The optimal scenario is changeable during the operation of the device; For example, with a fully charged battery, the device can operate at the maximum performance level. Because power in the battery was reduced below the preset level, the device was operable at the lowest possible power level to maintain operation.
블록(54)로부터의 시나리오는 도 6에 도시된 활성도 예측 블록(60)에 의해 이용된다. 이 블록은 분산 처리 시스템(10)에서 전력 사용에 영향을 미치는 다양한 파라미터들을 위해 확률 산정을 수행한다. 확률적 활성도 예측은 임무 활성도 프로파일(62) 및 하드웨어 아키텍쳐의 모델(64)과 공동으로 생성된다. 임무 활성도 프로파일은 데이타 액세스형(로드/저장) 및 다른 메모리를 위한 발생에 대한 정보, 임무에 사용되는 브랜치나 루프와 같은 코드 프로파일, 및 임무에서의 명령을 위한 명령 당 사이클을 포함한다. 하드웨어 아키텍처 모델(64)은, (프로세서 동작/대기 시간 분배 등의) 추정된 하드웨어 활동의 계산을 허용할 시스템 레이턴시에 대한 테스크 활동 프로파일(62)의 영향을 설명한다. 이 모델은 테스트가 구현될 하드웨어의 특성, 예를 들면, 캐쉬의 크기, 각종 버스의 폭, I/O 핀의 수, 캐쉬가 라이트 쓰루(write through)인지 라이트 백(write back)인지의 여부, 사용되는 메모리의 종류(다이나믹, 스테틱, 플래쉬 등), 및 모듈에서 사용되는 클럭 속도를 고려한다. 전형적으로, 모델은 데이터 캐쉬가능/캐쉬 불가능, 판독/기록 억세스 쉐어, 명령당 사이클 수 등의 서로 다른 파라미터를 가진 MPU 및 DSP 유효 주파수 변화를 표시하는 커브 집합체로 구성될 수 있다. 도 6에 예시된 실시예에서는, 각 모듈의 유효 주파수, 메모리 억세스의 수, I/O 토글링 레이트 및 DMA 플로우에대한 값이 계산된다. 전력에 영향을 주는 다른 요인 또한 걔산된다.The scenario from block 54 is used by the activity prediction block 60 shown in FIG. This block performs probability estimation for various parameters that affect power usage in distributed processing system 10. Probabilistic activity prediction is generated in collaboration with the mission activity profile 62 and the model 64 of the hardware architecture. The task activity profile includes information about occurrences for data access (load / store) and other memory, code profiles such as branches or loops used for the task, and cycles per instruction for instructions in the task. Hardware architecture model 64 describes the impact of task activity profile 62 on system latency that will allow calculation of estimated hardware activity (such as processor operation / latency distribution). This model provides the characteristics of the hardware on which the test will be implemented, such as the size of the cache, the width of the various buses, the number of I / O pins, whether the cache is write through or write back, Consider the type of memory used (dynamic, static, flash, etc.) and the clock speed used by the module. Typically, the model may consist of a collection of curves that indicate MPU and DSP effective frequency changes with different parameters such as data cacheable / non-cacheable, read / write access share, number of cycles per instruction, and the like. In the embodiment illustrated in FIG. 6, values for the effective frequency, number of memory accesses, I / O toggle rate and DMA flow of each module are calculated. Other factors that affect power are also calculated.
전력 계산 블록(66)이 도 8에 도시된다. 이 블록에서는, 블록(60)으로부터의 가능 활동 또는 블록(76)으로부터의 측정된 활동을 사용하여 각종 에너지값 주기 T 동안의 전력값을 계산한다. 전력값은 분배 처리 시스템(10)의 하드웨어 디자인에 고유한 하드웨어 전력 프로파일과 관련하여 계산된다. 하드웨어 프로파일은 각 모듈에 대하여 Cpd, 논리 디자인 스타일 (D형 플립플롭, 래치, 게이트 클럭 등), 공급 전압 및 출력상의 용량 부하를 포함할 수 있다. 전력 계산은 집적 모듈 또는 외부 메모리나 다른 외부 장치에 대해서 이루어질 수 있다.Power calculation block 66 is shown in FIG. 8. In this block, the possible activity from block 60 or the measured activity from block 76 is used to calculate the power values for the various energy value periods T. The power value is calculated in relation to the hardware power profile inherent in the hardware design of the distribution processing system 10. The hardware profile may include Cpd, logic design style (D flip-flop, latch, gate clock, etc.), supply voltage and capacitive load on the output for each module. Power calculations can be made for integrated modules or external memory or other external devices.
활동 측정 및 모니터 블록(76)이 도 8에 도시되어 있다. 분배 처리 시스템(10)을 통해 카운터를 구현하여 캐쉬 미스(cache misses), TLB(translation lookaside buffer) 미스, 캐쉬 불가능 메모리 억세스, 대기 시간, 서로 다른 자원에 대한 판독/기록 요구, 메모리 오버헤드 및 온도 등의 각종 모듈에 대한 활동을 측정한다. 활동 측정 및 모니터 블록(76)은 각 모듈의 유효 주파수의 값, 메모리 억세스의 수, I/O 토글링 레이트 및 DMA 플로우를 출력한다. 특정 구현에서는, 다른 값도 측정될 수 있다. 이 블록의 출력은 전력 계산 블록(66)으로 보내진다.Activity measurement and monitoring block 76 is shown in FIG. 8. Counters are implemented by the distributed processing system 10 to ensure cache misses, translation lookaside buffer (TLB) misses, non-cacheable memory access, latency, read / write requests for different resources, memory overhead, and temperature. Measures activity on various modules, etc. Activity measuring and monitoring block 76 outputs the value of the effective frequency of each module, the number of memory accesses, the I / O toggle rate and the DMA flow. In certain implementations, other values may also be measured. The output of this block is sent to the power calculation block 66.
도 9는 전력/에너지 관리 소프트웨어를 사용하는 분배 처리 시스템(10)의 예를 도시한다. 이 예에서는, 분배 처리 시스템(10)은 MPU(12), 실행 OS, 및 2개의 DSP(14)(각각 DSP1(14a) 및 DSP2(14b)로 부름)를 포함한다. 각 모듈은 분배 처리 시스템(10)의 전체를 통해, 각종 활동 카운터(78)의 값을 모니터하는 모니터 테스트(82)를 실행한다. 각종 모니터 테스트는 관련 활동 카운터(78)로부터 데이터를검색하여 정보를 DSP(14a)에 통과시키고 측정 활동에 기초하여 전력 값을 계산한다. 전력 계산 테스트(84) 및 모니터 테스트(82) 등의 전력 관리 테스트를 다른 응용 테스트와 함께 실행할 수 있다.9 shows an example of a distribution processing system 10 using power / energy management software. In this example, distributed processing system 10 includes MPU 12, execution OS, and two DSPs 14 (called DSP1 14a and DSP2 14b, respectively). Each module executes a monitor test 82 which monitors the values of various activity counters 78 throughout the distribution processing system 10. Various monitor tests retrieve data from the associated activity counter 78 to pass information to the DSP 14a and calculate power values based on the measurement activity. Power management tests, such as power calculation test 84 and monitor test 82, can be run in conjunction with other application tests.
양호한 실시예에서는, 전력 관리 테스트(38) 및 프로파일(36)이 JAVA 리얼 타임 환경에서 JAVA 클래스 패키지로서 구현된다.In the preferred embodiment, the power management test 38 and profile 36 are implemented as JAVA class packages in a JAVA real-time environment.
본 발명은 종래 기술에 비해 현저한 장점을 제공한다. 먼저, 완전한 다이나믹 전력 관리를 제공한다. 분배 처리 시스템(10)에서 실행되는 테스트가 변화함에 따라, 전력 관리는 새로운 시나리오를 구축하여 임계값을 초과하지 않도록 보장한다. 또한, 배터리 전압 강하 등의 환경 조건이 변화함에 따라, 전력 관리 소프트웨어는 조건을 재검토하고 필요하다면 시나리오를 변경시킬 수 있다. 예를 들면, 배터리 전압(전원 전압)이 공칭값에서 Vdd가 유지될 수 없는 점으로 강하되면, 분배 처리 시스템(10)을 더 낮은 Vdd에서 동작할 수 있도록 허용하는 저주파수가 설정될 수 있다. 저주파수를 고려하게 되는 새로운 시나리오를 구축할 수 있다. 어떤 경우에는, 저주파수를 보상하기 위해 더 많은 하락이 있을 수 있다. 그러나, 정상적으로는 불충분한 전원 전압에도 불구하고 연속적인 소자 동작을 위해 더 낮은 주파수를 제공할 수 있다. 또한, 더 낮은 주파수가 허용될 수 있는 상황에서 소자는 더 낮은 Vdd(스위치 모드 전원의 사용이 가능함)에서 동작하여 비교적 낮은 활동의 기간 동안에 전력을 보존할 수 있다.The present invention provides significant advantages over the prior art. First, it provides complete dynamic power management. As tests run on distributed processing system 10 change, power management establishes new scenarios to ensure that thresholds are not exceeded. In addition, as environmental conditions, such as battery voltage drop, change, the power management software can review the conditions and change the scenarios if necessary. For example, if the battery voltage (power supply voltage) drops to the point where Vdd cannot be maintained at nominal value, a low frequency can be set that allows the distribution processing system 10 to operate at a lower Vdd. We can build a new scenario that takes into account low frequencies. In some cases, there may be more drops to compensate for the low frequencies. However, it can normally provide lower frequencies for continuous device operation despite insufficient supply voltage. Also, in situations where lower frequencies can be tolerated, the device can operate at lower Vdd (which enables the use of switch mode power supplies) to conserve power during periods of relatively low activity.
전력 관리 소프트웨어는 제어하 태스크에 투명하다. 따라서, 특정 태스크가어떠한 전력 관리를 제공하지 않는 경우에도 전력 관리 소프트웨어는 분산 처리 시스템(10)의 전력 성능에 적합한 방식으로 태스크를 실행한다. 전력 관리 소프트웨어의 전반적인 동작은 프로파일(36)을 변경함으로써 적응되는 다른 하드웨어 플랫폼에서 사용될 수 있다.Power management software is transparent to tasks under control. Thus, even if a particular task does not provide any power management, the power management software executes the task in a manner suitable for the power performance of the distributed processing system 10. The overall operation of the power management software can be used on other hardware platforms that are adapted by changing the profile 36.
본 발명의 상세한 설명은 특정 실시예와 관련되어 이루어졌지만, 당업자에게는 대체 실시예는 물론 각종 변형 실시예가 가능할 것이다. 따라서, 본 발명은 청구범위의 범위에 포함된 모든 변형 및 대체 실시예를 포함한다.Although the detailed description of the invention has been made in connection with specific embodiments, various modifications as well as alternative embodiments will be possible to those skilled in the art. Accordingly, the invention includes all modifications and alternative embodiments falling within the scope of the claims.
Claims (22)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/696,052 US7111177B1 (en) | 1999-10-25 | 2000-10-25 | System and method for executing tasks according to a selected scenario in response to probabilistic power consumption information of each scenario |
| US09696052 | 2000-10-25 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20010067341A true KR20010067341A (en) | 2001-07-12 |
| KR100830747B1 KR100830747B1 (en) | 2008-05-20 |
Family
ID=37529428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020000062989A Expired - Fee Related KR100830747B1 (en) | 2000-10-25 | 2000-10-25 | Intelligent power management for distributed processing systems |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100830747B1 (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100401514B1 (en) * | 2001-06-29 | 2003-10-17 | 주식회사 하이닉스반도체 | A data processing system |
| KR100757154B1 (en) * | 2004-06-09 | 2007-09-07 | 캐논 가부시끼가이샤 | Information processing apparatus and its control method |
| KR100878660B1 (en) * | 2004-06-22 | 2009-01-15 | 소니 컴퓨터 엔터테인먼트 인코포레이티드 | A recording medium storing a processor, an information processing apparatus, an information processing system, a method of controlling the processor, and a control program of the processor |
| US7996839B2 (en) * | 2003-07-16 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Heterogeneous processor core systems for improved throughput |
| US8171316B2 (en) | 2008-11-05 | 2012-05-01 | Samsung Electronics Co., Ltd. | Mobile system on chip (SoC) and a mobile terminal including the mobile SoC |
| KR101254009B1 (en) * | 2006-02-03 | 2013-04-12 | 삼성전자주식회사 | Method of dynamic voltage scaling of the CPU using workload estimator and computer readable medium storing the method |
| JP2014149845A (en) * | 2008-04-23 | 2014-08-21 | Qualcomm Incorporated | Coordinating power management functions in multi-media device |
| US9462326B2 (en) | 2008-08-19 | 2016-10-04 | Qualcomm Incorporated | Power and computational load management techniques in video processing |
| US9565467B2 (en) | 2008-08-19 | 2017-02-07 | Qualcomm Incorporated | Power and computational load management techniques in video processing |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3004968B2 (en) * | 1997-09-03 | 2000-01-31 | 松下電器産業株式会社 | Processor |
-
2000
- 2000-10-25 KR KR1020000062989A patent/KR100830747B1/en not_active Expired - Fee Related
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100401514B1 (en) * | 2001-06-29 | 2003-10-17 | 주식회사 하이닉스반도체 | A data processing system |
| US7996839B2 (en) * | 2003-07-16 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Heterogeneous processor core systems for improved throughput |
| KR100757154B1 (en) * | 2004-06-09 | 2007-09-07 | 캐논 가부시끼가이샤 | Information processing apparatus and its control method |
| KR100878660B1 (en) * | 2004-06-22 | 2009-01-15 | 소니 컴퓨터 엔터테인먼트 인코포레이티드 | A recording medium storing a processor, an information processing apparatus, an information processing system, a method of controlling the processor, and a control program of the processor |
| KR101254009B1 (en) * | 2006-02-03 | 2013-04-12 | 삼성전자주식회사 | Method of dynamic voltage scaling of the CPU using workload estimator and computer readable medium storing the method |
| JP2014149845A (en) * | 2008-04-23 | 2014-08-21 | Qualcomm Incorporated | Coordinating power management functions in multi-media device |
| US9462326B2 (en) | 2008-08-19 | 2016-10-04 | Qualcomm Incorporated | Power and computational load management techniques in video processing |
| US9565467B2 (en) | 2008-08-19 | 2017-02-07 | Qualcomm Incorporated | Power and computational load management techniques in video processing |
| US8171316B2 (en) | 2008-11-05 | 2012-05-01 | Samsung Electronics Co., Ltd. | Mobile system on chip (SoC) and a mobile terminal including the mobile SoC |
Also Published As
| Publication number | Publication date |
|---|---|
| KR100830747B1 (en) | 2008-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7111177B1 (en) | System and method for executing tasks according to a selected scenario in response to probabilistic power consumption information of each scenario | |
| US7062304B2 (en) | Task based adaptative profiling and debugging | |
| US7174194B2 (en) | Temperature field controlled scheduling for processing systems | |
| US6901521B2 (en) | Dynamic hardware control for energy management systems using task attributes | |
| EP1182538B1 (en) | Temperature field controlled scheduling for processing systems | |
| US6889330B2 (en) | Dynamic hardware configuration for energy management systems using task attributes | |
| US10564699B2 (en) | Dynamically controlling cache size to maximize energy efficiency | |
| Mittal | A survey of techniques for improving energy efficiency in embedded computing systems | |
| Jejurikar et al. | Procrastination scheduling in fixed priority real-time systems | |
| Mejia-Alvarez et al. | Adaptive scheduling server for power-aware real-time tasks | |
| US9377841B2 (en) | Adaptively limiting a maximum operating frequency in a multicore processor | |
| US20170147055A1 (en) | Systems and methods for providing local hardware limit management and enforcement | |
| US20140344599A1 (en) | Method and System for Power Management | |
| Khan et al. | Offline Earliest Deadline first Scheduling based Technique for Optimization of Energy using STORM in Homogeneous Multi-core Systems | |
| Paul | Real-time power management for embedded M2M using intelligent learning methods | |
| Kim et al. | A survey on recent OS-level energy management techniques for mobile processing units | |
| Raghunathan et al. | Adaptive power-fidelity in energy-aware wireless embedded systems | |
| Scordino et al. | A resource reservation algorithm for power-aware scheduling of periodic and aperiodic real-time tasks | |
| Kanduri et al. | Approximation knob: Power capping meets energy efficiency | |
| CN112230757B (en) | Method and system for reducing power by vacating a subset of CPU and memory | |
| KR100830747B1 (en) | Intelligent power management for distributed processing systems | |
| Lu et al. | A dynamic, compiler guided DVFS mechanism to achieve energy-efficiency in multi-core processors | |
| Kang et al. | Temperature-aware integrated DVFS and power gating for executing tasks with runtime distribution | |
| Benini et al. | System-level dynamic power management | |
| Jejurikar et al. | Integrating preemption threshold scheduling and dynamic voltage scaling for energy efficient real-time systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P18-X000 | Priority claim added or amended |
St.27 status event code: A-2-2-P10-P18-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| A201 | Request for examination | ||
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| FPAY | Annual fee payment |
Payment date: 20130429 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| FPAY | Annual fee payment |
Payment date: 20140430 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| FPAY | Annual fee payment |
Payment date: 20160330 Year of fee payment: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| FPAY | Annual fee payment |
Payment date: 20170330 Year of fee payment: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| FPAY | Annual fee payment |
Payment date: 20180329 Year of fee payment: 11 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20190327 Year of fee payment: 12 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 12 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20200514 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20200514 |