一種設備
仲裁器(arbiter)是一種設備,其核心功能是在多個請求者之間決定哪個請求者將獲得對有限資源的訪問權。它廣泛套用於不同的領域和系統,包括但不限於:
通信協定:如I2C和CAN匯流排中的匯流排仲裁,確保數據傳輸的公平性和效率。
多處理器系統:在需要共享資源的情況下,如存儲器訪問,仲裁器決定哪個處理器可以訪問資源。
FPGA(現場可程式門陣列):在多個模組同時請求相同資源時,仲裁器根據預設的優先權或其他準則決定資源的歸屬。
仲裁器的工作原理可以概括為接受N個請求作為輸入,並以one-hot(獨熱碼)的形式輸出單個授權。獨熱碼是一種編碼方式,其中只有一位是活躍的(值為1),表示只有一個請求被選中。
仲裁器的類型包括:
輪詢仲裁器(Round-Robin Arbiter):按順序輪詢每個請求源,適用於需要公平處理的場景。
固定優先權仲裁器(Fixed-Priority Arbiter):根據請求源的預設優先權來決定哪個請求將被服務,適用於優先權差異較大的場景。
仲裁器可以是同步的(即,時鐘控制的)或異步的,具體取決於其套用環境和設計需求。