안녕하세요 좋은 강의 잘 보고 있습니다! 궁금한 점이 생겨서 댓글 남깁니다. 인터럽트 요청을 받을 수 있는 상태인지 아닌지는 플래그 레지스터에서 인터럽트 플래그를 통해서 확인이 가능하다고 했는데 그러면 인터럽트 신호가 들어왔는지 안 들어왔는지는 cpu에서 어떤 경로를 통해서 확인을 하는 것인지 궁금합니다!
영상에도 나와있지만, 인터럽트는 CPU에서 실행중인 현재 명령어의 수행을 중단하고, 인터럽트 서비스 루틴(Interrupt Service Routine, ISR)으로 분기하는 기능입니다. CPU는 인터럽트가 발생했는지 주기적으로 확인하며, 이를 "인터럽트 요청 확인"이라고 합니다. 인터럽트 신호는 인터럽트 컨트롤러(Interrupt Controller)에서 발생합니다. 인터럽트 컨트롤러는 외부 장치에서 발생한 인터럽트를 CPU에게 전달하는 중재 장치입니다. 인터럽트 컨트롤러는 인터럽트가 발생하면, 해당 인터럽트를 처리할 우선순위를 판단하고, 우선순위가 가장 높은 인터럽트를 CPU에게 전달합니다. CPU는 인터럽트 컨트롤러로부터 인터럽트 요청이 있는지 확인하기 위해, 인터럽트 마스크 레지스터(Interrupt Mask Register)와 같은 레지스터를 통해 인터럽트를 활성화하거나 비활성화할 수 있습니다. 또한, CPU는 인터럽트 벡터(Interrupt Vector)라는 특정 주소를 저장하고 있는 테이블을 참조하여, 인터럽트가 발생했을 때 실행될 ISR의 시작 주소를 알아냅니다. 인터럽트가 발생하면, CPU는 해당 ISR의 시작 주소로 분기하여 인터럽트를 처리합니다. 따라서, CPU는 인터럽트 요청 확인을 위해 인터럽트 컨트롤러와 인터럽트 벡터 테이블을 참조합니다.
00:00 인트로
01:18 명령어 사이클
03:46 인터럽트
08:10 비동기 인터럽트(하드웨어 인터럽트)
09:23 하드웨어 인터럽트의 처리 순서
머리아팠던 컴퓨터 수업이 이렇게 재미있을 줄이야. 명강의십니다😊최고!
책만 보고 혼자 공부 하고 있었는데, 영상 보니까 이해가 더 잘되네요. 감사합니다~
항상 잘 보고 있습니다 감사합니다~
책이 좋아서 샀는데, 강의도 좋네요! 쉽게 가르쳐 주셔서 감사합니다 ㅎㅎ 꼭 완강할테니 좋은 강의 꾸준히 부탁드립니다 ㅎㅎ감사합니당👍
이번강의 설명이 너무 좋았어요. 덕분에 쉽고 잼있게 공부 하고 있습니다. 항상 감사드리고 운영체제 강의도 기대할게요!! 교재 구매 완료 ㅎㅎ
오늘도 영상 잘봤습니다. 몇 가지 궁금한 점이 있어서 남깁니다.
만약에 2개 인터럽트가 동시에 왔다면, CPU는 해당 인터럽트들 처리를 어떻게 진행하나요? 그리고 인텔, AMD 관계없이 메모리에 저장된 인터럽트 서비스 루틴의 종류와 위치가 동일한가요?
질문이 있습니다! 마우스 입력도 인터럽트로 처리되는거라면, 오버워치나 스타크래프트같이 끝없이 마우스가 움직이는 프로그램들의 경우 실행되는 내내 인터럽트가 발생할텐데, 그 경우에도 백업 사에클이 열심히 반복되나요? 언뜻 생각하기엔 비효율적인것 같아서 궁금합니다.
안녕하세요 좋은 강의 잘 보고 있습니다! 궁금한 점이 생겨서 댓글 남깁니다. 인터럽트 요청을 받을 수 있는 상태인지 아닌지는 플래그 레지스터에서 인터럽트 플래그를 통해서 확인이 가능하다고 했는데 그러면 인터럽트 신호가 들어왔는지 안 들어왔는지는 cpu에서 어떤 경로를 통해서 확인을 하는 것인지 궁금합니다!
앗, 질문을 조금 늦게 확인했군요.
CPU에 인터럽트를 받아들이는 핀이 있습니다.
이는 책에도 명시되어 있는 내용이니, 참고해보시면 좋을 것 같습니다 :)
영상에도 나와있지만,
인터럽트는 CPU에서 실행중인 현재 명령어의 수행을 중단하고, 인터럽트 서비스 루틴(Interrupt Service Routine, ISR)으로 분기하는 기능입니다. CPU는 인터럽트가 발생했는지 주기적으로 확인하며, 이를 "인터럽트 요청 확인"이라고 합니다.
인터럽트 신호는 인터럽트 컨트롤러(Interrupt Controller)에서 발생합니다. 인터럽트 컨트롤러는 외부 장치에서 발생한 인터럽트를 CPU에게 전달하는 중재 장치입니다. 인터럽트 컨트롤러는 인터럽트가 발생하면, 해당 인터럽트를 처리할 우선순위를 판단하고, 우선순위가 가장 높은 인터럽트를 CPU에게 전달합니다.
CPU는 인터럽트 컨트롤러로부터 인터럽트 요청이 있는지 확인하기 위해, 인터럽트 마스크 레지스터(Interrupt Mask Register)와 같은 레지스터를 통해 인터럽트를 활성화하거나 비활성화할 수 있습니다. 또한, CPU는 인터럽트 벡터(Interrupt Vector)라는 특정 주소를 저장하고 있는 테이블을 참조하여, 인터럽트가 발생했을 때 실행될 ISR의 시작 주소를 알아냅니다. 인터럽트가 발생하면, CPU는 해당 ISR의 시작 주소로 분기하여 인터럽트를 처리합니다.
따라서, CPU는 인터럽트 요청 확인을 위해 인터럽트 컨트롤러와 인터럽트 벡터 테이블을 참조합니다.
마지막 강의가 업로드 되는 일정을 알 수 있을까요?
이번 하반기 공채 면접 전까지 강의로 도움을 받을 수 있으면 좋을 것 같습니다.
안녕하세요, 저자입니다. 강의는 일주일에 한 두장씩 올릴 예정입니다. 공채 면접을 언제 보게 되실런지 잘 모르겠으나, 만일 일정이 급하시다면 책을 기반으로 학습하시다가 모르는 것이 있다면 그때그때 제게 문의주시 것을 추천드립니다.
안녕하세요 강사님 전자책도 있나요?
반갑습니다. 네, 전자책도 있습니다.