컴퓨터의 두뇌, CPU

Lee Jun Hyeong·2023년 3월 21일

CPU란

CPU는 Central Processing Unit의 약자이고, 중앙처리장치 라고 한다.
인체에 비유했을 떄 인간의 두뇌라고 볼 수 있다.
컴퓨터뿐만 아니라 스마트 워치, 스마트폰, 태블릿 등 다양한 전자기기에 사용되는 중요한 부품이다.

중앙에서 뭘 처리하는데?


CPU의 기본적인 역할은 연산작업이다.
CPU는 주변기기(키보드, 마우스, 프린터 등)나 컴퓨터 프로그램에서 입력을 받아 필요한 것을 해석하는 역할을 한다.

제어장치, 연산장치, 레지스터

  • 제어: 프로그램 명령어 해석 및 동작 지시
    명령어를 순서대로 실행할 수 있도록 제어한다. 주기억장치에서 프로그램 명령어를 꺼내 해독한 다음, 해독 결과에 따라서 명령어 실행에 필요한 신호를 기억장치, 연산장치, 입출력 장치로 보낸다.

  • 연산: 산술/논리 연산
    덧셈, 뺄셈, 곱셈, 나눗셈 등의 산술연산, 논리곱, 논리합, 부정 등의 논리연산을 수행한다. 산술논리연산장치라고도 한다. 연산장치는 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보내서 저장한다.

  • 레지스터: 명령어/데이터/연산 결과 저장하는 공간
    RAM, ROM 등에 비해 더 빠른 기억장치이다. 명령어 주소, 명령어 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장한다. 연산에 필요한 데이터나 연산 결과를 저장하는 레지스터는 범용 레지스터와 특수 레지스터가 있다.

CPU 연산 Fetch -> Decode -> Execute -> Writeback

  1. 데이터 가져오기(Fetch)
    데이터는 이진수(011010..)로 표시되며 RAM에서 CPU로 전달된다.
    명령어는 프로그램 카운터(PC)에 의해 보관되며 CPU로 명령어를 가져온다.

  2. 디코딩(Decoding)
    명령어를 해석하는 단계이다. 명령어의 종류와 타겟 등을 판단한다.

  3. 실행(Execute)
    디코딩된(해석된) 명령어에 따라 데이터에 대한 연산을 수행한다.
    결과는 보통 CPU 레지스터에 기록되며, 이 레지스터는 이후 명령문에 의해 참조될 수 있다.

CPU의 동작 과정


1. 보조기억장치에서 저장된 프로그램을 읽거나, 입력장치에서 입력받은 데이터를 주기억장치에서 읽는다.
2. 주기억장치에서 읽어온 데이터를 중앙처리장치(CPU)가 읽고 처리한 후 다시 주기억장치로 보낸 후 저장한다.
3. 주기억장치는 연산된 데이터를 출력장치에 보내거나 보조기억장치에 저장한다.
4. 제어장치는 (1)-(3) 과정에서 명령어가 순서대로 잘 실행되도록 제어하는 역할을 수행한다.

CPU의 클럭, Core와 Thread

클럭, Core와 Thread는 CPU의 성능을 표시하는 단위로 말한다.

클럭

CPU 내부에서 일정한 주파수를 가지는 신호로, 이 신호로 모든 명령어가 동작되게 된다. 그러니깐 예를 들어 4.5Hz라는 것은 초당 45억 번의 명령어를 처리할 수 있다는 말이다. 따라서 클럭 주파수가 빠를수록 제한된 시간에 더 많은 명령을 처리할 수 있기에 더 좋은 성능의 중앙 처리 장치라고 할 수 있다

Core와 Thread

코어는 CPU에 포함된 물리적인 연산 칩의 갯수를 뜻하며,
스레드는 1개의 코어가 계산을 수행할 경우에 하이퍼스레딩(Hyper-threading, HT)기술을 이용해 하나의 코어로 2가지 작업을 동시에 수행할 수 있도록 만든 소프트웨어적인 논리 코어이다.


참고
https://jh91.tistory.com/entry/CPU%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
https://whitepro.tistory.com/572
https://www.simplilearn.com/what-is-data-article
https://mk28.tistory.com/15
https://hongcoding.tistory.com/139?category=981717
```
profile
"왜" 사용하며, "어떻게" 사용하는지에 대해

0개의 댓글