[PART5] 운영체제/시스템/보안 - TERMS 03
[ TERMS 03 ] CPU
1. CPU(Central Processing Unit)의 정의
CPU는 컴퓨터의 두뇌이자 컴퓨터 프로그램 실행에 핵심적인 역할을 하는 장치다.
2. CPU는 어떻게 접하게 될까?
컴퓨터 구매과정에서 부품 항목 최상단에 'CPU'라는 항목이 있다. CPU는 컴퓨터의 전반적인 성능을 좌우하는 가장 중요한 부품이다.
3. CPU 알아보기
> CPU의 구성요소
- ALU(Arithmetic Logic Unit)
ALU는 CPU 내부에서 실제 연산을 담당하는 장치이다. 그 밖에 나머지 장치들은 연살할 때 도움을 준다.
ALU가 처리하는 연산은 2가지 이다. 덧셈이나 뺄셈 같은 산술 연산과 AND나 OR 같은 논리 연산이다. 아주 복잡한 프로그램이라도 CPU 입장에서는 이 두 가지 형태의 연산으로 이루어진다.
- 컨트롤 유닛(Control Unit)
컨트롤 유닛은 CPU 내부의 총사령관 역할을 수행한다. 컴퓨터는 모든 것을 0과 1로 처리한다. 명령어도 '10011010 00011010 10011110 10010011'과 같은 형태이다. ALU는 산술 연산과 논리 연산만 가능하기에 위 명령어를 ALU에게 전송하기 전 명령을 해석할 장치가 필요하고 이 역할을 컨트롤 유닛이 담당한다. 즉 컨트롤 유닛은 명령어를 해석하고 ALU에게 적절한 신호로 보내는 역할을 수행한다.
- 레지스터(Register Set)
레지스터는 CPU 내부에 존재하는 데이터 저장을 위한 장치이다. 크기는 CPU에 따라 16,32,64 비트 정도로 메모리나 하드에 비해 작다. CPU 내부에 여러개가 존재하며, 컨트롤 유닛이나 ALU가 필요로 하는 명령어 및 데이터를 임시로 저장하는 역할을 수행한다.
- 버스 인터페이스(BUS Interface)
CPU, 하드디스크, RAM, 사운드 카드, 그래픽 카드등 여러 장치들이 서로 데이터를 주고받기 위해 필요한 매개체가 I/O 버스이다. 버스의 노선을 알지못하면 이용하기 어려운 것처럼 통신 방식을 이해하지 못하면 데이터를 보낼 수도, 받을 수도 없다. CPU내에 I/O 버스의 통신 방식을 이해하기 위한 장치가 버스 인터페이스이다. CPU는 버스 인터페이스를 통해 연산 결과를 I/O 버스에 실어 보내거나 I/O 버스를 통해서 전송된 데이터를 수신한다.
> 클럭과 코어
- 클럭신호(Clock Pulse)
클럭 신호는 CPU를 구성하는 요소는 아니다. 그러나 CPU 구성요소에 타이밍을 제공하는 신호로서 매우 중요한 의미를 지닌다.
CPU의 성능을 말할 때 클럭 신호를 함께 표시한다. 예를 들어 CPU 클럭 속도가 1.6Mhz라면 1초당 1,600,000번의 클럭이 발생한다는 의미이다. CPU는 클럭이 발생할 때마다 그 클럭에 맞춰서 연산을 한다. 따라서 CPU 클럭 속도가 높을수록 초당 처리하는 명령어의 개수가 많아져 컴퓨터의 전체 성능이 좋아진다.
- 코어(Core)
코어란 CPU에 내장된 처리회로의 핵심 부분으로, 예전에는 CPU당 1개의 코어(단일코어, Single Core)만 가지고 있었다. 그러나 최근에는 4개의 코어를 갖춘 쿼드 코어(Quard Core) CPU, 6개의 코어를 갖춘 헥사 코어(Hexa Core) CPU, 8개의 코어를 갖춘 옥타 코어(Octa Core) CPU도 대중화되었따. 다중 코어 CPU는 내장된 코어 수와 같은 수의 단일 코어 CPU를 설치한 것과 유사한 성능을 낸다. 따라서 전반적인 처리 효율을 높일 수 있다.
4. CPU를 사용하는 이유
CPU는 컴퓨터의 필수 구성요소이다. 구체적으로는 명령을 받아들이고, 저장하고, 해석하고, 처리하여 내보내는 전반적인 작업을 담당한다. 최근에는 하나의 칩에 CPU, GPU(그래픽 처리 장치), 각종 장치용 제어기 등이 함께 들어가는 경우가 많아 CPU의 개념이 '부품'이 아니라 하나의 '기능'으로 바뀌고 있다.
5. CPU 더 알아보기
> 함께 알아두면 좋은 용어
- RAM
- 컴파일러
- 인터프리터