마이크로 연산과 ALU (Arithmetic Logic Unit)
* 마이크로 연산
* 마이크로 연산과 ALU
마이크로 연산
* 마이크로연산
- 마이크로 연산은 레지스터에 저장된 데이터에 대해 수행되는 기본적인 연산으로 컴퓨터에서 흔히 사용되는 마이크로 연산은 다음과 같이 네 가지로 분류된다
1. 레지스터 사이에서 이진 정보를 전송하는 레지스터 전송 마이크로 연산
2. 레지스터에 저장된 수치 데이터에 대해 산술 연산을 수행하는 산술 마이크로 연산
3. 레지스터에 저장된 비수치 데이터에 대해 비트 조작 연산을 수행하는 논리 마이크로 연산
4. 레지스터에 저장된 데이터에 대해 시프트 연산을 수행하는 시프트 마이크로 연산
마이크로 연산과 ALU
* 산술 논리 연산 장치 (Arithemetic Logic Unit, ALU) : 산술 연산과 논리 연산
- 주로 정수 연산을 처리
- 부동 소수 (Floating-point Number) 연산 : FPU (Floating-Point Unit)
- 최근에는 ALU가 부동 소수 연산까지 처리
* 산술 연산 : 덧셈, 뺄셈, 곱셈, 나눗셈, 증가, 감소, 보수
연산 | 동작 | 기능 |
ADD | X ← A + B | A와 B를 더한다 |
SUB | X ← A + (~B + 1) | A에 B의 2's보수를 더한다 (A-B) |
MUL | X ← A X B | A와 B를 곱한다 |
DIV | X ← A / B | A와 B를 나눈다 |
INC | X ← A + 1 | A를 1 증가 시킨다 |
DEC | X ← A - 1 | A를 1 감소시킨다 |
NEG | X ← ~A + 1 | A의 2's 보수 |
* 논리 연산 : AND, OR, NOT, XOR, 시프트(shift)
연산 | 동작 | 기능 |
AND | X ← A & B | A와 B를 비트단위로 AND 연산한다 |
OR | X ← A | B | A에 B를 비트단위로 OR 연산한다 |
NOT | X ← ~A | A의 1's 보수 처리 혹은 A의 부정 처리 |
XOR | X ← A ^ B | A와 B의 비트 단위 XOR 연산 처리 |
ASL | X ← A << n | 왼쪽으로 n비트 시프트 |
ASR | X ← A >> n, A[7] ← A[7] | 오른쪽으로 n비트 시프트 (부호 유지) |
LSL | X ← A << n | 왼쪽으로 n비트 시프트 |
LSR | X ← A >> n | 오른쪽으로 n비트 시프트 |
ROL | X ← A << 1, A[0[← A[7] | 왼쪽으로 1비트 회던 시프트, MSB는 LSB로 시프트 |
ROR | X ← A >> 1, A[7[← A[0] | 오른쪽으로 1비트 회던 시프트, LSB는 MSB로 시프트 |
* 논리 연산 예
* 시프트 연산 예
출처 : 제로베이스
'공부 Note > 컴퓨터 구조' 카테고리의 다른 글
Chapter 03 중앙처리장치 (5) (0) | 2022.02.24 |
---|---|
Chapter 03 중앙처리장치 (4) (0) | 2022.02.24 |
Chapter 03 중앙처리장치 (2) (0) | 2022.02.24 |
Chapter 03 중앙처리장치 (1) (0) | 2022.02.24 |
Chapter 02 데이터의 종류 (4) (0) | 2022.01.24 |