💻 혼자 공부하는 컴퓨터구조 + 운영체제 3주차
이번 3주차에 공부한 내용은 1. 메모리와 캐시 메모리. 2. 보조기억장치. 3. 입출력장치에 대해 학습하였습니다.
주요 내용은 다음과 같습니다.
목차 |
---|
1. 메모리와 캐시 메모리 |
1-1. RAM의 특징과 종류 |
1-2. 메모리의 주소 공간 |
1-3. 캐시 메모리 |
2. 보조기억장치 |
2-1. 다양한 보조기억장치 |
2-2. RAID의 정의와 종류 |
3. 입출력장치 |
3-1. 장치 컨트롤러와 장치 드라이버 |
3-2. 다양한 입출력 방법 |
RAM(Random Access Memory)는 대표적인 휘발성 저장장치 입니다.
제목 | 설명 |
---|---|
휘발성 저장 장치 | 전원을 끄면 저장된 내용이 사라지는 저장 장치 |
비휘발성 저장 장치 | 전원이 꺼져도 저장된 내용이 유지되는 저장 장치 |
CPU, 휘발성 저장 장치, 비휘발성 저장 장치 간의 관계는 다음과 같습니다.
CPU | 휘발성 저장 장치(RAM) | 비휘발성 저장 장치(HDD, SSD) |
---|---|---|
프로그램 실행(작업자 역할) | 실행할 프로그램 데이터 로드(작업대 역할) | 실행될 데이터 저장(창고 역할) |
Dynamic vs Static
이름 | 설명 |
---|---|
Dynamic RAM(DRAM) | 시간이 지나면 저장된 데이터가 점차 사라지는 RAM |
Static RAM(SRAM) | 저장된 데이터가 변하지 않는 RAM |
특징 | DRAM | SRAM |
---|---|---|
재충전 | 필요함 | 필요 없음 |
속도 | 느림 | 빠름 |
가격 | 저렴함 | 비쌈 |
집적도 | 높음 | 낮음 |
소비전력 | 적음 | 많음 |
사용 용도 | 주기억장치 | 캐시메모리 |
Synchronous Dynamic RAM
이름 | 설명 |
---|---|
SDRAM | 클럭 신호가 동기화된 DRAM. 클럭 신호에 동작하며 클럭마다 CPU와 정보를 주고받을 수 있는 DRAM |
Single vs Dual
이름 | 설명 |
---|---|
Single Data Rate SDRAM | 대역폭(데이터가 지나갈 수 있는 통로)가 하나인 SDRAM |
Dual Data Rate SDRAM | 대역폭이 두개인 SDRAM |
Dual Data Rate SDRAM 2 | DDR 보다 대역폭이 2배인 RAM |
Dual Data Rate SDRAM 3 | DDR2 보다 대역폭이 2배인 RAM |
메모리 공간의 주소를 나타내는 방법은 2가지 있습니다. 물리주소와 논리주소 입니다.
물리 vs 논리
제목 | 설명 |
---|---|
물리 주소 | 정보가 실로 저장된 하드웨어상의 주소 |
논리 주소 | 실행 중인 프로그램 각각에 부여된 0번지부터 시작되는 주소 |
논리 주소를 사용하는 이유
실제 메모리에 저장된 정보는 시시각각 변하기 때문에 같은 프로그램을 실행하더라도 적재되는 주소가 다를 수 있음.
메모리 관리 장치
출처 : https://en.wikipedia.org/wiki/Memory_management_unit
논리 주소와 물리 주소를 연결시키기 위한 장치가 필요합니다.
이름 | 설명 |
---|---|
메모리 관리 장치(MMU) | 논리 주소와 물리 주소 간의 변환을 하는 하드웨어 |
베이스 레지스터 | 프로그램의 가장 작은 물리 주소를 저장 |
논리 주소 | 프로그램의 시작점으로부터 떨어진 상대 거리 |
메모리 보호 기법
프로그램의 논리 주소를 벗어난 명령이 실행되어서는 안됩니다. 이를 막기 위해 한계 레지스터가 존재합니다.
이름 | 설명 |
---|---|
한계 레지스터 | 논리 주소의 최대 크기를 저장 |
CPU의 연산속도 > RAM 입출력 속도
CPU의 연산속도와 RAM 입출력 속도 차이 때문에 병목현상이 일어납니다. 이를 완화하기 위해 캐시 메모리를 사용합니다.
저장 장치 계층 구조
기억장치는 위 그림과 같은 계층 구조를 가지게 됩니다.
이름 | 설명 |
---|---|
캐시 메모리 | CPU와 메모리 사이에 위치하고 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장장치 |
L1 캐시 | 코어와 가장 가까운 캐시 메모리 |
코어와의 거리에 따라 L1, L2, L3 캐시로 구분합니다. L1, L2 캐시는 코어 내부에 있고, L3 캐시는 코어 외부에 위치해있습니다.
L1 캐시는 접근 속도를 높이기 위해 명령어를 저장하는 L1I와 데이터를 저장하는 L1D로 분리하는 경우도 있습니다. 이를 분리형 캐시라고 합니다.
참조 지역성 원리
이름 | 설명 |
---|---|
캐시 히트 | 캐시 메모리가 CPU가 사용할 것으로 예측한 데이터가 실제로 활용될 경우 |
캐시 미스 | 예측이 틀려 메모리에 필요한 데이터를 직접 가져와야 하는 경우 |
캐시 적중률 | 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수) |
이름 | 특징 |
---|---|
하드 디스크 | 플래터, 스핀들, 헤드, 디스크 암으로 구성 |
플래터 | 트랙과 섹터로 구성. 여러 플래터의 동일한 트랙이 모여 실린더를 구성 |
하드 디스크의 데이터 접근 시간
플래시 메모리의 종류
플래시 메모리의 읽기와 쓰기는 페이지 단위. 삭제는 블록 단위.
이름 | 설명 |
---|---|
RAID | 데이터의 안정성과 성능을 높이기 위해 다중의 디스크를 하나의 장치처럼 사용하는 기술 |
RAID 0 | 데이터를 단순히 병렬로 분산 저장 |
RAID 1 | 완전한 복사본 |
RAID 4 | 패리티를 저장한 장치를 따로 두는 방식 |
RAID 5 | 패리티를 분산하여 저장하는 장치 |
RAID 6 | 서로 다른 두 개의 패리티를 두는 방식 |
이름 | 설명 |
---|---|
장치 컨트롤러 | 입출력장치와 컴퓨터 내부가 정보를 주고받게 해주는 장치 |
장치 드라이버 | 장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램 |
이름 | 설명 |
---|---|
프로그램 입출력 | 프로그램 속 명령어로 입출력 작업을 하는 방식 |
메모리 맵 입출력 | 메모리에 접근하기 위한 주소 공간과 입출력 장치에 접근하기 위한 주소 공간을 하나의 주소 공간으로 간주하는 입출력 방식 |
고립형 입출력 | 메모리에 접근하기 위한 주소 공간과 입출력장치에 접근하기 위한 주소 공간을 별도로 분리하는 입출력 방식 |
입터럽트 기반 입출력 | 인터럽트로써 입출력을 수행하는 방법 |
DMA 입출력 | CPU를 거치지 않고 메모리와 입출력장치 간의 데이터를 주고받는 입출력 방식 |
입출력 버스 | 입출력장치와 컴퓨터 내부를 연결 짓는 통로로, 입출력 작업 과정에서 시스템 버스 사용 횟수를 줄여줌 |
특징 | 단순히 데이터를 여러개로 나누어 저장 |
장점 | 데이터 R/W 속도가 빠름 |
단점 | 안정성이 낮음 |
특징 | 똑같은 백업을 만듦(미러링) |
장점 | 복구가 매우 간단 |
단점 | 비용 증가 |
특징 | 오류 검출을 위한 패리티 비트 사용 |
장점 | RAID 1보다 적은 디스크로 데이터 안전하게 보관 |
단점 | 패리티 저장 장치 병목 현상 |
특징 | 패리티 정보 분산 저장 |
장점 | RAID 4 패리티 병목 현상 해결 |
특징 | 서로 다른 두 개의 패리티 사용 |
장점 | RAID 4, 5보다 안전한 구성 |
단점 | RAID 5보다 느림 |