컴퓨터 구조 06 : CPU 구성요소/동작, 레지스터 종류, 명령어 사이클

728x90

CPU 구성요소/동작, 레지스터 종류, 명령어 사이클

 

 

CPU 구성요소

컴퓨터에서 데이터 처리동작을 수행하는 부분을 중앙 처리 장치(CPU : Central Processing Unit)라고 부름.

마이크로 프로세서라는 하나의 칩에 모아서 만들어진다.

레지스터 세트, 산술 논리장치(ALU), 제어유닛, 내부 CPU버스로 구성됨.

구성요소들을 잇는 화살표가 버스

 

ALU : 각종 산술, 논리 연산 수행하는 회로들로 이루어진 하드웨어 모듈.

(산술 연산 : 사칙 연산, 논리 연산 : AND, OR, NOT, XOR등)

레지스터 세트 : CPU 내부 레지스터 집합. 가장 빠른 기억장치.

제어 유닛 : 프로그램 명령어 해석하고 실행하기 위한 제어 신호들을 순차적으로 발생하는 하드웨어 모듈.

내부 CPU 버스 : ALU와 레지스터들 간의 데이터 이동을 위한 데이터 선들과 제어 유닛으로부터 발생되는 제어 신호 선들로 구성됨.

 

CPU 동작 과정

1 : 주기억장치가 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어온다.

2 : 중앙처리장치는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고, 결과를 다시 주기억장치에 저장한다.

3 : 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 내보낸다.

4 : 제어장치는 1~3 과정에서 명령어가 순서대로 실행될 수 있도록 각 장치를 제어한다.

 

 


명령어 사이클

한 번에 하나의 명령어를 다룬다.

Main merory : 주기억 장치

 

*레지스터 종류

메모리 주소 레지스터(MAR) : 읽기, 쓰기 연산 수행할 주기억장치의 주소를 저장.

프로그램 카운터(PC) : 다음에 수행할 명령어 주소를 저장.

명령어 레지스터(IR) : 현재 실행 중인 명령어를 저장.

메모리 버퍼 레지스터(MBR) : 주기억 장치에서 읽어온 데이터나 주기억 장치에 저장할 데이터를 임시로 저장.

누산기(AC) : 연산결과를 임시로 저장.

 

 

1 : 인출 사이클

1 : PC에 저장된 주소를 MAR로 전달.

2 : MAR에 저장된 내용을 토대로 주기억 장치의 해당 주소에서 명령어를 인출.

3 : 인출한 명령어를 MBR에 저장.

4 : 다음 명령어 인출을 위해 PC값 증가시킴.

5 : MBR에 저장된 내용을 IR에 전달

 

T0 : MAR <- PC

T1 : MBR <- MAR, PC <- PC + 1

T2 : IR <- MBR

 

 

2 : 실행 사이클

CPU가 데이터의 이동, 처리, 저장, 프로그램 제어와 같은 역할을 수행.

실행 사이클에서 수행되는 마이크로 연산들은 명령어의 연산(OP CODE)에 따라 결정됨.

 

명령어 형식의 구성(연산코드 + 오퍼랜드)

ex) LOAD addr, STORE addr, ADD addr 등

연산코드(Operation Code) : CPU가 수행할 연산을 지정.

오퍼랜드(Operand) : 명령어 실행에 필요한 데이터가 저장된 주소(addr)

 

ADD addr 명령어 연산의 경우

기억장치에 저장된 데이터를 AC 내용과 더하고 결과를 AC에 다시 저장함.

(인출 사이클에서 이어짐)

T0 : MAR <- IR(addr)

T1 : MBR <- MAR

T2 : AC <- AC + MBR

728x90