본문 바로가기

학교공부/컴퓨터구조

컴퓨터구조 20 - Memory Hierarchy

 

그렇다면 왜 계층적 메모리 구성인가?

우리는 빠르고 큰 메모리를 원함 근데 싱글 level of memory에서는 제약이 많다.

 

Idea : processor에 가까이있을수록 memory faster하다. 따라서 processor가 필요한 data를 빠른쪽에 두자.

 

 

Locality

Temporal Locality : cpu가 뭔가를 했으면 곧 똑같은 행동을 또 할것이다. 

 

int a b c 선언해놓고 쓰면 높은 확률로 a b c 쓸거니까 캐시에 올려놓고 쓰면 개이득

 

Spatial Locality : a를 갖다쓰는 순간에 근접한 b c 도 그냥 줘버림

 

이 두가지 원칙으로 cache 만든다.

 

 

 

 

 

 

책장으로 메모리구조를 비유하자면

 

내 손에 있는 책 : 레지스터파일

Desk : level 1 cache

Bookshelf : level 2 cache

Boces at home : DRAM

Boxes in storage : hdd

 

cache는 insturction-cache data-cache있어서 각각 따로 data 가져옴(havard 구조)

i-cache는 메모리의 text

d-cache는 그외에서가져옴

 

출처 : https://parksb.github.io/article/29.html

요즘엔 level 3까지있는데 각 캐시 size는 가장 효율적인 크기로 결정된다. 

 

 

 

32KB면 4byte짜리 8천개 갖고놀수있다. 효율 ㅅㅌㅊ

 

 

 

 

'학교공부 > 컴퓨터구조' 카테고리의 다른 글

컴퓨터구조 SingleCycle  (0) 2020.06.15
컴퓨터구조 MIPS - 2  (0) 2020.06.14
컴퓨터구조 MIPS  (0) 2020.06.14
컴퓨터구조 Performance  (0) 2020.06.14
컴퓨터구조 19 - Memory Hierarchy  (0) 2020.05.20