Master Piece of jun/컴퓨터개론

cache : CPU idle time을 줄이는 방법

JUNFUTURE 2021. 11. 7. 23:17

CPU Idle 속도를 줄이는 방법

  • CPU 처리속도와 데이터를 가져오는 속도 (메모리 엑세스 속도)가 차이나서 발생하는 idle time, 어떻게 줄일까?
  • ⇒ Cache 메모리 사용

1. Cache 메모리 이용

  • Cache 메모리 이용하는 목적 : Idle 타임 줄이는 것. CPU 처리속도 차를 줄이는 것.
  • Cache 메모리 ⇒ 작고 빠르고 비싼 메모리
    • hit : Cache에 필요한 정보가 있는 경우
    • miss : Cache에 필요한 정보가 없는 경우
    • ⇒ hit ratio를 높이는 게 중요함

2. 여러가지 Trade off

  1. 프로세스가 빨라짐 ⇒ power가 많이 필요함
  2. FSB(Front Side Bus, 프로세서 외부 통신에 쓰이는 버스)가 커짐 ⇒ 빠른 디바이스 ⇒ 비싸짐
  3. Cache가 커짐 ⇒ Cache Access시간 커짐

3. Cache mapping

  • 메모리 크기 cache < main memory
    • cache 주소를 tag와 index를 이용하여 표현
    • 메인 메모리의 여러 주소를 캐시 메모리의 한 주소에 대응 (Logical 주소)
    • cache 메모리는 small & fast 메모리

4. Memory hierarchy

  • 캐쉬 → 주기억장치(RAM) → 보조기억장치순으로 접근함
  • 경제성의 원리 : 최소비용 최대효과
    • 프로그램은 순차적으로 진행함
    • 참조지역성 : 참조했던 메모리 주소의 근처 메모리를참조
    • 참조 지역성을 통한 cache replacement 전략으로 경제성의 원리 성립가능
    • 당장 사용될 확률이 높은 정보들을 small, fast한 메모리에 저장시킴
    • ⇒ cpu idle 타임 감소 ~ 경제성 증가 가능

5. DRAM vs SRAM

  • DRAM : Dynamic RAM
    • 방전 → 재충전 ~ 기억유지
    • 접근속도 낮 / 가격 높
    • 일반적인 RAM
  • SRAM : Static RAM
    • 방전 X
    • 빠름
    • cache, 임시 기억장치에 사용

 

6. Cache memory ~ memory hierachy

  • cache 메모리를 설명하는 중요한 단어
    • currently : 현재 필요한 데이터
    • temporary : 메모리에 자주 들락날락 하는 영역은 임시로 공간을 두어 처리
    • frequently : 단위시간에 메모리를 다녀오는 횟수 (필요없는 데이터 갈아끼우기) 자주 쓸 데이터를 가져와야함
  • 메모리 access time >> CPU 처리시간
    • cache는 현재 쓸 가능성이 높은 데이터를 잘 저장할 수록 idle time 낮출 수 있음
  • currently, present하게 필요한 데이터를 hierachy상 빠른 cache에 저장할 필요가 있다.
    • 참조 지역성 (locality of reference)을 이용하여 replacement 전략을 잘세워야 함

7. CPU 결과 기록

  • CPU → RAM / 기억장치로 데이터 기록 시
  • ⇒ 캐시에 먼저 기록됨
  1. write back 방식 (후 기록)
    • 캐시 내에 일시적 저장
    • 이후 idle time 동안 주기억 장치에 기록
    • 속도, 성능 좋음
  2. write through 방식 (동시 기록)
    • 캐시와 메인메모리에 동시 기록
    • 대기 시간이 발생, 느림