[컴퓨터 구조] 캐시 메모리

byeol·2023년 3월 16일
0

오늘은 저장 장치 계층 구조와 앞서 배웠던 SRAM을 이용한 캐시 메모리에 대해서 배운다.

CPU의 연산속도보다 CPU가 메모리에 접근하는 시간이 더 느리다고 한다. 이를 극복하기 위해서 캐시 메모리가 둘 사이에 위치하고 있다.

위와 같이 저장 장치는 각각의 장단점을 가지고 있고 단점을 보완해줄 만한 적절한 곳을 찾아서 곳곳에 쓰이고 있다.
이를 저장 장치 계층 구조를 통해서 자세히 알아보자

오늘도 🏃🏃🏃‍♂️🏃‍♂️🏃‍♀️🏃‍♀️

저장 장치 계층 구조

배우면서 알게 된 것은
저장장치는 비싸면 속도가 빠르고 작은 용량을 저장할 수 있고
가격이 저렴하면 속도가 느리고 대용량을 저장할 수 있었다.

이 특징을 이용해서 CPU는 저정장치의 위치를 결정한거 같다.

CPU와 가까운 저장 장치는 용량이 작고 속도가 빠르며 가격이 비싸다. CPU와 먼 저장 장치는 용량이 크고 속도가 느리며 가격이 저렴하다.

이를 나타낸 계층 구조를 저장 장치 계층 구조라고 한다.
즉 CPU와 얼마나 가까운가를 나타낸 저장장치 구조입니다.

캐시 메모리

위 저장 장치 계층 구조를 보면 CPU 레지스터와 주기억장치인 메모리 사이에 캐시 메모리가 존재하는 것을 볼 수 있다.

앞서 설명했지만 CPU의 연산 속도가 메모리 접근 속도보다 빠르기 때문에 아무리 CPU의 성능을 향상시켜도 메모리 접근 속도가 느리기 때문에 CPU의 성능은 컴퓨터 성능에 아무런 도움을 주지 못한다.

이를 개선하기 위해서 둘 사이에 SRAM 기반의 저장 장치인 캐시 메모리를 두었다. 캐시 메모리는 DRAM인 메모리에 비해서 접근 속도가 빠르다.

캐시 메모리는 사용할 만한 데이터를 메모리에서 가져와 저장해두고 있고 이를 CPU가 접근해서 사용한다.

캐시 메모리에도 계층이 존재한다.
CPU와 가까운 순으로 L1캐시, L2 캐시, L3캐시가 있으며
L1캐시와 L2캐시는 코어 내부에 있고 L3캐시는 코어 외부에 있다.
L1의 경우 조금이라도 접근 속도를 빠르게 하기 위해서 명령어만 저장하는 L1I캐시와 데이터를 저장하는 L1D캐시로 분리하는 경우가 있으며 이를 분리형 캐시라고 한다.

따라서 멀티코어 프로세서는 코어 개수만큼 L1과 L2를 가지고 있다.

저장 장치 계층 구조는 아래왁 같이 구체화된다.

캐시 메모리는 CPU가 메모리에서 가져올만한 데이터를 읽어와 저장하고 있다고 했다.

그렇다면 어떻게 CPU가 가져올만한 데이터를 예상하고 저장하는 것일까?

참조 지역성 원리

캐시 메모리는 CPU가 사용할 만한 데이터를 메모리에서 복사하여 저장한다.

이때 예측한 데이터가 실제로 CPU에 활용될 경우를 캐시 히트
반대로 예측에 실패한 경우를 캐시 미스라고 한다.

캐시 히트가 높을 수록 CPU의 성능은 높다.

캐시 적중률 = 캐시 히트/(캐시 히트 + 캐시 미스)

어떻게 예측할까?

바로 참조 지역성의 원리에 따라 예측한다.

참조 지역성은 경향을 파악하는 것이다.

  • 최근 접근했던 메모리 공간에 다시 접근하려는 경항 = 시간 지역성
  • 접근한 메모리 공간 근처를 접근하려는 경향 = 공간 지역성

을 파악하여 저장한다.

profile
꾸준하게 Ready, Set, Go!

0개의 댓글