명령어 사이클과 인터럽트

EHminShoov2J·2023년 10월 13일
0

Computer Science

목록 보기
9/12
post-thumbnail

명령어 사이클


명령어 사이클 : 프로그램속 명령어들이 일정한 주기를 기준으로 반복되며 실행하는데, 이때 이 주기를 명령어 사이클이라고 한다

  • 인출 사이클 : 메모리로 부터 정보를 CPU로 가져오는 작업
  • 실행 사이클 : 실제로 실행
  • 간접 사이클 : 명령어를 가지고 있어도 바로 실행 못하는 경우 존재. 이를 위한 간접 사이클

인터럽트


: 정해진 흐름을 끊고 다른 작업을 수행시키는 경우. CPU가 급히 처리해야할 다른 작업이 생겼을 때 사용

  • 동기 인터럽트(예외) : CPU가 예기치 못한 상황을 접한 경우
  • 비동기 입터럽트(하드웨어 인터럽트) : 주로 입출력 장치에 의해 발생하며 알림과 같은 역할을 한다.
    입출력 작업 도중에도 효율적으로 명령어를 처리하기 위해서 인터럽트를 사용한다.(입출력 작업이 상대적으로 느리기에, 그 남은 시간동안 다른작업을 하기 위해서)

하드웨어 인터럽트의 처리 순서


  • 인터럽트 요청 신호 : 입출력 장치가 인터럽트를 해도 되는지 물어보는 신호.

  • 인터럽트 플래그 : 일부 인터럽트 플래그로 막을 수 없는 인터럽트도 존재한다.

  • 인터럽트 서비스 루틴 : 인터럽트가 발생했을 때 어떻게 처리하는지에 대한 프로그램

  • 인터럽트 백터 : 각각의 인터럽트를 구분하기 위한 정보. (서로다른 인터럽스 서비스 루틴을 가지고 있고, 저장되어 있는 시작 주소가 다르다)

  • CPU에서 기존에 있던 레지스터들의 정보를 스택 영역에 백업해둔다.

0개의 댓글