เรียนรู้ว่าการขัดจังหวะและการตรวจสอบสถานะจัดการกับเหตุการณ์อย่างไร และเหตุใดการเลือกวิธีการที่เหมาะสมจึงมีความสำคัญในการออกแบบระบบฝังตัว
เนื่องจากระบบคอมพิวเตอร์สมัยใหม่มีความซับซ้อนมากขึ้นเรื่อย ๆ การสื่อสารที่มีประสิทธิภาพระหว่าง CPU และอุปกรณ์ต่อพ่วงจึงมีความสำคัญมากขึ้น อุปกรณ์ต่าง ๆ เช่น คีย์บอร์ด เมาส์ เครื่องพิมพ์ และอินเทอร์เฟซเครือข่าย จำเป็นต้องมีการโต้ตอบกับ CPU อย่างทันท่วงทีเพื่อให้การทำงานราบรื่นและผู้ใช้ได้รับประสบการณ์ที่ดี การขัดจังหวะและการตรวจสอบสถานะเป็นสองกลยุทธ์พื้นฐานในการจัดการการโต้ตอบเหล่านี้
การขัดจังหวะ (Interrupt) เป็นกลไกทางฮาร์ดแวร์ที่อุปกรณ์ใช้แจ้งให้ซีพียูทราบว่าต้องการความสนใจจากซีพียู การขัดจังหวะสามารถเกิดขึ้นได้ตลอดเวลา ดังนั้นเมื่อซีพียูได้รับสัญญาณขัดจังหวะผ่านทางสายส่งสัญญาณขอขัดจังหวะ (indication interrupt-request line) ซีพียูจะหยุดกระบวนการปัจจุบันและตอบสนองต่อการขัดจังหวะโดยการส่งการควบคุมไปยังตัวจัดการการขัดจังหวะ (interrupt handler) ซึ่งทำหน้าที่ดูแลอุปกรณ์นั้น
ข้อดี
ข้อเสีย
การตรวจสอบสถานะ (Polling) ไม่ใช่กลไกของฮาร์ดแวร์ แต่เป็นโปรโตคอลที่ซีพียูตรวจสอบอย่างต่อเนื่องว่าอุปกรณ์นั้นต้องการการประมวลผลจากฮาร์ดแวร์หรือไม่ เมื่อใดก็ตามที่อุปกรณ์บอกหน่วยประมวลผลว่าต้องการการประมวลผลจากฮาร์ดแวร์ ในกระบวนการตรวจสอบสถานะ หน่วยประมวลผลจะถามอุปกรณ์ I/O อย่างต่อเนื่องว่าต้องการการประมวลผลจากซีพียูหรือไม่ ซีพียูจะตรวจสอบอุปกรณ์ทุกตัวที่เชื่อมต่ออยู่ตลอดเวลาเพื่อดูว่าอุปกรณ์ใดต้องการการประมวลผลจากฮาร์ดแวร์หรือไม่ อุปกรณ์แต่ละตัวจะมีบิตแสดงสถานะคำสั่ง (command-ready bit) ซึ่งบ่งบอกสถานะของอุปกรณ์นั้น เช่น ว่าเป็นคำสั่งที่ต้องอ่านจากฮาร์ดแวร์หรือไม่ ถ้าบิตแสดงสถานะเป็น "พร้อม" (ready bit) แสดงว่ามีคำสั่งให้อ่าน แต่ถ้าบิตเป็น "ศูนย์" แสดงว่าไม่มีคำสั่งใดๆ
ข้อดี
ข้อเสีย
การขัดจังหวะ (Interrupts) เป็นวิธีการที่มีประสิทธิภาพและตอบสนองได้รวดเร็วกว่า โดยอนุญาตให้ CPU ทำงานได้โดยไม่ต้องคอยตรวจสอบอยู่ตลอดเวลา ในขณะที่การตรวจสอบสถานะ (Polling) แม้จะง่ายกว่า แต่ก็อาจทำให้สิ้นเปลืองรอบการทำงานของ CPU โดยไม่จำเป็น การเลือกใช้กลไกใดนั้นขึ้นอยู่กับข้อกำหนดเฉพาะของระบบ เช่น ความต้องการการประมวลผลแบบเรียลไทม์ ความพร้อมของทรัพยากร และความซับซ้อนของฮาร์ดแวร์