Step-by-Step

[CS] 메모리 본문

CS공부/기본기술

[CS] 메모리

희주(KHJ) 2023. 11. 13. 15:42

메모리

전자 회로에서 데이터나 상태, 명령어 등을 기록하는 장치

 

 

메모리 계층

  • 하위계층으로 갈수록 용량이 늘어나고, 가격이 저렴하지만, 속도가 느림
  • 상위계층으로 갈수록 용량은 적고, 가격이 높지만, 속도가 빠름

 

  • 레지스터와 캐시는 CPU 내부에 존재 → CPU에 빠르게 접근 가능
  • 주기억장치(=메모리)는 CPU 외부에 존재 → 레지스터와 캐시보다 CPU에 늦게 접근
  • 보조기억장치(=하드디스크)는 CPU에 접근할 방법이 없음
    • 하드디스크 데이터를 메모리로 이동시키고, 메모리에서 접근해서 가능 = "느린 접근"

 

 

 

1. 보조기억장치

  • 물리적인 디스크가 연결되어있는 저장장치
  • 주기억장치보다는 느림
  • 전원을 끄더라도 저장된 데이터가 사라지지 않은 비휘발성이며, 영구적으로 보관 가능
  • 대표적으로 HDD와 SSD가 있음

 

 

HDD(Hard Disk Driver)

  • 하드디스크라 불리우는 보조장치
  • 물리적인 디스크를 고속으로 회전시켜 데이터를 저장하는 장치
  • 충격에 약하며, 소음이 다소 발생
  • 가장 대중적인 보조기억장치였지만, 크기가 작고 처리속도가 향상된 SSD가 나오면서 많이 소명됨

 

 

SSD(Solid State Driver)

  • 반도체 기반 정보를 저장하는 보조기억장치
  • 물리적으로 데이터를 저장하지 않고, 전기적으로 데이터를 저장
  • HDD보다 속도가 월등히 빠르고, 소음도 발생하지 않음
  • 전력 소모가 적고, 경량/소형화 할 수 있음
  • But HDD에 비해 가격이 높음

 

 


2. 주기억장치

  • 흔히 "메모리"라고 하는 영역
  • 컴퓨터 내부에서 CPU가 처리하고 있는 내용을 저장하고 있는 기억장치
  • CPU 명령에 의해 기억된 장소에 직접 접근하여 읽고 쓸 수 있음
  • 대표적으로 RAM과 ROM이 있음

 

 

RAM(Random Access Memory)

  • 읽고 쓰기가 가능함
  • 응용프로그램, 운영체제 등을 불러와 CPU가 작업할 수 있도록 하는 기억장치
  • 데이터를 읽는 속도와 기록하는 속도가 같고 프로그램을 로딩하거나 데이터를 임시 저장할때 사용
  • 전언이 끊어지면 데이터가 전부 지워지는 휘발성 메모리(Volatile Memory)

 

ROM(Read Only Memory)

  • 전원이 끊어져도 기록된 데이터들이 소멸되지 않는 비휘발성 메모리(Non- Volatile Memeory)
  • 오직 기억된 데이터를 읽기만 가능한 장치
  • 데이터를 저장한 후 반영구적으로 사용

 

 


3. 캐시 메모리

  • CPU의 처리속도와 주기억장치의 접근 속도 차이를 줄이기 위해 사용되는 고속 Buffer Memory

 

 

캐시메모리 특징

  • CPU가 주기억장치에서 저장된 데이터를 읽어올 때 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음 이용할때 캐시메모리에서 먼저 가져오면서 속도를 향상시킴
  • 메모리 계층 구조에서 가장 빠른 소자이며, 처리속도가 거의 CPU 속도와 비슷하다
  • 주기억장치를 접근하는 횟수가 줄어들어, 컴퓨터 처리속도가 향상된다

 

캐시메모리 작동 원리

캐시가 효율적으로 동작하려면, 캐시에 저장할 데이터가 지역성을 가져야 함

※ 지역성 : 데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어남

  • 시간 지역성 : 특정 데이터가 한번 접근되었을 경우, 가까운 미래에 또 한번 데이터에 접근할 가능성이 높음
    • 예를 들어, For / while 반복문에 사용되는 데이터는 참조될 가능성이 높으므로 다시 저장함
  • 공간 지역성 : 액세스된 기억장소와 인접한 기억장소가 액세스될 가능성이 높음.
    • 예를 들어, 배열에서 연속 접근시 참조된 데이터 근처에 있는 데이터가 참조 가능성이 높으므로 저장

 

 


4. 레지스터

  • CPU가 요청을 처리하는데 필요한 데이터를 일시적으로 저장하는 다목적 공간
  • 프로세스 내부에 있는 작은 공간으로 연산제어, 디버깅 등 목적으로 사용
  • 공간은 작고 가격은 비싸지만, CPU에 직접 연결되어 있어 연산 속도가 RAM, HDD, SSD보다 빠름
  • CPU는 자체적으로 데이터를 저장할 수 없으므로 레지스터를 이용하여 연산처리 및 번지지정을 도움

 

레지스터와 캐시의 차이점

  • 캐시 : CPU와 별도로 있는 공간, 메인 메모리와 CPU 간의 속도 차이를 극복하기 위함
  • 레지스터 : CPU 안에서 연산을 처리하기 위해 데이터를 저장하는 공간

 

레지스터와 캐시의 공통점

  • 어떤 명령어나 데이터를 저장해두는 저장 공간

'CS공부 > 기본기술' 카테고리의 다른 글

[CS] 운영체제  (0) 2023.11.15
[CS] 데이터베이스  (1) 2023.11.04
[CS] 객체지향 프로그래밍  (0) 2023.11.04
Comments