CS 캐시메모리

SungYeol Bae·2022년 7월 27일
0

캐시 메모리란?

  • 캐싱(Caching)은 컴퓨터의 처리 성능을 높이기 위한 방법!
    CPU는 데이터를 처리하기 위해 메모리와 끊임없이 데이터를 주고 받는데 이 때 CPU에 비해 메모리는 속도가 느리기 때문에 메모리에 접근할 때 CPU는 효율적으로 사용되지 못한다.

  • 캐시 메모리(cache memory)는 CPU와 메모리의 속도 차이로 인한 병목 현상을 완화하기 위해 사용한다. 캐시메모리는 메모리와 CPU 사이에 위치해 있으며, 메모리 계층 구조에서 레지스터 다음으로 상위에 위치한다.

  • 자주 사용하는 데이터를 CPU와 가까운 위치에 저장해 필요할 때 마다 빠르게 꺼내쓸 수 있다. 캐시메모리를 사용하면 CPU가 메모리에 접근하는 횟수를 줄여 성능 향상의 효과를 볼 수 있다.

참조의 지역성(Locality of Reference)

  • CPU가 한번 참조한 데이터는 다시 참조할 가능성이 높고 주변의 데이터는 다시 참조할 가능성이 높고 주변에 데이터 역시 참조될 가능성이 높다는 이론. 따라서 자주 쓰는 데이터를 캐시에 두고 데이터를 전달할 때 미리 다음에 받을 데이터까지 빠른 저장장치에 둔다면 컴퓨터의 성능이 좋아진다.

캐시 메모리의 기본 구성과 동작

  • CPU는 데이터를 요청할 때마다 캐시 메모리에서 해당 데이터 존재 여부를 확인한다. 따라서 캐시 메모리는 요청받은 데이터를 탐색하는 기능이 필요하다. 캐시 메모리는 데이터를 관리하기 위해 데이터 메모리와 태그 메모리를 사용한다.

  • 데이터 메모리 : 메모리의 데이터들이 저장된 블록으로 구성
    태그 메모리: 데이터 메모리의 블록을 탐색할 정보를 포함한다.

profile
I'm Frontend Web Engineer in Korea

0개의 댓글