이런 독자에게 맞습니다

성능 감각을 키우고 하드웨어 제약이 소프트웨어 동작에 어떤 영향을 주는지 알고 싶은 소프트웨어 엔지니어.

선수 지식

일반적인 프로그래밍 경험과 기초적인 저수준 개념을 읽을 수 있는 정도의 배경지식.

이 시리즈에서 얻을 수 있는 것

  • 현대 프로세서와 메모리 시스템의 큰 구성 요소를 이해하게 됩니다
  • 캐시, 파이프라인, 인터럽트, 가상 메모리, 멀티코어 동작이 소프트웨어 성능과 어떻게 연결되는지 보게 됩니다
  • 더 낮은 수준의 설계와 디버깅 판단을 할 때 감이 생깁니다

전체 글

  1. 1

    컴퓨터 구조 01 - 컴퓨터 구조 개요

    폰 노이만 아키텍처의 핵심 개념과 CPU, 메모리, 버스가 어떻게 협력하는지

  2. 2

    컴퓨터 구조 02 - CPU 내부 구조

    ALU, 제어 유닛, 데이터패스의 내부 동작과 명령어가 CPU를 통과하는 과정

  3. 3

    컴퓨터 구조 03 - 명령어 집합 아키텍처 (ISA)

    ISA의 역할과 CISC/RISC 철학, x86과 ARM의 설계 차이

  4. 4

    컴퓨터 구조 04 - 파이프라인과 병렬 처리

    명령어 파이프라이닝, 해저드 처리, 분기 예측, 슈퍼스칼라와 비순차 실행

  5. 5

    컴퓨터 구조 05 - CPU 권한 수준과 보호

    CPU가 왜 권한 수준을 구분하는지, x86 보호 링과 ARM 예외 수준이 어떻게 시스템을 보호하는지

  6. 6

    컴퓨터 구조 06 - 인터럽트와 예외

    인터럽트가 존재하는 이유와 IDT, ISR, PIC/APIC의 동작 원리

  7. 7

    컴퓨터 구조 07 - 메모리 계층 구조

    레지스터에서 HDD까지 이어지는 메모리 계층과 캐시의 동작 원리

  8. 8

    컴퓨터 구조 08 - 가상 메모리와 MMU

    가상 메모리가 프로세스 격리를 가능하게 하는 원리와 MMU, 페이지 테이블, TLB의 동작

  9. 9

    컴퓨터 구조 09 - I/O와 DMA

    CPU가 외부 장치와 데이터를 주고받는 방식과 DMA를 통한 효율적 데이터 전송의 원리

  10. 10

    컴퓨터 구조 10 - 멀티코어와 현대 프로세서

    클럭 속도의 한계를 넘어 멀티코어로 전환된 이유와 현대 프로세서 아키텍처의 핵심 개념