ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Cache
    Computer Science/Operating System 2020. 11. 11. 13:55

    [OS] Cache



    Processor가 아무리 빨라도, 메무리가 느리면 효율이 떨어진다. 이를 개선하기 위해 캐시를 사용한다.

    • 캐시에 자주 사용하는 Data를 담아두고, 필요시 processor가 메인 메모리 대신 캐시로 접근해서 처리 속도를 높인다.

    Principle of Locality

    자주 사용하는 것에 대한 판단 기준은 시간 지역성공간 지역성이 존재한다.

    • 시간 지역성 : 최근 접근한 data에 다시 접근한다.
    • 공간 지역성 : 최근 접근한 data의 주변 공간에 다시 접근한다.

    Cache의 종류

    1. L1 Cache
      • Instruction cache : 메모리의 text 영역을 다룬다.
      • data cache : text 영역을 제외한 모든 data를 다룬다.
    2. L2 Cache : 용량이 큰 캐시
    3. L3 Cache : 멀티 코어 System에서 여러 코어가 공유하는 캐시.

    Hit - cpu에서 요청한 data가 캐시에 존재하는 경우.

    Hit Latency - hit가 발생해 캐싱된 data를 가져올 때 소요되는 시간.

    Miss - cpu에서 요청한 data가 캐시에 존재하지 않는 경우.

    Miss Latency - miss가 발생해 상위 캐시에서 data를 가져오거나, 메모리에서 데이터를 가져올 때 소요되는 시간.



    캐시 성능 올리기

    1. 캐시 크기를 줄여, Hit Latency를 내린다.
    2. 캐시 크기를 늘려 miss rate를 감소시킨다.
    3. 더 빠른 캐시로 latency를 줄인다.

    Cache organization

    • 주소가 key로 주어지면, 해당 공간에 즉시 접근이 가능하다.

    ⇒ 캐시가 하드웨어로 구현한 hashtable과 같다.

    캐시가 빠른 이유는, hash table의 검색 Time Complexity가 O(1)이기 때문이다.



    댓글

Designed by Tistory.