CPU 구성요소/동작, 레지스터 종류, 명령어 사이클
CPU 구성요소
컴퓨터에서 데이터 처리동작을 수행하는 부분을 중앙 처리 장치(CPU : Central Processing Unit)라고 부름.
마이크로 프로세서라는 하나의 칩에 모아서 만들어진다.
레지스터 세트, 산술 논리장치(ALU), 제어유닛, 내부 CPU버스로 구성됨.
ALU : 각종 산술, 논리 연산 수행하는 회로들로 이루어진 하드웨어 모듈.
(산술 연산 : 사칙 연산, 논리 연산 : AND, OR, NOT, XOR등)
레지스터 세트 : CPU 내부 레지스터 집합. 가장 빠른 기억장치.
제어 유닛 : 프로그램 명령어 해석하고 실행하기 위한 제어 신호들을 순차적으로 발생하는 하드웨어 모듈.
내부 CPU 버스 : ALU와 레지스터들 간의 데이터 이동을 위한 데이터 선들과 제어 유닛으로부터 발생되는 제어 신호 선들로 구성됨.
CPU 동작 과정
1 : 주기억장치가 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어온다.
2 : 중앙처리장치는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고, 결과를 다시 주기억장치에 저장한다.
3 : 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 내보낸다.
4 : 제어장치는 1~3 과정에서 명령어가 순서대로 실행될 수 있도록 각 장치를 제어한다.
명령어 사이클
한 번에 하나의 명령어를 다룬다.
*레지스터 종류
메모리 주소 레지스터(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
'CS 공부 > 컴퓨터 구조' 카테고리의 다른 글
컴퓨터 구조 08 : 명령어 집합, 주소 지정 모드 (0) | 2022.01.22 |
---|---|
컴퓨터 구조 07 : CPU 디자인, 마이크로 연산과 ALU (0) | 2022.01.21 |
컴퓨터 구조 05 : 조합 논리 회로, 순서 논리 회로 (0) | 2022.01.20 |
컴퓨터 구조 04 : 부울대수, 카르노 맵 (0) | 2022.01.20 |
컴퓨터 구조 03 : 실수표현법, 논리게이트 (0) | 2022.01.19 |