명령어 사이클과 인터럽트

hongxeob·2022년 12월 21일
0

컴퓨터 구조

목록 보기
5/14
post-thumbnail

명령어 사이클

  • 프로그램 속 명령어들은 일정한 주기가 반복되며 실행 이 주기를 명령어 사이클이라 한다

인터럽트

  • 작은 방해를 받아 갑자기 중간되는 현상을 말함
  • CPU가 얼른 처리해야 할 다른 작업이 생겼을 때 발생!
    - 동기 인터럽트 (예외) : CPU에 의해 발생하는 인터럽트. CPU가 예기치 못한 상황을 접했을 때 발생
    - 비동기 인터럽트(하드웨어 인터럽트) : 주로 입출력장치에 의해 발생 (알림과 같은 역할)
    -> 입출력 작업 도중에도 효율적으로 명령어를 처리하기 위해 사용

하드웨어 인터럽트의 처리 순서(but 종류를 막론하고 처리 순서는 대동소이하다)


1. 인터럽트 요청 신호 :인터럽트는 CPU의 정상적인 실행흐름을 끊는 것이기에, 인트럽트 하기 전에 "지금 끼어들어도 되나요?" 라고 묻는것
2. 인터럽트 플래그 : 말 그대로 하드웨어 인터럽트를 받아 들일지, 무시할지 결정하는 플래그. -> CPUR가 중요한 작업을 처리하고 있거나 하면 인터럽트 플러그는 불가능으로 설정 된다.
3. 인터럽트 서비스 루틴 : 인터럽트를 받아들이기로 했다면, 실행 된다. -> 인터럽트가 실행 되었을 때 인터럽트를 어떻게 처리 하기 위한 프로그램 ex)"키보드가 인터럽트 요청을 보내면 이렇게 해야한다";
'CPU가 인터럽트를 처리한다' -> 인터럽스 서비스 루틴을 실행(원래 하던 것을 멈추고)하고 본래 수행하던 곳으로 다시 되돌아온다
4. 인터럽트 벡터 : 각각의 인터럽트를 구분하기 위한 정보

음.. 한마디로..

profile
걍 하자 저스트 뚜잇

0개의 댓글