1 |
1
멀티프로세서를 포함하며,상기 멀티프로세서는,L1D(level 1 data) 캐시 및 복수의 캐시 라인이 할당되는 공유 메모리를 포함하는 메모리 유닛, 그리고액티브 상태의 제1 쓰레드 그룹에 대해서 소정의 제1 조건을 만족하는 경우에, 제2 쓰레드 그룹의 캐시 액세스를 상기 공유 메모리로 변경하여 상기 제2 쓰레드 그룹을 격리하는 쓰레드 그룹 스케줄러를 포함하는 병렬 프로세싱 유닛
|
2 |
2
제1항에서,상기 제1 조건은 상기 제1 쓰레드 그룹에 대한 캐시 간섭의 레벨이 제1 컷오프를 넘는 조건을 포함하는 병렬 프로세싱 유닛
|
3 |
3
제2항에서,상기 제2 쓰레드 그룹은 상기 제1 쓰레드 그룹에 간섭을 일으키는 쓰레드 그룹 중에서 가장 자주 간섭을 일으키는 쓰레드 그룹을 포함하는 병렬 프로세싱 유닛
|
4 |
4
제2항에서,소정의 제2 조건을 만족하는 경우에, 상기 쓰레드 그룹 스케줄러는 상기 제2 쓰레드 그룹의 캐시 액세스를 상기 L1D 캐시로 다시 변경하는, 병렬 프로세싱 유닛
|
5 |
5
제4항에서,상기 제2 조건은 상기 제1 쓰레드 그룹에 대한 캐시 간섭의 레벨이 상기 제1 컷오프보다 낮은 제2 컷오프보나 낮은 조건을 포함하는 병렬 프로세싱 유닛
|
6 |
6
제4항에서,상기 제2 조건은 상기 제1 쓰레드 그룹의 실행이 완료되는 조건을 포함하는 병렬 프로세싱 유닛
|
7 |
7
제4항에서,제1 시기와 제2 시기로 이루어지는 사이클에서, 상기 쓰레드 그룹 스케줄러는 제1 시기의 종료 시에 상기 제1 조건을 판단하고, 상기 제2 시기의 종료 시에 상기 제2 조건을 판단하는, 병렬 프로세싱 유닛
|
8 |
8
제1항에서,소정의 제2 조건을 만족하는 경우에, 상기 쓰레드 그룹 스케줄러는 상기 격리된 제2 쓰레드 그룹을 스톨(stall)하는, 병렬 프로세싱 유닛
|
9 |
9
제8항에서,상기 제2 조건은 상기 공유 메모리로 격리된 제3 쓰레드 그룹에 대한 캐시 간섭의 레벨이 제1 컷오프를 넘는 조건을 포함하는 병렬 프로세싱 유닛
|
10 |
10
제9항에서,소정의 제3 조건을 만족하는 경우에, 상기 쓰레드 그룹 스케줄러는 상기 스톨된 제2 쓰레드 그룹을 재활성화하는, 병렬 프로세싱 유닛
|
11 |
11
제10항에서,상기 제3 조건은 상기 제3 쓰레드 그룹에 대한 캐시 간섭의 레벨이 상기 제1 컷오프보다 낮은 제2 컷오프보나 낮은 조건을 포함하는 병렬 프로세싱 유닛
|
12 |
12
제10항에서,상기 제2 조건은 상기 제3 쓰레드 그룹의 실행이 완료되는 조건을 포함하는 병렬 프로세싱 유닛
|
13 |
13
제10항에서,제1 시기와 제2 시기로 이루어지는 사이클에서, 상기 쓰레드 그룹 스케줄러는 제1 시기의 종료 시에 상기 제2 조건을 판단하고, 상기 제2 시기의 종료 시에 상기 제3 조건을 판단하는, 병렬 프로세싱 유닛
|
14 |
14
제1항에 따른 병렬 프로세싱 유닛,중앙 프로세싱 유닛(central processing unit, CPU),시스템 메모리, 그리고상기 병렬 프로세싱 유닛, 상기 CPU 및 상기 시스템 메모리를 연결하는 메모리 브릿지를 포함하는 컴퓨팅 디바이스
|
15 |
15
멀티프로세서를 포함하며,상기 멀티프로세서는, L1D(level 1 data) 캐시 및 공유 메모리를 포함하는 메모리 유닛, 그리고쓰레드 그룹 스케줄러를 포함하고,상기 공유 메모리는, 복수의 행을 가진 복수의 공유 메모리 뱅크를 포함하며,상기 복수의 공유 메모리 뱅크는 복수의 뱅크 그룹으로 그룹화되고,각 뱅크 그룹에 속한 복수의 공유 메모리 뱅크에 대해서 복수의 캐시 라인이 할당되어 있으며,상기 쓰레드 그룹 스케줄러는 일부 쓰레드 그룹의 캐시 접근을 상기 공유 메모리의 캐시 라인으로 변경하는 병렬 프로세싱 유닛
|
16 |
16
제16항에서,어떤 캐시 라인이 할당되는 뱅크 그룹과 다른 뱅크 그룹에 상기 어떤 캐시 라인을 위한 태그와 대응하는 쓰레드 그룹의 번호가 할당되는, 병렬 프로세싱 유닛
|
17 |
17
L1D(level 1 data) 캐시와 공유 메모리를 포함하는 메모리 유닛을 포함하는 병렬 프로세싱 유닛의 쓰레드 그룹 스케줄링 방법으로서,제1 쓰레드 그룹에 대해서 캐시 간섭의 레벨을 검출하는 단계, 그리고상기 캐시 간섭의 레벨이 제1 컷오프를 넘는 경우, 상기 제1 쓰레드 그룹에 간섭을 일으키는 쓰레드 그룹 중 소정의 조건을 만족하는 제2 쓰레드 그룹의 캐시 액세스를 상기 공유 메모리로 변경하여 상기 제2 쓰레드 그룹을 격리하는 단계를 포함하는 쓰레드 그룹 스케줄링 방법
|
18 |
18
제17항에서,상기 제1 쓰레드 그룹에 대해서 캐시 간섭의 레벨을 다시 검출하는 단계, 그리고상기 다시 검출한 캐시 간섭의 레벨이 상기 제1 컷오프보다 낮은 제2 컷오프보다 낮은 경우, 상기 제2 쓰레드 그룹의 캐시 액세스를 상기 L1D 캐시로 다시 변경하는 단계를 더 포함하는 쓰레드 그룹 스케줄링 방법
|
19 |
19
제17항에서,상기 공유 메모리로 격리된 제3 쓰레드 그룹에 대해서 캐시 간섭의 레벨을 검출하는 단계, 그리고상기 제3 쓰레드 그룹에 대한 상기 캐시 간섭의 레벨이 제2 컷오프를 넘는 경우, 상기 격리된 제2 쓰레드 그룹을 스톨(stall)하는 단계를 더 포함하는 쓰레드 그룹 스케줄링 방법
|
20 |
20
제19항에서,상기 제3 쓰레드 그룹에 대해서 캐시 간섭의 레벨을 다시 검출하는 단계, 그리고상기 제3 쓰레드 그룹에 대해서 상기 다시 검출한 캐시 간섭의 레벨이 상기 제2 컷오프보나 낮은 제3 컷오프보다 낮은 경우, 상기 스톨한 제2 쓰레드 그룹을 재활성화하는 단계를 더 포함하는 쓰레드 그룹 스케줄링 방법
|