Published on

ALU(arithmetic logic unit)

Authors
  • avatar
    Name
    유사공대생
    Twitter

산술 논리 장치(ALU, arithmetic login unit)

image

산술 논리 장치는 CPU의 핵심 부품이다. ALU는 산술 계산, 불리언 대수 및 기타 연산을 수행하는 방법을 알고 있는 장치다.

피연산자(operand)

피연산자는 수를 표현하는 비트일 뿐이다. 연산코드(operation code), 즉 명령코드(opcode)는 피연산자에 대해 ALU가 어떤 연산자(operator)를 적용할 지 지정한다. 결과(result)는 물론 피연산자에 연산자들을 적용한 결과를 뜻한다.

조건코드(condition code)

image

조건 코드(condition code)는 결과에 대한 추가 정보가 들어간다. 보통 조건 코드 레지스터(condition code register) 라는 레지스터에 조건 코드가 저장된다.

위 그림에서 박스 위에 그려진 숫자는 비트 번호다. 비트 번호를 사용해 각 비트를 편리하게 가리킬 수 있다. 비트중 일부를 사용하지 않는다는 점에 유의해야 한다.(조건 코드 레지스터의 경우에는 이런 일이 자주 일어난다.)

N 비트는 마지막으로 수행한 연산 결과가 음수인 경우 1로 설정된다. Z 비트는 마지막 연산 결과가 0인 경우 1이 된다. O 비트는 마지막 연산에서 오버플로(overflow)나 언더플로(underflow)가 생긴 경우 1이 된다.

ALU의 명령 코드(opcode) 예시

image

ALU의 내부(일부분)

image