[코없알데] 메모리 구조

·2023년 2월 15일
0

코없알데

목록 보기
2/9

💡코드 없는 알고리즘과 데이터 구조을 바탕으로 작성된 글입니다.

컴퓨터 메모리

: 컴퓨터가 처리 중이거나 처리를 끝낸 데이터를 저장할 수 있는 공간.

💡데이터 구조 : 사용 가능한 자원을 효과적으로 관리하기 위해 존재.

데이터 구조에서 말하는 자원에는 메모리도 포함되어 있다.

  • 컴퓨터 메모리는 계층적으로 구성되어 있다.

☝️🤓 계층적인 구성
서열에 따라 정해진 순서가 있다.

메모리 계층 구조

컴퓨터 메모리의 계층 구조 중에서 가장 이상적인 방법은 피라미드 형태의 적층 구조이다.

단순 용량과 연산 처리 속도에 의한 계층 구조이며, 메모리의 중요성이 아니다.

하드 디스크

: 계층 구조 중 최하단에 위치한 요소이며, 디스크 저장 장치라고도 한다. 컴퓨터에는 SSD, HDD와 같은 저장 장치가 있다.

  • 메인 메모리인 RAM에 적재되는 데이터저장한다.
  • 항상 데이터가 저장되어 있는 공간이다.

메인 메모리(RAM)

: 프로그램을 실행하면 하드디스크에 저장되어 있던 데이터가 메인 메모리(RAM)에 적재된다.

캐시

: CPU에 내장되어 있으며, 가장 많이 사용하는 데이터저장한다.

  • RAM보다 훨씬 작은 용량 덕분에 데이터 연산 처리 속도가 빠르다는 장점을 가진다.
  • 다만, 캐시의 용량이 커질수록 연산 처리 속도가 느려져 효율이 떨어진다.

💡 L1, L2 캐시
캐시의 종류로서, L1는 CPU 레시트만큼 빠르고, L2는 L1보다는 느리지만 RAM보다 빠른 속도를 가지고 있다.

레지스터

: 메모리 계층 구조에서 최상단에 위치한 요소이다. 메모리 중 가장 빠른 연산 처리 속도를 가지고 있지만, CPU에 장착할 수 있을 만큼 작은 용량의 크기를 가진 메모리이다.

  • CPU가 처리 중인 데이터를 저장한다.

메모리 적재 방향

  1. 하드 디스크는 RAM에 적재되는 데이터를 저장한다.
  2. 프로그램 실행 시, 하드 디스크에 적재되어 있는 데이터가 RAM에 적재된다.
  3. RAM에 적재된 데이터는 캐시에 적재된다.
  4. 캐시에 적재된 데이터는 레지스터에 적재된다.

메모리 주소

: 메모리 공간식별하기 위해 사용하는 것으로 물리적인 주소이다.

💡 물리적인 메모리 공간
하드디스크나 RAM과 같이 실제 자료나 프로그램이 저장되어 있는 공간.

가상 메모리

물리적인 메모리 공간의 크기는 한정적이므로 메모리가 고갈되는 상황이 발생한다.

이런 문제를 방지하기 위해 가상의 메모리를 사용하여 프로그램이 실행되기에 충분한 메모리를 확보한다.

  • 가상 메모리도 프로그램에 할당된 메모리상의 위치를 식별하기 위해 가상의 주소를 매핑한다.

페이징, 페이지 테이블

💡 페이징 : 가상 메모리를 일정한 크기의 페이지로 나눠서 사용하는 개념
💡 페이지 테이블 : 페이지에 매핑된 주소를 물리적인 주소로 변환하는 개념

  • 특정 데이터가 물리적인 메모리 공간에 여러 개로 나뉘어 저장되더라도 서로를 참조해 데이터 손실 없이 불러올 수 있도록 도와준다.
  • 연속된 메모리 공간에 데이터를 저장하지 않아도 되므로 메모리 공간을 효율적으로 사용할 수 있다.
profile
🧑‍💻백엔드 개발자, 조금씩 꾸준하게

0개의 댓글