컴퓨터아키텍처
Computer Architecture
2016-05-19
Memory Hierarchy, Cache 관련 용어/개념
과제 제출 안내
Google Drive 공유 폴더를 통해 (종이 X, 메일 X)
[새로 만들기]
버튼을 눌러
CA16<이름><학번> 폴더를 만들고 (예: CA16김연아123456)
만들어진 폴더를 우클릭
하여 나오는 드롭메뉴에서
폴더 공유설정으로 kyagrd@gmail.com 에게 공유 (편집권한)
Google 메일 계정만 있으면 Google Drive 서비스 이용 가능
Google 메일 계정은 무료로 만들 수 있으며
참고로 안드로이드 스마트폰 사용자는 누구나 이미 보유
MIPS 파이프라인 실습 도구
WinMIPS64 활용
http://indigo.ie/~mscott/
문법이 책의 32-bit MIPS 시뮬레이터인 SIPM과 약간 다름
메모리 계층구조
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가 일어나서 하위 메모리의 내용과 달라진 상태
Made with Slides.com