داوری (الکترونیک)

**حاکمان** یا **داوران** یا **آربیتِرها**  دستگاه‌های الکترونیکی هستند که دسترسی به منابع مشترک را بین مصرف کننده کان و درخواست کنندگان تقسیم می‌کنند. در واقع **حمکیت** انجام می‌شود.

## حکمیت (داوری) بر روی گذرگاه
راه‌های متعددی برای انجام حکمیت یک گذرگاه رایانه‌ای وجود دارد. رایج‌ترین انواع آن عبارت‌اند از:

* موازی متمرکز پویا که در آن یک داور یا آربیتر مرکزی برای همه مسترها به‌کار می‌رود.
* *متمرکز سری* ‎یا «*زنجیره مروارید*» که در آن پس از دست‌یابی هر مستر به گذرگاه، فرصت به مستر بعدی منتقل می‌شود و عملاً هر مستر یک داور داخلی مختص به خود را دارد.
* *داوری توزیع‌شده با انتخاب شخصی* (‏داوری گذرگاه توزیع‌شده) که در آن دسترسی بر ساس تصمیم محلی هر مستر و با استفاده از اطلاعات سایر مسترها خودبه‌خود داده می‌شود.
* *داوری توزیع‌شده با [[دسترسی چندگانه با شنود حامل و تشخیص برخورد|تشخیص برخورد]]* که در آن هر مستر به طور مستقل برای دسترسی به گذرگاه تلاش می‌کند، برخورد را تشخیص داده و عملیات ناموفق را تکرار می‌کند.

یک داور گذرگاه در یک سامانه گذرگاه چنداربابی تعیین می‌کند کدام مستر در هر چرخه گذرگاه اجازه کنترل گذرگاه را داشته باشد.

رایج‌ترین نمونه داوری گذرگاه، «داور حافظه» در یک سامانه گذرگاه سیستمی است.

**داور حافظه** در سامانه حافظه مشترک تعیین می‌کند که کدام سی‌پی‌یو می‌تواند در هر چرخه از حافظه، به آن دسترسی یابد.

برخی دستورهای اتمی برای جلوگیری از خواندن حافظه «در میانه» عملیاتِ خواندن‑تغییر‑نوشتن اتمی توسط سایر سی‌پی‌یوها به داور (آربیتر) وابسته‌اند.

آربیتر حافظه معمولاً در کنترلگر حافظه یا کنترل‌کننده دی‌اِم‌اِی یکپارچه می‌شود.

برخی سامانه‌ها همچون پی‌سی‌آی متعارف یک وسیله به عنوان داوری گذرگاه مرکزی واحد دارند که می‌توان آن را «داور گذرگاه» نامید و معمولاً در چیپ‌ست مجتمع شده است.

برخ دیگر از سامانه‌ها از داوری گذرگاه غیرمتمرکز استفاده می‌کنند که در آن همه دستگاه‌ها برای تعیین نوبت بعدی با هم همکاری می‌کنند.

اگر همه سی‌پی‌یوهای متصل به آربیتر حافظه، چرخه‌های دسترسی به حافظه هم‌زمان داشته باشند، می‌توان داور حافظه را به صورت هم‌زمان (سنکرون) طراحی کرد؛ در غیر این صورت داور باید ناهمزمان (آسنکرون) باشد.

## آربیترهای آسنکرون
یکی از شکل‌های مهم آربیتر در مدار آسنکرون به‌کار می‌رود تا ترتیب دسترسی به یک منبع مشترک را میان درخواست‌های آسنکرون تعیین کند. وظیفه آن جلوگیری از وقوع هم‌زمان دو عملیاتی است که تداخل دارند و نباید چنین شود. برای نمونه، در رایانه‌ای با چند سی‌پی‌یو یا دستگاه‌های دیگر که به حافظه رایانه دسترسی دارند، و هرکدام نیز ساعت (کلاک) جداگانه‌ای دارند، این امکان هست که دو درخواست نامستقل تقریباً هم‌زمان با هم وارد گذرگاه شوند. منظور از هم‌زمان «تقریباً» می‌تواند در حد زیر‑فمتوثانیه باشد. آربیتر حافظه باید تصمیم بگیرد کدام درخواست نخست رسیدگی شود. متأسفانه، انجام این کار در بازه‌های زمانی ثابت (حالت سنکرون) ممکن نیست [Anderson 1991].

### آربیترهای آسنکرون و شبه‌پایداری
آربیترها گره‌گشا هستند. مانند یک فلیپ‌فلاپ، آربیتر دو حالت پایدار دارد که متناظر با دو انتخاب است. اگر دو درخواست در فاصله چند پیکوثانیه (امروزه فمتوثانیه) از هم برسند، مدار ممکن است پیش از رسیدن به یکی از حالت‌های پایدار، وارد شبه‌پایداری در الکترونیک شود. آربیترهای کلاسیک طوری طراحی می‌شوند که در هنگام متاپایداری نوسان نکنند و با استفاده از توان بیشتر، هرچه زودتر از آن خارج شوند؛ احتمال نرسیدن به حالت پایدار با گذر زمان پس از ارائه ورودی‌ها به‌طور نمایی کاهش می‌یابد.

در میانه دهه ۱۹۷۰ راهکاری قابل اعتماد برای این مسئله یافت شد. هرچند آربیترِ تصمیم‌گیر در زمان ثابت ممکن نیست، می‌توان مداری ساخت که در موارد «سخت» (فراخوانی‌های نزدیک) اندکی بیشتر زمان ببرد. باید یک مدار همگام‌سازی چندمرحله‌ای به‌کار رود که تشخیص دهد آربیتر هنوز پایدار نشده و تا رسیدن به پایداری پردازش را به‌تعویق اندازد. در نظریه، آربیتر می‌تواند بی‌نهایت طول بکشد (نگاه کنید به اصل بریدان), اما در عمل بندرت بیش از چند تأخیر گیت زمان می‌برد. مقاله کلاسیک [Kinniment and Woods 1976] «فلیپ‌فلاپ سه‌حالته» را توصیف می‌کند و [Ginosar 2003] درباره خطاهای رایج در طراحی آربیتر هشدار می‌دهد.
این نتیجه اهمیت عملی فراوانی دارد، زیرا رایانه‌های چندپردازنده‌ای بدون آن به‌طور قابل اطمینان کار نمی‌کنند. نخستین رایانه‌های چندپردازنده‌ای مربوط به اواخر دهه ۱۹۶۰ و پیش از توسعه آربیترهای قابل اعتماد بودند؛ برخی از آن‌ها با ساعت‌های مستقل برای هر پردازنده از شرایط مسابقه در آربیتر رنج می‌بردند و نامطمئن بودند، اما امروزه این مشکل رفع شده است.
## آربیترهای سنکرون
آربیترها در محیط‌های سنکرون نیز برای تخصیص دسترسی به منبع مشترک به‌کار می‌روند. یک نمونه از آربیتر سنکرون، **آربیتر موج‌جبهه‌ای** است که در نوعی سوئیچ شبکه بزرگ وجود دارد.

## یادداشت‌ها


## مراجع

## منابع کتاب‌شناسی

* D.J. Kinniment and J.V. Woods.  ''Synchronization and arbitration circuits in digital systems''. Proceedings IEE.  October 1976.
* Carver Mead and Lynn Conway.  *Introduction to VLSI Systems* Addison-Wesley. 1979.
* 
* Ran Ginosar. "Fourteen Ways to Fool Your Synchronizer" ASYNC 2003.
* J. Anderson and M. Gouda, "A New Explanation of the Glitch Phenomenon ", Acta Informatica, Vol. 28, No. 4, pp.&nbsp;297–309, April 1991.
* 
* 

## پیوند به بیرون

* Digital Logic Metastability
* Metastability Performance of Clocked FIFOs
* کتاب‌نامه «مدارهای آسنکرون» 
* Efficient Self‑Timed Interfaces for Crossing Clock Domains
رده:مدارهای الکتریکی