기억장치의 종류
- 주기억장치(내부기억장치)
- 레지스터, 캐시, 메인메모리(RAM, ROM)
- 보조기억장치(외부기억장치)
- HDD, SSD, CD, DVD, 자기테이프(M/T- magnetic tape)
기억장치의 액세스 유형
- 순차적 액세스 (비디오테이프)
- 처음부터 순서대로, 자기테이프(M/T)
- 직접 액세스
- 각 레코드 근처로 직 이동후 순차적 검색, HDD, CD, DVD
- 임의 액세스
- 직접 해당주소로 액세스, RAM, ROM
- 연관 액세스
- 기억장소별 키값 부여, 검색으로 찾음, 특수한 용도로 사용
기억장치 액세스 속도 관련 항목
- 액세스 시간
- 읽기/쓰기 신호가 도착하는 순간부터 데이터 읽기/쓰기가 완료까지의 시간
- 기억장치 사이클 시간
- 액세스 시간 + 다음 액세스가 가능할 때 까지의 시간
- 데이터 전송률(Data Transfer Rate)
- 초당 읽거나/ 쓴 bit 수, bps(bit / sec)
기억장치 유형
- 반도체 기억장치
- RAM, ROM, SSD, 플래시메모리
- 자기-표면 기억장치(전자석 성분)
- HDD(*하드디스크), M/T
- 광 저장장치
- CD, DVD
기억장치 데이터 저장 성질
- 휘발성 기억장치
- RAM (전원 OFF 시 메모리가 다 날아감)
- 비휘발성 기억장치
- ROM, HDD, SSD, CD, DVD, M/T
계층적 기억장치
- CPU레지스터 - 캐시 - 주기억장치(RAM) - HDD, SSD - CD, DVD, M/T
(속도빠름, 용량 적음, 가격 비쌈) >> (속도느림, 용량 큼, 가격쌈)
반도체 기억장치
- RAM(Random Access Memory)
- 휘발성 메모리 (전원 OFF시 내용 지워짐)
- DRAM(Dynamic-) : 캐패시터와 같이 주기적 재충전(리프레시)로 기억이 유지됨. 대용량, 저렴, 주기억장치에 사용
- SRAM(Static-) : 플립플롭회로 이용(한번 전원이 들어오면 계속), 재충전(리프레시) 없이 유지, 소용량, 비쌈, 캐시메모리에 사용
- 휘발성 메모리 (전원 OFF시 내용 지워짐)
- ROM(Read Only Memory)
- 비휘발성 (전원 중단되어도 내용 유지), 읽기만 가능 (쓰기 일부 가능)
- ROM(Mask ROM) : 공장제조시 내용 미리 쓰여짐, 가전제품의 펌웨어
- PROM(Programmable - ) : 비워있는 ROM에 1회만 저장가능
- EPROM(Erasable Programmable - ) : 여러 번 저장 가능, 지울 때는 자외선 롬이레이저(rom erasor) 필요
- EEPROM(Electrically Erasable Programmable - ) : 자외선이 아닌 전기신호로 지움. 펌웨어 업그레이드
- 플래시 메모리(Flash Memory) : 매우 빠른 속도로 지우기(쓰기) 가능 / (섬광처럼 지워진다 = Flash)
- 비휘발성 (전원 중단되어도 내용 유지), 읽기만 가능 (쓰기 일부 가능)
캐시 메모리
- CPU와 주기억장치 간의 속도 차이로 인한 CPU 성능저하를 방지하기 위한 메모리
- 캐시 적중률 H = 캐시의 적중되는 횟수 / 전체 기억장치 액세스 횟수
- CPU에 내장, 또는 CPU바깥에 위치 (L1, L2, L3 캐시 등으로 운영)
- 자주 사용되는 데이터를 캐시에 임시저장하여 읽기 속도를 개선
(메모리에서 처음 읽어온 정보를 캐시에 저장하여 다음에 또 같은 정보를 불러오는 경우 캐시를 통해 빠르게 출력)
데이터의 지역성
- 시간적 지역성 : 최근 액세스된 데이터는 다시 액세스될 확률이 높음(서브루틴, 공통변수)
- 공간적 지역성 : 서로 인접한 데이터는 연속적으로 액세스될 확률이 높음 (표, 배열)
- 순차적 지역성 : 액세스된 데이터 이후의 데이터는 연속적으로 액세스될 확률이 높음 (순차적 프로그램)
캐시의 인출방식
- 요구 인출
- CPU에서 필요한 데이터만 인출
- 선 인출
- 앞으로 필요할 것으로 예측되는 데이터까지 미리 인출
미리 CPU가 원하는 데이터보다 더 많은 데이터를 저장해놓음
(캐시가 자동으로 하는 것이 아닌 CPU 명령에 의해 수동적으로 이러한 행동을 하는 것)
캐시가 용량이 작지만 적중률을 높이기 위해 이러한 방식 사용
캐시 적중(cashe hit) ?
CPU가 액세스하려는 데이터가 이미 캐시에 적재되어 있는 상태
캐시 미스(cashe miss) ?
CPU가 액세스하려는 데이터가 캐시에 없어서 주기억장치로부터 인출해 와야 하는 상태
캐시 적중률 (cashe hit ratio) ?
전체 기억장치 액세스들 중에서 캐시에 적중되는 비율
사상방식(매핑방식, mapping)
- 주 기억장치 블록들이 어느 캐시라인에 적재될 지를 정하는 방식
- 직접사상
- 주기억장치 블록들이 지정된 캐시라인에만 적재되는 방식
- 구현간단. 적중률 낮음.
- 완전연관사상
- 캐시의 어떤 라인이든 적재가능한 방식
- 구현 복잡. 비용 높음.
- 세트연관사상
- 직접과 완전연관을 합친 방식
- 주기억장치 블록들이 캐시라인 2곳, 4곳 중 한 곳에 적재되는 방식 (2-way세트연관, 4-way세트연관)
- 직접사상
캐시 교체 알고리즘 (캐시 교체정책)
- 캐시 내용중 많이 사용되지 않는 부분은 삭제하고 다른 내용으로 교체하는 방식
- 최소 최근 사용(LRU, Leasts Recently Used)
- 가장 최근에 사용되지 않은 ( 사용한지 가장 오래된 자료 교체 )
- FIFO(First-in, First-out)
- 들어온 시간 순으로 ( 가장 먼저 들어온 자료를 교체 )
- 최소 사용 빈도(LFU, Least Frequently Used)
- 최근에 사용된 사용빈도가 적은 자료 교체
- 최소 최근 사용(LRU, Leasts Recently Used)
최소 최근 사용
1초전 | 2초전 | 3초전 | 4초전 |
FIFO
11:01 | 11:05 | 11:10 | 11:15 |
최소사용빈도
4회 | 3회 | 2회 | 1회 |
캐시 쓰기 정책
- 캐시에 적재된 데이터를 새로운 값으로 변경할 때, 주기억장치에 갱신하는 시기와 방법
- 연속 기록(write-through) : 캐시에 쓰기동작을 수행할 때, 주기억장치도 동시에 기록
- 사실상 이러면 캐시를 쓰는 효과가 없게 됨
- 후 기록(write-back) : 쓰기동작이 캐시에만 이루어지고, 교체되는 시기에 주기억장치(RAM)에 나중에 한꺼번에 기록
- 일일이 수정하면 시간이 많이 걸리는 것을 보완
- 연속 기록(write-through) : 캐시에 쓰기동작을 수행할 때, 주기억장치도 동시에 기록
- RAM
- SRAM(Static-) 캐시, 빠르고 비쌈
- DRAM(Dynamic-) 주기억장치, 조금 느리고 쌈
- 일반DRAM
- SDRAM (Synchronous-) : 데이터전송을 시스템 클락에 동기화 시키는 방식
- SDR-SDRAM(Single Data Rate-) : 클락 당 1회 전송 (Rising Edge에만 데이터 전송)
- DDR-SDRAM(Double Data Rate-) : 클락 당 2회 전송 (Rising,Falling Edge에 데이터 전송)
- DDR2-SDRAM : 클락을 2배 더 빠르게
- DDR3-SDRAM : 4배 더 빠르게
- DDR4-SDRAM : 8배 더 빠르게
'Computer Architecture' 카테고리의 다른 글
컴퓨터 구조 : 고성능 컴퓨터시스템 구조 (0) | 2021.06.09 |
---|---|
컴퓨터 구조 : 시스템 버스, I/O 및 인터럽트 (0) | 2021.06.09 |
컴퓨터 구조 : 보조저장장치 (0) | 2021.06.08 |
컴퓨터 구조 : 컴퓨터 산술과 논리 연산 (0) | 2021.06.05 |