1 |
1
복수의 코어들을 위한 가상 메모리를 관리하는 메모리 관리 유닛(Memory Management Unit; MMU)에 있어서,상기 각 코어들에 대응하는 복수의 변환 색인 버퍼(translation lookaside buffer; TLB)들;상기 각 코어들 및 상기 각 TLB에 대응하며, 대응하는 TLB에 동기화되는 복수의 페이지 테이블들 - 상기 복수의 페이지 테이블 중 어느 하나는 메인 페이지 테이블임 -; 및상기 복수의 페이지 테이블들에 포함되는 가상 페이지-물리 페이지 매핑 정보들을 포함하는 메타 페이지를 포함하는 메모리 관리 유닛으로서, 상기 메타 페이지는 가상 페이지-물리 페이지 매핑이 복수의 TLB에 저장되었는지의 여부를 나타내는 공유 비트 필드 및 접근 코어 비트 필드를 포함하고, 상기 접근 코어 비트 필드에는 가상 페이지에 접근한 코어를 식별하는 정보가 포함되며,상기 페이지 테이블은 상기 코어에 대응하는 페이지 테이블이 메인 페이지 테이블인지 여부에 기초하여 갱신되고,상기 메타 페이지는 상기 페이지 테이블의 갱신에 기초하여 갱신되되,상기 메타 페이지의 상기 공유 비트 필드 및 상기 접근 코어 비트 필드 중 적어도 하나 이상의 값이 갱신되는 것을 특징으로 하는, 메모리 관리 유닛
|
2 |
2
제 1 항에 있어서,상기 복수의 페이지 테이블들은 각 엔트리가 유효한지 여부를 나타내는 엔트리 유효 필드를 포함하고,상기 복수의 코어들 중 어느 하나의 코어가 신규 가상 페이지에 접근하고자 시도하는 경우:상기 어느 하나의 코어에 대응하는 페이지 테이블이 메인 페이지 테이블인 경우에, 상기 어느 하나의 코어에 대응하는 페이지 테이블의 엔트리에 가상 페이지-물리 페이지 매핑 정보가 등록되고, 상기 엔트리에 대응하는 엔트리 유효 필드의 비트가 유효 비트로 갱신되는 것을 특징으로 하는, 메모리 관리 유닛
|
3 |
3
제 2 항에 있어서,상기 복수의 코어들 중 어느 하나의 코어가 신규 가상 페이지에 접근하고자 시도하는 경우:상기 어느 하나의 코어에 대응하는 페이지 테이블이 메인 페이지 테이블이 아닌 경우에, 상기 어느 하나의 코어에 대응하는 페이지 테이블 및 상기 메인 페이지 테이블의 엔트리들에 가상 페이지-물리 페이지 매핑 정보가 등록되고,상기 어느 하나의 코어에 대응하는 페이지 테이블에 등록된 가상 페이지-물리 페이지 매핑 정보의 엔트리에 대한 엔트리 유효 필드의 비트가 유효 비트로 갱신되는 것을 특징으로 하는, 메모리 관리 유닛
|
4 |
4
제 3 항에 있어서,상기 복수의 코어들 중 어느 하나의 코어가 메타 페이지에 이미 등록된 가상 페이지에 접근하고자 시도하는 경우, 상기 메타 페이지의 상기 공유 비트 필드가 갱신되는 것을 특징으로 하는, 메모리 관리 유닛
|
5 |
5
복수의 코어들을 위한 가상 메모리를 관리하는 메모리 관리 유닛(Memory Management Unit; MMU)의 동작 방법에 있어서,상기 복수의 코어들 중 어느 하나의 코어에 의해 가상 메모리 번호 접근 요청을 수신하는 단계;상기 가상 메모리 번호 접근을 요청한 코어의 페이지 테이블이 메인 페이지 테이블인지 판별하는 단계;상기 메인 페이지 테이블인지 여부에 따라, 페이지 테이블을 갱신하는 단계; 및상기 페이지 테이블의 갱신에 기초하여 메타 페이지를 갱신하는 단계를 포함하되,상기 메타 페이지는 가상 페이지-물리 페이지 매핑이 복수의 TLB에 저장되었는지의 여부를 나타내는 공유 비트 필드 및 접근 코어 비트 필드를 포함하고, 상기 접근 코어 비트 필드에는 상기 가상 메모리 번호에 접근한 코어를 식별하는 정보가 포함되며,상기 페이지 테이블은 상기 코어에 대응하는 페이지 테이블이 메인 페이지 테이블인지 여부에 기초하여 갱신되고,상기 메타 페이지는 상기 페이지 테이블의 갱신에 기초하여 갱신되되,상기 메타 페이지의 상기 공유 비트 필드 및 상기 접근 코어 비트 필드 중 적어도 하나 이상의 값이 갱신되는 것을 특징으로 하는 메모리 관리 유닛의 동작 방법
|
6 |
6
제 5 항에 있어서,상기 메인 페이지 테이블인지 여부에 따라, 페이지 테이블을 갱신하는 단계는, 상기 가상 메모리 번호 접근을 요청한 코어의 페이지 테이블이 메인 페이지 테이블인 경우:해당 페이지 테이블의 가상 페이지 번호-물리 페이지 번호 엔트리를 갱신하는 단계를 포함하는, 메모리 관리 유닛의 동작 방법
|
7 |
7
제 5 항에 있어서,상기 메인 페이지 테이블인지 여부에 따라, 페이지 테이블을 갱신하는 단계는, 상기 가상 메모리 번호 접근을 요청한 코어의 페이지 테이블이 메인 페이지 테이블이 아닌 경우:상기 가상 메모리 번호 접근을 요청한 코어의 페이지 테이블의 가상 페이지 번호-물리 페이지 번호 엔트리를 갱신하는 단계; 및상기 메인 페이지 테이블의 가상 페이지 번호-물리 페이지 번호 엔트리를 갱신하는 단계를 포함하되, 상기 메인 페이지 테이블의 경우, 가상 페이지-물리 페이지 맵핑 정보만 갱신되는 것을 특징으로 하는 메모리 관리 유닛의 동작 방법
|
8 |
8
제 5 항에 있어서,상기 페이지 테이블의 갱신에 기초하여 메타 페이지를 갱신하는 단계는, 가상 페이지 번호에 대응하는 엔트리의 상기 접근 코어 비트 필드를 갱신하는 단계; 및상기 가상 페이지 번호에 복수의 코어가 접근했는지 여부에 따라 상기 공유 비트 필드를 갱신하는 단계를 포함하는, 메모리 관리 유닛의 동작 방법
|
9 |
9
복수의 코어들을 위한 가상 메모리를 관리하는 메모리 관리 유닛(Memory Management Unit; MMU)의 동작 방법에 있어서,페이지 회수 요청을 수신하는 단계;상기 페이지 회수 요청에 기초하여 현재 코어 내 LRU(least recently used) 목록에서 victim 페이지를 선정하는 단계;해당 페이지가 공유 페이지인지 여부를 판별하는 단계;상기 공유 페이지 여부의 판별 결과에 기초하여, victim에 해당하는 페이지 테이블의 엔트리를 삭제하는 단계; 및상기 페이지 테이블의 엔트리에 대응하는 변환 색인 버퍼(translation lookaside buffer; TLB)를 무효화하는 단계를 포함하되,메타 페이지에 기초하여 상기 해당 페이지가 공유 페이지인지 여부가 판별되고,상기 메타 페이지는 상기 페이지 테이블의 갱신에 기초하여 갱신된 것을 특징으로 하는 메모리 관리 유닛의 동작 방법
|
10 |
10
제 9 항에 있어서, 상기 해당 페이지가 공유 페이지인 경우, 상기 변환 색인 버퍼 무효화 단계 이후에,삭제된 상기 페이지 테이블 엔트리에 기초하여 상기 메타 페이지를 갱신하는 단계; 및다른 코어의 LRU 목록에서 victim 페이지를 검색하는 단계를 더 포함하는, 메모리 관리 유닛의 동작 방법
|