메모리 계층구조(Memory Hierarchy)
각각 다른 성능과 특징을 가지는 여러 메모리가 존재한다.
- 용도에 따라 적재 적소에 사용하면 최적의 효율을 낼 수 있다.

레지스터(Register)
CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치
- CPU(Central Processing Unit) : 중앙처리 장치
- 컴퓨터의 4대 주요 기능(기억,해석,연산,제어)을 관할하는 장치이다.
- 고속 메모리로, 소량의 데이터를 처리할 때 사용한다.
- CPU는 자체적으로 데이터를 저장할 방법이 없기에 레지스터를 거쳐야 한다.
CPU 내부 레지스터 종류
PC(Program Counter) | 다음에 실행할 라인의 주소를 가지고 있는 레지스터 |
AC(ACumulator) | 연산 결과 데이터를 일시적으로 저장하는 레지스터 |
IR(Instruction Register) | 현재 수행 중인 명령어를 가지고 있는 레지스터 |
SR(Status Register) | 현재 CPU의 상태를 가지고 있는 레지스터 |
MAR(Memory Address Register) | 메모리부터 읽어오거나 메모리에 쓰기 위한 주소를 가지고 있는 레지스터 |
MBR(Memory Buffer Register) | 메모리로부터 읽어온 데이터 또는 메모리에 써야할 데이터를 가지고 있는 레지스터 |
I/O AR(I/O Address Register) | 입출력 장치에 따른 입출력 모듈의 주소를 가지고 있는 레지스터 |
I/O BR(I/O Buffer Register) | 입출력 모둘과 프로세서 간의 데이터 교환을 위해 사용되는 레지스터 |
캐시 메모리
다른 게시글 추가 예정
메인 메모리(Main Memory)
주 기억장치(= 1차 기억 장치)에 해당한다.
- RAM(Random Access Memory)
Random Access
: 어느 위치에서든 똑같은 속도로 접근하여 읽고 쓸 수 있다는 의미- 일반적으로 주 기억장치(메인 메모리)는 RAM을 가리킨다.
- 휘발성 메모리이다.
- 전원이 유지되는 동안 CPU의 연산 및 동작에 필요한 내용이 저장된다.
- 전원이 종료되면 저장된 내용은 모두 사라진다.
- 하드 디스크의 프로그램을 메인 메모리에 적재하여 CPU가 데이터에 접근할 수 있게 한다.
- 종류 : SRAM, DRAM
- ROM(Read-Only Memory)
- 고정 기억 장치이다.
- 비휘발성 메모리이다.
- 전원이 종료되어도 데이터가 영구히 저장된다.
- 영구 보존되어야 하는 데이터를 위해 사용한다.
- 주로 바이오스, UEFI 등 펌웨어에 사용한다.
- 종류 : PROM, EPROM, EEPROM 등
- ROM이 메인 메모리 범주에 속하는 지는 경계가 모호하다.
하드 디스크 드라이브(HDD, Hard Disk Drive)
보조 기억장치에 해당한다.
- 사용자가 사용하고자 하는 데이터와 프로그램을 저장한다.
- 운영체제, 소프트웨어 프로그램 등
- 비휘발성 메모리이다.
- 전원이 종료되어도 데이터가 영구히 저장된다.
- 용량 대비 가격이 저렴하다.
- RAM에 비해 속도가 느리다.
메모리 계층 구조의 필요성
1. Decoding 속도
CPU가 메모리에 접근하기 위해서는 Control bit가 필요하다.
메모리의 크기가 크다면 Decoding을 통해 Control bit를 전달해야 한다.


- Decoding 과정에서 시간이 소요된다.
- 메모리의 크기가 클수록 더 복잡한 Decoding 과정이 필요하다.
따라서, CPU가 메모리에 빠르게 접근하기 위해서는 메모리의 크기가 작아야 한다.
위 그림의 경우, 아래 그림의 경우보다 CPU가 빠르게 메모리에 접근할 수 있다.
2. Locality of Reference
큰 메모리를 사용해도 메모리 내부의 데이터에 고르게 접근하지 않는다.
- 자주 쓰이는 데이터는 자주 쓰이고, 자주 쓰이지 않는 데이터는 계속해서 자주 쓰이지 않는다.
이를 이용해서 자주 쓰일것 같은 데이터를 모아 작은 메모리 안에 구성한다면 시간과 공간의 효율을 높일 수 있다.
- 캐시 메모리-메인 메모리의 관계, 메인 메모리-하드 디스크의 관계가 그렇다.
3. 경제성
속도가 빠른 메모리는 가격이 비싸기 때문에 작은 용량으로 사용한다.
반면 속도가 느린 메모리는 가격이 저렴하기 때문에 넉넉한 용량으로 사용할 수 있다.
따라서, 메모리 계층 구조가 피라미드 모양으로 나타난다.
참고
'Computer Science > Operating System' 카테고리의 다른 글
MMU, TLB (0) | 2023.04.13 |
---|---|
Segmentation(세그멘테이션) (0) | 2023.04.03 |
가상 메모리(Virtual Memory), 페이징(Paging) (1) | 2023.04.02 |
내부 단편화, 외부 단편화 (0) | 2023.04.02 |
Thread Pool(스레드 풀) / Monitor(모니터) / Fork-Join(포크-조인) (1) | 2023.03.08 |
메모리 계층구조(Memory Hierarchy)
각각 다른 성능과 특징을 가지는 여러 메모리가 존재한다.
- 용도에 따라 적재 적소에 사용하면 최적의 효율을 낼 수 있다.

레지스터(Register)
CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치
- CPU(Central Processing Unit) : 중앙처리 장치
- 컴퓨터의 4대 주요 기능(기억,해석,연산,제어)을 관할하는 장치이다.
- 고속 메모리로, 소량의 데이터를 처리할 때 사용한다.
- CPU는 자체적으로 데이터를 저장할 방법이 없기에 레지스터를 거쳐야 한다.
CPU 내부 레지스터 종류
PC(Program Counter) | 다음에 실행할 라인의 주소를 가지고 있는 레지스터 |
AC(ACumulator) | 연산 결과 데이터를 일시적으로 저장하는 레지스터 |
IR(Instruction Register) | 현재 수행 중인 명령어를 가지고 있는 레지스터 |
SR(Status Register) | 현재 CPU의 상태를 가지고 있는 레지스터 |
MAR(Memory Address Register) | 메모리부터 읽어오거나 메모리에 쓰기 위한 주소를 가지고 있는 레지스터 |
MBR(Memory Buffer Register) | 메모리로부터 읽어온 데이터 또는 메모리에 써야할 데이터를 가지고 있는 레지스터 |
I/O AR(I/O Address Register) | 입출력 장치에 따른 입출력 모듈의 주소를 가지고 있는 레지스터 |
I/O BR(I/O Buffer Register) | 입출력 모둘과 프로세서 간의 데이터 교환을 위해 사용되는 레지스터 |
캐시 메모리
다른 게시글 추가 예정
메인 메모리(Main Memory)
주 기억장치(= 1차 기억 장치)에 해당한다.
- RAM(Random Access Memory)
Random Access
: 어느 위치에서든 똑같은 속도로 접근하여 읽고 쓸 수 있다는 의미- 일반적으로 주 기억장치(메인 메모리)는 RAM을 가리킨다.
- 휘발성 메모리이다.
- 전원이 유지되는 동안 CPU의 연산 및 동작에 필요한 내용이 저장된다.
- 전원이 종료되면 저장된 내용은 모두 사라진다.
- 하드 디스크의 프로그램을 메인 메모리에 적재하여 CPU가 데이터에 접근할 수 있게 한다.
- 종류 : SRAM, DRAM
- ROM(Read-Only Memory)
- 고정 기억 장치이다.
- 비휘발성 메모리이다.
- 전원이 종료되어도 데이터가 영구히 저장된다.
- 영구 보존되어야 하는 데이터를 위해 사용한다.
- 주로 바이오스, UEFI 등 펌웨어에 사용한다.
- 종류 : PROM, EPROM, EEPROM 등
- ROM이 메인 메모리 범주에 속하는 지는 경계가 모호하다.
하드 디스크 드라이브(HDD, Hard Disk Drive)
보조 기억장치에 해당한다.
- 사용자가 사용하고자 하는 데이터와 프로그램을 저장한다.
- 운영체제, 소프트웨어 프로그램 등
- 비휘발성 메모리이다.
- 전원이 종료되어도 데이터가 영구히 저장된다.
- 용량 대비 가격이 저렴하다.
- RAM에 비해 속도가 느리다.
메모리 계층 구조의 필요성
1. Decoding 속도
CPU가 메모리에 접근하기 위해서는 Control bit가 필요하다.
메모리의 크기가 크다면 Decoding을 통해 Control bit를 전달해야 한다.


- Decoding 과정에서 시간이 소요된다.
- 메모리의 크기가 클수록 더 복잡한 Decoding 과정이 필요하다.
따라서, CPU가 메모리에 빠르게 접근하기 위해서는 메모리의 크기가 작아야 한다.
위 그림의 경우, 아래 그림의 경우보다 CPU가 빠르게 메모리에 접근할 수 있다.
2. Locality of Reference
큰 메모리를 사용해도 메모리 내부의 데이터에 고르게 접근하지 않는다.
- 자주 쓰이는 데이터는 자주 쓰이고, 자주 쓰이지 않는 데이터는 계속해서 자주 쓰이지 않는다.
이를 이용해서 자주 쓰일것 같은 데이터를 모아 작은 메모리 안에 구성한다면 시간과 공간의 효율을 높일 수 있다.
- 캐시 메모리-메인 메모리의 관계, 메인 메모리-하드 디스크의 관계가 그렇다.
3. 경제성
속도가 빠른 메모리는 가격이 비싸기 때문에 작은 용량으로 사용한다.
반면 속도가 느린 메모리는 가격이 저렴하기 때문에 넉넉한 용량으로 사용할 수 있다.
따라서, 메모리 계층 구조가 피라미드 모양으로 나타난다.
참고
'Computer Science > Operating System' 카테고리의 다른 글
MMU, TLB (0) | 2023.04.13 |
---|---|
Segmentation(세그멘테이션) (0) | 2023.04.03 |
가상 메모리(Virtual Memory), 페이징(Paging) (1) | 2023.04.02 |
내부 단편화, 외부 단편화 (0) | 2023.04.02 |
Thread Pool(스레드 풀) / Monitor(모니터) / Fork-Join(포크-조인) (1) | 2023.03.08 |