[매일 개념] 메모리 구조

DongHyeon·2022년 6월 30일
0

매일 개념

목록 보기
11/28

메모리 구조란?

  • 메모리 계층 구조란 여러가지 기억장치를 필요에 따라 속도, 용량 성능에 따라 계층적으로 나눈 것을 의미


메모리 계층 특징

  • 하위 계층으로 갈수록 용량이 늘어나고, 가격이 저렴하지만 속도가 느리다. 반대로 상위계층은 빠른 대신 용량이 작고 가격이 비싸다. 이를 보완하기 위해 메모리 계층 구조를 사용한다.
    • 레지스터와 캐시는 CPU 내부에 존재. CPU에 빠르게 접근할 수 있음.
    • 메모리(주 기억장치)는 CPU 외부에 존재. 레지스터와 캐시보다 느리게 CPU에 접근
    • 하드디스크(보조 기억장치)는 CPU가 직접 접근할 수 없음. CPU가 하드 디스크에 접근하기 위해서는 하드디스크의 데이터를 메모리로 이동시키고, 메모리에 접근해야 함(아주 느린 접근)

보조 기억장치란?

  • 보조 기억장치는 물리적인 디스크가 연결되어 있는 기억장치. 주 기억장치보다 느리지만 컴퓨터의 전원을 끄더라도 데이터가 사라지지않고, 영구적으로 보관 가능. HDD와 SSD

주 기억장치란?

  • 주 기억장치는 컴퓨터 내부에서 현재 CPU가 처리하고 있는 내용을 저장하고 있는 기억장치.
    CPU의 명령에 의해 기억된 장소에 접근하여 읽고 쓸 수 있음. ROM과 RAM

RAM

  • RAM은 읽고 쓰기가 가능하며, 응용 프로그램, 운영체제 등을 불러와 CPU가 작업할 수 있도록 하는 기억장치
  • 데이터를 읽는 속도와 기록하는 속도가 같음. 데이터를 임시저장 혹은 프로그램을 로딩할 때 사용
  • 전원이 끊어지면 데이터가 전부 지워져 휘발성 메모리라고 불림. 실행하고 있는 파일은 항상 보조기억장치에 저장을 해줘야 함

ROM

  • ROM은 전원이 끊어져도 기록된 데이터들이 소멸되지 않는 비휘발성 메모리. 오직 데이터를 읽기만 가능함
  • 데이터를 저장 후, 반영구적으로 사용. BIOS와 같은 주요 데이터를 저장

주 기억장치의 구조

코드(CODE) 영역

  • 실행할 프로그램의 코드가 저장되는 영역(텍스트 영역). CPU는 코드 영역에 저장된 명령어를 하나씩 가져가 처리한다.

데이터(DATA) 영역

  • 프로그램의 시작과 동시에 할당되며, 프로그램이 종료되면 소멸한다. 전역변수, 정적변수, 배열, 구조체 등이 저장되는 영역

힙(HEAP) 영역

  • 사용자가 직접 관리 할 수 있는 메모리 영역. 메모리 주소 값에 의해서만 참조됨. 참고타입에 대한 저장 공간

스택(STACK) 영역

  • 함수의 호출과 관계되는 지역 변수와 매개변수, 메소드, return값 등이 저장되는 영역.
  • 프로그램이 자동으로 사용하는 임시 메모리 영역으로 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸
  • 저장되는 함수의 호출 정보를 스택 프레임이라 한다.

캐시 메모리란?

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

특징

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

레지스터 란?

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



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

0개의 댓글