본문 바로가기
컴퓨터 지식창고

CPU 구성에 대하여 알아보자.

by 재미보장 2021. 12. 11.

CPU는 컴퓨터 시스템의 주요 구조로서 컴퓨터의 두되에 해당하는 부분이다. CPU의 구성과 종류에 대하여 자세히 알아보겠다.

CPU에 대한 기본 개요

폰노이만 구조 컴퓨터 시스템을 이루는 3대 구성이 있다면 CPU, 메모리 그리고 디스크이다. 여기에 I/O까지 추가 된다면 그것을 컴퓨터를 이루는 기본 골격이라고 할 수 있다. 주요 특징은 명령어/데이터 로드/실행/저장을 순차적으로 수행하는 것과 데이터/프로그램 메모리를 하나의 버스로 접근하는 구조이다. 폰 노이만 구조는 중앙 처리 장치라는 것이 있고 이 중앙 처리 장치를 통해서 연산을 수행하게 되는 구조이다. 이 CPU(중앙처리 장치)는 각종 연산을 수행하고 기억장치에 기억되어 있는 명령어들을 수행하는 컴퓨터 시스템을 이루는 핵심 부품이다. 

 

CPU의 속도 헤르쯔와 Clock CPU는 수를 계산하는 칩으로 이해하면 되는데, 그 원리는 덧셈기와 같다. 대개 컴퓨터의 성능을 CPU의 속도와 메모리의 용량으로 표현할 수 있는데, CPU의 속도의 단위가 헤르쯔(Hz)이다. Hz라고 하면 통신 분야에서 사용되는 주파수와 같은 의미인데, 주파수라는 것이 1초에 몇 번이나 진동하는 가라는 의미이다.

 

1 헤르츠는 1초에 한번 왕복 운동이 반복된다는 의미이다. 예를 들어 100 Hz는 어떠한 현상이 1초에 100번을 반복 혹은 진동됐다는 의미이다. CPU 일정한 속도로 동작하기 위해서는 일정한 간격으로 전기적 펄스를 공급하는데, 이 전기적 신호가 초당 CPU에 공급되는 횟수라는 개념에서 Hz라는 단위를 쓴다. 이 시스템내의 CPU에 전기적으로 공급되는 신호를 Clock이라고 하는데, 이것은 주기적으로 일정한 시그널을 보내주는 칩이다.

 

Clock에서는 일정 볼트로 주기적으로 신호를 발생한다. 그러면 CPU는 이 신호를 받고 데이터를 주거나 받고 처리하게 된다. 이 신호 한번에 의해서 CPU에서 한 개의 명령이 처리된다. 이 반복적인 신호가 들어올 때마다 명령어를 수행하기 때문에 빠르게 들어온다는 것은 결국 빠른 속도의 처리 능력을 갖는 시스템을 의미하는 것이다. CPU의 속도를 Hz로 나타내고 이 Hz가 높으면 속도가 빠른 성능의 CPU가 되는 것이다.

CPU의 구성

CPU의 구성도 CPU의 내부 구성은 크게 산술/논리 연산 장치(ALU), 제어 장치와 레지스터로 구성되어 있다. 산술은 덧셈을 수행하는 것이고, 제어 장치는 시그럴을 통해서 데이터 흐름을 통제하는 것이며 레지스터는 CPU내부의 메모리이다.

CPU의 내부 구성과 처리과정

산술 논리 연산장치 산술논리연산장치(ALU: Arithmetic Logic Unit)는 산술적인 연산과 논리적인 연산을 담당하는 장치로 가산기, 보수기, 누산기, 기억 레지스터, 데이터 레지스터 등으로 구성된다. 캐시나 메모리로부터 읽어 온 데이터는 레지스터(Register)라는 CPU 전용의 기억장소에 저장되며, ALU는 레지스터에 저장된 데이터를 이용하여 덧셈, 곰셈 등과 같은 산술 연산을 수행한다. 부동소숫연산장치(FPU)와 정수연산장치, 논리연산(AND, OR 등)장치 등이 있다.

 

CPU의 내부구성 요소 중 제어 장치 제어장치는 CPU가 자신 및 주변기기들을 컨트롤하는 장치로, 프로그램의 수행 순서를 제어하는 프로그램 계수기(program counter), 현재 수행중인 명령어의 내용을 임시 기억하는 명령 레지스터(instruction register), 명령 레지스터에 수록된 명령을 해독하여 수행될 장치에 제어신호를 보내는 명령해독기(instruction decoder)로 이루어져 있다.

제어 장치 구현방식

제어 장치 구현의 방식은  Hardwired 방식과 Micro Program 방식이 있다. Hardwired(고정 배선 제어) : 제어신호가 Hardwired Circuit에 의해서 생성 되도록 하드웨어 구성, 상태계수기와 PLA(Programmable Logic Array ) 회로로 구성, 고속 처리, 고가, RISC 시스템에 적용 Micro Program : 발생 가능한 제어 신호들의 조합을 미리 구성하여 ROM에 저장하였다가 필요 시 신호를 발생시키는 Software 방식, 하드웨어 방식에 비해 속도 낮고 가격 저렴, CISC에 적용

CPU의 내부 구성 레지스터 레지스터(Register)는 중앙처리장치(CPU) 내부에 있는 기억장치이다. 주로 산술 연산 논리장치에 의해 사용되는 범용 레지스터(General-Purpose Register)와 PC 등 특수 목적에 사용되는 전용 레지스터(Dedicated-Purpose Register)로 구분할 수 있다. 아래는 16bit Machine의 레지스터 구조이다.

레지스터 종류

레지스터의 종류는 IR(Instruction Register), PC(Program Counter), AC(Accumulator)가 있다. 각각 CPU의 내의 메모리로 다음과 같이 사용된다.

 

레지스터의 종류 IR (Instruction Register): 현재 수행 중에 있는 명령어 부호를 저장하고 있는 레지스터 PC (Program Counter): 명령이 저장된 메모리의 주소를 가리키는 레지스터 AC (Accumulator): 산술 및 논리 연산의 결과를 임시로 기억하는 레지스터 명령어 구조 명령어는 시스템이 특정 동작을 수행시키는 작은 단위이다. 명령어는 코드로 되어 있는데, 아래와 같이 동작코드(Op-code : Operational Code)와 오퍼랜드(Operand)로 구성되어 있다. 명령어(Instruction) = 동작 코드 + 오퍼랜드 (Operand) 동작 코드 (Op-code) : 각 명령어의 실행 동작을 구분하여 표현 오퍼랜드 (Operand) : 명령어의 실행에 필요한 자료나 실제 자료의 저장 위치

명령어 수행 과정

CPU가 하나의 명령(Operation)을 처리하는 과정은 다음과 같다.

 

(1) 읽기(Fetch Instruction): 메모리에서 명령을 가져온다.
(2) 해석(Decode Instruction): 명령을 해석한다.
(3) 실행(Execute Instruction): 명령을 수행한다.
(4) 기록(Write Back): 수행한 결과를 기록한다.

 

명령어를 수행하기 위해서 명령어를 가져오는데 이를 Fetch라 한다. Fetch 사이클은 아래와 같다.

Program Counter (PC)는 Fetch할 다음의 명령어 주소를 갖고 있다. 프로세스는 PC가 가리키는 주소위치에서 명령어를 가져오면서 PC를 증가시키고 명령문은 Instruction Register(IR)에 Load된다. Load된 명령어는 수행 과정이 진행되는데, 명령어를 수행하는 Execute Cycle Fetch과정에서 가져온 명령어를 실제 ALU(가산기)에서 처리하게 된다.

 

 

댓글