메모리

김현송·2023년 4월 18일
0

리눅스

목록 보기
3/7

기억 장치

전자의 유무, 전압의 고저, 자기적 특성, 빛의 반사율 등에 의해 기억 및 기록 능력을 실현시키는 장치/ 소자

HW 관점의 기억장치

- 캐시 메모리

CPU와 주 기억장치 등 간의 속도 최적화, 임시 기억 등을 위한 고속 메모리
예) 레지스터, SRAM

Static RAM : 주기적으로 내용을 갱신해 주어야 하는 디램(DRAM, 동적 램)과는 달리 기억 장치에 전원이 공급되는 한 그 내용이 계속 보존된다.

- 주 기억장치

CPU가 현재 작업하고 있는 프로그램, 데이터를 저장하고 이를 직접 처리 가능하다.
작은 데이터로 불규칙 접근/처리를 할 수 있어야 한다.
크게 RAM(임의접근 메모리) 과 ROM(읽기 전용 메모리)으로 구분한다.

  • RAM : 순차적인 접근 방식이 아닌 임의로 접근하고 싶은 곳에 바로 접근할 수 있는 주 기억장치
    보통 RAM이라 하면 DRAM을 가키림

    • SRAM : 주로 L2캐시에 사용한다.
    • NVRAM : 비휘발성 SRAM

  • ROM : 전원의 공급이 없이도 계속 기억하는 메모리

    • Mask ROM : 수정 불가, 많은 양의 동일한 형태가 필요한 경우
    • PROM : 다시 수정 가능
    • EPROM : PROM의 변형, 수정을 위해 집적회로 위쪽에 특별한 창을 통해 자외선을 비추어 사용
    • EEPROM : 내용의 일부분을 전기적으로 재수정 가능
    • FLASH EEPROM : 내용 전체를 지우거나 재수정함
      SSD는 Flash Memory의 일종이다.

- 보조 기억장치

대용량 정보를 저장하기 위한 자기 디스크, 플래시 메모리, 광디스크 등과같은 저장장치


virtualbox의 메모리 부팅 순서는 주기억장치 > 보조기억장치 순이다

CPU가 직접 처리하지 않고 별도의 제어기를 통해 접근 가능하다.
주로 순차적인 메모리로 저장 위치에 따라 정보 접근 시간이 달라지며, 데이터 변경은 가능하지만 영구적인 저장소이다.

- 가상메모리

부족한 주기억장치를 보조기억장치로 확장하여 실제보다 더 많은 메모리를 갖는 것처럼 동작한다.

SW 관점의 기억장치(런타임 메모리)

프로그램 실행 관점에서 메모리 상에 일시적으로 데이터를 기억해두는 영역
참조 : 주소와 변수간의 관계
바인딩 : 기억장소(에 있는 값(속성))할당과 변수간의 관계

- 할당 영역 구분

영구 메모리 : 정적 메모리(전역)

  • 코드 영역 : 프로그램 명령어, 함수 등이 저장되는 영역
  • 데이터 영역 : 전역 변수, 정적 변수 등이 저장되는 영역

스택 메모리 : 동적 자동 메모리

  • 지역 변수, 매개 변수, 함수 호출 등 관여되는 자동 변수가 저장되는 영역

힙 메모리 : 동적 메모리 할당

  • 어플리케이션이 운영체제로부터 미리 할당 받는 메모리 영역
  • 프로그램 실행 중 동적으로 할당됨

자유영역 : 동적 메모리 해제

  • 힙에 의해 할당되지 않는 자유 영역

메모리의 계층

  • (레지스터) - (캐시) - (주 기억장치) - (보조 기억 장치)

상위 계층일수록 더 적은 에너지 소비와 더 빠른 접근을 지향한다.

Replacement(교체) : 어떠한 저장장치 중 찾는 내용이 없는 경우 하위 계층의 메모리를 올릴 때 상위 계층의 메모리가 부족할 경우 상위 계층의 메모리 중 하나를 교체함

출처 : http://www.ktword.co.kr/

profile
안녕하세요

0개의 댓글