I/O 장치

주영·2023년 9월 5일
0

IT Infra

목록 보기
5/16
post-thumbnail

I/O 장치 ~ 데이터 입출력 담당

1. 디스크 및 스토리지
2. 네트워크 인터페이스
3. I/O 제어

I/O

  • 입력(Input)/출력(Output)

  • 대개 입력과 함께 출력이 발생

  1. '컴퓨터 및 주변장치에 대하여 데이터를 전송하는 프로그램, 운영 혹은 장치'
    (키보드, 마우스 - 입력을 위한 기기 / 프린터 - 출력을 위한 기기)

  2. '프로세서와 메모리, 확장 슬롯, 마더보드에서 일어나는 데이터 전송'

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 하는 과정

  1. 읽기 캐시의 경우
    ① 읽고 싶은 데이터가 캐시에 존재하지 않는 경우 - 디스크에서 읽어서 캐시에 올리고 이를 서버에 반환
    ② 읽고 싶은 데이터가 캐시에 존재하는 경우 - 캐시에서 꺼냄

  2. 쓰기 캐시의 경우
    ① 캐시와 저장소에 기록하고 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가 해야할 연산에 더 집중하기 위해

CPU와 칩셋의 관계 : 역할 분담

  • I/O 시 관련 처리가 가능한 I/O와 가까운 곳(CPU에서 먼 곳)에서 처리하는 것이 더 효율적

출처

0개의 댓글