코딩공부/컴퓨터구조

Chapter04. CPU의 작동 원리

표자 2024. 10. 24. 09:41
728x90
반응형

Chapter04. CPU의 작동 원리

  • ALU는 계산하는 부품으로 레지스터를 통해 피연산자를 받아들이고,
  • 제어장치로부터 수행할 연산을 알려주는 제어신호를 받아들입니다.
  • 오버플로우: 연산 결과가 연산 결과를 담을 레지스터보다 큰 상황
  • 플래그: 연산 결과에 대한 추가적인 상태 정보
  • 제어장치
    • 첫째, 제어장치는 클럭 신호를 받아들입니다 (클럭: 시간단위)
    • 둘째, 제어장치는 ‘해석해야 할 명령어’를 받아들입니다
    • 셋째, 제어장치는 플래그 레지스터 속 플래그 값을 받아들입니다
    • 넷째, 제어장치는 시스템 버스, 그중에서 제어 버스로 전달된 제어 신호를 받아들입니다
    → 제어장치는 클럭신호, 명령어, 플래그, 제어신호를 받아들입니다
    • 제어장치는 CPU 내부와 외부로 제어 신호를 보냅니다
  • 레지스터
    • 프로그램 카운터: 메모리에서 가져올 명령어의 주소(=명령어 포인트)
    • 명령어 레지스터: 해석할 명령어, 이를 받아 들이고 해석한 뒤 제어신호 보냄
    • 메모리 주소 레지스터: 메모리 주소를 저장하는 레지스터
    • 메모리 버퍼 레지스터: 메모리와 주고받을 값을 저장하는 레지스터
    • 범용 레지스터: 일반적인 상황에서 자유롭게 사용
    • 플래그 레지스터: 연산 결과 또는 CPU 상태에 대한 부가적인 정보를 저장
  • 특정 레지스터를 이용한 주소 지정 방식
    • 스택 주소 지정 방식: 스택과 스택 포인터(스택의 최상단의 위치)를 이용한 주소 지정 방식
    • 변위 주소 지정 방식: 오퍼랜드 필드의 값과 특정 레지스터의 값을 더하여 유효 주소를 얻어내는 주소 지정 방식 (상대 주소 지정 방식, 베이스 레지스터 주소 지정 방식)
  • 명령어 사이클: 하나의 명령어를 처리하는 정형화 된 흐름
    • 인출 사이클, 실행 사이클, 간접 사이클
  • 인터럽트: 흐름에 따라 처리하다 간혹 흐름이 끊어지는 상황
    • 동기 인터럽트: CPU에 의해 발생(예외적인 상황, 프로그래밍 오류 등)
    • 비동기 인터럽트: 입출력장치에서 발생(하드웨어 인터럽트)
728x90
반응형