'컴퓨터 구조 및 설계 MIPS edition 제 6판' 교재와 국민대학교 임은진 교수님의 강의를 바탕으로 작성한 글입니다.
정리 과정에서의 오류 및 오타가 있을 수 있습니다 :)
[ Lecture 23 / 교재 5.1 ] 메모리 계층 구조
당신이 노트를 가지고 컴퓨터 구조를 공부하러 도서관에 갔다고 상상해보자. 책상에 앉아서 공부하다가 아리송한 부분이 생긴 당신은 책상에서 일어나 컴퓨터에 관련된 교재들이 있는 책장으로 향한다. 책장에 가보면 다양한 컴퓨터 관련 교재들이 있을 것이고, 그 중에서 당신은 '컴퓨터 구조 및 설계 제 6판'을 골라서 책상으로 가져왔다. 다시 책상에 앉아 아리송한 부분의 내용을 살펴보고, 노트에 정리하며 공부한다. 공부하다보면 또 교재를 살피고 싶은 부분이 있을 것이다. 하지만 그때는 또 책장까지 가서 책을 가져오지 않아도 된다. 책이 이미 책상에 있기 때문이다. 옆에 있는 책을 바로 펴서 볼 수 있다.
이는 지역성의 원칙(principle of locality)이 적용된다는 점에서 프로그램이 동작하는 방법과 매우 유사하다. 프로그램이 동작함에 있어서 지역성의 원칙이란 프로그램이 어떤 특정 시간에는 주소 공간 내의 비교적 작은 부분만을 접근한다는 것이다. 지역성에는 다음과 같이 두 가지 종류가 있다.
- 시간적 지역성 (Temporal locality)
- 최근에 참조된 항목은 곧 다시 참조될 확률이 높다.
- 메모리 접근이 '시간적'으로 집중되는 현상
- 어떤 정보를 찾기 위해 책장에서 책을 책상으로 가지고 왔다면, 그 책은 금방 다시 찾아보게 될 가능성이 매우 크다.
- EX) 순환문, 변수 (변수로 선언하는 이유는 다시 사용하기 위해서이다.)
- 공간적 지역성 (Spatial locality)
- 어떤 항목이 참조되면 그 근처에 있는 다른 항목들이 곧바로 참조될 가능성이 높다
- 메모리 접근이 '공간적'으로 집중되는 현상
- 컴퓨터 구조에 대한 내용을 찾기 위해 초창기 컴퓨터에 대한 책을 가져올 때, 그 책 옆의 기계식 컴퓨터에 관한 다른 책도 있음을 알게 되고, 그 책도 가지고 와서 나중에 거기에서 유용한 정보를 찾을 수도 있는 것이다. 도서관은 같은 주제에 대한 책들을 같은 서가에 두어서 공간적 지역성을 높인다.
- EX) 명령어의 순차적 실행, 배열의 접근
컴퓨터의 메모리를 메모리 계층구조로 구현함으로써 지역성의 원칙을 이용할 수 있다.
메모리 계층구조(memory hiearchy)란 여러 계층의 메모리를 사용하는 구조이다.
프로세서로부터 거리가 멀어질수록 메모리의 크기와 접근시간은 증가하고 비트당 가격은 내려간다.
한 쌍의 메모리 계층에는 상위 계층(upper level)과 하위 계층(lower level)이 있다고 한정해서 생각해보자. 메모리 계층 구조의 목적에 따라 상위 계층은 하위 계층보다 더 비싼 기술을 사용하며, 작고 빠를 것이다. 관련한 개념으로는 아래 3가지가 있다.
- block(line)
두 계층간 데이터 전송의 최소 단위 - hit
프로세서가 요구한 데이터가 상위 계층의 어떤 블록에 있을 때, 이를 hit이라고 한다. (책상에서 책을 찾은 것이다.) - miss
프로세서가 요구한 데이터를 상위 계층에서 찾을 수 없을 때, 이를 miss라고 한다. 이때는 필요한 데이터를 포함하는 블록을 찾기 위해 하위 계층 메모리를 접근하게 된다. (책상에 책이 없어서, 책장으로 가서 책을 찾는 것이다.)
이 다음 글에서는 메모리 계층구조에서 사용되는 주요 기술(SRAM, DRAM, Flash Memory, Magnetic disk)에 대해 알아보자.
다음 글 바로가기 2023.11.25 - [컴퓨터구조] - [컴퓨터 구조] 5.2 메모리 기술 및 종류(SRAM, DRAM, Flash Memory, Magnetic Disk)
'컴퓨터구조' 카테고리의 다른 글
[컴퓨터 구조] 4.10 예외(Exception) (0) | 2023.12.14 |
---|---|
[컴퓨터 구조] 4.9 제어 해저드(Brach Hazard Exception) (0) | 2023.12.14 |
[컴퓨터 구조] 5.7 가상메모리(VM) (0) | 2023.12.12 |
[컴퓨터 구조] 5.3 캐시(cache) (2) | 2023.11.25 |
[컴퓨터 구조] 5.2 메모리 기술 및 종류(SRAM, DRAM, Flash Memory, Magnetic Disk) (0) | 2023.11.25 |