ALU (Arithmetic Logic Unit, 산술 논리 연산 장치)
컴퓨터 공학에서 ALU(Arithmetic Logic Unit)는 컴퓨터의 중앙 처리 장치(CPU)에서 매우 중요한 구성요소이다.
ALU는 산술 연산(덧셈, 뺄셈 등)과 논리 연산(AND, OR, NOT 등)을 수행하는 역할을 한다.
이 포스팅에서는 ALU의 기본적인 개념과 실제 설계 결과와 그에 대한 코드를 제공한다.
ALU의 기본 개념
ALU는 CPU의 핵심 구성 요소 중 하나로, 데이터를 처리하고 연산을 수행하는 기능을 담당한다.
일반적으로 ALU는 다음과 같은 두가지 주요 기능을 수행한다.
- 산술 연산 (Arithmetic) : 정수의 덧셈, 뺄셈, 곱셈, 나눗셈 등
- 논리 연산 (Logic) : AND, OR, NOT, XOR 등의 논리 게이트 연산
ALU의 동작 원리
ALU는 입력된 데이터와 제어 신호에 따라 다양한 연산을 수행한다. 기본적인 동작원리는 다음과 같다.
- 입력 데이터: ALU는 두 개 이상의 입력 데이터를 받는다.
- 제어 신호 : 제어 유닛(Control Unit)은 ALU에 어떤 연산을 수행할지 지시하는 신호를 보낸다. 이 신호는 연산의 종류(덧셈, 뺄셈 등)를 결정한다.
- 연산 수행 : ALU는 입력 데이터와 제어 신호에 따라 연산을 수행한다.
- 출력 데이터 : 연산 결과는 ALU의 출력으로 전달된다.
ALU의 구성 요소
ALU는 보통 다음과 같은 주요 구성 요소들로 이루어져 있다.
- 덧셈기/뺄셈기 (Adder/Subtractor): 기본적인 산술 연산을 수행한다.
- 논리 연산기 (Logical Unit) : AND, OR, NOT 등의 논리 연산을 수행한다.
- 멀티플렉서 (Multiplexer) : 제어 신호에 따라 어떤 연산을 수행할지 선택한다.
ALU_74181 의 설계
기본적인 4 bit ALU 설계와 대표적인 ALU인 74181 제품을 verilog로 설계한 예시는 아래 링크에서 확인할 수 있다.
DataSheet(Function Table) 기반 설계
Combinational Circuit 기반 설계
'Verilog-Basic' 카테고리의 다른 글
9 Bit Parity Generator 설계 (0) | 2024.07.15 |
---|---|
Encoder/Decoder 설계 (0) | 2024.07.13 |
Multiplexer (MUX, 멀티플렉서)/Demultiplexer(Demux) 설계 (0) | 2024.07.10 |
Carry-Lookahead Adder 설계 (0) | 2024.07.09 |
Ripple Carry Adder (리플 캐리 가산기), n bit full adder 설계 (0) | 2024.07.09 |