Computer Architecture/5장 Memory Hierarchy

Computer Architecture 5_2 : Large and Fast: Exploting Memory Hierarchy, Priciple of Localit

m.key 2022. 11. 2. 11:55

들어가기 전에..

memory hierarchy를 이해하기 쉽게 story를 통해 왜 생겨났는지 생각해보자.

일단 해당 chapter의 제목처럼(Large and Fast) computer designer는 memory에서 빠르고 큰 걸 원함을 기준으로 두자.

세상에는 Large 하고 Fast한 memory는 존재하지 않는다. 그래서 빠른데 작거나, 느리지만 큰 memory 정도로 구분됨.

예를 들어 processor가 access하는 시간이 cache memory와 main memory가 10억배 정도의 시간이 차이날 수 있음.

그래서 designer가 가성비가 더 좋게 그니까 Large하고 Fast하진 않아도 그렇게끔 동작할 수 있게 하면 안되나? 해서 CPU의 동작을 보니 CPU가 memory접근할 때 완전 ramdom하게 접근하는 줄 알았는데 크게 2가지로 구분되는 방법으로 접근하는 것을 보게 됨. → principle of locality

나름대로 CPU가 효율적으로 동작 중인 것이었음. 근데 이 특성을 살리면 Large하고 Fast하게 동작하는 것처럼 보이겠는데? 해서 고안하게 된 것이 계층구조임.

계층의 맨 위인 가장 상위층 그니까 processor랑 가장 가까운 곳에 작지만 아주 빠른 memory를 두고 밑 층으로 내려갈 수록 느려지지만 커지는 memory를 두어 피라미드 형식을 만듦.

맨 밑에는 main memory인데 이 곳에서부터 CPU가 access할 곳을 경험적으로 알아 main memory부터 가장 상위층 즉 cache memory로 계속 올려줌. 그래서 상위층으로 갈 수록 processor가 access할 가능성이 더 높은 memory들임.

 

Memory hierarchy : Multiple levels of memory with different speeds and sizes

Processor는 아주 짧은 시간안에 아주 작은 영역만 access함

Principle of Locality

  • Temporal locality : 방금 access된 것이 다시 access될 가능성이 높음

 -그래서 hierarchy에선 최근에 조금 더 많이 access된 data를 processor와 가까운 곳에 유지시킴

 

  • Spatial locality : 방금 access된 것의 가까이 있는 것이 access될 가능성이 높음

- 그래서 hierarchy에선 access된 주변을 block으로 만들어 상위 level로 옮김

- Block으로 옮기고 만약 그 block 중 access되면 Hit rate가 올라감(맞추니까), 못 맞추면(miss rate) disk 즉 main memory에서 가져옴,

- 간단하게 Hit rate는 processor가 빠르게 access할 확률, Miss rate는 processor가 느리게 access할 확률

- Hit rate는 요즘 90% 이상, 큰 수라서 성능을 표시하면 미미해 보이기에 작은 수로 성능을 표시

    → Miss rate = 1 - Hit rate