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 |