Knowledge/이론

MMU와 TLB

똑똑한망치 2024. 1. 26. 21:38
728x90
반응형

1. 가상메모리와 MMU


  • 프로세스는 가상 주소를 사용하고 CPU에게 가상 주소를 알려준다.
  • CPU에서 코드 실행시 또는 가상주소 메모리 접근 필요시, 가상주소를 실제 메모리의 물리주소로 변환해주는 하드웨어 장치가 필요하다.
    • 하드웨어 장치를 사용해야 주소 전환이 빠르기 때문에 별도의 하드웨어 장치를 둔다.
  • 이 하드웨어 장치를 MMU (Memory Manage Unit) 이라고 한다.
  • 가상주소를 실제 메모리의 물리주소로 변환하는 것을 MMU의 동적 주소 변환(DAT : Dynamic Address Translation)이라고 한다.

 

 

 

 


 

 

 

 

2. MMU와 TLB


 

MMU는 물리 주소 확인을 위해 메모리에 갔다 와야 한다.

 

(1) MMU 동작 과정

  • (1) : Virtual Address 를 요청한다.
  • (2) : CPU안에 있는 프로세스 안에 있는 PCB 안의 CR3 레지스터에서 얻은 정보로 해당 페이지 테이블로 이동한다.
    • CR3 레지스터 : 페이지 테이블이 메모리 안에 어디에 있는지 위치 정보를 저장하는 레지스터
  • (3) : 매핑 정보를 MMU에게 전달한다.
  • (4) : 해당 매핑정보를 가지고 Physical Address에 접근한다.
  • (5) : Data를 CPU에게 전달한다.

 

 

(2) TLB (Translation Look-aside Buffer)

  • 변환 색인 버퍼라고도 한다.
  • 최근 접근한 가상주소에 대한 물리 주소 정보가 저장되어 있다. 즉. 가상주소를 물리주소로 변환하는 속도를 높이기 위해 사용하는 캐시이다.
  • MMU가 (2) 과정을 실행하기 전에 TLB에 접근했던 캐시 기록이 있다면 (2) ~ (5) 과정을 수행하지 않고 바로 물리주소정보를 CPU에게 전달한다.
반응형

'Knowledge > 이론' 카테고리의 다른 글

JPA & JDBC  (0) 2024.01.27
운영체제 구조  (1) 2024.01.26
가상 메모리와 페이징 시스템  (0) 2024.01.23
데드락(Deadlock)  (0) 2024.01.23
뮤텍스와 세마포어  (0) 2024.01.23