혼공컴운 3주차 기본 미션
다음중 SRAM/DRAM에 대한 설명인지 고르시오
- 주로 캐시 메모리로 활용됩니다. → SRAM
- 주로 주기억장치로 활용됩니다. → DRAM
- 대용량화하기 유리합니다. → DRAM
- 집적도가 상대적으로 낮습니다. → SRAM
저장 장치 계층 구조 도식도를 채우시오
혼공컴운 3주차 선택 미션
RAID의 정의와 종류 → 하단 07장 07-2 참조
06장 메모리와 캐시 메모리
06-1 RAM의 특징과 종류
RAM(Random Access Memory)
- 실행할 프로그램의 명령어와 데이터가 저장되는 컴퓨터 메모리
- 저장된 데이터를 순차적이 아닌 임의의 순서로(Random) 접근할 수 있는 데이터 저장소
- 전원을 끄면 RAM에 저장된 데이터가 사라진다 = 휘발성 메모리(volatile memory)
- RAM 용량이 충분히 크다면 보조기억장치에서 많은 데이터를 미리 불러올 수 있다.
RAM의 종류
- DRAM(Dynamic RAM)
- 저장 데이터가 '동적'으로 변하는 RAM.
- 데이터의 소멸을 막기위해 일정 주기로 재활성화(재저장) 필요한 단점
- 소비 전력, 가격이 낮고 집적도가 높다는 장점
- SRAM(Static RAM)
- 저장된 데이터가 변하지 않는('정적인') RAM
- DRAM보다 속도 빠르다는 장점
- 소비 전력/가격이 높고, 집적도가 낮다는 단점
- 대용량이 필요하지 않은 '캐시 메모리'에 사용
- SDRAM(Synchronous Dynamic RAM)
- 클럭 신호와 동기화된 DRAM
- DDR SDRAM(Double Data Rate SDRAM)
- 대역폭를 넓혀 속도를 높인 SDRAM
- 대역폭(Data Rate): 데이터 통로의 너비
06-2 메모리 주소의 공간
- 물리 주소: 메모리 하드웨어가 사용하는 주소
- 논리 주소: CPU와 실행중인 프로그램이 사용하는 주소(메모리에 저장된 정보는 시시각각 변하기 때문에 사용)
메모리 관리 장치(Memory Management Unit)
논리주소를 물리주소로 변환(= 논리주소 + 베이스 레지스터 값)하는 장치
메모리 보호 기법
자신의 프로그램 논리 주소 영역을 넘어서는 명령어로 인한 피해를 막기 위해 보호하기 위한 방법
한계 레지스터(Limit Register)가 논리 주소의 최대 크기를 저장하여 '제한한다'.
06-3 캐시 메모리(Cache Memory)
CPU와 메모리 사이에 위치한, SRAM 기반의 저장 장치
- CPU의 연산 속도와 메모리 접근 속도차를 줄이기 위해 탄생
- 코어와 가까운 순서대로 L(Level)1, L2, L3 계층으로 구성
참조 지역성 원리
(캐시 메모리에 저장할 내용) CPU가 메모리에 접근할 때 주된 경향을 바탕으로 만들어진 원리
07장 보조기억장치
07-1 다양한 보조기억장치
하드디스크(Hard Disk Drive, Magnetic Disk)
자기적인 방식으로 데이터를 저장하는 보조기억장치
하드디스크의 구조
- 플래터(platter): 자기 물질로 덮힌 동그란 원판. N/S극이 각각 0과 1의 역할
- 스핀들(spindle): 플래터 회전기
- 헤드(head): 플래터 위에서 미세하게 떠서 데이터를 읽고 쓰는 요소
- 디스크 암(disk arm): 헤드를 원하는 위치로 이동시키는 요소
하드디스크의 저장 방식
- 트랙(track): 플래터 동심원 중 하나의 원
- 섹터(sector): 트랙의 일부
- 실린더(cylinder): 다중 플래터에서 같은 트랙이 위한 곳을 모아 연결한 논리적 단위 공간(연속된 정보 공간)
쓰기 → 앙페르의 법칙: 자기장을 이용해서 플래터에 입혀진 자성체를 정렬하여 데이터를 저장
읽기 → 패러데이의 법칙: 회전하는 정렬된 자성체의 유도전류 차이로 데이터를 인식
(출처: 두산백과 하드 디스크 드라이브)
하드디스크 접근 시간
- 탐색 시간(seek time): 접근 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
- 회전 지연(rotaional latency): 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간(transfer time): 하드디스크와 컴퓨터 간에 데이터를 전송하는 시간
플래시 메모리
전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장장치
플래시 메모리 저장 단위
- 셀(cell): 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
- 셀 < 페이지(page) < 블록(block) < 플레인(plane) < 다이(die)로 단위가 커짐
- 읽기와 쓰기는 페이지 단위 / 삭제는 블록 단위로 이루어짐
구분 | SLC(Single Level Cell) | MLC(Multiple ~) | TLC(Triple ~) |
---|
셀당 bit | 1 | 2 | 3 |
수명 | 길다 | 보통 | 짧다 |
읽기/쓰기 속도 | 빠름 | 보통 | 느림 |
용량 대비 가격 | 높음 | 보통 | 낮음 |
07-2 RAID의 정의와 종류
RAID(Redundant Array of Independent Disks; 복수 배열 독립 디스크)
데이터의 안전성/높은 성능을 위해 여러 개의 물리적인 보조기억장치를 하나의 논리적 보조기억장치처럼 사용하는 기술
RAID Level
RAID 0
여러개의 보조기억장치에 단순하게 나누어 저장하는 방식 = 스트라이핑(Striping)
- 장점: 데이터를 동시에 읽고 쓸 수 있기 때문에, 처리 속도가 빠르다.
- 단점: 디스크 하나에 문제가 발생하면 읽기에 문제가 발생한다.
RAID 1
완전한 복사본 = 미러링(mirroring)
- 장점: 데이터 복구가 매우 간단한다.
- 단점: 완전 복사된 형태이기 때문에 RAID 0보다 속도가 느리고, 사용 가능한 용량이 적기 때문에, 많은 디스크(비용)가 필요해진다.
RAID 4
전용 패리티(Parity;오류 검출/복구 정보) 디스크가 제공되는 스트라이핑된 방식
- 단점: 새로운 데이터 저장 시 패리티 디스크에도 접근해야 하므로 패리티 디스크의 병목 현상이 발생한다.
RAID 5
패리티 정보가 분산된 스프라이핑 방식
RAID 6
서로 다른 패리티 2개를 사용하는 RAID 5 방식
- 장점: 패리티의 증가로 좀 더 안전한 복구가 가능하다.
- 단점: 패리티 2개 내용을 저장해야 하므로 RAID 5보다 느리다.
08장 입출력장치
08-1 장치 컨트롤러와 장치 드라이버
입출력장치가 다루기 어려운 이유
- 다양한 종류로 인한 문제점 → 규격화가 어려움
- CPU, 메모리에 비해 전송률이 낮음 → 입출력장치와의 소통 문제
- 전송률(transfer rate): 데이터 교환 속도
장치 컨트롤러(Device Controller)
입출력장치가 컴퓨터와 직접 연결되지 않고, 컴퓨터 내부와 통신하는 장치(하드웨어적인 통로)
장치 컨트롤러의 기능
- CPU와 입출력장치간의 통신 중개와 오류 검출
장치 컨트롤러를 통해 정보 규격화를 이뤄내고, 그 과정에서 오류를 검출한다.
- 데이터 버퍼링
CPU와 입출력장치의 전숭률 차이를 버퍼(buffer)라는 임시 저장 공간을 통해 전송률을 비슷하게 맞춘다.
장치 컨트롤러의 구조
- 데이터 레지스터(dara register): CPU-입출력장치 간 데이터 저장 → 버퍼
- 상태 레지스터(status register): 입출력장치의 상태 정보 저장
- 제어 레지스터(control register): 입출력장치가 수행할 명령, 제어정보 저장
장치 드라이버(Device Driver)
장치 컨트롤러를 제어하여 컴퓨터 내부와 통신할 수 있도록 하는 프로그램(소프트웨어적인 통로)
08-2 다양한 입출력 방법
CPU와 장치 컨트롤러간의 통신 방법
프로그램 입출력(Programmed I/O)
프로그램 속 명령어로 입출력장치 제어
CPU가 장치 컨트롤러의 레지스터에 접근하는 방법
- 메모리 맵 입출력(Memory-mapped I/O)
메모리 접근 주소 공간과 입출력장치 접근 주소 공간을 하나의 공간으로 간주하는 방법
메모리 주소공간이 축소
메모리 명령어 = 입출력장치 명령어
- 고립형 입출력(Isolated I/O)
메모리 주소 공간과 입출력장치 주소 공간을 분리
메모리 주소 공간 축소되지 않음
입출력 전용 명령어
인터럽트 기반 명령어(Interrupt-Driven I/O)
장치 컨트롤러가 작업을 끝나면 CPU에게 인터럽트 요청 신호를 보내 인터럽트 서비스 루틴을 실행하는 방법
여러 입출력장치에서 동시에 인터럽트가 발생한 경우
- 순서대로 처리한다.
- NMI(Non-Maskable Interrupt; 인터럽트를 무시할 수 없는 인터럽트)가 발생한 경우, 우선순위에 따라 처리한다.
- PCI(Programmable Interrupt Controller)를 통해 우선순위를 판별한다.
DMA(Direct Memory Access) 입출력
입출력장치, 메모리가 CPU를 거치지않고 바로 상호작용하는 방식
입출력 버스
입출력장치와 컴퓨터 내부와 연결하는 통로
- PCI(Peripheral Component Interconncet) 버스
- PCI Express(PCIe) 버스
공감하며 읽었습니다. 좋은 글 감사드립니다.