1 |
1
주어진 프로세스의 메모리 매핑 요구를 만족시키기 위한 TLB(translation lookaside buffer)를 제공하는 방법에 있어서,하드웨어(hardware)와 소프트웨어(software)의 공동 작업인 하이브리드 병합(hybrid coalescing)을 통해 조정 가능한 커버리지(coverage)를 가진 TLB를 제공하는 단계를 포함하고,상기 TLB를 제공하는 단계는,상기 하드웨어가 조정 가능한 TLB 커버리지를 제공하기 위해 상기 소프트웨어인 운영 체제(OS)가 주어진 프로세스에 대해 TLB 커버리지를 조절하고 상기 운영 체제가 인접한 청크(contiguous chunk)를 식별하여 식별된 인접 정보를 상기 TLB가 사용할 페이지 테이블(page table)에 기입하는 것을 특징으로 하는 방법
|
2 |
2
제1항에 있어서,상기 TLB를 제공하는 단계는,상기 TLB가 사용할 페이지 테이블에서 상기 운영 체제에 의해 설정된 앵커 거리의 얼라인먼트(alignment)에 인접한 메모리 매핑 블록을 나타내는 엔트리로서 앵커 엔트리(anchor entry)를 지정하는 단계를 포함하고,상기 앵커 거리마다 지정된 앵커 엔트리에 해당되는 페이지 테이블의 서브세트 내에서 연속성 정보를 인코딩 하는 것을 특징으로 하는 방법
|
3 |
3
제2항에 있어서,상기 앵커 거리는 상기 TLB 커버리지를 조정하기 위해 상기 하드웨어가 상기 소프트웨어에 제공하는 노브로 상기 운영 체제에 의해 설정되는 것을 특징으로 하는 방법
|
4 |
4
제2항에 있어서,상기 앵커 엔트리에 해당되는 페이지 테이블 엔트리는 페이지 테이블 엔트리의 사용되지 않은 비트로 인코딩 된 추가 앵커 정보가 있는 레귤러 페이지 테이블(regular page table)로 상기 운영 체제에 의해 관리되고 업데이트 되는 것을 특징으로 하는 방법
|
5 |
5
제2항에 있어서,상기 TLB를 제공하는 단계는,레귤러 페이지 테이블 엔트리와 앵커 페이지 테이블 엔트리가 캐시된 앵커 TLB를 제공하는 단계를 포함하고,상기 앵커 TLB에는 레귤러 페이지 테이블 엔트리와 앵커 페이지 테이블 엔트리가 서로 다르게 인덱싱 되는 것을 특징으로 하는 방법
|
6 |
6
제5항에 있어서,상기 TLB를 제공하는 단계는,페이지 테이블 룩업 시 상기 레귤러 페이지 테이블 엔트리와 상기 앵커 페이지 테이블 엔트리 중 어느 하나를 먼저 검색하고 미스(miss)가 발생하면 다른 하나를 검색하는 단계를 포함하는 것을 특징으로 하는 방법
|
7 |
7
제5항에 있어서,상기 TLB를 제공하는 단계는,상기 앵커 TLB에서 유효한 엔트리가 반환되면 상기 앵커 엔트리로 변환되는 페이지의 오프셋이 해당 앵커 엔트리의 연속성 이내인 경우 상기 반환된 엔트리를 물리적 주소로 변환하는 단계를 포함하는 것을 특징으로 하는 방법
|
8 |
8
제2항에 있어서,상기 TLB를 제공하는 단계는,상기 운영 체제가 상기 주어진 프로세스에 대한 메모리 매핑 분포를 스캔하여 상기 앵커 엔트리를 지정하기 위한 상기 앵커 거리를 선택하는 단계를 포함하는 것을 특징으로 하는 방법
|
9 |
9
제8항에 있어서,상기 앵커 거리를 선택하는 단계는,상기 프로세스에 대해 요구되는 TLB 엔트리의 수를 최소화 하는 알고리즘을 이용하여 상기 앵커 거리를 선택하고,상기 앵커 거리마다 지정된 상기 앵커 엔트리에 인접 청크의 연속성 정보를 기입하는 것을 특징으로 하는 방법
|
10 |
10
주어진 프로세스의 메모리 매핑 요구를 만족시키기 위한 TLB(translation lookaside buffer)를 제공하는 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램에 있어서,상기 방법은,하드웨어(hardware)와 소프트웨어(software)의 공동 작업인 하이브리드 병합(hybrid coalescing)을 통해 조정 가능한 커버리지(coverage)를 가진 TLB를 제공하는 단계를 포함하고,상기 TLB를 제공하는 단계는,상기 하드웨어가 조정 가능한 TLB 커버리지를 제공하기 위해 상기 소프트웨어인 운영 체제(OS)가 주어진 프로세스에 대해 TLB 커버리지를 조절하고 상기 운영 체제가 인접한 청크(contiguous chunk)를 식별하여 식별된 인접 정보를 상기 TLB가 사용할 페이지 테이블(page table)에 기입하는 것을 특징으로 하는, 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램
|
11 |
11
주어진 프로세스의 메모리 매핑 요구를 만족시키기 위한 TLB(translation lookaside buffer)를 제공하는 시스템에 있어서,컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로세서는,하드웨어(hardware)와 소프트웨어(software)의 공동 작업인 하이브리드 병합(hybrid coalescing)을 통해 조정 가능한 커버리지(coverage)를 가진 TLB를 제공하는 과정을 처리하고,상기 TLB를 제공하는 과정은,상기 하드웨어가 조정 가능한 TLB 커버리지를 제공하기 위해 상기 소프트웨어인 운영 체제(OS)가 주어진 프로세스에 대해 TLB 커버리지를 조절하고 상기 운영 체제가 인접한 청크(contiguous chunk)를 식별하여 식별된 인접 정보를 상기 TLB가 사용할 페이지 테이블(page table)에 기입하는 것을 특징으로 하는 시스템
|
12 |
12
제11항에 있어서,상기 TLB를 제공하는 과정은,상기 TLB가 사용할 페이지 테이블에서 상기 운영 체제에 의해 설정된 앵커 거리의 얼라인먼트(alignment)에 인접한 메모리 매핑 블록을 나타내는 엔트리로서 앵커 엔트리(anchor entry)를 지정하고,상기 앵커 거리마다 지정된 앵커 엔트리에 해당되는 페이지 테이블의 서브세트 내에서 연속성 정보를 인코딩 하는 것을 특징으로 하는 시스템
|
13 |
13
제12항에 있어서,상기 TLB를 제공하는 과정은,레귤러 페이지 테이블 엔트리와 앵커 페이지 테이블 엔트리가 캐시된 앵커 TLB를 제공하고,상기 앵커 TLB에는 레귤러 페이지 테이블 엔트리와 앵커 페이지 테이블 엔트리가 서로 다르게 인덱싱 되는 것을 특징으로 하는 시스템
|
14 |
14
제13항에 있어서,상기 TLB를 제공하는 과정은,페이지 테이블 룩업 시 상기 레귤러 페이지 테이블 엔트리와 상기 앵커 페이지 테이블 엔트리 중 어느 하나를 먼저 검색하고 미스(miss)가 발생하면 다른 하나를 검색하는 것을 특징으로 하는 시스템
|
15 |
15
제13항에 있어서,상기 TLB를 제공하는 과정은,상기 앵커 TLB에서 유효한 엔트리가 반환되면 상기 앵커 엔트리로 변환되는 페이지의 오프셋이 해당 앵커 엔트리의 연속성 이내인 경우 상기 반환된 엔트리를 물리적 주소로 변환하는 것을 특징으로 하는 시스템
|
16 |
16
제12항에 있어서,상기 TLB를 제공하는 과정은,상기 운영 체제에 의해 상기 주어진 프로세스에 대한 메모리 매핑 분포를 스캔하여 상기 앵커 엔트리를 지정하기 위한 상기 앵커 거리를 선택하는 것을 특징으로 하는 시스템
|
17 |
17
제16항에 있어서,상기 TLB를 제공하는 과정은,상기 프로세스에 대해 요구되는 TLB 엔트리의 수를 최소화 하는 알고리즘을 이용하여 상기 앵커 거리를 선택하고,상기 앵커 거리마다 지정된 상기 앵커 엔트리에 인접 청크의 연속성 정보를 기입하는 것을 특징으로 하는 시스템
|