CPU는 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 장치이다.

CPU 내부

ALU

  1. ALU가 받아들이는 정보

    <aside> 💡 ALU는 레지스터와 제어장치로 부터 받아들인 피연산자제어 신호로 산술 연산, 논리 연산등 다양한 연산을 수행한다.

    </aside>

  2. ALU가 내보내는 정보

  3. ALU가 내보내는 추가 정보

    1. 플래그

      • 결과값 뿐만아니라 연산 결과에 대한 추가적인 정보를 내보내야 할 때가 있다.
      • 예를들어 “음수”라는 추가 정보를 내보낸다.
      • 연산 결과가 연산 결과를 담을 레지스터보다 크면 ALU는 “결과값이 너무 크다”라는 추가 정보를 내보낸다.

      <aside> 💡 연산 결과에 대한 추가적인 상태 정보를 “플래그”라고 한다.

      </aside>

    2. 플래그의 종류

      1. 부호 플래그 : 음수, 양수
      2. 제로 플래그 : 연산결과가 0인지 아닌지 여부를 나타낸다.
      3. 캐리 플래그 : 연산 결과 올림수나 빌림수가 발생했는지
      4. 오버플로우 플래그 : 오버플로우가 발생했는지를 나타낸다.
      5. 인터럽트 플래그
      6. 슈퍼바이저 플래그

    Untitled

제어 장치

<aside> 💡 CPU 내부의 제어장치는 가장 정교하게 설계된 부품이라고 해도 과언이 아니다.

</aside>

  1. 제어장치는 클럭 신호를 받아들인다.

  2. 제어장치는 “해석해야 할 명령어”를 받아들인다.

  3. 제어장치는 플래그 레지스터 속 플래그 값을 받아들인다.

  4. 제어장치는 시스템 버스의 제어 버스로 전달된 제어 신호를 받아들인다.

제어 장치가 내보내는 정보

  1. CPU 외부에 전달하는 제어 신호
  2. CPU 내부에 전달하는 제어 신호