처리장치, 처리장치의 구성요소
처리장치
중앙처리장치(CPU: Central Processing Unit)
각종 데이터 처리, 연산을 수행하는 처리장치와 연산을 제어하는 제어장치가 결합된 형태이다.
처리장치는 데이터를 처리하는 연산을 실행하며, 제어장치는 연산의 실행순서를 결정한다.
구성
산술논리연산장치(ALU)
산술, 논리, 비트 연산등의 연산을 수행한다
ALU는 독립적으로 데이터를 처리하지 못하며, 반드시 레지스터들과 조합하여 데이터를 처리한다.
레지스터(Register)
연산에 사용되는 데이터나 연산의 결과를 저장한다
마이크로 연산
레지스터에 저장되어 있는 데이터에 대해 이루어지는 기본적인 연산이다.
한 레지스터의 내용을 다른 레지스터로 옮기거나, 두 레지스터의 내용을 합하고, 레지스터의 내용을 1만큼 증가시키는 것 등 처리장치의 동작원리를 이해하기 위해서는 마이크로 연산에 대한 이해가 수반되어야 한다.
레지스터 전송 마이크로 연산, 산술 마이크로 연산, 논리 마이크로 연산, 시프트 마이크로 연산 등이 존재한다.
레지스터 전송 마이크로 연산
한 레지스터에서 다른 레지스터로 2진 데이터를 전송하는 연산이다.
레지스터 사이의 데이터 전송은 연산자 ‘<-‘ 로 표시한다.
1
R2 <- R1
다음과 같은 표시는 레지스터 R1의 내용이 레지스터 R2로 전송된다는 뜻이며, 여기서 R1은 출발 레지스터, R2는 도착 레지스터라 부른다.
산술 마이크로 연산
레지스터 내의 데이터에 대해서 실행되는 산술 연산이다.
기본적인 산술연산으로는 덧셈, 뺄셈, 1 증가, 1 감소, 보수 연산이 존재한다.
기호 표시 | 의미 |
R0 <- R1 + R2 | R1과 R2의 합을 R0에 저장 |
R1 <- R1 + 1 | R1에 1을 더함 (상승 카운트) |
R1 <- R1 - 1 | R1에 1을 뺌 (하강 카운트) |
논리 마이크로 연산
레지스터 내의 데이터에 대한 비트를 조작하는 연산이며, 기본적인 논리연산으로는 AND, OR, XOR, NOT 연산이 존재한다.
기호 표시 | 의미 |
R0 <- R1 ∧ R2 | AND |
R0 <- R1 ∨ R2 | OR |
R0 <- R1 ⊕ R2 | XOR |
시프트 마이크로 연산
레지스터 내의 데이터를 시프트 시키는 연산이며, 데이터의 측면이동에 사용된다.
시프트 연산을 수행하더라도 출발 레지스터의 값은 변하지 않으며 출력비트의 값은 버려진다.
유형 | 기호 표시 | 출발지 R2 | 목적지 R1 |
왼쪽 시프트 | R1 <- sl R2 | 1 0 0 1 1 1 1 0 | 0 0 1 1 1 1 0 0 |
오른쪽 시프트 | R1 <- sr R2 | 1 1 1 0 0 1 0 1 | 0 1 1 1 0 0 1 0 |
참고
- 방송통신대학교, 컴퓨터 구조 4강(김형근), 처리장치(I)