1. 인터럽트의 개념과 종류
인터럽트 : 프로그램 실행 중 예기치 않은 상황 발생 → 사이클마치고 작업 중단 후 우선 처리.
정전, 입출력 장치의 데이터 전송 등..의 상황.
- 외부 인터럽트 : 중요한 것부터 전원 > 오작동 > 외부장치의 인터럽트 > 입출력 인터럽트 등 외부 요인
- 내부 인터럽트 : 잘못된 명령어/데이터 사용 시. =예외=트랩.
- 프로그램 검사 인터럽트 : 0나누기, 오버클로, 잘못된 참조 등 프로그램 오류 → 오류 메세지 출력, 상태 보존x
- 기타 내부 인터럽트 : 캐시미스, 페이지 오류 등 → 상태 보존 필요! - ?
- 소프트웨어 인터럽트 : 프로그램 중 의도적으로 인터럽트를 호출함.
- 감시 프로그램 호출 SVC : 사용자가 SVC명령을 사용. 복잡한 입출력 처리. 기억 장치 할당 또는 오퍼레이터와 통신이 필요한 경우 …. -?흠
- 인터럽트 우선순위 : 외부(전원 > 오작동 > 외부장치 > 입출력) > 내부(프로그램 검사) > 소프트웨어(SVC)
2. 인터럽트의 동작 원리
1) 인터럽트 동작 과정
- 인터럽트 요청 신호
- 명령어 사이클 마치고 실행 중단
- 중단 상태를 저장
- 인터럽트 원인 찾아서 해당하는 인터럽트 서비스 루틴 ISR실행.
- ISR끝나면 보관해둔 상태로 복귀 (굵은 글씨 빼고 다 인터럽트 처리 루틴)

인터럽트를 위한 제어 버스
INTR 인터럽트 요청 신호 : 입력신호. 요청하는 장치가 구동
INTA 인터럽트 확인 신호 : 출력신호. CPU가 요청한 장치에 인식했다고 알려줌.
cpu는 명령어 사이클 끝날 때마다 인터럽트 감지.
2) 프로그램 상태 보존
방법들
인터럽트 서비스 루틴ISR에 저장
스택에 저장 (주기억 장치의 특정 영역) → 제일 적합한 편
여기 그림이랑 강의..0607 다시 듣기 제발 꼭!!!!!!!!
별도의 레지스터 세트에 저장
인터럽트 벡터에 저장
2번이랑 이어질 듯
ISR의 시작주소는 인터럽트 벡터를 사용해 구한다.
인터럽트 벡터 테이블IVT : 기억장치 영역 중 인터럽트벡터를 모아두는 곳
3) 인터럽트 요청선 연결 방법
- 단일 회선 : 하나 공유
- 다중 회선 : 장치마다
- 혼합 회선 : 몇 개씩 묶은 거 여러선
- 소프트웨어로 판별하는 방법(폴링) : 단일회선 구조 사용.
- 하드웨어로 판별하는 방법 : 단일회선 구조(직렬연결/데이지체인), 다중회선 구조(병렬연결) - ?^^
3. 인터럽트의 처리 방법
소프트웨어를 이용한 방법(폴링)
원인 판별 - 우선순위가 원인 판별 방법과 밀접한 관련이 있음.
우선순위를 프로그램으로 결정 - 융통성.
하드웨어 없어서 쌈
폴링 - 우선순위 순으로 검사. 시간 소요. 느림
하드웨어를 이용한 방법(데이지 체인) - ???
- 인터럽트 우선순위 체인 : 인터럽트 요청선은 하나(어떤 장치에서 걸었는지 모름. 높은 장치가 걸면 낮은 장치는 못검)
- 인터럽트 요청 체인 ……
- 하드웨어라 빠름.융통성적음. 비쌈. 낮은 장치들은 인터럽트 서비스를 못받을 수도.
다중 인터럽트 요청선을 이용한 방법
- cpu의 인터럽트 레지스터 RI의 각 지트가 장치의 요청을 의미.
- RI(i) = 1(요청있음) 중에서 i가 가장 작은(우선순위가 높은) 것의 해당 ISR시작.
인터럽트 제어기 이용
인터럽트 제어기 : cpu가 INTR신호를 하나만 갖고 있을 때, 앞서서 요청들을 처리해서 전달.
어떤 장치가 요청했는지 바로 판별 가능. cpu내/외부 어디든 둘 수 ㅇㅇ.
제어기 안에서 인터럽트 요청에 따라 RI가 세팅되고, 우선순위 인코더가 사용됨
'뚝딱 공부 상자 > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] Chapter11. _용어 위주 (0) | 2022.06.25 |
---|---|
[컴퓨터 구조] Chapter10. 병렬 컴퓨터 구조 (0) | 2022.06.25 |
[컴퓨터 구조] Chapter8. 버스와 입출력 (0) | 2022.06.25 |
[컴퓨터 구조] Chapter7. 보조기억장치 (0) | 2022.06.25 |
[컴퓨터 구조] Chapter6. 기억장치 (0) | 2022.06.25 |
1. 인터럽트의 개념과 종류
인터럽트 : 프로그램 실행 중 예기치 않은 상황 발생 → 사이클마치고 작업 중단 후 우선 처리.
정전, 입출력 장치의 데이터 전송 등..의 상황.
- 외부 인터럽트 : 중요한 것부터 전원 > 오작동 > 외부장치의 인터럽트 > 입출력 인터럽트 등 외부 요인
- 내부 인터럽트 : 잘못된 명령어/데이터 사용 시. =예외=트랩.
- 프로그램 검사 인터럽트 : 0나누기, 오버클로, 잘못된 참조 등 프로그램 오류 → 오류 메세지 출력, 상태 보존x
- 기타 내부 인터럽트 : 캐시미스, 페이지 오류 등 → 상태 보존 필요! - ?
- 소프트웨어 인터럽트 : 프로그램 중 의도적으로 인터럽트를 호출함.
- 감시 프로그램 호출 SVC : 사용자가 SVC명령을 사용. 복잡한 입출력 처리. 기억 장치 할당 또는 오퍼레이터와 통신이 필요한 경우 …. -?흠
- 인터럽트 우선순위 : 외부(전원 > 오작동 > 외부장치 > 입출력) > 내부(프로그램 검사) > 소프트웨어(SVC)
2. 인터럽트의 동작 원리
1) 인터럽트 동작 과정
- 인터럽트 요청 신호
- 명령어 사이클 마치고 실행 중단
- 중단 상태를 저장
- 인터럽트 원인 찾아서 해당하는 인터럽트 서비스 루틴 ISR실행.
- ISR끝나면 보관해둔 상태로 복귀 (굵은 글씨 빼고 다 인터럽트 처리 루틴)

인터럽트를 위한 제어 버스
INTR 인터럽트 요청 신호 : 입력신호. 요청하는 장치가 구동
INTA 인터럽트 확인 신호 : 출력신호. CPU가 요청한 장치에 인식했다고 알려줌.
cpu는 명령어 사이클 끝날 때마다 인터럽트 감지.
2) 프로그램 상태 보존
방법들
인터럽트 서비스 루틴ISR에 저장
스택에 저장 (주기억 장치의 특정 영역) → 제일 적합한 편
여기 그림이랑 강의..0607 다시 듣기 제발 꼭!!!!!!!!
별도의 레지스터 세트에 저장
인터럽트 벡터에 저장
2번이랑 이어질 듯
ISR의 시작주소는 인터럽트 벡터를 사용해 구한다.
인터럽트 벡터 테이블IVT : 기억장치 영역 중 인터럽트벡터를 모아두는 곳
3) 인터럽트 요청선 연결 방법
- 단일 회선 : 하나 공유
- 다중 회선 : 장치마다
- 혼합 회선 : 몇 개씩 묶은 거 여러선
- 소프트웨어로 판별하는 방법(폴링) : 단일회선 구조 사용.
- 하드웨어로 판별하는 방법 : 단일회선 구조(직렬연결/데이지체인), 다중회선 구조(병렬연결) - ?^^
3. 인터럽트의 처리 방법
소프트웨어를 이용한 방법(폴링)
원인 판별 - 우선순위가 원인 판별 방법과 밀접한 관련이 있음.
우선순위를 프로그램으로 결정 - 융통성.
하드웨어 없어서 쌈
폴링 - 우선순위 순으로 검사. 시간 소요. 느림
하드웨어를 이용한 방법(데이지 체인) - ???
- 인터럽트 우선순위 체인 : 인터럽트 요청선은 하나(어떤 장치에서 걸었는지 모름. 높은 장치가 걸면 낮은 장치는 못검)
- 인터럽트 요청 체인 ……
- 하드웨어라 빠름.융통성적음. 비쌈. 낮은 장치들은 인터럽트 서비스를 못받을 수도.
다중 인터럽트 요청선을 이용한 방법
- cpu의 인터럽트 레지스터 RI의 각 지트가 장치의 요청을 의미.
- RI(i) = 1(요청있음) 중에서 i가 가장 작은(우선순위가 높은) 것의 해당 ISR시작.
인터럽트 제어기 이용
인터럽트 제어기 : cpu가 INTR신호를 하나만 갖고 있을 때, 앞서서 요청들을 처리해서 전달.
어떤 장치가 요청했는지 바로 판별 가능. cpu내/외부 어디든 둘 수 ㅇㅇ.
제어기 안에서 인터럽트 요청에 따라 RI가 세팅되고, 우선순위 인코더가 사용됨
'뚝딱 공부 상자 > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] Chapter11. _용어 위주 (0) | 2022.06.25 |
---|---|
[컴퓨터 구조] Chapter10. 병렬 컴퓨터 구조 (0) | 2022.06.25 |
[컴퓨터 구조] Chapter8. 버스와 입출력 (0) | 2022.06.25 |
[컴퓨터 구조] Chapter7. 보조기억장치 (0) | 2022.06.25 |
[컴퓨터 구조] Chapter6. 기억장치 (0) | 2022.06.25 |