e2856531b34c2dd90777ecd7dec34e38.ppt
- Количество слайдов: 15
9장 가로채기(Interrupt) Slide 1 (of 15)
학습개요 이번 시간에는. . . “Interrupt”에 대해 알아보겠습니다. 학습목표 이장에서는 CPU의 interrupt에 대해 공부하고 interrupt의 동작과정에 대하여 공부한다. 학습목차 • • • Interrupt 개요 Interrupt의 종류 Daisy Chain Interrupt Slide 2 (of 15) 1/13
Interrupt 개요 ü Interrupt의 필요성 (1) 가로채기는 우선순위가 높은 Program을 먼저 수행하게 하는 기능 (2) CPU 기능 향상 목적 ex 1) 고속 CPU와 저속 주변장치의 random processing CPU Printer 고속 저속 10 ms idel time 한 개 문자를 프린터로 출력하기 위해 프린터가 CPU로 Interrupt를 요구한다. CPU가1개 문자를Printer로 출력하는 시 간(수u. S) Main program 수행 CPU는 프린터로 한 개 문자를 출력 (INT 처리 program) Printer가한 개 문자를 print하는 시간(ms) Slide 3 (of 15)
Interrupt 개요 ü Interrupt의 필요성 ex 2) 일정한 시간 간격으로 처리해야 할 program (시계) Main program 매초마다 INT 발생 시계를 1초씩 증가 시키는 Interrupt service routine ex 3) 정전 시 Data 피신 기능 정상전원 정전 시 전압이 90%이하가 되면 Data를 피신시키는 INT routine 수행 Slide 4 (of 15)
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 처리 방법 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 개요 ü 가로채기 방식 u 단일회선 인터럽트 u 다중회선 인터럽트 u 혼합회선 인터럽트 Slide 7 (of 15)
Interrupt 개요 ü Interrupt 의 처리 순서 ① 주변장치에서 CPU로 INT 요구(Interrupt request signal) CPU /INT 주변장치 가로채기 요구신호 ② CPU는 현재 실행하던 명령어를 끝내고 현재 PC내용을 스텍 포인터로 피신시킨 다음 주변장치로 INT확인신호(Interrupt acknowledge signal)출력 CPU Memory Stack 영역 PC PC SP /INT /ACK 주변장치 가로채기 확인 신호 Slide 8 (of 15)
Interrupt 개요 ü Interrupt 의 처리 순서 ③ 주변장치로부터 가로체기 service routine 시작번지를 PC에 Load 하여 가로채기 프로 그램을 실행한다 Memory INT 시작번지 INT service routine CPU D 0 D 7 RETURN 주변장치 PC PC INT 시작번지 SP ④ 가로채기 프로그램을 실행한 후 RETURN명령어를 만나면 스텍 포인터에 피신 되었던 PC 내용을 복구하여 다시 main 프로그램을 계속 실행한다. Memory INT 시작번지 INT service routine CPU RETURN INT 시작번지 PC PC D 0 D 7 SP Slide 9 (of 15) 주변장치
Interrupt 개요 ü Interrupt 의 처리 순서 Ex) INT 처리 예 ① 주변장치에서 CPU로 INT 요구(Interrupt request signal) Memory PC 2002 H SP 3000 H 2000 H 3 EH 2001 H CPU 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내용을 SP로 피신한 다음 가로체기 확인 신 호를 주변장치로 전송한다. Memory 2000 H PC 2002 H SP 2 FFEH 현재 PC 내용 56 H 2002 H 2 AH Operand 2003 H ③ 현재 PC 내용 피신 ④ /INT ② 3 EH 2001 H CPU 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내용을 SP로 피신한 다음 가로체기 확인 신 호를 주변장치로 전송한다. Memory 2000 H PC 4000 H SP 2 FFEH 3 EH 2001 H 56 H 2002 H CPU OP_code 2 AH 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 명령어가 있다. RETURN명령어를 만나면 SP에 피신되어 있던 PC의 내용을 복구하여 메인 프로그램을 실행한다. Memory 2000 H CPU PC 2002 H SP 3000 H /INT 메인 프로그램 실행 ⑪ ⑩ PC 복구 ⑩ SP 복구 3 EH 2001 H 56 H 2002 H 2 AH Operand 2003 H 2 FFEH Stack 영역 2 FFFH 현재 PC 내용 3000 H 4000 H 주변장치 OP_code 3 EH 4001 H 00 H 4002 H ⑨ 4003 H RETURN Slide 13 (of 15) INT program
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 프로그램 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)
e2856531b34c2dd90777ecd7dec34e38.ppt