하드웨어·프로세서·OS 답안 — 세트 B
GPU · TPU · NPU · RISC-V · 캐시 메모리 · 캐시 사상 · MESI · 보안 OS · 분산 OS · 시스템콜 · 메모리 세그멘테이션 · 모니터 · 인터럽트 · OS 부팅 · OS 커널 · RTOS · 우선순위 역전·상속 | 정보관리 대비
| 두문자 | 요소 | 핵심 내용 | NVIDIA 예시 |
|---|---|---|---|
| 스 | SM(스트리밍 멀티프로세서) | GPU의 기본 실행 단위. 수십~수백 개의 CUDA 코어 포함. 스레드 블록 단위로 실행 | H100: 132 SM, 각 SM에 128 CUDA 코어 |
| 텐 | 텐서 코어 | 행렬 곱셈(GEMM)을 1 사이클에 처리. 딥러닝 훈련·추론 가속 핵심 | H100 4세대 Tensor Core: FP8 지원 |
| 에 | HBM(고대역폭 메모리) | GPU 옆에 3D 적층된 DRAM. DDR5 대비 10배+ 대역폭. LLM의 병목 해결 | H100: HBM3 80GB, 3.35TB/s |
| 고 | CUDA/ROCm | NVIDIA CUDA: GPU 프로그래밍 플랫폼. AMD ROCm: 오픈소스 대안 | cuDNN, cuBLAS 딥러닝 라이브러리 |
| 대 | NVLink/NVSwitch | GPU 간 고속 연결. PCIe 대비 7배 대역폭. 멀티-GPU 학습 필수 | DGX H100: 8 GPU + NVSwitch 연결 |
| 두문자 | 요소 | 핵심 내용 | GPU 대비 차이 |
|---|---|---|---|
| 시 | 시스톨릭 어레이 | 수백×수백 PE 격자. 가중치 행렬 고정, 입력이 흘러 MAC 연산. 메모리 재접근 최소화 | GPU: 캐시 기반 / TPU: 데이터 흐름 기반 |
| 맥 | MAC 연산 최적화 | Multiply-Accumulate를 단일 사이클에 처리. BF16·INT8 정밀도로 추론 가속 | GPU 텐서코어와 유사하나 더 특화 |
| 고 | 고대역폭 인터커넥트 | TPU Pod: 수천 TPU를 ICI(Inter-Chip Interconnect)로 연결. 대규모 LLM 훈련 | NVLink 대응. TPU v4 Pod: 4096 TPU |
| 저 | 저지연 추론 | 추론(Inference) 최적화 우선. 배치 처리로 처리량 극대화 | GPU: 훈련·추론 양용 / TPU: 추론 특화 |
| 구 | 구글 클라우드 전용 | Google Cloud TPU로만 접근. TensorFlow/JAX 최적화. 외부 판매 없음 | GPU: 범용 판매 / TPU: 클라우드 전용 |
| 구분 | GPU | TPU | NPU |
|---|---|---|---|
| 설계 목적 | 범용 병렬 연산 | 딥러닝 전용 ASIC | 엣지 AI 추론 |
| 구조 | SIMT 코어 + 텐서코어 | 시스톨릭 어레이 | MAC 어레이 특화 |
| 전력 효율 | 중간 (300~700W) | 높음 (200~450W) | 최고 (수W~수십W) |
| 대표 제품 | NVIDIA H100, A100 | Google TPU v5 | Apple Neural Engine, 삼성 Exynos NPU |
| 두문자 | 요소 | 핵심 내용 | 대표 구현 |
|---|---|---|---|
| 맥 | MAC 어레이 | Multiply-Accumulate 연산을 대규모 병렬 처리. 컨볼루션·FC 레이어 가속 | Apple: 16-core Neural Engine |
| 온 | 온칩 SRAM | 모델 가중치·활성값을 칩 내부 SRAM에 저장. 메모리 접근 최소화로 전력↓ | 삼성 Exynos: 대용량 온칩 버퍼 |
| 양 | 양자화(Quantization) | FP32→INT8→INT4 변환으로 모델 크기·전력 감소. NPU는 INT8 하드웨어 최적화 | QAT(양자화 인식 훈련), PTQ |
| 프 | 프루닝(Pruning) | 중요도 낮은 가중치 제거로 희소 모델 생성. NPU의 희소 연산 가속기 활용 | Structured/Unstructured Pruning |
| 저 | 저전력 설계 | DVFS·클록 게이팅으로 유휴 시 전력 최소화 | Apple M3: NPU 수mW~수W |
| 두문자 | 요소 | 핵심 내용 | 의미 |
|---|---|---|---|
| 기 | 기본 ISA (RV32I/64I) | 32/64비트 정수 연산 47개 명령어만으로 완전한 프로세서 구현 가능 | 단순한 핵심 → 검증 용이 |
| 확 | 확장(Extension) | M(곱셈), A(원자), F/D(부동소수점), C(압축), V(벡터), B(비트조작) 선택 추가 | 필요한 기능만 추가 → 커스텀 칩 |
| 모 | 모듈성 | AI 칩에 벡터(V) 확장 추가, IoT에는 C(압축) 확장만 추가 → 용도별 최적화 | 하나의 ISA, 다양한 구현 |
| 오 | 오픈소스 생태계 | RISC-V International 재단 관리. SiFive·StarFive·Alibaba T-Head 등 다양한 구현체 | ARM 종속 탈피 → 소버린 반도체 |
| 생 | 생태계 성숙 | Linux·Android·LLVM·GCC 지원. 2024년 Android 14 RISC-V 공식 지원 | 소프트웨어 호환성 확보 |
| 두문자 | 요소 | 핵심 내용 | 세부 내용 |
|---|---|---|---|
| 지 | 지역성 원리 | 시간적(최근 사용) + 공간적(근처 주소) + 순차적 지역성 | 캐시 효과의 이론적 근거 |
| 교 | 교체 정책 | 캐시가 꽉 찼을 때 어떤 블록을 교체할지 결정 | LRU(최소 최근 사용), FIFO, LFU, Random |
| 교 | 교체 쓰기 정책 | 캐시 데이터 수정 시 주기억장치에 언제 반영할지 | Write-Through(즉시), Write-Back(교체 시) |
| 교 | 캐시 미스 유형 | Compulsory(최초), Capacity(용량부족), Conflict(충돌) 미스 | 3C 미스 - 캐시 성능 분석 기준 |
| 교 | 캐시 성능 지표 | 적중률(Hit Ratio) = 캐시 적중 / 전체 접근. AMAT = Hit Time + Miss Rate × Miss Penalty | AMAT: 평균 메모리 접근 시간 |
| 사상 방식 | 원리 | 주소 분해 | 장점 | 단점 |
|---|---|---|---|---|
| 직접 사상 | 메모리 블록 → 고정된 캐시 슬롯 1:1 매핑 | 태그 | 인덱스 | 오프셋 | 구현 단순. 검색 빠름 | 동일 인덱스 반복 접근 시 스래싱 |
| 완전 연관 | 메모리 블록을 캐시 어느 슬롯에나 자유 배치 | 태그 | 오프셋 | 충돌 미스 없음 | 전체 캐시 검색. 비교기 N개. 비용↑ |
| 집합 연관 | 캐시를 S개 집합으로 분할. 각 집합에 N개 슬롯(N-way) | 태그 | 집합번호 | 오프셋 | 직접의 단순+완전의 유연성 절충 | 집합 내 비교기 N개. 복잡성 중간 |
| 이벤트 | 현재→다음 상태 | 동작 |
|---|---|---|
| 로컬 읽기 (Miss) | I → E or S | 메모리·다른 캐시에서 로드. 다른 캐시 없으면 E, 있으면 S |
| 로컬 쓰기 | E or S → M | S→M 시 다른 캐시에 Invalidate 전송 |
| 다른 캐시 읽기 | M → S | M 상태 데이터를 메모리에 Write-Back 후 공유 |
| 다른 캐시 쓰기 | S → I | 버스에 Invalidate 신호 → 해당 라인 무효화 |
| 두문자 | 요소 | 핵심 내용 | 구현 |
|---|---|---|---|
| 강 | 강제 접근 제어(MAC) | 보안 레이블 기반 접근 제어. root도 정책 위반 불가. BLP·Biba 모델 구현 | SELinux Type Enforcement |
| 무 | 무결성 보호 | 시스템 파일 변조 탐지·방지. IMA(Integrity Measurement Architecture)로 부팅 시 측정 | TPM + IMA, dm-verity |
| 레 | 레이블(Security Label) | 프로세스·파일·네트워크에 보안 레이블 부여. user:role:type:level 형식 | SELinux context: unconfined_u:object_r:httpd_t |
| 감 | 감사 로그(Audit) | 모든 접근 거부·허용 이벤트 기록. 침해 사고 분석·규정 준수 | Linux Audit 서브시스템, AVC 로그 |
| 무 | 최소 권한(Least Privilege) | 서비스가 동작에 필요한 최소 권한만 보유. 취약점 악용 시 피해 최소화 | SELinux 정책: Apache는 httpd_t로만 제한 |
| 두문자 | 요소 | 핵심 내용 | 구현 기술 |
|---|---|---|---|
| 투 | 투명성 제공 | 위치·이동·복제·동시성·장애·성능·확장·접근 8대 투명성 | RPC, 분산 파일시스템(NFS, GFS) |
| 자 | 자원 관리 | 전체 노드의 CPU·메모리·스토리지를 풀(Pool)로 통합 관리 | 분산 스케줄러, 로드 밸런서 |
| 분 | 분산 동기화 | 여러 노드 간 임계 구역 동기화. 분산 뮤텍스·세마포어 | Paxos·Raft 합의 알고리즘, Zookeeper |
| 시 | 시간 동기화 | 분산 노드 간 시계 동기화. 이벤트 순서 결정에 필수 | NTP, Lamport Clock, Vector Clock |
| 명 | 명명 서비스 | 분산 환경에서 자원·서비스 위치를 이름으로 조회 | DNS, Consul, etcd 서비스 디스커버리 |
| 두문자 | 분류 | 주요 시스템 콜 | 기능 |
|---|---|---|---|
| 프 | 프로세스 제어 | fork(), exec(), wait(), exit(), kill() | 프로세스 생성·종료·신호 전송 |
| 파 | 파일 관리 | open(), read(), write(), close(), lseek(), stat() | 파일 열기·읽기·쓰기·위치 변경 |
| 소 | 소켓·네트워크 | socket(), bind(), connect(), send(), recv() | 네트워크 통신 |
| 장 | 장치 관리 | ioctl(), read(), write() (디바이스 파일) | 하드웨어 장치 제어 |
| 네 | 메모리 관리 | mmap(), munmap(), brk(), mprotect() | 메모리 매핑·보호·할당 |
| 비교 기준 | 세그멘테이션 | 페이징 | 세그-페이징 혼합 |
|---|---|---|---|
| 분할 단위 | 가변 크기 논리 단위 | 고정 크기 페이지(4KB) | 세그먼트 내 페이지 분할 |
| 외부 단편화 | 발생(가변 크기 → 홀 발생) | 없음 | 없음 |
| 내부 단편화 | 없음 | 발생(마지막 페이지) | 발생(최소) |
| 공유·보호 | 논리 단위로 용이 | 페이지 경계와 불일치 | 세그먼트 단위로 가능 |
| 현대 OS | x86 보호모드 잔재 | 기본 메모리 관리 | Intel x86 실제 구현 |
| 두문자 | 요소 | 핵심 내용 | Java 예시 |
|---|---|---|---|
| 상 | 상호 배제 | 모니터 입구에 암시적 뮤텍스. 한 스레드만 내부 실행. 자동 잠금/해제 | synchronized 메서드/블록 |
| 조 | 조건 변수 | 특정 조건이 충족될 때까지 스레드 대기. wait/signal/broadcast 연산 | Object.wait(), notify(), notifyAll() |
| 대 | 대기 큐 | 조건 미충족 스레드를 보관하는 큐. 조건 충족 시 큐에서 꺼내 재실행 | Entry Queue + Condition Queue |
| 신 | signal 정책 | Signal-and-Wait(HC): signal 후 신호자 대기 | Signal-and-Continue(Mesa): 신호 후 계속 실행 | Java는 Mesa 방식(notify 후 계속) |
| 진 | 재진입 불가 | 같은 스레드가 이미 잠근 모니터를 다시 잠그려 하면 교착상태 위험 | ReentrantLock으로 재진입 허용 |
| 구분 | 세마포어 | 뮤텍스 | 모니터 |
|---|---|---|---|
| 수준 | 저수준 (P/V) | 저수준 (lock/unlock) | 고수준 (언어 내장) |
| 소유권 | 없음 | 잠근 스레드만 해제 | 암시적 (진입 스레드) |
| 조건 동기화 | 직접 구현 필요 | 별도 조건변수 필요 | 내장(wait/signal) |
| 오용 가능성 | 높음 | 중간 | 낮음 |
| 두문자 | 요소 | 핵심 내용 | 세부 내용 |
|---|---|---|---|
| 인 | 인터럽트 벡터 | 인터럽트 번호 → ISR 주소를 매핑한 테이블. 하드웨어/소프트웨어 인터럽트 분류 | x86: IDT(Interrupt Descriptor Table) |
| 폴 | 폴링 vs 인터럽트 | 폴링: 단순·저지연(검색 빈도 높을 때). 인터럽트: 비동기·효율적(빈도 낮을 때) | NIC: 고속에서 폴링(NAPI), 저속에서 인터럽트 |
| 데 | 데이지 체인 | 인터럽트 장치들을 직렬 체인으로 연결. CPU가 인터럽트 발생 장치를 순서대로 확인 | 장치A → 장치B → 장치C → CPU |
| 비 | 비마스크 인터럽트 | NMI(Non-Maskable Interrupt): 하드웨어 오류·전원 이상. 마스크 불가능 | vs 마스크 인터럽트: CLI/STI로 차단 가능 |
| 마 | 마스킹·우선순위 | PIC(Programmable Interrupt Controller)로 우선순위 설정. 높은 우선순위가 낮은 것 선점 | x86: 8259A PIC → APIC |
| 두문자 | 단계 | 핵심 내용 | 세부 내용 |
|---|---|---|---|
| 포 | POST | CPU·메모리·그래픽·스토리지 자가 진단. 실패 시 비프음/LED 코드 | 메모리 테스트, BIOS ROM 체크섬 |
| 유 | UEFI/BIOS | BIOS: 레거시 16비트, MBR. UEFI: 64비트, GPT, Secure Boot, 빠른 부팅 | Secure Boot: 서명된 부트로더만 실행 |
| 부 | 부트로더 | GRUB2(Linux), Windows Boot Manager. 커널 이미지·initrd 메모리 적재 | 멀티부팅 메뉴, 커널 파라미터 전달 |
| 커 | 커널 초기화 | CPU 모드 전환, 메모리 맵 구성, 드라이버 초기화, 루트 파일시스템 마운트 | initrd: 초기 RAM 디스크(임시 루트) |
| 이 | Init/systemd | PID 1 프로세스. 모든 서비스의 조상. systemd: 병렬 서비스 시작으로 부팅 속도↑ | runlevel→target 전환. multi-user.target |
| 비교 기준 | 모놀리식 커널 | 마이크로 커널 |
|---|---|---|
| 구조 | 모든 서비스(파일시스템·드라이버·네트워크)가 커널 공간에 존재 | 최소 기능(IPC·메모리·스케줄링)만 커널. 나머지는 사용자 공간 서버 |
| 성능 | 높음 (직접 함수 호출) | 낮음 (IPC 메시지 패싱 오버헤드) |
| 안정성 | 드라이버 버그 → 커널 패닉 | 서버 충돌해도 커널은 유지. 재시작 가능 |
| 대표 | Linux (모듈화로 일부 단점 보완) | QNX(자동차), MINIX(인텔 ME), L4 |
| 두문자 | 요소 | 핵심 내용 | RTOS 구현 |
|---|---|---|---|
| 결 | 결정론적 스케줄링 | 최악 실행 시간(WCET) 분석으로 모든 태스크가 데드라인 내 완료됨을 증명 | Rate Monotonic, EDF 스케줄러 |
| 선 | 선점형 커널 | 높은 우선순위 태스크가 언제든 현재 실행 태스크를 선점. 지연 최소화 | FreeRTOS: configUSE_PREEMPTION=1 |
| 우 | 우선순위 스케줄링 | 각 태스크에 고정 우선순위 부여. 가장 높은 우선순위가 항상 실행 | 256단계 우선순위 (FreeRTOS) |
| 태 | 태스크 관리 | 태스크(스레드)·큐·세마포어·뮤텍스·이벤트 그룹으로 동기화 | xTaskCreate(), xQueueSend() |
| 선 | 선점 레이턴시 | 인터럽트 발생 → 태스크 스위치까지 시간. RTOS는 수 μs 이내 보장 | ISR → Tick ISR → 컨텍스트 스위치 |
| 해결책 | 원리 | 장점 | 단점 | 적용 |
|---|---|---|---|---|
| 우선순위 상속 | L이 뮤텍스 보유 중 H가 대기하면, L의 우선순위를 일시적으로 H 수준으로 승격. M이 L을 선점 불가 | 구현 단순. 역전 방지 | 연쇄 상속 시 복잡. 데드락 가능 | FreeRTOS, POSIX mutexattr |
| 우선순위 상한 | 각 뮤텍스에 상한 우선순위(자원 사용 태스크 중 최고) 설정. 뮤텍스 획득 시 해당 상한으로 승격 | 데드락 방지. 예측 가능 | 불필요한 우선순위 승격 발생 | VxWorks, INTEGRITY |