메모리

정하윤·2022년 9월 23일
0

  • ALU가 원하는 정보를 요청했을때 L1캐쉬가 가지고 있지 않을 경우에는 L2캐쉬 L2캐쉬도 가지고 있지 않을경우에는 메인 메모리 메인 메모리도 가지고 있지 않을 경우에닌 하드디스크에서 정보를 가져다 다시 메인 메모리에게주고 L2캐쉬 그다음 L1캐쉬가 레지스터에게 정보를 주게 된다.

프로그램의 일반적 특성

  • 성능 향상과 캐쉬메모리

  • Locality

      - Temporal Locality : 반복접근
    
      - Spatial LOcality: 주변접근

캐쉬 알고리즘

  • 캐쉬 기본 정책
  • 캐쉬 특성 → Temporal Localiy
  • 블록단위 전송 →Spatial Locality

  • 레지스터와 L1 캐쉬 사이가 데이터를 주고 받는 속도가 제일 빠르고 메인 메모리와 하드디스크가 데이터를 서로 주고 받는 속도가 제일 느리다.
  • 블럭단위로 데이터전송이 이루어 지기 때문에 90%정도 캐쉬 히트가 발생한다.

가상 메모리

  • 메인 메모리가 영역을 하드디스크까지 메모리 공간을 넓히는 기법을 가상 메모리라고 한다.

가상 주소가 해결하고 있는 두 가지

  • 선 할당으로 인한 부담
  • 느린 속도의 개선


  • CPU가 1K번지부터 20바이트 할당요청을 하면 메인메모리는 블럭단위로 데이터를 저장하므로 맨위에칸에 0~4K로 할당한다
  • CPU가 2번째 요청을 36K번지부터 2-바이트 할당 요청하면 MMU(메인메모리유닛)가 2번째 블럭에 가상메모리 36~40K 로 할당해서 물리적메모리로 바꾼후 CPU에게 준다.

  • 만약 CPU가 4~8K를 요청하면 메인메모리에서 가장 오래동안 사용되지 않은 부분을 하드 디스크에 빼고 4~8K 부분을 하드 디스크에서 받아온후 CPU에게 데이터를 준다.
  • 그 후에 다시 방금 뺀 8~12K 를 요청하면 그순간 메모리가 또 가장 오래동안 사용되지 않은 부분을 하드 디스크에 빼고 8~12K를 받아온후 CPU에게 데이터를 준다.
  • 하드 디스크는 파일 시스템으로 저장을 한다. (= 스왑파일 )

0개의 댓글