วันพฤหัสบดีที่ 19 มีนาคม พ.ศ. 2552

โครงสร้างของไอโอบัส

โครงสร้างของไอโอบัส
Isolated I/O จะมีชุดของแอ็ดเดรสบัส, ดาต้าบัส และคอนโทรลบัส เป็นชุดของไอโอบัส และจะมีอีกชุดหนึ่งสำหรับเมมโมรีบัสที่แยกจากกัน

โครงสร้างของไอโอบัส
Shared I/O จะใช้แอ็ดเดรสบัสและดาต้าบัสร่วมกันเป็นไอโอบัสและ เมมโมรีบัสแต่มีสัญญาณควบคุมคนละเส้นสำหรับการอ่าน, เขียน, อินพุต และเอาต์พุต

โครงสร้างของไอโอบัส
Memory-map I/O จะมีบัสหนึ่งที่ใช้ทั้งในไอโอและหน่วยความจำ ในรูปเป็นการใช้คอนโทรลบัสร่วมกัน ช่วงของเมมโมรีแอ็ดเดรสจะถูกกันไว้สำหรับไอโอรีจิสเตอร์ด้วย

โครงสร้างของไอโอบัส
พื้นที่แอ็ดเดรสทั้งหมดของระบบคอมพิวเตอร์ที่เป็นแบบ Memory-map I/O นั้นหน่วยความจำประกอบด้วยเมมโมรีโมดูล 2-3 โมดูล จะมีไอโอ รีจิสเตอร์จะกระจายไปตามการอินเทอร์เฟซของไอโอดีไวซ์ มีเพียง แอ็ดเดรสบางส่วนของไอโอรีจิสเตอร์เท่านั้นที่ใช้ในระบบ

เทคนิคการทำงานของไอโอ
1.การควบคุมอินพุต/เอาค์พุตด้วยโปรแกรม (Programmed I/O) ซึ่งเป็นเทคนิคที่มีการแลกเปลี่ยนข้อมูล ระหว่างโปรเซสเซอร์และไอโอโมดูล โปรเซสเซอร์จะเอ็กซิคิวต์โปรแกรมที่ควบคุมโอเปอเรชันของไอโอ รวมทั้งการตรวจสอบสถานะของดีไวซ์, การส่งคำสั่งเพื่ออ่านหรือเขียน และการถ่ายโอนข้อมูล
2.การเอ็กซิคิวต์คำสั่งไอโอนั้น โปรเซสเซอร์จะต้องกำหนดแอ็ดเดรส, ไอโอโมดูล, ดีไวซ์และ คำสั่งของไอโอซึ่งมี 4 ประเภทซึ่งกำหนดโดยโปรเซสเซอร์คือ ควบคุม (Control), ตรวจสอบ (Test), อ่าน (Read) และเขียน (Write)

เทคนิคการทำงานของไอโอ
การควบคุมอินพุต/เอาต์พุตผ่านกลไกการอินเทอร์รัพต์ (Interrupt-driven I/O) ซึ่งเทคนิคนี้โปรเซสเซอร์จะออกคำสั่งไปยังไอโอ แล้วกลับไปเอ็กซิคิวต์คำสั่งอื่นต่อไป จนเมื่อไอโอทำงานเสร็จเรียบร้อยแล้วจะส่งสัญญาณอินเทอร์รัพต์แจ้งให้ทราบ

1. ก่อนการอินเทอร์รัพต์ โปรแกรม A ซึ่งกำลังถูกเอ็กซิคิวต์อยู่ โปรแกรมเคาเตอร์ (PC) ชี้อยู่ที่คำสั่งปัจจุบัน
2. เมื่อสัญญาณอินเทอร์รัพต์ถูกส่งเข้ามาที่ซีพียู จะมีการเอ็กซิคิวต์คำสั่งปัจจุบันให้เสร็จเรียบร้อยก่อน หลังจากนั้น ข้อมูลทั้งหมดที่เกี่ยวข้องกับโปรแกรมที่หยุดเอ็กซิคิวต์, ตำแหน่งของคำสั่งสุดท้าย และข้อมูลในรีจิสเตอร์ทุกตัวจะถูกเก็บในพื้นที่ที่เป็นสแต็ก หรือพื้นที่พิเศษที่เรียกว่า (ProcessControlBlock)
3. เมื่อรูทีนของอินเทอร์รัพต์ถูกเอ็กซิคิวต์เรียบร้อยแล้ว ค่าในรีจิสเตอร์จะถูกคืนค่า รวมทั้งโปรแกรมเคาเตอร์ด้วย ทำให้โปรเซสเซอร์กลับมาเอ็กซิคิวต์คำสั่งต่อจากคำสั่งเดิมก่อนที่จะมีสัญญาณอินเทอร์รัพต์เข้ามา

ไม่มีความคิดเห็น:

แสดงความคิดเห็น