Mint Flavor Chocolate DEV
기억장치 시스템의 특성/구조 본문
기억장치
액세스 : 기억장치에 대한 읽기 및 쓰기동작
- 순차적 액세스 : 처음부터 순서대로 액세스 하는 방식 ex) 자기테이프
- 직접 액세스 : 읽기/쓰기 장치를 정보가 위치한 근처로 직접 이동시킨 다음에, 순차적 검색으로 최종 위치에 도달하여 액세스하는 방식
ex) 자기디스크, CD-ROM, DVD - 임의 액세스 : 기억 장소들이 임의로 선택될 수 있으며, 어떤 위치든 액세스에 걸리는 시간이 동일 주소로 접근
ex) 반도체 기억장치 - 연관 액세스 : 각 기억 장소에 포함된 키 값의 검색을 통하여 액세스할 위치를 찾아내는 방식 내용으로 접근, 특수 용도로만 사용
기억장치 시스템을 설계하는데 있어서 고려해야 할 주요 특성?
- 용량, 액세스 속도
전송단위 : CPU가 한 번의 기억장치 액세스에 의해 읽거나 쓸 수 있는 비트 수
- 주기억장치=>단어단위, 보조기억장치=>블록단위(512바이트 or 1K바이트)
주소지정 단위
- 하나의 주소에 의해 액세스되는 비트들의 그룹
액세스 시간
- 주소와 읽기/쓰기 신호가 기억장치에 도착하는 순간부터 데이터가 저장되거나 읽혀지는 동작이 완료되는 순간까지의 시간
기억장치 사이클 시간
- 액세스 시간 + 데이터복원 시간
데이터 전송률
- 초당 읽혀지거나 쓰여질 수 있는 비트 수 => (1/액세스 시간) * (한 번에 읽혀지는 데이터 바이트의 수)
계층적 기억장치시스템
- 속도, 가격 및 크기가 다양한 기억장치들을 계층적으로 설치함으로써 성능대가격비를 높이는 시스템 구성방식
지역성의 원리
- CPU가 기억장치의 한정된 몇몇 영역들을 집중적으로 액세스하면서 작업을 수행한다는 원리(참조의 지역성)
-상위계층으로 올라갈수록 => 비트당 가격↑, 용량 감소, 액세스 시간 짧아짐, CPU에 의한 액세스 빈도↑
캐시 메모리
- CPU와 주기억장치 간의 속도 차이를 보완해주기 위하여 데이터를 일시 저장해주는 중간 버퍼기능 수행
내부 기억장치
- CPU가 직접 액세스 할 수 있는 기억장치 => CPU레지스터, 캐시, 주기억장치
외부 기억장치
- CPU 직접 액세스 불가능, 장치제어기를 통과해야 액세스 할 수 있는 기억장치 => 디스크캐시, 디스크, 자기테이프/CD-ROM
디스크 캐시
- 주기억장치와 디스크의 속도 차이를 줄이기 위하여 설치하는 반도체 기억장치
==> 하위 계층으로 내려갈수록 용량이 더 커지고 비트당 가격은 떨어지는 반면, 지역성의 원리로 액세스 빈도가 낮아짐
RAM
임의 액세스 방식, 주소에 의해 지정되어 직접 액세스, 데이터 읽기/쓰기 모두 가능, 휘발성
-DRAM : 충전 방식을 이용하에 데이터를 저장. 주기적인 재충전이 필요
-SRAM : 플립-플롭형 기억셀을 이용. 전력이 공급되는 동안에는 데이터가 계속 유지. DRAM보다
ROM
저장된 내용을 읽는 것만 가능한 반도체 기억장치. 프로그램이나 변경될 수 없는 데이터를 저장하는데 사용
시스템 초기화 및 진단 프로그램, 번번히 사용되는 함수들과 서브루틴들, 제어 유니트의 마이크로프로그램
-PROM : 내용을 한 번은 쓰는것도 가능한 ROM
-EPROM : 자외선을 이용하여 저장된 내용을 삭제할 수 있어 여러번의 갱신이 가능한 ROM
-EEPROM : 전기적으로 삭제가능한 ROM, 다만 데이터를 갱신할 수 있는 횟수가 수만 번 이하로 제한된다는 점
-플래시메모리 : 삭제시 걸리는 시간이 매우 짧은 EEPROM. 쓰기 동작과 삭제 동작시의 데이터 크기가 서로 다름
캐시 메모리
- 캐시 적중률 = 캐시에 적중되는 횟수 / 전체기억장치 액세스 횟수
- 평균 기억장치 액세스 시간(Ta) = 캐시 적중률(H) * 캐시 액세스시간(Tc) + (1-H) * 주기억장치 액세스시간(Tm) => 캐시 적중률이 높아질수록 평균 액세스시간은 캐시의 액세스 시간에 근접하게된다 캐시 적중률이 높아질수록 캐시 사용의 효과가 더 커진다는 사실 => 지역성에 의존
캐시 설계에 있어서의 목표
- 캐시 적중률의 극대화, 캐시 액세스 시간의 최소화, 캐시 실패에 따른 지연시간의 최소화, 주기억장치와 캐시간의 데이터 일관성 유지 및 그에 따른 오버헤드의 최소화
요구인출
- 캐시미스가 발상한 경우에, CPU가 필요한 정보만 주기억장치로부터 캐시로 인출해오는 방식
선인출
- CPU가 필요한 정보 외에도 그와 인접해 있는 정보들을 함께 캐시로 인출해 오는 방식
캐시라인
- 주기억장치로부터 캐시로 인출되는 단위인 한 블록이 적재되는 캐시 내 공간
사상방식
주기억장치 블록이 어느 캐시 라인에 적재될 수 있는지를 결정해주는 알고리즘
- 직접사상 : 주기억장치 블록이 지정될 어느 한 라인에만 적재될 수 있는 사상 방식
사상될 line 번호 = 블록번호 mod 캐시라인 갯수 ===> 캐시의 라인번호로 대칭시킨다!
간단하고 비용이 적게들지만 적재 가능항 캐시라인이 한 개뿐이라는 단점. 결과적으로 적중률이 낮음
- 완전-연관사상 : 주기억장치 블록이 캐시의 어느 라인으로든 적재될 수 있는 사상방식 ===> 순차적으로 라인에 적재!
지역성이 높다면 적중률이 높아질 것. 모든 태그들을 병렬로 검사하기 위하여 복잡한 비용이 높은 하드웨어를 포함해야 한다는 결정적인 단점
- 세트-연관사상 : 주기억장치의 블록이 지정된 어느 한 세트로만 적재될 수 있으며, 각 세트는 두개 이상의 라인들로 구성, 직접 사상 방식과 완전-연관 사상 방식의 장점만을 취하기 위한 절충안
교체 알고리즘
- 최소 최근 사용 알고리즘(LRU) : 최근 사용 빈도가 가장 낮은 블록을 선택하여 교체. 높은 적중률을 보여준다
- FIFO 알고리즘 : 가장 오래된 블록을 교체
- 최소 사용 빈도 알고리즘(LFU) : 참조되었던 횟수가 가장 적은 블록을 교체
온-칩 캐시
- CPU 칩 내부에 포함되어 있는 캐시. 액세스 시간이 더 짧아져서 전체 시스템의 성능 향상에 도움
계층적 캐시
여러 레벨의 캐시들을 계층적으로 설치한 구조
Ta = H1 * T(L1) + (H2-H1) * T(L2) + (1-H2) * Tm
분리 캐시
- 명령어와 데이터를 분리하여 별도로 저장하는 캐시 구조. 명령어 실행 파이프라인에서 명령어 인출 단계와 오퍼랜드 인출 단계 간에 캐시에 대한 충돌 현상을 제거 할 수 있다는 장점.
'컴퓨터 구조' 카테고리의 다른 글
RAID의 구성 및 특성 (0) | 2017.12.21 |
---|---|
제어 유니트의 구조와 기능 (0) | 2017.12.21 |
CPU의 구조와 기능 (0) | 2017.09.19 |
컴퓨터의 기본구조 (2) | 2017.09.19 |