대역폭이란?
데이터를 주고받는 길의 너비
메모리 주소
CPU
와 실행 중인 프로그램이 사용하는 주소. 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소CPU
와 주소 버스
사이에 위치한 메모리 관리 장치(Memory Management Unit)
에서 CPU
가 발생시킨 논리 주소에 베이스 레지스터 값을 더해 변환한다.메모리 보호 기법
베이스 레지스터 값
<= 프로그램의 물리 주소
< 베이스 레지스터 값 + 한계 레지스터 값
CPU
가 메모리에 접근하는 시간은 CPU
의 연산 속도보다 느리다.CPU
에 얼마나 가까운가를 기준으로 계층적으로 나타낸다.CPU
와 메모리 사이에 위치. 레지스터보다 용량이 크고 메모리보다 빠른 SRAM
기반 저장 장치.CPU
의 연산 속도와 메모리 접근 속도의 차이를 줄이기 위해 탄생.CPU
와 가까운 순으로 L1
, L2
그리고 L3
으로 나눈다. 여기서 L3
는 CPU
와 메모리 사이에 위치하고 멀티코어에서 공유한다.L1
캐시는 접근 속도를 빠르게 만들기 위해 명령어만 저장하는 L1l
캐시와 데이터만 저장하는 L1D
캐시로 분리한다.CPU
가 사용할 법한 대상을 예측하여 저장한다.CPU
에서 활용하는 경우캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)
CPU
가 메모리에 접근할 때의 주된 경향을 바탕으로 만들어진 원리CPU
는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.CPU
는 접근한 메모리 공간 근처에 접근하려는 경향이 있다.하드 디스크: 자기적인 방식으로 데이터를 저장
플래터(platter): 하드 디스크에서 실질적으로 데이터가 저장되는 곳으로 N극과 S극을 저장한다. N/S극은 0/1 역할을 수행한다.
스핀들(spindle): 플래터를 회전시키는 구성 요소. 스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM(Revolution Per Minute)
단위로 표현한다.
헤드(head): 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소
디스크 암(dist arm): 헤드를 원하는 위치로 이동
플래터는 트랙 track
과 섹터 sector
라는 단위로 데이터를 저장
실린더(cylinder): 한 플래터를 동심원으로 나눈 공간은 트랙, 같은 트랙끼리 연결한 원통 모양의 공간은 실린더
하드디스크가 저장된 데이터에 접근하는 시간
플래시 메모리(flash memory): 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반 저장 장치
플래시 메모리의 가장 작은 단위인 셀보다 큰 단위
플래시 메모리에서 읽기와 쓰기는 페이지 단위로! 삭제는 페이지보다 큰 블록 단위로 이루어짐.
블록 단위로 수행되기 때문에 Invalid
페이지와 valid
페이지가 같이 저장됨. 그래서 최근 SSD를 비롯한 플래시 메모리는 이런 쓰레기 값을 정리하기 위해 가비지 컬렉션 기능을 제공
valid
페이지들만 새로운 블록으로 복사한 뒤, 기존 블록을 삭제!오류를 검출하고 복구하기 위한 정보(패리티 비트)
를 저장한 장치를 둔다.Q)
SRAM
,DRAM
중 알맞은RAM
의 종류를 쓰세요.- 주로 캐시 메모리로 활용됩니다. (SRAM) - 주로 주기억장치로 활용됩니다. (DRAM) - 대용량화하기 유리합니다. (DRAM) - 집적도가 상대적으로 낮습니다. (SRAM)
Q) 저장 장치 계층 구조 도식도 채우세요.
- 레지스터 - 캐시 메모리 - 메모리 - 보조기억장치