KR101359717B1 - 에너지 타일 프로세서 - Google Patents

에너지 타일 프로세서 Download PDF

Info

Publication number
KR101359717B1
KR101359717B1 KR1020100110659A KR20100110659A KR101359717B1 KR 101359717 B1 KR101359717 B1 KR 101359717B1 KR 1020100110659 A KR1020100110659 A KR 1020100110659A KR 20100110659 A KR20100110659 A KR 20100110659A KR 101359717 B1 KR101359717 B1 KR 101359717B1
Authority
KR
South Korea
Prior art keywords
instruction
execution unit
instructions
command
supply unit
Prior art date
Application number
KR1020100110659A
Other languages
English (en)
Other versions
KR20120049452A (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 KR1020100110659A priority Critical patent/KR101359717B1/ko
Priority to US13/280,370 priority patent/US20120117357A1/en
Publication of KR20120049452A publication Critical patent/KR20120049452A/ko
Application granted granted Critical
Publication of KR101359717B1 publication Critical patent/KR101359717B1/ko

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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
    • 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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

Abstract

본 발명은 단일 프로세서 내부구조를 명령어를 공급하는 부분과 명령어를 수행하는 부분의 동작전압과 동작주파수가 독립적으로 공급되도록 분리함으로써 동작전압과 동작주파수의 조절로 프로세서의 성능과 에너지 소모량을 조절할 수 있도록 한 에너지 타일 프로세서에 관한 것으로, 명령어를 저장하고 실행할 명령어를 이슈하는 명령어 공급부; 상기 명령어 공급부로터 이슈되는 명령어의 연산타입에 따라 정수 연산과 메모리 연산을 실행하는 제1실행 유닛; 및 상기 명령어 공급부로부터 이슈되는 명령어의 연산타입에 따라 부동소수점 연산을 실행하는 제2실행 유닛;을 포함하고, 상기 명령어 공급부와 상기 제1실행 유닛과 상기 제2실행 유닛은 각각 독립적인 동작전압 및 동작주파수로 구동하고, 상기 동작전압 및 동작주파수는 실행할 명령어에 따라 조절되는 것을 특징으로 한다.

Description

에너지 타일 프로세서{ENERGY TILE PROCESSOR}
본 발명은 모바일 임베디드 프로세서에 관한 것으로, 더 상세하게는 단일 프로세서 내부구조를 명령어를 공급하는 부분과 명령어를 수행하는 부분의 동작전압과 동작주파수가 독립적으로 공급되도록 분리함으로써 동작전압과 동작주파수의 조절로 프로세서의 성능과 에너지 소모량을 조절할 수 있도록 한 에너지 타일 프로세서에 관한 것이다.
프로세서는 메모리 또는 디스크에 저장된 저장장치에 보관된 명령어를 읽어들여 명령어에 인코딩된 동작에 따라서 피연산자에 특정 연산을 행하고 결과를 다시 저장함으로써 특정 응용영역을 위한 알고리즘을 실행하는 하드웨어 또는 IP를 의미한다.
프로세서의 응용영역은 시스템 반도체 전분야에 걸쳐서 광대하게 적용되고 있다.
프로세서의 응용영역은 비디오 데이터 압축 및 해제, 오디오 데이터 압축 및 해제, 오디오 데이터 변형 및 음향효과와 같은 대용량의 멀티미디어 데이터를 위한 고성능 미디어 데이터 처리, 유무선 통신용 모뎀, 음성 처리 알고리즘, 네트워크 데이터 처리를 위한 중급 성능 데이터 처리, 터치스크린, 가전기기용 컨트롤러, 모터제어와 같은 최소성능 마이크로컨트롤러 플랫폼, 무선 센서 네트워크 또는 초소형 전자장치와 같은 안정적인 전원공급이 불가능하거나 외부로부터의 전원공급이 불가능한 장치에 이르기까지 다양한 응용영역으로 그 사용처를 확대하고 있다.
최근까지는 응용영역이 요구하는 성능에 따라서 전용 프로세서가 적용되는 것이 일반적인 업계의 인식으로, 고성능을 요구하는 영역에는 높은 동작 주파수를 가지면서 넓은 하드웨어 면적을 요구하는 프로세서가 적용되었고, 저성능을 요구하는 영역에는 낮은 주파수이지만 적은 하드웨어 면적을 통해서 에너지 효율을 증대시킬 수 있는 프로세서가 적용되었다.
최근에는 스마트폰, MID, 스마트TV 등 모바일 시장의 폭발적인 성장이 가시화되면서 모바일 단말에서 핵심적인 기능을 수행하는 모바일 프로세서(AP, Applicaton Processor)의 중요성이 증대되고 있다. 모바일 프로세서의 경우 고성능을 보장하면서도 장시간 사용이 중시되고 있기 때문에 자체의 에너지 소모량을 최소로 하는 기술이 모바일 프로세서의 성능을 결정짓는 요소가 된다.
상기한 기술구성은 본 발명의 이해를 돕기 위한 배경기술로서, 본 발명이 속하는 기술분야에서 널리 알려진 종래기술을 의미하는 것은 아니다.
본 발명은 단일 프로세서 내부구조를 명령어를 공급하는 부분과 명령어를 수행하는 부분의 동작전압과 동작주파수가 독립적으로 공급되도록 분리함으로써 동작전압과 동작주파수의 조절로 프로세서의 성능과 에너지 소모량을 조절할 수 있도록 한 에너지 타일 프로세서를 제공하는데 그 목적이 있다.
본 발명에 의한 명령어를 저장하고 실행할 명령어를 이슈하는 명령어 공급부; 상기 명령어 공급부로터 이슈되는 명령어의 연산타입에 따라 정수 연산과 메모리 연산을 실행하는 제1실행 유닛; 및 상기 명령어 공급부로부터 이슈되는 명령어의 연산타입에 따라 부동소수점 연산을 실행하는 제2실행 유닛;을 포함하고, 상기 명령어 공급부와 상기 제1실행 유닛과 상기 제2실행 유닛은 각각 독립적인 동작전압 및 동작주파수로 구동하고, 상기 동작전압 및 동작주파수는 실행할 명령어에 따라 조절되는 것을 특징으로 한다.
본 발명에서, 상기 명령어 공급부와 상기 제1실행 유닛과 상기 제2실행 유닛은 각각 독립적으로 조절되는 동작전압 및 동작주파수에 따라 가변적으로 고속 또는 저속으로 명령어를 이슈하거나 명령어를 실행하는 것을 특징으로 한다.
본 발명에서, 상기 명령어 공급부는 명령어를 저장하는 명령어 캐시; 상기 명령어 캐시에 저장된 명령어를 읽어서 임시로 저장하는 명령어 큐; 및 상기 명령어 큐에 저장된 명령어를 읽어서 실행할 명령어의 순서를 정렬하여 상기 제1실행 유닛과 상기 제2실행 유닛으로 이슈하는 명령어 시퀀서를 포함하는 것을 특징으로 한다.
본 발명에서, 상기 명령어 캐시와 상기 명령어 큐는 상기 명령어 큐가 한 클럭 사이클 동안 연속적인 어드레스에 배치되어 있는 명령어를 상기 명령어 캐시로부터 읽어올 수 있도록 명령어 캐시 데이터 버스로 연결시켜 구성한 것을 특징으로 한다.
본 발명에서, 상기 명령어 큐와 상기 명령어 시퀀서는 상기 명령어 시퀀서가 한 클럭 사이클 동안 동시에 복수개의 명령어를 상기 명령어 큐로부터 읽어올 수 있도록 명령어 큐 버스로 연결시켜 구성한 것을 특징으로 한다.
본 발명에서, 상기 명령어 시퀀서와, 상기 제1실행유닛과 상기 제2실행유닛은 상기 명령어 시퀀서가 상기 제1실행유닛과 상기 제2실행유닛으로 명령어를 이슈하도록 명령어 시퀀스 버스로 연결시켜 구성한 것을 특징으로 한다.
상술한 바와 같이, 본 발명은 단일 프로세서 내부구조를 명령어를 공급하는 부분과 명령어를 수행하는 부분의 동작전압과 동작주파수가 독립적으로 공급되도록 분리함으로써 동작전압과 동작주파수의 조절로 프로세서의 성능과 에너지 소모량을 조절할 수 있다.
도 1은 본 발명의 일 실시예에 따른 에너지 타일 프로세서의 구성을 설명하기 위한 블럭도이다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 에너지 타일 프로세서의 구성을 설명하기 위한 블럭도이다.
도 1을 참고하면, 본 발명의 일 실시예에 따른 에너지 타일 프로세서는 단일 프로세서 구조를 명령어 공급부(1)와 제1실행 유닛(2)과 제2실행 유닛(3)으로 분할하고, 명령어 공급부(1)와 제1실행 유닛(2)과 제2실행 유닛(3)은 각각 독립적으로 조절되는 동작전압과 동작주파수로 구동한다.
여기서, 동작전압과 동작주파수는 실행할 명령어의 개수, 명령어의 의존성, 실행 의존성 등의 다수의 명령어가 들어오는 상황에 따라 조절된다.
본 발명에서는 단일 프로세서 구조를 명령어 공급부(1)와 제1실행 유닛(2) 및 제2실행 유닛(3)으로 분리한 각각을 '에너지 타일'로 정의한다.
명령어 공급부(1)는 명령어를 저장하고 실행할 명령어를 제1실행유닛(2)과 제2실행유닛으로 이슈(issue)한다.
이러한 명령어 공급부(1)는 명령어를 저장하는 명령어 캐시(Instruction Cache, 11)와, 명령어 캐시(11)에 저장된 명령어를 읽어서 임시로 저장하는 명령어 큐(Instructon queue, 12)와, 명령어 큐(12)에 저장된 명령어를 읽어서 실행할 명령어의 순서를 정렬하여 제1실행 유닛(2)과 제2실행 유닛(3)으로 이슈하는 명령어 시퀀서(13)를 포함한다.
명령어 캐시(11)는 SRAM 형태의 메모리로 구성하고, 명령어 큐(12)는 플립플롭(Flip-flop)이라는 저장회로로 구성한다.
명령어 큐(12)는 플립플롭으로 구성하므로 저장할 수 있는 명령어의 개수가 명령어 캐시(11)에 비해 상대적으로 적다. 명령어 큐(12)는 1개부터 4개까지의 명령어를 명령어 캐시(11)로부터 읽어 들일 수 있다.
특정 클럭 사이클에서 명령어 큐(12)가 명령어 캐시(11)로부터 읽어 들이는 명령어의 개수는 현재의 명령어 큐(12)에 저장된 명령어의 개수에 의하여 결정된다.
명령어 시퀀서(13)는 명령어 큐(12)에 저장된 명령어를 읽어서 실행할 명령어의 순서를 정렬한 다음 제1실행 유닛(2)과 제2실행 유닛(3)으로 명령어를 이슈한다.
제1실행 유닛(2)는 명령어 공급부(1)로터 이슈되는 명령어의 연산타입에 따라 정수 연산을 실행하는 두 개의 정수 연산기(21,22)와 메모리 연산을 실행하는 두 개의 메모리 연산기(23,24)를 포함한다.
제2실행 유닛(3)은 명령어 공급부(1)로부터 이슈되는 명령어의 연산타입에 따라 부동소수점 연산을 실행하는 두 개의 부동소수점 연산기(31,32)를 포함한다.
그리고, 명령어 캐시(11)와 명령어 큐(12)는 명령어 큐(12)가 한 클럭 사이클 동안 연속적인 어드레스에 배치되어 있는 명령어를 명령어 캐시(11)로부터 읽어올 수 있도록 명령어 캐시 데이터 버스(14)로 연결시켜 구성한다.
또한, 명령어 큐(12)와 명령어 시퀀서(13)는 명령어 시퀀서(13)가 한 클럭 사이클 동안 동시에 복수개의 명령어를 명령어 큐(12)로부터 읽어올 수 있도록 명령어 큐 버스(15)로 연결시켜 구성한다.
또한, 명령어 시퀀서(13)와, 제1실행유닛(2)과 제2실행유닛(3)은 명령어 시퀀서(13)가 제1실행유닛과 상기 제2실행유닛으로 명령어를 동시에 이슈할 수 있도록 명령어 시퀀스 버스(16)로 연결시켜 구성한다.
그리고, 프로세서 내에는 다수의 실행유닛이 있기 때문에 동일 클럭 사이클에 다수의 명령어를 실행하기 위해서는 동일 클럭 사이클에 다수의 명령어를 실행유닛으로 이슈해야 한다.
다수의 명령어를 동시에 실행유닛으로 이슈하기 위해서는 명령어간에 데이터 의존성, 실행 의존성 등이 있을 수 있기 때문에 이 의존성을 제거하기 위해서 명령어를 정렬해야 할 필요가 있다.
실행 의존성은 특히 루프 오퍼레이션(Loop operation), 즉 반복적으로 일련의 명령어를 실행하거나 명령어 블록을 반복적으로 실행할 때 명령어간에 발생하는 의존성을 말한다.
명령어 시퀀서(13)는 이러한 의존성을 제거한다. 명령어 시퀀서(13)는 명령어 큐(12)에서 다수의 명령어를 동시에 읽어서 명령어간의 의존성을 확인한 다음 의존성을 제거할 수 있는 형태로 정렬하고 명령어의 연산 타입에 따라서 해당하는 실행유닛으로 이슈한다.
이와 같이 본 발명은 단일 프로세서 구조를 명령어를 읽어오는 부분과 명령어를 실행하는 부분으로 분할하고 각각 독립적인 동작전압과 동작주파수를 공급하여 구동시키므로 에너지 타일의 입출력 데이터 대역폭을 가변적으로 운용할 수 있고 명령어의 이슈율(issue rate) 조절할 수 있으며 이로 인해 에너지 타일의 성능과 에너지 소모량을 조절할 수 있다.
각각의 에너지 타일은 독립적인 동작전압과 동작주파수로 구동하므로 낮은 전압이 공급되면 타일의 동작은 저속 수행 모드가 되고, 높은 전압이 공급되면 고속 수행 모드가 된다.
저속 수행 모드는 동작 속도가 저속인 반면, 저전압이 공급되기 때문에 에너지 소모가 감소하고, 고속 수행 모드는 동작 속도가 고속인 반면, 고전압이 공급되기 때문에 에너지 소모가 증가한다.
이와 같이 구성된 본 발명의 일 실시예에 따른 에너지 타일 프로세서의 동작을 설명하면 다음과 같다.
도 1을 참고하면, 먼저 명령어 캐시(11)와 명령어 큐(12) 사이의 명령어 캐시 데이터 버스(14)를 통하여 명령어가 전송된다.
명령어 캐시 데이터 버스(14)는 한 클럭 사이클 동안 연속적인 어드레스에 배치되어 있는 명령어를 4개까지 읽어올 수 있다.
그러나, 명령어 큐(12)가 읽어오는 명령어의 개수는 현재 명령어 큐(12)의 상태, 즉 명령어 큐(12)에 저장된 명령어의 개수 및 명령어 큐(12)에 채워 넣을 수 있는 명령어의 개수에 의해서 결정된다.
명령어 캐시 데이터 버스(14)를 통하여 명령어 큐(12)가 읽어오는 명령어의 개수는 다음과 같이 표현된다.
N = min(EIQ, 4)
위의 식에서 N은 한 클럭 사이클에 명령어 큐(12)가 명령어 캐시(11)로부터 읽어오는 명령어의 수, EIQ는 명령어 큐(12)에 비어 있는 명령어의 수이며 이 두 개의 수 중 적은 수를 택한다.
명령어 시퀀서(13)는 명령어 큐 버스(15)를 통해서 명령어를 읽어와서 정렬을 하게 된다.
명령어 큐 버스(15)는 한 번에 8개의 명령어를 읽어올 수 있다.
명령어 시퀀서(13)는 명령어 정렬을 통해서 실행 유닛으로 명령어를 이슈하는데 이슈가 된 명령어는 명령어 큐(12)로 명령어 큐(12) 내의 해당 명령어가 수행되었음을 알려주되 이슈가 되지 않은 명령어는 다음 클럭 사이클에 실행될 수 있도록 명령어 큐(12)가 보관하도록 한다.
명령어 시컨스 버스(16)는 명령어 시퀀서(13)가 명령어를 제1실행 유닛(2)과 제2실행 유닛(3)으로 이슈하기 위한 버스이다.
명령어 시퀀서(13)는 이슈하는 명령어가 수행하는 연산의 종류에 따라서 적합한 실행유닛(2,3)으로 명령어를 이슈한다. 실행유닛(2,3)은 명령어의 동작을 수행한다.
에너지 타일은 각각 독립적인 동작전압과 동작주파수로 구동한다. 동작전압이 낮으면 저속으로, 동작전압이 높으면 고속으로 해당 기능을 수행한다.
운영체제에서 명령어 공급부(1)는 고전압, 제1실행 유닛(2)과 제2실행 유닛(3)도 고전압으로 실행되도록 셋업하였다면, 명령어 공급부(1)와 제1실행 유닛(2)과 제2실행 유닛(3)은 각각 고속으로 동작한다.
명령어간의 의존성이 없는 최상의 경우 명령어 캐시 버스(14)를 통해서 읽어오는 명령어는 매 클럭 사이클마다 4개가 되고 4개의 명령어는 명령어 시컨스 버스(16)를 통해서 매클럭 사이클마다 제1실행 유닛(2)과 제2실행 유닛(3)으로 이슈된다.
이때 동작전압이 높고 실행 유닛(2,3)이 모두 동작하므로 '고에너지 모드'가 된다.
운영체제에서 명령어 공급부(1)는 고전압, 제1실행 유닛(2)과 제2실행 유닛(3)은 저전압으로 실행되도록 셋업하였다면, 제1실행 유닛(2)과 제2실행 유닛(3)의 동작속도가 느려지게 되므로 명령어가 천천히 수행된다.
이것은 결국 명령어 시컨스 버스(16)를 통하여 명령어가 이슈되는 속도, 즉 이슈속도를 감소시킨다.
명령어의 이슈속도가 감소되면 적은 수의 명령어가 명령어 캐시 버스(14)를 통하여 전송된다.
이 경우 프로세서의 처리량은 감소하게 되지만, 제1실행유닛(2)과 제2실행유닛(3)의 에너지 소모량이 낮아지게 된다. 명령어간의 의존성이 많은 경우 유리하다.
한편, 제1실행유닛(2)과 제2실행유닛(3)이 고전압으로 구동하고, 명령어 공급부(1) 역시 고전압으로 구동하더라도 명령어 의존성에 의하여 충분한 개수의 명령어가 명령어 시컨스 버스(16)를 통하여 제1실행유닛(2)과 제2실행유닛(3)으로 이슈되지 않을 수 있다.
이때는 명령어 공급부(1)는 정상속도로 동작하되 제1실행유닛(2)과 제2실행유닛(3)으로 이슈되는 명령어의 개수가 적어지게 되기 때문에 낮은 속도로 동작시켜 에너지 소모량을 감소시킬 수 있다.
운영체제에서 명령어 공급부(1)는 저전압, 제1실행유닛(2)과 제2실행유닛(3)은 고전압으로 동작시키게 되면 명령어 시컨스 버스(16)는 충분한 수의 명령어를 실행할 수 있지만 명령어 캐시 버스(14)를 통하여 읽어오는 명령어의 개수는 늘어나게 된다.
이 경우 에너지 소모량이 줄어든 반면, 처리량은 유지될 수 있다. 다만, 명령어 캐시 버스(14)가 한 클럭 사이클에 읽어올 수 있는 명령어의 개수가 부족할 수 있다. 즉 시퀀서 타일의 전압 강하량을 조절할 필요가 있다.
운영체제에서 각각의 에너지 타일을 모두 저전압을 동작시키게 되면 프로세서의 처리량은 감소하지만 에너지 소모량이 줄어들게 된다는 잇점이 있다. 이때는 명령어 의존성에 따라서 가변적이지만 다수의 명령어가 명령어 캐시 버스(14) 및 명령어 시컨스 버스(16)를 통하여 이슈된다.
즉, 단일 프로세서를 구성하는 에너지 타일의 동작전압과 동작주파수를 독립적으로 조절함으로써 에너지 소모량과 프로세서 처리량을 임의로 조절할 수 있다.
이는 프로세서 전체의 전압을 조절하는 것보다 현재 프로세서가 처리하는 명령어들의 의존성, 필요한 성능 등에 따라서 미세한 에너지 소모량 조절이 가능하다는 잇점이 있다.
이와 같이 본 발명은 단일 프로세서 내부구조를 명령어를 공급하는 부분과 명령어를 수행하는 부분의 동작전압과 동작주파수가 독립적으로 공급되도록 분리함으로써 동작전압과 동작주파수의 조절로 프로세서의 성능과 에너지 소모량을 조절할 수 있다.
상술한 바와 같이 본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
1 : 명령어 공급부 2 : 제1실행 유닛
3 : 제2실행 유닛 11 : 명령어 캐시
12 : 명령어 큐 13 : 명령어 시퀀서
14 : 명령어 캐시 데이터 버스 15 : 명령어 큐 버스
16 : 명령어 시퀀스 버스 21,22 : 정수 연산기
23,24 : 메모리 연산기 31,32 : 부동소수점 연산기

Claims (6)

  1. 명령어를 저장하고 실행할 명령어를 이슈하는 명령어 공급부;
    상기 명령어 공급부로터 이슈되는 명령어의 연산타입에 따라 정수 연산과 메모리 연산을 실행하는 제1실행 유닛; 및
    상기 명령어 공급부로부터 이슈되는 명령어의 연산타입에 따라 부동소수점 연산을 실행하는 제2실행 유닛;을 포함하고,
    상기 명령어 공급부와 상기 제1실행 유닛과 상기 제2실행 유닛은 각각 독립적으로 조절되는 동작전압 및 동작주파수로 구동되는 것을 특징으로 하는 에너지 타일 프로세서.
  2. 제 1 항에 있어서, 상기 명령어 공급부와 상기 제1실행 유닛과 상기 제2실행 유닛은
    각각 독립적으로 조절되는 동작전압 및 동작주파수에 따라 가변적으로 고속 또는 저속으로 명령어를 이슈하거나 명령어를 실행하는 것을 특징으로 하는 에너지 타일 프로세서.
  3. 제 1 항에 있어서, 상기 명령어 공급부는
    명령어를 저장하는 명령어 캐시;
    상기 명령어 캐시에 저장된 명령어를 읽어서 임시로 저장하는 명령어 큐; 및
    상기 명령어 큐에 저장된 명령어를 읽어서 실행할 명령어의 순서를 정렬하여 상기 제1실행 유닛과 상기 제2실행 유닛으로 이슈하는 명령어 시퀀서를 포함하는 것을 특징으로 하는 에너지 타일 프로세서.
  4. 제 3 항에 있어서, 상기 명령어 캐시와 상기 명령어 큐는
    상기 명령어 큐가 한 클럭 사이클 동안 연속적인 어드레스에 배치되어 있는 명령어를 상기 명령어 캐시로부터 읽어올 수 있도록 명령어 캐시 데이터 버스로 연결시켜 구성한 것을 특징으로 하는 에너지 타일 프로세서.
  5. 제 3 항에 있어서, 상기 명령어 큐와 상기 명령어 시퀀서는
    상기 명령어 시퀀서가 한 클럭 사이클 동안 동시에 복수개의 명령어를 상기 명령어 큐로부터 읽어올 수 있도록 명령어 큐 버스로 연결시켜 구성한 것을 특징으로 하는 에너지 타일 프로세서.
  6. 제 3 항에 있어서, 상기 명령어 시퀀서와, 상기 제1실행유닛과 상기 제2실행유닛은
    상기 명령어 시퀀서가 상기 제1실행유닛과 상기 제2실행유닛으로 명령어를 이슈하도록 명령어 시퀀스 버스로 연결시켜 구성한 것을 특징으로 하는 에너지 타일 프로세서.
KR1020100110659A 2010-11-08 2010-11-08 에너지 타일 프로세서 KR101359717B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100110659A KR101359717B1 (ko) 2010-11-08 2010-11-08 에너지 타일 프로세서
US13/280,370 US20120117357A1 (en) 2010-11-08 2011-10-25 Energy tile processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100110659A KR101359717B1 (ko) 2010-11-08 2010-11-08 에너지 타일 프로세서

Publications (2)

Publication Number Publication Date
KR20120049452A KR20120049452A (ko) 2012-05-17
KR101359717B1 true KR101359717B1 (ko) 2014-02-07

Family

ID=46020758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100110659A KR101359717B1 (ko) 2010-11-08 2010-11-08 에너지 타일 프로세서

Country Status (2)

Country Link
US (1) US20120117357A1 (ko)
KR (1) KR101359717B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866277A (zh) * 2014-02-26 2015-08-26 北京国睿中数科技股份有限公司 用于浮点复数共轭加减的装置和方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391820B (zh) * 2014-11-25 2017-06-23 清华大学 基于fpga的通用浮点矩阵处理器硬件结构
US9817470B2 (en) * 2015-02-25 2017-11-14 Qualcomm Incorporated Processor power management responsive to a sequence of an instruction stream

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010519652A (ja) 2007-02-21 2010-06-03 クゥアルコム・インコーポレイテッド オン−デマンド・マルチ−スレッド・マルチメディア・プロセッサ
KR20100071784A (ko) * 2008-12-19 2010-06-29 한국전자통신연구원 전력 소모 스케일링이 가능한 프로세서
KR20100072614A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 저전력 프로세서
KR100990526B1 (ko) 2006-08-23 2010-10-29 닛본 덴끼 가부시끼가이샤 혼합 모드 병렬 프로세서 시스템 및 방법과 혼합 모드 병렬 프로세서 프로그램이 기록되어 있는 컴퓨터 판독가능 기록매체

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1507178A (en) * 1974-10-30 1978-04-12 Motorola Inc Microprocessor integrated circuit and chip
US5457644A (en) * 1993-08-20 1995-10-10 Actel Corporation Field programmable digital signal processing array integrated circuit
US5726921A (en) * 1995-12-22 1998-03-10 Intel Corporation Floating point power conservation
US6425086B1 (en) * 1999-04-30 2002-07-23 Intel Corporation Method and apparatus for dynamic power control of a low power processor
JP3851289B2 (ja) * 2003-04-22 2006-11-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、記録媒体、及び制御方法
US7360062B2 (en) * 2003-04-25 2008-04-15 International Business Machines Corporation Method and apparatus for selecting an instruction thread for processing in a multi-thread processor
US8429433B2 (en) * 2010-01-15 2013-04-23 International Business Machines Corporation Dynamically adjusting an operating state of a data processing system running under a power cap

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100990526B1 (ko) 2006-08-23 2010-10-29 닛본 덴끼 가부시끼가이샤 혼합 모드 병렬 프로세서 시스템 및 방법과 혼합 모드 병렬 프로세서 프로그램이 기록되어 있는 컴퓨터 판독가능 기록매체
JP2010519652A (ja) 2007-02-21 2010-06-03 クゥアルコム・インコーポレイテッド オン−デマンド・マルチ−スレッド・マルチメディア・プロセッサ
KR20100071784A (ko) * 2008-12-19 2010-06-29 한국전자통신연구원 전력 소모 스케일링이 가능한 프로세서
KR20100072614A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 저전력 프로세서

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866277A (zh) * 2014-02-26 2015-08-26 北京国睿中数科技股份有限公司 用于浮点复数共轭加减的装置和方法

Also Published As

Publication number Publication date
KR20120049452A (ko) 2012-05-17
US20120117357A1 (en) 2012-05-10

Similar Documents

Publication Publication Date Title
TWI553551B (zh) 使用選擇性任務調變之熱減輕
US20150301854A1 (en) Apparatus and method for hardware-based task scheduling
CN105808328A (zh) 任务调度的方法、装置和系统
US8275975B2 (en) Sequencer controlled system and method for controlling timing of operations of functional units
JP2007179358A (ja) 情報処理装置及び再構成デバイスの利用方法
TW200304086A (en) Method and system for data flow control of execution nodes of an adaptive computing engine(ACE)
CN103309737A (zh) 一种切换操作系统的方法及设备
KR101359717B1 (ko) 에너지 타일 프로세서
JP2013005452A (ja) マルチフォーマットビデオ処理のためのコンフィギュレーションバッファ割当
JP2007251329A (ja) プログラマブルロジックデバイス
JP2014235746A (ja) マルチコア装置及びマルチコア装置のジョブスケジューリング方法
Fukushima et al. Parallel implementation of CNN on multi-FPGA cluster
US20050015573A1 (en) Digital architecture for reconfigurable computing in digital signal processing
US8495345B2 (en) Computing apparatus and method of handling interrupt
US8341394B2 (en) Data encryption/decryption method and data processing device
CN107851026A (zh) 电力高效获取适应
US9792135B2 (en) Differential voltage and frequency scaling (DVFS) switch reduction
JP2008186345A (ja) データ処理方法及びデータ処理装置
CN105528203A (zh) Cpu使用控制系统及方法
CN106774758A (zh) 一种串联电路及计算设备
JP2008152409A (ja) 半導体集積回路
KR20180107948A (ko) 이종 멀티코어 시스템 기반 거버너 제어 장치 및 방법
JP2002032218A (ja) マイクロプロセッサシステム
EP4170538A1 (en) Chip simulation method, apparatus and system, and device and storage medium
CN103488527A (zh) 一种php api调用方法、相关设备及系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee