OS와 하드웨어
TLB의 각 항목에 ASID(주소 공간 식별자)를 붙이는 이점으로 올바른 것은 무엇입니까?
- A전환할 때 TLB를 전부 비우지 않고도 변환을 구별할 수 있다
- B하나의 프로세스가 사용할 수 있는 가상 주소의 범위를 두 배로 할 수 있다
- C페이지 테이블이 필요 없어져 모든 변환을 TLB만으로 수행할 수 있다
정답과 해설 보기
정답: A. 전환할 때 TLB를 전부 비우지 않고도 변환을 구별할 수 있다
ASID가 없으면 프로세스마다 같은 가상 주소가 다른 물리 주소를 가리키므로 프로세스를 전환할 때마다 TLB를 비워야 하고, 전환 후 TLB 미스가 이어집니다. 각 항목에 ASID를 붙이면 어느 프로세스의 변환인지 구별할 수 있으므로 TLB를 비우지 않고 남겨 둘 수 있고, 원래 프로세스로 돌아왔을 때도 재사용할 수 있습니다. 가상 주소의 범위는 달라지지 않으며, TLB에 다 들어가지 못하는 변환을 위해 페이지 테이블은 계속 필요합니다.
- A. 올바릅니다. 프로세스별 변환을 구별할 수 있어 전환 시 TLB를 비우지 않아도 됩니다.
- B. 가상 주소의 범위는 달라지지 않습니다.
- C. TLB는 일부 변환만 가질 수 있으며 페이지 테이블은 필요합니다.