CPU란? - 기본 개념부터 세부 장치까지

2024. 10. 14. 18:12[Node.js_6기] 스탠다드반

컴퓨터 부품은 보통 크게 5가지로 나뉜다. CPU, 주기억장치(RAM), 보조기억장치(HDD/SSD), I/O디바이스(모니터, 마우스 등), 메인보드. 코어 역할 어쩌고 

 

1. CPU란?

컴퓨터의 부품은 보통 CPU, 주기억장치(RAM), 보조기억장치(HDD/SSD), I/O디바이스(모니터, 마우스 등), 메인보드 5가지로 크게 나뉜다. 이때 CPU(Central Processing Unit)는 중앙 처리 장치를 의미한다. 프로그램의 명령어를 해석하고 실행하는 역할을 하는 컴퓨터 시스템의 중심이 되는 핵심 요소이다. 

 

이미지 출처: https://coduking.tistory.com/entry/CPU

 

CPU는 제어장치, 누산기, ALU, 레지스터로 구성되어 있다. ALU는 연산을 해주는 장치, 제어장치는 명령을 해석해주는 장치, 레지스터는 데이터를 저장하는 장치, 누산기는 중간에서 데이터를 전달해주는 장치라고 할 수 있다.

 

  • 제어장치(Control Unit): CPU에서 프로그램의 명령어를 해석하고, 실행하는 부분이다. 제어 장치는 명령어 레지스터에서 현재 실행 중인 명령어를 가져와서, 해당 명령어를 해석하고, 이에 맞게 다른 구성 요소들을 제어한다.
  • ALU(Arithmetic/Logic Unit): 산술 논리 장치는 CPU 내부에서 수치 연산과 논리 연산을 처리하는 부분이다. 산술 논리 장치는 두 개의 입력 신호를 받아서, 덧셈, 뺄셈, 곱셈, 나눗셈 등의 산술 연산을 처리하고, AND, OR, NOT 등의 논리 연산을 처리한다.
  • 레지스터(Register): 레지스터는 CPU 내부에 저장되어 있는 소규모 메모리로, 데이터를 저장하거나 처리하는 데 사용된다. 레지스터는 CPU에서 가장 빠른 속도로 데이터를 처리할 수 있으므로, CPU의 속도와 성능에 큰 영향을 미친다.
  • Cache Memory: 캐시는 CPU 내부에 존재하는 빠른 메모리로, CPU가 자주 사용하는 데이터나 명령어를 저장해 두는 역할을 한다. 캐시는 주 메모리보다 빠르지만, 저장 용량이 작으므로, 자주 사용되는 데이터나 명령어만 저장된다.
     - 속도 : Register > Cache > RAM
     - 저장용량 : RAM > Cache > Register

 

 

2. CPU 성능 향상을 위한 작업 방법

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

 

2 - 1. 파이프 라이닝

 

파이프라이닝은 한 가지 작업을 수행할 때 여러 단계의 작업이 필요한 경우, 이 단계들을 연속적으로 실행하여 단축시키는 기술을 말한다. 인출, 해석, 실행, 저장 등의 단계를 한 번에 하나씩 처리하는 것이 아니라, 아래와 같이 한 번에 여러 단계를 처리하여 실행시간을 단축시킨다. 한개의 코어에서 작업하는 방법이기 때문에 시간에 동기화(Sync) 되어있다는 특징이 있다. 

 

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

Parallellism은 한 번에 여러 작업을 수행하는 것을 말한다. 여러 개의 CPU 코어를 사용하여 병렬적으로 작업을 처리하는 것이 그 예이다. 이러한 기술은 동시에 여러 작업을 수행하므로, 실행 시간을 단축시키는 것이 가능하다. 병렬 방식으로 작업을 처리하기 때문에 시간에 동기화가 되어있지 않아도 된다는 특징(Async)이 있다.