컴퓨터구조 #20 효율적 메모리 관리 정책

underlier12·2020년 4월 27일
0

컴퓨터구조

목록 보기
20/26

20. 효율적 메모리 관리 정책

Associative Memory

Associative memory란?

내용에 의해 접근하는 메모리 장치를 이르는 용어이다.

  • 메모리 장치란 자료의 저장과 접근을 용이하게 하기 위해 필요로 하는 장치
  • CPU는 필요 자료를 얻기 위해 메모리 장치를 탐색
  • 이러한 저장 형태를 CAM(Content Addresable Memory)라고도 명명

이 방식은 데이터의 내용으로 병렬 탐색을 하기에 적합하도록 구성되어 있으며 탐색은 전체 워드 혹은 한 워드 내 일부만을 가지고 실행 될 수 있다.

각 셀이 저장 능력 뿐 아니라 외부 인자와 내용을 비교하기 위한 논리회로를 갖고 있기 때문에 RAM보다 값이 비싸다. 따라서 탐색 시간이 필히 짧아야 한다.

Associative memory의 하드웨어 구성과 메모리

Key register의 역할은 argument register-A의 특정한 영역이나 키를 선택하기 위한 마스크를 제공한다.

Cache Memory

참조의 국한성

프로그램이 수행되는 동안 메모리 참조는 국한된 영역에서만 이루어지는 경향이 있음을 확인 할 수 있다.

  • 프로그램 루프와 서브 루틴의 빈번한 활용
  • 순차적 프로그램의 실행
  • 데이터 메모리 참조에서도 동일한 경향이 있음을 확인

이와 같이 참조의 국한성(locality of reference)을 이용하여 속도는 빠르고(CPU 만큼), 적은 메모리를 이용하여 프로그램을 수행 시킬 경우 평균 메모리 접근 시간의 단축과 그에 따른 전체 프로그램 수행 시간의 절약을 담보 할 수 있을 것이다.

이러한 기억 공간을 cache memory라 함

cache memory 동작과 성능

CPU가 메모리에 접근할 필요가 있을 경우 캐시의 기본동작 순서는 다음과 같다.

  • 캐시 체크
  • 워드가 캐시에서 발견되면(hit) 읽고 아닐 경우(miss) 주 기억 장치에 접근
  • 이 워드를 포함한 블록(1~16워드)을 캐시로 전송

cf) hit ratio

cache memory의 매핑 프로세스

효율적 메모리 관리를 위해서는 효과적으로 캐시를 구성하는 방법이 다음과 같은 것들이 있다.

  • Associative mapping
  • Direct mapping
  • Set-associative mapping
profile
logos and alogos

0개의 댓글