본문 바로가기
5장 컴퓨터 과학/Computer Architecture

[컴퓨터 구조] 메모리 계층구조

2021. 6. 1.

메모리의 작동 방법에는 지역성의 원칙(principle of locality)가 적용된다.

  • 시간적 지역성(temporal locality)는 어떤 데이터가 참조되면 곧바로 다시 참조될 가능성이 높다는 원칙이다.
  • 공간적 지역성(spatial locality)는 하나의 데이터가 참조되면 곧바로 그 주위의 데이터가 참조될 가능성이 높다는 원칙이다.

컴퓨터의 메모리는 메모리 계층구조(memory hierarchy)로 구현함으로써 지역성의 원칙을 이용할 수 있다. 메모리 계층구조는 여러 계층의 메모리를 사용하는 구조로 서로 다른 속도와 크기를 갖는 여러 계층의 메모리로 구성되어 있다. 프로세서로부터 거리가 멀어질수록 메모리의 크기와 접근시간이 증가한다.

메모리 계층구조는 여러 계층으로 구성되지만, 데이터는 인접한 두 계층 사이에서만 한 번에 복사가 된다. 상위 계층(즉 프로세서에 가까운 계층)은 더 비싼 기술을 사용하므로 하위 계층보다 작으며 빠르다. 두 계층 간 정부의 최소 단위를 블록(block) 또는 라인(line)이라고 부른다.

프로세서가 요구한 데이터가 상위 계층의 어떤 블록에 있을 때 이를 적중(hit)이라고 부른다. 그리고 상위 계층에서 찾을 수 없다면 이를 실패(miss)라고 부른다. 이때는 필요한 데이터를 포함하는 블록을 찾기 위해 하위 계층 메모리를 접근하게 된다. 적중률(hit rate 또는 hit ratio)은 메모리 접근 중 상위 계층에서 찾을 수 있는 것의 비율로서 메모리 계층의 성능을 평가하는 척도로 이용된다. 실패율(miss rate, 1-적중률)은 메모리 접근 중 상위 계층에서 찾을 수 없는 것의 비율을 말한다.

메모리 계층구조를 만든 가장 큰 이유는 성능 향상이기 때문에 적중가 실패의 처리 속도가 매우 중요하다. 적중시간(hit time)은 메모리 계층구조의 상위 계층을 접근하는 시간이며 이 시간에는 접근이 적중인지 실패인지를 결정하는 데 필요한 시간이 포함된다. 실패 손실(miss penalty)은 하위 계층에서 해당 블록을 가져와서 상위 계층 블록과 교체하는 시간에다 그 블록을 프로세서에 보내는 데 걸리는 시간을 더한 값이다.

반응형

댓글