IT/Hardware

[Hardware] Memory

wakelight23 2025. 1. 20. 21:23

Memory, 메모리

● 컴퓨터에서 데이터를 저장하고 처리하는 데 필수적인 장치, 기억장치 

 

● 메모리가 왜 있어야 할까?

  - 프로그램 실행 중 필요한 명령어와 데이터를 저장하고,
     CPU가 이를 빠르게 접근해야 할 곳이 필요하기 때문에

 

● 주소 공간 (Address Space)

  - 실행 중인 프로그램이 사용할 수 있는 모든 메모리 상태

  - Code, Data, Stack, Heap

 

  ○ 물리 주소 (Physical Address) : 

    - 실제 메모리(RAM 등) 하드웨어 상의 주소

    - MMU(Memory Management Unit)을 통해 물리 주소로 변환

MMU가 어떤식으로 작동하는가에 대한 그림 설명

    - 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에 가까울수록 빠르지만 비싸다!

  - CPU와 가장 먼저 데이터를 주고 받을수록 속도는 빠르지만 비용은 높다.

  - 적절한 조합으로 서버, PC 등 성능과 속도를 효율적으로 설계해야 한다.

  돈이 많으면 좋다!