CPU (Central Processing Unit)

- CPU는 컴퓨터 시스템의 두뇌 역할을 하는 핵심 부품. 모든 명령어를 해석하고 실행하며, 다른 하드웨어 장치들을 제어한다.
- 현재는 이 CPU를 코어(core)라고 하며, 하나의 CPU에 여러 개의 코어가 존재하는 멀티 코어화가 진행되고 있다.
- 명령은 운영체제(Operating System)라는 소프트웨어가 내린다.
- OS에 명령을 내리는 것은 OS에서 동작하는 웹 서버나 데이터베이스의 실체인 프로세스와 사용자 키보드, 마우스 등을 통한 입력.
메모리
- 메모리는 컴퓨터가 데이터를 저장하고 접근하는 장치. CPU가 연산을 수행하기 위해 필요한 데이터를 빠르게 읽고 쓸 수 있도록 도와줌.
- 메모리는 영구성이 없다. 즉 서버를 재시작하면 없어지는 정보들이다.
- 메모리는 액세스가 매우 빠르게 이루어지기 때문에 사용, 전기적인 처리만으로도 데이터를 저장
- CPU 자체도 메모리를 가지고 있음 이것을 레지스터나 1차/2차 캐시라고 부름

- 메모리를 사용하려면 메모리 컨트롤러를 경유해서 일단 CPU 밖으로 나가야함
- 캐시를 여러 단계로 배치해서 초고속으로 액세스하고 싶은 데이터는 L1 캐시, 고속으로 액세스 하고 싶은 데이터는 L2 캐시 각 코어 전용이고 메모리에서 데이터를 직접 읽음, L3 캐시는 준고속 캐시로CPU 전체가 공유
- 메모리에는 미리 데이터를 CPU에 전달해서 처리 지연을 줄이는 '메모리 인터리빙(Memory Interleaving)' 기능도 존재

- 최대 3개의 채널을 사용해서 데이터 1을 요구하면 데이터 2와 3도 함께 보낸다.
- 대부분의 데이터가 연속해서 액세스 된다는 규칙을 기반으로 만들어진 것이다. 즉, 먼저 읽어서 처리 지연을 줄여 준다.
- 이 기능을 활용하기 위해 모든 채널의 동일 뱅크에 메모리를 배치해야 한다.
I/O 장치
하드 디스크 드라이브 (HDD)
- 데이터를 저장하고 읽는 데 사용되는 자기 저장 장치로, 컴퓨터 및 서버 등 다양한 장치에서 데이터를 영구적으로 저장하는 주요 매체
- 일반적으로 수밀리초에서 수십 밀리초 정도의 시간이 걸림
- 델 Poweredge R740에서는 3.5인치 크기의 HDD는 최대 8개, 2.5인치 크기는 최대 16대를 장착할 수 있음
- SAS2.0 또는 SATA 규격의 드라이브를 탑재할 수 있음
SATA (Serial ATAT, 직렬 ATA)
저장 장치를 컴퓨터 메인보드에 연결하는 표준 인터페이스로, 개인용 컴퓨터와 일반 환격에서 간장 많이 사
SAS (Serial Attached SCSI, 직렬 연결 스카시)
SAS는 서버 및 엔터프라이즈 환경에서 사용되는 고성능 인터페이스. SAS 2.0은 SAS 규격 중 하나로 높은 데이터 전송 속도를 제공
특징 | SATA | SAS 2.0 |
용도 | 개인용 컴퓨터, 노트북 | 서버, 데이터센터, 고성능 워크스테이션 |
속도 | 최대 6Gbps (SATA 3.0) | 최대 6Gbps (SAS 2.0) |
데이터 전송 방식 | 단방향 | 양방향 |
안정성 | 보통 | 매우 높음 |
호환성 | SATA 장치만 사용 가능 | SAS와 SATA 모두 사용 가능 |
가격 | 저렴 | 고가 |
스토리지(Storage)
HDD가 많이 탑재돼 있는 하드웨어를 스토리지라고 한다. 저장소는 I/O의 서브 시스템이라고도 불리는 장치로서, 내부에는 CPU와 캐시가 존재하고 수많은 HDD 외에도 여러 기능을 탑재하고 있다.
서버 I/O 시에는 HDD가 직접 데이터 교환을 하는 것이 아니라 캐시를 통해서 한다.
대형 저장소와 연결할 때는 일반적으로 파이버 채널이라는 케이블을 사용해서 SAN이라는 네트워크 경유 한다.
이 때 파이버 채널 인터페이스를 FC 포트라고 한다.
서버 시스템 포트에 FC 포트가 없기 때문에 PCI 슬롯에 HBA라는 카드를 삽입

읽기 캐시
- 캐시에 존재하지 않는 경우는 디스크에서 읽어서 캐시에 올리고 이를 서버에 반환
- 읽고 싶은 데이터가 존재하는 경우는 캐시에서 꺼냄
쓰기 캐시
- 라이트 스루 : 캐시와 저장소에 기록하고 I/O를 종료했다고 서버에 알림
- 라이트 백 : 캐시에 기록하고 I/O를 종료했다고 서버에 알림
네트워크 인터페이스

- 서버와 외부 장비를 연결하기 위한 것으로 외부 접속용 인터페이스.
- LAN(Local Area Network) 어댑터를 탑재하고 있다.
- SAN과 같은 다른 네트워크 어댑터를 사용할 수 있다.
역할
- 데이터 송수신: 장비에서 발생한 데이터를 네트워크를 통해 송신하거나, 네트워크에서 받은 데이터를 장비로 수신.
- IP 주소 할당: 네트워크에서 장비를 식별할 수 있도록 IP 주소를 할당.
- 프로토콜 지원: TCP/IP 같은 네트워크 프로토콜을 구현하여 네트워크 통신을 관리.
- 에러 검출 및 수정: 전송 중 발생할 수 있는 데이터 오류를 검출하고 수정.
I/O 제어
I/O 제어의 경우 CPU 외에도 다양한 컨트롤러나 칩이 있어 제어를 도와준다. CPU가 연산에만 더 집중하기 위해 이렇게 설계되었다.
Xeon 확장형 프로세서의 경우 PCH(Platform Controller Hub)라는 칩셋이 탑재되어 있어서, CPU가 제어하는 메모리나 PCIe(PCI Express) 외의 처리 속도가 비교적 늦어도 괜찮은 I/O 제어를 담당하고 있다.
PCI란?
Peripheral Component Interconnect는 컴퓨터 내부에서 CPU와 주변 장치(예: 그래픽 카드, 사운드 카드, 네트워크 카드 등)를 연결하기 위한 확장 버스 표준.
1990년대 초에 Intel이 설계했고, 한때 대부분의 데스크톱 컴퓨터와 서버에서 널리 사용

- x8, x16은 PCI의 I/O 회선이 몇 개 연결되는지를 의미
- CPI/칩셋 구조마다 PCI를 연결할 수 있는 회선이 정해져 있다.
- 위의 그림에서는 48개의 PCI 회선이 존재한다.
DMI란?
Desktop Management Interface는 시스템 관리 표준인 SMBIOS(System Management BIOS)의 일부로, 시스템 정보(하드웨어 및 구성)를 운영체제나 관리 소프트웨어가 쉽게 읽을 수 있도록 제공하는 역할
DMI는 시스템 관리 소프트웨어가 컴퓨터 하드웨어의 정보를 자동으로 수집, 구성, 관리할 수 있도록 지원
버스
대역
버스는 서버 내부에 있는 컴포넌트들을 서로 연결시키는 회선.
버스에서 중요한 것은 버스가 어느 정도의 데이터 전송 능력을 가지고 있는가 이다.
IT 인프라에서 대역은 데이터 전송 능력을 의미

- 대역 = '한번에 데이터를 보낼 수 있는 데이터 폭(전송폭)' x '1초에 전송할 수 있는 횟수(전송 횟수)'
- 전송 횟수 = '1초 % 1 처리당 소요 시간(응답 시간)'
- 위의 그림은 전송폭 (3개) x 전송 횟수 (3회) = 대역 (9)개/s
버스 대역
CPU에 가까운 쪽이 1초당 전송량이 크다.
예를 들어 CPU와 메모리는 데이터를 교환해서 매우 빠른 전송 능력이 요구되기 때문에 CPU 바로 앞에 위치하고 있다. 반대로 USB 3.0포트는 약 500MB/s 전송 능력을 가진 규격으로 저속이기 때문에 PCH 앞에 배치해도 문제 없다.
버스 흐름에 중요한 것은 CPU와 장치 사이에 병목 현상이 없어야 한다는 것이다.
시스템 설계 시에 놓치기 쉬운 것이 외부 장치 연결 시의 버스 대역에 관한 것이다.
예를들어 PCI Express 3.0 슬롯의 x8(편방향 8GB/s)을 쓴다고 가정해보면 SAS 3.0 HDD의 전송 능력은 1200MB/s라고 하면 7회 이상 HDD가 동시에 I/O를 하면 PCI 버스에 병목현상이 발생할 수 밖에 없다.
정리

- HDD 데이터는 다양한 전송 버스를 지나서 몇 번이고 캐시된 후에 CPU에 이른다.
- CPU에 가까울 수록 고속, 멀수록 대용량이다.
참조
https://product.kyobobook.co.kr/detail/S000001942495
그림으로 공부하는 IT 인프라 구조 | 야마자키 야스시 - 교보문고
그림으로 공부하는 IT 인프라 구조 | 『그림으로 공부하는 IT 인프라 구조』는 IT 인프라를 처음 접하는 독자들은 위한 최고의 입문서! 절판 후 재발간 요청이 꾸준히 들어왔던 스테디셀러! 클라
product.kyobobook.co.kr
'클라우드&인프라 > 인프라 공부' 카테고리의 다른 글
프로세스와 스레드 (0) | 2025.02.01 |
---|---|
물리 서버의 구성 (1) (0) | 2024.12.30 |
인프라 아키텍처의 종류 (1) | 2024.11.28 |