การสำรวจและการขัดจังหวะให้ CPU หยุดสิ่งที่กำลังทำอยู่และตอบสนองต่อภารกิจที่สำคัญกว่า การสำรวจและการขัดจังหวะจะแตกต่างกันในหลาย ๆ ด้าน แต่จุดพื้นฐานที่แยกความแตกต่างของโพลและอินเตอร์รัปต์คือในโพลซีพียูจะทำการตรวจสอบอุปกรณ์ I / O ตามช่วงเวลาปกติไม่ว่าจะต้องการบริการ CPU หรือไม่ในขณะที่อินเตอร์รัปต์อุปกรณ์ I / O ขัดจังหวะซีพียู . ฉันได้พูดถึงความแตกต่างบางประการระหว่างการขัดจังหวะและการหยั่งเสียงในแผนภูมิเปรียบเทียบด้านล่างโปรดดู
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | ขัดจังหวะ | การลงคะแนนเลือกตั้ง |
---|---|---|
ขั้นพื้นฐาน | อุปกรณ์แจ้งเตือน CPU ว่าต้องใช้ความสนใจของ CPU | CPU ตรวจสอบสถานะของอุปกรณ์อย่างต่อเนื่องไม่ว่าจะต้องการความสนใจของ CPU |
กลไก | การขัดจังหวะเป็นกลไกฮาร์ดแวร์ | โพลคือโพรโทคอล |
บริการ | ตัวจัดการขัดจังหวะให้บริการอุปกรณ์ | CPU บริการอุปกรณ์ |
การแสดง | บรรทัดคำขอขัดจังหวะระบุว่าอุปกรณ์ต้องการการบริการ | บิตพร้อม Comand บ่งชี้ว่าอุปกรณ์ต้องการการบริการ |
ซีพียู | CPU ถูกรบกวนเฉพาะเมื่ออุปกรณ์ต้องการการบริการซึ่งจะช่วยลดรอบการทำงานของ CPU | ซีพียูต้องรอและตรวจสอบว่าอุปกรณ์ต้องการการบริการที่สิ้นเปลืองซีพียูจำนวนมากหรือไม่ |
การเกิดขึ้น | การขัดจังหวะสามารถเกิดขึ้นได้ตลอดเวลา | CPU โพลอุปกรณ์ในช่วงเวลาปกติ |
อย่างมีประสิทธิภาพ | การขัดจังหวะจะไม่มีประสิทธิภาพเมื่ออุปกรณ์ขัดจังหวะการทำงานของ CPU อย่างต่อเนื่อง | การสำรวจจะไม่มีประสิทธิภาพเมื่อ CPU ไม่ค่อยพบอุปกรณ์ที่พร้อมให้บริการ |
ตัวอย่าง | ให้เสียงระฆังดังขึ้นจากนั้นเปิดประตูเพื่อตรวจสอบว่าใครมา | เปิดประตูอย่างต่อเนื่องเพื่อตรวจสอบว่ามีใครเข้ามาบ้าง |
ความหมายของการขัดจังหวะ
การขัดจังหวะเป็น กลไกฮาร์ดแวร์ ที่ช่วยให้ซีพียูตรวจพบว่าอุปกรณ์ต้องการความสนใจ CPU มีสาย คำขอให้ขัดจังหวะการใช้สาย ซึ่งตรวจสอบโดย CPU หลังจากดำเนินการตามคำสั่งทุกคำสั่ง เมื่อ CPU ตรวจจับสัญญาณขัดจังหวะบนบรรทัดคำขอขัดจังหวะ CPU จะหยุดงานที่กำลังดำเนินการอยู่ในปัจจุบันและตอบสนองต่อการขัดจังหวะการส่งโดยอุปกรณ์ I / O โดยผ่านการควบคุมไปยัง ตัวจัดการขัดจังหวะ ตัวจัดการขัดจังหวะแก้ไขการขัดจังหวะโดยการให้บริการอุปกรณ์
แม้ว่า CPU จะไม่ทราบว่าจะเกิดการขัดจังหวะเนื่องจากสามารถเกิดขึ้นได้ทุกเวลา แต่จะต้องตอบสนองต่อการขัดจังหวะเมื่อใดก็ตามที่เกิดขึ้น
เมื่อตัวจัดการขัดจังหวะการดำเนินการขัดจังหวะเสร็จสิ้น CPU จะกลับมาทำงานต่อ ตามการดำเนินการของงานที่หยุดเพื่อตอบสนองการขัดจังหวะ ซอฟต์แวร์ ฮาร์ดแวร์ ผู้ใช้ ข้อผิดพลาดบางอย่างในโปรแกรม และอื่น ๆ ยังสามารถสร้างการขัดจังหวะ การขัดจังหวะการจัดการลักษณะของ CPU นำไปสู่การ ทำงานหลายอย่าง เช่นผู้ใช้สามารถทำงานต่าง ๆ ได้หลายอย่างในเวลาเดียวกัน
หากมีการส่งอินเตอร์รัปต์มากกว่าหนึ่งตัวไปยัง CPU ตัวจัดการการขัดจังหวะจะช่วยในการจัดการการขัดจังหวะที่รอการประมวลผล เมื่อตัวจัดการขัดจังหวะ ถูกทริกเกอร์ โดยการรับสัญญาณของอินเตอร์รัปต์มันจะ จัดลำดับความสำคัญ ของอินเทอร์รัปต์ที่รอการประมวลผลโดย CPU และจัดเรียงไว้ใน คิว เพื่อรับบริการ
ความหมายของการสำรวจ
ดังที่เราเห็นในอินเทอร์รัปต์อินพุตจากอุปกรณ์ I / O สามารถมาถึงได้ตลอดเวลาเพื่อขอให้ซีพียูประมวลผล โพล เป็น โปรโตคอล ที่แจ้งให้ CPU ทราบว่าอุปกรณ์ต้องการความสนใจ ซึ่งแตกต่างจากในอินเตอร์รัปต์ซึ่งอุปกรณ์บอก CPU ว่าต้องใช้การประมวลผล CPU ในหน่วยประมวลผล CPU สอบถาม อุปกรณ์ I / O ว่าต้องการการประมวลผล CPU หรือไม่
CPU จะทำการทดสอบอุปกรณ์แต่ละตัวอย่าง ต่อเนื่อง เพื่อตรวจสอบว่ามีอุปกรณ์ใดที่ต้องการความสนใจของ CPU หรือไม่ อุปกรณ์ ทุก ชิ้น มีบิต พร้อมรับคำสั่ง ซึ่งระบุสถานะของอุปกรณ์นั้น ๆ ไม่ว่าจะมีคำสั่งบางอย่างที่จะดำเนินการโดย CPU หรือไม่ หากคำสั่งบิตถูกตั้งค่า 1 แล้วมันมีคำสั่งที่จะดำเนินการอื่นถ้าบิตเป็น 0 แล้วมันไม่มีคำสั่ง CPU มี บิตไม่ว่าง ที่ระบุสถานะของ CPU ไม่ว่าจะไม่ว่างหรือไม่ หากมีการตั้งค่าบิตที่ไม่ว่าง 1 แสดง ว่าไม่ว่างในการดำเนินการคำสั่งของอุปกรณ์บางตัวมิฉะนั้นจะเป็น 0
อัลกอริทึมสำหรับการสำรวจ
- เมื่ออุปกรณ์มีคำสั่งบางอย่างที่ต้องดำเนินการโดย CPU อุปกรณ์จะตรวจสอบบิตของ CPU ที่ไม่ว่างอย่างต่อเนื่องจนกระทั่งมันกลายเป็นชัดเจน (0)
- เมื่อบิตไม่ว่างกลายเป็นชัดเจนอุปกรณ์จะกำหนดบิตการเขียนลงในคำสั่งลงทะเบียนและเขียนไบต์ในการลงทะเบียนข้อมูล
- ตอนนี้อุปกรณ์จะตั้งค่า (1) บิตพร้อมคำสั่ง
- เมื่อ CPU ตรวจสอบบิตพร้อมคำสั่งของอุปกรณ์และพบว่าตั้งค่า (1) มันจะตั้งค่า (1) บิตที่ไม่ว่าง
- จากนั้นซีพียูจะอ่านคำสั่งลงทะเบียนของอุปกรณ์และดำเนินการคำสั่งของอุปกรณ์
- หลังจากการดำเนินการคำสั่ง CPU จะล้าง (0) บิตพร้อมคำสั่งบิตข้อผิดพลาดของอุปกรณ์เพื่อระบุการดำเนินการคำสั่งของอุปกรณ์ได้สำเร็จ คำสั่งของอุปกรณ์อื่น ๆ
ความแตกต่างที่สำคัญระหว่างการขัดจังหวะและการสำรวจในระบบปฏิบัติการ
- ในการขัดจังหวะอุปกรณ์จะแจ้งให้ CPU ทราบว่าจำเป็นต้องให้บริการในขณะที่ในการเรียกใช้ CPU ตรวจสอบซ้ำ ๆ ว่าอุปกรณ์นั้นต้องการการบริการหรือไม่
- การขัดจังหวะเป็น กลไก ฮาร์ดแวร์ ในขณะที่ CPU มีสายสัญญาณ ร้องขอการขัดจังหวะ ซึ่งสัญญาณที่เกิดการขัดจังหวะ ในทางกลับกัน Polling เป็น โปรโตคอล ที่คอยตรวจสอบ บิตควบคุม เพื่อแจ้งว่าอุปกรณ์มีบางสิ่งที่จะดำเนินการหรือไม่
- ตัวจัดการขัดจังหวะจัดการ การขัดจังหวะที่สร้างขึ้นโดยอุปกรณ์ ในทางกลับกันหน่วย ประมวลผลกลาง ให้บริการอุปกรณ์เมื่อพวกเขาต้องการ
- อินเทอร์รัปต์ส่งสัญญาณโดย บรรทัดคำขอ อินเตอร์รัปต์ อย่างไรก็ตามบิต Command-ready ระบุว่าอุปกรณ์ต้องการการบริการ
- ในการขัดจังหวะ CPU จะถูกรบกวนเมื่ออุปกรณ์ใด ๆ ขัดจังหวะ ในทางกลับกันในการทำโพล, CPU เสียรอบ CPU มากโดยการตรวจสอบบิตพร้อมคำสั่งของทุกอุปกรณ์ซ้ำ ๆ
- การขัดจังหวะสามารถเกิดขึ้นได้ ทันที ในขณะที่ CPU จะคอยทำการสำรวจอุปกรณ์ใน ช่วงเวลาปกติ
- การทำโพลจะไม่มีประสิทธิภาพเมื่อ CPU ทำการสำรวจอุปกรณ์และไม่ค่อยพบอุปกรณ์ใด ๆ ที่พร้อมให้บริการ ในทางตรงกันข้ามการขัดจังหวะจะไม่มีประสิทธิภาพเมื่ออุปกรณ์หยุดการประมวลผล CPU ซ้ำ ๆ
สรุป:
ทั้งการสำรวจและขัดจังหวะมีประสิทธิภาพในการเข้าร่วมอุปกรณ์ I / O แต่พวกเขาจะไม่มีประสิทธิภาพในเงื่อนไขบางอย่างตามที่กล่าวไว้ข้างต้น