2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r 8259A 를 아는가 ??? 2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r
이렇게 생겨먹었다 !!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r 하드웨어 인터럽트를 처리하는 친구다
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r I386 계열은 PIC 를 2 개 가지고 있다. 8259A Master IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 8259A Slave IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15 인터럽트
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r IRQ0 0 번 타이머 IRQ1 키보드 IRQ2Slave PIC IRQ3COM2 IRQ4COM1 IRQ5LPT2 IRQ6 플로피 디스크 컨트롤러 IRQ7LPT1 마스터 PIC 에서 발생시켜주는인터럽트 들 !!!!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r IRQ9 예약 IRQ10 예약 IRQ11 예약 IRQ12 예약 IRQ13Coprocessor IRQ14 하드 디스크 컨트롤러 IRQ15 예약 슬레이브 PIC 에서 발생시켜주는인터럽트 들 !!!!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r 그럼 PIC 는 어떻게 작동시키는 가 ????? Port 를 가지고 작동시킨다 !!! 몇번 포트냐고 !!!???!!!!! 마스터 PIC 마스터 PIC 0x2 0 0x2 1 슬레 이브 PIC 슬레 이브 PIC 0xa 0 0xa 1
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r PIC 를 초기화 시켜줘야 한다 !!!!!! 어떻게 ?????? 잘 !!!!!!!!! ICW 을 사용하면 된다. Initalization Command Words ICW 을 사용하면 된다. Initalization Command Words
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r ICW 은 총 4 개가 있다 !!!! ICW1 ICW2 ICW3 ICW4
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r ICW LTIM 0 0 SNGL IC4 0: Edge Triggering, 1: Level Triggering, 0 으로 해줘야 한다 !!!! 0 : Cascaded PIC, 1: Master PIC, 이것도 0 으로 해줘야 한다 !!!! 초기화 중 ICW4 필요여부 0: 필요없음, 1: 필요함 !!! 1 로 해줘야함 !!!! 0x20Port 0xa0Port
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r ICW2 Offset 7 Offset 7 Offset 6 Offset 6 Offset 5 Offset 5 Offset 4 Offset 4 Offset 3 Offset x21Port 0xa1Port CPU 에게 보내줄 BASE 인터럽트 값 세팅 예 ) 0X20 으로 세팅 후 IRQ0 이 발생하면 0X20 IRQ1 이 발생하면 0X21 뭐 이렇다 !!! CPU 에게 보내줄 BASE 인터럽트 값 세팅 예 ) 0X20 으로 세팅 후 IRQ0 이 발생하면 0X20 IRQ1 이 발생하면 0X21 뭐 이렇다 !!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r ICW x21Port 0xa1Port 어떻게 Cascading 되었는지 세팅하는것이다 !! Master 에게는 몇번 IRQ 에 Slave 가 연결되었는지 알려주는것 !! 어떻게 Cascading 되었는지 세팅하는것이다 !! Master 에게는 몇번 IRQ 에 Slave 가 연결되었는지 알려주는것 !! Slave 에게는 내가 Master 의 몇번 IRQ 와 연결되었는지 알려준다 !!! 0x2 Slave 에게는 내가 Master 의 몇번 IRQ 와 연결되었는지 알려준다 !!! 0x2
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r 초비츠 PIC 초기화 하기 !!!!!