[컴퓨터구조] 6강. 캐시 기억장치

캐시 기억장치


컴퓨터 기억장치의 계층적 구조

컴퓨터의 기억장치의 용량, 접근 속도, 가격의 상관관계


기억장치 계층구조


캐시 기억장치의 원리

캐시 기억장치 동작 원리


캐시 기억장치 동작 방법

  1. CPU로부터 주소를 전달 한다.

  2. cache 기억장치에 명령어가 존재하는지 유뮤를 파악하고

    1. 있다면 획득한 명령어를 CPU로 전송한다. (완료)
    2. 없다면 3번을 수행한다.
  3. 명령어를 포함한 주 기억 장치에 접근

  4. 주기억 장치로부터 명령어 블록을 전송받기 위한 캐쉬 슬롯을 할당

  5. 주기억 장치의 명령어 블록을 캐쉬에 저장하고, CPU에 전송한다. (완료)


캐시 메모리의 계층화


참조의 지역성 (locality of reference)


캐시 기억장치가 있는 시스템


적중률 (Hit ratio)


T(cache) = 50ns, T(main) = 400ns일 때,
적중률을 증가시키면서 기억장치 접근시간 T(average)을 계산해 봅시다.

적중률 70%의 경우 T(average) = 0.7 * 50ns + 0.3 * 400ns = 155ns
적중률 80%의 경우 T(average) = 0.8 * 50ns + 0.2 * 400ns = 120ns
적중률 90%의 경우 T(average) = 0.9 * 50ns + 0.1 * 400ns = 85ns
적중률 95%의 경우 T(average) = 0.95 * 50ns + 0.05 * 400ns = 67.5ns
적중률 99%의 경우 T(average) = 0.99 * 50ns + 0.01 * 400ns = 53.5ns


캐시 기억장치의 적중률이 높아질수록 평균 기억장치 접근시간은 캐시 기억장치 접근시간에
근접하게 되어 컴퓨터의 처리 속도의 성능 향상을 가져옴!


캐시 기억장치의 설계

캐시 기억장치를 설계함에 있어 공통적인 목표


캐시 기억장치를 설계할 때 고려 사항


캐시 기억장치의 인출 방식


사상함수란?


교체 알고리즘

캐시 기억장치가 가득 차 있는 상태에서 캐시 기억장치의 일부를 제거(회수)하고,
주기억장치로부터 새로운 데이터를 가져와야 하는 경우 캐시의 내용을 제거하는 방식


교체 알고리즘의 종류


FIFO 기법에 의한 주기억장치 상태 변화 과정

시간 1 2 3 4 5 6 7 8 9 10 11 12 13 14
참조 스트링 1 2 6 1 4 5 1 2 1 4 5 6 4 5
주기억장치 상태 1 1 1 1 1 5 5 5 5 5 5 5 4 4
    2 2 2 2 2 1 1 1 1 1 1 1 5
      6 6 6 6 6 2 2 2 2 2 2 2
          4 4 4 4 4 4 4 6 6 6
페이지 부재 발생 여부 F F F   F F F F       F F F


LRU 기법에 의한 주기억장치 상태 변화 과정

시간 1 2 3 4 5 6 7 8 9 10 11 12 13 14
참조 스트링 1 2 6 1 4 5 1 2 1 4 5 6 4 5
주기억장치 상태 1 1 1 1 1 1 1 1 1 1 1 1 1 4
    2 2 2 2 5 5 5 5 5 5 5 5 5
      6 6 6 6 6 2 2 2 2 6 6 6
          4 4 4 4 4 4 4 4 4 4
페이지 부재 발생 여부 F F F   F F   F       F    


LFU 기법에 의한 주기억장치 상태 변화 과정

시간 1 2 3 4 5 6 7 8 9 10 11 12 13 14
참조 스트링 1 2 6 1 4 5 1 2 1 4 5 6 4 5
주기억장치 상태 1 1 1 1 1 1 1 1 1 1 1 1 1 4
    2 2 2 2 5 5 5 5 5 5 5 5 5
      6 6 6 6 6 2 2 2 2 6 6 6
          4 4 4 4 4 4 4 4 4 4
페이지 부재 발생 여부 F F F   F F   F       F