ในระบบคอมพิวเตอร์ อุปกรณ์หลายอย่าง เช่น CPU หน่วยความจำ และ I/O จะใช้บัสร่วมกัน เมื่ออุปกรณ์มากกว่าหนึ่งตัวพยายามเข้าถึงบัสพร้อมกัน จะเกิดข้อขัดแย้งขึ้น การจัดสรรการใช้บัส (Bus arbitration) คือกระบวนการแก้ไขข้อขัดแย้งเหล่านี้และทำให้มั่นใจว่ามีเพียงอุปกรณ์เดียวเท่านั้นที่เข้าถึงบัสได้ในแต่ละครั้ง
อุปกรณ์ที่ควบคุมการทำงานของบัสเรียกว่า บัสมาสเตอร์ ส่วนหน่วยพิเศษที่เรียกว่า บัสอาร์บิเตอร์ จะทำหน้าที่เลือกอุปกรณ์ที่จะเข้าถึงบัสตามลำดับความสำคัญ หลังจากเสร็จสิ้นภารกิจแล้ว อุปกรณ์หลักปัจจุบันจะปล่อยบัสเพื่อให้อุปกรณ์อื่นสามารถใช้งานได้ การจัดสรรเส้นทางรถโดยสารสามารถนำไปใช้ได้โดยใช้วิธีต่างๆ เช่น การจัดสรรแบบรวมศูนย์ การจัดสรรแบบกระจายอำนาจ และการจัดสรรแบบกระจายศูนย์ ขึ้นอยู่กับวิธีการจัดการการควบคุมและลำดับความสำคัญ มีแนวทางสองประการในการระงับข้อพิพาทเกี่ยวกับรถโดยสารประจำทาง:
การตัดสินข้อพิพาทเรื่องรถโดยสารประจำทางแบบรวมศูนย์: ผู้ตัดสินข้อพิพาทเรื่องรถโดยสารประจำทางเพียงรายเดียวจะทำการตัดสินข้อพิพาทที่จำเป็น การจัดสรรบัสแบบกระจาย: อุปกรณ์ทั้งหมดที่เข้าร่วมในการเลือกมาสเตอร์บัสถัดไป วิธีการอนุญาโตตุลาการ BUS แบบรวมศูนย์ 1. วิธีการต่อแบบลูกโซ่ (Daisy Chaining):
เป็นวิธีที่ง่ายและประหยัดกว่า โดยที่ตัวควบคุมบัส (Bus Master) ทุกตัวจะใช้สายเดียวกันในการส่งคำขอเข้าถึงบัส สัญญาณอนุญาตเข้าถึงบัสจะส่งต่อไปยังตัวควบคุมแต่ละตัวตามลำดับ จนกว่าจะพบกับตัวแรกที่ขอเข้าถึงบัส ตัวควบคุมนั้นจะบล็อกการส่งต่อสัญญาณอนุญาตเข้าถึงบัส ทำให้โมดูลอื่นๆ ที่ขอเข้าถึงบัสไม่ได้รับสัญญาณอนุญาตและไม่สามารถเข้าถึงบัสได้ ในแต่ละรอบการทำงานของบัส ตัวควบคุมบัสอาจเป็นอุปกรณ์ใดก็ได้ เช่น โปรเซสเซอร์ หรือหน่วยควบคุม DMA ที่เชื่อมต่อกับบัส
ข้อดี
ความเรียบง่ายและความสามารถในการปรับขนาด ผู้ใช้สามารถเพิ่มอุปกรณ์เพิ่มเติมได้ทุกที่ตามแนวโซ่ โดยมีจำนวนสูงสุดไม่เกินค่าที่กำหนดไว้ ข้อเสีย
ค่าลำดับความสำคัญที่กำหนดให้กับอุปกรณ์นั้นขึ้นอยู่กับตำแหน่งของมาสเตอร์บัส วิธีการนี้ทำให้เกิดความล่าช้าในการส่งสัญญาณ หากอุปกรณ์ชิ้นใดชิ้นหนึ่งเสีย ระบบทั้งหมดก็จะหยุดทำงาน 2. วิธีการจัดลำดับความสำคัญแบบวนรอบหรือหมุนเวียน:
ในวิธีนี้ ตัวควบคุมจะใช้ในการสร้างที่อยู่สำหรับอุปกรณ์หลัก (ลำดับความสำคัญที่ไม่ซ้ำกัน) โดยจำนวนสายที่อยู่ที่ต้องการจะขึ้นอยู่กับจำนวนอุปกรณ์หลักที่เชื่อมต่ออยู่ในระบบ ตัวควบคุมจะสร้างลำดับที่อยู่ของอุปกรณ์หลัก เมื่ออุปกรณ์หลักที่ร้องขอจดจำที่อยู่ของตนได้ ก็จะเปิดใช้งานสายที่ไม่ว่างและเริ่มใช้งานบัส
ข้อดี
วิธีการนี้ไม่ได้ให้ความสำคัญกับอุปกรณ์หรือโปรเซสเซอร์ใดเป็นพิเศษ วิธีการนี้ก็ค่อนข้างง่ายเช่นกัน หากอุปกรณ์ชิ้นใดชิ้นหนึ่งเสียหาย ระบบทั้งหมดจะไม่หยุดทำงาน ข้อเสีย
การเพิ่มตัวควบคุมบัส (bus master) นั้นทำได้ยาก เนื่องจากจะทำให้จำนวนสายแอดเดรสของวงจรเพิ่มขึ้น 3. วิธีการจัดลำดับความสำคัญคงที่หรือการร้องขอแบบอิสระ
ในวิธีนี้ มาสเตอร์แต่ละตัวจะมีคู่ของสายร้องขอบัสและสายอนุญาตบัสแยกกัน และแต่ละคู่จะมีลำดับความสำคัญที่กำหนดไว้ให้
ตัวถอดรหัสลำดับความสำคัญในตัวภายในตัวควบคุมจะเลือกคำขอที่มีลำดับความสำคัญสูงสุดและส่งสัญญาณอนุญาตการใช้งานบัสที่เกี่ยวข้อง
ข้อดี
วิธีนี้ทำให้ได้ผลลัพธ์ที่รวดเร็ว ข้อเสีย
ต้นทุนด้านฮาร์ดแวร์สูง เนื่องจากต้องใช้สายควบคุมจำนวนมาก แอปพลิเคชัน ระบบหน่วยความจำร่วม: ในระบบหน่วยความจำร่วม อุปกรณ์หลายตัวจำเป็นต้องเข้าถึงหน่วยความจำเพื่ออ่านหรือเขียนข้อมูล การจัดสรรการใช้งานบัสช่วยให้อุปกรณ์หลายตัวสามารถเข้าถึงหน่วยความจำได้โดยไม่รบกวนซึ่งกันและกันระบบมัลติโปรเซสเซอร์: ในระบบมัลติโปรเซสเซอร์ โปรเซสเซอร์หลายตัวจำเป็นต้องสื่อสารกันเพื่อแบ่งปันข้อมูลและประสานงานการประมวลผล การจัดสรรการใช้งานบัสช่วยให้โปรเซสเซอร์หลายตัวสามารถเข้าถึงบัสร่วมกันเพื่อสื่อสารกันและกับหน่วยความจำส่วนกลางได้อุปกรณ์รับ/ส่งข้อมูล: อุปกรณ์รับ/ส่งข้อมูล เช่น คีย์บอร์ด เมาส์ และเครื่องพิมพ์ จำเป็นต้องสื่อสารกับโปรเซสเซอร์เพื่อแลกเปลี่ยนข้อมูล การจัดสรรการใช้งานบัสช่วยให้อุปกรณ์รับ/ส่งข้อมูลหลายตัวสามารถเข้าถึงบัสร่วมกันเพื่อสื่อสารกับโปรเซสเซอร์และหน่วยความจำได้ระบบเรียลไทม์: ในระบบเรียลไทม์ ข้อมูลจำเป็นต้องถูกถ่ายโอนระหว่างอุปกรณ์และหน่วยความจำภายในกรอบเวลาที่กำหนด เพื่อให้มั่นใจได้ว่าการประมวลผลเป็นไปอย่างทันท่วงที การจัดสรรการใช้งานบัส (Bus arbitration) สามารถช่วยให้มั่นใจได้ว่าการถ่ายโอนข้อมูลเกิดขึ้นภายในกรอบเวลาที่กำหนด โดยการจัดการการเข้าถึงบัสระบบฝังตัว: ในระบบฝังตัว อุปกรณ์หลายตัว เช่น เซ็นเซอร์ แอคชูเอเตอร์ และตัวควบคุม จำเป็นต้องสื่อสารกับโปรเซสเซอร์เพื่อควบคุมและตรวจสอบระบบ การจัดสรรการใช้งานบัสช่วยให้อุปกรณ์หลายตัวสามารถเข้าถึงบัสร่วมกันเพื่อสื่อสารกับโปรเซสเซอร์และหน่วยความจำได้