1 |
1
복수의 제 1 데이터를 처리하는 CPU(중앙처리장치);복수의 계산 유닛과 캐쉬메모리를 포함하는 GPU(그래픽처리장치); 및상기 CPU와 상기 GPU가 데이터 저장을 위해 공유하는 공유 메모리를 포함하고,상기 복수의 계산 유닛 각각은 복수의 쓰레드를 포함하며, 상기 복수의 계산 유닛 중 적어도 일부는 활성화 쓰레드 그룹으로 동작하고 상기 복수의 계산 유닛 중 나머지는 비활성화 쓰레드 그룹으로 동작하며, 상기 활성화 쓰레드 그룹이 상기 복수의 제 1 데이터를 복수의 제 2 데이터로 변환하고,상기 비활성화 쓰레드 그룹이 더미 데이터 입출력을 처리하도록 하여, 상기 활성화 쓰레드 그룹에서 변환된 상기 복수의 제 2 데이터와 상기 비활성화 쓰레드 그룹에서 처리된 상기 더미 데이터가 함께 상기 캐쉬메모리를 채우도록 함으로써, 상기 캐쉬메모리에 저장된 상기 복수의 제 2 데이터가 상기 공유 메모리로 전송되도록 하여 상기 CPU와 상기 GPU간에 가속화된 동기화를 수행하는 데이터 프로세서
|
2 |
2
제 1항에 있어서,인터페이스부; 및메모리 컨트롤러를 더 포함하고,상기 메모리 컨트롤러는 상기 인터페이스부로부터 수신한 상기 복수의 제 2 데이터를 상기 공유 메모리로 전송하는 데이터 프로세서
|
3 |
3
제 1항 또는 제 2항에 있어서,상기 제 1 데이터는 패킷 데이터인 데이터 프로세서
|
4 |
4
제 1항에 있어서,상기 복수의 쓰레드는 상기 복수의 쓰레드를 식별하는 식별자를 각각 포함하고 , 상기 복수의 쓰레드는 상기 GPU에서 처리 가능한 쓰레드의 상태를 나타내는 상태값 을 기반으로 처리되며,상기 식별자가 상기 상태값 보다 작은 쓰레드의 경우, 해당 쓰레드는 유효 쓰레드로서 상기 복수의 제 1 데이터를 상기 복수의 제 2 데이터로 변환하고,상기 식별자가 상기 상태값 이상인 쓰레드의 경우, 해당 쓰레드는 아이들 쓰레드로써 제 1 메모리 장벽에 남게되는 데이터 프로세서
|
5 |
5
제 4항에 있어서,상기 활성화 쓰레드 그룹에 포함된 상기 복수의 쓰레드 전부가 처리되어 제 2 메모리 장벽에 도달하게 되는 경우, 상기 복수의 쓰레드 중 최소의 식별자를 가진 쓰레드에 의해 상기 활성화 쓰레드 그룹이 초기화되는 데이터 프로세서
|
6 |
6
제 1항에 있어서,상기 CPU는 상기 GPU와 독점적으로 통신하는 마스터와 상기 마스터를 경유해 데이터 입출력을 수행하는 복수의 워커들을 포함하고,상기 CPU에 포함된 상기 마스터가 정기적으로 상기 GPU의 상태를 모니터링한 결과, 상기 활성화 쓰레드 그룹에 포함된 상기 복수의 쓰레드 전부가 처리된 것으로 판단한 경우, 상기 마스터는 상기 판단 결과를 상기 복수의 워커들에 전송하는 데이터 프로세서
|