캐시메모리(Cache Memory)
- 캐시
CPU와 주기억장치의 속도차이에 따른 성능 저하를 줄이기 위해 임시로 지역성을 만들어서 저장해두는것
테이블 형태로 캐시 라인에 적재
- 블럭(Block)
캐시와 메모리 간의 데이터 교환 단위
Block이 클수록 지역성이 늘어난다
- Mapping Function
어떤 주기억장치 블록들이 어느 캐시 라인을 공유할 것인지 결정하는 법 ( 어느 정보를 캐시에 넣을지 선택하는 것 )
직접 사상
캐시 라인의 위에서부터 차곡차곡 넣는 것
완전-연관 사상
임의의 캐시 라인에 적재하는 것
세트(집합)-연관 사상
직접 사상도 가능, 완전-연관 사상도 가능
- Replace Algorithm
캐시가 꽉 찼을때 어떤 블록을 지울 것인지
Random
FIFO ( First In First Out )
최적 ( Optimal ) - 향후 참조되지 않을 블록 교체 / 비현실적 방식
LFU ( Least Frequently Used )
LRU ( Least Recently Used )
더티 플래그 ( Dirty Flag )
불필요한 작업을 피하기 위해서 실제로 필요할 때까지 그 일을 미룬다
필요할 때 : 연산이 되어야할 때 ( 바뀌었을 때 )
더티플래그 사용 X
배 이동
-> 배 위치 재계산
-> 막대 위치 재계산
-> 해적 위치 재계산
-> 앵무새 위치 재계산
막대 이동
-> 막대 위치 재계산 2
-> 해적 위치 재계산 2
-> 앵무새 위치 재계산 2
해적 이동
-> 해적 위치 재계산 3
-> 앵무새 위치 재계산 3
앵무새 이동
-> 앵무새 위치 재계산 4
더티플래그 사용 O
배 이동
막대 이동
해적 이동
앵무새 이동
- 렌더링 -
-> 배 위치 재계산
-> 막대 위치 재계산
-> 해적 위치 재계산
-> 앵무새 위치 재계산
장면 그래프 (Scene Graph)
씬을 그릴 정보들이 들어가있다
주로 트리 형태로 구성한다
주기억장치
성능향상 기법
메모리 인터리빙 ( Memory Interleaving )
메모리 번지를 일정 개수마다 묶어서 그룹(모듈)으로 나누고
그 그룹에 연속적인 주소를 부여해서 동시에 접근이 가능하게 한다
메모리 저장방식
- 엔디안
바이트 배열을 저장할때 어떤 순서로 저장할 것인가
Byte Order : 바이트 배열의 순서
빅 엔디안 : 큰 단위가 앞으로
리틀 엔디안 : 작은 단위가 앞으로, 윈도우에서 사용
미들 엔디안 : 빅+리틀 둘 다 사용하는 것 또는 둘 다 사용하지 않는 것
슬랙 공간 ( Slack Space )
램 슬랙 : 단편화
'> CS' 카테고리의 다른 글
[운영체제] 운영체제란, 프로세스와 스레드 (0) | 2023.08.29 |
---|---|
[컴퓨터구조] 보조기억 장치 RAID, NAS, DAS, 입출력 장치 (0) | 2023.08.28 |
[컴퓨터 구조] 기억 장치 (0) | 2023.07.20 |
[컴퓨터 구조] 병렬 처리, 메모리 공유방식 (0) | 2023.07.12 |
[컴퓨터 구조] 시스템 구성 요소, CPU와 GPU (0) | 2023.07.11 |