KR20070061086A - 동적 전압 스케일링을 적용한 고효율 프로세서 - Google Patents

동적 전압 스케일링을 적용한 고효율 프로세서 Download PDF

Info

Publication number
KR20070061086A
KR20070061086A KR1020060043744A KR20060043744A KR20070061086A KR 20070061086 A KR20070061086 A KR 20070061086A KR 1020060043744 A KR1020060043744 A KR 1020060043744A KR 20060043744 A KR20060043744 A KR 20060043744A KR 20070061086 A KR20070061086 A KR 20070061086A
Authority
KR
South Korea
Prior art keywords
power supply
unit block
supply voltage
function
function unit
Prior art date
Application number
KR1020060043744A
Other languages
English (en)
Other versions
KR100806284B1 (ko
Inventor
양일석
김종대
여순일
여준기
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US11/520,177 priority Critical patent/US7805620B2/en
Publication of KR20070061086A publication Critical patent/KR20070061086A/ko
Application granted granted Critical
Publication of KR100806284B1 publication Critical patent/KR100806284B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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

Abstract

본 발명은 고에너지 효율 프로세서 구조(Processor Architecture for High Energy Efficiency)에 관한 것으로, 특히, 고에너지 효율을 위해 2 단계 동적 전압 스케일링(DVS) 과 슬립 모드를 적용하여 내장형 프로세서(Embedded Processor)의 전원전압과 동작 활성화를 명령어(Instruction)에 의해 동적으로 제어하여 소비 전력을 줄이면서도 성능의 저하를 방지할 수 있는 특징이 있다.
본 발명의 고효율 프로세서는, 외부에서 인가되는 명령어에 따른 연산을 수행하기 위한 펑션 유닛블록; 외부 장치와 데이터 통신을 수행하기 위한 하나 이상의 페리퍼럴 유닛블록; 상기 입력된 명령어를 해석하고, 해석된 명령어 실행에 필요한 상기 펑션 유닛블록 및 상기 페리퍼럴 유닛블록의 동작 모드를 결정하기 위한 명령어 해석부; 상기 펑션 유닛블록의 동작 모드에 따라 다른 레벨의 전원전압을 상기 펑션 유닛블록으로 인가하기 위한 펑션 유닛블록 구동부; 및 상기 페리퍼럴 유닛블록의 동작 모드에 따라 다른 레벨의 전원전압을 상기 페리퍼럴 유닛블록으로 인가하기 위한 페리퍼럴 유닛블록 구동부를 포함한다.
DVS, 고효율 프로세서, 슬립 모드, 동적 전압 스케일링, 병렬 처리

Description

동적 전압 스케일링을 적용한 고효율 프로세서{High Energy Efficiency Processor Using Dynamic Voltage Scaling}
도 1은 종래의 SIMD 구조의 단일 전원전압을 가지는 내장형 프로세서의 구조를 도시한 블록도.
도 2는 종래의 다중 전원전압을 가지는 내장형 프로세서의 구조를 도시한 블록도.
도 3은 본 발명의 일실시예에 따른 2 단계 DVS와 슬립 모드를 적용한 고효율 프로세서의 구조를 도시한 블록도
도 4는 도 3의 펑션 유닛블록의 내부 구조를 도시한 상세 블록도.
도 5는 도 3의 페리퍼럴 유닛블록의 내부 구조를 도시한 상세 블록도.
도 6은 본 발명의 다른 실시예에 따른 2 단계 DVS와 슬립 모드를 적용한 N x M 개의 프로세서의 병렬 처리 구조를 도시한 블록도.
도 7은 도 6의 병렬 처리 구조를 이루는 각 단위 병렬처리용 프로세서의 구조를 도시한 블록도.
도 8은 본 발명의 다른 실시예에 따른 2 단계 DVS와 슬립 모드를 적용한 N x M 병렬처리용 프로세서의 구조를 도시한 블록도.
<도면의 주요 부분에 대한 부호의 설명>
110 : 명령어 레지스터 120 : 명령어 해석부
130 : 레지스터 파일 140 : 데이터 입출력단
200 : 펑션 유닛블록 300 : 펑션 유닛블록 구동부
400 : 페리퍼럴 유닛블록 500 : 페리퍼럴 유닛블록 구동부
220-1 ~ 220-M : 펑션 유닛
240-1 ~ 240-M : 펑션 유닛 구동기
420-1 ~ 420-L : 페리퍼럴 유닛
440-1 ~ 440-L : 페리퍼럴 유닛 구동기
D<K-1:0> : K bit 데이터 버스
Instruction<K-1:0> : K bit 명령어 버스
CLK : 메인 클럭
FCLK : 펑션 유닛 클럭
PCLK : 페리퍼럴 유닛 클럭
RB : 리셋 신호
Vdd : 정상 전원전압
Vddl : 슬립 전원전압
본 발명은 논리적 연산처리를 수행하는 고효율의 프로세서에 관한 것으로, 특히 2 단계 DVS(Dynamic Voltage Scaling)와 슬립 모드(Sleep Mode)를 적용한 높은 에너지 효율을 보장할 수 있는 프로세서 구조를 적용한 것이다. 또한, 본 발명은 내장형 프로세서 구조(Embedded Processor Architecture)에 효과적으로 사용될 수 있다.
프로세서는 퍼스널 컴퓨터에 사용되는 CPU와 같은 단일칩 형태의 프로세서와, 각종 제어용 칩이나 스마트 카드용 칩과 같은 SoC(System on Chip) 내에 구성 블록으로서 사용되는 내장형 프로세서로 분류할 수 있다. 내장형 프로세서(MPU/MCU/DSP)는 연산 및 신호 처리에 널리 사용되고 있다. 일반적으로 내장형 프로세서는 명령어(instruction)를 패치(Fetch), 디코딩(Decoding), 실행(Execution)하여 신호를 가공 처리하여 가공된 신호를 읽고, 쓰는 일련의 작업을 처리하는 SoC내 핵심 블록이다. 고기능화 되는 내장형 프로세서의 집적도 향상으로 전력소모와 열 방출이 증가하고 있다.
본 특허에서 에너지 효율은 "퍼포먼스(Performance)/총전력(Total Power)"으로 정의하였다. 즉 내장형 프로세서의 정보 처리/가공 능력을 소비 전력으로 나눈 것이 에너지 효율이고, 단위는 MIPS/mW 혹은 MOPS(Millions of Operations Per Second)/mW 이다. MIPS는 성능을 표시하는 일반적인 단위로 "Million Instruction Per Second"로 초당 몇 백만개의 명령어를 처리할 수 있는지를 나타낸다. 상기 기준으로 비교할 때, 내장형 프로세서의 성능이 증가하고 소비 전력이 감소하면 높은 에너지 효율을 달성할 수 있다.
일반적으로 소비전력은 인가되는 전원전압의 제곱에 비례한다. 전원전압의 감소가 소비전력을 줄이는 가장 효과적인 방법이나, 낮은 전원전압은 지연시간(Delay Time)을 증가시켜 프로세서의 성능을 떨어뜨린다. 내장형 프로세서의 성능 향상을 위해 병렬-파이프라인 구조를 많이 사용하고 있고, 대표적 병렬-파이프라인구조로 한 개의 명령어로 여러 개의 데이터를 가공 및 처리하는 SIMD(Single Instruction Multiple Data)구조가 있다.
동적 전압 스케일링(Dynamic Voltage Scaling : DVS)기술은 전원전압을 다이나믹하게 감소시키는데 특징이 있으며, 슬립 전원 전압(Vddl)에서 정상 전원 전압 (Vdd) 혹은 그 역으로 천이를 적절히 조절함에 의해 전원 전압이 감소하면서 발생하는 성능 저하를 최소화할 수 있다.
도 1은 종래의 SIMD 구조의 단일 전원전압을 가지는 내장형 프로세서 블록도 이다. 성능은 향상 되나 하드웨어의 증가로 소비전력은 증가하여 에너지 효율은 떨어진다.
도 2는 종래의 다중(Multiple) 전원전압을 가지는 내장형 프로세서의 블록도 이다. 다중 전원전압을 적절하게 사용하여 소비전력을 줄일 수 있으나, 전원 전압 레벨이 서로 달라서 블록간의 인터페이스시 전원전압 레벨을 조정하는 레벨 시프터 블록이 새로 추가 되어야 하며, 낮은 구동전압 및 레벨 조정으로 인한 성능 저하는 경우에 따라 단일 전원전압 프로세서 보다 퍼포먼스/총전력이 더 떨어질 수도 있다.
본 발명은 상기 문제점들을 해결하기 위하여 안출된 것으로서, "퍼포먼스/총전력"으로 표시되는 에너지 효율을 극대화할 수 있는 프로세서를 제공하는데 그 목적이 있다.
또한, 본 발명은 보다 간단한 구조로 에너지 효율을 극대화할 수 있는 프로세서를 제공하는데 다른 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 고효율 프로세서는, 외부에서 인가되는 명령어에 따른 연산을 수행하기 위한 펑션 유닛블록; 외부 장치와 데이터 통신을 수행하기 위한 하나 이상의 페리퍼럴 유닛블록; 상기 입력된 명령어를 해석하고, 해석된 명령어 실행에 필요한 상기 펑션 유닛블록 및 상기 페리퍼럴 유닛블록의 동작 모드를 결정하기 위한 명령어 해석부; 상기 펑션 유닛블록의 동작 모드에 따라 다른 레벨의 전원전압을 상기 펑션 유닛블록으로 인가하기 위한 펑션 유닛블록 구동부; 및 상기 페리퍼럴 유닛블록의 동작 모드에 따라 다른 레벨의 전원전압을 상기 페리퍼럴 유닛블록으로 인가하기 위한 페리퍼럴 유닛블록 구동부를 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 병렬 프로세서의 단위 프로세서로도 사용될 수 있는 프로세서는, 외부 명령어를 입력받아 해석하기 위한 명령어 해석부를 포함하 는 프로세싱 엘리먼트; 및 상기 프로세싱 엘리먼트의 전원전압을 공급하기 위한 엘리먼트 구동부를 포함하는 프로세서에 있어서, 상기 명령어 해석부의 상기 입력받은 명령어의 해석 결과에 따라, 상기 엘리먼트 구동부가 출력하는 전원전압의 레벨이 결정되는 것을 특징으로 한다.
상기 목적을 달성하기 위한 병렬 프로세서는, 입력되는 외부 명령어에 따른 연산 또는 데이터 이동을 수행하는 프로세싱 엘리먼트와, 상기 프로세싱 엘리먼트의 전원전압을 공급하기 위한 엘리먼트 구동부를 포함하는 2개 이상의 단위 프로세서; 및 상기 외부 명령어를 해석하여 해당 명령어 처리에 필요한 단위 프로세서를 결정하는 프로세싱 엘리먼트 선택부를 포함하며, 상기 엘리먼트 구동부는 상기 프로세싱 엘리먼트 선택부의 선택에 따라 다른 레벨을 가지는 전원전압을 공급하는 것을 특징으로 한다.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
예컨대, 하기 설명은 고효율 기능이 상대적으로 시급한 내장형 프로세서에 대하여 이루어지지만, 내장형 프로세서에 구현된 고효율 구조를 원칩형 프로세서에 구현하는데, 별다른 기술적 장애가 존재하는 것은 아니므로, 동일한 고효율 구조를 구현한 원칩형 프로세서도 본 발명의 권리범위에 속함은 자명하다.
한편, 하기 설명에서 각 회로 블록들의 상태에 대하여 인에이블/디스에이블이란 말을 사용하였는데, 여기서 디스에이블은 동작 모드가 아닌 슬립 모드로 전환됨을 의미한다.
(실시예 1)
도 3에 도시한 바와 같은 본 실시예의 고효율 내장형 프로세서는, 논리 연산을 수행하기 위한 하나 이상의 펑션 유닛들로 이루어진 펑션 유닛블록(200); 외부 장치와 데이터 통신을 수행하기 위한 하나 이상의 페리퍼럴 유닛들로 이루어진 페리퍼럴 유닛블록(400); 외부에서 인가되는 명령어를 입력받기 위한 명령어 입력단(110); 상기 입력된 명령어를 해석하고, 해석된 명령어 실행에 필요한 상기 펑션 유닛블록 및 상기 페리퍼럴 유닛블록의 동작 모드를 결정하기 위한 명령어 해석부(120); 상기 펑션 유닛블록(200)의 동작 모드에 따라 다른 레벨의 전원전압을 상기 펑션 유닛블록(200)으로 공급하기 위한 펑션 유닛블록 구동부(300); 및 상기 페리퍼럴 유닛블록(400)의 동작 모드에 따라 다른 레벨의 전원전압을 상기 페리퍼럴 유닛블록(400)으로 공급하기 위한 페리퍼럴 유닛블록 구동부(500)로 이루어지며, 구현에 따라 상기 명령어 해석 또는 실행에 필요한 값을 일시적으로 저장하기 위한 레지스터 파일(130); 및/또는 외부 메모리로 데이터를 로드 또는 스토어하기 위한 데이터 입/출력단(140)을 더 포함할 수 있다.
상기 명령어 입력단(110)은 명령어를 일시적으로 저장하는 명령어 레지스터로 구현할 수 있으며, 리셋(RB) 및 클럭(CLK) 신호가 입력되며, K비트 명령어 버스 를 통해 명령어를 병렬 전송받는다. 그러나, 구현에 따라서는 명령어를 직렬 라인으로 직렬 전송받도록 구성할 수도 있다.
상기 명령어 해석부(120)는 상기 명령어 레지스터로부터 이진 명령어를 입력받으며, 동기를 위한 클럭을 입력받는다. 상기 명령어 해석부(120)는 해석된 명령어에 따라, 상기 레지스터 파일(130) 및 데이터 입/출력단(140)에 대한 제어 신호, 모든 펑션 유닛에 대한 동작 신호(FUOP), 모든 페리퍼럴 유닛에 대한 동작 신호(POP), M개의 각 펑션 유닛에 대한 동작 신호(FU1EN, FU2EN, …. , FUMEN), L개의 각 페리퍼럴 유닛에 대한 동작 신호(P1EN, P2EN, …. , PLEN)를 선택적으로 출력한다.
상기 레지스터 파일(130)은 외부 메모리로 입/출력되는 데이터 및 상기 펑션 유닛의 연산 중의 데이터를 일시적으로 저장하기 위하여 상기 데이터 입/출력단(140) 및 상기 펑션 유닛블록(200)에 연결되며, 리셋 신호(RB) 및 상기 명령어 해석부로부터의 제어 신호를 입력받는다.
상기 데이터 입/출력단(140)은 상기 명령어 해석부(10)가 출력하는 제어 신호에 따라, 클럭(CLK)에 맞추어, 상기 레지스터 파일(130)에 일시 저장된 데이터를 외부 메모리에 기록하거나, 외부 메모리에 저장된 데이터를 읽어와서 상기 레지스터 파일(130)에 기록한다. 상기 데이터 입/출력단(140)과 상기 외부 메모리와의 연결은 특수한 경우 직렬 전송 연결도 가능하나, 보다 빠른 속도를 위해 도시한 바와 같이 버스(D<K-1:0>)를 이용한 병렬 전송 연결인 것이 바람직하다.
상기 펑션 유닛블록(200) 및 페리퍼럴 유닛블록(400)은 상기 레지스터 파일 을 경유하지 않고 직접 상호간 데이터 통신을 수행할 수 있도록 K비트의 로컬버스(PBUS)에 연결되거나, 메인 클럭(CLK)와는 다른 값을 가지는 펑션 클럭(FLCK) 및/또는 페리퍼럴 클럭(PCLK)을 동기 클럭으로 입력받도록 구현할 수 있다.
펑션 유닛이 2개 이상인 경우, 도 4에 도시한 바와 같이 2개 이상의 펑션 유닛들(220-1 ~ 220-M)로 펑션 유닛블록(200)을 구성한다. 이 경우, 도 2의 펑션 유닛블록 구동부(300)는 상기 펑션 유닛 블록 전체에 구동전압을 공급하기 위한 것이다. 상기 펑션 유닛 블록 구동부는 별도의 미도시한 전압 발생기로부터 정상 전원전압(Vdd) 및 슬립 전원전압(Vddl)을 인가받으며, 상기 모든 펑션 유닛에 대한 동작 신호(FUOP)에 따라 상기 정상 전원전압(Vdd) 및 슬립 전원전압(Vddl) 중 하나를 선택하여, 상기 펑션 유닛 블록(200)에 펑션 블록 인가전압(FPOUT)으로서 인가한다.
한편, 상기 펑션 유닛블록(200)은, 각 펑션 유닛(220-1 ~ 220-M)을 구동하기 위해 인가되는 전원전압의 레벨을 결정하기 위해, 각 펑션 유닛(220-1 ~ 220-M) 마다 구비되는 펑션 유닛 구동기(240-1 ~ 240-M)를 포함한다.
페리퍼럴 유닛이 2개 이상인 경우, 도 5에 도시한 바와 같이 2개 이상의 페리퍼럴 유닛이 페리퍼럴 유닛 블록을 구성한다. 이 경우, 도 2의 페리퍼럴 유닛블록 구동부(500)는 상기 페리퍼럴 유닛 블록 전체에 구동전압을 공급하기 위한 것이다. 상기 페리퍼럴 유닛 블록 구동부는 별도의 미도시한 전압 발생기로부터 정상 전원전압(Vdd) 및 슬립 전원전압(Vddl)을 인가받으며, 상기 모든 페리퍼럴 유닛에 대한 동작 신호(POP)에 따라 상기 정상 전원전압(Vdd) 및 슬립 전원전압(Vddl) 중 하나를 선택하여, 상기 페리퍼럴 유닛 블록에 페리퍼럴 블록 인가전압(PPOUT)으로서 인가한다.
한편, 상기 페리퍼럴 유닛블록(400)은, 각 페리퍼럴 유닛(420-1 ~ 420-L)을 구동하기 위해 인가되는 전원전압의 레벨을 결정하기 위해, 각 페리퍼럴 유닛(420-1 ~ 420-L) 마다 구비되는 페리퍼럴 유닛 구동기(440-1 ~ 440-L)를 포함한다.
상기 펑션 유닛블록 구동부(300, FDVSPS) 및 페리퍼럴 유닛블록 구동부(500, PDVSPS)는, 입력 신호(FUOP, POP)에 의하여 출력 전압이 슬립 전원전압(Vddl)에서 정상 전원전압(Vdd)으로 천이하거나, 그 반대로 천이하는 전원 공급기(Power Supply)일 수 있으며, 동적 전압 스케일링 기능을 구현한다. 예컨대, FUOP(또는 POP) 신호가 "로우"이면, FDVSPS(또는 PDVSPS)의 출력 전압(FPOUT)은 슬립 전원전압(Vddl)이 되고, "하이"이면 정상 전원전압(Vdd)이 된다
이하, 도 3에 도시한 본 실시예의 프로세서의 동작을 각 제어 신호들을 중심으로 설명하겠다.
리셋 신호(RB)는 내장형 프로세서를 초기화하기 위한 입력 신호이고, 클럭 신호(CLK)는 메인 클럭 신호이다. 따라서, 모든 명령어는 클럭 신호(CLK)에 동기 된다. 펑션 클럭(FCLK)은 펑션 유닛(200)의 논리 연산에 동기를 위한 신호로서 빠른 연산속도를 위해 상기 메인 클럭(CLK)보다 빠를 수 있다. 페리퍼럴 클럭(PCLK)은 페리퍼럴 유닛(400)의 동작의 동기를 위한 신호로서, 페리퍼럴 유닛(400)과 연결되는 외부 장치의 속도와 맞추기 위해 상기 메인 클럭(CLK)보다 빠르거나 느릴 수 있다.
도시한 바와 같이, 상기 펑션 유닛 구동부(300)는 M개의 펑션 유닛들의 전체 전원 전압을 제어하는 펑션 유닛 동적 전압 스케일링 전원 공급기(Functon Units Dynamic Voltage Scaling Power Supply : FDVSPS)로 구현할 수 있으며, 상기 페리퍼럴 유닛 블록 구동부(500)는 L개의 페리퍼럴 유닛들의 전체 전원 전압을 콘트롤하는 페이퍼럴 유닛 동적 전압 스케일링 전원 공급기(Peripheral Units Dynamic Voltage Scaling Power Supply : PDVSPS)로 구현할 수 있다.
명령어 해석 결과에 따라, 상기 FUOP 신호와 POP 신호는 상기 FDVSPS 및 PDVSPS의 입력으로 인가되어 펑션 유닛들 전체(200)와 페리퍼럴 유닛들 전체(400)의 전원전압을 제어하며, 이에 따라, 상기 M개의 펑션 유닛들(200) 및/또는 L개의 페이퍼럴 유닛들(400)의 전체 동작이 인에이블 혹은 디스에이블된다.
상기 각 펑션 유닛에 대한 동작 신호들(FU1EN, FU2EN, …. , FUMEN)은 상기 M개의 펑션 유닛들 각각에 대한 인에이블 신호들이고, 상기 L개의 각 페리퍼럴 유닛에 대한 동작 신호들(P1EN, P2EN, …. , PLEN)은 L개의 페리퍼럴 유닛들 각각에 대한 인에이블 신호들이다.
상기 펑션 유닛블록(200)이나 페리퍼럴 유닛블록(400)에 대하여, 정상 전원전압(Vdd)은 정상적인 동작을 수행하는데(즉, 정상모드) 필요한 전원전압이고, 슬립 전원전압(Vddl)은 동작을 수행하지는 않으나 동작을 대기중인 경우(즉, 슬립 모드)에 신속하게 상기 정상모드로 복귀할 수 있도록 하기 위하여 최소한으로 공급되는 전압이다. 따라서, 정상 전원전압(Vdd)이 슬립 전원전압(Vddl)보다 높은 레벨을 가지는 것이 일반적이다.
K비트 명령어가 입력되면 상기 명령어 해석부(120)에서 K비트 명령어를 해독하여 여러 가지의 제어 신호들을 발생시킨다. 발생된 제어 신호들 중 레지스터 파일 제어신호는 P개의 K 비트 값을 저장할 수 있는 레지스터 파일(130)로 전송되어, 입력된 명령어에 맞는 레지스터들을 선택/제어하는데 사용되며, 데이터 입/출력부 제어 신호는 데이터 입/출력부(140)로 입력되어 외부 메모리에서 데이터 입력 및 외부 메모리로 데이터 출력을 제어하는데 사용된다.
또한, 상기 명령어 해석부(120)에서 발생된 제어 신호들 중 FUOP 신호는 펑션 유닛블록(200)을 이루는 M개의 펑션 유닛들 전체 전원전압을 제어하는 펑션 유닛블록 구동부(300, FDVSPS)를 제어하는데, 구현에 따라서는 내의 각 펑션 유닛들에도 인가된다. 또한, 상기 명령어 해석부(120)에서 발생된 제어 신호들 중 POP 신호는 페리퍼럴 유닛블록(400)을 이루는 L개의 페리퍼럴 유닛들 전체 전원전압을 제어하는 페리퍼럴 유닛블록 구동부(500, PDVSPS)를 제어하는데, 구현에 따라서는 각 페리퍼럴 유닛들에도 인가된다. 명령어 종류에 따라서는 펑션 유닛블록(200) 및 페이퍼럴 유닛블록(400) 중 하나 전부를 선택적으로 사용할 수 있으며, 상기 두 제어 신호(FUOP, POP)에 따라 명령어 실행에 필요한 펑션 유닛들 및/또는 페이퍼럴 유닛들만을 선택적으로 인에이블시킬 수 있다.
이때, 인에이블되도록 선택된 펑션 유닛블록 또는 페이퍼럴 유닛블록은 펑션 유닛블록 구동부(300, FDVSPS) 또는 페리퍼럴 유닛블록 구동부(500, PDVSPS)에 의해, 슬립 전원전압(Vddl)에서 정상 전원전압(Vdd)으로 천이한다. 반면 선택되지 않 은 펑션 유닛블록 또는 페이퍼럴 유닛블록은 정상 전원전압(Vdd)에서 슬립 전원전압(Vddl)으로 천이되므로, 성능은 유지하고 소비전력을 줄일 수 있다. 예컨대, FUOP 신호만 발생하면 M개의 펑션 유닛들의 전원전압이 슬립 전원전압(Vddl)에서 정상 전원전압(Vdd)으로 천이하지만, L개의 페리퍼럴 유닛들의 전원전압은 슬립 전원전압(Vddl)을 그대로 유지된다.
도 4는 본 실시예의 펑션 유닛 블록의 세부 구조를 도시한 블록도이다. 도시한 바와 같이 본 실시예의 내장형 프로세서는 M개의 펑션 유닛들(FUs)을 포함한다.
도시한 펑션 유닛블록(200)은, M개의 펑션 유닛들(220-1 ~ 220-M)과 M개의 펑션 유닛들에 각각 전원전압을 공급하는 M개의 펑션 유닛 구동기들(240-1 ~ 240-M)로 이루어진다. 상기 펑션 유닛 구동기들(240-1 ~ 240-M)는 동적 전압 스케일링 전원 공급기(DVSPS)로 구현될 수 있다. 또한, 상기 펑션 유닛 구동기들(240-1 ~ 240-M)은 도시한 바와 같이, 명령어 디코더에서 생성되는 펑션 유닛블록 동작 인에이블 신호(FUOP), M개의 각 펑션 유닛에 대한 인에이블 신호들(FU1EN, FU2EN, …. , FUMEN), 펑션 유닛의 클럭(FCLK), 슬립 전원전압(Vddl), 및 펑션 유닛블록 구동부의 생성 전압(FPOUT)을 입력받도록 구현될 수 있다. 펑션 유닛블록(200)은, 도시한 데이터 출력 인터페이스(290)를 포함하는 데이터 입/출력 인터페이스를 더 포함할 수 있는데, 일반적인 내용이므로 설명을 생략하겠다.
M개의 펑션 유닛들(220-1 ~ 220-M) 중에서 당해 명령어의 실행에 필요한 펑션 유닛 하나만이 선택되는데, M개의 각 펑션 유닛 인에이블 신호들(FU1EN, FU2EN, …. , FUMEN)을 입력받는 M개의 각 펑션 유닛 구동기들(240-1 ~ 240-M)에 의해, 상 기 선택된 펑션 유닛의 전원전압이 슬립 전원전압(Vddl)에서 정상 전원전압(Vdd)으로 천이된다. 상기 각 펑션 유닛의 전원전압의 조절만으로 펑션 유닛을 선택하도록 구현할 수도 있고, 도시한 바와 같이 상기 M개의 각 펑션 유닛 인에이블 신호들(FU1EN, FU2EN, …. , FUMEN)을 각 펑션 유닛들(220-1 ~ 220-M)에 인가하여 펑션 유닛을 선택하도록 구현할 수도 있다. 상기와 같이 펑션 유닛 구동기들(240-1 ~ 240-M)을 사용하여, 각각의 펑션 유닛마다 필요한 전원전압의 레벨을 콘트롤할 수 있게 하므로, 필요한 펑션 유닛만 정상 전원전압에서 동작시키고 나머지 펑션 유닛들은 슬립 전원전압 상태로 동작하지 않게 하여, 프로세서 성능의 감소없이 소비전력을 줄일 수 있어서, 프로세서 성능 대비 높은 에너지 효율을 갖는다.
도 5는 본 실시예의 페리퍼럴 유닛 블록의 세부 구조를 도시한 블록도이다. 도시한 바와 같이 본 실시예의 내장형 프로세서는 L개의 페리퍼럴 유닛들(PUs)을 포함한다.
도시한 페리퍼럴 유닛블록(400)은, L개의 페리퍼럴 유닛들(420-1 ~ 420-L)과 L개의 페리퍼럴 유닛들에 각각 전원전압을 공급하는 L개의 페리퍼럴 유닛 구동기들(440-1 ~ 440-L)로 이루어진다. 상기 페리퍼럴 유닛 구동기들(440-1 ~ 440-L)는 Dynamic Voltage Scaling Power Supply(DVSPS)로 구현될 수 있다. 또한, 상기 페리퍼럴 유닛 구동기들(440-1 ~ 440-L)은 도시한 바와 같이, 명령어 디코더에서 생성되는 페리퍼럴 유닛블록 동작 인에이블 신호(PUOP), L개의 각 페리퍼럴 유닛에 대한 인에이블 신호들(P1EN, P2EN, …. , PLEN), 페리퍼럴 유닛의 클럭(PCLK), 슬 립 전원전압(Vddl), 및 페리퍼럴 유닛블록 구동부의 생성 전압(PPOUT)을 입력받도록 구현될 수 있다. 페리퍼럴 유닛블록(400)은, 도시한 데이터 출력 인터페이스(490)를 포함하는 데이터 입/출력 인터페이스를 더 포함할 수 있는데, 일반적인 내용이므로 설명을 생략하겠다.
L개의 페리퍼럴 유닛들(420-1 ~ 420-L) 중에서 당해 명령어의 실행에 필요한 페리퍼럴 유닛 하나만이 선택되는데, L개의 각 페리퍼럴 유닛 인에이블 신호들(P1EN, P2EN, …. , PLEN)을 입력받는 L개의 각 페리퍼럴 유닛 구동기들(440-1 ~ 440-L)에 의해, 상기 선택된 페리퍼럴 유닛의 전원전압이 슬립 전원전압(Vddl)에서 정상 전원전압(Vdd)으로 천이된다. 상기 각 페리퍼럴 유닛의 전원전압의 조절만으로 페리퍼럴 유닛을 선택하도록 구현할 수도 있고, 도시한 바와 같이 상기 L개의 각 페리퍼럴 유닛 인에이블 신호들(P1EN, P2EN, …. , PLEN)을 각 페리퍼럴 유닛들(420-1 ~ 420-L)에 인가하여 페리퍼럴 유닛을 선택하도록 구현할 수도 있다. 상기와 같이 페리퍼럴 유닛 구동기들(440-1 ~ 440-L)을 사용하여, 각각의 페리퍼럴 유닛마다 필요한 전원전압의 레벨을 콘트롤할 수 있게 하므로, 필요한 페리퍼럴 유닛만 정상 전원전압에서 동작시키고 나머지 페리퍼럴 유닛들은 슬립 전원전압 상태로 동작하지 않게 하여, 프로세서 성능의 감소없이 소비전력을 줄일 수 있어서, 프로세서 성능 대비 높은 에너지 효율을 갖는다.
상기 도 4 및 도 5에서는 각 펑션/페리퍼럴 유닛에 공급되는 슬립 전원전압을 모두 동일한 레벨로 표시하였는데, 구현에 따라서 펑션 유닛블록(200)에 인가되는 슬립 전원전압과 페리퍼럴 유닛블록(400)에 인가되는 슬립 전원전압의 레벨을 서로 다르게 하거나, 각 펑션/페리퍼럴 유닛의 종류에 따라 슬립 전원전압 레벨을 서로 다르게 할 수도 있다.
본 실시예에서 명령어에 의하여 펑션 유닛블록 인에이블 신호(FUOP)가 "하이", 페리퍼럴 유닛블록 인에이블 신호(POP)가 "로우"가 되면, 내장형 프로세서 내의 L개의 페리퍼럴 유닛들(420-1 ~ 420-L)의 전원전압은 페리퍼럴 유닛블록 구동부(500)에 의하여 슬립 전원 전압으로 유지되고, 페리퍼럴 유닛에 대한 클럭(PCLK)은 0 레벨이 되며, L개의 페리퍼럴 유닛들의 입력 상태도 모두 0 레벨인 슬립 모드(sleep mode)가 되어, 페리퍼럴 유닛블록(400)은 최소 소비전력만 소비하게 된다.
한편, 펑션 유닛블록 구동부(300)와 선택된 펑션 유닛을 담당하는 펑션 유닛 구동기(240-1 ~ 240-M 중에서 선택됨)에 의하여, M개의 펑션 유닛들(220-1 ~ 220-M) 중에서 각 펑션 유닛에 대한 인에이블 신호(FU1EN, FU2EN, …. , FUMEN)가 "하이"인 펑션 유닛들의 전원전압은 슬립 전원 전압(Vddl)에서 정상 전원전압(Vdd)으로 천이하고, 나머지 선택되지 않은 펑션 유닛들의 전원 전압은 슬립 전원전압(Vddl)을 유지하여 동작 소비전력을 최소화 한다.
본 발명에서 명령어에 의하여 페리퍼럴 유닛블록 인에이블 신호(POP)가 "하이", 펑션 유닛블록 인에이블 신호(FUOP)가 "로우"가 되면, 내장형 프로세서 내의 M개의 펑션 유닛들(220-1 ~ 220-M)의 전원 전압은 펑션 유닛블록 구동부에 의하여 슬립 전원 전압으로 유지되고, 펑션 유닛에 대한 클럭(FCLK)은 0 레벨이 되며, M개 의 펑션 유닛들의 입력 상태도 모두 0 레벨인 슬립 모드가 되어 최소 소비전력만 소비하게 된다.
한편, 페리퍼럴 유닛블록 구동부와 선택된 페리퍼럴 유닛의 페리퍼럴 유닛 구동기(440-1 ~ 440-L 중에서 선택됨)에 의하여, L개의 페리퍼럴 유닛들(420-1 ~ 420-L) 중에서 각 페리퍼럴 유닛에 대한 인에이블 신호(P1EN, P2EN, …. , PLEN)가 "하이"인 페리퍼럴 유닛의 전원전압은 슬립 전원전압(Vddl) 에서 정상 전원전압(Vdd)으로 천이하고, 나머지 선택되지 않은 페리퍼럴 유닛들의 전원전압은 슬립 전원전압(Vddl)을 유지하여 소비전력을 최소화한다. 상기 L개의 페리퍼럴 유닛들(420-1 ~ 420-L)은 페리퍼럴 버스(PBUS)에 의하여 내장형 프로세서, 즉 필요한 펑션 유닛들과 연결되도록 구현할 수 있다.
(실시예 2)
도 6은 본 발명의 사상에 따른 2단계 DVS와 슬립 모드를 적용한 N x M 병렬 K 비트 병렬 처리용 프로세서를 도시한 것으로, 리셋(RB), 클럭(CLK), K 비트 명령어 버스(IB<K-1:0>), K 비트 데이터 버스(D<K-1:0>), N x M 개의 프로세싱 엘리먼트(PE : Processing Element) 어레이(800-11, 800-1N, 800-M1, 800-MN), 각 프로세싱 엘리먼트의 전원 전압을 콘트롤하는 N x M개의 프로세싱 엘리먼트 구동부(900-11, 900-1N, 900-M1, 900-MN)로 구성된다. 상기 각 프로세싱 엘리먼트 구동부(900-11, 900-1N, 900-M1, 900-MN)는 동적 전압 스케일링 전원 공급기(DVSPS)로 구현하였다.
여기서, 각 단위 프로세서는 도 7에 도시한 바와 같이, 외부 명령어를 입력받아 해석하기 위한 명령어 해석부(820)를 포함하는 프로세싱 엘리먼트(800); 및 상기 프로세싱 엘리먼트(800)의 전원전압을 공급하기 위한 엘리먼트 구동부(900)를 포함하며, 입력받은 명령어에 대한 상기 명령어 해석부(820)의 해석 결과에 따라, 상기 엘리먼트 구동부(900)가 출력하는 전원전압(PEOUT)의 레벨이 결정된다.
상기 명령어 해석부(820)는, 상기 실시예 1의 명령어 해석부와 유사한 기능을 수행하는데, 외부에서 입력받은 명령어를 해석하여, 그 명령어를 수행하는데 자신이 사용되는가를 판단하여, 자신이 사용된다고 판단하면, PESel 신호를 인에이블시키고, 이를 상기 엘리먼트 구동부(900)로 전달한다. 상기 엘리먼트 구동부(900)는 PESel 신호가 인에이블되면, 프로세싱 엘리먼트(800)를 위한 전원전압을 Vdd로 공급한다. 반면, PESel 신호가 디스에이블되면, 프로세싱 엘리먼트(800)를 위한 전원전압을 Vddl로 공급하여 프로세싱 엘리먼트(800)가 슬립 모드가 되도록 한다. 그런데, 슬립 모드에서도 상기 명령어 해석부(820)는 정상 동작하여야 하므로, 상기 명령어 해석부를 Vddl 전압으로도 구동이 가능한 회로로 구현하거나, 상기 명령어 해석부에는 슬립 모드에서도 Vdd가 공급되도록 구현하는 것이 바람직하다. 외부의 명령어가 상기 명령어 해석부(820)로 도달하기까지의 경로를 이루는 명령어 입력단 등과 같은 구성도 마찬가지이다.
상기 명령어 해석부(820)가 입력받은 명령어에 따라 자신이 속한 단위 프로세서의 사용여부를 판단하기 위해서는, 자신이 전체 병렬 프로세서 구조중에 어느 위치(순번)에 있는 가에 대한 정보를 획득해야 한다. 이를 위해 병렬 위치 지정 수 단을 더 포함할 수 있는데, 상기 병렬 위치 지정 수단은 위치를 지정한 레지스터나 위치를 지정하는 고정 전압 신호를 입력받는 입력핀으로 구현할 수 있다.
도면에서 알 수 있는 바와 같이, 각 단위 프로세서는 모두 동일한 명령어 버스에 연결되고 동일한 클럭을 입력받는 병렬 처리 구조를 이룬다. 데이터 버스는 도시한 바와 같이 각 단위 프로세서가 다른 어드레스를 가지도록 구현할 수도 있고, 동일한 어드레스를 가지도록 구현할 수도 있다. 이와 같이 본 실시예의 각 단위 프로세서는 서로 독립되어 연결되어 있으며, 전체 단위 프로세서를 제어하는 구성은 존재하지 않는다. 이는 각 단위 프로세서가 입력된 명령어를 처리하는데 자신이 사용되는가를 직접 판단하기 때문이다. 따라서, 본 실시예의 단위 프로세서 회로는 도시한 바와 같이 병렬 처리용 프로세서의 내부 단위 프로세서로 구현될 수도 있고, 하나의 프로세서로 패키징되어 구현될 수도 있다. 후자의 경우에는 다수개의 프로세서를 기판상에서 병렬 위치하여 병렬 처리하는 다중 프로세서 구조를 용이하게 구현토록 하는 효과도 있다.
본 실시예는 본 발명의 사상을 단위 프로세서 외부의 다른 단위 프로세서와의 관계에서 구현한 것이며, 상기 제1 실시예는 프로세서 내부의 펑션/페리퍼럴 유닛들 사이의 관계에서 구현한 것이므로, 상기 제1 실시예의 특징부와 본 실시예의 특징부를 동시에 지닌 프로세서의 구현도 가능한데, 이 경우 각 구성 부분에 대한 설명은 본 실시예 및 상기 제1 실시예의 설명에서 유추가능하므로 생략한다.
(실시예 3)
본 실시예는 본 발명의 사상을 2단계 DVS와 슬립 모드를 적용한 N x M 병렬 K 비트 병렬 처리용 프로세서에 적용한 것으로, 상기 제2 실시예처럼 다수개의 단위 프로세서를 단순히 수집한 것에 불과하지 않고, 외부에서 입력받은 명령어에 따라 구동되는 단위 프로세서를 결정하기 위한 별도의 프로세싱 엘리먼트 선택부를 구비한 것에 특징이 있다.
도 8에 도시한 바와 같은 본 실시예의 병렬 처리용 프로세서는, 입력되는 외부 명령어에 따른 연산 또는 데이터 이동을 수행하는 프로세싱 엘리먼트(1800-11, 1800-1N, 1800-M1, 1800-MN)와, 상기 프로세싱 엘리먼트(1800-11, 1800-1N, 1800-M1, 1800-MN)의 전원전압을 공급하기 위한 엘리먼트 구동부(1900-11, 1900-1N, 1900-M1, 1900-MN)를 포함하는 2개 이상의 단위 프로세서; 및 상기 외부 명령어를 해석하여 해당 명령어 처리에 필요한 단위 프로세서를 결정하는 프로세싱 엘리먼트 선택부(1700)를 포함하며, 상기 엘리먼트 구동부(1900-11, 1900-1N, 1900-M1, 1900-MN)는 상기 프로세싱 엘리먼트 선택부(1700)의 선택에 따라 다른 레벨을 가지는 전원전압을 공급한다.
상기 프로세싱 엘리먼트 선택부(1700)는 상기 실시예 1의 명령어 해석부와 유사한 기능을 수행하는데, 외부에서 입력받은 명령어를 해석하여, 그 명령어를 수행하는데 필요한 단위 프로세서들을 결정하고, 결정된 단위 프로세서에 대해서만 PEIN 신호를 인에이블시켜고, 사용되지 않는 단위 프로세서로 인가되는 PEIN 신호는 디스에이블시켜, 사용되지 않는 단위 프로세서의 프로세싱 엘리먼트에는 슬립 전원전압(Vddl)이 공급되도록 한다.
상기 프로세싱 엘리먼트 선택부(1700)를 제외한 구성 중 본 발명의 사상의 구현에 있어 중요한 구성인 각 단위 프로세서의 엘리먼트 구동부(1900-11, 1900-1N, 1900-M1, 1900-MN)는 상기 제2 실시예의 경우와 동일하므로 설명을 생략한다.
본 실시예에 있어서도, 상기 제1 실시예의 특징부와 본 실시예의 특징부를 동시에 지닌 프로세서의 구현도 가능하다. 이러한 프로세서의 각 구성 부분에 대한 설명은 상기 제1 실시예 및 상기 제2 실시예의 설명에서 유추가능하므로 생략한다.
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형이 가능하다.
상기 구성과 같은 본 발명에 따른 고효율 프로세서를 실시함에 따라, 전원전압이 감소하면 성능이 저하되는 문제를 최소화하여, "퍼포먼스/총전력"으로 표시되는 에너지 효율을 극대화하는 효과가 있다.
또한, 본 발명은 간단한 구조로 에너지 효율을 극대화할 수 있으며, 다수개의 프로세서를 사용하여 병렬 처리 구조를 지원할 수도 있으며, 병렬 처리를 수행하는 다수개의 프로세싱 엘리먼트를 포함하는 병렬 프로세서를 제공할 수도 있다..

Claims (10)

  1. 외부에서 인가되는 명령어에 따른 연산을 수행하기 위한 펑션 유닛블록;
    외부 장치와 데이터 통신을 수행하기 위한 하나 이상의 페리퍼럴 유닛블록;
    상기 입력된 명령어를 해석하고, 해석된 명령어 실행에 필요한 상기 펑션 유닛블록 및 상기 페리퍼럴 유닛블록의 동작 모드를 결정하기 위한 명령어 해석부;
    상기 펑션 유닛블록의 동작 모드에 따라 다른 레벨의 전원전압을 상기 펑션 유닛블록으로 인가하기 위한 펑션 유닛블록 구동부; 및
    상기 페리퍼럴 유닛블록의 동작 모드에 따라 다른 레벨의 전원전압을 상기 페리퍼럴 유닛블록으로 인가하기 위한 페리퍼럴 유닛블록 구동부
    를 포함하는 프로세서.
  2. 제1항에 있어서,
    상기 펑션 유닛블록은, 2개 이상의 펑션 유닛을 포함하는 프로세서.
  3. 제2항에 있어서, 상기 펑션 유닛 블록은,
    상기 명령어 해석부의 제어에 따라 다른 레벨의 전원전압을 상기 각 펑션 유닛에 인가하기 위한 2개 이상의 펑션 유닛 구동기
    를 더 포함하는 프로세서.
  4. 제1항에 있어서,
    상기 페리퍼럴 유닛블록은, 2개 이상의 페리퍼럴 유닛을 포함하는 프로세서.
  5. 제4항에 있어서, 상기 페리퍼럴 유닛은,
    상기 명령어 해석부의 제어에 따라 다른 레벨의 전원전압을 상기 각 페리퍼럴 유닛에 인가하기 위한 2개 이상의 페리퍼럴 유닛 구동기
    를 더 포함하는 프로세서.
  6. 외부 명령어를 입력받아 해석하기 위한 명령어 해석부를 포함하는 프로세싱 엘리먼트; 및
    상기 프로세싱 엘리먼트의 전원전압을 공급하기 위한 엘리먼트 구동부를 포함하며,
    상기 명령어 해석부의 상기 입력받은 명령어의 해석 결과에 따라, 상기 엘리먼트 구동부가 출력하는 전원전압의 레벨이 결정되는 것을 특징으로 하는 프로세서.
  7. 제6항에 있어서, 상기 명령어 해석부는 상기 입력받은 명령어에 따라 상기 프로세싱 엘리먼트의 동작 모드를 슬립 모드로 결정하는 것을 특징으로 하는 프로세서.
  8. 제6항에 있어서, 상기 프로세싱 엘리먼트는,
    상기 엘리먼트 구동부로부터 상기 전원전압을 공급받아 상기 명령어에 따른 연산을 수행하기 위한 펑션 유닛, 또는
    상기 엘리먼트 구동부로부터 상기 전원전압을 공급받아 외부 장치와 데이터 통신을 수행하기 위한 하나 이상의 페리퍼럴 유닛을 더 포함하는 것을 특징으로 하는 프로세서.
  9. 입력되는 외부 명령어에 따른 연산 또는 데이터 이동을 수행하는 프로세싱 엘리먼트와,
    상기 프로세싱 엘리먼트의 전원전압을 공급하기 위한 엘리먼트 구동부를 포함하는 2개 이상의 단위 프로세서; 및
    상기 외부 명령어를 해석하여 해당 명령어 처리에 필요한 단위 프로세서를 결정하는 프로세싱 엘리먼트 선택부;
    를 포함하며,
    상기 엘리먼트 구동부는 상기 프로세싱 엘리먼트 선택부의 선택에 따라 다른 레벨을 가지는 전원전압을 공급하는 것을 특징으로 하는 병렬 프로세서.
  10. 제9항에 있어서, 상기 프로세싱 엘리먼트는,
    상기 엘리먼트 구동부로부터 상기 전원전압을 공급받아 상기 명령어에 따른 연산을 수행하기 위한 펑션 유닛, 또는
    상기 엘리먼트 구동부로부터 상기 전원전압을 공급받아 외부 장치와 데이터 통신을 수행하기 위한 하나 이상의 페리퍼럴 유닛을 더 포함하는 것을 특징으로 하는 프로세서.
KR1020060043744A 2005-12-08 2006-05-16 동적 전압 스케일링을 적용한 고효율 프로세서 KR100806284B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/520,177 US7805620B2 (en) 2005-12-08 2006-09-13 Highly energy-efficient processor employing dynamic voltage scaling

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050119649 2005-12-08
KR1020050119649 2005-12-08

Publications (2)

Publication Number Publication Date
KR20070061086A true KR20070061086A (ko) 2007-06-13
KR100806284B1 KR100806284B1 (ko) 2008-02-22

Family

ID=38357021

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060043744A KR100806284B1 (ko) 2005-12-08 2006-05-16 동적 전압 스케일링을 적용한 고효율 프로세서

Country Status (2)

Country Link
US (1) US7805620B2 (ko)
KR (1) KR100806284B1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8145923B2 (en) * 2008-02-20 2012-03-27 Xilinx, Inc. Circuit for and method of minimizing power consumption in an integrated circuit device
KR101197591B1 (ko) * 2008-12-22 2012-11-08 한국전자통신연구원 저전력 프로세서
JP5816407B2 (ja) 2009-02-27 2015-11-18 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US8338988B2 (en) * 2009-04-17 2012-12-25 Lsi Corporation Adaptation of an active power supply set using an event trigger
US8930733B2 (en) * 2009-06-12 2015-01-06 Taiwan Semiconductor Manufacturing Company, Ltd. Separating power domains of central processing units
US9215193B2 (en) * 2009-12-28 2015-12-15 Broadcom Corporation System and method for enhanced energy control policy for unmanaged switch applications
US8671413B2 (en) 2010-01-11 2014-03-11 Qualcomm Incorporated System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device
US10063780B2 (en) 2010-06-02 2018-08-28 Shan-Le Shih Electronic imaging system for capturing and displaying images in real time
US8489909B2 (en) 2010-09-24 2013-07-16 International Business Machines Corporation Displaying the operating efficiency of a processor
US9679296B2 (en) * 2011-11-30 2017-06-13 Retailmenot, Inc. Promotion code validation apparatus and method
US9098271B2 (en) * 2012-02-05 2015-08-04 Jeffrey R. Eastlack Autonomous microprocessor re-configurability via power gating pipelined execution units using static profiling
US10592915B2 (en) 2013-03-15 2020-03-17 Retailmenot, Inc. Matching a coupon to a specific product
JP5852997B2 (ja) * 2013-07-29 2016-02-09 京セラドキュメントソリューションズ株式会社 通信装置及び通信システム
CN109783436B (zh) * 2019-01-16 2021-06-22 广东高云半导体科技股份有限公司 一种片上系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666537A (en) * 1994-08-12 1997-09-09 Intel Corporation Power down scheme for idle processor components
JP4387122B2 (ja) 1996-11-21 2009-12-16 株式会社日立製作所 低電力プロセッサ
JPH11149459A (ja) 1997-11-17 1999-06-02 Nec Corp マルチプロセッサシステム
US6219796B1 (en) * 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
US6625740B1 (en) * 2000-01-13 2003-09-23 Cirrus Logic, Inc. Dynamically activating and deactivating selected circuit blocks of a data processing integrated circuit during execution of instructions according to power code bits appended to selected instructions
US6941480B1 (en) * 2000-09-30 2005-09-06 Intel Corporation Method and apparatus for transitioning a processor state from a first performance mode to a second performance mode
US7107471B2 (en) * 2001-03-21 2006-09-12 Apple Computer, Inc. Method and apparatus for saving power in pipelined processors
GB2403823B (en) * 2003-07-08 2005-09-21 Toshiba Res Europ Ltd Controller for processing apparatus
KR101035077B1 (ko) 2004-02-20 2011-05-19 삼성전자주식회사 다이나믹 전압 스케일링에 따라 전력 소비 감소가 가능한반도체 시스템
US7441136B2 (en) * 2005-04-04 2008-10-21 Advanced Micro Devices, Inc. System for predictive processor component suspension and method thereof
US7417482B2 (en) * 2005-10-31 2008-08-26 Qualcomm Incorporated Adaptive voltage scaling for an electronics device

Also Published As

Publication number Publication date
US7805620B2 (en) 2010-09-28
US20070150763A1 (en) 2007-06-28
KR100806284B1 (ko) 2008-02-22

Similar Documents

Publication Publication Date Title
KR100806284B1 (ko) 동적 전압 스케일링을 적용한 고효율 프로세서
JP6092649B2 (ja) 演算装置、アレイ型演算装置およびその制御方法、情報処理システム
JP2006509291A (ja) マイクロプロセッサ電力消費のソフトウェアベースの制御
JP2006107507A (ja) 命令語キャッシュと命令語変換参照バッファの制御器、及びその制御方法
KR101197591B1 (ko) 저전력 프로세서
US7685439B2 (en) Method for effecting the controlled shutdown of data processing units
CN101727160B (zh) 协处理器系统工作模式的切换方法和装置及处理器系统
JP2008059300A (ja) マイクロコンピュータ
US7020787B2 (en) Microprocessor
US8555097B2 (en) Reconfigurable processor with pointers to configuration information and entry in NOP register at respective cycle to deactivate configuration memory for reduced power consumption
US7290157B2 (en) Configurable processor with main controller to increase activity of at least one of a plurality of processing units having local program counters
KR100475267B1 (ko) 메모리및마이컴
JP2017138785A (ja) メモリを制御する制御装置及びその制御方法
JP3349942B2 (ja) 命令メモリ回路
CN110045989B (zh) 一种动态切换式低功耗处理器
JPH11306074A (ja) 情報処理装置
JPH10188567A (ja) メモリ及びマイコン
JP3729142B2 (ja) 並列演算処理装置
US20230185355A1 (en) Discrete power control of components within a computer system
JPH11306073A (ja) 情報処理装置
JPH11328011A (ja) 記憶制御装置および情報処理機器
JPH09114660A (ja) データ処理装置
JP2008191840A (ja) 制御システム及び制御方法
JP2006343962A (ja) データ処理デバイス、省電力制御方法、及びプログラム
KR20070034392A (ko) 전자장치 및 그 제어방법

Legal Events

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

Payment date: 20130205

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140123

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150126

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170124

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190125

Year of fee payment: 12