cpu ALU Arithmetic Logic Unit

agnusdei·2024년 10월 4일
0

Hardware & Software

목록 보기
3/136

연산장치(Arithmetic Logic Unit, ALU)에서 상태 플래그는 연산 결과의 특정 조건이나 상태를 나타내는 비트로, CPU의 제어 유닛과 연산장치 간의 상호작용을 돕습니다. 주요 상태 플래그는 다음과 같습니다:

주요 상태 플래그

  1. 제로 플래그 (ZF, Zero Flag)

    • 설명: 연산 결과가 0일 때 설정.
    • 용도: 결과가 0인지 확인하여 조건부 분기에서 사용.
  2. 캐리 플래그 (CF, Carry Flag)

    • 설명: 덧셈에서 오버플로우가 발생하거나, 뺄셈에서 음수로 변할 때 설정.
    • 용도: 자리 올림을 처리하는 데 사용.
  3. 오버플로우 플래그 (OF, Overflow Flag)

    • 설명: 부호가 있는 숫자의 덧셈에서 결과가 표현할 수 있는 범위를 초과할 때 설정.
    • 용도: 부호 있는 정수의 연산에서 오버플로우를 감지.
  4. 부호 플래그 (SF, Sign Flag)

    • 설명: 연산 결과의 최상위 비트가 1일 때 설정, 결과가 음수임을 나타냄.
    • 용도: 결과의 부호를 확인하고 조건부 분기에서 사용.
  5. 패리티 플래그 (PF, Parity Flag)

    • 설명: 연산 결과의 1의 개수가 짝수일 경우 설정.
    • 용도: 데이터 전송의 오류 검출 등에 사용.

홀수와 패리티 플래그

  • 홀수일 경우: 연산 결과의 1의 개수가 홀수인 경우 패리티 플래그가 설정되지 않습니다(0 상태).
  • 조건부 분기: 홀수일 때 특정 작업을 수행하도록 코드를 작성할 수 있습니다. 예를 들어:
    if (number % 2 !== 0) {
        // 홀수일 때 실행할 코드
    }

원리

  • 연산이 수행되면, 결과에 따라 상태 플래그가 설정됩니다.
  • 조건부 명령어가 실행될 때 이러한 플래그를 참조하여 실행 경로를 결정합니다.

0개의 댓글