1 |
1
복수의 코어를 사용하는 멀티 코어 임베디드 시스템에서의 태스크 스케줄링 방법으로서,제1 코어가 수행할 작업을 수행한 후 아이들(idle) 시간에, 제2 코어로부터 수행할 작업 정보를 포함하는 작업 할당 메시지를 수신하는 단계; 및상기 제1 코어가 상기 작업 할당 메시지에 포함된 상기 작업 정보에 해당하는 작업을 수행하는 단계를 포함하는, 스케줄링 방법
|
2 |
2
제1항에 있어서,작업을 수행하는 작업 함수들이 공유 메모리에 위치되어 있으며,상기 작업을 수행하는 단계는, 상기 제1 코어가 상기 작업 정보에 해당하는 작업의 작업 함수를 상기 공유 메모리로부터 호출하여 수행하는, 스케줄링 방법
|
3 |
3
제1항에 있어서,상기 작업 할당 메시지를 수신하는 단계 이전에,상기 제1 코어가 상기 제2 코어에 상기 제1 코어가 아이들 상태임을 나타내는 아이들 메시지를 전달하는 단계를 더 포함하는, 스케줄링 방법
|
4 |
4
제1항에 있어서,상기 작업 할당 메시지를 수신하는 단계 이후에,상기 제1 코어가 상기 작업 정보에 해당하는 작업의 수행이 가능한 경우에, 상기 제2 코어로 작업 할당 확인 메시지를 전달하는 단계를 더 포함하는, 스케줄링 방법
|
5 |
5
제1항에 있어서,상기 작업을 수행하는 단계는, 상기 제1 코어의 아이들 태스크에 의해 상기 제2 코어의 작업을 수행 중이라는 것을 알리는 작업 수행 플래그가 설정되는 단계; 및상기 제1 코어의 아이들 태스크를 통하여 상기 작업 정보에 해당하는 상기 제2 코어의 작업이 수행되는 단계를 포함하는, 스케줄링 방법
|
6 |
6
제5항에 있어서,상기 작업을 수행하는 단계는, 상기 제2 코어의 작업을 완료한 다음에, 상기 작업 수행 플래그를 리셋(reset)하는 단계를 더 포함하는, 스케줄링 방법
|
7 |
7
제1항에 있어서,상기 작업을 수행하는 단계는 상기 작업 정보에 해당하는 상기 제2 코어의 작업을 수행하는 중에 새로운 작업의 수행을 위한 메시지가 수신되면, 상기 제2 코어의 작업을 중단하는 단계; 및상기 제2 코어로 상기 제2 코어의 작업이 완료되지 못함을 나타내는 작업 중단 메시지를 전달하는 단계를 더 포함하는, 스케줄링 방법
|
8 |
8
제7항에 있어서,상기 중단하는 단계에서, 상기 제1 코어의 아이들 태스크를 통하여 상기 작업 정보에 해당하는 상기 제2 코어의 작업이 수행되며, 새로운 작업에 관련된 메시지가 상기 제1 코어로 입력되면, 상기 제1 코어의 스케줄러 태스크를 통하여 상기 제1 코어의 아이들 태스크에 의한 상기 제2 코어의 작업이 중단되며, 상기 작업 중단 메시지를 전달하는 단계에서, 상기 제1 코어의 아이들 태스크를 통하여 상기 제2 코어의 스케줄러 태스크로 상기 작업 중단 메시지가 전달되는, 스케줄링 방법
|
9 |
9
제1항에 있어서,상기 제1 코어는 제1 우선 순위를 가지는 스케줄러 태스크, 제2 우선 순위를 가지며 작업을 수행하는 적어도 하나의 작업 태스크, 제3 우선 순위를 가지는 아이들 태스크를 포함하며, 제1 우선 순위003e# 제2 우선 순위003e# 제3 우선 순위의 관계가 만족되고, 상기 아이들 태스크를 통하여 상기 작업 정보에 해당하는 상기 제2 코어의 작업이 수행되도록 스케줄링되는, 스케줄링 방법
|
10 |
10
복수의 코어를 사용하는 멀티 코어 임베디드 시스템에서의 태스크 스케줄링 방법으로서,제1 코어가 제2 코어로부터 상기 제2 코어가 아이들 상태임을 나타내는 아이들 메시지를 수신하는 단계;상기 제1 코어가 작업 태스크 리스트에서 아직 수행되지 못한 작업을 선택하는 단계; 및상기 제1 코어가 상기 제2 코어가 상기 선택된 작업을 수행하도록, 상기 선택된 작업에 대한 정보를 포함하는 작업 할당 메시지를 상기 제2 코어로 전달하는 단계를 포함하며, 상기 제2 코어의 아이들 시간에 상기 아이들 메시지가 상기 제1 코어로 전달되는, 스케줄링 방법
|
11 |
11
제10항에 있어서,상기 제1 코어가 상기 작업 태스크 리스트에서 상기 선택된 작업에 해당하는 태스크를 삭제하는 단계를 더 포함하는, 스케줄링 방법
|
12 |
12
제11항에 있어서,상기 삭제하는 단계에서, 상기 제2 코어로부터 상기 작업 할당 메시지에 포함된 작업의 수행 가능함을 알리는 작업 할당 확인 메시지를 수신한 경우에, 상기 제1 코어의 스케줄러 태스크를 통해 상기 태스크 삭제가 수행되는, 스케줄링 방법
|
13 |
13
제11항에 있어서,상기 제1 코어가 상기 제2 코어로부터 상기 작업 할당 메시지에 따른 작업이 완료되지 못함을 나타내는 작업 중단 메시지를 수신하는 단계; 및상기 작업 태스크 리스트에 상기 작업 할당 메시지에 따른 작업의 태스크를 추가하는 단계를 더 포함하는, 스케줄링 방법
|
14 |
14
제10항에 있어서,상기 제1 코어는 제1 우선 순위를 가지는 스케줄러 태스크, 제2 우선 순위를 가지며 작업을 수행하는 적어도 하나의 작업 태스크, 제3 우선 순위를 가지는 아이들 태스크를 포함하며, 제1 우선 순위003e# 제2 우선 순위003e# 제3 우선 순위의 관계가 만족되고, 상기 스케줄러 태스크를 통하여, 상기 수신하는 단계, 상기 선택하는 단계, 그리고 상기 전달하는 단계가 수행되도록 스케줄링되는, 스케줄링 방법
|
15 |
15
복수의 코어를 사용하는 멀티 코어 임베디드 시스템에서의 태스크를 스케줄링하는 스케줄링 장치로서, 작업을 수행하는 작업 함수들이 저장되는 메모리;상기 메모리와 연결되고, 태스크 스케줄링을 수행하는 프로세서를 포함하며, 상기 프로세서는, 작업을 수행한 후 아이들(idle) 시간에, 제1 코어로부터 수행할 작업 정보를 포함하는 작업 할당 메시지를 수신하면, 상기 메모리로부터 상기 작업 할당 메시지에 포함된 상기 작업 정보에 해당하는 작업의 작업 함수를 호출하여 수행하도록 구성되는, 스케줄링 장치
|
16 |
16
제15항에 있어서, 상기 프로세서는 상기 아이들 시간에, 아이들 상태임을 나타내는 아이들 메시지를 상기 제1 코어로 전달하고, 상기 작업 할당 메시지를 수신한 경우, 상기 작업 정보에 해당하는 작업의 수행이 가능한 경우에, 상기 제1 코어로 작업 할당 확인 메시지를 전달하도록 구성되는, 스케줄링 장치
|
17 |
17
제15항에 있어서,상기 프로세서는, 상기 작업 정보에 해당하는 상기 제1 코어의 작업을 수행하는 중에 새로운 작업의 수행을 위한 메시지가 수신되면, 상기 제1 코어의 작업을 중단하고, 상기 제1 코어로 상기 작업이 완료되지 못함을 나타내는 작업 중단 메시지를 전달하도록 구성되는, 스케줄링 장치
|
18 |
18
제15항에 있어서,상기 프로세서는 제2 코어로부터 상기 제2 코어가 아이들 상태임을 나타내는 아이들 메시지를 수신하면, 작업 태스크 리스트에서 아직 수행되지 못한 작업을 선택하고, 상기 제2 코어가 상기 선택된 작업을 수행하도록, 상기 선택된 작업에 대한 정보를 포함하는 작업 할당 메시지를 상기 제2 코어로 전달하도록 구성되는, 스케줄링 장치
|
19 |
19
제18항에 있어서,상기 프로세서가 상기 작업 태스크 리스트에서 상기 선택된 작업에 해당하는 태스크를 삭제하고, 상기 제2 코어로부터 상기 작업 할당 메시지에 따른 작업이 완료되지 못함을 나타내는 작업 중단 메시지를 수신하면, 상기 작업 태스크 리스트에 상기 작업 할당 메시지에 따른 작업의 태스크를 추가하도록 구성되는, 스케줄링 장치
|
20 |
20
제18항에 있어서,상기 프로세서는 제1 우선 순위를 가지는 스케줄러 태스크, 제2 우선 순위를 가지며 작업을 수행하는 적어도 하나의 작업 태스크, 제3 우선 순위를 가지는 아이들 태스크를 포함하며, 제1 우선 순위003e# 제2 우선 순위003e# 제3 우선 순위의 관계가 만족되고, 상기 아이들 태스크를 통하여 상기 제1 코어의 작업이 수행되도록 스케줄링되며,상기 스케줄러 태스크를 통하여 상기 제2 코어에 대한 작업 선택 및 작업 할당 메시지 전달이 수행되도록 스케줄링되는, 스케줄링 장치
|