#1 캐시 기억 장치의 개념
캐시 기억 장치
- 주기억 장치에 저장돼있는 명령어와 데이터 중 일부를 임시로 복사해 저장하는 장치
- 데이터를 저장하고 인출하는 속도가 주기억 장치보다 빠름
- 고속 완충 기억 장치
기억 장치의 구성
- 원통 넓이 : 저장용량
- 원통 둘레 : 처리속도
- 원통 높이 : 가격
** 계층적으로 구성된 기억 장치는 기억 장치 참조의 특성을 이용해 동작
- CPU가 프로그램을 실행할 때, 실행되는 프로그램의 90%가 해당 프로그램의 10% 부분만을 반복실행
- 기억장치를 참조할 때도 10%에 해당하는 특정 영역만 참조 (참조의 지역성)
- 계층 구조에서는 상위 계층에 반복되는 특정 영역을 저장해 CPU가 빠르게 참조할 수 있도록 함
- 만약 원하는 프로그램이 상위 계층에 없다면 하위 계층을 조사해 참조
SRAM
기억소자 플립플롭으로 구성되어 집적밀도가 높아 소용량 기억 장치에 사용
DRAM보다 처리 속도가 5배정도 빠름
동작과정
S = 0 ---> 기억 소자 선택되지 않아, 읽기/쓰기 동작 실행x
S = 1, R/W = 0 ---> 쓰기동작 수행해 데이터가 플립플롭에 저장, 데이터 출력x
S = 1, R/W = 1 ---> 읽기동작 수행해 데이터 출력o
SRAM 기억 소자의 구조
SRAM의 기억 소자를 격자 구조로 배열하면 많은 비트를 저장할 수 있는 진정한 SRAM
#2 캐시 기억 장치의 원리
주기억 장치는 외부의 보조기억장치에 저장된 프로그램을 저장하는 장치로, CPU와 보조기억장치 간 속도차이를 극복하기 위해 사용.
주기억장치는 보조기억장치보다 빠르지만 CPU에 비하면 매우 느림. 따라서 주기억 장치보다 빠른 캐시 기억 장치 등장
- CPU와 주기억 장치 사이에 위치
- 5~100 나노초 정도로 접근 시간이 빠른 기억장치
- 수행할 명령어나 피연산자를 주기억장치에서 가져와 저장하고 있다가 빠른 속도로 CPU에 제공
캐시 기억 장치의 동작
- 캐시 기억 장치가 없는 컴퓨터 : CPU는 프로그램의 명령어를 실행할 때마다 주기억장치에 직접 접근해 명령어와 필요한 정보를 얻어옴
- 캐시 기억 장치가 포함된 컴퓨터 : CPU가 명령어 또는 데이터를 인출하기 위해 주기억장치보다 캐시기억장치를 먼저 조사
캐시 기억 장치의 실패
- CPU가 명령어와 데이터를 인출하려고 캐시 기억 장치 검색
- 캐시 기억 장치에 워드가 없으면 "실패"
- 주기억 장치에서 필요한 데이터를 얻어 블록단위로 캐시 기억 장치에 저장
- 캐시 기억 장치는 CPU에 워드단위로 데이터 전송
캐시 기억 장치의 적중
- CPU가 1002번지의 워드를 필요로 하고, 이것이 캐시 기억 장치에 존재함
- 캐시 기억 장치는 CPU가 수행할 명령어와 필요한 정보를 저장하고 있다가 필요시 즉시 제공해 신속하게 처리되도록 함
- 프로그램 내장형 컴퓨터의 특성인 기억 장치 참조의 지역성에 의해 가능
시작 --> CPU에서 주소 전달 --> 캐시 기억 장치에 명령어 존재한다면 --> 획득한 명령어 CPU로 전송 --> 완료
--> 캐시 기억 장치에 명령어 존재하지 않는다면 --> 주기억 장치에서 명령어 블록인출 --> 주기억 장치의 명령어 블록을 캐시에 저장 & 명령어 단어를 CPU에 전송
적중률
캐시 기억 장치가 있는 컴퓨터의 성능을 나타내는 척도로 적중률이 높을수록 속도가 빠름
- 캐시 기억 장치 접근 시간 : 50ns
주기억 장치 접근 시간 : 400ns
적중률을 높이면서 기억 장치 접근 시간?
-
적중률이 70% : 0.7x50ns + 0.3x400ns = 155ns
-
적중률이 80% : 0.8x50ns + 0.2x400ns = 120ns
-
적중률이 90% : 0.9x50ns + 0.1x400ns = 85ns
-
적중률이 95% : 0.95x50ns + 0.05x400ns = 67.5ns
-
적중률이 99% : 0.99x50ns + 0.01x400ns = 53.5ns
캐시 기억 장치의 적중률이 높을수록 캐시 기억 장치 접근시간에 근접함으로써 컴퓨터의 처리 속도가 빨라짐
#3 캐시 기억 장치의 설계