본문 바로가기
CS/운영체제&컴퓨터구조

CPU의 구성요소 및 작동원리

by nothing-error 2022. 10. 25.

CPU의 구성요소 및 작동원리

CPU의 구성과 작동원리

 

CPU는 컴퓨터에서 기억, 해석, 연산, 제어라는  중요한 기능을 담당하는 장치이며 산술 논리 연산장치(ALU), 제어장치, 레지스터로 이루어져 있습니다.

 

 

1. ALU

   ALU는 이름 그처럼 산술 논리 연산을 하며, 이때 연산을 하기 위해서는 피연산자와 수행할 연산이 필요합니다. 아래 그림처럼 레지스터에서 피연산자를 받고, 제어장치에서는 제어신호를 받아들이게 됩니다. 이후 ALU는 계산한 결과값과 플래그를 각각 레지스터와 플래그 레지스터로 내보냅니다.

 

산술논리연산장치 흐름도
ALU 레지스터 플래그 레지스터

플래그 : 연산 결과에 대한 추가적인 상태 정보로 부호플래그(S), 제로플래그(Z), 자리올림수(C), 패리티비트(P), 오버플로우(OV), 인터럽트 플래그(IE), 운영체제 모드 플래그(SV) 등이 있습니다.

 

 

2. 제어장치

  제어장치는 명령어, 데이터의 입출력과 ALU의 동작을 제어합니다. 소스코드를 해석하고 이를 실행하기 위해 제어신호를 발생시키며, 명령을 읽고 실행하는 데 필요한 데이터 흐름을 제어합니다.

 

 

제어장치 흐름
제어장치 흐름

제어장치는 클럭, 플래그, 명령어, 제어 신호 등을 받아들이며 각각 상황에 따라서 CPU외부에 보내는 경우 메모리, 입출력 장치 등에 제어신호를 보내며, CPU내부인 ALU, 레지스터에 제어신호를 내보냅니다.

 

3. 레지스터

레지스터는 CPU 내부의 작은 메모리로 CPU의 요청을 처리하기 전 데이터를 임시 저장하는 곳입니다. 레지스터의 종류는 아래와 같이 다양합니다.

  • 데이터 레지스터 : 정수 값을 저장
  • 메모리 주소 레지스터 : 메모리 주소를 저장
  • 범용 레지스터 : 데이터와 주소 모두 저장
  • 부동소수점 레지스터 : 부동소수점 값을 저장
  • 명령어 레지스터 : 주기억장치에서 해석할 명령어 저장
  • 메모리 버퍼 레지스터 : 메모리에 읽거나 쓰려는 데이터, 명령 저장
  • 프로그램 카운터 : 프로세서가 수행할 다음 명령어 주소 저장
  • 플래그 레지스터 : 연산 결과, CPU 상태 정보 저장
  • 스택 포인터 : 스택 최상단 위치 저장

 


Reference
1. 혼자공부하는 컴퓨터구조 + 운영체제
2. 위키백과 
3. 정보통신기술용어해설

댓글