I/O 장치 ~ 데이터 입출력 담당
1. 디스크 및 스토리지
2. 네트워크 인터페이스
3. I/O 제어
I/O
-
입력(Input)/출력(Output)
-
대개 입력과 함께 출력이 발생
-
'컴퓨터 및 주변장치에 대하여 데이터를 전송하는 프로그램, 운영 혹은 장치'
(키보드, 마우스 - 입력을 위한 기기 / 프린터 - 출력을 위한 기기)
-
'프로세서와 메모리, 확장 슬롯, 마더보드에서 일어나는 데이터 전송'
1. 디스크 및 스토리지
1) 하드디스크 드라이브 (HDD)
- 기록 영역
- 위치 : 메모리에 비해 CPU에서 떨어진 곳
- 목적 : 장기 저장. 목적 데이터 저장 장소
- CD나 DVD 같은 구조
- 자기 원반 여러 개가 들어있음
→ 고속으로 회전해서 읽기/쓰기 처리
→ 회전구조 ⇒ 속도가 물리법칙에 좌우됨 ⇒ 메모리처럼 순식간에 액세스 불가
- HDD 구조

- 헤드(레코드 바늘같은 것)를 사용해서 데이터를 읽고 씀
메모리 vs 디스크
- 공통점 : 기억 영역
- 차이점 :
(1) 액세스 속도가 다름 (메모리가 빠름)
- 메모리 : 수 ~ 수십 마이크로 초
- 디스크 : 수십밀리 초
(2) 전기가 흐르지 않을 경우 데이터 손실 유무
- 메모리 : 데이터 사라짐
- 디스크 : 데이터 사라지지 X
2) SSD
- Solid State Disk, 반도체 디스크
- 물리적인 회전 요소를 사용하지 않는 디스크
- 메모리와 같이 반도체로 만들어졌지만, 전기가 없어도 데이터가 사라지지 X
- SSD의 등장 → 메모리와 기억장치 간 속도 차이 거의 X ⇒ HDD 없어질 가능성 有
3) 스토리지
- Storage, 저장소
= HDD가 많이 탑재되어 있는 HW
- "I/O의 서브 시스템"
- 내부에 CPU와 캐시가 존재
수많은 HDD외에도 여러 기능 有
- 서버와 I/O 시에는 HDD가 직접 데이터 교환 X, 캐시를 통해 데이터 교환 O
저장소 캐시
- 메모리처럼 고속으로 I/O가 가능한 HW
- CPU 캐시 이용 방법과 동일
저장소 캐시에 I/O 하는 과정
-
읽기 캐시의 경우
① 읽고 싶은 데이터가 캐시에 존재하지 않는 경우 - 디스크에서 읽어서 캐시에 올리고 이를 서버에 반환
② 읽고 싶은 데이터가 캐시에 존재하는 경우 - 캐시에서 꺼냄
-
쓰기 캐시의 경우
① 캐시와 저장소에 기록하고 I/O를 종료했다고 서버에 알림 : 라이트스루 (Write Through)
(라이트스루 (Write Through) : 쓰기 시 캐시와 디스크를 모두 읽어서 라이트백과 비교 → 더 확실한 쪽에 쓰기 처리를 하기 위해 액세스)
② 캐시에 기록하고 I/O를 종료했다고 서버에 알림 : 라이트백 (Write Back) - 기본 설정
→ 데이터를 잃을 가능성 有. 고속 I/O 실현 가능
대형 저장소를 연결할 때
- 파이버 채널 (Fibre Channel, FC) : 케이블
- SAN (Storage Area Network)
- FC포트 : SAN에 접속하기 위한 파이버 채널 인터페이스
⇒ FC라는 케이블을 사용해서 SAN 네트워크를 경유
* 보통 서버 시스템 포트에 FC 포트 (X)
⇒ PCI 슬롯에 HBA 카드 삽입
2. 네트워크 인터페이스
- 서버와 외부 장비를 연결하기 위한 것
(외부 장비 : 네트워크에 연결된 다른 서버, 저장소 장치, 스위치 등)
- NIC : Network Interface Card, 네트워크 인터페이스 카드
- 외부 접속용 인터페이스
* 네트워크 어댑터 : LAN, SAN 등
3. I/O 제어
- 발전 속도가 빨라 일반적인 구성이라는 것이 없음
Xeon 확장형 프로세서
- PCH (Platform Controller Hub) 칩셋 탑재
→ CPU가 제어하는 메모리나 PCIe (PCI Express) 외의 처리 속도가 비교적 늦어도 용서되는 I/O 제어 담당
(PCI (Peripheral Component Interconnect) : 컴퓨터 메인보드에 주변 장치를 장착하는 데 쓰이는 컴퓨터 버스의 일종)
PCI x8, x16, ...
- PCI의 I/O 회선이 몇 개 연결되는지
- x8 : 8선, x16 : 16선
- PCI를 연결할 수 있는 회선이 각 CPU/칩셋 구조마다 정해져 있음
- PCI 회선 수 < CPU가 처리 가능한 총량
PCI 등의 외부 연결 제어
- PCH 같은 I/O 컨트롤러의 역할 → 최근 CPU가 직접 제어
(∵ 대량의 I/O 및 통신 처리 → 서버에서. PCI 컨트롤러가 병목 지점이 되지 않도록)
다양한 컨트롤러가 존재하는 이유
CPU와 칩셋의 관계 : 역할 분담
- I/O 시 관련 처리가 가능한 I/O와 가까운 곳(CPU에서 먼 곳)에서 처리하는 것이 더 효율적
출처