1 |
1
캐시 바이패싱(Cache bypassing) 장치에 의해 수행되는 쓰레드 그룹 레벨의 캐시 바이패싱 방법에 있어서,캐시를 사용하는 쓰레드 그룹별로 적어도 하나의 스위칭 지점을 결정하는 단계; 및 상기 결정된 적어도 하나의 스위칭 지점에 따라 상기 쓰레드 그룹이 사용하는 캐시를 바이패싱하는 단계를 포함하는 쓰레드 그룹 레벨의 캐시 바이패싱 방법
|
2 |
2
제1항에 있어서,구비된 메모리에 접근할 때 발생하는 메모리 접근 정보 및 상기 캐시를 바이패싱할 때 발생하는 캐시 바이패싱 정보를 추출하는 단계를 더 포함하고,상기 스위칭 지점을 결정하는 단계는, 상기 추출된 메모리 접근 정보 및 상기 추출된 캐시 바이패싱 정보를 이용하여 쓰레드 그룹별로 적어도 하나의 스위칭 지점을 결정하는 쓰레드 그룹 레벨의 캐시 바이패싱 방법
|
3 |
3
제1항에 있어서,상기 쓰레드 그룹별로 적어도 하나의 스위칭 가능 지점을 검색하는 단계를 더 포함하는 쓰레드 그룹 레벨의 캐시 바이패싱 방법
|
4 |
4
제3항에 있어서,상기 스위칭 가능 지점을 검색하는 단계는, 상기 쓰레드 그룹이 캐싱한 데이터가 재사용되지 않는 적어도 하나의 지점을 검색하여 상기 적어도 하나의 스위칭 가능 지점으로 설정하는 쓰레드 그룹 레벨의 캐시 바이패싱 방법
|
5 |
5
제3항에 있어서,상기 스위칭 가능 지점을 검색하는 단계는, 쓰레드 블록에서 쓰레드 그룹의 전체 개수를 동시에 캐시를 사용하는 쓰레드 그룹의 개수로 나눈 개수에 따라 적어도 하나의 스위칭 가능 지점을 검색하는 쓰레드 그룹 레벨의 캐시 바이패싱 방법
|
6 |
6
제3항에 있어서,상기 스위칭 지점을 결정하는 단계는, 상기 검색된 적어도 하나의 스위칭 가능 지점 중에서 쓰레드 그룹별로 적어도 하나의 스위칭 지점을 결정하는 쓰레드 그룹 레벨의 캐시 바이패싱 방법
|
7 |
7
제3항에 있어서,상기 스위칭 지점을 결정하는 단계는, 상기 검색된 적어도 하나의 스위칭 가능 지점 중에서, 캐시를 사용하는 쓰레드 그룹 및 캐시를 미사용하는 쓰레드 그룹 간의 실행 시간 격차를 산출하고, 상기 산출된 실행 시간 격차가 최소화되는 적어도 하나의 스위칭 가능 지점을 적어도 하나의 스위칭 지점으로 결정하는 쓰레드 그룹 레벨의 캐시 바이패싱 방법
|
8 |
8
제3항에 있어서,상기 스위칭 지점을 결정하는 단계는, 상기 검색된 적어도 하나의 스위칭 가능 지점 중에서 스위칭 지점들 간의 거리 차이가 최소화되는 적어도 하나의 스위칭 가능 지점을 적어도 하나의 스위칭 지점으로 결정하는 쓰레드 그룹 레벨의 캐시 바이패싱 방법
|
9 |
9
제1항에 있어서,상기 결정된 스위칭 지점을 기초로 하여 프로그램 코드를 수정하는 단계; 및상기 수정된 프로그램 코드를 컴파일링하여 캐시 바이패싱 프로그램을 생성하는 단계를 더 포함하고, 상기 캐시를 바이패싱하는 단계는, 상기 생성된 캐시 바이패싱 프로그램에 따라 상기 쓰레드 그룹이 사용하는 캐시를 바이패싱하는 쓰레드 그룹 레벨의 캐시 바이패싱 방법
|
10 |
10
제9항에 있어서,상기 프로그램 코드를 수정하는 단계는, 상기 결정된 스위칭 지점을 기초로, 상기 쓰레드 그룹의 바이패싱을 위한 제1 캐시 연산자 및 상기 쓰레드 그룹의 캐싱을 위한 제2 캐시 연산자를 이용하여 프로그램 코드를 수정하는 쓰레드 그룹 레벨의 캐시 바이패싱 방법
|
11 |
11
캐시를 사용하는 쓰레드 그룹별로 적어도 하나의 스위칭 지점을 결정하는 스위칭 지점 결정부; 및 상기 결정된 적어도 하나의 스위칭 지점에 따라 상기 쓰레드 그룹이 사용하는 캐시를 바이패싱하는 캐시 바이패싱부를 포함하는 쓰레드 그룹 레벨의 캐시 바이패싱 장치
|
12 |
12
제11항에 있어서,구비된 메모리에 접근할 때 발생하는 메모리 접근 정보 및 상기 캐시를 바이패싱할 때 발생하는 캐시 바이패싱 정보를 추출하는 정보 추출부를 더 포함하고,상기 스위칭 지점 결정부는, 상기 추출된 메모리 접근 정보 및 상기 추출된 캐시 바이패싱 정보를 이용하여 쓰레드 그룹별로 적어도 하나의 스위칭 지점을 결정하는 쓰레드 그룹 레벨의 캐시 바이패싱 장치
|
13 |
13
제11항에 있어서,상기 쓰레드 그룹별로 적어도 하나의 스위칭 가능 지점을 검색하는 스위칭 지점 검색부를 더 포함하는 쓰레드 그룹 레벨의 캐시 바이패싱 장치
|
14 |
14
제13항에 있어서,상기 스위칭 지점 검색부는, 상기 쓰레드 그룹이 캐싱한 데이터가 재사용되지 않는 적어도 하나의 지점을 검색하여 상기 적어도 하나의 스위칭 가능 지점으로 설정하는 쓰레드 그룹 레벨의 캐시 바이패싱 장치
|
15 |
15
제13항에 있어서,상기 스위칭 지점 검색부는, 쓰레드 블록에서 쓰레드 그룹의 전체 개수를 동시에 캐시를 사용하는 쓰레드 그룹의 개수로 나눈 개수에 따라 적어도 하나의 스위칭 가능 지점을 검색하는 쓰레드 그룹 레벨의 캐시 바이패싱 장치
|
16 |
16
제13항에 있어서,상기 스위칭 지점 결정부는, 상기 검색된 적어도 하나의 스위칭 가능 지점 중에서 쓰레드 그룹별로 적어도 하나의 스위칭 지점을 결정하는 쓰레드 그룹 레벨의 캐시 바이패싱 장치
|
17 |
17
제13항에 있어서,상기 스위칭 지점 결정부는, 상기 검색된 적어도 하나의 스위칭 가능 지점 중에서, 캐시를 사용하는 쓰레드 그룹 및 캐시를 미사용하는 쓰레드 그룹 간의 실행 시간 격차를 산출하고, 상기 산출된 실행 시간 격차가 최소화되는 적어도 하나의 스위칭 가능 지점을 적어도 하나의 스위칭 지점으로 결정하는 쓰레드 그룹 레벨의 캐시 바이패싱 장치
|
18 |
18
제13항에 있어서,상기 스위칭 지점 결정부는, 상기 검색된 적어도 하나의 스위칭 가능 지점 중에서 스위칭 지점들 간의 거리 차이가 최소화되는 적어도 하나의 스위칭 가능 지점을 적어도 하나의 스위칭 지점으로 결정하는 쓰레드 그룹 레벨의 캐시 바이패싱 장치
|
19 |
19
제11항에 있어서,상기 결정된 스위칭 지점을 기초로 하여 프로그램 코드를 수정하는 코드 수정부; 및상기 수정된 프로그램 코드를 컴파일링하여 캐시 바이패싱 프로그램을 생성하는 프로그램 컴파일러를 더 포함하고, 상기 캐시 바이패싱부는, 상기 생성된 캐시 바이패싱 프로그램에 따라 상기 쓰레드 그룹이 사용하는 캐시를 바이패싱하는 쓰레드 그룹 레벨의 캐시 바이패싱 장치
|
20 |
20
제19항에 있어서,상기 코드 수정부는, 상기 결정된 스위칭 지점을 기초로, 상기 쓰레드 그룹의 바이패싱을 위한 제1 캐시 연산자 및 상기 쓰레드 그룹의 캐싱을 위한 제2 캐시 연산자를 이용하여 프로그램 코드를 수정하는 쓰레드 그룹 레벨의 캐시 바이패싱 장치
|