사용목적
CPU와 주기억 장치의 속도 차이로 인한 CPU 대기 시간을 최소화 시키기 위하여 CPU와 주기억자치 사이에 설치하는 고속 반도체 기억장치
특징
-주기억장치(DRAM)보다 액세스 속도가 더 높은 칩 (SRAM)사용
-가격 및 제한된 공간 때문에 용량이 적다
캐시 기억장치
-캐시 적중(cache hit): CPU가 원하는 데이터가 캐시에 있는 상태.
-캐시 미스(cache miss) : CPU가 원하는 데이터가 캐시에 없는 상태, 이경우 주기억장치로부터 데이터를 읽어온다
-적중률(hit ratio) : 캐시에 적중되는 정도 (H)
-캐시의 미스율(miss ratio) : (1 - H)
-평균 기억장치 액세스 시간(Ta)
>Ta = H × Tc + (1 - H) × Tm
(단, Tc는 캐시 액세스 시간, Tm은 주기억장치 액세스 시간)
캐시 적중률과 평균 기억장치 액세스 시간의 관계
-캐시의 적중률이 높아질수록 평균 기억장치 액세스시간은 캐시 액세스 시간에 접근
-캐시 적중률은 프로그램과 데이터의 지역성(locality)에 따라 달라짐
지역성
-시간적 지역성(temporal locality) : 최근에 액세스된 프로그램이나 데이터가 가까운 미래에 다시 액세스 될 가능성이 높다
-공간적 지역성(spatial locality) : 기억장치내에 인접하여 저장되어 있는 데이터들이 연속적으로 액세스 될 가능성이 높다
-순차적 지역성(sequential locality) : 분기(branch)가 발생하지 않는 한, 명령어들은 기억장치에 저장된 순서대로 인출되어 실행된다.
캐시의 크기 / 인출방식
1.캐시의 크기(용량)
-용량이 커질수록 적중률이 높아지지만, 비용이 증가
-용량이 커질수록 주소 해독 및 정보 인출을 위한 주변 회로가 더 복잡해 지기 때문에 액세스 시간이 다소 더 길어진다
2.인출 방식
-요구 인출(demand fetch) 방식
필요한 정보만 인출해 오는 방법
-선인출(prefetch) 방식
필요한 정보 외에 앞으로 필요할 것으로 예측되는 정보도 미리 인출
지역성이 높은 경우에 효과가 크다.
주기억장치와 캐시의 조직
-블록(block) : 주기억장치로부터 동시에 인출되는 정보들의 그룹
주기억장치 용량 = 2n 단어, 블록 = K 단어
→블록의 수 = 2n/K 개
-라인(line) : 캐시에서 각 블록이 저장되는 장소
-태그(tag) : 라인에 적재된 블록을 구분해주는 정보
사상방식 : 각 주기억 장치 블록이 어느 캐시 라인에 적재될 것인 지를 결정해 주는 방식으로서, 캐시내부 조직을 결정
-직접 사상(direct mapping) : 각 주기억장치의 블록이 지정된 하나의 캐시 라인으로만 적재됨 주기억장치 주소 형식
■ 태그 필드(t 비트) : 태그 번호(라인에 적재되어 있는 블록의 번호)
■ 라인 번호(l 비트) : 캐시의 m = 2l 개의 라인들 중의 하나를 지정
■ 단어 필드(w 비트) : 각 블록 내 2w 개 단어들 중의 하나를 구분
주기억장치의 블록 j 가 적재될 수 있는 캐시 라인의 번호 i : i = j mod m
(단, j : 주기억장치 블록 번호, m : 캐시 라인의 전체 수)
[장점]
하드웨어가 간단하고, 구현 비용이 적게 든다
[단점]
각 주기억장치 블록이 적재될 수 있는 캐시 라인이 한 개 뿐이기 때문에, 그 라인을 공유하는 다른 볼록이 적재되는 경우에는 overwrite되거나 swap-out 됨
주기억장치 용량 = 128( 27) 바이트
주기억장치 주소 = 7 비트 (바이트 단위 주소 지정)
블록 크기 = 4 바이트
→ 주기억장치는 128/4 = 32 개의 블록들로 구성
캐시 용량 = 32 바이트
캐시 라인 크기 = 4 바이트 (블록 크기와 동일)
전체 캐시 라인의 수, m = 32/4 = 8 개
-완전-연관 사상(fully-associative mapping) : 주기억장치 블록이 캐시의 어떤 라인으로든 적재 가능
(태그필드=주기억장치 블록번호)
[장점]
새로운 블록이 캐시로 적재될 때 라인의 선택이 매우 자유롭다
지역성이 높다면, 적중률이 매우 높아진다
[단점]
캐시 라인들의 태그들을 병렬로 검사하기 위하여 가격이 높은 연관 기억장치(associative memory) 및 복잡한 주변 회로가 필요
-세트-연관 사상(set-associative mapping)
:직접 사상과 완전-연관 사상의 조합
:주기억장치 블록 그룹이 하나의 캐시 세트를 공유하며, 그 세트에는 두 개 이상의 라인들이 적재될 수 있음
:캐시는 v 개의 세트(set)들로 나누어지며, 각 세트들은 k 개의 라인들로 구성 ( k-way 세트-연관 사상 이라고 부름)
:주기억장치 블록이 적재될 수 있는 캐시 세트의 번호 i : i = j mod v
단, i : 캐시 세트의 번호
j : 주기억장치 블록 번호
v : 캐시 세트들의 수
'전공 > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] 플래시 메모리와 SSD (0) | 2022.06.13 |
---|---|
[컴퓨터 구조] RAID(R3dundatn Array of Inexpensive Disk) (0) | 2022.06.13 |
[컴퓨터 구조] 하드 디스크 (0) | 2022.06.13 |
[컴퓨터 구조] DDR SDRAM (0) | 2022.06.12 |
[컴퓨터 구조] 캐시 메모리(Chache Memory)(2) (0) | 2022.06.12 |