컴퓨터아키텍처

Computer Architecture

2016-05-19

Memory Hierarchy,  Cache 관련 용어/개념

과제 제출 안내

  • Google Drive 공유 폴더를 통해 (종이 X, 메일 X)
  • [새로 만들기] 버튼을 눌러
    CA16<이름><학번> 폴더를 만들고 (예: CA16김연아123456)
    만들어진 폴더를 우클릭하여 나오는 드롭메뉴에서
    폴더 공유설정으로 kyagrd@gmail.com 에게 공유 (편집권한)
  • Google 메일 계정만 있으면 Google Drive 서비스 이용 가능 
  • Google 메일 계정은 무료로 만들 수 있으며
    참고로 안드로이드 스마트폰 사용자는 누구나 이미 보유

MIPS 파이프라인 실습 도구

메모리 계층구조
Memory Heirachy

  • CPU의 연산 유닛(ALU)에 가까울수록
    빠르게 접근할 수 있지만
    용량이 제한되어 있다 (비싸다)
  • CPU에서 멀수록 용량은 크지만 (싸다)
    접근 시간이 많이 걸린다
  • CPU의 연산 유닛에 가까운 순서로
    • 레지스터
    • CPU 내부 캐시 (SRAM)
    • 메인 메모리 (DRAM)
    • 플래시 메모리
    • HDD 및 테이프 등의 자기 디스크

캐시 관련 용어

  • block (또는 line): 캐시하기 위한 메모리의 최소 단위
  • 캐시에 필요한 데이타가 있이면 hit 없으면 miss
  • hit rate (또는 hit ration):
    필요한 데이터에 접근하려 할 때 캐시되어 있는 비율
  • miss rate (또는 miss ration):
    필요한 데이터에 접근하려 할 때 캐시되지 않은 비율
  • hit rate + miss rate = 1
  • hit time: 캐시된 데이타에 접근하는 데 걸리는 시간
  • miss penalty:
    캐시되지 않은 데이타를 캐시하는 데 걸리는 시간
  • Average Memory Access Time 평균 메모리 접근 시간
    AMAT  =  hit time  +  miss rate x miss penalty

Direct-Mapped Cache

  • 가장 단순무식한 캐시 구성
  • 1000 블럭의 메모리가 있는데 캐시 크기는 100블럭이라면
    1000 블럭 순서대로 번호를 매겼을 때 100으로 나눈 나머지에 해당하는 캐시 위치에 캐시 해당 블럭이 캐시됨
  • 즉 3번 블럭과 103번 블럭과 203번 블럭은 항상
    캐시 메모리의 3번째 블럭 위치에 캐시됨
  • 장점: 단순
  • 단점
    • 메모리 블럭마다 캐시되는 위치가 항상 고정되어 있어
      성능에 문제가 생길 가능성
    • 예를 들면 3번 블럭과 103번 블럭을 동시에 캐시 불가능
      즉 나머지가 같은 블럭을 같이 자주 사용하면 성능 저하

캐시 관련 용어/개념

  • valid bit: 캐시 메모리의 블럭이 하위 메모리 블럭에 대응되어 있는 유효한 캐시인지 나타내는 비트
  •  (read access 에 대한) cache miss가 났을 때는 메모리에서 해당 블럭을 캐시의 적절한 위치로 불러옴
  • write를 할 때 어떻게 처리하는지는 캐시 설계마다 다름
    캐시 메모리에 write를 했는데 하위 메모리에는 아직 같은 내용을 write되지 않은 상태를 inconsistent 혹은 dirty라고 함
    • write-through:
      캐시에 write하자마자 즉시 하위 메모리에도 write
    • write buffer: 버퍼를 두어 write-thrugh의 성능을 보완
    • write-back:
      캐시가 invalidate될 때까지 기다렸다 덮어씀
      성능을 높일 수 있지만 더 복잡한 설계 (dirty bit 필요) 
  • dirty bit: 캐시 메모리의 블럭에 write가 일어나서 하위 메모리의 내용과 달라진 상태

컴퓨터아키텍처

By 안기영 (Ahn, Ki Yung)

컴퓨터아키텍처

2016-05-19

  • 1,982