ALU가 무엇일까?

박승우·2024년 7월 29일
0

자 일흔 번째 키워드인 'ALU'을 알아 보았다.

저번 키워드가 PC이었으므로 연관되는 키워드이기 때문에 알아 보았다.

ALU가 과연 무엇일까?

산술 논리 장치(Arithmetic Logic Unit, ALU)는 중앙 처리 장치(CPU) 내에서 핵심적인 구성 요소로, 다양한 산술 연산과 논리 연산을 수행한다. ALU는 컴퓨터의 데이터 처리 능력을 담당하며, 프로그램 실행 중 발생하는 대부분의 계산 작업을 처리한다.

ALU의 역할

  1. 산술 연산
    덧셈, 뺄셈, 곱셈, 나눗셈 등의 기본적인 산술 연산을 수행한다.
    정수 및 부동 소수점 연산을 처리할 수 있다.

  2. 논리 연산
    AND, OR, NOT, XOR 등의 논리 연산을 수행한다.
    비트 단위의 연산을 처리하여 데이터를 조작한다.

  3. 비교 연산
    두 값을 비교하여 같음, 크거나 작음 등을 판단한다.
    비교 결과는 조건부 분기 명령어에서 사용된다.

  4. 비트 시프트 연산
    데이터를 왼쪽이나 오른쪽으로 이동시키는 시프트 연산을 수행한다.
    산술 시프트와 논리 시프트를 지원한다.

ALU의 구성 요소

  1. 연산기
    덧셈기, 뺄셈기 등 다양한 연산을 수행하는 하드웨어 구성 요소이다.

  2. 논리 장치
    AND 게이트, OR 게이트, XOR 게이트 등 논리 연산을 수행하는 구성 요소이다.

  3. 멀티플렉서(MUX)
    입력 신호 중 어떤 것을 선택할지 결정하는 장치로, 다양한 연산 결과 중에서 선택할 수 있게 한다.

  4. 상태 플래그
    연산 결과에 따라 설정되는 플래그로, 오버플로우, 캐리, 제로, 부호 플래그 등이 있다.
    조건부 명령어 실행에 사용된다.

ALU의 작동 과정

  1. 입력
    두 개의 입력 피연산자(operand)를 받는다. 이들은 CPU의 레지스터나 메모리에서 제공된다.

  2. 연산 선택
    제어 유닛(Control Unit)은 수행할 연산을 결정하고, ALU에 해당 연산을 지시한다.

  3. 연산 수행
    ALU는 선택된 연산을 수행하여 결과를 계산한다.

  4. 출력
    계산된 결과는 출력 레지스터에 저장되고, 필요에 따라 메모리나 다른 레지스터로 전송된다.
    상태 플래그는 연산 결과에 따라 설정된다.

중요성

  • 연산 처리: ALU는 CPU가 프로그램 실행 중 발생하는 모든 연산 작업을 처리한다.
  • 속도 향상: 빠르고 효율적인 연산 처리를 통해 전체 시스템 성능을 향상시킨다.
  • 다양한 연산 지원: 산술, 논리, 비교, 시프트 등 다양한 연산을 지원하여 범용성을 제공한다.

예시

산술 연산

입력: A = 5, B = 3
연산: A + B
결과: 8

논리 연산

입력: A = 1010 (이진수), B = 1100 (이진수)
연산: A AND B
결과: 1000 (이진수)

비교 연산

입력: A = 7, B = 10
연산: A < B
결과: 참 (True)

profile
게임을 좋아하는 사람 입니다!

0개의 댓글