https://stackoverflow.com/questions/16662834/is-cache-miss-a-kind-of-interrupt-fault
운영체제를 공부하던 중 TLB miss 와 Cache miss 차이가 뭔가 알아보다가 찾은 글.
TLB miss는 exception이 발생하고, exception 핸들러가 OS에게 '소프트웨어적'으로 도움을 요청하는데
이때 발생하는 오버헤드가 크다. 따라서 TLB 는 fully associative 를 사용하고
TLB miss handling 을 가속화하기 위해서 HW page walker 를 이용한다.
Cache miss는 반면에 set-associative 를 많이 쓴다. fully를 쓰면 비용이 너무 커지기 때문에.
그렇다면 Cache miss 는 TLB 처럼 exception 이 발생하지 않는것인가? 라는 고민을 했는데
위의 글에서 Cache Miss 는 processor가 '하드웨어적'으로 자체 처리할 수 있게 define 되어있다고 한다.
processor 가 바로 접근할 수 있는 낮은단계의 cache 나 main memory에 있기 때문에.
반응형
'잡다한 IT > 운영체제' 카테고리의 다른 글
디바이스 드라이버와 디바이스 컨트롤러 차이 (0) | 2018.04.21 |
---|---|
polling 과 busy waiting 차이점 (0) | 2018.04.17 |
임베디드 관련 공부 (0) | 2018.04.05 |
캐시 (0) | 2018.04.04 |
페이지 테이블, 가상 메모리 (0) | 2018.03.31 |