CPU: 두 판 사이의 차이

기술노트
편집 요약 없음
편집 요약 없음
 
1번째 줄: 1번째 줄:
==CPU 개요==
== 🧠 CPU 개요 ==
===컴퓨터의 핵심 CPU(Central Processing Unit)와 폰 노이만 구조===
컴퓨터 시스템을 이루는 3대 구성 요소는 '''CPU, 메모리, 디스크'''이며, 여기에 '''I/O'''까지 추가하면 컴퓨터를 이루는 기본 골격이 됩니다. 이러한 개념을 최초로 제안한 것이 '''폰 노이만(John von Neumann)'''입니다.


폰 노이만 구조의 주요 특징:
=== ⚙️ 컴퓨터의 핵심 CPU와 폰 노이만 구조 ===
*'''명령어/데이터 로드 → 실행 → 저장'''을 순차적으로 수행
컴퓨터의 핵심 구성 요소는 '''CPU''', '''메모리''', '''디스크'''입니다. 여기에 '''I/O 장치'''를 포함하면 완전한 컴퓨터 시스템을 설명할 수 있습니다. 이 구조를 처음 제안한 사람은 '''존 폰 노이만(John von Neumann)'''입니다.
*'''데이터 및 프로그램 메모리를 하나의 버스로 접근하는 구조'''
 
폰 노이만 구조에서는 '''중앙 처리 장치(CPU)'''를 통해 연산을 수행합니다. CPU는 각종 연산을 수행하고, 기억장치에 저장된 명령어를 실행하는 컴퓨터 시스템의 핵심 부품입니다.
폰 노이만 구조의 핵심 특징:
* 📌 명령어 → 실행 → 결과 저장을 '''순차적'''으로 수행
* 📌 '''명령어와 데이터가 같은 버스로 이동'''
* 📌 연산은 '''중앙 처리 장치(CPU)'''가 수행


<youtube>JVAY0HY76zc</youtube>
<youtube>JVAY0HY76zc</youtube>
===CPU의 속도: 헤르츠(Hz)와 Clock===
CPU는 연산을 수행하는 칩으로, 기본적으로 덧셈기와 같은 원리로 동작합니다. 일반적으로 컴퓨터의 성능은 '''CPU의 속도'''와 '''메모리 용량'''으로 표현되며, CPU 속도의 단위는 '''헤르츠(Hz)'''입니다.


'''Hz(헤르츠)'''란?
----
*1초 동안 특정 동작이 몇 번 반복되는지를 나타내는 단위
 
* 예: 100Hz → 1초에 100번의 진동(반복)
=== ⏱️ CPU의 속도: Hz와 Clock ===
'''Clock(클럭)'''이란?
CPU의 성능은 클럭 속도와 밀접한 관련이 있습니다.
*CPU가 일정한 속도로 동작하도록 주기적으로 '''전기적 펄스'''를 공급하는 장치
 
*CPU는 이 신호를 받아 데이터를 처리하며, '''한 번의 클럭 신호에서 한 개의 명령을 수행'''
* '''Hz(헤르츠)''': 1초에 얼마나 많은 연산을 수행할 수 있는지 나타내는 단위
* 클럭 속도가 빠를수록 처리 능력이 향상됨
** 예: 3GHz = 1초에 30억 번 연산 가능
===CPU의 구성 요소 ===
 
CPU의 주요 내부 구성 요소는 다음과 같습니다:
* '''Clock(클럭)''':
*'''산술/논리 연산 장치(ALU, Arithmetic Logic Unit)'''
** 전기적 펄스 신호
*'''제어 장치(Control Unit)'''
** 클럭 1번 = CPU 명령어 1개 수행
*'''레지스터(Register)'''
** 클럭이 빠를수록 처리 속도 ↑
====ALU(산술 논리 연산 장치)====
 
'''ALU'''는 연산을 담당하는 핵심 장치로, 주요 기능은 다음과 같습니다:
----
* 덧셈, 뺄셈, 곱셈 등의 산술 연산 수행
 
*논리 연산(AND, OR, XOR 등) 수행
=== 🧩 CPU 구성 요소 ===
*'''부동소수점 연산장치(FPU)'''와 정수 연산장치 포함
 
*데이터를 '''레지스터(Register)'''에서 가져와 연산 수행
* 🔢 '''ALU''' (산술/논리 연산 장치)
==== 제어 장치(Control Unit)====
* 🧭 '''제어 장치''' (Control Unit)
제어 장치는 CPU가 '''명령어 수행 순서를 제어'''하는 역할을 합니다. 주요 구성 요소는 다음과 같습니다:*'''프로그램 계수기(PC, Program Counter)''' – 다음에 실행할 명령어의 메모리 주소 저장
* 🗃️ '''레지스터''' (Register)
*'''명령 레지스터(IR, Instruction Register)''' – 현재 실행 중인 명령어 저장
 
*'''명령 해독기(Instruction Decoder)''' – 명령어를 해석하고 제어 신호 생성
==== 🔢 ALU(산술 논리 연산 장치) ====
'''제어 장치 구현 방식'''
* 산술 연산: +, , ×, ÷
*'''하드와이어드(Hardwired)''' – 논리회로로 직접 구현, 빠르지만 유연성이 낮음 (RISC 사용)
* 논리 연산: AND, OR, XOR 등
*'''마이크로프로그램(Micro Program)''' – ROM에 제어 신호 저장 후 필요 시 실행 (CISC 사용)
* 부동소수점(FPU), 정수 연산 처리
====레지스터(Register)====
* 연산에 필요한 값은 '''레지스터'''에서 읽어옴
'''레지스터'''는 CPU 내부의 고속 기억장치입니다. 주요 레지스터의 기능은 다음과 같습니다:
 
*'''IR (Instruction Register)''' 현재 실행 중인 명령어 저장
==== 🧭 제어 장치(Control Unit) ====
*'''PC (Program Counter)''' 다음 실행할 명령어 주소 저장
* '''명령어 해석 및 제어 신호 생성'''
*'''AC (Accumulator)''' 연산 결과 임시 저장
* 구성 요소:
===명령어 구조 및 수행 과정===
  * '''PC'''(Program Counter): 다음 명령 주소
CPU가 명령어를 처리하는 과정:
  * '''IR'''(Instruction Register): 현재 명령
#**읽기(Fetch Instruction)** 메모리에서 명령어 가져오기
  * '''Instruction Decoder''': 명령 해석
#**해석(Decode Instruction)** 명령어 분석
 
#**실행(Execute Instruction)** 명령어 실행
* 제어 방식:
#**기록(Write Back)** 실행 결과 저장
  * 하드와이어드: 빠르나 유연성 ↓ (RISC에 적합)
명령어 구조:
  * 마이크로프로그램 방식: 유연성 ↑ (CISC에 적합)
* **명령어(Instruction) = 동작 코드(Op-code) + 오퍼랜드(Operand)**
 
*Op-code: 실행할 동작을 지정
==== 🗃️ 레지스터(Register) ====
*Operand: 데이터 또는 데이터가 저장된 위치 지정
CPU 내부의 '''초고속 임시 저장장치'''입니다.
===명령어 처리 방식: RISC와 CISC===
 
***RISC(Reduced Instruction Set Computer)**
* '''IR''': 현재 명령어 저장
  * 단순한 명령어 조합으로 복잡한 연산 수행
* '''PC''': 다음 명령어 주소
  * 파이프라이닝 적용 가능 → 빠른 실행 속도
* '''AC''': 연산 결과 저장
  * 명령어당 하나의 클럭 사이클 사용
 
  * 예: ARM, MIPS, PowerPC
----
***CISC(Complex Instruction Set Computer)**
 
  * 하나의 명령어가 여러 클럭 사이클을 사용
=== 🛠️ 명령어 수행 과정 ===
  * 메모리 참조가 많고 다양한 명령어 제공
CPU는 다음 순서로 명령을 처리합니다:
  * 예: 인텔 x86 아키텍처
 
'''RISC와 CISC 비교'''
# 📥 '''Fetch''' – 명령어 읽기
# 🔍 '''Decode''' 명령 해석
# 🛠️ '''Execute''' – 실행
# 💾 '''Write Back''' – 결과 저장
 
* 명령어 구성 = '''Op-code + Operand'''
  * Op-code: 실행할 작업
  * Operand: 대상 데이터 또는 주소
 
----
 
=== 🧱 명령어 구조: RISC와 CISC 비교 ===
 
'''RISC (Reduced Instruction Set Computer)'''
* 단순 명령어 조합
* 파이프라이닝 최적화
* 하나의 명령 = 한 클럭
 
'''CISC (Complex Instruction Set Computer)'''
* 복잡한 명령어 지원
* 한 명령에 여러 클럭 필요
* 명령어 수 많음
 
{| class="wikitable"
{| class="wikitable"
|+RISC vs CISC
|+ '''RISC vs CISC'''
! 항목 !! RISC !! CISC
|-
|-
!구분!!RISC!!CISC
| 명령어 수 || 적음 || 많음
|-
|-
|명령어 개수||적음||많음
| 실행 속도 || 빠름 || 느림
|-
|-
|실행 속도 ||빠름 (한 사이클에 하나의 명령)||상대적으로 느림
| 설계 복잡도 || 단순 || 복잡
|-
|-
|설계 복잡도||단순|| 복잡
| 대표 예시 || ARM, MIPS || Intel x86
|-
|대표 예시||ARM, MIPS ||x86, Intel CPU
|}
|}
===RISC 한계를 극복하는 EPIC(Explicitly Parallel Instruction Computing)===
'''EPIC'''는 HP와 Intel이 공동으로 개발한 64비트 명령어 셋 구조로, RISC의 단점을 보완하기 위해 설계되었습니다.
*기존 RISC 방식은 '''명령어 선형 실행'''으로 인해 한계 발생
* EPIC은 '''소프트웨어 수준에서 병렬 처리를 명시적으로 지정'''하여 성능 최적화
EPIC의 주요 특징:
*명확한 병렬 실행을 위한 '''128개 이상의 레지스터 제공'''
*'''컴파일 단계에서 병렬 실행 가능한 명령어 그룹화'''
*기존 RISC보다 높은 성능 제공
==참고 자료==
*IT기업 기술 면접을 위한 CS + 면접 노하우 PDF → [https://kmong.com/self-marketing/539751/LUA54VnQsP 링크]
*AWS 백엔드 개발자 강의 → [https://inf.run/o1NX 링크]
*ChatGPT를 활용한 앱 개발 강의 → [https://inf.run/rpX4 링크]
* 직접 번역한 백엔드 도서 → [https://www.yes24.com/Product/Goods/122536127 링크]
* 기술노트with알렉 유튜브 → [https://www.youtube.com/c/%EA%B8%B0%EC%88%A0%EB%85%B8%ED%8A%B8with%EC%95%8C%EB%A0%89 링크]


*
----
 
=== 🚀 EPIC: RISC의 한계를 넘다 ===
'''EPIC(Explicitly Parallel Instruction Computing)'''는 Intel과 HP가 공동 개발한 64비트 아키텍처입니다.
 
* 병렬 처리 명령어를 컴파일러가 명시
* '''128개 이상의 레지스터''' 사용
* 컴파일 단계에서 병렬 실행 가능한 명령 그룹화
* RISC보다 높은 성능 제공
 
----
 
== 📚 참고 자료 ==
* [https://kmong.com/self-marketing/539751/LUA54VnQsP 💼 IT 면접용 CS PDF]
* [https://inf.run/o1NX 📦 AWS 백엔드 강의]
* [https://inf.run/rpX4 🤖 ChatGPT 앱 개발 강의]
* [https://www.yes24.com/Product/Goods/122536127 📘 백엔드 번역서]
* [https://www.youtube.com/c/%EA%B8%B0%EC%88%A0%EB%85%B8%ED%8A%B8with%EC%95%8C%EB%A0%89 🎬 기술노트with알렉 유튜브]

2025년 5월 15일 (목) 16:10 기준 최신판

🧠 CPU 개요

⚙️ 컴퓨터의 핵심 CPU와 폰 노이만 구조

컴퓨터의 핵심 구성 요소는 CPU, 메모리, 디스크입니다. 여기에 I/O 장치를 포함하면 완전한 컴퓨터 시스템을 설명할 수 있습니다. 이 구조를 처음 제안한 사람은 존 폰 노이만(John von Neumann)입니다.

폰 노이만 구조의 핵심 특징:

  • 📌 명령어 → 실행 → 결과 저장을 순차적으로 수행
  • 📌 명령어와 데이터가 같은 버스로 이동
  • 📌 연산은 중앙 처리 장치(CPU)가 수행


⏱️ CPU의 속도: Hz와 Clock

CPU의 성능은 클럭 속도와 밀접한 관련이 있습니다.

  • Hz(헤르츠): 1초에 얼마나 많은 연산을 수행할 수 있는지 나타내는 단위
    • 예: 3GHz = 1초에 30억 번 연산 가능
  • Clock(클럭):
    • 전기적 펄스 신호
    • 클럭 1번 = CPU 명령어 1개 수행
    • 클럭이 빠를수록 처리 속도 ↑

🧩 CPU 구성 요소

  • 🔢 ALU (산술/논리 연산 장치)
  • 🧭 제어 장치 (Control Unit)
  • 🗃️ 레지스터 (Register)

🔢 ALU(산술 논리 연산 장치)

  • 산술 연산: +, −, ×, ÷
  • 논리 연산: AND, OR, XOR 등
  • 부동소수점(FPU), 정수 연산 처리
  • 연산에 필요한 값은 레지스터에서 읽어옴

🧭 제어 장치(Control Unit)

  • 명령어 해석 및 제어 신호 생성
  • 구성 요소:
 * PC(Program Counter): 다음 명령 주소
 * IR(Instruction Register): 현재 명령
 * Instruction Decoder: 명령 해석
  • 제어 방식:
 * 하드와이어드: 빠르나 유연성 ↓ (RISC에 적합)
 * 마이크로프로그램 방식: 유연성 ↑ (CISC에 적합)

🗃️ 레지스터(Register)

CPU 내부의 초고속 임시 저장장치입니다.

  • IR: 현재 명령어 저장
  • PC: 다음 명령어 주소
  • AC: 연산 결과 저장

🛠️ 명령어 수행 과정

CPU는 다음 순서로 명령을 처리합니다:

  1. 📥 Fetch – 명령어 읽기
  2. 🔍 Decode – 명령 해석
  3. 🛠️ Execute – 실행
  4. 💾 Write Back – 결과 저장
  • 명령어 구성 = Op-code + Operand
 * Op-code: 실행할 작업
 * Operand: 대상 데이터 또는 주소

🧱 명령어 구조: RISC와 CISC 비교

RISC (Reduced Instruction Set Computer)

  • 단순 명령어 조합
  • 파이프라이닝 최적화
  • 하나의 명령 = 한 클럭

CISC (Complex Instruction Set Computer)

  • 복잡한 명령어 지원
  • 한 명령에 여러 클럭 필요
  • 명령어 수 많음
RISC vs CISC
항목 RISC CISC
명령어 수 적음 많음
실행 속도 빠름 느림
설계 복잡도 단순 복잡
대표 예시 ARM, MIPS Intel x86

🚀 EPIC: RISC의 한계를 넘다

EPIC(Explicitly Parallel Instruction Computing)는 Intel과 HP가 공동 개발한 64비트 아키텍처입니다.

  • 병렬 처리 명령어를 컴파일러가 명시
  • 128개 이상의 레지스터 사용
  • 컴파일 단계에서 병렬 실행 가능한 명령 그룹화
  • RISC보다 높은 성능 제공

📚 참고 자료