9 Interrupt Slide 1 of 15 Interrupt Interrupt

  • Slides: 15
Download presentation
9장 가로채기(Interrupt) Slide 1 (of 15)

9장 가로채기(Interrupt) Slide 1 (of 15)

Interrupt 개요 ü Interrupt의 필요성 ex 4) 순차 다중 제어(Hotel 난방 제어) 001 002

Interrupt 개요 ü Interrupt의 필요성 ex 4) 순차 다중 제어(Hotel 난방 제어) 001 002 003 010 CPU 011 021 111 126개 INT service routine 126 Memory 1대의 Microprocessor로 INT를 이용하여 제어를 할 경우 최대 126개의 독립적인 제어가 가 능하다. Slide 5 (of 15)

Interrupt 개요 ü INTERRUPT 정의 - 현재 수행중인 program보다 우선순위가 높은 program을 Interrupt에 의해

Interrupt 개요 ü INTERRUPT 정의 - 현재 수행중인 program보다 우선순위가 높은 program을 Interrupt에 의해 우선적으로 실행 시켜 주 는 기능 ü Interrupt 처리 방법 INTERRUP 요구 신호 Main program Interrupt sub program Interrupt service routine ü 가로채기 종류(Type of Interrupt) (1) Internal interrupt : CPU의 내부적으로 발생하는 가로채기 방식 (2) External interrupt : CPU의 외부에서 가로채기를 요구하는 방식 (3) Software interrupt : 소프트웨어 적으로 명령어에 의해 가로채기를 발생하는 방식 Slide 6 (of 15)

Interrupt 개요 ü Interrupt 의 처리 순서 Ex) INT 처리 예 ① 주변장치에서 CPU로

Interrupt 개요 ü Interrupt 의 처리 순서 Ex) INT 처리 예 ① 주변장치에서 CPU로 INT 요구(Interrupt request signal) Memory CPU PC 2002 H SP 3000 H 2000 H 3 EH 2001 H 56 H 2002 H 2 AH 2003 H ① 가로채기 요구 Operand 2 FFEH Stack 영역 2 FFFH /INT OP_code 3000 H ① 가로채기 요구 주변장치 4000 H 3 EH 4001 H 00 H 4002 H 4003 H Slide 10 (of 15) RETURN INT program

Interrupt 개요 ü Interrupt 의 처리 순서 ② 현재 실행하던 명령어를 끝까지 수행하고 PC내용을

Interrupt 개요 ü Interrupt 의 처리 순서 ② 현재 실행하던 명령어를 끝까지 수행하고 PC내용을 SP로 피신한 다음 가로체기 확인 신 호를 주변장치로 전송한다. Memory CPU PC 2002 H SP 2 FFEH 현재 PC 내용 3 EH 2001 H 56 H 2002 H 2 AH Operand 2003 H ③ 현재 PC 내용 피신 ④ /INT ② 2000 H OP_code 2 FFEH 02 2 FFFH 20 Stack 영역 3000 H ⑤ 가로채기 확인 주변장치 4000 H 3 EH 4001 H 00 H 4002 H 4003 H Slide 11 (of 15) RETURN INT program

Interrupt 개요 ü Interrupt 의 처리 순서 ③ 현재 실행하던 명령어를 끝까지 수행하고 PC내용을

Interrupt 개요 ü Interrupt 의 처리 순서 ③ 현재 실행하던 명령어를 끝까지 수행하고 PC내용을 SP로 피신한 다음 가로체기 확인 신 호를 주변장치로 전송한다. Memory CPU PC 4000 H SP 2 FFEH 2000 H 3 EH 2001 H 56 H 2002 H 2 AH OP_code Operand 2003 H INT프로그램 실행 ⑦ 2 FFEH 02 Stack 영역 2 FFFH 20 현재 PC 내용 3 EH INT program 3000 H /INT ⑥ 가로채기 확인 주변장치 INT프로그램 시작번지 전송(4000 H) 4000 H 4001 H ⑧ 00 H 4002 H 4003 H Slide 12 (of 15) RETURN

Interrupt 개요 ü Interrupt 의 처리 순서 ④ 가로채기 프로그램 끝에는 반드시 RETURN 명령어가

Interrupt 개요 ü Interrupt 의 처리 순서 ④ 가로채기 프로그램 끝에는 반드시 RETURN 명령어가 있다. RETURN명령어를 만나면 SP에 피신되어 있던 PC의 내용을 복구하여 메인 프로그램을 실행한다. Memory CPU PC 2002 H SP 3000 H /INT 주변장치 메인 프로그램 실행 ⑪ ⑩ PC 복구 ⑩ SP 복구 2000 H 3 EH 2001 H 56 H 2002 H 2 AH OP_code Operand 2003 H 2 FFEH Stack 영역 2 FFFH 현재 PC 내용 3000 H 4000 H 3 EH 4001 H 00 H 4002 H ⑨ 4003 H RETURN Slide 13 (of 15) INT program

Interrupt 개요 ü Interrupt 의 처리 순서 요약 u Interrupt 처리 순서 요약 주변장치에서

Interrupt 개요 ü Interrupt 의 처리 순서 요약 u Interrupt 처리 순서 요약 주변장치에서 INT요구 1 6 Main Program 실행 5 Main Program 복귀 RETURN명령에 의해 CPU register복구 2 3 4 INT처리루틴 수행 CPU의 PC 및 Register를 Stack에 피신 Slide 14 (of 15)

Interrupt 개요 ü Interrupt 처리 루틴 구조 PC 가 지동으로 SP에 피신 INT 프로그램

Interrupt 개요 ü Interrupt 처리 루틴 구조 PC 가 지동으로 SP에 피신 INT 프로그램 START INT 시작번지 PUSH AF PUSH BC PUSH DE PUSH HL : Stack에 A, F 레지스터 피신 : Stack에 B, C 레지스터 피신 : Stack에 D, E 레지스터 피신 : Stack에 H, L 레지스터 피신 Interrupt 처리Program POP HL POP DE POP BC POP AF EI PC 가 지동으로 SP에 복구 : Stack에 H, L 레지스터 복구 : Stack에 D, E 레지스터 복구 : Stack에 B, C 레지스터 복구 : Stack에 A, F 레지스터 복구 : Enable Interrupt RETURN Slide 15 (of 15)