RAM 용량이 크면 많은 프로그램을 동시에 빠르게 실행할 수 있어 성능이 향상됨. (일정 수준 이상에서는 큰 차이 없음)
DRAM (Dynamic RAM)
SRAM (Static RAM)
DRAM | SRAM | |
---|---|---|
재충전 | 필요 | X |
속도 | 느림 | 빠름 |
가격 | 저렴함 | 비쌈 |
집적도 | 높음 | 낮음 |
소비 전력 | 적음 | 높음 |
사용 용도 | RAM | 캐시 메모리 |
SDRAM (Synchronous Dynamic RAM)
DDR SDRAM (Double Data Rate SDRAM)
대역폭 | 명칭 |
---|---|
2 | DDR SDRAM |
4 | DDR2 SDRAM |
8 | DDR3 SDRAM |
메모리에 저장된 정보는 계속에서 변하기 때문에 CPU와 실행 중인 프로그램은 메모리의 물리 주소를 알지 못함.
-> 따라서 CPU와 메모리가 상호작용하기 위해서는 논리 주소와 물리 주소 간에 변환이 필요
논리 주소 범위(실행 중인 프로그램 외)를 벗어나는 명령어 실행 방지
각 프로그램이 독립적으로 실행될 수 있도록 보호
프로그램 물리 주소 범위: 베이스 레지스터 값 ~ (베이스 레지스터 값 + 한계 레지스터 값)
CPU는 메모리에 접근할 때 먼저 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지 검사함.
접근하려는 논리 주소가 한계 레지스터보다 크면 인터럽트(트랩) 발생
각기 다른 저장 장치들을 계층화하여 표현한 구조
등장 배경: 기술 발전으로 CPU의 연산 속도가 급격히 증가하면서 CPU와 메인 메모리 간의 속도 차이로 발생하는 병목 현상을 해결하기 위해 도입
CPU와 메인 메모리 사이에 위치한 SRAM 기반의 고속 메모리
캐시 계층 구조
L1, L2 캐시는 코어마다 존재하고, L3 캐시는 여러 코어가 공유하는 형태
CPU가 메모리에 접근할 때의 주된 경향을 바탕으로 만들어진 원리
캐시 메모리는 참조 지역성 원리에 따라 사용할 데이터를 예측하고 캐시 적중률을 높임.
데이터를 플래터 표면에 자기적으로 저장하는 보조기억장치
구성 요소
플래터의 데이터 저장 단위
디스크 접근 동작 순서
디스크 접근 시간
= 탐색 시간 + 회전 지연 + 전송 시간
- 탐색 시간 (seek time): 임의의 트랙에서 원하는 트랙으로 헤트를 이동시키는 시간
- 회전 지연 (rotational latency): 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간 (transfer time): 하드 디스크와 컴퓨터 간에 데이터 전송 시간
전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반 보조기억장치
SLC (Single-Level Cell) | MLC (Multi-Level Cell) | TLC (Triple-Level Cell) | |
---|---|---|---|
셀당 bit | 1bit | 2bit | 3bit |
수명 | 긺 | 보통 | 짧음 |
성능 | 빠름 | 보통 | 느림 |
가격 | 높음 | 보통 | 낮음 |
등장 배경
역할
구성
장치 컨트롤러가 컴퓨터 내부와 정보를 주고 받을 수 있도록 하는 프로그램
p.185 확인 문제 3번
주로 캐시 메모리로 활용된다. ( SRAM )
주로 주기억장치로 활용된다. ( DRAM )
대용량화하기 유리하다. ( DRAM )
집적도가 상대적으로 낮다. ( SRAM )
p.205 확인 문제 1번
레지스터 - 캐시 메모리 - 메모리 - 보조기억장치
RAID의 정의와 종류 간단히 정리해보기
데이터의 안전성과 높은 성능을 위해 여러 하드 디스크나 SSD를 마치 하나의 장치처럼 사용하는 기술
등장 배경: 크기가 작은 여러 개의 디스크들을 서로 연결하여 하나의 큰 용량을 가진 디스크 배열을 구성하면 보다 저렴한 가격으로 더 큰 용량을 가진 디스크 서브시스템을 구성할 수 있음.
=> 각 디스크에 데이터를 분산 저장하여 동시 액세스 가능, 병렬 전송으로 데이터 전송 시간 단축
=> 그러나 고장 가능성 증가 (MTTF 단축) *MTTF(Mean Time To Failure): 결함 발생 평균 기간
RAID는 이를 개선하기 위해(결함 허용도를 높이기 위해) 제안됨.
핵심 기술: 검사 디스크(check disk)들을 이용해 오류 검출 및 복구 기능 추가
RAID 0 - 스트라이핑
데이터를 스트라이핑하여 여러 디스크에 분산 저장하는 방식
* stripe: 분산되어 저장된 데이터
장점: 데이터 동시에 읽고 쓰기 가능 -> 읽기, 쓰기 성능 향상
단점: 데이터 중복 X -> 데이터 보호 X, 신뢰성 낮음.
RAID 1 - 미러링
데이터를 미러링하여 동일한 데이터를 두 개에 디스크에 동시에 저장하는 방식
장점: 신뢰성 향상, 간단한 데이터 복구, 읽기 성능 향상
단점: 저장 용량 감소(전체 디스크의 절반만 사용), 디스크가 하나일 때와 쓰기 성능 동일
RAID 4
블록 레벨 스트라이핑 + 전용 패리티 디스크
* parity bit: 오류를 검출하고 복구하기 위한 정보
* 패리티 디스크: 오류 검출 및 복구에 사용되는 디스크
장점: 읽기 성능 향상
단점: 낮은 쓰기 성능 - 쓰기 작업마다 전용 패리티 디스크를 업데이트해야 하므로 여러 쓰기 작업이 동시에 발생하면 병목 현상 발생
RAID 5
블록 레벨 스트라이핑 + 분산 패리티. 패리티 정보를 분산하여 저장하는 방식
장점: RAID 4의 병목 현상 개선 - 패리티 정보가 여러 디스크에 분산 저장되므로 특정 디스크에 병목이 발생하지 않음.
단점: RAID 4보다 복구 과정 복잡 - 패리티 정보가 분산되어 있으므로 각 디스크에서 정보를 읽어와야 함.
RAID 6
블록 레벨 스트라이핑 + 이중 분산 패리티. 두 개의 독립적인 패리티를 두는 방식
장점: RAID 5의 복구 문제 개선 - RAID 5는 하나의 디스크 고장만 복구할 수 있지만 RAID 6는 두 개의 디스크가 동시에 고장 나도 복구할 수 있음. -> 높은 신뢰성
단점: RAID 5보다 쓰기 성능 낮음.