Let's kick it
오블완 챌린지 6일차 본문
오늘 읽은 부분은 CPU인데, 전에 컴퓨터구조 + 운영체제 책을 읽었더니 익숙한 단어가 많이 보이는 것 같다. 책 어디 부분에서 읽었는지 궁금해져서 찾아보며 그 부분을 다시 읽어보았는데 확실히 같이 읽으니 상기시켜지니 좋았다
전에 공부했던 내용 첨부해 놓아야겠다 찾기 쉽게!
[혼공컴운]2주 차
cpu가 하드웨어 인터럽트를 처리하는 순서 중 기억해야 할 키워드는 인터럽트 요청 신호, 인터럽트 플래그, 인터럽트 벡터, 인터럽트 서비스 루틴이다.
인터럽트(interrupt)는 cpu의 정상적인 실행 흐름을 막아 중단되는 것이므로 인터럽트 하기 전 cpu에게 너 가능? 물어봐서 cpu의 상태를 확인해야 한다. 이를 확인하기 위한 신호를 인터럽트 요청 신호라고 한다.
이때 cpu가 인터럽트 요청을 수락하기 위해선 플래그 레지스터의 인터럽트 플래그가 활성화되어 있어야 한다. 인터럽트 플래그는 하드웨어 인터럽트를 받아들일지, 무시할지 결정하는 플래그로, 만약 불가능(= 0)으로 설정되어 있다면 cpu는 해당 요청이 와도 무시한다.(하지만 불가능으로 설정되어 있더라도 무시할 수 없는 인터럽트 요청도 있다. 가장 우선순위가 높은, 가장 먼저 처리해야 하는 인터럽트가 있다면 말이다. 정전이나 하드웨어 고장 같은)
cpu가 인터럽트 요청을 받아들이기로 했다면 cpu는 인터럽트 서비스 루틴을 실행한다. 인터럽트 서비스 루틴(ISR)은 인터럽트를 처리하기 위한 프로그램으로, 인터럽트 핸들러라고도 부른다. 어떤 인터럽트가 발생했을 때 해당 인터럽트를 어떻게 처리하고 작동해야 할지에 대한 정보로 이루어진 프로그램이다. 내가 느끼기에 문제 행동 안내서라고 느껴진다. 그 문제가 발생하면 안내서에 적힌 행동을 할 수 있도록 적힌 안내서같이.
이처럼 문제 상황별로 프로그램된 안내서가 다를 텐데 이를 구분하기 위해 인터럽트 벡터를 이용한다.
인터럽트 벡터는 인터럽트 서비스 루틴을 식별하기 위한 정보이다. 인터럽트 서비스 루틴의 시작 주소를 인터럽트 벡터를 통해 알 수 있다.
'오블완챌린지' 카테고리의 다른 글
오블완 챌린지 10일차 (0) | 2024.11.16 |
---|---|
오블완 챌린지 7일차 (1) | 2024.11.13 |
오블완 챌린지 5일차 (2) | 2024.11.11 |
오블완 챌린지 4일차 (0) | 2024.11.10 |
오블완 챌린지 3일차 (2) | 2024.11.09 |