Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

asel0joo

[CS개념] 가상 메모리, MMU, TLB 본문

IT 개념정리

[CS개념] 가상 메모리, MMU, TLB

에이쎌 2023. 3. 17. 16:35

가상메모리 구조

실제 프로세스가 사용하는 메모리는 생각보다 작기 때문에 컴퓨터에 있는 가상메모리를 만들어 더 많은 공간을 사용할 수 있는 것처럼 하기 위함이다.

 

가상 메모리가 필요한 이유는 무엇일까?

  • 시스템 안전성을 위함이다.
  • 프로그램을 실행시키다가 프로그램이 사망하는 경우가 있는데, 그 경우 OS를 재실행해야 하는데 가상 메모리를 사용하면 그렇지 않아도 된다.

동작하는 방법은?

프로세스에서 필요한 부분의 데이터만 가상 메모리에 올려 사용한다. 

CPU에서 MMU에게 가상주소를 달라고 요청하고, MMU는 Memory에서 물리주소를 반환해 CPU에게 전달한다.

 

각 프로세스에서 필요한 데이터만 가상메모리에 데이터 올리기

 

이때, MMU가 Memory에게 물리주소가 있는지 확인할 때 CPU는 기다리고 있어야 한다. 개발자들은 CPU가 놀고있는 꼴을 또 못본다. 그래서 CPU를 어떻게 하면 더 일을 시킬 수 있을지 고민해 나온 것이 TLB이다. 최근에 일어난 주소를 TLB에 저장해놓고 CPU가 가상주소를 요청 할 때, TLB에 주소가 있으면 바로바로 가져다 준다. 그래서 일하는 속도를 조금 더 줄일 수 있었다.