확장 카드는 컴퓨터 마더보드에 삽입하여 기능을 향상시키는 하드웨어 구성 요소
게임, 영상 편집, 3D 렌더링
음악 및 음향 애플리케이션
유선/무선 네트워크 연결
SSD 등 추가 저장장치 지원
컴퓨터에서 TV 신호 수신 가능
외부 기기(카메라, 게임 콘솔 등)의 비디오 신호 녹화
CPU, 메모리, I/O 장치 간 데이터 전달 통로
버스(bus) = 주소, 데이터, 제어 신호를 운반하는 병렬 전선들의 집합

실제 데이터를 구성 요소 간 전달
메모리 주소만 전송하여 데이터 위치 지정 in RAM
읽기/쓰기 등의 제어 신호(command) 전송
CPU, 메모리, 마더보드 연결
외부 장치 연결 (USB, 프린터, 확장 카드 등)
CPU 내부 구성요소 (레지스터, 캐시 등) 간 데이터 이동
산술 및 논리 연산 수행
계산 담당 부서
예 : 덧셈, 뺄셈, 비교 등
CPU의 진짜 두뇌(Brain) 역할
프로세서의 모든 연산 흐름 제어
Control Signal을 통해 각 장치가 무엇을 수행할지 지시
-> 이때 Control Bus를 사용하여 신호 전송
Register는 CPU 내부에 있는 아주 작고 매우 빠른 메모리 공간
ALU와 CU가 즉시 접근 가능한 데이터/명령어를 일시 저장
빠른 연산을 위해 존재하며, 속도는 캐시보다 빠름
Temporary Storage
Very Small (용량은 작지만)
Very Fast (속도는 매우 빠름)
명령어(instruction), 데이터(data), 기타 값들을 일시적으로 보관
연산 처리 중인 ALU 및 CU가 직접 활용
레지스터의 크기는 CPU 아키텍처(Processor Architecture)에 따라 다름
-> 예: x86, ARM, MIPS 등
8-bit -> 초기 마이크로프로세서 (예: Intel 8080)
16-bit -> Intel 8086
32-bit -> Intel 80386, Pentium 등 구형 프로세서
64-bit -> 현대 CPU (예: AMD Ryzen, Intel Core 시리즈)
128/256/512-bit -> GPU, 고성능 특수 프로세서용
다음에 실행할 명령어의 메모리 주소를 추적하는 역할
현재 실행 중인 명령어를 저장
CPU가 지금 무슨 명령을 수행 중인지 기억
접근할 메모리 위치의 주소를 저장
메모리의 어디에 접근할지 지시
메모리 <-> CPU 사이의 데이터 전송 버퍼
읽거나 쓰는 데이터를 일시 저장
ALU 연산 중 발생한 중간 결과값 저장
산술 및 논리 연산의 결과를 보관하는 핵심 레지스터
Any other purpose (나머지 싹다~~)
depends on processor architecture (not computer architecture)

메인 메모리는 바이트 단위의 연속된 주소 공간으로 구성됨
각각의 바이트는 고유한 주소(unique address) 를 가짐
기본 단위: 1 byte = 8 bits
값이 8비트보다 큰 경우(예: 32-bit 정수)는 여러 바이트에 걸쳐 저장

주소 0x00 → 01001010 (1 byte 값)
4-byte 값 → 0x00 ~ 0x03까지 4개 주소를 사용하여 저장됨
이상적인 메모리는 다음 조건을 모두 충족해야 함
즉시 접근 가능
영구 저장 가능
에너지 소비 최소
저렴함
현실에서는 이 모든 조건을 만족하는 단일 메모리 기술은 존재하지 않음
-> 엔지니어들은 여러 기술을 조합해서 사용
이런 다양한 메모리 기술들의 조합이 Memory Hierarchy(메모리 계층 구조) 를 이룸


하나의 CPU 칩에 여러 개의 독립적인 코어(Core) 가 존재
각 코어는 자신의 ALU, 레지스터, 실행 유닛 보유
멀티태스킹/병렬처리 성능 향상
각 코어가 동시에 다른 작업 수행 가능
사용 예 : 데스크탑, 노트북, 서버, 모바일 기기 등
쿼드코어 프로세서: 동시에 4개의 작업 수행 가능
(예: 게임 + 브라우저 + 편집기 + 백신)

하나의 코어(물리적으로)가 여러 스레드(Thread) 를 처리
하나의 프로세스 내에서 동시에 여러 작업 수행
CPU 활용률 개선 (ex. AMD: MT, Intel: Hyper-Threading)
Simultaneous Multi-Threading (SMT) 사용
Intel의 Hyper-Threading은 1코어에 2스레드 실행
듀얼코어 + 멀티스레딩 → 총 4스레드 처리 (각 코어 2스레드씩)
12세대부터 인텔은 CPU에 두 종류의 코어 혼합 사용
P-core (Performance)
E-core (Efficient)
고성능 작업용 (게임, 영상편집, 고급 연산)
Hyper-Threading 지원 → 1코어 = 2스레드
백그라운드 작업, 절전 기능
Hyper-Threading 미지원 → 1코어 = 1스레드
Intel i7-12700K
8 P-core (16 스레드)
4 E-core (4 스레드)
→ 총 12코어 / 20스레드
| 항목 | 멀티코어(Multi-Core) | 멀티스레딩(Multi-Threading) |
|---|---|---|
| 정의 | 하나의 CPU에 여러 물리적 코어를 사용하여 작업 실행 | 하나의 코어에서 여러 스레드 실행하여 작업 처리 |
| 하드웨어 / 소프트웨어 | 하드웨어 기반 (물리적 코어 필요) | 소프트웨어 기반 (논리적 코어, SMT 또는 하이퍼스레딩) |
| 성능 영향 | 진정한 병렬 실행을 통해 성능 향상 | 코어의 유휴 시간을 활용하여 효율성 향상 |
| 코어 요구사항 | 여러 개의 물리적 코어 필요 | 단일 코어로도 가능 |
| 실행 방식 | 각 코어가 자신의 스레드를 독립적으로 실행 | 하나의 코어가 여러 스레드를 빠르게 전환하여 실행 |
| 효율성 | 병렬 컴퓨팅, 멀티태스킹에 적합 | 동시성(concurrency)에 적합하나, 코어 수 제한 존재 |
| 예시 기술 | Intel Core i7, AMD Ryzen (멀티코어 CPU) | Intel Hyper-Threading, AMD SMT |
| 사용 사례 | 고성능 컴퓨팅, 게임, 렌더링, AI, 과학 시뮬레이션 등 | 웹 서버, 데이터베이스, 운영체제 멀티태스킹 등 |
| 한계점 | 코어 수 많을수록 전력 소모 및 발열 증가 | 소프트웨어가 스레드 활용을 잘 못할 경우 한계 있음 |