4. 컴퓨터 시스템 및 정보통신/컴퓨터시스템

가상주소 물리주소 변환(Page table, TLB)

SWExpert 2022. 8. 11. 21:23

I. 가상주소와 물리주소간의 변환, 가상메모리 관리

. 가상메모리 관리의 정의

 

 

프로그렘에 실제 메모리 주소가 아닌 논리 메모리 주소를 전달하여 메모리 확장 효과

하드디스크의 큰 공간을 활용하여 주기억장치보다 더 큰 공간을 제공가능

 

II. 페이지 테이블을 이용한 직접사상 과정 및 원리

. 페이지 테이블을 이용한 직접사상 절차도

 

. 페이지 테이블을 이용한 직접사상 절차 및 원리

 

구분 절치 및 원리 내용
절차 가상주소참조 수행중인 프로세스는 논리적인 주소를 참조
프레임검색 페이지 테이블에 저장되어 있는 페이지 프레임을 검색
물리주소 변환 검색된 페이지 프레임과 변위 주소 값을 더해서 변환
메모리접근 변환된 물리적 주소 값을 통해 메인 메모리 접근
가상주소 가상주소 페이지 가상 주소 =페이지번호 +Offset
Paging Page 일정한 크기의 고정 단위로 나뉘어진 단위
Main memory 실제 물리적인 주소 공간을 지닌 Unit
Page Frame 일정한 크기로 나뉘어진 메인 메모리 단위
Page Table Page들을 리스트로 구성하고 있는 집합
Page Fault
Page TablePage가 존재하지 않을 경우 발생

 

 

III. TLB를 이용한 간접사상 과정 및 원리

. TLB을 이용한 간접사상 과정

 

 

 

. 간접사상 방식의 원리

구분 절치 및 원리 내용
절차 TBL 검색 가상 주소가 물리 메모리 주소로 변환되어야 할 때, 먼저 TLB를 검색
물리주소변환 TLB에서 검색이 성공하면(TLB hit), 즉시 물리 메모리 주소를 반환
페이지 테이블검색 만약, TLB에서 검색이 실패하면(TLB miss), 페이지 테이블을 검색 (Page walk)
TLB 업데이트 페이지 테이블에서 일치하는 매핑 데이터를 찾았다면, 해당 정보를 TLB에 업데이트 (TLB Write)
TBL TLB Hit 가상주소가 TLB에 존재
물리주소 통해 Cache 검색
Cache 에서 Hit 되면 Data CPU 에게 전달
TLB Miss 가상주소가 TLB에 없음
가상주소로 페이지테이블 검색
TLB Write 페이지테이블에서 찾은 항목을 TLB에 갱신
구분 설명 TLB 동작
TLB Hit 가상주소에 해당되는 페이지 테이블 항목이 TLB에 있음 CPU가 TLB를 통해 물리주소생성
TLB Miss 가상주소에 해당되는 페이지 테이블 항목이 TLB에 없음 주기억장치 페이지 테이블 참조 후 TLB 갱신
TLB Fault 가상주소에 해당되는 페이지 테이블 항목이 TLB와 주기억장치에 모두 없음 디스크로부터 페이지 반입 후 페이지테이블 갱신

III. 페이지 테이블과 TLB 방식간 비교

구분 직접사상에 의한 주소 변환 TLB에 의한 주소 변환
사상방식 Direct Mapping Association Mapping
페이지 테이블 위치 주기억장치 내 고속 특수 Cache
장단점 데이터 접근 위해 주기억장치 두 번 접근으로 인한 시간 지연 TLB 모든 항목을 병렬로 고속탐색
가격이 비싸기 때문에 적용 한계

IV. TLB 성능 향상 방법

1.페이지 크기를 증대시키는 방법
-메모리 사상의 적용 정도 증가, 페이지 내부단편화 증가
2.다중 페이지를 지원하는 방법

 

-적은 내부 단편화로 페이지 사용 가능