📚 CS/운영체제

[OS] CPU에 대해서

수댕ʕت̫͡ʔ 2024. 8. 12. 23:07

이 포스팅은 공부를 위해서 "면접을 위한 CS 전공지식 노트 책" 을 참고했다.

 

오늘은 컴퓨터의 구성요소 중 CPU에 대해서 공부를 해보자.

 

🔊 CPU 란?

CPU(중앙처리장치)는 컴퓨터의 핵심 부품이다. 컴퓨터 시스템의 연산 및 제어를 담당한다. 인터럽트에 의해 단순히 메모리에 존재하는 명령어를 해석해서 실행하는 일꾼이다. 구성 요소는 제어장치, 레지스터, 산술논리연산장치로 이루어져있다.

 

 

1️⃣ 제어장치

제어장치는 CPU의 두뇌역할을 한다. 즉, 프로세스 조작을 지시하는 역할을 한다. 메모리에서 명령어를 읽고 해석해서 해당 명령어를 실행하기 위한 신호를 생성한다.

 

제어장치는 다음과 같은 작업들을 수행한다.

  • 명령어를 가져와서 해석한다.
  • 각 명령어에 따라 적절한 연산을 수행하도록 산술논리연산장치와 레지스터에 신호를 보낸다.
  • 입출력 장치와의 통신을 관리하여 데이터를 전송한다.

 

2️⃣ 레지스터

레지스터는 CPU 안에 매우 빠른 임시기억장치이다. 레지스터는 데이터와 명령어를 임시로 저장하는 용도로 사용되고, CPU가 연산을 수행할 때 필요한 데이터를 신속하게 제공할 수 있다. CPU는 자체적으로 데이터를 저장할 수 없다. 그래서 레지스터를 거쳐 데이터를 전달하게 된다.

 

 

3️⃣ 산술논리연산장치

산술논리연산장치는 CPU에서 수학적 계산과 논리적 연산을 수행하는 구성 요소이다. 기본적으로 산술 연산 (덧셈, 뺄셈, 곱셈, 나눗셈) 뿐만 아니라, 논리 연산 (AND, OR, NOT) 도 수행한다. 

 

 

📑 CPU의 연산 처리 과정

 

CPU의 연산처리 과정을 아래 그림을 통해서 살펴보자.

 

 

1. 먼저 제어장치가 메모리에서 실행할 값을 가져와 레지스터에 저장한다.

2. 산술논리연산장치는 레지스터에서 데이터를 가져와 연산을 수행하고 다시 레지스터에 그것을 저장한다.

3. 레지스터에서 메모리로 최종적으로 계산한 값을 저장한다.