[Computer Architecture] 캐시 메모리

dohyoungK·2023년 10월 11일
0

CS 정리노트

목록 보기
5/5
post-thumbnail

[Computer Architecture] 캐시 메모리


캐시 메모리(Cache Memory)

속도가 빠른 장치와 느린 장치간의 병목 현상(시스템 성능 제한)을 줄이기 위한 메모리로, 자주 사용하는 데이터를 캐시 메모리에 저장한 후, 다음에 이용할 때 캐시 메모리에서 먼저 가져오는 방식으로 속도를 향상시킨다.

동작 원리(데이터 지역성)

캐시의 지역성

지역성이란 기억장치 내의 정보를 균일하게 접근하는 것이 아닌 어느 한순간에 특정 부분을 집중적을 참조하는 특성이다. 데이터의 접근이 시간적, 공간적으로 가깝게 일어나는 것을 의미하며 캐시가 효율적으로 동작하려면, 캐시의 적중률을 극대화시켜야 한다.

  • 적중(Hit) : CPU가 주기억장치 메모리에 접근하기 전에 캐시 메모리에서 원하는 데이터가 존재한 경우

    • 적중률(Hit Ratio) = 적중 횟수 / 전체 메모리 참조 횟수 * 100
  • 부적중(Miss) : CPU가 요청한 데이터가 캐시 메모리에 없어 주기억장치에서 데이터를 찾은 경우

    • 부적중률(Miss Ratio) = 1 - 적중률
    • Cold Miss : 해당 메모리 주소를 처음 불러서 나는 미스
    • Conflict Miss : 캐시 메모리에 A와 B 데이터를 저장해야 하는데, A와 B가 같은 캐시 메모리 주소에 할당되어 있어서 나는 미스
    • Capacity Miss : 캐시 메모리의 공간이 부족해서 나는 미스

시간적 지역성

특정 데이터가 한 번 접근되었을 경우, 가까운 미래에 또 한 번 데이터에 접근할 가능성이 높은 것이 시간적 지역성이라 한다. ex) for, while 같은 반복문

공간적 지역성

특정 데이터와 가까운 주소가 순서대로 접근되었을 경우를 공간적 지역성이라 한다. ex) A[0], A[1] 같은 배열 데이터


매핑 프로세스

주기억장치로부터 캐시 메모리로 데이터를 전송하는 방법

직접 매핑(Direct Mapping)

가장 기본적인 구조로, 메모리와 캐시를 같은 크기로 나누고 순서대로 매핑하는 방식이다. 간단하고 빠르지만 Conflict Miss가 발생하는 것이 단점이다.

연관 매핑(Associate Mapping)

순서를 일치시키지 않고, 메모리 값을 캐시의 어디든 저장할 수 있는 방식으로, 저장할 때는 매우 간단하지만 데이터를 찾을 때가 매우 복잡하기 때문에 가격이 비싸다.

직접 연관 매핑(Set-Associate Mapping)

Direct와 Associate를 합친 방식으로, 순서를 일치시키고 편하게 저장하되, 그룹을 두고 그룹 내에서 편하게 저장하는 방식이다. Direct에 비해 검색 속도는 느리지만 저장이 빠르고, Associate에 비해 저장이 느린 대신 검색이 빠르다.

0개의 댓글