본문 바로가기
컴퓨터구조

컴퓨터구조 13주차

by mokhwasomssi 2021. 3. 15.

3/8 월 ~ 3/14 일 : 36분

 

4장 프로세서 - 파이프라인 잠깐 건너뛰고 5장 메모리 계층구조

 

3/12 금 : 36분


5.1 서론

지역성의 원칙(principle of locality)

프로그램은 어떤 특정 시간에는 주소공간내의 비교적 작은 부분에만 접근한다는 것이 지역성의 원칙이다. 

 

시간적 지역성(temporal locality)

만약 어떤 항목이 참조되면, 곧바로 다시 참조되기가 쉽다.

즉 여러분이 어떤 정보를 찾기 위해 책을 책상으로 가지고 왔다면, 그 책을 다시 찾아보게 될 가능성이 매우 크다.

 

공간적 지역성(spatial locality)

어떤 항목이 참조되면, 그 근처에 있는 다른 항목들이 곧바로 참조될 가능성이 높다.

같은 주제에 대한 책들은 공간적 지역성을 높이기 위해 서가에 함께 정리되어 있다. 

 

책상 위의 책을 찾는 예가 자연스럽게 지역성을 드러내는 것과 같이,

프로그램에서의 지역성은 단순하고도 자연스러운 프로그램 구조에서 나온다. 

 

예를 들어 대부분의 프로그램들이 순환문 구문을 갖고 있고

순환문은 명령어와 데이터에 반복적으로 접근하므로, 상당히 큰 시간적 지역성을 보여 준다. 

 

명령어들은 대개 순차적으로 접근되기 때문에 큰 공간적 지역성을 보여 준다.

 

데이터 접근에도 자연스럽게 공간적 지역성이 나타난다. 

예를 들어 배열이나 레코드의 요소들에 접근할 때는 대개 큰 공간적 지역성을 갖는다. 

 

컴퓨터의 메모리를 메모리 계층구조(memory hierarchy)로 구현함으로써 지역성의 원칙을 이용할 수 있다. 

메모리 계층구조는 서로 다른 속도와 크기를 갖는 여러 계층의 메모리로 구성되어 있다. 

가장 빠른 메모리는 더 느리 메모리보다 비트당 가격이 비싸기 때문에 대개 그 크기가 작다. 

 

그림 5.1에서 빠른 메모리는 프로세서에 가깝게 두고, 느리고 싼 메모리를 그 아래에 두었다. 

메모리 계층구조의 목적은 사용자에게 가장 빠른 메모리가 갖고 있는 접근 속도를 제공하면서

동시에 가장 싼 기술로 최대한 큰 메모리 용량을 제공하는 것이다. 

 

그림 5.1 메모리의 계층구조의 기본 구성

 

데이터도 이와 유사한 계층구조를 갖는다.

 

프로세서에 가까운 계층은 먼 계층의 부분집합이고, 가장 낮은 계층에는 모든 데이터가 다 저장되어 있다.