혼공컴운 챕터 6. 메모리와 캐시메모리

김민영·2023년 1월 27일
0

혼공학습단

목록 보기
4/22
post-thumbnail

6-1 RAM의 특징과 종류

특징

  • RAM: 휘발성 저장 장치 실행할 대상. 실행할 프로그램의 명령어와 데이터가 저장됨.
  • 보조기억장치 : 비휘발성 저장 장치 저장할 대상.
    • 하드디스크, SSD, CD-ROM, USB

RAM의 용량과 성능

  • CPU에서는 프로그램을 실행하고, RAM은 실행할 프로그램의 명령어와 데이터를 저장.
  • RAM 용량이 작으면, 실행할 프로그램을 보조기억장치에서 갖고 오는 과정이 필요
  • RAM 용량이 크면, RAM에 프로그램을 기억해둘 수 있으므로, 보조기억장치에서 갖고 오는 과정이 줄음
    • 그러나 RAM 용량이 필요 이상으로 커지면 효율 상승은 미미

RAM의 종류

DRAM Dynamic RAM

동적 램. 시간이 지나면 사라진다.

  • 일정 주기로 데이터를 재활성화 (다시 저장) 해야한다.
  • 소비 전력 낮음. 가격 낮음. 집적도가 높음. (대용량 설계 용이)
    • 회로 구조가 단순. 트랜지스터 1개, 캐패시터 1개
    • 일반적인 메모리로 사용하는 RAM

SRAM Static RAM

정적 램. 데이터 저장됨

  • 데이터 재활성화 필요 없음. 속도 빠름.
  • 소비 전력 큼. 가격 높음. 집적도 낮음
    • 트랜지스터 4개
    • 대용량일 필요 없지만, 속도가 빨라야하는 저장 장치에 사용 - 캐시메모리

SDRAM Synchronous Dynamic RAM

  • 클럭 신호와 동기화된 DRAM
    • 클럭 타이밍에 맞춰 CPU와 정보를 주고 받을 수 있음.

DDR SDRAM Double Data Rage SDRAM

  • 가장 흔히 사용되는 RAM
  • 대역폭을 넓혀 속도를 빠르게 만든 SDRAM
    • 대역폭 : 데이터를 주고받는 길의 너비
    • SDRAM은 너비가 하나. S(Single)DR SDRAM 이라고도 함. 한 클럭에 한 번씩 CPU와 데이터 교환
    • DDR SDRAM은 너비가 2배. 한 클럭에 두 번씩 CPU와 데이터 교환
    • DDR2 SDRAM은 너비가 4배. 한 클럭에 네 번씩 CPU와 데이터 교환
    • DDR4 SDRAM은 너비가 16배. 한 클럭에 16번씩 CPU와 데이터 교환 <- 주로 사용

6-2 메모리의 주소 공간

물리 주소와 논리 주소

물리 주소

  • 메모리가 사용
  • 정보가 실제로 저장된 하드웨어상 주소

논리 주소

  • CPU와 실행 중인 프로그램이 사용
  • 실행 중인 프로그램 각각에게 부여된 0 부터 시작하는 주소

메모리 관리 장치 MMU : Memory Management Unit

  • 논리 주소와 물리 주소 변환
  • CPU의 논리 주소 + 베이스 레지스터 값 -> 물리 주소
    • 베이스 레지스터 : 프로그램의 가장 작은 물리 주소 (첫 물리 주소) 저장
    • 논리 주소 : 프로그램 시작점으로부터 떨어진 거리

메모리 보호 기법

  • 프로그램의 논리 주소 영역을 벗어난 명령어는 실행되어서는 안됨.

한계 레지스터 limit register

  • 프로그램의 논리 주소 최대 크기를 지정.
  • 프로그램의 물리 주소 범위는 베이스 레지스터 값 이상, 베이스 레지스터 값 + 한계 레지스터 값 미만
  • CPU가 한계 레지스터보다 높은 논리 주소에 접근하려하면 인터럽트(트랩) 발생

6-3 캐시 메모리

  • CPU 연산 속도보다 CPU가 메모리에 접근하는 속도가 느림. -> 캐시메모리 사용

저장 장치 계층 구조

  • 속도, 용량, 가격
  1. CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.
  2. 속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비싸다.
  • 저장 장치 계층 구조 : CPU에 얼마나 가까운지 계층으로 저장 장치를 나타냄.

캐시 메모리

  • CPU 와 메모리 사이에 위치. 레지스터보다 용량이 크고, 메모리보다 빠른 SRAM 기반 저장 장치
  • L1 캐시 - 코어 내부 (CPU 코어와 가장 가까움)
    • 분리형 캐시에서는 L1l 캐시 (명령어만을 저장), L1D 캐시 (데이터만을 저장) 으로 나뉨.
  • L2 캐시 - 코어 내부
  • L3 캐시 - 코어 외부. 여러 코어가 공유하는 형태.

참조 지역성 원리

  • 캐시 메모리는 메모리의 일부를 복사하여 저장.
  • CPU가 사용할 법한 대상을 예측하여 저장. CPU가 실제로 사용하면 캐시 히트
  • 예측이 틀려서 메모리에서 필요한 데이터를 직접 가져와하 하면 캐시 미스
  • 캐시 적중률 = 캐시 히트 수 / (캐시 히트 수 + 캐시 미스 수)

참조 지역성 원리

  1. CPU 는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
    • 시간 지역성 : 변수에 저장된 값을 여러 번 사용
  2. CPU 는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.
    • 공간 지역성 : 프로그램 내에서 관련 있는 데이터는 모여서 저장됨.


미션


profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글