0. 시작하면서
- 이전 포스팅에서 CPU가 어떻게 동작하는지, 명령어는 어떻게 처리하는지 알아보았다.
- 더불어, 명령어는 어떤 형식으로 구성되어 있고 CPU는 어떤 방식으로 설계되는지 또한 알아보았다.
- 이번 포스팅에서는 CPU가 연산을 수행할 때 필요로 하는 마이크로 연산과 ALU에 대해서 알아보자.
1. 마이크로 연산(micro - operation)
a) 개념
- 레지스터에서 저장된 데이터를 대상으로 수행되는 연산을 말한다.
- 즉, CPU 내부에 존재하는 레지스터의 상태를 변경시키는 동작이다.
- 마이크로 연산은 다음과 같이 분류된다.
▶ 전송
- 레지스터 간의 데이터(이전 정보)를 주고 받는다.
▶ 산술 연산 (사칙연산, 증감, 보수, etc)
- 레지스터에 저장되어있는 데이터를 대상으로 산술 연산을 수행한다.
▶ 논리 연산 (AND, OR, XOR, NOT, etc)
- 레지스터에 저장되어있는 데이터를 대상으로 논리 연산을 수행한다.
▶ 시프트 연산
- 레지스터에 저장되어있는 데이터를 대상으로 시프트 연산을 수행한다.
b) 추가 정보
- 하나의 명령은 한개 이상의 마이크로 연산이 수행되어 동작한다.
- 하나의 마이크로 연산을 수행하는 시간을 마이크로 사이클 타임이라 부른다.
- 마이크로 사이클 타임은 CPU의 속도를 나타내는 척도로 사용된다.
2. ALU(Arithmetic and Logic Unit)
a) 개념
- ALU는 산술논리장치 이다. 즉, 산술 연산과 논리연산을 수행하는 기능을 가진 장치다.
- 주로 정수(음수, 0, 양수) 연산을 수행하지만, 최근에는 실수연산과 부동소수 연산까지 처리한다.
b) ALU의 구성
- ALU의 연산장치는 일반적으로 다음과 같이 구성된다.
▶ 가산기
- 2개 이상의 입력된 수의 합을 계산하는 논리회로
▶ 보수기
- 보수를 처리하는 논리회로
▶ 누산기
- 산술 및 논리 연산의 결과를 일시적으로 계산하는 레지스터
- 계산 과정에서 발생하는 중간 값을 보관하는 레지스터
▶ 플리플롭
- 한개의 비트를 저장하는 기억회로
▶ 데이터 레지스터
- 명령어를 수행할 때 필요한 데이터를 저장하는 레지스터
- 데이터 레지스터는 워드(word)의 크기와 동일하다.
- 워드(word)란, 한번에 가져올 수 있는 명령어의 크기를 말한다.
c) ALU의 연산과정
- 아래의 그림을 통해 이해해보자.
1. 레지스터 또는 기억장치에서 데이터를 가져온다.
2. ALU에서 명령어에 따른 연산을 수행한다.
3. 연산의 결과값을 누적기(Accumulator)에 저장한다.
'컴퓨터공학기초 개념 > 컴퓨터구조' 카테고리의 다른 글
19. CPU 내부구조 - 입출력과 인터럽트 (0) | 2021.08.12 |
---|---|
18. CPU 내부구조 - 명령어와 주소지정방식 (0) | 2021.08.12 |
16. CPU 내부구조 - CPU 설계방식 (0) | 2021.08.11 |
15. CPU 내부구조 - 명령어의 구조 (0) | 2021.08.10 |
--- 여기까지! 컴퓨터 구조, 번쩍! 복습하기! --- (0) | 2021.08.10 |
댓글