[Hardware] Memory
Memory, 메모리
● 컴퓨터에서 데이터를 저장하고 처리하는 데 필수적인 장치, 기억장치
● 메모리가 왜 있어야 할까?
- 프로그램 실행 중 필요한 명령어와 데이터를 저장하고,
CPU가 이를 빠르게 접근해야 할 곳이 필요하기 때문에
● 주소 공간 (Address Space)
- 실행 중인 프로그램이 사용할 수 있는 모든 메모리 상태
- Code, Data, Stack, Heap
○ 물리 주소 (Physical Address) :
- 실제 메모리(RAM 등) 하드웨어 상의 주소
- MMU(Memory Management Unit)을 통해 물리 주소로 변환

- Base register : 프로그램의 가장 작은 물리 주소(프로그램의 첫 물리 주소)를 저장한다.
- 논리 주소는 프로그램의 시작점으로부터 떨어진 거리
○ 논리 주소 (Logical Address) :
- CPU가 생성하는 가상의 주소
- 각 프로세스는 독립된 논리 주소 공간을 가지며, 물리적 충돌을 방지

● 물리 주소와 논리 주소로 분리한 이유가 있을까?
- CPU, 실행 중인 프로그램은 현재 메모리에 어디에 무엇이 저장되어 있는지 알지 못하기 때문
→ 메모리에 저장된 값들은 고정된 자리에 있는 것이 아님
1) 새롭게 실행되는 프로그램은 새롭게 메모리에 적재
2) 실행이 끝난 프로그램은 메모리에서 삭제
3) 같은 프로그램을 실행하더라도 실행할 때마다 적재되는 주소가 달라짐
● 한계 레지스터
- 프로그램의 영역을 침범할 수 있는 명령어의 실행을 막는다.
- Base register가 실행중인 프로그램의 가장 작은 물리 주소를 저장한다면,
한계 레지스터는 논리 주소의 최대 크기를 저장
● 전체적인 구조

Memory라 불리며 가장 많이 쓰이는 RAM
● Random Access Memory, RAM 직역하면 임의 접근 메모리
● 컴퓨터나 다른 디지털 장치에서 사용하는 주요 형태의 데이터 저장소
● 기능 및 특징
○ 임의 접근 : 데이터를 저장하고, 어떤 순서로든 매우 빠르게 접근이 가능하다.
○ 임시 저장소 : RAM은 일반적으로 임시 데이터 장소로 사용되며, 컴퓨터가 실행 중인 프로그램과
현재 작업중인 문서, 파일 등의 정보를 저장한다.
○ 속도 : 비휘발성 저장 장치인 HDD(Hard Disk Drive), SSD(Solid State Drive) 보다 훨씬 빠른 속도로
데이터에 접근이 가능하다.
→ 컴퓨터가 프로그램을 신속하게 실행하고, 사용자의 입력에 빠르게 반응할 수 있는 이유
○ 메모리(RAM)의 용량이 크다면?
- 컴퓨터는 동시에 프로그램을 실행할 수 있고, 복잡한 작업을 더 빠르게 처리가 가능하다.
○ RAM에도 종류가 있다!
- DDR (Double Data Rate)
- SDRAM (Synchronous Dynamic Random Access Memory)
● 캐시 메모리 (Cache Memory)
- 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소
성능이 좋다면 비싸다는 것...

- CPU와 가장 먼저 데이터를 주고 받을수록 속도는 빠르지만 비용은 높다.
- 적절한 조합으로 서버, PC 등 성능과 속도를 효율적으로 설계해야 한다.
돈이 많으면 좋다!