SangKins

[혼공컴운] 3주차 Chapter 06 ~ 08 메모리, 보조기억장치, 입출력장치 본문

Dev/혼공단

[혼공컴운] 3주차 Chapter 06 ~ 08 메모리, 보조기억장치, 입출력장치

holdbird 2024. 1. 16. 23:58

벌써 혼공학습단의 절반으로 향해가고 있습니다

 

3주 차에 공부하는 내용은 메모리, 보조기억장치, 입출력장치를 알아보겠습니다

  • Chapter 06 | 메모리와 캐시 메모리
    • 06-1 | RAM의 특징과 종류
    • 06-2 | 메모리의 주소 공간
    • 06-3 | 캐시 메모리
  • Chapter 07 | 보조기억장치
    • 07-1 | 다양한 보조기억장치
    • 07-2 | RAID의 정의와 종류
  • Chapter 08 | 입출력장치
    • 08-1 | 장치 컨트롤러와 장치 드라이버
    • 08-2 | 다양한 입출력 방법

✅혼자 공부하는 컴퓨터 구조+운영체제

#혼공학습단 #혼공 #혼공컴운

# 진도 기본 미션 선택 미션
1주차
(1/2 ~ 1/7)
Chapter 01 ~ 03 p. 51의 확인 문제 3번, p. 65의 확인 문제 3번 풀고 인증하기 p. 100의 스택과 큐의 개념을 정리하기
2주차
(1/8 ~ 1/14)
Chapter 04 ~ 05 p. 125의 확인 문제 2번, p. 155의 확인 문제 4번 풀고 인증하기 Ch.05(05-1) 코어와 스레드, 멀티 코어와 멀티 스레드의 개념을 정리하기
3주차
(1/15 ~ 1/21)
Chapter 06 ~ 08 p. 185의 확인 문제 3번, p. 205의 확인 문제 1번 풀고 인증하기 Ch.07(07-1) RAID의 정의와 종류를 간단히 정리해 보기
4주차
(1/22 ~ 1/28)
Chapter 09 ~ 11 p. 304의 확인 문제 1번 풀고 인증하기 Ch.11(11-2) 준비 큐에 A,B,C,D 순으로 삽입되었다고 가정했을 때, 선입 선처리 스케줄링 알고리즘을 적용하면 어떤 프로세스 순서대로 CPU를 할당받는지 풀어보기
5주차
(1/29 ~ 2/4)
Chapter 12 ~ 13 p. 363의 확인 문제 1번 풀고 인증하기 Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기
6주차
(2/5 ~ 2/12)
Chapter 14 ~ 15 p. 400의 확인 문제 1번 풀고 인증하기 Ch.14(14-3) 프로세스가 사용할 수 있는 프레임이 3개 있고, 페이지 참조열이 '2313523423' 일 때 LRU 페이지 교체 알고리즘으로 이 페이지를 참조한다면 몇 번의 페이지 폴트가 발생하는지 풀어보기

 

 

학습목표 

  1. RAM의 특징과 종류에 대해 학습
  2. 논리 주소와 물리 주소의 차이를 이해
  3. 논리 주소를 물리 주소로 변환하는 방법을 이해
  4. 캐시 메모리와 저장 장치 계층 구조의 개념을 이해

 

06. 메모리와 캐시 메모리

RAM(Random Access Memory)

  • 실행할 프로그램의 명령어와 데이터가 저장되는 컴퓨터 메모리
  • 저장된 데이터를 순차적이 아닌 임의의 순서로(Random) 접근할 수 있는 데이터 저장소
  • 전원을 끄면 RAM에 저장된 데이터가 사라진다 = 휘발성 메모리(volatile memory)
  • RAM 용량이 충분히 크다면 보조기억장치에서 많은 데이터를 미리 불러올 수 있다.

 

06 - 1 RAM의 종류

  • DRAM(Dynamic RM)
    - 저장 데이터가 동적으로 변하는 RAM.
    - 데이터의 소멸을 막기 위해 일정 주기로 재저장이 필요한 단점
    - 소비 전력, 가격이 낮고 집적도가 높다는 장점
  • SRAM(STATIC RAM)
    - 저장된 데이터가 변하지 않는 정적인 RAM
    - DRAM 보다 속도가 빠르다는 장점
    - 소비 전력,가격이 높고 집적도가 낮다는 단점
    - 대용량이 필요하지 않은 캐시 메모리에 사용
  • DDR SDRAM(DOUBLE DATA RATE SDRAM)
    - 대역폭를 넓혀 속도를 높인 SDRAM
    - 대역폭(Data Rate): 데이터 통로의 넓이
  • SDRAM(Synchronous Dynamic RAM)
    - 클럭 신호와 동기화된 DRAM
  •  

06-2 메모리 주소의 공간

  • 물리 주소: 메모리 하드웨어가 사용하는 주소
  • 논리 주소: CPU와 실행 중인 프로그램이 사용하는 주소

메모리 관리 장치(Memory Management Unit)

논리주소를 물리주소로 변환(= 논리주소 + 베이스 레지스터 값)하는 장치

메모리 보호 기법
자신의 프로그램 논리 주소 영역을 넘어서는 명령어를 막기 위한 방법
한계 레지스터(Limit Register)가 논리 주소의 최대 크기를 저장하여 제한

값을 계산하는 방법은 192P

 

06-3 캐시 메모리(Cache Memory)

  • CPU와 메모리 사이에 위치한, SRAM 기반의 저장 장치
    CPU의 연산 속도와 메모리 접근 속도차를 줄이기 위해 만들어짐, 코어와 가까운 순서대로 L1, L2, L3 계층
  • 참조 지역성 원리
    CPU가 메모리에 접근할 때 주된 경향을 바탕으로 만들어진 원리
  • 캐시 히트(Cache Hit): CPU가 사용할 것으로 예상되는 내용을 예측하여 캐시 메모리에 저장하고, 실제로 CPU가 그 내용을 사용하는 경우. 반대의 경우인  캐시 미스(Cache miss)
  • 캐시 적중률(Cache Hit Rate) = 캐시 히트 횟수 / 총 수 
  • 시간 지역성(Temporal Locality): CPU는 최근에 접근한 메모리 공간에 다시 접근하려는 경향
  • 공간 지역성(Spatial Locality): CPU는 접근한 메모리 공간 근처를 접근하려는 경향

 

07. 보조기억장치

07-1 다양한 보조기억장치


하드디스크 : 자기적인 방식으로 데이터를 저장하는 보조기억장치

하드디스크의 구조

  • 플래터: 자기 물질로 덮힌 동그란 원판. N/S극이 각각 0과 1의 역할
  • 스핀들: 플래터 회전기
  • 헤드: 플래터 위에서 미세하게 떠서 데이터를 읽고 쓰는 요소
  • 디스크 암: 헤드를 원하는 위치로 이동시키는 요소

하드디스크의 저장 방식


트랙: 플래터 동심원 중 하나의 원
섹터: 트랙의 일부
실린더: 다중 플래터에서 같은 트랙이 위한 곳을 모아 연결한 논리적 단위 공간
쓰기, 읽기

하드디스크 접근 시간

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


플래시 메모리 : 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장장치

플래시 메모리 저장 단위

셀: 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
셀 < 페이지 < 블록< 플레인 < 다이
읽기와 쓰기는 페이지 단위, 삭제는 블록 단위로 이루어짐
SLC, MLC, TLC 가 있다. 순서대로 셀당 bit = 1,2,3
수명 = 길다, 보통, 짧다
읽기/쓰기 속도 =  빠름, 보통, 느림
용량 대비 가격 =  높음, 보통, 낮음


07-2 RAID의 정의와 종류
RAID(Redundant Array of Independent Disks; 복수 배열 독립 디스크)
데이터의 안전성/높은 성능을 위해 여러 개의 물리적인 보조기억장치를 하나의 논리적 보조기억장치처럼 사용하는 기술

RAID Level
RAID 0
여러개의 보조기억장치에 단순하게 나누어 저장하는 방식 (스트라이핑)

장점: 데이터를 동시에 읽고 쓸 수 있기 때문에, 처리 속도가 빠름
단점: 디스크 하나에 문제가 발생하면 읽기에 문제가 발생


RAID 1
완전한 복사본 = 미러링(mirroring)

장점: 데이터 복구가 매우 간단한다.
단점: 완전 복사된 형태이기 때문에 RAID 0보다 속도가 느리고, 사용 가능한 용량이 적기 때문에, 많은 디스크 비용

 

RAID 4
전용 패리티 디스크가 제공되는 스트라이핑 된 방식

 

장점: RAID 1보다 적은 하드디스크로도 데이터를 안전하게 보관
단점: 새로운 데이터 저장 시 패리티 디스크에도 접근해야 하므로 패리티 디스크의 병목 현상이 발생


RAID 5
패리티 정보가 분산된 스프라이핑 방식 즉 병목 현상을 해소

RAID 6
서로 다른 패리티 2개를 사용하는 RAID 5 방식

데이터 저장 속도를 조금 희생하더라도 데이터를 더욱 안전하게 보관

장점: 패리티의 증가로 좀 더 안전한 복구가 가능하다.
단점: 패리티 2개 내용을 저장해야 하므로 RAID 5보다 느리다.

 

08. 입출력장치


08-1 장치 컨트롤러와 장치 드라이버


입출력장치가 다루기 어려운 이유


다양한 종류로 인한 문제점 : 규격화가 어려움
CPU, 메모리에 비해 전송률이 낮음 : 입출력장치와의 소통 문제


장치 컨트롤러
입출력장치가 컴퓨터와 직접 연결되지 않고, 컴퓨터 내부와 통신하는 장치
장치 컨트롤러의 기능CPU와 입출력장치 간의 통신 중개와 오류 검출
장치 컨트롤러를 통해 정보 규격화, 그 과정에서 오류를 검출


데이터 버퍼링
CPU와 입출력장치의 전숭률 차이를 버퍼라는 임시 저장 공간을 통해 전송률을 매칭.


장치 컨트롤러의 구조

  • 데이터 레지스터(dara register): CPU-입출력장치 간 데이터 저장 - 버퍼
  • 상태 레지스터(status register): 입출력장치의 상태 정보 저장
  • 제어 레지스터(control register): 입출력장치가 수행할 명령, 제어정보 저장
  • 장치 드라이버(Device Driver) :장치 컨트롤러를 제어하여 컴퓨터 내부와 통신할 수 있도록 하는 프로그램

 

08-2 다양한 입출력 방법


CPU와 장치 컨트롤러간의 통신 방법

프로그램 입출력


프로그램 속 명령어로 입출력장치 제어

CPU가 장치 컨트롤러의 레지스터에 접근하는 방법


메모리 맵 입출력


메모리 접근 주소 공간과 입출력장치 접근 주소 공간을 하나의 공간으로 간주하는 방법
메모리 주소공간이 축소
메모리 명령어 = 입출력장치 명령어


고립형 입출력


메모리 주소 공간과 입출력장치 주소 공간을 분리
메모리 주소 공간 축소되지 않음


입출력 전용 명령어


인터럽트 기반 명령어
장치 컨트롤러가 작업을 끝나면 CPU에게 인터럽트 요청 신호를 보내 인터럽트 서비스 루틴을 실행하는 방법

여러 입출력장치에서 동시에 인터럽트가 발생한 경우 순서대로 처리
NMI가 발생한 경우, 우선순위에 따라 처리
PCI를 통해 우선순위를 판별


DMA 입출력
입출력장치, 메모리가 CPU를 거치지 않고 바로 상호작용하는 방식

 

 

Mission


SRAM : 주로 캐시 메모리로 사용, 집적도가 상대적으로 낮음

DRAM : 주로 주기억장치로 활용, 대용량화하기 유리


RAID의 정의와 종류

RAID 0 : 여러개의 보조기억장치에 나누어서 저장, 속도가 빠름, 안정성 下

RAID 1 : 완전한 복사본을 저장, 높은 비용, 안전성 上

RAID 4 : 전용 페리티 디스크 제공 스트라이핑 방식, 페리티 디스크 접근으로 인한 병목 현상 발생, RAID 1 보다 더 효율적

RAID 5 : 페리티 정보를 분산 -> 병목현상 해소

RAID 6 : 서로 다른 페리티 2개를 사용하는 RAID 5 방식, 저장 속도는 RAID 5 보다 느리지만 안정성 上, 복구가 쉬움

 

 

혼자 공부하는 컴퓨터 구조+운영체제

어려운 컴퓨터 구조와 운영체제의 원리를 누구나 쉽게 이해할 수 있도록 용어와 개념은 한 번 더 풀어쓰고, 적절한 예시와 이해하기 쉬운 그림으로 재미있게 구성했다. 또한 일상 소재를 활용한

www.hanbit.co.kr