KR20040069277A - 저전력 동작 제어장치, 및 프로그램 최적화 장치 - Google Patents

저전력 동작 제어장치, 및 프로그램 최적화 장치 Download PDF

Info

Publication number
KR20040069277A
KR20040069277A KR1020040004967A KR20040004967A KR20040069277A KR 20040069277 A KR20040069277 A KR 20040069277A KR 1020040004967 A KR1020040004967 A KR 1020040004967A KR 20040004967 A KR20040004967 A KR 20040004967A KR 20040069277 A KR20040069277 A KR 20040069277A
Authority
KR
South Korea
Prior art keywords
control
microprocessor
low power
instruction
circuit
Prior art date
Application number
KR1020040004967A
Other languages
English (en)
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 KR20040069277A publication Critical patent/KR20040069277A/ko

Links

Classifications

    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H13/00Monuments; Tombs; Burial vaults; Columbaria
    • E04H13/006Columbaria, mausoleum with frontal access to vaults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H13/00Monuments; Tombs; Burial vaults; Columbaria
    • E04H13/001Accessories for grave sites, e.g. liners, covers, vault lowering devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

본 발명은 회로규모의 증가나 디코드 시간의 증가하는 일없이 명령 디코드의 파이프 라인 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지에 대해서도 마이크로프로세서의 저전력 동작을 실현하는 것을 목적으로 한다. 이를 위해, 명령을 실행하는 프로그램마다의 명령 코드의 술어(301)를 지정하는 플러그 포함하는 제 1 명령 세트와 제어 지정 정보(302)를 포함하는 1 또는 2이상의 제 2 명령 세트를 구비하고, 명령 실행 제어기능에 따라서 각 제어회로의 저전력 동작을 명령 단위로 행함으로써 회로규모의 증가나 디코드 시간의 증가하는 일없이 명령 디코드의 파이프 라인 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지에 대한 제어를 행하고, 마이크로프로세서의 저전력 동작을 실현할 수 있다.

Description

저전력 동작 제어장치, 및 프로그램 최적화 장치{LOW ELECTRIC POWER OPERATION CONTROL DEVICE AND PROGRAM OPTIMIZATION DEVICE}
본 발명은 플래그에 의한 명령 실행 제어기능[이하, 술어 기능으로 칭한다]을 구비하는 마이크로프로세서에 대한 저전력 동작 제어장치, 및 프로그램 최적화 장치에 관한 것이다.
마이크로프로세서에 있어서의 저전력 동작화를 실현하는 방식 중 하나로 명령 판별방식이 있다(예컨대, 일본 특허 제2778583호 공보 참조).
도 1A는 종래의 명령 판별에 의한 저전력 동작 제어장치의 구성도이고, 도 1B는 종래의 명령 판별에 의한 저전력 동작 제어장치의 동작 플로우이다.
도 1에 있어서 입력된 명령을 디코더(101)로 디코드하고, 디코드 결과로부터 저전력 제어회로(102)에 의해 저전력 제어내용을 판정하고, 판정결과에 의해서 특정 블록의 클럭 정지 등의 제어신호(103)에 의해 제어를 실시한다.
또한, 별도의 저전력 동작을 실현하는 방식 중 하나로, 저전력 명령 세트 판별방식이 있다(예컨대, 일본 특허 공개 2001-184208호 공보 참조).
도 2A는 종래의 마이크로프로세서에서 이용되는 명령 세트의 구성도, 도 2B는 종래의 명령 세트 판별에 의한 저전력 동작 제어장치의 구성도이고, 도 3은 종래의 명령 세트 판별에 의한 저전력 동작 제어장치의 동작 플로우이다.
도 2, 도 3에 있어서 통상 명령 세트와 스위칭가능한 저전력 명령 세트에 있어서 명령수를 한정하여 명령 코드 포맷의 빈자리를 만들고, 그 명령 코드의 빈자리에 저전력 제어내용을 정의하는 형식으로 하고, 통상 명령 세트와 저전력 명령 세트 각각의 명령 디코더(201)를 구비하고, 저전력 명령 세트 사용시에는 저전력 제어회로(202)로 저전력 제어내용을 판정하고, 판정결과에 의해서 특정 블록의 블록 정지 등의 제어신호(203)에 의해 제어를 실시한다.
그러나, 상기 방법 중, 도 1B에 도시하는 바와 같이, 명령 판별방식에서는 명령을 디코드하여 제어를 실시하는 원리상, 명령 디코드의 파이프 라인 스테이지 (pipe line stage), 및 시간적으로 선행하고 있는 파이프 라인 스테이지에 대한 제어를 실시하는 것이 곤란하거나 또는 불가능하다.
또한, 저전력 명령 세트 판별방식에서는 저전력 제어를 실시하기 위한 정보를 명령 디코드 이외로부터 취득하고, 명령 디코드의 파이프 라인 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지에 대한 제어를 실현하는 것이 가능하지만 복수의 명령 디코더, 및 사용하는 명령 세트에 따른 명령 디코드 결과의 선택회로를 구비할 필요가 있으므로 회로 규모 증대에 의한 신호 전달 경로(204)의 증가에 의해 소비전력의 증가, 디코드 시간의 증가가 문제로 된다.
본 발명은 상기 문제점을 감안하여 회로규모의 증가나 디코드 시간의 증가하는 일없이 명령 디코드의 파이프 라인 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지에 대한 제어를 행하고, 마이크로프로세서의 저전력 동작을 실현하는 것을 목적으로 한다.
도 1A는 종래의 명령 판별에 의한 저전력 동작 제어장치의 구성도이고, 도 1B는 종래의 명령 판별에 의한 저전력 동작 제어장치의 동작 플로우이다.
도 2A는 종래의 명령 세트의 구성도이고, 도 2B는 종래의 명령 세트 판별에 의한 저전력 동작 제어장치의 구성도이다.
도 3은 종래의 명령 세트 판별에 의한 저전력 동작 제어장치의 동작 플로우이다.
도 4A는 본 발명의 저전력 동작 제어장치에 있어서의 마이크로프로세서에서 이용되는 명령 세트의 구성도이고, 도 4B는 본 발명의 명령 세트 판별에 의한 저전력 동작 제어장치의 구성도이다.
도 5는 본 발명의 명령 세트 판별에 의한 저전력 동작 제어장치의 동작 플로우이다.
도 6은 본 발명의 저전력 동작 제어장치를 탑재하는 마이크로프로세서의 구성도이다.
도 7은 플래그(flag) 레지스터의 구조도이다.
도 8은 본 발명의 저전력 동작 제어장치의 명령 선택 플로우 설명도이다.
도 9는 본 발명의 저전력 모드 설명도이다.
도 10은 본 발명의 실시형태 1에 있어서의 제어동작을 설명하는 도면이다.
도 11은 본 발명의 실시형태 1에 있어서의 전원 전압 / 클럭 주파수 제어동작을 설명하는 도면이다.
도 12는 본 발명의 실시형태 2에 있어서의 저전력 동작 제어장치가 구비하는 프로그램 최적화 장치를 설명하는 도면이다.
도 13은 정지 대상 후보 산출수단의 동작 플로우 차트이다.
도 14는 스위칭 판정수단의 동작 플로우 차트이다.
도 15는 명령 세트 스위칭 명령 삽입수단의 동작 플로우 차트이다.
도 16은 제어 지정 정보 부가수단의 동작 플로우 차트이다.
도 17은 본 발명의 실시형태 3에 있어서의 저전력 동작 제어장치를 갖는 마이크로프로세서 및 주변회로의 구성도이다.
도 18은 본 발명의 실시형태 3에 있어서의 이벤트 발생회로에 의한 저전력 동작 제어를 설명하는 도면이다.
도 19는 본 발명의 실시형태 4에 있어서의 저전력 동작 제어장치를 갖는 마이크로프로세서의 구성도이다.
도 20은 본 발명의 실시형태 4에 있어서의 프로그램 처리량을 측정하는 것에 의한 저전력 동작 제어를 설명하는 도면이다.
도 21A는 본 발명의 실시형태 4에 있어서의 프로그램 처리량 측정결과를 도시하는 도면이고, 도 21B는 본 발명의 실시형태 4에 있어서의 처리량 제어를 도시하는 도면이다.
도 22A는 본 발명의 실시형태 4에 있어서의 프로그램 처리량 측정결과에 의해 동작을 제어하는 것을 설명하는 도면이고, 도 22B는 본 발명의 실시형태 4에 있어서의 술어(predicate) 동작의 실행 유무도 고려한 처리량 판정을 도시하는 도면이다.
상기 목적을 달성하기 위하여 제 1 발명은 조건 플래그에 의한 명령 조건 실행기능을 구비하는 마이크로프로세서에 탑재되어 이 마이크로프로세서의 저전력 동작을 제어하는 저전력 동작 제어장치로서, 상기 마이크로프로세서에 입력되는 명령 코드의 특정 비트 필드에 명령 실행 제어기능을 위한 플래그를 선택하는 명령 실행 제어 기능 정보를 포함하는 제 1 명령 세트와, 상기 특정 비트 필드에 저전력 제어를 위한 제어 지정 정보를 포함하는 1 또는 2이상의 제 2 명령 세트를 구비하고: 통상 동작시에 상기 제 1 명령 세트를 실행하고, 저전력 동작시에 상기 제 2 명령 세트를 실행하도록 명령 세트를 스위칭하는 동작 모드 스위칭 회로; 상기 제 1 명령 세트 모드시에 상기 명령 실행 제어 기능 정보에 따른 플래그를 판독하여 명령 실행 제어 기능 동작을 식별하는 술어 판정 회로; 상기 제 2 명령 세트 모드시에 상기 제어 지정 정보를 판독하여 저전력 동작을 행하는 제어회로의 제어 지정 정보를 추출하는 제어 지정 정보 추출회로; 및 상기 제어 지정 정보에 따른 각 제어회로의 저전력 동작을 실시하는 제어 동작 실행수단을 갖고: 미리 명령을 실행하는 프로그램 단위로 명령 실행 제어 기능 정보와 제어 지정 정보를 구비하고, 상기 제어 지정 정보에 따라서 각 제어회로의 저전력 동작을 명령 단위로 행함으로써 상기마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 한다.
제 2 발명은 조건 플래그에 의한 명령 조건 실행기능을 구비하는 마이크로프로세서에 탑재되어 이 마이크로프로세서의 저전력 동작을 제어하는 저전력 동작 제어장치로서, 상기 마이크로프로세서에 입력되는 명령 코드의 특정 비트 필드에 명령 실행 제어기능을 위한 플래그를 선택하는 명령 실행 제어 기능 정보를 포함하는 제 1 명령 세트와, 상기 특정 비트 필드에 저전력 제어를 위한 제어 지정 정보를 포함하는 1 또는 2이상의 제 2 명령 세트를 구비하고: 통상 동작시에 상기 제 1 명령 세트를 실행하고, 저전력 동작시에 상기 제 2 명령 세트를 실행하도록 명령 세트를 스위칭하는 동작 모드 스위칭 회로; 상기 제 1 명령 세트 모드시에 상기 명령 실행 제어 기능 정보에 따른 플래그를 판독하여 명령 실행 제어 기능 동작을 식별하는 술어 판정 회로; 상기 제 2 명령 세트 모드시에 상기 제어 지정 정보를 판독하여 상기 제어 지정 정보에 따라서 이벤트를 발생하는 이벤트 발생수단; 및 상기 이벤트를 수신하여 상기 이벤트에 따른 각 제어회로의 저전력 동작을 실시하는 제어 동작 실행수단을 갖고: 미리 명령을 실행하는 프로그램 단위로 명령 실행 제어 기능 정보와 제어 지정 정보를 구비하고, 상기 제어 지정 정보에 따라서 각 제어회로의 저전력 동작을 명령 단위로 행함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 한다.
제 3 발명은 상기 제어회로는 프로그램의 특정 개소에 있어서의 동작 정지 개소를 판정하는 동작 정지 판정 수단이고, 상기 제어 동작 실행수단은 동작 정지 판정 수단의 판정 결과로부터 상기 마이크로프로세서의 임의의 개소를 동작 정지제어하는 동작 정지 제어수단이고, 상기 마이크로프로세서의 임의의 개소를 동작 정지 제어로 함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 하는 한다.
제 4 발명은 상기 제어회로는 프로그램의 특정 개소에 있어서의 전원 전압의 제어 실행을 판정하는 전원 전압 판정수단이고, 상기 제어 동작 실행수단은 전원 전압 판정수단의 판정결과로부터 상기 마이크로프로세서의 전원 전압 제어를 행하는 전원 전압 제어수단이고, 상기 마이크로프로세서의 전원 전압 제어를 행함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 한다.
제 5 발명은 상기 제어회로는 프로그램의 특정 개소에 있어서의 기판 전압의 제어 실시를 판정하는 기판 전압 판정수단이고, 상기 제어 동작 실행수단은 상기 기판 전압 판정수단의 판정 결과로부터 상기 마이크로프로세서의 기판 전압을 제어하는 기판 전압 제어수단이고, 상기 마이크로프로세서의 기판 전압을 제어함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 한다.
제 6 발명은 상기 제어회로는 프로그램의 특정 개소에 있어서의 클럭 주파수 제어를 판정하는 클럭 주파수 판정수단이고, 상기 제어 동작 실행수단은 상기 클럭 주파수 판정수단의 판정결과로부터 클럭 주파수 제어를 실시하는 클럭 주파수 제어수단이고, 상기 마이크로프로세서의 클럭 주파수를 제어함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 한다.
제 7 발명은 상기 이벤트 발생수단을 구비하는 마이크로프로세서와는 다른 마이크로프로세서인 1 또는 2이상의 대상 마이크로프로세서 또는 데이터 처리수단에 상기 제어 동작 실행수단으로서 상기 대상 마이크로프로세서 또는 데이터 처리수단의 저전력 동작을 제어하는 동작 제어수단을 구비하고, 상기 이벤트 발생수단을 구비하는 마이크로프로세서에 의해 상기 대상 마이크로프로세서 또는 데이터 처리수단의 저전력 제어 동작을 제어하는 것을 특징으로 한다.
제 8 발명은 상기 이벤트 발생수단을 구비하는 마이크로프로세서와는 다른 마이크로프로세서인 1 또는 2이상의 대상 마이크로프로세서 또는 데이터 처리수단에 상기 제어 동작 실행수단으로서 상기 대상 마이크로프로세서 또는 데이터 처리수단의 전원 공급을 제어함으로써 저전력 제어 동작을 제어하는 전원 공급 제어수단을 구비하고, 상기 이벤트 발생수단을 구비하는 마이크로프로세서에 의해 상기 대상 마이크로프로세서 또는 데이터 처리수단의 저전력 제어 동작을 제어하는 것을 특징으로 한다.
제 9 발명은 상기 명령 코드를 생성하는 마이크로프로세서 프로그램 최적화 장치로서, 상기 마이크로프로세서의 소비 전력 정보에 의해 동작 정지 제어, 상기 전원 전압 제어, 상기 기판 전압 제어 또는 상기 클럭 주파수 제어에 있어서의 소비 전력을 산출하는 소비 전력 산출수단; 상기 소비 전력을 이용하여 각 명령의 동작 제어 회로 후보에 있어서의 소비 전력을 산출하는 동작 제어 후보 산출수단; 및 상기 소비 전력이 최소가 되도록 각 명령의 동작 제어 회로를 선택하는 스위칭 판정수단을 구비하고: 상기 제 1 명령 세트와 상기 제 2 명령 세트를 스위칭하는 명령 세트 스위칭 명령을 삽입하고, 상기 제 2 명령 세트의 상기 제어 지정 정보를 결정함으로써 저전력 동작 제어동작을 행하는 프로그램의 구성을 최적화하는 것을 특징으로 한다.
제 10 발명은 조건 플래그에 의한 명령 조건 실행기능을 구비하는 마이크로프로세서에 탑재되어 이 마이크로프로세서의 저전력 동작을 제어하는 저전력 동작 제어장치로서, 상기 마이크로프로세서에 입력되는 명령 코드의 특정 비트 필드에 명령 실행 제어기능을 위한 플래그를 선택하는 명령 실행 제어 기능 정보를 포함하는 제 1 명령 세트와, 상기 특정 비트 필드에 저전력 제어를 위한 제어 지정 정보를 포함하는 1 또는 2이상의 제 2 명령 세트를 구비하고: 통상 동작시에 상기 제 1 명령 세트를 실행하고, 저전력 동작시에 상기 제 2 명령 세트를 실행하도록 명령 세트를 스위칭하는 동작 모드 스위칭 회로; 상기 제 1 명령 세트 모드시에 상기 명령 실행 제어 기능 정보에 따른 플래그를 판독하여 명령 실행 제어 기능 동작을 식별하는 술어 판정 회로; 상기 제 2 명령 세트 모드시에 상기 제어 지정 정보를 판독하여 저전력 동작을 행하는 제어회로의 제어 지정 정보를 추출하는 제어 지정 정보 추출회로; 상기 제어 지정 정보를 이용하여 프로그램의 특정 개소의 처리량을 측정하는 프로그램 처리량 측정수단; 상기 처리량으로부터 프로그램마다의 최적의 소비 전력을 판정하는 처리량 판정수단; 및 상기 최적의 소비 전력이 되도록 프로그램 실행시의 주파수나 전원 전압을 제어하는 주파수 / 전원 제어수단과, 상기 제어 지정 정보를 이용하여 상기 명령 실행 제어기능에 따른 각 제어회로의 주파수 / 전원 제어수단에 따른 제어를 실시하는 제어 동작 실행수단을 갖고: 각 명령에 대응하는 프로그램에 있어서의 처리량을 측정함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 한다.
제 11 발명은 조건 플래그에 의한 명령 조건 실행기능을 구비하는 마이크로프로세서에 탑재되어 이 마이크로프로세서의 저전력 동작을 제어하는 동작 제어장치로서, 상기 마이크로프로세서에 입력되는 명령 코드의 특정 비트 필드에 명령 실행 제어기능을 위한 플래그를 선택하는 명령 실행 제어 기능 정보를 포함하는 제 1 명령 세트와, 상기 특정 비트 필드에 저전력 제어를 위한 제어 지정 정보를 포함하는 1 또는 2이상의 제 2 명령 세트를 구비하고: 통상 동작시에 상기 제 1 명령 세트를 실행하고, 저전력 동작시에 상기 제 2 명령 세트를 실행하도록 명령 세트를 스위칭하는 동작 모드 스위칭 회로; 상기 제 1 명령 세트 모드시에 상기 명령 실행 제어 기능 정보에 따른 플래그를 판독하여 명령 실행 제어 기능 동작을 식별하는 술어 판정 회로; 상기 제 2 명령 세트 모드시에 상기 제어 지정 정보를 판독하여 저전력 동작을 행하는 제어회로의 제어 지정 정보를 추출하는 제어 지정 정보 추출회로; 상기 제어 지정 정보를 이용하여 프로그램의 특정 개소의 처리량을 측정하는 프로그램 처리량 판정수단; 및 상기 처리량을 마이크로프로세서의 프로그램 중의 변수의 형태로 참조하는 처리량 참조수단을 갖고: 프로그램 동작에 있어서의 명령 단위마다 얻어지는 프로그램 처리량을 프로그램 실행 중에 참조하는 것을 특징으로 한다.
이상에 의해 회로규모의 증가나 디코드 시간의 증가하는 일없이 명령 디코드의 파이프 라인 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지에대한 제어를 행하고, 마이크로프로세서의 저전력 동작을 실현할 수 있다.
본 발명의 개념을 도 4A, 도 4B, 도 5를 이용하여 설명한다.
도 4A는 본 발명의 저전력 동작 제어장치에 있어서의 마이크로프로세서에서 이용되는 명령 세트의 구성도, 도 4B는 본 발명의 명령 세트 판별에 의한 저전력 동작 제어장치의 구성도이고, 도 5는 본 발명의 명령 세트 판별에 의한 저전력 동작 제어장치의 동작 플로우이다.
마이크로프로세서의 명령 실행 형식으로서 술어 동작으로 칭해지는 것이 있다. 이것은 과거에 결정되어 있는 플래그 정보에 의존하여 명령의 실행/불실행을 결정한다라는 것이다. 일반적으로 술어 동작을 실장하는 경우는 명령 코드의 구성 중에 실행/불실행을 의존시키는 플래그를 설정하기 위한 식별 정보(술어 비트)를 격납하는 비트 필드인 술어 필드(301)가 존재한다. 본 발명은 도 4에 도시하는 바와 같이, 명령 모드로서 상기 히트 필드에 술어 지정 정보를 정의하는 명령 세트 (1)와, 상기 히트 필드에 술어 이외의 제어 지정 정보(302)를 정의하는 2종류 이상의 명령 세트(2)를 구비하고, 마이크로프로세서 동작 중에 상기 명령 세트(1)와 명령 세트(2)를 스위칭 명령에 의해서 스위칭하고, 저전력 제어회로(303)에 의해 출력하는 제어신호(304)를 이용하여 프로그램 동작에 있어서의 명령 단위마다 저전력 제어를 실시하는 것을 실현한다.
도 5에서는 제어신호(304)가 [n+2] 시점의 명령 파이프 라인에 있어서의 명령 인출, 명령 디코드 스테이지의 파이프 라인 레지스터, 논리회로의 제어로서 사용되고 있는 개념을 표시하고 있다. 제어신호(304)는 명령 디코더는 아니고, 저전력 제어회로(303)에서 생성되고, 또한, [n+2] 시점의 명령 파이프 라인의 명령 디코드 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지(명령 인출 스테이지)에 대해서 여유를 가지고서 제어를 실현할 수 있는 것을 알았다.
또한, 명령 세트(1)와 명령 세트(2)의 관계에 있어서 명령 디코더가 참조하는 오퍼 코드(Operation code), 오퍼랜드(operand)는 동일하기 때문에 명령 디코더를 복수개 구비할 필요가 없다.
이로써, 회로규모의 증가, 디코드 시간의 증가하는 일없이 저전력 제어를 실시하기 위한 정보를 명령 디코드 이외로부터 취득하고, 명령 디코드의 파이프 라인 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지에 대한 제어를 실현하는 것이 가능하다.
이하, 본 발명의 실시형태에 관해서 도면을 참조하면서 설명한다.
(실시형태 1)
우선, 본 발명의 실시형태 1에 있어서의 저전력 동작 제어장치에 관해서 도 6, 도 7, 도 8, 도 9, 도 10, 도 11을 이용하여 설명한다.
도 6은 본 발명의 저전력 동작 제어장치를 탑재하는 마이크로프로세서의 구성도이다
도 6에 있어서 본 발명의 마이크로프로세서는 명령 메모리(401), 명령 메모리(401)로부터 취득한 명령 코드를 격납하는 명령 레지스터(420), 명령 코드 디코더(402), 연산기(403), 술어 동작에 사용하는 플래그 생성용 연산기(404), 플래그 생성용 연산기(404)의 연산 결과를 격납하는 플래그 레지스터(405), 연산 결과를격납하는 레지스터 파일(406), 명령 코드 중의 술어 필드 내용과 플래그 생성용 연산기(404)의 출력으로부터 술어 동작을 판정하는 술어 판정 회로(407), 명령 코드 중의 술어 필드 내용으로부터 제어 지정 정보를 추출하는 제어 지정 정보 추출회로 (408), 술어 필드 내용 중 술어 동작에 할당하는 정보와 제어 지정 정보에 할당하는 정보의 구분이나 동작 모드로부터 술어 판정 회로(407)나 제어 지정 정보 추출회로(408)의 동작을 지시하는 술어 제어회로(409), 제어 지정 정보에 의해서 클럭이나 논리 마스크 등의 동작 정지 제어를 실시하는 동작 정지 제어회로(410), 클럭 제어 회로(411), 논리회로의 입력을 0 또는 1로 고정하는 논리 마스크회로(412), 제어 지정 정보에 의해서 전원 전압 제어를 실시하는 전원 전압 제어회로(413), 전원(414), 제어 지정 정보에 의해서 기판 전압 제어를 실시하는 기판 전압 제어회로 (415), 기판 전압(416), 제어 지정 정보에 의해서 클럭 주파수 제어를 실시하는 클럭 주파수 제어회로(417), 클럭 발생회로(418), 동작 모드를 정의하는 동작 모드 설정 레지스터(419)로 구성되어 있다.
플래그 생성용 연산기(404)의 결과를 격납하는 플래그 레지스터(405)에는, 도 7의 플래그 레지스터의 구조도에 도시하는 바와 같이, 8개의 플래그(C0~C7)가 정의되어 있고, 연산결과에 의해서 각 플래그가 세트 또는 클리어된다. 단, C7은 항상 1로 되는 플래그로서 정의되어 있다.
여기서, 플래그 생성용 연산기(404)에 입력되는 2개의 데이터를 각각 A,B로 하여 연산에 대응하는 플래그의 설정예를 이하에 나타낸다.
Cmp. EQ C0, A, B
: 레지스터(A)와 레지스터(B)의 내용을 비교하고,
일치하고 있으면 1, 불일치이면 0이 C0에 격납된다.
Cmp. GT C0, A, B
: 레지스터(A)와 레지스터(B)의 내용을 비교하고,
A〉B이면 1, A≤B이면 0이 C0에 격납된다.
명령 코드의 구성은, 도 8의 본 발명의 저전력 동작 제어장치의 명령 선택 플로우 설명도에 도시하는 바와 같이, 술어 필드가 3비트 존재하여 C0~C7의 8 통과의 플래그의 설정이 가능하게 되어 있다. 명령마다 술어 번호를 지정함으로써 플래그를 선택하고, 선택한 플래그의 내용이 0인지 1인지에 따라서 대응하는 명령을 실행할지의 여부를 설정한다. C7은, 상기한 바와 같이, 항상 1로 되는 플래그로서 정의되어 있으므로 술어 번호로서 C7을 지정하면 「항상 실행한다」라는 의미가 된다.
동작 모드 설정 레지스터(419)에는 통상 동작, 및 2개이상의 저전력 모드 중 어느 하나를 지정하기 위한 비트가 설정되어 있다. 술어 필드 3비트분의 조합과 동작 모드 설정 레지스터의 내용 조합을 맞춤으로써 저전력 모드로 제어할 수 있는 종류를 다양화할 수 있다. 저전력 모드의 예로서는 이하의 것이 있다.
저전력 모드 1
: 술어 필드의 제어 정보를 이용하여 명령 종별마다 관련되는 기능 블록의 클럭, 전원 공급을 정지, 논리 마스크를 실시한다.
저전력 모드 2
: 술어 필드의 제어 정보를 이용하여 클럭 주파수, 전원 전압을 제어한다.
또한, 동작 모드 설정 레지스터(419)의 정보는 술어 제어회로(409)에 공급되고, 술어 판정, 및 제어 지정 정보의 제어에 사용된다.
도 9의 본 발명의 저전력 모드 설명도에 도시하는 바와 같이, 저전력 모드에서는 8종류의 술어 번호의 사용이 제한되고, 여기서는 C0,C4,C6,C7만이 사용가능하도록 구성되어 있다. 대신에 전력 제어 정보로서 P1,P2,P3,P5가 지정가능하다. 술어 필드에 격납되는 정보로서는 외관상 바뀌지 않지만 저전력 모드 중은 술어 판정 회로(407)에 입력되는 술어 번호가 C1,C2,C3,C5 시에 강제적으로 C7의 값으로 변경된다. 술어 필드는 제어 지정 정보 추출회로(408)에도 참조되어 있고, C1,C2,C3,C5시에 제어 정보로서 사용된다. 이들 일련의 동작에 의해서 술어 필드에 술어 번호, 전력 제어 정보를 혼재하여 지정할 수 있다. 또한, 술어 필드의 지정 방법으로서는 상기 이외의 조합도 존재한다.
저전력 모드(1)의 예로서 동작 정지 제어회로(410), 클럭 제어회로(411), 논리 마스크회로(412), 기판 전압 제어회로(415), 기판 전원(416)에 의한 제어 동작은 도 10의 본 발명의 실시형태 1에 있어서의 제어 동작을 설명하는 도면에 도시하는 바와 같이 실현한다. 동작 모드로서 P1,P2,P3,P5를 이용한 제어 동작을 실시하는 저전력 모드가 설정되어 있는 것으로 한다. 본 동작 모드에서의 전력 제어 정보(P1,P2,P3,P5)의 의미를 이하와 같이 정의한다.
P1: 3명령 후에 로드ㆍ저장 명령이 존재.
P2: 3명령 후에 전송 명령이 존재.
P3: 3명령 후에 연산 명령이 존재.
P5: 3명령 후에 분기 명령이 존재.
이들 전력 제어 정보에 기초하여 기능 블록의 클럭 고정이나 논리 마스크를 실시하고, 기능 블록의 동작을 정지시킨다. 또한, 기능 블록의 동작을 정지시키고 있는 사이, 트랜지스터의 누설 전류를 저감하기 위해서 기판 전압을 제어하고, 역치 전압(Vt)을 상승시킨다.
상기 마이크로프로세서의 파이프 라인 구성은 명령 인출(IF), 디코드(DC), 연산(EM), 후기입(WB)으로 되어 있고, 각 명령의 실행 파이프 라인 스테이지가 이하와 같이 되어 있는 것으로 한다.
로드ㆍ저장 명령(804) : EM,WB의 2 스테이지
전송 명령(803) : EM 스테이지
연산 명령(802) : EM 스테이지
분기 명령(805) : IF 스테이지
각각의 스테이지에 있어서의 제어는 도 5와 마찬가지의 개념으로 실시한다.
도 10의 구성에 있어서 클럭 제어, 논리 마스크, 기판 전압 제어를 실시하는 경우, 지연 시간을 고려하여 수 사이클 전에 제어 신호가 확정되어 있을 필요가 있다. 본 실시형태에서는 1사이클 전에 제어 신호가 확정되어 있을 필요가 있는 것으로 한다. 이를 위해서는 파이프 라인 스테이지를 고려하면 3명령 전부터 제어신호의 상태를 지정할 필요가 있지만, 상기와 같이, 전력 제어 정보가 3명령 후의 제어 내용을 지시하고 있으므로 제어 신호가 확정되고, 클럭 제어, 논리 마스크, 및 기판 전압 제어의 실시 동작(806)이 실시가능하다.
저전력 모드 2의 예로서 전원 전압 제어회로(413), 전원(414), 클럭 주파수 제어회로(417), 클럭 발생회로(418)에 의한 전원 전압 / 클럭 주파수 제어는 도 11의 본 발명의 실시형태 1에 있어서의 전원 전압 / 클럭 주파수 제어 동작을 설명하는 도면에 도시하는 바와 같이 실현한다. 동작 모드로서 P1,P2,P3,P5를 이용한 전원 전압 / 클럭 주파수 제어를 실시하는 저전력 모드가 설정되어 있는 것으로 한다. 본 동작 모드에서의 전력 제어 정보(P1,P2,P3,P5)의 의미를 이하와 같이 정의한다.
P1 : 5명령 후에 전원 전압, 클럭 주파수를 기본 전압의 100%로 한다.
P2 : 5명령 후에 전원 전압, 클럭 주파수를 기본 전압의 50%로 한다.
P3 : 5명령 후에 전원 전압, 클럭 주파수를 5% 내린다.
P4 : 5명령 후에 전원 전압, 클럭 주파수를 5% 올린다.
이들 전력 제어 정보에 기초하여 전원 전압, 클럭 주파수를 제어한다.
상기 마이크로프로세서의 파이프 라인 구성은 도 8과 동일한 것으로 한다.
각각의 스테이지에 있어서의 제어는 도 5와 마찬가지의 개념으로 실시한다.
도 11의 구성에 있어서 클럭 주파수를 제어하는 경우, 일반적으로 주파수 안정화를 위한 시간을 확보할 필요가 있다.
주파수 스위칭시에 안정화 시간을 확보하는 수단으로서 클럭 발생회로(418)를 2개 구비하고, 주파수 안정화 후에 클럭 발생회로를 스위칭하는 경우, 수 사이클 전에 제어신호가 확정되어 있을 필요가 있다. 본 실시형태에서는 4사이클 전에제어신호가 확정되어 있을 필요가 있는 것으로 한다. 이를 위해서는 파이프 라인 스테이지를 고려하면 5명령 전부터 제어신호의 상태를 지정할 필요가 있지만, 상기와 같이, 전력 제어 정보(902)가 5명령 후의 제어 내용을 지시하고 있으므로 제어 신호가 확정되고, 전원 전압 제어, 클럭 주파수 제어가 실시가능하다.
이상에 의해 회로규모의 증가나 디코드 시간의 증가하는 일없이 명령 디코드의 파이프 라인 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지에 대한 제어를 행하고, 마이크로프로세서의 저전력 동작을 실현할 수 있다.
(실시형태 2)
이어서, 본 발명의 실시형태 2에 있어서의 저전력 동작 제어장치에 의한 술어 정보를 갖는 최적화 후 프로그램의 생성방법에 관해서 도 12, 도 13, 도 14, 도 15, 도 16을 이용하여 설명한다.
도 12는 본 발명의 실시형태 2에 있어서의 프로그램 최적화 장치를 설명하는 도면이다.
도 12에 있어서 마이크로프로세서의 프로그램 최적화 장치는 정지 대상 후보 산출수단(1001), 스위칭 판정수단(1002), 명령 세트 스위칭 명령 삽입수단(1003), 제어 지정 정보 부가수단(1004)으로 구성되어 있다. 정지 대상 후보 산출수단 (1001)에는 최적화 대상의 프로그램(1005)과, 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로의 소비 전력 일람(1006)과, 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로의 명령별 동작 일람(1011)이 입력되고, 정지 대상 후보 일람 (1007)이 출력된다. 스위칭 판정수단(1002)에는 정지 대상 후보 일람(1007)이 입력되고, 스위칭 판정결과(1008)가 출력된다. 명령 세트 스위칭 명령 삽입수단(1003)에는 스위칭 판정결과(1008)와, 동작 모드 일람(1012)이 입력되고, 명령 세트 스위칭 명령 삽입결과(1009)가 출력된다. 제어 지정 정보 부가수단(1004)에는 명령 세트 스위칭 명령 삽입결과(1009)와, 제어 지정 정보 일람(1013)이 입력되고, 최적화 후 프로그램(1010)이 출력된다.
도 13은 정지 대상 후보 산출수단의 동작 플로우 차트이고, 3개의 스테이지로 구성된다.
도 13에 있어서 최적화 대상의 프로그램(1005)은 마이크로프로세서의 명령 열(1101)로 구성되어 있다. 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로의 소비 전력 일람(1006)은 마이크로프로세서의 명령마다 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로별 소비 전력이 망라되고, 예컨대, 도 13에 도시되는 구성회로별 소비전력의 일예(1102)에 도시되는 바와 같이 구성되어 있다.
우선, 동작 제 1 스텝(1103)은 소비 전력 일람(1006)을 이용하여 최적화 대상의 프로그램(1005)의 명령마다의 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로별 소비 전력을 검색하고, 프로그램 소비 전력 정보(1104)를 산출한다.
상기 프로그램 소비 전력 정보(1104)는 프로그램의 각 행에 관해서 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로 각각이 동작한 경우의 소비 전력을 표시하게 된다. 예로서 도 13의 프로그램 소비 전력 정보(1104)에 있어서의 Line 0101에서는,
회로 A : 0.005mW
회로 B : 0.003mW
회로 C : 0.001mW
ㆍㆍㆍ
로 된다.
마이크로프로세서 또는 멀티 프로세서 시스템 구성회로의 명령별 동작 일람(1011)은 마이크로프로세서의 명령마다의 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로별 동작 필요 개소(1105)가 망라되어 있다. 여기서 동작 필요 개소(1105)는 명령 기능을 실현하기 위해서 최저한 동작이 필요한 회로부분을 의미한다.
이어서, 동작 제 2 스텝(1106)은 명령별 동작 일람(1011)을 이용하여 최적화 대상의 프로그램(1005)의 명령마다 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로별 동작 필요여부를 검색하고, 정지 대상 후보 회로정보(1107)를 산출한다.
상기 정지 대상 후보 회로정보(1107)는 프로그램의 각 행에 관해서 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로 각각이 정지가능한지의 여부를 표시하게 된다. 예로서 도 13의 정지 대상 후보 회로정보(1107)에 있어서의 Line 0101에서는,
회로 A : 동작이 필요(정지 불가능)
회로 B : 정지 가능
회로 C : 정지 가능
ㆍㆍㆍ
을 의미한다.
여기서, 정지 대상 후보 회로정보(1107)에 있어서의 정지가능한 구성회로에 관해서 소비 전력 정보(1104)로부터 얻어지는 소비 전력과 조합시킴으로써 「정지가능한 구성회로가 정지한 것으로 가정한 경우」의 프로그램의 각행에 관한 소비 전력이 견적되는 것을 알았다.
즉, 도 13의 1104, 1107에 있어서의 Line 0101에서는,
회로B, 회로C가 정지가능
회로B의 소비 전력은 0.003mW이지만 「회로(B)가 정지한 것으로 가정한 경우」의 Line 0101의 소비 전력은 회로B의 소비 전력을 0mW로 가정하여 회로A, 회로C, ...의 각 회로의 소비 전력의 총합으로 견적할 수 있다.
회로C의 소비 전력은 0.001mW이지만 「회로C가 정지한 것으로 가정한 경우」의 Line 0101의 소비 전력은 회로C의 소비 전력을 0mW로 가정하여 회로A, 회로C, ...의 각 회로의 소비 전력의 총합으로 견적할 수 있다.
라는 것이 판단가능하다.
이것을 이용하여 동작 제 3 스텝(1108)은 정지 대상 후보 회로정보(1107)와 프로그램 소비 전력 정보(1104)를 이용하여 정지 대상 후보 회로의 소비 전력이 각각 0으로 된 것으로 가정한 경우의 최적화 대상의 프로그램(1005)의 명령마다의 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로별 소비 전력을 검색하고, 정지 대상 후보 일람(1007)을 산출한다.
상기 정지 대상 후보 일람(1007)은 프로그램의 각 행에 관해서 마이크로프로세서 또는 멀티 프로세서 시스템 구성회로 중 정지가능한 회로를 각각 정지한 것으로 가정한 경우의 소비 전력의 총합을 표시하게 된다. 예로서 도 13의 1007에 있어서의 Line 0101에서는,
회로B는 정지가능한 후보1:
회로B가 정지한 경우는 Line 0101의 소비 전력의 총합은 0.40mW
회로C는 정지가능한 후보2:
회로C가 정지한 경우는 Line 0101의 소비 전력의 총합은 0.77mW
를 의미한다.
도 14는 스위칭 판정수단의 동작 플로우 차트이고, 1개의 스텝으로 구성된다.
동작 스텝(1201)은 정지 대상 후보 일람(1007)을 이용하여 소비 전력이 가장 적은 정지 대상 후보 회로(1202,1203,1204)를 검색하고, 최적화 대상의 프로그램 (1005)의 명령마다 정지대상이 되는 회로와 그 소비 전력(1205)을 선택하고, 스위칭 판정결과(1008)를 산출한다.
도 15는 명령 세트 스위칭 명령 삽입수단의 동작 플로우 차트이고, 2개의 스텝으로 구성된다.
동작 제 1 스텝(1301)은 스위칭 판정결과(1008)와, 동작 모드 일람(1012)을 이용하여 최적화 대상의 프로그램(1005)의 동작 모드에 대응하는 대상회로의 관계 (1304)와 명령과 대상 회로의 관계(1305)로부터 명령마다의 정지 대상을 지정할 수있는 동작 모드, 및 동일 동작 모드를 적용할 수 있는 명령 열 범위를 산출하고, 동작 모드 판정결과(1302)를 출력한다.
동작 제 2 스텝(1303)은 동작 모드 판정결과(1302)에 있어서의 동작 모드가 스위칭하는 동작 모드 변화점(1306)을 검색하고, 최적화 대상의 프로그램(1005)의 명령 열마다 동작 모드를 지정하는 명령 세트 스위칭 명령(1307)을 삽입하고, 명령 세트 스위칭 명령 삽입결과(1009)를 산출한다.
도 16은 제어 지정 정보 부가수단의 동작 플로우 차트이고, 3개의 스텝으로 구성된다.
동작 제 1 스텝(1401)은 명령 세트 스위칭 명령 삽입결과(1009)와, 제어 지정 정보 일람(1013)을 이용하여 명령 세트 스위칭 명령 삽입결과(1009)의 명령마다 정지 대상 회로와 동작 모드에 대응하는 제어 지정 정보(1406)를 검색하고, 제어 지정 정보 판정결과(1402)를 출력한다.
동작 제 2 스텝(1403)은 제어 지정 정보 판정결과(1402)를 이용하여 일정 사이클 전에 제어 정보가 확정가능한 명령 열(1407)을 검색하고, 제어 지정 정보위치 (1404)를 산출한다. 또한, 상기 스텝의 검색 룰은 도 10, 도 11에서 설명한 제어 정보의 사이클 관계에 따른다.
동작 제 3 스텝(1405)은 제어 지정 정보 판정결과(1402), 및 제어 지정 정보 위치(1404)를 이용하여 명령 세트 스위칭 명령 삽입결과의 명령마다 제어 지정 정보를 삽입하고, 최적화 후 프로그램(1010)을 산출한다.
이상에 의해 술어 정보를 갖는 최적화 후 프로그램을 생성함으로써 명령 단위마다 저전력 제어를 행하고, 회로규모의 증가나 디코드 시간의 증가하는 일없이 명령 디코드의 파이프 라인 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지에 대한 제어를 행할 수 있고, 마이크로프로세서의 저전력 동작을 실현할 수 있다.
(실시형태 3)
이어서, 본 발명의 실시형태 3에 있어서의 저전력 동작 제어장치에 관해서 도 17, 도 18을 이용하여 설명한다.
도 17은 본 발명의 실시형태 3에 있어서의 저전력 동작 제어장치를 갖는 마이크로프로세서 및 데이터 처리수단의 구성도이고, 여기서는 데이터 처리수단도 마이크로프로세서로 구성되는 예를 도시하고 있다.
도 17에 있어서 본 발명의 멀티 프로세서 시스템은 명령 메모리(1501), 명령 메모리로부터 취득한 명령 코드를 격납하는 명령 레지스터(1516), 명령 코드 디코더(1502), 연산기(1503), 술어 동작에 사용하는 플래그 생성용 연산기(1504), 플래그 생성용 연산기의 결과를 격납하는 레지스터(1505), 연산결과를 격납하는 레지스터 파일(1506), 명령 코드 중의 술어 필드 내용과 플래그 생성용 연산기(1504)의 출력으로부터 술어 동작을 판정하는 술어 판정 회로(1507), 명령 코드 중의 술어 필드 내용으로부터 제어 지정 정보를 추출하는 제어 지정 정보 추출회로(1508), 술어 필드 내용 중 술어 동작에 할당하는 정보와 제어 지정 정보에 할당하는 정보의 구분이나 동작 모드로부터 술어 판정 회로(1507), 제어 지정 정보 추출회로(1508)의 동작을 지시하는 술어 제어회로(1509), 제어 지정 정보에 의해서 이벤트 발생필요여부를 판정하여 이벤트를 발생하는 이벤트 발생회로(1510), 동작 모드를 정의하는 동작 모드 설정 레지스터(1511)로 구성되는 마이크로프로세서A(1512)와, 이벤트 발생회로(1510)의 이벤트에 의해서 제어되는 동작 제어회로(1513), 전원 공급 제어회로(1514), 및 동작 제어회로(1513), 전원 공급 제어회로(1514)로 제어되는 마이크로프로세서B(1515)로 구성되어 있다.
마이크로프로세서A(1512)에 있어서의 레지스터, 술어 동작, 동작 모드, 및 파이프 라인 구성은 도 6, 도 7, 도 8, 도 9, 도 10과 마찬가지이지만 저전력 모드 중에 제어 지정 정보에 기초하여 이벤트 회로로부터 이벤트를 발생하고, 마이크로프로세서B(1515)의 제어를 실시하는 점이 다르다. 즉, 마이크로프로세서B의 저전력 동작 제어를 마이크로프로세서A에 의해서 행한다. 여기서는 마이크로프로세서 B의 저전력 동작제어를 마이크로프로세서A에 의해서 행하는 경우에 관해서 설명하지만 마이크로프로세서 이외의 데이터 처리수단으로 행하는 것도 가능하다.
또한, 여기서는 다른 마이크로프로세서의 저전력 동작을 제어하는 경우에 관해서 설명하고 있지만 이벤트를 발생하는 마이크로프로세서 자신의 제어를 행하는 것도 가능하다.
이벤트 발생회로에 의한 마이크로프로세서B(1515)의 제어는 도 18의 본 발명의 실시형태 3에 있어서의 이벤트 발생회로에 의한 저전압 동작 제어를 설명하는 도면에 도시하는 바와 같이 실현한다. 마이크로프로세서A의 동작 모드로서 P1,P2,P3,P5를 이용한 제어를 실시하는 저전력 모드가 설정되어 있는 것으로 한다. 본 동작 모드에서의 전력 제어 정보(P1,P2,P3,P5)의 의미를 이하와 같이 정의한다.
P1 : 5명령 후에 마이크로프로세서B를 기동.
P2 : 5명령 후에 마이크로프로세서B를 정지.
P3 : 5명령 후에 마이크로프로세서B의 전원을 공급.
P5 : 5명령 후에 마이크로프로세서B의 전원을 정지.
이들 전력 제어 정보에 기초하여 마이크로프로세서B의 동작이나 전원의 공급을 제어한다. 마이크로프로세서B의 동작이나 전원의 공급을 제어하는 경우, 일반적으로 기동동작이나 전원의 공급 안정화를 위한 시간이 필요하고, 수 사이클 전에 이벤트를 발생하고 있을 필요가 있다. 본 실시형태에서는 제어 신호 타이밍(1601)에 도시하는 바와 같이 이벤트를 발생하여 마이크로프로세서B(1515)가 기동 개시하고나서 기동완료하기까지 4사이클이 필요한 것으로 한다. 이를 위해서는 파이프 라인 스테이지를 고려하면 5명령 전부터 이벤트의 상태를 지정할 필요가 있지만, 상기와 같이, 전력 제어 정보가 5명령 후의 이벤트 내용을 지시하고 있기 때문에 이벤트가 발생하고, 마이크로프로세서B의 동작 및 전원의 공급 제어 동작(1602)이 실시가능하다.
이상에 의해 회로규모의 증가나 디코드 시간의 증가하는 일없이 명령 디코드의 파이프 라인 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지에 대한 제어를 행할 수 있고, 마이크로프로세서의 저전력 동작을 실현할 수 있다.
(실시형태 4)
이어서, 본 발명의 실시형태 4에 있어서의 저전력 동작 제어장치에 관해서 도 19, 도 20, 도 21, 도 22를 이용하여 설명한다.
도 19는 본 발명의 실시형태 4에 있어서의 저전력 동작 제어장치를 갖는 마이크로프로세서의 구성도이다.
본 발명의 있어서의 마이크로프로세서는 명령 메모리(1701), 명령 메모리 (1701)로부터 취득한 명령 코드를 격납하는 명령 레지스터(1717), 명령 코드 디코더(1702), 연산기(1703), 술어 동작에 사용하는 플래그 생성용 연산기(1704), 플래그 생성용 연산기(1704)의 결과를 격납하는 레지스터(1705), 연산결과를 격납하는 레지스터 파일(1706), 명령 코드 중의 술어 필드 내용과 플래그 생성용 연산기 (1704)의 출력으로부터 술어 동작을 판정하는 술어 판정 회로(1707), 명령 코드 중의 술어 필드 내용으로부터 제어 지정 정보를 추출하는 제어 지정 정보 추출회로 (1708), 술어 필드 내용 중 술어 동작에 할당하는 정보와 제어 지정 정보에 할당하는 정보의 구분이나 동작 모드로부터 술어 판정 회로(1707), 제어 지정 정보 추출회로(1708)의 동작을 지시하는 술어 제어회로(1709), 제어 지정 정보에 의해서 프로그램 처리량을 측정하는 프로그램 처리량 측정회로(1710), 측정결과를 참조할 수 있는 프로그램 처리량 측정결과 참조 레지스터(1711), 측정결과를 이용하여 프로그램 필요처리량을 판정하여 결과를 출력하는 프로그램 처리량 판정회로(1712), 동작 모드를 정의하는 동작 모드 설정 레지스터(1713), 프로그램 필요처리량 판정결과에 의해서 제어되는 클럭 주파수 / 전원 전압 제어회로(1714), 클럭 발생회로(1715), 및 전원(1716)으로 구성되어 있다.
본 마이크로프로세서에 있어서의 레지스터, 술어 동작, 동작 모드, 및 파이프 라인 구성은 도 6, 도 7, 도 8, 도 9, 도 10과 마찬가지이지만 저전력 모드 중에 제어 지정 정보에 기초하여 프로그램 처리량 판정회로로부터 필요 프로그램 처리량을 산출하고, 클럭 주파수 / 전원 전압 제어를 실시하는 점이 다르다.
프로그램 필요처리량 판정회로(1712)에 의한 클럭 주파수 / 전원 전압 제어는 도 20의 본 발명의 실시형태 4에 있어서의 프로그램 처리량을 측정하는 것에 의한 저전압 동작 제어를 설명하는 도면, 도 21A의 본 발명의 실시형태 4에 있어서의 프로그램 처리량 측정결과를 도시하는 도면, 도 21B의 본 발명의 실시형태 4에 있어서의 처리량 제어를 도시하는 도면에 도시하는 바와 같이 실현한다. 여기서는 동작 모드로서 P1,P2,P3,P5를 이용한 처리량 측정을 실시하는 저전력 모드가 설정되어 있는 것으로 한다. 본 동작 모드에서의 전력 제어 정보(P1,P2,P3,P5)의 의미를 이하와 같이 정의한다.
P1 : 처리량 카운터를 리셋.
P2 : 처리량 카운터의 증가 개시.
P3 : 처리량 카운터의 증가 정지.
P5 : 5명령 후에 처리량 카운터의 값에 의한 클럭 주파수 / 전원 전압 제어갱신.
우선, 프로그램 처리량 측정회로(1710)에는 처리량 카운터(1801)를 설치하여 두고, 전력 제어 정보에 의해서 처리량 카운터를 제어하고, 프로그램 처리량을 프로그램 처리량 측정결과(1802)와 같이 측정한다.
이어서, 프로그램 처리량 판정회로(1712)에는 프로그램이 어느 시점까지 실행을 종료하고 있을 필요가 있는지의 정보, 즉, 완료 기한 정보(1803)를 설정하여둔다. 이 완료 기한 정보(1803)와 처리량 측정결과를 이용하여 프로그램 동작의 필요 최저한 처리량(1804)을 산출함으로써 클럭 주파수 / 전원 전압 제어회로(1714)로부터 출력하는 제어 신호 타이밍(1805)에 의한 연장 처리(1807) 등의 제어가 실시가능하다. 또한, 클럭 주파수 / 전원 전압 제어에는 일반적으로 기동이나 전원 안정화를 위한 시간이 필요하고, 수 사이클 전에 이벤트를 발생하고 있을 필요가 있다. 본 실시형태에서는 클럭 주파수 / 전원 전압 제어 타이밍(1806)과 같이 4사이클 전부터 이벤트를 발생하고 있을 필요가 있는 것으로 한다. 이를 위해서는 파이프 라인 스테이지를 고려하면 5명령 전부터 클럭 주파수 / 전원 전압의 제어 갱신을 지정할 필요가 있지만, 상기와 같이, 전력 제어 정보(P5)가 5명령 후의 제어갱신을 지시하고 있기 위한 제어가 가능하게 된다.
또한, 프로그램 처리량 측정결과는 프로그램 처리량 측정결과 참조 레지스터 (1711)에 의해서 프로그램 동작 중에 참조할 수 있고, 도 22A의 본 발명의 실시형태 4에 있어서의 프로그램 처리량 측정결과에 의해 동작을 제어하는 것을 설명하는 도면, 도 22B의 본 발명의 실시형태 4에 있어서의 술어 동작의 실행 유무도 고려한 처리량 판정을 도시하는 바와 같이, 처리량에 의해서 프로그램 동작을 결정하는 것도 실현할 수 있다. 도 22A에서는 모듈A,B,C로 구성되는 프로그램에 있어서 모듈A의 처리량에 기초하여 모듈 B,C 중 어느쪽을 기동할지의 판정에 참조 레지스터의 오퍼랜드 REF(1901)를 사용하고 있는 예를 표시하고 있다.
또한, 도 22B에서는 동작 모드로서 P0, P1, P2, P3, P4, P5, P6, P7을 이용하여 이하와 같이 정의함으로써 술어 동작의 실행 유무도 고려한 처리량 판정도 실현가능한 예를 표시하고 있다.
P0 : C0 술어 동작, 및 실행시에 처리량 카운터를 증가.
P1 : C1 술어 동작, 및 실행시에 처리량 카운터를 증가.
P2 : C2 술어 동작, 및 실행시에 처리량 카운터를 증가.
P3 : C3 술어 동작, 및 실행시에 처리량 카운터를 증가.
P4 : C4 술어 동작, 및 실행시에 처리량 카운터를 증가.
P5 : C5 술어 동작, 및 실행시에 처리량 카운터를 증가.
P6 : C6 술어 동작, 및 실행시에 처리량 카운터를 증가.
P7 : C7 술어 동작, 및 실행시에 처리량 카운터를 증가.
이상과 같이 본 발명에 의하면 명령을 실행하는 프로그램마다의 명령 코드가 명령 실행 제어기능을 지정하는 플래그를 포함하는 제 1 명령 세트와 제어 지정 정보를 포함하는 1 또는 2이상의 제 2 명령 세트를 구비하고, 명령 실행 제어기능에 따라서 각 제어회로의 저전력 동작을 명령 단위로 행함으로써 회로규모의 증가나 디코드 시간의 증가하는 일없이 명령 디코드의 파이프 라인 스테이지, 및 시간적으로 선행하고 있는 파이프 라인 스테이지에 대한 제어를 행하고, 마이크로프로세서의 저전력 동작을 실현할 수 있다.

Claims (11)

  1. 조건 플래그에 의한 명령 조건 실행기능을 구비하는 마이크로프로세서에 탑재되어 이 마이크로프로세서의 저전력 동작을 제어하는 저전력 동작 제어장치로서,
    상기 마이크로프로세서에 입력되는 명령 코드의 특정 비트 필드에 명령 실행 제어기능을 위한 플래그를 선택하는 명령 실행 제어 기능 정보를 포함하는 제 1 명령 세트와, 상기 특정 비트 필드에 저전력 제어를 위한 제어 지정 정보(302)를 포함하는 1 또는 2이상의 제 2 명령 세트를 구비하고:
    통상 동작시에 상기 제 1 명령 세트를 실행하고, 저전력 동작시에 상기 제 2 명령 세트를 실행하도록 명령 세트를 스위칭하는 동작 모드 스위칭 회로;
    상기 제 1 명령 세트 모드시에 상기 명령 실행 제어 기능 정보에 따른 플래그를 판독하여 명령 실행 제어 기능 동작을 식별하는 술어 판정 회로(407);
    상기 제 2 명령 세트 모드시에 상기 제어 지정 정보를 판독하여 저전력 동작을 행하는 제어회로의 제어 지정 정보를 추출하는 제어 지정 정보 추출회로(408); 및
    상기 제어 지정 정보를 이용하여 각 제어회로의 저전력 동작을 실시하는 제어 동작 실행수단을 갖고:
    미리 명령을 실행하는 프로그램 단위로 명령 실행 제어 기능 정보와 제어 지정 정보를 구비하고, 상기 제어 지정 정보에 따라서 각 제어회로의 저전력 동작을 명령 단위로 행함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 하는 저전력 동작 제어장치.
  2. 조건 플래그에 의한 명령 조건 실행기능을 구비하는 마이크로프로세서에 탑재되어 이 마이크로프로세서의 저전력 동작을 제어하는 저전력 동작 제어장치로서,
    상기 마이크로프로세서에 입력되는 명령 코드의 특정 비트 필드에 명령 실행 제어기능을 위한 플래그를 선택하는 명령 실행 제어 기능 정보를 포함하는 제 1 명령 세트와, 상기 특정 비트 필드에 저전력 제어를 위한 제어 지정 정보(302)를 포함하는 1 또는 2이상의 제 2 명령 세트를 구비하고:
    통상 동작시에 상기 제 1 명령 세트를 실행하고, 저전력 동작시에 상기 제 2 명령 세트를 실행하도록 명령 세트를 스위칭하는 동작 모드 스위칭 회로;
    상기 제 1 명령 세트 모드시에 상기 명령 실행 제어 기능 정보에 따른 플래그를 판독하여 명령 실행 제어 기능 동작을 식별하는 술어 판정 회로(1507);
    상기 제 2 명령 세트 모드시에 상기 제어 지정 정보를 판독하여 상기 제어 지정 정보에 따라서 이벤트를 발생하는 이벤트 발생수단(1510); 및
    상기 이벤트를 수신하여 상기 이벤트에 따른 각 제어회로의 저전력 동작을 실시하는 제어 동작 실행수단을 갖고:
    미리 명령을 실행하는 프로그램 단위로 명령 실행 제어 기능 정보와 제어 지정 정보를 구비하고, 상기 제어 지정 정보에 따라서 각 제어회로의 저전력 동작을 명령 단위로 행함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 하는 저전력 동작 제어장치.
  3. 제1항 또는 제2항에 있어서, 상기 제어회로는 프로그램의 특정 개소에 있어서의 동작 정지 개소를 판정하는 동작 정지 판정 수단이고,
    상기 제어 동작 실행수단은 동작 정지 판정 수단의 판정 결과로부터 상기 마이크로프로세서의 임의의 개소를 동작 정지 제어하는 동작 정지 제어수단(410)이고,
    상기 마이크로프로세서의 임의의 개소를 동작 정지 제어로 함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 하는 저전력 동작 제어장치.
  4. 제1항 또는 제2항에 있어서, 상기 제어회로는 프로그램의 특정 개소에 있어서의 전원 전압의 제어 실행을 판정하는 전원 전압 판정수단이고,
    상기 제어 동작 실행수단은 전원 전압 판정수단의 판전결과로부터 상기 마이크로프로세서의 전원 전압 제어를 행하는 전원 전압 제어수단(413)이고,
    상기 마이크로프로세서의 전원 전압 제어를 행함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 하는 저전력 동작 제어장치.
  5. 제1항 또는 제2항에 있어서, 상기 제어회로는 프로그램의 특정 개소에 있어서의 기판 전압의 제어 실시를 특정하는 기판 전압 판정수단이고,
    상기 제어 동작 실행수단은 상기 기판 전압 판정수단의 판정 결과으로부터 상기 마이크로프로세서의 기판 전압을 제어하는 기판 전압 제어수단(415)이고,
    상기 마이크로프로세서의 기판 전압을 제어함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 하는 저전력 동작 제어장치.
  6. 제1항 또는 제2항에 있어서, 상기 제어회로는 프로그램의 특정 개소에 있어서의 클럭 주파수 제어를 판정하는 클럭 주파수 판정수단이고,
    상기 제어 동작 실행수단은 상기 클럭 주파수 판정수단의 판정결과로부터 클럭 주파수 제어를 실시하는 클럭 주파수 제어수단(417)이고,
    상기 마이크로프로세서의 클럭 주파수를 제어함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 하는 저전력 동작 제어장치.
  7. 제2항에 있어서, 상기 이벤트 발생수단을 구비하는 마이크로프로세서와는 다른 마이크로프로세서(1515)인 1 또는 2이상의 대상 마이크로프로세서 또는 데이터 처리수단에 상기 제어 동작 실행수단으로서 상기 대상 마이크로프로세서 또는 데이터 처리수단의 저전력 동작을 제어하는 동작 제어수단(1513)을 구비하고, 상기 이벤트 발생수단을 구비하는 마이크로프로세서에 의해 상기 대상 마이크로프로세서 또는 데이터 처리수단의 저전력 제어 동작을 제어하는 것을 특징으로 하는 저전력동작 제어장치.
  8. 제2항에 있어서, 상기 이벤트 발생수단을 구비하는 마이크로프로세서와는 다른 마이크로프로세서(1515)인 1 또는 2이상의 대상 마이크로프로세서 또는 데이터 처리수단에 상기 제어 동작 실행수단으로서 상기 대상 마이크로프로세서 또는 데이터 처리수단의 전원 공급을 제어함으로써 저전력 제어 동작을 제어하는 전원 공급 제어수단(1514)을 구비하고, 상기 이벤트 발생수단을 구비하는 마이크로프로세서에 의해 상기 대상 마이크로프로세서 또는 데이터 처리수단의 저전력 제어 동작을 제어하는 것을 특징으로 하는 저전력 동작 제어장치.
  9. 제1항 또는 제2항에 있어서, 상기 명령 코드를 생성하는 마이크로프로세서 프로그램 최적화 장치로서,
    상기 마이크로프로세서의 소비 전력 정보에 의해 동작 정지 제어, 전원 전압 제어, 기판 전압 제어 또는 클럭 주파수 제어에 있어서의 소비 전력을 산출하는 소비 전력 산출수단;
    상기 소비 전력을 이용하여 각 명령의 동작 제어 회로 후보에 있어서의 소비 전력을 산출하는 동작 제어 후보 산출수단(1001); 및
    상기 소비 전력이 최소가 되도록 각 명령의 동작 제어 회로를 선택하는 스위칭 판정수단(1002)을 구비하고:
    상기 동작 정지 제어는 상기 제어 동작 실행수단이 동작 정지 판정 수단의판정결과로부터 상기 마이크로프로세서의 임의의 개소에 대해서 행하는 동작 정지 제어, 상기 전원 전압 제어는 상기 제어 동작 실행수단이 상기 전원 전압 판정수단의 판정결과로부터 상기 마이크로프로세서에 대해서 행하는 전원 전압 제어, 상기 기판 전압 제어는 상기 제어 동작 실행수단이 기판 전압 판정수단의 판정결과로부터 상기 마이크로프로세서에 대해서 행하는 기판 전압 제어, 상기 클럭 주파수 제어는 상기 제어 동작 실행수단이 클럭 주파수 판정수단의 판정 결과로부터 행하는 클럭 주파수 제어이고, 상기 제 1 명령 세트와 상기 제 2 명령 세트를 스위칭하는 명령 세트 스위칭 명령을 삽입하고, 상기 제 2 명령 세트의 상기 제어 지정 정보를 결정함으로써 저전력 동작 제어동작을 행하는 프로그램의 구성을 최적화하는 것을 특징으로 하는 저전력 동작 제어장치용 프로그램 최적화 장치.
  10. 조건 플래그에 의한 명령 조건 실행기능을 구비하는 마이크로프로세서에 탑재되어 이 마이크로프로세서의 저전력 동작을 제어하는 저전력 동작 제어장치로서,
    상기 마이크로프로세서에 입력되는 명령 코드의 특정 비트 필드에 명령 실행 제어기능을 위한 플래그를 선택하는 명령 실행 제어 기능 정보를 포함하는 제 1 명령 세트와, 상기 특정 비트 필드에 저전력 제어를 위한 제어 지정 정보를 포함하는 1 또는 2이상의 제 2 명령 세트를 구비하고:
    통상 동작시에 상기 제 1 명령 세트를 실행하고, 저전력 동작시에 상기 제 2 명령 세트를 실행하도록 명령 세트를 스위칭하는 동작 모드 스위칭 회로;
    상기 제 1 명령 세트 모드시에 상기 명령 실행 제어 기능 정보에 따른 플래그를 판독하여 명령 실행 제어 기능 동작을 식별하는 술어 판정 회로(1707);
    상기 제 2 명령 세트 모드시에 상기 제어 지정 정보를 판독하여 저전력 동작을 행하는 제어회로의 제어 지정 정보를 추출하는 제어 지정 정보 추출회로(1708);
    상기 제어 지정 정보를 이용하여 프로그램의 특정 개소의 처리량을 측정하는 프로그램 처리량 측정수단(1710);
    상기 처리량으로부터 프로그램마다의 최적의 소비 전력을 판정하는 처리량 판정수단(1712); 및
    상기 최적의 소비 전력이 되도록 프로그램 실행시의 주파수나 전원 전압을 제어하는 주파수 / 전원 제어수단(1714)을 갖고:
    각 명령에 대응하는 프로그램에 있어서의 처리량을 측정함으로써 상기 마이크로프로세서의 저전력 동작을 명령 단위로 제어하는 것을 특징으로 하는 저전력 동작 제어장치.
  11. 조건 플래그에 의한 명령 조건 실행기능을 구비하는 마이크로프로세서에 탑재되어 이 마이크로프로세서의 저전력 동작을 제어하는 저전력 동작 제어장치로서,
    상기 마이크로프로세서에 입력되는 명령 코드의 특정 비트 필드에 명령 실행 제어기능을 위한 플래그를 선택하는 명령 실행 제어 기능 정보를 포함하는 제 1 명령 세트와, 상기 특정 비트 필드에 저전력 제어를 위한 제어 지정 정보를 포함하는 1 또는 2이상의 제 2 명령 세트를 구비하고:
    통상 동작시에 상기 제 1 명령 세트를 실행하고, 저전력 동작시에 상기 제 2명령 세트를 실행하도록 명령 세트를 스위칭하는 동작 모드 스위칭 회로;
    상기 제 1 명령 세트 모드시에 상기 명령 실행 제어 기능 정보에 따른 플래그를 판독하여 명령 실행 제어 기능 동작을 식별하는 술어 판정 회로(1707);
    상기 제 2 명령 세트 모드시에 상기 제어 지정 정보를 판독하여 저전력 동작을 행하는 제어회로의 제어 지정 정보를 추출하는 제어 지정 정보 추출회로(1708);
    상기 제어 지정 정보를 이용하여 프로그램의 특정 개소의 처리량을 측정하는 프로그램 처리량 판정수단(1710); 및
    상기 처리량을 마이크로프로세서의 프로그램 중의 변수의 형태로 참조하는 처리량 참조수단을 갖고:
    프로그램 동작에 있어서의 명령 단위마다 얻어지는 프로그램 처리량을 프로그램 실행 중에 참조하는 것을 특징으로 하는 저전력 동작 제어장치.
KR1020040004967A 2003-01-28 2004-01-27 저전력 동작 제어장치, 및 프로그램 최적화 장치 KR20040069277A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2003-00018106 2003-01-28
JP2003018106A JP4412905B2 (ja) 2003-01-28 2003-01-28 低電力動作制御装置、およびプログラム最適化装置

Publications (1)

Publication Number Publication Date
KR20040069277A true KR20040069277A (ko) 2004-08-05

Family

ID=32652829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040004967A KR20040069277A (ko) 2003-01-28 2004-01-27 저전력 동작 제어장치, 및 프로그램 최적화 장치

Country Status (5)

Country Link
US (2) US7100063B2 (ko)
EP (2) EP1443394A3 (ko)
JP (1) JP4412905B2 (ko)
KR (1) KR20040069277A (ko)
CN (1) CN1272704C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100934215B1 (ko) * 2007-10-29 2009-12-29 한국전자통신연구원 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4412905B2 (ja) * 2003-01-28 2010-02-10 パナソニック株式会社 低電力動作制御装置、およびプログラム最適化装置
JP4189882B2 (ja) * 2004-05-11 2008-12-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 記録媒体、情報処理装置、制御方法、及びプログラム
ATE461481T1 (de) * 2005-12-23 2010-04-15 Koninkl Kpn Nv Prozessor-verriegelung
ATE512409T1 (de) * 2006-02-16 2011-06-15 Vns Portfolio Llc Asynchrone computer-kommunikation
JP5395383B2 (ja) * 2008-08-21 2014-01-22 株式会社東芝 パイプライン演算プロセッサを備える制御システム
JP2010231306A (ja) * 2009-03-26 2010-10-14 Nec Corp コンピュータシステム、ハードウェアリソース制御方法及びそのプログラム
US9588881B2 (en) * 2011-05-16 2017-03-07 Cypress Semiconductor Corporation Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space having an instruction set optimized to minimize processor stack accesses
TWI512613B (zh) * 2011-11-23 2015-12-11 Soft Machines Inc 多引擎微處理器之加速編碼最佳化器
US9436250B1 (en) * 2011-12-19 2016-09-06 Altera Corporation Apparatus for improving power consumption of communication circuitry and associated methods
US9098271B2 (en) * 2012-02-05 2015-08-04 Jeffrey R. Eastlack Autonomous microprocessor re-configurability via power gating pipelined execution units using static profiling
US9519330B2 (en) * 2013-10-22 2016-12-13 Wisconsin Alumni Research Foundation Energy-efficient multicore processor architecture for parallel processing
JP6183251B2 (ja) * 2014-03-14 2017-08-23 株式会社デンソー 電子制御装置
CN105471478B (zh) * 2015-09-28 2019-01-04 小米科技有限责任公司 报文发送方法、报文接收方法及装置
TWI697841B (zh) * 2018-12-18 2020-07-01 新唐科技股份有限公司 控制電路及快速設定電源模式的方法
WO2021035006A1 (en) * 2019-08-20 2021-02-25 Northrop Grumman Systems Corporation Simd controller and simd predication scheme

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US677654A (en) * 1901-04-08 1901-07-02 Standard Coupler Co Draft or buffing rigging.
US5440747A (en) * 1993-09-27 1995-08-08 Hitachi America, Ltd. Data processor with control logic for storing operation mode status and associated method
JP2778583B2 (ja) 1996-05-30 1998-07-23 日本電気株式会社 低消費電力マイクロプロセッサ
US6012138A (en) * 1997-12-19 2000-01-04 Lsi Logic Corporation Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US6219796B1 (en) * 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
EP0926596B1 (en) * 1997-12-23 2007-09-05 Texas Instruments Inc. Processor and method for reducing its power usage
US6535984B1 (en) * 1998-11-25 2003-03-18 Texas Instruments Incorporated Power reduction for multiple-instruction-word processors with proxy NOP instructions
US6477654B1 (en) * 1999-04-06 2002-11-05 International Business Machines Corporation Managing VT for reduced power using power setting commands in the instruction stream
US6438700B1 (en) * 1999-05-18 2002-08-20 Koninklijke Philips Electronics N.V. System and method to reduce power consumption in advanced RISC machine (ARM) based systems
JP2001184208A (ja) 1999-12-27 2001-07-06 Matsushita Electric Ind Co Ltd 低電力マイクロプロセッサおよびプログラム低電力化方法
GB2367915B (en) * 2000-10-09 2002-11-13 Siroyan Ltd Instruction sets for processors
JP3578735B2 (ja) * 2001-08-02 2004-10-20 松下電器産業株式会社 情報処理装置及び情報処理方法
US6859886B1 (en) * 2001-10-02 2005-02-22 Lsi Logic Corporation IO based embedded processor clock speed control
FI20011947A (fi) * 2001-10-05 2003-04-06 Nokia Corp Menetelmä suorittimen toiminnan ohjaamiseksi ja suoritin
US6892312B1 (en) * 2001-10-30 2005-05-10 Lsi Logic Corporation Power monitoring and reduction for embedded IO processors
JP2003186567A (ja) * 2001-12-19 2003-07-04 Matsushita Electric Ind Co Ltd マイクロプロセッサ
JP4412905B2 (ja) * 2003-01-28 2010-02-10 パナソニック株式会社 低電力動作制御装置、およびプログラム最適化装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100934215B1 (ko) * 2007-10-29 2009-12-29 한국전자통신연구원 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법
US7941650B2 (en) 2007-10-29 2011-05-10 Electronics And Telecommunications Research Institute Microprocessor based on event-processing instruction set and event-processing method using the same

Also Published As

Publication number Publication date
US7100063B2 (en) 2006-08-29
US7430678B2 (en) 2008-09-30
US20070168685A1 (en) 2007-07-19
EP1443394A2 (en) 2004-08-04
CN1272704C (zh) 2006-08-30
EP1443394A3 (en) 2008-01-23
JP4412905B2 (ja) 2010-02-10
EP2017722A1 (en) 2009-01-21
CN1530826A (zh) 2004-09-22
US20040187040A1 (en) 2004-09-23
JP2004234038A (ja) 2004-08-19

Similar Documents

Publication Publication Date Title
US7430678B2 (en) Low power operation control unit and program optimizing method
US10268480B2 (en) Energy-focused compiler-assisted branch prediction
US10248395B2 (en) Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
US7543282B2 (en) Method and apparatus for selectively executing different executable code versions which are optimized in different ways
US7318143B2 (en) Reuseable configuration data
US20070239969A1 (en) Program subgraph identification
KR100233220B1 (ko) 파이프라인 처리기
JP2000132390A (ja) プロセッサ及び分岐予測器
US20050050372A1 (en) Microcontroller unit controlling plurality of registers in accordance with precision of data to be operated, and compiler thereof
JP2009163624A (ja) プロセッサ装置及び条件分岐処理方法
USRE41751E1 (en) Instruction converting apparatus using parallel execution code
US7797519B2 (en) Processor apparatus with instruction set for storing comparison conditions and for evaluating branch condition values against results of identified complex comparison conditions
JP2009059246A (ja) マイクロプロセッサ
US7076775B2 (en) Power efficiency in microprocessor systems
US7543135B2 (en) Processor and method for selectively processing instruction to be read using instruction code already in pipeline or already stored in prefetch buffer
KR100980076B1 (ko) 저전력 분기 예측 시스템 및 분기 예측 방법
US20070011440A1 (en) Processor and processing method
US6182211B1 (en) Conditional branch control method
US20100082946A1 (en) Microcomputer and its instruction execution method
US20070074186A1 (en) Method and system for performing reassociation in software loops
US7302555B2 (en) Zero overhead branching and looping in time stationary processors
JP2883035B2 (ja) パイプライン・プロセッサ
US7197653B2 (en) Microcontroller for fetching and decoding a frequency control signal together with an operation code
JPH11306016A (ja) レジスタ間接分岐命令及び条件付き分岐命令実行方法
KR20030080160A (ko) Risc 프로세서의 동작 제어 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid