[혼공컴운] WIL_#3

Oigu·2024년 1월 21일
0
post-thumbnail

참고한 강의

[인프런] 개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제


메모리와 캐시 메모리


RAM

  • 휘발성 저장 장치
  • 실행할 대상 저장

보조기억장치

  • 비휘발성 저장 장치
  • 보관할 대상 저장

CPU는 보조기억장치에 접근하지 못함

➡️ RAM이 보조기억장치에서 복사하고 저장하면 실행 가능

RAM 용량이 크면 많은 프로그램을 동시에 실행하기 유리


✔️ RAM 종류

DRAM (Dynamic RAM)

  • 시간이 지나면 저장된 데이터가 점차 사라짐
  • 일정 주기로 데이터 재활성화(다시 저장) 필요
  • 소비 전력 낮음, 저렴함, 집적도 높음 -> 대용량으로 설계하기 용이
  • 일반적으로 많이 쓰는 RAM

SRAM (Static RAM)

  • 시간이 지나도 저장된 데이터가 사라지지 않음
  • DRAM보다 빠름
  • 소비 전력 큼, 비쌈, 집적도 낮음 -> 대용량보다 속도가 우선
  • 캐시 메모리에서 사용

(SDR)SDRAM ((Single) Synchronous Dynamic RAM)

  • 클럭과 동기화된 DRAM (SRAM과는 관계 없음)
  • 클럭 타이밍에 맞춰 CPU와 정보를 주고받을 수 있음

DDR SDRAM (Double Data Rate SDRAM)

  • 대역폭을 넓혀 속도를 빠르게 만든 SDRAM
  • 한 클럭당 두 번씩 CPU와 데이터 주고받기 가능
  • 전송 속도 두 배가량 빠름(SDRAM에 비해)
    * 대역폭: 데이터를 주고받는 길의 너비

SDR보다 너비가 두 배라고 생각하면 됨



✔️ 메모리 주소 공간

물리 주소

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

논리 주소

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

메모리 관리 장치(MMU)

  • 논리 주소와 물리 주소 간의 변환
  • CPU와 주소 버스 사이에 위치

베이스 레지스터

  • 프로그램의 첫 물리 주소 저장
  • 논리 주소: 프로그램의 시작점으로부터 떨어진 거리

✔️ 메모리 보호

한계 레지스터

  • 논리 주소의 최대 크기 저장
  • 논리 주소 범위를 벗어나는 명령어 실행 방지
  • 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 보호

베이스 레지스터 값프로그램 물리 주소 범위 < 베이스 레지스터 + 한계 레지스터 값


메모리 보호

⭐ CPU는 메모리에 접근하기 전에 논리 주소한계 레지스터보다 작은지 항상 검사



✔️ 캐시 메모리

  • 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치
  • 캐시 히트: 캐시 메모리 내 데이터가 CPU에서 활용될 경우
  • 캐시 미스: 캐시 메모리에 없어 메모리에서 직접 가져와야 하는 경우

캐시 적중률이 높을 수록 성능이 높음
캐시 적중률 = 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)


저장 장치 계층 구조 [나무위키]


참조 지역성 원리

⭐ 캐시 메모리가 메모리부터 가져올 데이터를 참조 지역성의 원리에 따라 결정함

  1. 시간 지역성: CPU가 최근에 접근했던 메모리 공간에 다시 접근하려는 경향
  2. 공간 지역성: CPU가 접근한 메모리 공간 근처를 접근하려는 경향



보조기억장치


✔️ 하드 디스크

위키백과

  • 하드디스크: 자기적인(magnetic) 방식으로 데이터 저장하는 보조기억장치
  • 플래터: 하드 디스크에서 데이터가 저장되는 곳(원판)
  • 스핀들: 플래터를 회전시키는 구성 요소
    • 분당 회전수: RPM(Revolution Per Minute)
  • 헤드: 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소
    • 디스크 암에 부착되어 있음

플래터의 데이터 저장 방법

  • 트랙, 섹터 단위로 저장
  • 실린더: 여러 겹의 플래터 상에 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위

트랙의 한 조각이 섹터, 트랙을 모은 게 실린더!

  • 연속된 정보를 하나의 실린더에 기록해, 디스크 암을 움직이지 않고도 바로 데이터에 접근 가능

데이터 접근 시간

탐색 시간: 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
회전 지연: 헤드가 있는 곳으로 플래터를 회전시키는 시간
전송 시간: 하드 디스크와 컴퓨터 간 데이터를 전송하는 시간

탐색 시간과 회전 지연 단축

  • 플래터 빨리 돌려 RPM 높이기
  • 참조 지역성 (헤드 위치)


✔️ 플래시 메모리

  • 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치
  • USB, SD카드, SSD

타입 종류

SLC(Single-Level Cell)

  • 각 셀 하나의 비트 저장
  • 데이터 읽고 쓰기 반복이 잦고 고성능의 빠른 장치가 필요한 경우
  • 용량 대비 가격 높음

MLC(Multi-Level Cell)

  • 각 셀 일반적으로 2비트 저장
  • 대량의 데이터를 저장해야 하는 경우
  • 용량 대비 가격 저렴

TLC (Triple-Level Cell)

  • 각 셀 세 비트 저장
  • 속도와 내구성보다 대용량과 저렴한 가격이 중요한 경우
  • 더 낮은 가격 대비 많은 용량



🚶🏻 기본 미션


p.185

  1. SRAM인지 DRAM인지
    • 주로 캐시 메모리로 활용 SRAM
    • 주로 주기억장치로 활용 DRAM
    • 대용량화하기 유리 DRAM
    • 집적도가 상대적으로 낮음 SRAM

p.205

  1. 저장 장치 계층 구조 도식도 채우기

메모리 보조기억장치 캐시 메모리 레지스터



🏃🏻 선택 미션


RAID 정의

  • 하드 디스크와 SSD를 사용하는 기술
  • 여러 개의 물리적 보조기억장치를 하나의 논리적 보조기억장치처럼 사용하는 기술
  • 데이터를 안전하게 관리하고 높은 성능을 위해 사용
  • 여러 보조기억장치를 안전하고 빠르게 활용 가능

RAID 종류

RAID 0, 1, 2, 3, 4, 5, 6, 10, 50

부연 설명

RAID 0

  • 스트라입(stripe): 분산되어 저장된 데이터
  • 스트라이핑: 데이터를 분산하여 저장하는 것
  • 4TB 저장 장치 하나보다 RAID 0으로 구성된 1TB 저장 장치 네 개의 속도가 네 배가량 빠름,,

RAID 4

  • 패리티 비트: 오류 검출용 정보일 뿐 복구는 불가능
    ➡️ 오류 복구는 RAID 4에서

0개의 댓글