Page table : virtual page number : physical page number
- virtual page number를 index로 가진다.
- 대응하는 physical page number를 가지고 있다.
- valid bit도 가지고 있고, 이가 1이면 main memory 에 page가 있는 것이다.
virtual - physical address 변환에서 page offset은 변경되지 않는다.
page table은 main memory에 유지된다.
프로세서는 page table이 main memory에서 어딨는지 위치를 알고 있다. (page table register)
virtual address가 주어진 memory request이 있다.
1. 이 request은 page table로 이동하고, virtual page number로 indexed된 entry를 확인한다.
2-1. valid bit가 1인 경우, physical address가 생성된다.
3-1. physical address를 사용해서 실제 페이지가 메인메모리에서 읽혀온다.
2-2. valid bit가 0인 경우, address translation은 필요하지 않고, page fault가 발생해 page를 storage에서 가져와 main memory에 기록한다.
Translation Lookaside Buffer (TLB)
memory request는 두가지 다른 액세스가 필요하다.
1. physical address를 얻기 위해 page table에 액세스 해야한다.
2. physical address를 사용해서 data를 읽어와야한다.
현대의 컴퓨터는 자주 액세스되는 page table entries를 fast hardware unit에 유지한다.
- TLB는 page table의 일부를 저장한다.
- TLB는 자주 액세스되는 데이터를 저장하지 않는다.
먼저 virtual page number를 TLB에 제공한다.
- 만약 hit라면, page table로 이동할 필요 없이, 바로 physical address를 구할 수 있다.
- 만약 miss라면 main memory의 page table로 이동한다.
- 여기서 hit, miss는 page가 main memory에 있는지 여부를 의미하진 않는다.
'학교강의필기장 > 컴퓨터구조' 카테고리의 다른 글
컴퓨터구조[23]: virtual memory (0) | 2023.06.22 |
---|---|
컴퓨터구조[22]: associative cache (0) | 2023.06.22 |
컴퓨터구조[21]: Direct Mapped Cache for the Real World (0) | 2023.06.22 |
컴퓨터구조[20]: Access a Direct Mapped Cache (0) | 2023.06.22 |
컴퓨터구조[19]: memory, Direct Mapped Cache (0) | 2023.06.22 |