메모리(운영체제 1-3)

이도훈·2025년 2월 20일
0

운영체제

목록 보기
3/6

메모리 계층구조

  • 피라미드 위로 올라갈 수록 비용이 높아지지만 속도는 향상되고 접근 시간이 짧아짐

캐시 메모리

  • 운영체제에게 보이지 않고 하드웨어적으로 처리됨
  • 메모리 접근 속도를 향상시킴
  • 참조지역성의 원리를 이용함

캐싱(중요)

  • 빠른 저장 장치에 정보를 복사해 놓는 기법
  • 고속의 메모리에 최근에 접근한 데이터를 저장
  • 캐싱은 메모리 계층 구조에 또 다른 레벨을 도입하는데, 하나 이상의 레벨에 동시에 저장된 데이터 사이에 내용이 일치해야함

참조 지역성(중요)

  • 참조 지역성이란 프로그램 실행 중 CPU가 특정 메모리 주소를 집중적으로 접근(시간적 혹은 공간적으로)하는 경향을 의미
  • 순차문이나 반복문을 생각해보면, 순차문 10개의 코드를 가져온다고 가정하면 순차문이기 때문에 10번동안은 캐시를 갱신할 필요가 없다. 반복문도 마찬가지로 계속 반복하기 때문에 반복하는 동안에는 캐시를 갱신할 필요가 없다고 할 수 있다.

캐시 원칙

  • 주 메모리(Main Memory)의 한 영역의 복사본을 가지고 있음.
  • CPU(처리기)는 먼저 캐시를 참조하고, 캐시에 없으면 필요한 정보가 저장된 메인 메모리의 블록이 캐시로 읽혀짐
  • 참조 지역성 때문에 향후 참조될 데이터는 캐시에 존재할 가능성이 높음
    ex) 반복문, 데이터에서의 테이블 혹은 배열
  • 캐시는 보통 여러 단계의 캐시로 이루어져 있음
  • 쓰기 정책
    어느 시점에 메모리에 쓸 것인가를 결정
    블록이 갱신될 때 쓰거나 블록이 교체될 때 쓸 수 있음

캐시 적중률

  • 적중률은 메모리 접근 중 데이터가 빠른 메모리(예, 캐시메모리)에 존재할 비율로 정의된다.
  • 이를 통해 평균 메모리 접근 시간을 알 수 있는데 T1이 캐시 메모리 접근시간, T2가 메인 메모리 접근 시간이라고 가정하고 적중률이 95%(0.95)라면 수식은 T1에 적중할 확률 + T1에 적중하지 않고 T2에 적중할 확률 즉, (T1 X 0.95)+(T2 X 0.05)가 된다.

캐시 읽기 연산의 과정

  1. CPU로부터 실제 주소를 받음
  2. 캐시에 실제 주소를 포함한 블록이 있는지 확인
  3. 블록이 존재하면 바로 실제주소를 읽어 CPU에 전달하지만, 없으면 메인 메모리의 실제주소 블록에 접근
  4. 메인 메모리의 실제 주소 블록을 할당할 캐시 공간 확보
  5. 캐시에 실제 주소 블록을 저장하면서, CPU에 실제 주소 전달

0개의 댓글