[컴퓨터공학]/[운영체제]

[운영체제] Paging system - 연관 사상(Associative mapping), Hybrid direct/associative mapping

딥러닝 도전기 2021. 6. 1. 22:19

그림으로 배우는 구조와 원리 운영체제 - 구현희

운영체제에 대해 공부한 내용에 대해 정리해보았습니다.

KOREATECH 김덕수 교수님의 자료와 한밭대학교 임경태 교수님의 강의를 참고하였습니다.


이전 포스팅에서 다룬 Direct mapping의 단점을 보완하는 Associative mapping과 Hybrid direct/associative mapping에 대해 알아보겠습니다.

 

Associative mapping

 

우선 Associative mapping의 키워드인 TLB에 대해 말씀드리겠습니다.

TLB(Translation Look-aside Buffer) : PMT를 저장해두기 위한 전용 하드웨어로 Direct mapping의 단점이었던 메모리의 접근 횟수와 PMT를 저장하기 위한 메모리 공간의 문제점을 해결해줍니다.

위 그림은 Associative mapping의 동작방식을 나타낸 그림입니다.

TLB에 저장되어있는 PMT를 병렬로 탐색합니다. Direct mapping에서는  b+p*entrySize를 이용해 entry의 주소를 찾는 것에 비하면 효율적인 방법입니다.(overhead가 적고 속도가 빠릅니다.)

 

하지만 TLB의 가격이 비싸기 때문에 용량이 큰 PMT를 저장하는 데에는 한계가 있습니다.


Hybrid direct/associative mapping

 

이러한 한계를 극복하기 위해 Hybrid direct/associative mapping이 등장합니다.

이 방법은 Direct mapping과 associative mapping의 장점을 취하고 단점은 버리는 방식으로 하드웨어의 비용은 줄이고, TLB는 여전히 사용하게 하여 overhead를 줄이고 속도를 높입니다..

Hybrid direct/associative mapping에서는 locality를 사용합니다. 작은 크기의 TLB에 일부 entry를 저장하는데, 효율이 좋아야 하기 때문에 시간 지역성(time locality)을 이용하여 최근에 사용한 page의 entry를 TLB에 저장해둡니다.

 

Hybrid direct/associative mapping의 작동 과정입니다.

1. 찾는 page의 entry가 TLB내에 존재하면 Associative mapping과 같이 작동합니다.

2. 찾는 page의 entry가 TLB내에 존재하지 않으면 Direct mapping과 같이 작동합니다. 이때, 시간 지역성을 활용하기 때문에 TLB에 해당 entry를 적재합니다.

반응형