KR100883655B1 - 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법 - Google Patents

재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법 Download PDF

Info

Publication number
KR100883655B1
KR100883655B1 KR1020060121615A KR20060121615A KR100883655B1 KR 100883655 B1 KR100883655 B1 KR 100883655B1 KR 1020060121615 A KR1020060121615 A KR 1020060121615A KR 20060121615 A KR20060121615 A KR 20060121615A KR 100883655 B1 KR100883655 B1 KR 100883655B1
Authority
KR
South Korea
Prior art keywords
reconfiguration information
information
reconfiguration
reconstruction
loading
Prior art date
Application number
KR1020060121615A
Other languages
English (en)
Other versions
KR20080050828A (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 KR1020060121615A priority Critical patent/KR100883655B1/ko
Priority to US11/987,662 priority patent/US20080133899A1/en
Publication of KR20080050828A publication Critical patent/KR20080050828A/ko
Application granted granted Critical
Publication of KR100883655B1 publication Critical patent/KR100883655B1/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
    • 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
    • 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
    • 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

Abstract

재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법이 개시된다. 이 시스템은 재구성 정보(reconfiguration information)를 이용해 프로그램을 재구성하고, 상기 재구성된 프로그램을 실행하는 재구성 가능 프로세서(reconfigurable processor); 시스템에서 수행될 복수의 작업들에 대한 제어를 위해, 상기 작업들의 수행을 위해 필요한 재구성 정보의 로드를 순차적으로 명령하는 중앙 처리부; 문맥 교환을 위해, 재구성 정보를 선택하는 재구성 정보 선택부; 소정 메모리로부터 상기 중앙 처리부의 로드 명령에 대응하는 재구성 정보를 로드하는 재구성 정보 로드부; 및 상기 재구성 정보 로드부가 로드한 재구성 정보를 저장하는 복수의 재구성 정보 저장부들을 포함하는 것을 특징으로 한다. 따라서, 본 발명에 따르면, 재구성 가능한 프로세서가 사용되는 시스템에서 문맥 교환 시에 많은 시간이 소요되는 재구성 정보의 로드를 미리 수행하도록 함으로써, 빠른 문맥교환을 가능케 하여 적은 오버 헤드로 멀티태스킹을 수행할 수 있도록 한다.

Description

재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법{System and method for switching context in reconfigurable processor}
도 1은 본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 시스템을 설명하기 위한 일 실시예의 블록도이다.
도 2는 도 1에 도시된 제1 및 제2 재구성 정보 저장부에 저장되는 재구성 정보의 일 예를 나타내는 도면이다.
도 3은 도 1에 도시된 문맥 교환 시스템에 의한 문맥 교환 과정의 타이밍도를 도시한 것이다.
도 4는 본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 방법을 설명하기 위한 일 실시예의 플로차트이다.
도 5는 도 4에 도시된 제202 단계를 설명하기 위한 일 실시예의 플로차트이다.
도 6은 본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 방법을 설명하기 위한 또 다른 일 실시예의 플로차트이다.
<도면의 주요 부호에 대한 간단한 설명>
100: 중앙 처리부 110: 재구성 정보 로드부
120: 소정 메모리 130: 제1 재구성 정보 저장부
140: 제2 재구성 정보 저장부 150: 재구성 정보 선택부
160: 재구성 가능 프로세서
본원발명은 재구성 가능한 프로세서가 사용되는 모바일 디바이스, 멀티미디어 디바이스, 홈 디바이스 등의 임베디드 시스템을 구동하기 위한 운영체제에 관한 것으로, 보다 상세하게는 하나의 재구성 가능한 프로세서에 멀티 태스크(복수의 작업)가 수행되는 환경에서 문맥교환 오버헤드를 줄이는 방법을 제안한다. 즉, 재구성 정보 저장 공간을 여러 개 두어 예측된 재구성 정보들을 저장하여 재구성 정보에 의한 오버헤드를 줄이는 방안을 제시한다.
컴퓨터 및 임베디드 시스템에서 다수의 태스크를 수행하는 멀티태스킹(multi-tasking)은 운영체제(Operating System)의 필수적 기능이다. 멀티태스킹을 구현하기 위해서는 태스크의 문맥교환(context switch) 과정이 필요하다. 문맥교환(context switching)은 CPU를 사용하는 프로세스가 다른 프로세스로 새롭게 배당되는 교환과정을 말하는 것으로, 문맥교환에 있어서 가장 중요한 이슈는 문맥교환에 의한 오버헤드를 줄이는 것이다.
태스크의 문맥에는 여러 가지 정보가 포함되는데 종래의 CPU나 DSP 등의 프로세서가 사용되던 시스템에서는 프로세서의 레지스터 파일 내용이 문맥정보가 되어 사용되었다. 이때 문맥교환의 오버헤드는 문맥교환 시 저장하고 복구해야할 레 지스터의 개수에 비례하므로 종래의 기술에서는 문맥교환의 오버헤드를 줄이기 위해서 레지스터 문맥을 줄이는 방법을 사용하였다. 그러나 재구성 가능한 프로세서(reconfigurable processor)가 사용된 시스템에서는 프로세서의 레지스터 정보뿐만 아니라 재구성 가능한 프로세서의 재구성 정보(configuration information)와 재구성 가능한 프로세서의 레지스터 정보도 문맥에 함께 포함되어야 한다. 재구성 가능한 프로세서의 재구성 정보와 레지스터 정보는 정보의 양이 많을 뿐만 아니라 문맥 교환 시 프로세서를 재구성(reconfigure)하는 시간이 추가적으로 소요되므로 문맥 교환의 오버헤드가 크다.
기존 방법에서는 단일 태스크가 수행되는 환경에서 단일 태스크를 분석하여, 상기 단일 태스크의 수행을 위해 필요한 재구성 정보를 미리 로딩하는 방법이 사용하였다. 한편, 기존의 멀티 태스크를 수행하는 경우는 다수의 재구성 가능한 프로세서들을 구비하여 필요한 재구성 정보를 다수의 재구성 가능한 프로세서들로 로딩하는 방법을 사용하였다. 그런데, 종래에는 멀티 태스킹을 수행하기 위해 문맥 교환을 하는 과정에 상당한 시간이 소요되는 문제점이 있으며, 이를 해결하기 위해 다수의 재구성 가능한 프로세서들을 구비함으로 인해, 시스템 제작시의 제조 비용을 상승시키는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는 멀티태스킹 과정을 수행할 때, 재구성 가능한 프로세서가 사용되는 시스템에서 문맥 교환 시에 요구되는 재구성 정보의 로드를 미리 수행하도록 함으로써, 시스템 제작비용을 증가시키지 않으면서도 멀티태스킹을 수행할 때 소요되는 시간을 최소화 할 수 있도록 하는 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법을 제공하는데 있다.
상기의 과제를 이루기 위해, 본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 시스템은 재구성 정보(reconfiguration information)를 이용해 프로그램을 재구성하고, 상기 재구성된 프로그램을 실행하는 재구성 가능 프로세서(reconfigurable processor); 시스템에서 수행될 복수의 작업들에 대한 제어를 위해, 상기 작업들의 수행을 위해 필요한 재구성 정보의 로드를 순차적으로 명령하는 중앙 처리부; 문맥 교환을 위해, 재구성 정보를 선택하는 재구성 정보 선택부; 소정 메모리로부터 상기 중앙 처리부의 로드 명령에 대응하는 재구성 정보를 로드하는 재구성 정보 로드부; 및 상기 재구성 정보 로드부가 로드한 재구성 정보를 저장하는 복수의 재구성 정보 저장부들을 포함하는 것을 특징으로 한다.
상기의 다른 과제를 이루기 위해, 본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 방법은 현재 수행중인 작업 이후에 수행될 다음 작업에 필요한 재구성 정보(reconfiguration information)의 로드를 명령하는 단계; 소정 메모리로부터 상기 로드 명령에 대응하는 재구성 정보를 로드하여, 복수의 재구성 정보 저장부들 중 어느 하나에 저장하는 단계; 및 상기 다음 작업을 위한 재구성 정보의 문맥 교환을 위해, 상기 로드되어 저장된 재구성 정보를 선택하는 단계를 포함하는 것을 특징으로 한다.
상기의 다른 과제를 이루기 위해, 본 발명에 의한 또 다른 재구성 가능한 프 로세서를 갖는 문맥 교환방법은 현재 작업의 수행을 위해 필요한 레지스터 정보의 문맥을 교환하는 단계; 상기 현재 작업을 위해 필요한 재구성 정보(reconfiguration information)가 복수의 재구성 정보 저장부들 중 어느 하나에 저장되어 있는가를 검사하는 단계; 상기 현재 작업을 위해 필요한 재구성 정보가 상기 복수의 재구성 정보 저장부들 중에 저장되어 있지 않다면, 상기 현재 작업을 위해 필요한 재구성 정보의 로드를 명령하는 단계; 상기 소정 메모리로부터 상기 로드 명령에 대응하는 재구성 정보를 로드하여, 상기 복수의 재구성 정보 저장부들 중 어느 하나에 저장하는 단계; 및 상기 현재 작업을 위한 재구성 정보의 문맥 교환을 위해, 상기 로드되어 저장된 재구성 정보를 선택하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 시스템을 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 시스템을 설명하기 위한 일 실시예의 블록도로서, 중앙 처리부(CPU, 100), 재구성 정보 로드부(110), 소정 메모리(120), 제1 재구성 정보 저장부(130), 제2 재구성 정보 저장부(140), 재구성 정보 선택부(150) 및 재구성 가능 프로세서(160)로 구성된다. 도 1의 재구성 가능한 프로세서를 갖는 문맥 교환 시스템은 제1 재구성 정보 저장부(130) 및 제2 재구성 정보 저장부(140)를 구비하는 것을 특징으로 하지만, 본원발명은 여기에 한정되지 않으며, 재구성 정보 저장부는 n(2 이상의 양의 정수)개 이상일 수 있다.
중앙 처리부(100)는 시스템에서 수행될 복수의 작업들에 대한 제어를 담당한다. 이를 위해, 중앙 처리부(100)는 작업들의 수행을 위해 필요한 재구성 정보의 로드를 순차적으로 재구성 정보 로드부(110)에 명령한다. 즉, 중앙 처리부(100)는 작업들에 대한 스케줄링 정보를 사용해, 다음에 수행될 작업을 위해 필요한 재구성 정보를 예측하고, 예측한 결과에 대응하는 재구성 정보의 로드 명령을 재구성 정보 로드부(110)로 출력한다. 여기서, 스케줄링 정보는 운영체제의 스케줄러에서 관리되는 정보로서, 중앙 처리부(100)는 이 스케줄링 정보를 사용해 현재의 작업 이후에 수행될 다음 작업에 대한 재구성 정보를 동적으로 예측하고, 예측된 결과에 대응하는 재구성 정보의 로드 명령을 재구성 정보 로드부(110)로 출력한다.
스케줄링 정보가 순위가 고정되어 있는 고정 순위 스케줄링 정보인 경우에는, 중앙 처리부(100)는 다음 순위에 따라 수행될 작업에 대응하는 재구성 정보의 로드 명령을 재구성 정보 로드부(110)로 출력한다. 한편, 스케줄링 정보가 순위가 시간에 의해 설정되어 있는 시간 순위 스케줄링 정보인 경우에, 중앙 처리부(100)는 다음 시간에 수행될 작업에 대응하는 재구성 정보의 로드 명령을 재구성 정보 로드부(110)로 출력한다.
중앙 처리부(100)는 스케줄링 정보가 변경될 때에, 예측한 결과에 대응하는 재구성 정보의 로드 명령을 재구성 정보 로드부로 출력한다. 스케줄링 정보가 변경되는 경우의 일 예는 현재의 작업 수행 중에 사용자에 의해 요구되는 새로운 작업에 따라 작업 순위가 변경되는 경우일 수도 있고, 작업 처리 효율을 위해 내부적으로 작업 순위가 변경하는 경우 등이 있을 수 있다.
중앙 처리부(100)의 로드 명령에 응답하여, 재구성 정보 로드부(110)는 소정 메모리(120)로부터 로드 명령에 대응하는 재구성 정보를 로드한다. 우선,재구성 정보 로드부(110)는 중앙 처리부(100)의 로드 명령에 대응하는 재구성 정보가 제1 재구성 정보 저장부(130) 또는 제2 재구성 정보 저장부(140)에 저장되어 있는가를 검사한다.
만일, 중앙 처리부(100)의 로드 명령에 대응하는 재구성 정보가 제1 재구성 정보 저장부(130) 또는 제2 재구성 정보 저장부(140) 중 어느 하나에 저장되어 있다면, 재구성 정보 로드부(110)는 로드 명령에 대응하는 재구성 정보를 로드하지 않는다. 이미, 로드 명령에 대응하는 재구성 정보가 제1 재구성 정보 저장부(130) 또는 제2 재구성 정보 저장부(140)에 저장되어 있기 때문에, 재구성 정보를 로드할 필요가 없기 때문이다.
그러나, 중앙 처리부(100)의 로드 명령에 대응하는 재구성 정보가 제1 재구성 정보 저장부(130) 또는 제2 재구성 정보 저장부(140)에 저장되어 있지 않을 경우에는, 재구성 정보 로드부(110)는 버스를 통해 소정 메모리(120)로부터 로드 명령에 대응하는 재구성 정보를 로드한다.
소정 메모리(120)는 복수의 작업을 수행하는데 필요한 재구성 정보들을 저장하고 있으며, 재구성 정보들 이외에도 시스템을 구동시키는데 필요한 다수의 프로그램들을 저장하고 있는 저장공간으로서, DRAM(dynamic random access memory) 등이 일 예가 된다.
소정 메모리(120)는 재구성 정보 로드부(110)의 로드 요청에 응답하여, 로드 요청에 대응하는 재구성 정보를 버스(BUS)를 통해 재구성 정보 로드부(110)로 출력한다. 재구성 정보 로드부(110)는 소정 메모리(120)으로부터 로드된 재구성 정보를 제1 재구성 정보 저장부(130) 또는 제2 재구성 정보 저장부(140) 중 어느 하나로 출력한다.
제1 재구성 정보 저장부(130) 및 제2 재구성 정보 저장부(140)는 재구성 정보 로드부(110)가 로드한 재구성 정보를 저장한다. 제1 재구성 정보 저장부(130) 및 제2 재구성 정보 저장부(140)는 재구성 가능 프로세서(160)가 재구성 정보를 빠르게 액세스할 수 있도록 하기 위한 캐쉬 메모리로서의 기능을 담당한다. 예를 들어, 제1 재구성 정보 저장부(130)가 현재에 수행되어야 하는 재구성 정보를 저장하고 있다면, 제2 재구성 정보 저장부(140)는 다음에 수행될 재구성 정보 즉, 중앙 처리부(100)의 로드 명령에 의해 다음 작업을 위해 로드된 재구성 정보를 저장한다. 반대로, 제2 재구성 정보 저장부(140)가 현재에 수행되어야 하는 재구성 정보를 저장하고 있다면, 제1 재구성 정보 저장부(130)는 다음 작업을 위해 필요한 재구성 정보를 저장한다.
제1 재구성 정보 저장부(130) 및 제2 재구성 정보 저장부(140)에 각각 저장되는 재구성 정보는 재구성 정보를 구별하기 위해 유일하게 할당되는 식별기호, 프로그램의 재구성을 위한 재구성 데이터 및 재구성 정보의 사용 가능 여부를 나타내는 상태정보를 포함하는 것을 특징으로 한다.
도 2의 (a) 및 (b)는 도 1에 도시된 제1 및 제2 재구성 정보 저장부(130, 140)에 저장되는 재구성 정보의 일 예를 나타내는 도면이다. 식별기호는 재구성 정 보를 고유하게 표시하기 위한 것으로서, 재구성 정보가 저장되어 있던 소정 메모리(120)의 주소정보를 사용하여, 정해질 수도 있고, 특정 값을 할당하여 식별기호로 사용할 수도 있다. 재구성 데이터는 작업 수행을 위해 재구성되어야 할 프로그램에 관한 데이터를 의미한다. 상태 정보는 제1 및 제2 재구성 정보 저장부(130, 140)에 저장되어 있는 재구성 정보가 사용 가능한 정보인지, 또는 현재 재구성 정보가 로드 중이어서 사용할 수 없는 상태인지를 나타내는 정보이다.
다음 작업의 수행을 위해 요구되는 재구성 정보의 문맥 교환을 위해, 재구성 정보 선택부(150)는 다음 작업에 필요한 재구성 정보를 선택한다. 제1 및 제2 재구성 정보 저장부(130, 140)에 저장된 재구성 정보들 중 어떤 재구성 정보에 의해 재구성 가능 프로세서(160)가 동작할지 여부는 재구성 정보 선택부(150)에 의해 결정된다.
재구성 정보 선택부(150)에 의해 제1 및 제2 재구성 정보 저장부(130, 140)에 저장된 재구성 정보들 중 다음 작업을 위해 필요한 재구성 정보가 선택되면, 재구성 가능 프로세서(160)는 선택된 재구성 정보에 의해 재구성된다. 그 후, 재구성 가능 프로세서(160)는 재구성 정보에 의해 재구성된 프로그램을 실행한다.
도 3은 도 1에 도시된 문맥 교환 시스템에 의한 문맥 교환 과정의 타이밍도를 도시한 것이다. 도 3은 두 개의 작업 T1과 T2가 수행될 때 재구성 정보의 로드과정을 보여준다. 작업 T1과 T2는 중앙 처리부(100) 및 재구성 가능 프로세서(160)를 사용해 수행되며, 작업 T1은 재구성 정보 C1을 사용하고 작업 T2는 재구성 정보 C2를 사용하고, 작업 T1이 수행되고 나서 작업 T2가 수행된다고 가정한다. 중앙 처 리부(100)에서 작업 T1에 대한 프로세싱을 수행한다. 이를 위해 중앙 처리부(100)는 작업 T1의 처리를 위한 레지스터 정보에 대한 문맥교환이 이루어진다. 레지스터 정보에 대한 문맥 교환 후, 중앙 처리부(100)는 작업 T1에 대한 프로세싱을 진행하는 과정 중에 작업 T1의 수행을 위한 재구성 정보 C1의 로드 명령을 출력한다. 이 로드 명령에 대응하는 재구성 정보가 소정 메모리(120)로부터 로드되어 제1 재구성 정보 저장부(130)에 저장된다. 즉, 작업 T1의 수행을 위해 중앙 처리부(100)가 동작하는 동안 작업 T1의 재구성 정보 C1을 미리 로드함으로써, 재구성 정보 C1을 로드하는데 별도의 시간이 소요되지 않는다. 재구성 가능 프로세서(160)는 제1 재구성 정보 저장부(130)에 저장된 재구성 정보 C1에 의해 재구성된 프로그램 R1의 프로세싱을 수행한다. 이후에, 중앙 처리부(100)는 작업 T1의 나머지 프로세싱을 수행하고, 이어서 작업 T2의 프로세싱을 수행한다. 이때, 중앙 처리부(100)는 작업 T1의 나머지 프로세싱을 수행할 때, 다음에 수행될 작업 T2의 수행을 위한 재구성 정보 C2의 로드 명령을 재구성 정보 로드부(110)로 출력한다. 재구성 정보 로드부(110)는 로드 명령에 대응하는 작업 T2의 재구성 정보 C2를 소정 메모리(120)로부터 로드하여 제2 재구성 정보 저장부(140)에 저장한다. 즉, 작업 T1의 나머지 프로세싱을 수행하는 동안, 작업 T2의 재구성 정보 C2을 미리 로드함으로써, 재구성 정보 C2을 로드하는데 별도의 시간이 소요되지 않는다. 중앙 처리부(100)에서 작업 T2에 대한 프로세싱을 한 후, 재구성 가능 프로세서(160)는 제2 재구성 정보 저장부(140)에 저장된 재구성 정보 C2에 의해 재구성된 프로그램 R2의 프로세싱을 수행한다.
이하, 본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 방법을 첨부된 도면을 참조하여 상세히 설명한다.
도 4는 본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 방법을 설명하기 위한 일 실시예의 플로차트이다.
현재 수행중인 작업 이후에 수행될 다음 작업에 필요한 재구성 정보의 로드를 명령한다(제200 단계). 예를 들어 도 3에서 보는 바와 같이, 작업 T1의 나머지 프로세싱이 중앙 처리부(100)에서 수행되는 동안, 중앙 처리부(100)가 작업 T2의 수행을 위해 필요한 재구성 정보 C2의 로드 명령을 재구성 정보 로드부(110)로 출력한다.
재구성 정보의 로드를 명령하는 단계는 작업들에 대한 스케줄링 정보를 사용해, 다음에 수행될 작업을 위해 필요한 재구성 정보를 예측하고, 예측한 결과에 대응하는 재구성 정보의 로드 명령을 출력한다.
만일, 스케줄링 정보가 순위가 고정되어 있는 고정 순위 스케줄링 정보인 경우에는, 다음 순위에 의해 수행될 작업에 대응하는 재구성 정보의 로드 명령을 출력하고, 스케줄링 정보가 순위가 시간에 의해 설정되어 있는 시간 순위 스케줄링 정보인 경우에는, 다음 시간에 수행될 작업에 대응하는 재구성 정보의 로드 명령을 출력한다.
로드 명령은 스케줄링 정보가 변경될 때마다 출력한다. 중앙 처리부(100)는 스케줄링 정보가 변경될 때에, 예측한 결과에 대응하는 재구성 정보의 로드 명령을 재구성 정보 로드부(110)로 출력한다. 예를 들어, 현재의 작업 수행 중에 사용자에 의해 요구되는 새로운 작업에 따라 작업 순위가 변경되는 경우 또는 작업 처리 효율을 위해 내부적으로 작업 순위가 변경되는 경우에 로드 명령을 출력한다.
제200 단계 후에, 소정 메모리로부터 로드 명령에 대응하는 재구성 정보를 로드하여, 복수의 재구성 정보 저장부들 중 어느 하나에 저장한다(제202 단계).
도 5는 도 4에 도시된 제202 단계를 설명하기 위한 일 실시예의 플로차트이다.
먼저, 로드 명령에 대응하는 재구성 정보가 복수의 재구성 정보 저장부들에 저장되어 있는가를 검사한다(제300 단계). 예를 들어, 도 1에 도시된 바와 같이, 복수의 재구성 정보 저장부들이 제1 재구성 정보 저장부(130) 및 제2 재구성 정보 저장부(140)라면, 재구성 정보 로드부(110)는 중앙 처리부(100)의 로드 명령에 대응하는 재구성 정보가 제1 재구성 정보 저장부(130) 또는 제2 재구성 정보 저장부(140)에 저장되어 있는가를 검사한다.
만일, 로드 명령에 대응하는 재구성 정보가 복수의 재구성 정보 저장부들 중 어느 하나에 저장되어 있다면, 제204 단계로 진행한다. 예를 들어, 로드 명령에 대응하는 재구성 정보가 제1 재구성 정보 저장부(130) 또는 제2 재구성 정보 저장부(140)에 이미 저장되어 있기 때문에, 재구성 정보를 로드할 필요가 없기 때문이다.
그러나, 로드 명령에 대응하는 재구성 정보가 복수의 재구성 정보 저장부들에 저장되어 있지 않을 경우에, 소정 메모리로부터 로드 명령에 대응하는 재구성 정보를 로드한다(제302 단계). 예를 들어, 중앙 처리부(100)의 로드 명령에 대응하 는 재구성 정보가 제1 재구성 정보 저장부(130) 또는 제2 재구성 정보 저장부(140)에 저장되어 있지 않을 경우에는, 재구성 정보 로드부(110)는 버스를 통해 소정 메모리(120)로부터 로드 명령에 대응하는 재구성 정보를 로드한다. 재구성 정보 로드부(110)는 소정 메모리(120)으로부터 로드된 재구성 정보를 제1 재구성 정보 저장부(130) 또는 제2 재구성 정보 저장부(140) 중 어느 하나로 출력한다.
복수의 재구성 정보 저장부들에 각각 저장되는 재구성 정보는 재구성 정보를 구별하기 위해 유일하게 할당되는 식별기호, 프로그램의 재구성을 위한 재구성 데이터 및 재구성 정보의 사용 가능 여부를 나타내는 상태정보를 포함한다.
여기서, 식별기호는 재구성 정보를 고유하게 표시하기 위한 것으로서, 재구성 정보가 저장되어 있던 소정 메모리의 주소정보를 사용하여, 정해질 수도 있고, 특정 값을 할당하여 식별기호로 사용할 수도 있다. 재구성 데이터는 작업 수행을 위해 재구성되어야 할 프로그램에 관한 데이터를 의미한다. 상태 정보는 재구성 정보 저장부에 저장되어 있는 재구성 정보가 사용 가능한 정보인지, 또는 현재 재구성 정보가 로드 중이어서 사용할 수 없는 상태인지를 나타내는 정보이다.
제202 단계 후에, 다음 작업의 수행을 위해 요구되는 재구성 정보의 문맥 교환을 위해, 로드되어 저장된 재구성 정보를 선택한다(제204 단계). 도 1에 도시된 바와 같이, 다음 작업을 위해 필요한 재구성 정보가 저장되어 있는 재구성 정보 저장부가 재구성 정보 선택부(150)에 의해 선택된다. 재구성 정보 선택부(150)에 의해 재구성 정보가 선택되면, 재구성 가능 프로세서(160)는 선택된 재구성 정보에 의해 재구성되고, 재구성된 프로그램을 실행한다.
한편, 전술한 방법발명 즉, 현재 수행중인 작업 이후에 수행될 다음 작업에 필요한 재구성 정보의 로드를 명령하는 단계; 소정 메모리로부터 상기 로드 명령에 대응하는 재구성 정보를 로드하여, 복수의 재구성 정보 저장부들 중 어느 하나에 저장하는 단계; 및 상기 다음 작업을 위한 재구성 정보의 문맥 교환을 위해, 상기 로드되어 저장된 재구성 정보를 선택하는 단계를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 본원발명의 또 다른 특징이 된다.
이러한 기록매체는 컴퓨터에서 읽을 수 있는 코드/명령들(instructions)/프로그램으로 구현될 수 있고, 상기 코드/명령들/프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들어, 롬, 플로피 디스크, 하드디스크, 마그네틱 테이프 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장 매체를 포함한다. 또한, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 코드를 내장하는 매체(들)로서 구현되어, 네트워크를 통해 연결된 다수개의 컴퓨터 시스템들이 분배되어 처리 동작하도록 할 수 있다. 본 발명을 실현하는 기능적인 프로그램들, 코드들 및 코드 세그먼트(segment)들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 쉽게 추론될 수 있다.
도 6은 본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 방법을 설명하기 위한 또 다른 일 실시예의 플로차트이다.
현재 작업의 수행을 위해 필요한 레지스터 정보의 문맥을 교환한다(제400 단계). 예를 들어, 도 3에 도시된 바와 같이, 작업 T1을 수행하기 위해서는 작업 T1 에 대한 레지스터 정보 및 재구성 정보의 문맥교환이 필요하다. 중앙 처리부(100)에서 작업 T1의 수행을 위한 레지스터 정보의 문맥교환이 이루어진다.
제400 단계 후에, 현재 작업을 위해 필요한 재구성 정보가 복수의 재구성 정보 저장부들 중 어느 하나에 저장되어 있는가를 검사한다(제402 단계). 예를 들어, 도 3에 도시된 바와 같이, 레지스터 정보에 대한 문맥 교환 후, 중앙 처리부(100)는 작업 T1의 수행을 위해 필요한 재구성 정보 C1이 제1 및 제2 재구성 정보 저장부(130, 140)에 저장되어 있는가를 검사한다.
만일, 현재 작업을 위해 필요한 재구성 정보가 복수의 재구성 정보 저장부들 중 어느 하나에 저장되어 있다면, 현재 작업을 위해 필요한 재구성 정보의 로드가 필요 없으므로, 제408 단계로 진행한다.
그러나, 현재 작업을 위해 필요한 재구성 정보가 복수의 재구성 정보 저장부들 중에 저장되어 있지 않다면, 현재 작업을 위해 필요한 재구성 정보의 로드를 명령한다(제404 단계). 예를 들어, 도 3에 도시된 바와 같이, 중앙 처리부(100)는 작업 T1의 수행을 위해 필요한 재구성 정보 C1의 로드 명령을 재구성 정보 로드부(110)로 출력한다.
제404 단계 후에, 소정 메모리로부터 로드 명령에 대응하는 재구성 정보를 로드하여, 복수의 재구성 정보 저장부들 중 어느 하나에 저장한다(제406 단계). 예를 들어, 도 3에 도시된 바와 같이, 로드 명령에 대응하는 재구성 정보C1이 소정 메모리(120)로부터 로드되어 제1 재구성 정보 저장부(130)에 저장된다. 따라서, 작업 T1의 수행을 위해 중앙 처리부(100)가 동작하는 동안 작업 T1의 재구성 정보 C1 이 미리 로드되어, 제1 재구성 정보 저장부(130)에 저장됨으로써, 재구성 정보 C1을 로드하는데 별도의 시간이 소요되지 않는다.
제406 단계 후에, 현재 작업을 위한 재구성 정보의 문맥 교환을 위해, 로드되어 저장된 재구성 정보를 선택한다(제408 단계). 도 1에 도시된 바와 같이, 현재 작업을 위한 재구성 정보가 저장되어 있는 재구성 정보 저장부가 재구성 정보 선택부(150)에 의해 선택됨으로써, 재구성 가능 프로세서(160)는 선택된 재구성 정보에 의해 재구성되고, 재구성된 프로그램을 실행한다.
한편, 전술한 또 다른 방법발명 즉, 현재 작업의 수행을 위해 필요한 레지스터 정보의 문맥을 교환하는 단계; 상기 레지스터 정보의 문맥 교환 과정 중에, 상기 현재 작업을 위해 필요한 재구성 정보(reconfiguration information)가 복수의 재구성 정보 저장부들 중 어느 하나에 저장되어 있는가를 검사하는 단계; 상기 현재 작업을 위해 필요한 재구성 정보가 상기 복수의 재구성 정보 저장부들 중에 저장되어 있지 않다면, 소정 메모리로부터 상기 현재 작업을 위해 필요한 재구성 정보의 로드를 명령하는 단계; 상기 소정 메모리로부터 상기 로드 명령에 대응하는 재구성 정보를 로드하여, 상기 복수의 재구성 정보 저장부들 중 어느 하나에 저장하는 단계; 및 상기 현재 작업을 위한 재구성 정보의 문맥 교환을 위해, 상기 로드되어 저장된 재구성 정보를 선택하는 단계를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 본원발명의 또 다른 특징이 된다.
이러한 기록매체는 컴퓨터에서 읽을 수 있는 코드/명령들(instructions)/프로그램으로 구현될 수 있고, 상기 코드/명령들/프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
이러한 본원 발명인 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법은 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.
본 발명에 의한 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법은 재구성 가능한 프로세서가 사용되는 시스템에서 문맥 교환 시에 많은 시간이 소요되는 재구성 정보의 로드를 미리 수행하도록 함으로써, 빠른 문맥교환을 가능케 하여 적은 오버 헤드로 멀티태스킹을 수행할 수 있는 효과가 있다.

Claims (19)

  1. 재구성 정보(reconfiguration information)를 이용해 프로그램을 재구성하고, 상기 재구성된 프로그램을 실행하는 재구성 가능 프로세서(reconfigurable processor);
    시스템에서 수행될 복수의 작업들에 대한 제어를 위해, 상기 작업들의 수행을 위해 필요한 재구성 정보의 로드를 순차적으로 명령하는 중앙 처리부;
    문맥 교환을 위해, 재구성 정보를 선택하는 재구성 정보 선택부;
    소정 메모리로부터 상기 중앙 처리부의 로드 명령에 대응하는 재구성 정보를 로드하는 재구성 정보 로드부; 및
    상기 재구성 정보 로드부가 로드한 재구성 정보를 저장하는 복수의 재구성 정보 저장부들을 포함하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 시스템.
  2. 제1항에 있어서, 상기 중앙 처리부는
    상기 작업들에 대한 스케줄링 정보를 사용해, 다음에 수행될 작업을 위해 필요한 재구성 정보를 예측하고, 예측한 결과에 대응하는 재구성 정보의 로드 명령을 상기 재구성 정보 로드부로 출력하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 시스템.
  3. 제2항에 있어서, 상기 중앙 처리부는
    상기 스케줄링 정보가 변경될 때에, 상기 예측한 결과에 대응하는 재구성 정보의 로드 명령을 상기 재구성 정보 로드부로 출력하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 시스템.
  4. 제2항에 있어서, 상기 중앙 처리부는
    상기 스케줄링 정보가 순위가 고정되어 있는 고정 순위 스케줄링 정보인 경우에, 다음 순위에 의해 수행될 작업에 대응하는 재구성 정보의 로드 명령을 출력하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 시스템.
  5. 제2항에 있어서, 상기 중앙 처리부는
    상기 스케줄링 정보가 순위가 시간에 의해 설정되어 있는 시간 순위 스케줄링 정보인 경우에, 다음 시간에 수행될 작업에 대응하는 재구성 정보의 로드 명령을 출력하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 시스템.
  6. 제1항에 있어서,
    상기 복수의 재구성 정보 저장부들에 각각 저장되는 재구성 정보는 재구성 정보를 구별하기 위해 유일하게 할당되는 식별기호, 프로그램의 재구성을 위한 재구성 데이터 및 재구성 정보의 사용 가능 여부를 나타내는 상태정보를 포함하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 시스템.
  7. 제6항에 있어서,
    상기 식별기호는 상기 소정 메모리의 주소정보를 사용해 할당되는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 시스템.
  8. 제1항에 있어서, 상기 재구성 정보 로드부는
    상기 중앙 처리부의 로드 명령에 응답하여, 상기 로드 명령에 대응하는 재구성 정보가 상기 복수의 재구성 정보 저장부들에 저장되어 있는가를 검사하고, 상기 로드 명령에 대응하는 재구성 정보가 상기 복수의 재구성 정보 저장부들에 저장되어 있지 않을 경우에, 상기 소정 메모리로부터 상기 로드 명령에 대응하는 재구성 정보를 로드하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 시스템.
  9. 현재 수행중인 작업 이후에 수행될 다음 작업에 필요한 재구성 정보(reconfiguration information)의 로드를 명령하는 단계;
    소정 메모리로부터 상기 로드 명령에 대응하는 재구성 정보를 로드하여, 복수의 재구성 정보 저장부들 중 어느 하나에 저장하는 단계; 및
    상기 다음 작업을 위한 재구성 정보의 문맥 교환을 위해, 상기 로드되어 저장된 재구성 정보를 선택하는 단계를 포함하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 방법.
  10. 제9항에 있어서, 상기 재구성 정보의 로드를 명령하는 단계는
    상기 작업들에 대한 스케줄링 정보를 사용해, 다음에 수행될 작업을 위해 필요한 재구성 정보를 예측하고, 예측한 결과에 대응하는 재구성 정보의 로드 명령을 출력하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 방법.
  11. 제10항에 있어서, 상기 재구성 정보의 로드를 명령하는 단계는
    상기 스케줄링 정보가 변경될 때에, 상기 예측한 결과에 대응하는 재구성 정보의 로드 명령을 출력하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 방법.
  12. 제10항에 있어서, 상기 재구성 정보의 로드를 명령하는 단계는
    상기 스케줄링 정보가 순위가 고정되어 있는 고정 순위 스케줄링 정보인 경우에, 다음 순위에 의해 수행될 작업에 대응하는 재구성 정보의 로드 명령을 출력하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 방법.
  13. 제10항에 있어서, 상기 재구성 정보의 로드를 명령하는 단계는
    상기 스케줄링 정보가 순위가 시간에 의해 설정되어 있는 시간 순위 스케줄링 정보인 경우에, 다음 시간에 수행될 작업에 대응하는 재구성 정보의 로드 명령을 출력하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 방법.
  14. 제9항에 있어서,
    상기 복수의 재구성 정보 저장부들에 각각 저장되는 재구성 정보는 재구성 정보를 구별하기 위해 유일하게 할당되는 식별기호, 프로그램의 재구성을 위한 재구성 데이터 및 재구성 정보의 사용 가능 여부를 나타내는 상태정보를 포함하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 방법.
  15. 제14항에 있어서,
    상기 식별기호는 상기 소정 메모리의 주소정보를 사용해 할당되는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 방법.
  16. 제9항에 있어서, 상기 로드 명령에 대응하는 재구성 정보를 로드하는 단계는
    상기 로드 명령에 대응하는 재구성 정보가 상기 복수의 재구성 정보 저장부들에 저장되어 있는가를 검사하는 단계; 및
    상기 로드 명령에 대응하는 재구성 정보가 상기 복수의 재구성 정보 저장부에 저장되어 있지 않을 경우에, 상기 소정 메모리로부터 상기 로드 명령에 대응하는 재구성 정보를 로드하는 단계를 포함하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 방법.
  17. 현재 수행중인 작업 이후에 수행될 다음 작업에 필요한 재구성 정 보(reconfiguration information)의 로드를 명령하는 단계;
    소정 메모리로부터 상기 로드 명령에 대응하는 재구성 정보를 로드하여, 복수의 재구성 정보 저장부들 중 어느 하나에 저장하는 단계; 및
    상기 다음 작업을 위한 재구성 정보의 문맥 교환을 위해, 상기 로드되어 저장된 재구성 정보를 선택하는 단계를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  18. 현재 작업의 수행을 위해 필요한 레지스터 정보의 문맥을 교환하는 단계;
    상기 현재 작업을 위해 필요한 재구성 정보(reconfiguration information)가 복수의 재구성 정보 저장부들 중 어느 하나에 저장되어 있는가를 검사하는 단계;
    상기 현재 작업을 위해 필요한 재구성 정보가 상기 복수의 재구성 정보 저장부들 중에 저장되어 있지 않다면, 상기 현재 작업을 위해 필요한 재구성 정보의 로드를 명령하는 단계;
    소정 메모리로부터 상기 로드 명령에 대응하는 재구성 정보를 로드하여, 상기 복수의 재구성 정보 저장부들 중 어느 하나에 저장하는 단계;
    상기 로드되어 저장된 재구성 정보를 선택하는 단계; 및
    상기 선택된 재구성 정보를 사용해, 상기 현재 작업을 위한 재구성 정보의 문맥을 교환하는 단계를 포함하는 것을 특징으로 하는 재구성 가능한 프로세서를 갖는 문맥 교환 방법.
  19. 현재 작업의 수행을 위해 필요한 레지스터 정보의 문맥을 교환하는 단계;
    상기 현재 작업을 위해 필요한 재구성 정보(reconfiguration information)가 복수의 재구성 정보 저장부들 중 어느 하나에 저장되어 있는가를 검사하는 단계;
    상기 현재 작업을 위해 필요한 재구성 정보가 상기 복수의 재구성 정보 저장부들 중에 저장되어 있지 않다면, 상기 현재 작업을 위해 필요한 재구성 정보의 로드를 명령하는 단계;
    소정 메모리로부터 상기 로드 명령에 대응하는 재구성 정보를 로드하여, 상기 복수의 재구성 정보 저장부들 중 어느 하나에 저장하는 단계;
    상기 로드되어 저장된 재구성 정보를 선택하는 단계; 및
    상기 선택된 재구성 정보를 사용해, 상기 현재 작업을 위한 재구성 정보의 문맥을 교환하는 단계를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020060121615A 2006-12-04 2006-12-04 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법 KR100883655B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060121615A KR100883655B1 (ko) 2006-12-04 2006-12-04 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법
US11/987,662 US20080133899A1 (en) 2006-12-04 2007-12-03 Context switching method, medium, and system for reconfigurable processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060121615A KR100883655B1 (ko) 2006-12-04 2006-12-04 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20080050828A KR20080050828A (ko) 2008-06-10
KR100883655B1 true KR100883655B1 (ko) 2009-02-18

Family

ID=39477246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060121615A KR100883655B1 (ko) 2006-12-04 2006-12-04 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법

Country Status (2)

Country Link
US (1) US20080133899A1 (ko)
KR (1) KR100883655B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012131437A1 (en) * 2011-03-30 2012-10-04 Freescale Semiconductor, Inc. Integrated circuit device and method for enabling cross-context access
JP5786434B2 (ja) * 2011-04-28 2015-09-30 富士ゼロックス株式会社 画像データ処理装置及びプログラム
US8898480B2 (en) 2012-06-20 2014-11-25 Microsoft Corporation Managing use of a field programmable gate array with reprogammable cryptographic operations
US20130346985A1 (en) * 2012-06-20 2013-12-26 Microsoft Corporation Managing use of a field programmable gate array by multiple processes in an operating system
US9230091B2 (en) 2012-06-20 2016-01-05 Microsoft Technology Licensing, Llc Managing use of a field programmable gate array with isolated components
US9298438B2 (en) 2012-06-20 2016-03-29 Microsoft Technology Licensing, Llc Profiling application code to identify code portions for FPGA implementation
US9424019B2 (en) * 2012-06-20 2016-08-23 Microsoft Technology Licensing, Llc Updating hardware libraries for use by applications on a computer system with an FPGA coprocessor
KR20220139304A (ko) * 2019-12-30 2022-10-14 스타 알리 인터내셔널 리미티드 구성 가능한 병렬 계산을 위한 프로세서

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5890008A (en) * 1997-06-25 1999-03-30 Sun Microsystems, Inc. Method for dynamically reconfiguring a processor
US6067615A (en) * 1993-11-30 2000-05-23 Trw Inc. Reconfigurable processor for executing successive function sequences in a processor operation
WO2003025784A2 (en) * 2001-09-14 2003-03-27 Intel Corporation Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations
KR20040072645A (ko) * 2001-12-05 2004-08-18 아르보 컴퍼니 엘엘피 하이브리드 스택형 직접 회로 다이 소자들을 포함한재구성 가능 프로세서 모듈
KR20070020480A (ko) * 2004-05-26 2007-02-21 지멘스 악티엔게젤샤프트 재구성될 수 있는 단말기들을 포함하는 이동 무선네트워크에서 재구성 프로세스들을 최적화하기 위한 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408325B1 (en) * 1998-05-06 2002-06-18 Sun Microsystems, Inc. Context switching technique for processors with large register files
US6069489A (en) * 1998-08-04 2000-05-30 Xilinx, Inc. FPGA having fast configuration memory data readback
WO2000031652A2 (en) * 1998-11-20 2000-06-02 Altera Corporation Reconfigurable programmable logic device computer system
US6288566B1 (en) * 1999-09-23 2001-09-11 Chameleon Systems, Inc. Configuration state memory for functional blocks on a reconfigurable chip
AU2003286131A1 (en) * 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US20080104601A1 (en) * 2006-10-26 2008-05-01 Nokia Corporation Scheduler for multiple software tasks to share reconfigurable hardware
US8402410B2 (en) * 2007-08-27 2013-03-19 Samsung Electronics Co., Ltd. Method and apparatus for managing configuration memory of reconfigurable hardware
WO2009035586A1 (en) * 2007-09-06 2009-03-19 Tabula, Inc. Configuration context switcher

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067615A (en) * 1993-11-30 2000-05-23 Trw Inc. Reconfigurable processor for executing successive function sequences in a processor operation
US5890008A (en) * 1997-06-25 1999-03-30 Sun Microsystems, Inc. Method for dynamically reconfiguring a processor
WO2003025784A2 (en) * 2001-09-14 2003-03-27 Intel Corporation Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations
KR20040069257A (ko) * 2001-09-14 2004-08-05 인텔 코포레이션 다수의 하드웨어 구성들을 가지는 재구성가능한 하드웨어아키텍처의 스케줄링 방법
KR20040072645A (ko) * 2001-12-05 2004-08-18 아르보 컴퍼니 엘엘피 하이브리드 스택형 직접 회로 다이 소자들을 포함한재구성 가능 프로세서 모듈
KR20070020480A (ko) * 2004-05-26 2007-02-21 지멘스 악티엔게젤샤프트 재구성될 수 있는 단말기들을 포함하는 이동 무선네트워크에서 재구성 프로세스들을 최적화하기 위한 방법

Also Published As

Publication number Publication date
KR20080050828A (ko) 2008-06-10
US20080133899A1 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
KR100883655B1 (ko) 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법
JP5071913B2 (ja) 同時物理プロセッサ再割り当て方法、システム、およびプログラム
US9244883B2 (en) Reconfigurable processor and method of reconfiguring the same
FI78993B (fi) Oevervakare av driftsystem.
US8171267B2 (en) Method and apparatus for migrating task in multi-processor system
US8417918B2 (en) Reconfigurable processor with designated processing elements and reserved portion of register file for interrupt processing
US8082546B2 (en) Job scheduling to maximize use of reusable resources and minimize resource deallocation
KR20140014146A (ko) 동면으로부터의 다중 페이즈 재개
CN101310257A (zh) 多处理器系统和用于使计算机执行多处理器系统的控制方法的程序
US20100050184A1 (en) Multitasking processor and task switching method thereof
CN111078394B (zh) 一种gpu线程负载均衡方法与装置
JP2010044578A (ja) マルチコアプロセッサ
KR20070090649A (ko) 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법
JP2008522277A (ja) 優先度の付けられたタスク間の効率的な切り換え
JP5030647B2 (ja) 複数処理ノードを含むコンピュータ・システムでプログラムをロードする方法、該プログラムを含むコンピュータ可読媒体、及び、並列コンピュータ・システム
JPH1097423A (ja) ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ
KR102205899B1 (ko) 메모리의 뱅크 충돌을 방지하기 위한 방법 및 장치
US7603673B2 (en) Method and system for reducing context switch times
JP5678347B2 (ja) Itシステムの構成方法、そのコンピュータプログラムおよびitシステム
JP5278538B2 (ja) コンパイルシステム、コンパイル方法およびコンパイルプログラム
JP5540799B2 (ja) データ入出力制御方法,データ入出力制御プログラムおよびデータ入出力制御装置
JP4017005B2 (ja) 演算装置
KR102563648B1 (ko) 멀티 프로세서 시스템 및 그 구동 방법
WO2004017200A1 (ja) 情報処理方法とその方法を実現するプログラム及び記録媒体
JP2012141887A (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130115

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140124

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee