-
Notifications
You must be signed in to change notification settings - Fork 0
학습 기록 | w3 지현
#휘발성 저장 장치 #비휘발성 저장 장치 #DRAM #SRAM #SDRAM #DDR SDRAM
주기억장치 → RAM, ROM
메모리 → RAM
휘발성 저장 장치 volatile memory
- RAM
비휘발성 저장 장치 non-volatile memory
- 하드 다스크, SSD, CD-ROM, USB 메모리와 같은 보조기억장치
보조기억장치인 비휘발성 저장 장치에는 ‘보관할 대상’을 저장하고 휘발성 저장 장치인 RAM에는 ‘실행할 대상’을 저장
💡 CPU가 실행하고 싶은 프로그램이 보조기억장치에 있다면 RAM으로 복사하여 저장한 뒤 실행
RAM의 용량이 크면 많은 프로그램을 동시에 빠르게 실행하는데 유리
DRAM
= Dynamic Ram
- 저장된 데이터가 동적으로 사라지는 RAM
- 데이터 소멸을 막기 위해 주기적으로 재활성화(다시 저장) 해야 함
- 일반적으로 메모리로 사용되는 RAM
- 소비전력 낮고 저렴, 집적도가 높아 대용량 설계 용이
SRAM
= Static RAM
- 저장된 데이터가 정적인(사라지지 않는) RAM
- 전원공급 X → 사라짐
- DRAM보다 일반적으로 입출력 속도가 빠름
- 일반적으로 캐시 메모리에 사용되는 RAM
- 소비전력이 높고 비쌈, 집적도가 높아 ‘대용량으로 설계할 필요는 없지만 빨라야하는 장치’에 사용
SDRAM
= Synchronous Dynamic RAM
- 클럭 신호와 동기화된 발전된 형태의 DRAM
- 클럭 타이밍에 맞춰 CPU와 정보를 주고받음
= SDR SDRAM
- 한 클럭당 하나씩 데이터를 주고받을 수 있는 SDRAM
DDR SDRAM
= Double Data Rate SDRAM
- 발전된 형태의 SDRAM
- 최근 가장 대중적
- 대역폭을 넓혀 속도를 빠르게 만듦
- 한 클럭당 두번씩 CPU와 데이터를 주고받음
DDR2 SDRAM = SDR SDRAM * 4
DDR4 SDRAM = SDR SDRAM * 16 (대중적)
#물리 주소 #논리 주소 #MMU #베이스 레지스터 #한계 레지스터
physical address
- 메모리 하드웨어가 사용하는 주소
- 정보가 실제로 저장된 하드웨어상의 주소
logical address
- CPU와 실행 중인 프로그램이 사용하는 주소
- 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소
- 프로그램의 시작점으로부터 떨어진 거리
메모리 관리 장치
MMU; Memory Management Unit
- 논리 주소와 물리 주소를 변환하는 하드웨어
- **베이스 레지스터(프로그램의 시작주소)**로부터 논리주소를 이용하여 변환
한계 레지스터
limit register
- 실행 중인 프로그램의 논리 주소의 최대 크기를 저장
- 메모리 보호
- 논리 주소 범위를 벗어나는 명령어 실행을 방지하고 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 함
- CPU는 메모리 접근 전 [논리 주소 < 한계 레지스터] 검사 → 인터럽트 (트랩) 발생시켜 실행을 중단
#저장 장치 계층 구조 #캐시 메모리 #캐시 적중률 #참조 지역성의 원리
- ‘CPU에 얼마나 가까운가’를 기준으로 한 계층
cache memory
- CPU와 메모리 사이에 위치한, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반 저장 장치
- CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해
- 메모리에서 사용할 일부 데이터를 ‘CPU’에 가져와 활용
계층적 캐시 메모리 (L1 - L2 - L3 캐시)
- L1, L2 : 코어 내부
- L3 : 코어 외부, 멀티 코어 프로세스의 경우 여러 코어가 공유
💡 캐시 메모리는 CPU가 자주 사용할 법한 대상을 예측하여 저장
캐시 히트 cache hit
- 예측한 데이터가 맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우
캐시 미스 cache miss
- 예측이 틀려 메모리에서 필요한 데이터를 직접 가져와야 하는 경우
캐시 적중률 cache hit ratio
- 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)
- 컴퓨터 대략 85 ~ 95%
참조 지역성의 원리 locality of reference, principle of locality
-
시간 지역성 temporal locality
- CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
-
공간 지역성 spatial locality
- CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.
#하드 디스크 #플래터 #데이터 접근 시간 #플래시 메모리 #페이지 #블록
HDD; Hard Disk Drive
- 자기 디스크 magnetic disk 의 일종
- 자기적인 방식으로 데이터 저장
플래터 platter
- 데이가 저장되는 곳, N극과 S극이 0과 1의 역할 수행
- 여러 겹의 플래터, 양면 모두 사용
스핀들 spindle
- 플래터를 회전시키는 요소
RPM
- Revolution Per Minute
- 분당 회전수
헤드 head
- 플래터의 데이터를 읽고 쓰는 요소
디스크 암 disk arm
- 헤드를 원하는 위치로 이동시킴
트랙 track
섹터 sector
- 512 바이트 ~ 4096 바이트
실린더 cyllinder
- 여러 겹의 플래터 상에서 같은 트랙이 위치 한 곳을 연결한 논리적 단위
- 연속된 정보는 한 실린더에 기록 (헤드를 움직이지 않음)
하드디스크가 저장된 데이터에 접근하는 시간
- 탐색 시간 (seek time)
- 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
- 회전 지연 (rotational latency)
- 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간 (transfer time)
- 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간
flash memory
- 전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치
- USB메모리, SD 카드, SSD
종류
- NAND 플래시 메모리
- 대용량 저장 장치
- NOR 플래시 메모리
셀 cell
- 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
- 같은 플래시 메모리라도 수명, 가격, 성능이 다르다
| SLC | MLC | TLC | QLC | |
|---|---|---|---|---|
| 셀당 bit | 1bit | 2bit | 3bit | 4bit |
| 정보의 개수 | 2 | 4 | 8 | 16 |
| 수명 | 길다 | 보통 | 짧다 | |
| 읽기/쓰기 속도 | 빠르다 | 보통 | 느리다 | |
| 용량 대비 가격 | 높다 | 보통 | 낮다 | |
| 시중에서 많이 사용 | 시중에서 많이 사용 | 시중에서 많이 사용 |
페이지 page → 블록 block → 플레인 plane → 다이 die
💡 읽기/쓰기 단위와 삭제 단위는 다르다!
- 읽기/쓰기 → 페이지 단위
- 삭제 → 블록 단위
페이지의 상태
- Free
- 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
- Valid
- 이미 유효한 데이터를 저장하고 있는 상태
- Invalid
- 유효하지 않은 데이터(쓰레기값)을 저장하고 있는 상태
가비지 컬렉션 garbage collection
- 유효한 페이지들만을 새로운 블록으로 복사
- 기존의 블록을 삭제
#RAID #RAID 0 #RAID 1 #RAID 4 #RAID 5 #RAID 6
Redundant Array of Independent Disks
데이터의 안정성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 하나의 논리적 보조기억장치처럼 사용하는 기술
스트라입 stripe
- 줄무늬처럼 분산되어 저장된 데이터
스트라이핑 striping
- 분산하여 저장하는 것
RAID0
- 저장되는 데이터가 하드 디스크 개수만큼 나뉘어 저장
- 장점 : 입출력 속도의 향상
- 단점 : 저장된 정보가 안전하지 않음
RAID1
= 미러링 mirroring
- 복사본을 만드는 방식
- 데이터를 쓸 때 원본과 복사본 두 군데에 씀
- 장점 : 복구가 간단
- 단점 : 느린 쓰기 속도, 하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적음
RAID4
- RAID1처럼 완전한 복사본 X
- 오류를 검출하고 복구하기 위한 정보**(패리티 비트; parity bit)**를 저장
- 장점 : RAID1 보다 적은 하드디스크로 데이터를 안전하게 보관
- 단점 : 패리티 디스크의 병목
💡 패리티 비트
- 원래 패리티 비트는 오류 검출만 가능하고 오류 복구는 불가능함
RAID5
- 패리티 정보를 분산하여 저장
- RAID4의 병목현상 해소
RAID6
- 두 종류의 패리티를 이용
- 장점 : RAID5보다 안전
- 단점 : RAID5보다 쓰끼 속도가 느림
나머지 RAID 종류
https://devocean.sk.com/blog/techBoardDetail.do?ID=163608
하나의 HDD에 몇개 정도의 플래터가 겹쳐져 있을까?
-
O / X 퀴즈
a. SRAM은 정적인 RAM이므로 데이터가 절대 사라지지 않는다. ( O / X )
b. 캐시메모리에는 주로 SDRAM을 사용한다. ( O / X )
c. 프로그램의 물리 주소 범위는 [베이스 레지스터 값 + 한계 레지스터 값]을 넘을 수 없다. ( O / X )
d. RAID에서 패리티 비트로 오류 검출을 할 수 있지만 오류 복구는 불가능하다. ( O / X )
e. 하드 디스크 탐색 시간은 생각보다 작으므로 무시할만 하다. ( O / X )
-
캐시 메모리가 메모리로부터 가져올 데이터를 결정할 때 따르는 원리인 ‘참조 지역성의 원리’ 두가지를 설명하시오.
정답
1. O / X 퀴즈
a. X (전원공급이 끊길 경우 데이터는 사라진다.)
b. X (SRAM을 사용한다. SRAM은 Static RAM, SDRAM은 Synchronous Dynamic RAM으로 다르다.)
c. O
d. X (원래의 패리티 비트는 오류 검출만 가능하지만 RAID에서는 검출과 복구 모두 가능하다)
e. 하드디스크에서 데이터를 탐색하고 읽어들이는 시간이 크다.
탐색시간과 회전 지연을 줄이기 위해 플래터를 빠르게 돌리거나 접근하려는 데이터가 가까이 위치해 있는 것도 중요하다.(참조지역성)
2. 참조 지역성의 원리
시간 지역성
- 최근에 접근했던 메모리 공간에 다시 접근하려는 경향. for/while과 같은 반복문에 사용되는 변수처럼 한번 참조된 데이터는 여러번 참조될 수 있다.
공간 지역성
- 접근한 메모리 공간 근처를 접근하려는 경향.
관련된 데이터들은 모여서 저장된다.