KR20150062650A - 재구성 가능 프로세서 제어 방법 및 제어 장치 - Google Patents

재구성 가능 프로세서 제어 방법 및 제어 장치 Download PDF

Info

Publication number
KR20150062650A
KR20150062650A KR1020130147518A KR20130147518A KR20150062650A KR 20150062650 A KR20150062650 A KR 20150062650A KR 1020130147518 A KR1020130147518 A KR 1020130147518A KR 20130147518 A KR20130147518 A KR 20130147518A KR 20150062650 A KR20150062650 A KR 20150062650A
Authority
KR
South Korea
Prior art keywords
configuration information
configuration
reconfigurable processor
buffer
address value
Prior art date
Application number
KR1020130147518A
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 삼성전자주식회사
Priority to KR1020130147518A priority Critical patent/KR20150062650A/ko
Priority to PCT/KR2014/011592 priority patent/WO2015080531A1/en
Priority to US15/039,603 priority patent/US20170017610A1/en
Publication of KR20150062650A publication Critical patent/KR20150062650A/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • 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/82Architectures of general purpose stored program computers data or demand driven
    • 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

Abstract

재구성 가능 프로세서를 제어하는 기술에 관한 것으로, 재구성 가능 프로세서가 수행하는 소정의 프로세스에서 구성 정보가 구성 버퍼로부터 제공될 수 있는지 여부를 구성 버퍼에 저장된 각각의 구성 정보의 주소값을 기초로 판단하여 구성 메모리에 대한 접근을 제어함으로써, 전력 소비를 줄일 수 있다.

Description

재구성 가능 프로세서 제어 방법 및 제어 장치{Method and apparatus for controlling reconfigurable processor}
본 발명은 재구성 가능 프로세서의 제어 방법 및 제어 장치에 관한 것이다.
복수의 연산 유닛들을 동시에 구동하여 연산을 수행하는 재구성 가능 프로세서에 관한 기술이 각광받고 있다. 재구성 가능 프로세서는 반복 연산과 관련된 루프를 실행하기 위하여 CGA(Coarse Grained Array) 모드로 동작한다. CGA 모드에서는 여러 개의 펑션 유닛(Function Unit, 이하 FU)에 의해 연산이 수행될 수 있다. 특히, CGA 모드에서는 복수의 FU간의 연결 상태의 조절을 통해 특정 작업에 최적화된 연산이 수행될 수 있다.
재구성 가능 프로세서에서의 구성 메모리에는 CGA 모드에서 각각의 FU가 연산을 수행하는데 필요한 파라미터 정보 및 복수의 FU간의 연결에 필요한 정보 를 포함한 구성 정보가 저장되어 있다. 재구성 가능 프로세서가 연산을 수행하기 위해서는 구성 메모리에 반복적으로 접근하여, 구성 정보를 획득해야 한다. 재구성 가능 프로세서에서 연산을 수행하기 위해 구성 메모리에 반복적으로 접근하는 경우, 전력 소비가 증가한다는 문제점이 있다.
재구성 가능 프로세서에서의 구성 메모리에 대한 접근을 제어하는 제어 장치 및 방법이 개시된다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서를 제어하는 방법은 상기 재구성 가능 프로세서의 구성 버퍼에 저장되어 있는 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값을 획득하는 단계; 상기 획득한 각각의 구성 정보의 주소값에 기초하여, 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는지 여부를 판단하는 단계; 및 상기 판단 결과를 상기 재구성 가능 프로세서에게 제공하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서를 제어하는 방법에 있어서, 상기 판단하는 단계는, 상기 제 2 프로세스를 수행하는데 필요한 구성 정보의 주소값을 획득하는 단계; 상기 제 1 프로세스에서 필요한 각각의 구성 정보의 주소값 및 상기 제 2 프로세스에서 필요한 각각의 구성 정보의 주소값을 비교하는 단계; 및 상기 비교 결과에 기초하여, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는지 여부를 판단하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서를 제어하는 방법에 있어서, 상기 판단하는 단계는, 상기 비교 결과, 상기 제 1 프로세스에서 필요한 각각의 구성 정보의 주소값과 상기 제 2 프로세스에서 필요한 각각의 구성 정보의 주소값이 일치하는 경우, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는 것으로 판단할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서를 제어하는 방법에 있어서, 상기 제공하는 단계는, 상기 판단 결과, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는 것으로 판단되는 경우, 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있음을 나타내는 제어 신호를 상기 재구성 가능 프로세서에게 전송하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서를 제어하는 방법에 있어서, 상기 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보는 상기 구성 버퍼에서 서로 인접한 주소값을 갖도록 저장될 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서를 제어하는 방법에 있어서, 상기 제 1 프로세스와 상기 제 2 프로세스를 구성하는 명령어는 동일할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 장치는, 상기 재구성 가능 프로세서의 구성 버퍼에 저장되어 있는 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값을 획득하는 입력부; 상기 획득한 각각의 구성 정보의 주소값에 기초하여, 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는지 여부를 판단하는 제어부; 및 상기 판단 결과를 상기 재구성 가능 프로세서에게 제공하는 출력부를 포함할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 장치에 있어서, 상기 제어부는, 상기 제 1 프로세스에서 필요한 각각의 구성 정보의 주소값 및 상기 제 2 프로세스에서 필요한 각각의 구성 정보의 주소값을 비교하고, 상기 비교 결과에 기초하여, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 장치에 있어서, 상기 제어부는, 상기 비교 결과, 상기 제 1 프로세스에서 획득한 각각의 구성 정보의 주소값과 상기 제 2 프로세스에서 획득한 각각의 구성 정보의 주소값이 일치하는 경우, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는 것으로 판단할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 장치에 있어서, 상기 출력부는, 상기 판단 결과, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는 것으로 판단되는 경우, 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있음을 나타내는 제어 신호를 상기 재구성 가능 프로세서에게 전송할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 장치에 있어서, 상기 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보는, 상기 구성 버퍼에서 서로 인접한 주소값을 갖도록 저장될 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 장치에 있어서, 상기 제 1 프로세스와 상기 제 2 프로세스를 구성하는 명령어는 동일할 수 있다.
도 1은 본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 재구성 가능 프로세서를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른, 재구성 가능 프로세서 제어 장치를 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른, 중첩 루프를 구성하는 명령어를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 구성 정보의 주소값에 기초하여, 구성 정보가 구성 버퍼로부터 제공될 수 있는지 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 재구성 가능 프로세서의 제어 시스템(100)을 설명하기 위한 도면이다.
도 1을 참고하면, 본 발명의 일 실시예에 따른 재구성 가능 프로세서의 제어 시스템(100)은 재구성 가능 프로세서(110) 및 재구성 가능 프로세서 제어 장치(120)를 포함할 수 있다.
도 1에 도시된 재구성 가능 프로세서의 제어 시스템(100)에는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
재구성 가능 프로세서(110)는 복수개의 어플리케이션을 동시에 실행시킬 수 있도록 재구성 어레이 구조를 갖는 CGA 모드를 포함할 수 있다. CGA 모드에서 재구성 어레이는 복수개의 FU, 레지스터 파일, 접속 노드(interconnection node), 컨스턴트 노드(constant node)등을 포함하는 자원(resource)들의 조합으로 구성될 수 있다.
한편, 재구성 가능 프로세서(110)는 구성 메모리에 저장된 구성 정보(configuration information)에 기초하여, 재구성 어레이를 제어할 수 있다. 여기에서 구성 정보는 재구성 어레이를 구성하는 각 펑션 유닛에 할당되는 인스트럭션 정보 및 펑션 유닛들 간의 연결 정보를 포함할 수 있다.
재구성 어레이를 제어하기 위해서는, CGA 모드가 수행되는 사이클마다 구성 정보가 필요하다. 재구성 어레이에는 루프(loop)가 매핑되므로 CGA 모드를 수행할 때마다 동일한 구성 정보들을 이용하게 된다. CGA 모드에서, 재구성 어레이가 구성 정보의 획득을 위해 각각의 사이클마다 구성 메모리에 접근하게 되면, 전력 소비가 증가할 수 있다.
구성 메모리로의 접근으로 인해 발생하는 전력 소비를 줄이기 위한 방법으로, 구성 메모리에 비해 적은 엔트리 수를 갖는 구성 버퍼가 이용될 수 있다. 재구성 가능 프로세서(110)는 재구성 어레이에 루프가 매핑되는 경우, 동일한 구성 정보들이 반복되는 특성을 이용하여, 반복되는 구성 정보들을 구성 버퍼에 따로 저장해 놓고 사용할 수 있다. 구성 버퍼를 사용할 경우 구성 버퍼에 비해 상대적으로 크기가 큰 구성 메모리로의 접근 횟수가 줄어들어, CGA 모드를 수행하는데 사용되는 전력 소비가 줄어들 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 장치(120)는 재구성 어레이의 구성 메모리 접근을 제어할 수 있다. 구체적으로, 재구성 가능 프로세서 제어 장치(120)는 CGA 모드 수행 시 사용되는 구성 정보가 구성 버퍼에 저장되어 있는지 여부에 대한 정보를 재구성 가능 프로세서(110)에 제공할 수 있다. 예를 들어, CGA 모드 수행 시에, 사용되는 구성 정보가 구성 버퍼에 저장되어 있는 경우, 재구성 가능 프로세서 제어 장치(120)는 재구성 어레이에, 구성 정보가 구성 버퍼에 저장되어 있다는 정보를 제공할 수 있다. 재구성 어레이는 재구성 가능 프로세서 제어 장치(120)가 제공한 정보에 기초하여, 구성 버퍼로부터 구성 정보를 획득할 수 있다.
예를 들어, 재구성 어레이에 중첩 루프가 매핑되는 경우를 가정해 볼 수 있다. 중첩 루프는 아우터 루프(outer loop)와 이너 루프(inner loop)를 포함할 수 있다. 재구성 가능 프로세서 제어 장치(120)는 각 루프를 수행하는데 필요한 구성 정보가 구성 버퍼에 저장되어 있는지 여부에 대한 정보를 재구성 어레이에 제공할 수 있다.
아우터 루프를 수행하는데 필요한 구성 정보가 구성 버퍼에 저장되어 있는 경우, 재구성 가능 프로세서 제어 장치(120)는 재구성 어레이에게 구성 정보를 구성 버퍼로부터 획득할 수 있다는 정보를 제공할 수 있다. 이에 따라, 재구성 어레이는 아우터 루프의 반복 횟수만큼 구성 버퍼로부터 구성 정보를 획득할 수 있다. 본 발명의 일 실시예에 따른, 재구성 가능 프로세서 제어 장치(120)는 아우터 루프의 반복 횟수만큼 구성 메모리에 접근하여 발생할 수 있는 전력 소비를 줄일 수 있다.
도 2는 본 발명의 일 실시예에 따른 재구성 가능 프로세서(110)를 도시한 도면이다.
도 2를 참고하면, 재구성 가능 프로세서(110)는 재구성 어레이(210), 구성 메모리(220) 및 구성 버퍼(230)를 포함할 수 있다.
재구성 어레이(210)는 복수개의 FU를 포함할 수 있다. 각각의 FU는 태스크 또는 인스트럭션을 독립적으로 처리할 수 있다. 예를 들어, 재구성 어레이(210)는 독립적으로 동작하는 복수개의 FU를 이용하여 소정의 작업을 병렬적으로 처리하는 것이 가능하다. 각각의 FU는 산술 및 논리 연산을 수행하는 프로세싱 엘리먼트(processing element)와 연산 결과를 임시로 저장하는 레지스터 파일(register file)을 포함할 수 있다.
구성 메모리(220)는 재구성 어레이(210)의 구성 정보를 저장한다. 구성 정보는 각 FU에 할당되는 인스트럭션 정보 및 복수개의 FU 간의 연결 상태를 정의할 수 있다. 따라서, 각 FU에 매핑되는 인스트럭션 및 복수개의 FU간의 연결 상태는 구성 메모리(220)에 저장된 구성 정보에 따라 달라질 수 있다.
예를 들어, 프로그램 카운터(미도시)가 제 1 구성 정보를 가리키면, 제 1 구성 정보에 따라 FU0에 인스트럭션 A가 매핑되고, FU0의 출력이 FU4의 입력과 연결될 수 있다. 또한, 프로그램 카운터(미도시)가 제 2 구성 정보를 가리키면 제 2 구성 정보에 따라 FU0에 인스트럭션 B가 매핑되고 FU0의 출력이 FU5의 입력과 연결될 수 있다. 즉, 재구성 가능 프로세서(110)는 프로그램 카운터(미도시)의 값이 지시하는 구성 정보에 따라 재구성 어레이(210)의 구성을 특정한 작업에 최적화 되도록 제어하는 것이 가능하다.
구성 버퍼(230)는 반복적으로 수행되는 루프의 구성 정보를 저장할 수 있다. 구성 버퍼(230)는 구성 메모리(220)에 비해 재구성 어레이(210)의 접속에 따른 전력 소비가 상대적으로 적다. 그러므로, 반복에 의한 연산량이 많은 루프 연산이 재구성 어레이(210)의 FU에 매핑되는 경우, 재구성 어레이(210)는 구성 버퍼(230)에 접속하여, 구성 정보를 획득함으로써 전력 소비를 줄일 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 장치(도 1, 120)는 재구성 어레이(210)가 CGA 모드 수행시 필요한 구성 정보의 저장 위치에 대한 정보를 제공할 수 있다. 구성 정보가 구성 버퍼(230)에 저장되어 있는 경우, 재구성 어레이(210)는 재구성 가능 프로세서 제어 장치(120)로부터 구성 정보가 구성 버퍼(230)에 저장되어 있다는 정보를 제공 받아, 구성 메모리(220)로의 접근 횟수를 줄임으로써, 전력 소비를 줄일 수 있다.
도 3은 본 발명의 일 실시예에 따른, 재구성 가능 프로세서 제어 장치(120)를 도시한 블록도이다.
도 3을 참고하면, 재구성 가능 프로세서 제어 장치(120)는 입력부(310), 제어부(320), 출력부(330)를 포함할 수 있다.
도 3에 도시된 재구성 가능 프로세서 제어 장치(120)에는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 3에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 장치(120)는 재구성 가능 프로세서(110)가 CGA 모드에서 각 프로세스들을 수행하는 경우, 재구성 가능 프로세서(110)에 포함된 재구성 어레이(210)의 구성 메모리(220)로의 접근을 제어할 수 있다.
한편, 재구성 가능 프로세서(100)가 CGA 모드로 전환되어서 소정의 프로세스들을 수행하는 것은 VLIW(Very Long Instruction Word) 모드에서 CGA 모드로의 전환을 명령하는 오퍼레이션(operation)이 수행되면서 시작된다. CGA 모드로의 전환을 명령하는 오퍼레이션(operation)에는 CGA 모드에서 각각의 프로세스들을 수행하기 위해 필요한 구성 정보가 구성 메모리(220)에 저장되어 있는 시작 위치 정보와 시작 위치 정보를 기준으로 몇 개의 엔트리를 읽으면 되는지에 대한 크기 정보가 포함될 수 있다.
재구성 가능 프로세서(100)는 시작 위치 정보 및 크기 정보에 기초하여 구성 메모리(220)에서 시작 위치를 기점으로 엔트리 수만큼 반복적으로 구성 정보를 읽으면서 동작할 수 있다.
입력부(310)는 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값을 획득할 수 있다. 본 발명의 일 실시예에 따르면, 재구성 어레이(210)는 FU에서 제 1 프로세스를 수행하는데 필요한 구성 정보를 구성 메모리(220)로부터 획득할 수 있다. 획득된 구성 정보는 구성 버퍼(230)에 저장될 수 있다. 이 때, 입력부(310)는 제 1 프로세스를 수행하는데 필요한 구성 정보가 저장되어 있는 구성 메모리(220)의 위치 정보를 획득할 수 있다. 예를 들어, 입력부(310)는 제 1 프로세스를 수행하는데 필요한 구성 정보가 저장되어 있는 구성 메모리(220)상의 시작 위치 정보 및 크기 정보를 획득할 수 있다.
본 발명의 일 실시예에 따르면, 제 1 프로세스는 적어도 하나 이상의 이너(inner) 루프를 포함할 수 있다. 재구성 어레이(210)는 제 1 프로세스에 포함된 적어도 하나 이상의 이너(inner) 루프를 수행하는데 필요한 구성 정보를 구성 메모리(220)로부터 획득하여 구성 버퍼에(230)에 저장할 수 있다.
각각의 구성 정보들은 구성 버퍼(230)내에서 각각의 구성 정보 별로 대응되는 주소값을 갖고 저장될 수 있다. 프로그램 카운터(미도시)가 소정의 주소값을 가리키면, 소정의 주소값에 대응되는 구성 정보에 따른 FU의 연산이 수행될 수 있다.
입력부(310)는 제 2 프로세스를 수행하는데 필요한 각각의 구성 정보가 저장되어 있는 구성 메모리(220)상의 위치 정보를 획득할 수 있다. 여기에서 제 2 프로세스를 수행하는데 필요한 각각의 구성 정보가 저장되어 있는 구성 메모리(220)상의 위치 정보는 구성 메모리(220)상에 저장된 제 2 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값을 포함할 수 있다. 제어부(320)는 획득한 각각의 구성 정보의 주소값에 기초하여, 제 2 프로세스에서 구성 버퍼(230)로부터 구성 정보가 제공될 수 있는지 여부를 판단할 수 있다. 여기에서, 제 1 프로세스와 제 2 프로세스를 구성하는 명령어는 동일할 수 있다.
제어부(320)는 입력부(310)가 제 1 프로세스에서 획득한 각각의 구성 정보의 주소값과 제 2 프로세스에서 획득한 각각의 구성 정보의 주소값을 비교할 수 있다.
또한 제어부(320)는 비교 결과에 기초하여, 제 2 프로세스를 수행하는데 필요한 필요한 각각의 구성 정보가 구성 버퍼로부터 제공될 수 있는지 여부를 판단할 수 있다. 제어부(320)는 비교 결과, 제 1 프로세스를 수행하기 위해 필요한 각각의 구성 정보의 주소값과 제 2 프로세스를 수행하기 위해 필요한 각각의 구성 정보의 주소값이 일치하는 경우, 제 2 프로세스에서 각각의 구성 정보가 구성 버퍼로부터 제공될 수 있는 것으로 판단할 수 있다.
한편, 각각의 구성 정보는 버퍼 내에서 서로 인접한 주소의 위치에 저장될 수 있다. 다만, 이는 본 발명의 일 실시예일 뿐, 본 발명이 이에 한정되는 것은 아니다.
출력부(330)는 제어부(320)의 판단 결과에 따라, 제 2 프로세스에서 구성 버퍼(230)가 구성 정보를 재구성 어레이(210)에 제공할 수 있는지 여부를 나타내는 제어 신호를 재구성 가능 프로세서(110)에 전송할 수 있다. 구체적으로, 제 2 프로세스에서 구성 버퍼(230)로부터 구성 정보가 제공될 수 있는 것으로 판단된 경우, 구성 버퍼(230)가 구성 정보를 재구성 어레이(210)에 제공할 수 있음을 나타내는 제어 신호를 재구성 가능 프로세서(110)에 전송할 수 있다.
도 4는 본 발명의 일 실시예에 따른, 중첩 루프(400)를 구성하는 명령어를 나타낸 도면이다.
도 4를 참고하면, 중첩 루프(400)는 제 1 이너 루프(410), 제 2 이너 루프(420), 제 3 이너 루프(430) 및 아우터 루프(440)를 포함할 수 있다.
본 발명의 일 실시예에 따른, 제 1 이너 루프(410)는 N1회의 루프 반복 횟수를 갖는다. 또한, 제 1 이너 루프(410)의 II(Initiation Interval)는 I1라고 가정할 수 있다. 제 2 이너 루프(420)는 N2회의 루프 반복 회수를 갖을 수 있다. 제 2 이너 루프(420)의 I2는 7이라고 가정할 수 있다. 제 3 이너 루프(430)는 N3회의 루프 반복 횟수를 갖는다고 갖을 수 있다. 제 3 이너 루프(430)의 II는 I3이라고 가정할 수 있다. 아우터 루프(440)는 N0회의 루프 반복 회수를 갖을 수 있다. 아우터 루프(440)의 II는 각각의 이너 루프의 II를 모두 합친 I1+I2+I3라고 가정할 수 있다.
본 발명의 일 실시예에 따른, 중첩 루프(400)에서 제 1 프로세스는 아우터 루프(440)에서 N0회 수행되는 프로세스들 중 1회 수행되는 프로세스를 포함한다. 제 2 프로세스 역시 아우터 루프(440)에서 N0회 수행되는 프로세스들 중 1회 수행되는 또 다른 프로세스를 포함할 수 있다.
중첩 루프(400)가 재구성 어레이(210)에서 수행되는 경우, 재구성 가능 프로세서 제어 장치(120)는, 제 1 프로세스에서 구성 버퍼(230)에 저장된 각각의 주소값을 획득할 수 있다. 재구성 가능 프로세서 제어 장치(120)는 획득한 구성 정보의 주소값에 기초하여, 제 2 프로세스에서 상기 획득한 각각의 구성 정보가 구성 버퍼(230)로부터 제공될 수 있는지 여부를 판단할 수 있다.
재구성 가능 프로세서 제어 장치(120)는 버퍼(미도시)에 저장된 주소값의 히스토리에 기초하여, 프로세스 마다 획득하는 각각의 구성 정보의 주소값을 확인할 수 있다. 재구성 가능 프로세서 제어 장치(120)는 입력부(310)가 제 1 프로세스에서 획득한 각각의 구성 정보의 주소값과 제 2 프로세스에서 획득한 각각의 구성 정보의 주소값을 비교할 수 있다.
또한 재구성 가능 프로세서 제어 장치(120)는 비교 결과에 기초하여, 제 2 프로세스에서 각각의 구성 정보가 구성 버퍼로부터 제공될 수 있는지 여부를 판단할 수 있다. 재구성 가능 프로세서 제어 장치(120)는 비교 결과, 제 1 프로세스에서 획득한 각각의 구성 정보의 주소값과 제 2 프로세스에서 획득한 각각의 구성 정보의 주소값이 일치하는 경우, 제 2 프로세스에서 각각의 구성 정보가 구성 버퍼로부터 제공될 수 있는 것으로 판단할 수 있다.
도 5은 본 발명의 일 실시예에 따른 재구성 가능 프로세서 제어 방법을 설명하기 위한 흐름도이다.
단계 510에서, 재구성 가능 프로세서 제어 장치(120)는 재구성 가능 프로세서(110)가 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값을 획득할 수 있다. 할 수 있다. 여기에서 재구성 가능 프로세서(110)는 재구성 어레이(210), 구성 메모리(220) 및 구성 버퍼(230)를 포함할 수 있다.
한편, 여기에서 주소값은 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보가 구성 메모리(220)에 저장되어 있는 위치 정보일 수 있다. 예를 들어, 위치 정보는 구성 메모리(220)에 구성 정보가 저장되어 있는 시작 위치 정보 및 크기 정보를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 재구성 가능 프로세서 제어 장치(120)는 재구성 어레이(210)의 구성 메모리(220)로의 접근 횟수를 제어할 수 있다.
본 발명의 일 실시예에 따르면, 재구성 어레이(210)는 제 1 프로세스를 수행하는데 필요한 구성 정보를 구성 메모리(220)로부터 획득할 수 있다. 획득된 구성 정보는 구성 버퍼(230)에 저장될 수 있다.
단계 520에서, 재구성 가능 프로세서 제어 장치(120)는 단계 510에서 획득한 각각의 구성 정보의 주소값에 기초하여, 제 2 프로세스에서 구성 버퍼(230)로부터 구성 정보가 제공될 수 있는지 여부를 판단할 수 있다. 여기에서, 제 1 프로세스와 제 2 프로세스를 구성하는 명령어는 동일할 수 있다.
본 발명의 일 실시예에 따르면, 재구성 가능 프로세서 제어 장치(120)는 획득한 주소값의 히스토리에 기초하여, 각각의 구성 정보의 주소값 중에서 반복되는 주소값을 독출할 수 있다.
본 발명의 일 실시예에 따른 재구성 가능 프로세서(110)는 제 2 프로세스에서 구성 버퍼에 저장된 각각의 구성 정보의 주소값을 획득할 수 있다. 재구성 가능 프로세서(110)는 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값 및 제 2 프로세스를 수행하는데 필요한 각각의 구성 정보가 동일한 경우, 제 2 프로세스를 수행하는데 필요한 각각의 구성 정보가 구성 버퍼로부터 제공될 수 있다고 판단할 수 있다.
단계 530에서, 재구성 가능 프로세서 제어 장치(120)는 단계 520에서의 판단 결과를 재구성 가능 프로세서(110)에게 제공할 수 있다. 재구성 가능 프로세서 제어 장치(120)는 제 2 프로세스에서 구성 정보가 구성 버퍼(230)로부터 제공될 수 있는 것으로 판단되는 경우, 제 2 프로세스에서 구성 버퍼(230)가 구성 정보를 제공할 수 있음을 나타내는 제어 신호를 재구성 가능 프로세서(110)에게 전송할 수 있다.
도 6은 본 발명의 일 실시예에 따른 구성 정보의 주소값에 기초하여, 구성 정보가 구성 버퍼로부터 제공될 수 있는지 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
단계 510에서, 재구성 가능 프로세서 제어 장치(120)는 재구성 가능 프로세서(110)가 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값을 획득할 수 있다. 할 수 있다. 여기에서 재구성 가능 프로세서(110)는 재구성 어레이(210), 구성 메모리(220) 및 구성 버퍼(230)를 포함할 수 있다.
한편, 여기에서 주소값은 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보가 구성 메모리(220)에 저장되어 있는 위치 정보일 수 있다. 예를 들어, 위치 정보는 구성 메모리(220)에 구성 정보가 저장되어 있는 시작 위치 정보 및 크기 정보를 포함할 수 있다.
단계 521에서, 재구성 가능 프로세서 제어 장치(120)는 재구성 가능 프로세서(110)가 제 2 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값을 획득할 수 있다.
단계 523에서, 재구성 가능 프로세서 제어 장치(120)는 독출된 주소값을 기초로 제 2 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값과 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값을 비교할 수 있다. 비교 결과, 제 1 프로세스에서 필요한 각각의 구성 정보의 주소값과 제 2 프로세스에서 필요한 각각의 구성 정보의 주소값이 일치하는 경우, 재구성 가능 프로세서 제어 장치(120)는 제 2 프로세스에서 필요한 각각의 구성 정보가 구성 버퍼로부터 제공될 수 있다고 판단할 수 있다.
단계 525에서, 재구성 가능 프로세서 제어 장치(120)는 제 2 프로세스에서 필요한 각각의 구성 정보를 구성 버퍼로부터 획득할 수 있다. 이러한 경우 재구성 가능 프로세서 제어 장치(120)는 제 2 프로세스에서 필요한 각각의 구성 정보가 구성 버퍼로부터 제공될 수 있다고 판단할 수 있다.
단계 527에서, 재구성 가능 프로세서 제어 장치(120)는 제 2 프로세스에서 필요한 각각의 구성 정보를 구성 버퍼로부터 획득하지 않을 수 있다. 이러한 경우 재구성 가능 프로세서 제어 장치(120)는 제 2 프로세스에서 필요한 각각의 구성 정보를 구성 메모리(220)로부터 획득하도록 재구성 가능 프로세서(110)를 제어할 수 있다.
본 발명에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 발명에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 본 발명에서 전체적으로 병합하여 나타낸 것과 동일하게 본 발명에 병합될 수 있다.
본 발명의 이해를 위하여, 도면에 도시된 바람직한 실시 예들에서 참조 부호를 기재하였으며, 본 발명의 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 발명이 한정되는 것은 아니며, 본 발명은 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다.
본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다
100: 재구성 가능 프로세서의 제어 시스템
110: 재구성 가능 프로세서
120: 재구성 가능 프로세서 제어 장치

Claims (13)

  1. 재구성 가능 프로세서를 제어하는 방법에 있어서,
    상기 재구성 가능 프로세서의 구성 버퍼에 저장되어 있는 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값을 획득하는 단계;
    상기 획득한 각각의 구성 정보의 주소값에 기초하여, 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는지 여부를 판단하는 단계; 및
    상기 판단 결과를 상기 재구성 가능 프로세서에게 제공하는 단계를 포함하는 것을 특징으로 하는 재구성 가능 프로세서 제어 방법.
  2. 제 1항에 있어서, 상기 판단하는 단계는,
    상기 제 2 프로세스를 수행하는데 필요한 구성 정보의 주소값을 획득하는 단계;
    상기 제 1 프로세스에서 필요한 각각의 구성 정보의 주소값 및 상기 제 2 프로세스에서 필요한 각각의 구성 정보의 주소값을 비교하는 단계; 및
    상기 비교 결과에 기초하여, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 재구성 가능 프로세서 제어 방법.
  3. 제 2항에 있어서, 상기 판단하는 단계는,
    상기 비교 결과, 상기 제 1 프로세스에서 필요한 각각의 구성 정보의 주소값과 상기 제 2 프로세스에서 필요한 각각의 구성 정보의 주소값이 일치하는 경우, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는 것으로 판단하는 것을 특징으로 하는 재구성 가능 프로세서 제어 방법.
  4. 제 1항에 있어서, 상기 제공하는 단계는,
    상기 판단 결과, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는 것으로 판단되는 경우,
    상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있음을 나타내는 제어 신호를 상기 재구성 가능 프로세서에게 전송하는 단계를 포함하는 것을 특징으로 하는 재구성 가능 프로세서 제어 방법.
  5. 제 1항에 있어서, 상기 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보는 상기 구성 버퍼에서 서로 인접한 주소값을 갖도록 저장되는 것을 특징으로 하는 재구성 가능 프로세서 제어 방법.
  6. 제 1항에 있어서, 상기 제 1 프로세스와 상기 제 2 프로세스를 구성하는 명령어는 동일한 것을 특징으로 하는 재구성 가능 프로세서 제어 방법.
  7. 재구성 가능 프로세서 제어 장치에 있어서,
    상기 재구성 가능 프로세서의 구성 버퍼에 저장되어 있는 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보의 주소값을 획득하는 입력부;
    상기 획득한 각각의 구성 정보의 주소값에 기초하여, 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는지 여부를 판단하는 제어부; 및
    상기 판단 결과를 상기 재구성 가능 프로세서에게 제공하는 출력부를 포함하는 것을 특징으로 하는 재구성 가능 프로세서 제어 장치.
  8. 제 7항에 있어서, 상기 제어부는,
    상기 제 1 프로세스에서 필요한 각각의 구성 정보의 주소값 및 상기 제 2 프로세스에서 필요한 각각의 구성 정보의 주소값을 비교하고, 상기 비교 결과에 기초하여, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는지 여부를 판단하는 것을 특징으로 하는 재구성 가능 프로세서 제어 장치.
  9. 제 8항에 있어서, 상기 제어부는,
    상기 비교 결과, 상기 제 1 프로세스에서 획득한 각각의 구성 정보의 주소값과 상기 제 2 프로세스에서 획득한 각각의 구성 정보의 주소값이 일치하는 경우, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는 것으로 판단하는 것을 특징으로 하는 재구성 가능 프로세서 제어 장치.
  10. 제 7항에 있어서, 상기 출력부는,
    상기 판단 결과, 상기 제 2 프로세스에서 상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있는 것으로 판단되는 경우,
    상기 각각의 구성 정보가 상기 구성 버퍼로부터 제공될 수 있음을 나타내는 제어 신호를 상기 재구성 가능 프로세서에게 전송하는 것을 특징으로 하는 재구성 가능 프로세서 제어 장치.
  11. 제 8항에 있어서, 상기 제 1 프로세스를 수행하는데 필요한 각각의 구성 정보는,
    상기 구성 버퍼에서 서로 인접한 주소값을 갖도록 저장되는 것을 특징으로 하는 재구성 가능 프로세서 제어 장치.
  12. 제 8항에 있어서, 상기 제 1 프로세스와 상기 제 2 프로세스를 구성하는 명령어는 동일한 것을 특징으로 하는 재구성 가능 프로세서 제어 장치.
  13. 제 1항 내지 제 6항 중 어느 하나의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020130147518A 2013-11-29 2013-11-29 재구성 가능 프로세서 제어 방법 및 제어 장치 KR20150062650A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130147518A KR20150062650A (ko) 2013-11-29 2013-11-29 재구성 가능 프로세서 제어 방법 및 제어 장치
PCT/KR2014/011592 WO2015080531A1 (en) 2013-11-29 2014-11-28 Method and apparatus for controlling reconfigurable processor
US15/039,603 US20170017610A1 (en) 2013-11-29 2014-11-28 Method and apparatus for controlling reconfigurable processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130147518A KR20150062650A (ko) 2013-11-29 2013-11-29 재구성 가능 프로세서 제어 방법 및 제어 장치

Publications (1)

Publication Number Publication Date
KR20150062650A true KR20150062650A (ko) 2015-06-08

Family

ID=53199406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130147518A KR20150062650A (ko) 2013-11-29 2013-11-29 재구성 가능 프로세서 제어 방법 및 제어 장치

Country Status (3)

Country Link
US (1) US20170017610A1 (ko)
KR (1) KR20150062650A (ko)
WO (1) WO2015080531A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10659396B2 (en) * 2015-08-02 2020-05-19 Wave Computing, Inc. Joining data within a reconfigurable fabric
JP6784298B2 (ja) * 2017-01-27 2020-11-11 株式会社村田製作所 回路モジュール及びインターポーザ

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141132A (ja) * 2005-11-22 2007-06-07 Renesas Technology Corp 動的再構成可能プロセッサおよびそれを制御するプロセッサ制御プログラム
JP4795025B2 (ja) * 2006-01-13 2011-10-19 キヤノン株式会社 ダイナミックリコンフィギャラブルデバイス、制御方法、及びプログラム
KR101622266B1 (ko) * 2009-04-22 2016-05-18 삼성전자주식회사 재구성 가능 프로세서 및 이를 이용한 인터럽트 핸들링 방법

Also Published As

Publication number Publication date
US20170017610A1 (en) 2017-01-19
WO2015080531A1 (en) 2015-06-04

Similar Documents

Publication Publication Date Title
US20170123775A1 (en) Compilation of application into multiple instruction sets for a heterogeneous processor
US10162795B2 (en) Processor for changing weight of costs needed in reconfigurable circuit
US20150100757A1 (en) Incorporating a spatial array into one or more programmable processor cores
US9128747B2 (en) Methods and systems for optimizing the performance of software applications at runtime
CN102282537A (zh) 增强大指令宽度处理器的处理效率
KR20070059238A (ko) 재구성 프로세서에서 루프 버퍼를 최적화하기 위한 장치 및방법
KR20150062650A (ko) 재구성 가능 프로세서 제어 방법 및 제어 장치
KR101962250B1 (ko) 재구성가능 아키텍처를 위한 스케줄러 및 스케줄링 방법
US9448801B2 (en) Automatic register port selection in extensible processor architecture
US9477473B2 (en) Bit-level register file updates in extensible processor architecture
US20130205171A1 (en) First and second memory controllers for reconfigurable computing apparatus, and reconfigurable computing apparatus capable of processing debugging trace data
JP2016018269A (ja) 情報処理装置、情報処理方法及びプログラム
JP5884389B2 (ja) Bddを処理する方法、システム及びソフトウェア
KR102251241B1 (ko) 재구성 가능 프로세서의 레지스터를 제어하는 방법 및 장치와 재구성 가능 프로세서의 레지스터를 제어하는 명령어를 생성하는 방법 및 장치
JP5821501B2 (ja) 再帰を利用してbddの最適な変数順序を決定する方法及びシステム
JP5821499B2 (ja) パラレル置換を利用したbdd変数をリオーダする方法及びシステム
JP5821503B2 (ja) 最大パラレル化を利用してウィンドウアルゴリズムを利用してbddを処理する方法及びシステム
JP6473023B2 (ja) 性能評価モジュール及びこれを組み込んだ半導体集積回路
EP3495960A1 (en) Program, apparatus, and method for communicating data between parallel processor cores
KR20160046613A (ko) 카운터 데이터 처리 방법 및 디바이스
CN108369667B (zh) 用于机器学习的实验图中的变型
Hoffmann The GCA-w massively parallel model
US20170117892A1 (en) Calculation device and calculation method
US20080177524A1 (en) Simulation execution apparatus, method and computer readable medium
JP5821502B2 (ja) パラレルウィンドウアルゴリズムを利用してbddを処理する方法及びシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application