본문 바로가기
내일배움캠프_게임서버(202410)/분반 수업 스텐다드

cpu 조사

by GREEN나무 2025. 1. 3.
728x90

[주제]

1. CPU?

CPU의 개념과 세부 장치들에 대한 설명이 포함되면 좋을 것 같아요

 

CPU(Central Processing Unit, 중앙처리장치 )

https://dadam2204.tistory.com/58

CPU는 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행 · 처리하는 가장 핵심적인 컴퓨터의 제어 장치, 혹은 그 기능을 내장한 칩이다. 

컴퓨터 부품과 정보를 교환하고 동작을 제어한다.

모든 컴퓨터의 작동과정이 중앙 처리 장치(CPU)의 제어를 받기 때문에 컴퓨터의 두뇌에 해당한다고 할 수 있다. 

 

CPU는 캐시와 같은 부가 장치를 통합하거나  Soc(System On Chip) 형태로 설계되어 MCU(Micro Control Unit)와 주변 장치(외부 확장 장치에 관한 IC)를 포함하기도 하며, 주변 IC가 따로 분리되어 있는 경우 이를 MCU라고 할 수 있습니다.

※ 시스템 온 칩(영어: System on Chip, 약칭:SoC)은 하나의 집적회로에 집적된 컴퓨터나 전자 시스템 부품을 가리킨다.


기본 구성
1. 처리할 명령어를 저장하는 역할 : 프로세서 레지스터
2. 연산을 담당 : 산술논리연산장치(ALU)
3. CPU를 내부적으로 제어 ( 명령어의 해석과 실행  ) : 제어부(control unit), 내부 버스

 

CPU의 작동 과정

CPU는 명령어를 처리하기 위해 인출(Fetch), 해석(Decode), 실행(Execute), 메모리 저장(Memory), 쓰기(Write-Back)의 5단계를 반복적으로 수행합니다.

  1. 인출(Fetch): 메모리에서 프로그램 명령어를 가져옵니다.
  2. 해석(Decode): 가져온 명령어를 분석하여 연산에 필요한 데이터를 추출하고, 각 장치에 제어 신호를 보냅니다.
              연산, 처리에 대한 준비를 하는 단계 
  3. 실행(Execute): 추출한 데이터와 연산 정보를 이용해 명령어를 실행하고 결과를 생성합니다.
  4. 메모리(Memory): 연산 결과가 다음 명령어에서 바로 사용되지 않을 경우, 결과를 메모리에 저장합니다.
  5. 쓰기(Write-Back): 결과를 출력하거나 연산 결과가 다음 명령어의 입력 데이터로 필요한 경우, 결과를 레지스터에 기록합니다.

이 과정을 통해 CPU는 지속적으로 명령어를 처리하고 프로그램을 실행합니다.

 

현대 CPU의 특징

다중 코어(Multi-core): 여러 코어를 통해 병렬 처리가 가능.

파이프라이닝(Pipelining): 명령어를 중첩 처리하여 효율성 증가.

초고속 연산: 클럭 주파수 및 캐시 메모리를 통한 성능 최적화.

 

CPU의 주요 세부 장치 :

1. 제어 장치(CU, Control Unit)

역할
제어 장치는 명령어를 해석

컴퓨터의 하드웨어 구성 요소(메모리, ALU, I/O 장치 등)에 작업을 지시

데이터 흐름과 명령 실행 순서를 제어

 

작동 방식

  1. 프로그램의 명령어를 가져와 해석합니다.
  2. 각 구성 요소가 명령을 실행할 수 있도록 제어 신호를 보냅니다.
  3. 데이터의 이동 경로를 지정하고, 컴퓨터 시스템의 동작을 조율합니다.

이를 통해 컴퓨터의 각 하드웨어가 유기적으로 작동하도록 관리합니다.

 

2. 산술 논리 장치(ALU, Arithmetic Logic Unit)

역할
ALU는 산술 연산(덧셈, 뺄셈, 곱셈, 나눗셈)과 논리 연산(AND, OR, NOT 등)을 수행

CPU가 데이터를 처리하는 중심적인 역할을 합니다.

 

특징

  • 모든 수학적 연산과 조건 판단이 이루어지는 핵심 처리 장치.
  • CPU 내부에서 데이터 연산과 논리적 비교 작업을 담당.

이를 통해 컴퓨터의 연산 작업과 데이터 처리 효율을 책임집니다.

 

3. 레지스터(Register)

역할
레지스터는 CPU 내부에서 데이터를 임시로 저장하는 초고속 메모리.

연산에 필요한 데이터, 명령어 주소, 상태 정보를 저장.

CPU의 처리 속도를 높입니다.

 

종류

  • 프로그램 카운터(PC, Program Counter): 다음 실행할 명령어의 주소를 저장.
  • 누산기(Accumulator): 연산 결과를 저장.
  • 데이터 레지스터: 연산에 사용될 데이터를 임시로 저장.
       레지스터는 CPU 안에 통합되어 있으며, 메모리(RAM)보다 훨씬 빠른 접근 속도를 가지고 있습니다.
  • 주소 레지스터: 메모리 주소를 저장.
  • 명령어 레지스터(IR,  Instruction Register): 현재 실행 중인 명령어를 저장.
  • 상태 레지스터(플래그 레지스터): 연산 결과와 CPU 상태를 저장. (Carry, Zero 등).

레지스터는 CPU의 핵심적인 데이터 처리 및 제어에 기여합니다.

 

 

4. 록 제어 장치(Clock Control Unit)

역할
CPU의 동작 속도를 조절하는 클록 신호를 생성하여, CPU 내부에서 명령어 실행이 일정한 주기로 이루어지도록 동기화합니다.

 

특징 및 작동 원리

  • 클럭 주파수는 CPU의 성능(연산 속도)을 나타내며, 단위는 Hz(헤르츠)로 측정됩니다.
      1초당 CPU 내부에서 몇 단계의 작업이 처리되는 지를 측정
  • 주파수(GHz 단위)가 높을수록 CPU가 초당 처리할 수 있는 명령어의 수가 증가합니다.
    예: 클럭 수가 3.0GHz이면 초당 30억 번의 명령어 처리를 할 수 있다
    • 1971년 Intel 4004 (시장에 출시된 최초의 컴퓨터) : 최대 740kHz(74만 Hz)
    • 2022년 AMD Ryzen 9 7950: 4.5GHz(45억 Hz)
  • 클럭 속도가 빠를수록 더 많은 명령어를 제한된 시간 내에 처리 가능하며, CPU 성능이 높아집니다.

클럭 제어 장치
클럭 신호를 생성하고 CPU의 작업 속도를 조율하여 명령어 실행의 효율성을 최적화합니다.

 

코어

역할 및 특징

  • 코어는 CPU 내부에서 명령어를 처리하는 독립적인 연산 장치입니다.
  • 멀티 코어(Multi Core) CPU는 한 칩에 여러 코어를 병렬로 배치하여, 동시에 여러 작업을 처리하거나 다중 코어를 활용하는 소프트웨어에서 높은 성능을 발휘합니다.
  • 클럭 속도만 높이는 방식은 발열과 전력 소모 문제가 있어, 멀티 코어 구조로 효율성을 극대화합니다.

코어의 개수와 명칭

코어 개수 명칭
1 싱글 코어
2 듀얼 코어
3 트리플 코어
4 쿼드 코어
6 헥사 코어
8 옥타 코어
10 데카 코어
12 도데카 코어
16 헥사데시멀 코어

 

활용 예
그래픽 편집, 동영상 인코딩처럼 다중 코어 연산을 지원하는 프로그램에서 멀티 코어 CPU의 장점이 극대화됩니다.
하지만 단일 작업 위주의 프로그램에서는 고클럭 단일 코어가 더 유리할 수 있습니다.

 

멀티코어  - CPU 성능 향상을 위한 작업 방법

CPU에서 명령어가 실행되는 프로세스는 인출, 해석, 실행, 저장 순이다. 이때 CPU의 속도를 올리기 위해서 쓰레드 단위로 쪼개서 처리한다. 

1. 파이프 라이닝

파이프라이닝여러 단계를 거쳐야 하는 작업을 효율적으로 처리하기 위한 기술입니다. 각 단계(예: 인출, 해석, 실행, 저장)를 순차적으로 처리하는 대신, 여러 단계가 동시에 진행되도록 설계하여 실행 시간을 단축합니다. 이는 단일 코어에서 작동하며, 모든 단계가 시간적으로 동기화(Sync)되어 있다는 특징이 있습니다.

 

2.  독립적인 병렬처리(Parallellism)

Parallelism은 여러 작업을 동시에 처리하는 기술을 의미합니다.
여러 CPU 코어를 활용해 병렬적으로 작업을 수행하는 것이 대표적인 예입니다. 이를 통해 실행 시간을 크게 단축할 수 있습니다. 병렬 처리 방식은 작업이 동시에 이루어지므로, 시간 동기화(Sync)가 필수적이지 않은 비동기적(Async) 특성을 갖습니다.

5. 캐시 메모리(캐시, Cache Memory)

역할
캐시 메모리는 CPU 내부의 임시 저장공간으로 CPU가 자주 사용하는 데이터를 임시로 저장하여, 속도가 느린 주 메모리(RAM)와의 접근 횟수를 줄이고 CPU의 처리 속도를 향상시킵니다.

 

구조 및 특징

  • L1 캐시 (Level 1 cache memory) : CPU 코어에 가장 가까운 고속 메모리로, 용량이 작지만 가장 빠릅니다.
  • L2 캐시: L1보다 용량이 크고 상대적으로 느리며, 코어별로 존재하거나 공유될 수 있습니다.
  • L3 캐시: 전체 코어가 공유하는 메모리로, 가장 큰 용량을 가지지만 속도는 상대적으로 느립니다.

기타
캐시 메모리가 크면 CPU 성능 향상에 유리하지만, 제조가 복잡하고 비용이 증가합니다. CPU 내부 캐시는 컴퓨터의 전반적인 처리 속도를 좌우하는 중요한 요소입니다.

CPU와 가까운 곳에 위치한 캐시 메모리 일수록 성능 향상 폭이 크지만, 그만큼 제조가 어렵고 생산 단가도 높아진다.

 

6. 버스 인터페이스 (Bus Interface)

CPU와 외부 장치(메모리, 주변 장치 등) 간 데이터를 전송하는 통로.

주요 버스 종류:

  • 데이터 버스: 데이터 전송.
  • 주소 버스: 데이터가 저장될 메모리 위치 지정.
  • 제어 버스: 제어 신호 전송.

7. 파이프라인 (Pipeline)

여러 명령어를 동시에 처리할 수 있도록 설계된 처리 구조.

명령어를 단계별로 분리하여 병렬 처리 가능.

8. 산술 보조 장치 (FPU: Floating Point Unit)

부동소수점 연산 전용 장치.

과학 계산이나 그래픽 처리 등에 사용.

9. 분기 예측 장치 (Branch Predictor)

조건문(분기 명령어)의 실행 경로를 예측하여 CPU 성능 최적화.

10. 명령 디코더 (Instruction Decoder)

프로그램 명령어를 해석하여 실행 가능한 신호로 변환.

11. 온칩 메모리 (On-Chip Memory)

CPU 내부에 통합된 소규모 메모리.

데이터 처리 속도 향상.

12. I/O 컨트롤러 (Input/Output Controller)

입출력 장치와 CPU 간의 데이터 교환을 관리.

13. 인터럽트 컨트롤러 (Interrupt Controller)

외부 장치나 프로그램의 인터럽트 요청을 관리하고 처리.

 

CPU의 아키텍처(architecture)

개념
CPU 아키텍처는 컴퓨터 시스템의 기본 설계 및 구조로, CPU의 성능, 전력 소모, 발열 효율에 직접적인 영향을 미칩니다. 같은 클럭 속도, 코어 수, 캐시 용량이라도 아키텍처의 차이에 따라 성능이 크게 달라집니다.

예시

  • 펜티엄 D 930(2006년): 3GHz, 2코어, 4MB 2차 캐시 → 넷버스트 아키텍처
  • 셀러론 G1820(2014년): 2.7GHz, 2코어, 512KB 2차 캐시, 2MB 3차 캐시 → 하스웰 아키텍처
    • 수치만 보면 펜티엄 D 930이 우수하지만, 더 진보된 하스웰 아키텍처를 채택한 셀러론 G1820의 성능이 더 뛰어납니다.

 https://it.donga.com/media/itdonga/media/2015/05/04/005_rFL7vwr.jpg

이를 테면 2006년 1월에 출시된 '펜티엄 D 930'은 3GHz의 클럭과 2개의 코어, 그리고 총 4MB의 2차 캐시 메모리를 갖춘 CPU다. 그리고 2014년에 출시된 '셀러론 G1820'은 2.7GHz의 클럭과 2개의 코어, 그리고 총 512KB의 2차 캐시 메모리 및 2MB의 3차 캐시 메모리를 갖추고 있다. 단지 수치적인 사양만 보면 펜티엄 D 930이 더 나아 보이지만, 실제 성능은 셀러론 G1820이 훨씬 우수할 뿐 아니라 전력 소모나 발열도 더 적다. 이는 셀러론 G1820에 적용된 하스웰 아키텍처가 펜티엄 D 930에 적용된 넷버스트 아키텍처에 비해 한층 진보된 것이기 때문이다.

 

 

 

구조 및 설계 요소

  1. 기본 구성
    • 프로세서 레지스터: 명령어 및 데이터를 임시 저장.
    • 산술논리연산장치(ALU): 연산, 비교, 판단을 담당.
    • 제어부(Control Unit): 명령어 해석 및 실행 관리.
    • 내부 버스: CPU 내 구성 요소 간 데이터 전송.
  2. 명령어 집합(Instruction Set)
    CPU의 내장회로는 CPU가 수행할 수 있는 기본적인 연산들의 집합인 '명령어 집합'으로 이루어져있다.
    • CPU가 수행할 수 있는 연산들의 집합.
    • 명령어는 특정 비트 조합(옵코드)으로 표현되며, CPU의 ALU가 이를 기반으로 연산 수행.

성능 비교 팁

  • 같은 아키텍처 내에서는 클럭, 코어 수, 캐시 용량으로 비교.
  • 다른 아키텍처 간 비교 시에는 실험 결과나 커뮤니티 정보를 참고하는 것이 유용.

참고

https://it.donga.com/21086/

https://dadam2204.tistory.com/58

 

 

위키백과  : https://ko.wikipedia.org/wiki/%EC%A4%91%EC%95%99_%EC%B2%98%EB%A6%AC_%EC%9E%A5%EC%B9%98

 

추가 공부 하기 : https://brunch.co.kr/@toughrogrammer/14