การอินเตอร์รัพท์


การอินเทอร์รัพต์ (Interrupt) การให้ซีพียูติดต่อกับอุปกรณ์ภายนอกจำนวนหลายๆตัว สามารถทำได้ 2 วิธีคือ

        1.) วิธีโพลลิ่ง (Polling) วิธีนี้จะให้ซีพียูไล่ตรวจสอบอุปกรณ์แต่ละตัวไปเรื่อยๆจนกว่าจะรับรู้ว่าอุปกรณ์ใดจะขอใช้บริการ ดังรูป

รูปแสดงการทำงานในลักษณะโพลลิ่ง

        2.) วิธีอินเทอร์รัพต์ (Interrupt) วิธีนี้จะให้อุปกรณ์ภายนอกที่ต้องการขอใช้บริการส่งสัญญาณมาขัดจังหวะเพื่อให้ซีพียูให้บริการ ซึ่งเป็นวิธีที่มีประสิทธิภาพสูงกว่าวิธีโพลลิ่ง เพราะซีพียูไม่ต้องคอยตรวจสอบอุปกรณ์ตลอดเวลาเหมือนกับวิธีโพลลิ่งและทำให้สามารถตรวจสอบอุปกรณ์พร้อมๆกันได้หลายตัว แต่มีข้อจำกัดคือ ต้องใช้อุปกรณ์ฮาร์ดแวร์ที่ใช้ในการส่งสัญญาณเพิ่มเติมเข้ามาและการเขียนโปรแกรมจัดการจะยากกว่าการใช้วิธีโพลลิ่งสำหรับ Z80 จะมีการอินเทอร์รัพต์ 2 แบบคือ
               - การอินเทอร์รัพต์ แบบ NMI (Non Maskable Interrupt) เป็นการอินเทอร์รัพต์ที่ยับยั้งไม่ได้ต้อให้บริการเสมอ
               - การอินเทอร์รัพต์แบบ INT (Interrut) เป็นการอินเทอร์รัพต์แบบปกติ ที่ Z80 สามารถเลือกได้ว่าจะให้บริการ หรือ ไม่ให้บริการและสามารถกำหนดโหมดการทำงานได้ 3 โหมดคือ โหมด0 , โหมด 1 และ โหมด 2 ด้วยคำสั่ง IM0}IM1 และ IM2 ตามลำดับ