[COMPUTER]CPU & Memory
Memory
반도체는 전류를 흐르게도 하고 흐르지 않게도 하는 특징이 있어 임시로 내용들을 기억하게 만들 수 있다.
보조 기억장치와 메모리의 차이는 “휘발성”
메모리 성능
-
리프레시 시간
메모리는 일정 시간(리프레시 시간)마다 재충전이 필요, 그렇지 않으면 정보 소멸. 메모리에서 한번 읽고 나서 다시 읽을 수 있는 사이 시간을 의미
-
메모리 액세스 시간
명령을 받고 데이터를 읽기 시작하기까지의 시간. CPU에서 명령어를 처리할 때 명령어가 갖는 주소를 보냄, CPU에 그 주소에 해당하는 값을 가져 오는 데 걸리는 시간
-
사이클 시간(리프레시 시간 + 메모리 액세스 시간)
메모리 작업이 완료와 동시에 대기 신호를 내놓은 후 다음 신호를 받을 준비가 되었다는 신호를 주기까지의 시간. 즉, 메모리 액세스 시간과 리프레시 시간을 더한 것
메모리 종류
주기억장치
- RAM(Random Access Memory)
- 전원이 끊어지면 내용 휘발. RAM의 크기는 프로그램의 수행 속도에 영향. CPU에서 직접 접근이 가능한 유일한 저장 장치.
- SRAM은 리프레쉬가 필요없고 전력 소모가 적으나 비싸며, DRAM은 리프레쉬가 필요하고 SRAM보다 저가이며 많이 사용 됨
- ROM(Read Only Memory)
- 대부분 읽을 수만 있는 장치로 구성, 전원이 끊겨도 내용 보존
보조기억장치
- 자기 디스크
- 원판 표면의 철 입자의 방향(N/S극)으로 0, 1 표현. 디스크 드라이브는 자기 디스크로부터 데이터를 읽는 주변 장치를 의미.
- 플로피 디스크(FDD), 하드 디스크(HDD).
- 광 디스크
- 빛의 반사를 이용, 자료를 읽어내는 저장 매체입니다.
- CD, DVD, 블루레이 디스크
- 차세대 디스크로는 테라 디스크나 HVD 등 존재
- 플래시 메모리
- 전자적으로 데이터를 지우고 쓸 수 있는 비휘발성 메모리, 충격에 강함
- USB, SSD
- SSD는 HDD와 달리 디스크, 헤더와 같은 기계적 장치는 빠졌지만 저전력, 저소음, 저중량.
캐시 메모리(Cache Memory)
메인 메모리와 CPU 간의 데이터 속도 향상을 위한 중간 버퍼 역할
빠른 CPU 의 처리속도와 상대적으로 느린 메인 메모리에서의 속도의 차이를 극복하는 완충 역할
캐시 메모리 성능 결정 요소
메인 메모리의 일정 블록 사이즈의 데이터를 담아두 었다가 CPU에 워드 사이즈 만큼의 데이터를 전송, 이때 이 사이즈들이 캐시의 성능에 영향을 미침. 블록사이즈나 워드 사이즈가 상대적으로 크다면 그만큼 Cache의 Hit Ratio율이 높아지기 때문.
CPU가 필요한 데이터가 Cache Memory 내에 들어와 있으면 ‘Cache Hit’, 데이터가 없을 경우 ‘Cache Miss’. 이때 원하는 데이터가 Cache에 있을 확률을 ‘Hit Ratio’
- Cache 크기 - Cache Memory의 Size의 크기가 크면 Hit Ratio율과 반비례 관계
- 인출 방식(Fetch Algorithm)
- 요구 인출(Demand Fetch) - 필요 시 요구하여 인출
- 선 인출(Pre-Fetch) - 예상되는 데이터를 미리 인출
- 쓰기 정책(Write Policy)
- Write-Through - 주기억 장치와 캐시에 동시에 기록. Cache와 메모리의 내용이 항상 일치, 구성 방법이 단순하다.
- Write-Back - 데이터 변경만 캐시에 기록. 구성방법 복잡.
- 교체(Replace) 알고리즘 - Cache Miss 발생시 기존 메모리와 교체하는 방식. FIFO, LRU, LFU, Random, Optimal Belady’s MIN(향후 가장 참조 되지 않을 블록 교체) 등
- 사상(Mapping) 기법 - 주기억장치의 블록을 적재할 캐시 내의 위치 지정.
- 직접 매핑(direct mapping), 어소시에이티브 매핑(associative mapping), 셋 어소시에이티브 매핑(set associative mapping) 등
댓글남기기