Priority Arbiters Alex Bystrov David Kinniment Alex Yakovlev
Priority Arbiters Alex Bystrov David Kinniment Alex Yakovlev University of Newcastle upon Tyne, UK ASYNC 2000 Eilat April 2 - 6 1
Outline of presentation l l l l Need for different arbitration disciplines Types of arbiter A static priority arbiter A dynamic priority arbiter Speed improvements Results Conclusions ASYNC 2000 Eilat April 2 - 6 2
Arbitration l l l Complex systems may require that some requests overtake others Here three input channels require access to a single output port Each request may have a different priority Priority can be topologically fixed, or determined by a function ASYNC 2000 Eilat April 2 - 6 Data Output Data switch line control line 0 P 0 control r 0 g 0 line 1 control line 2 control P 1 r 1 g 1 Dynamic priority arbiter l P 2 r 2 g 2 3
Types of arbiter l Topologically fixed – priorities determined by structure, e. g. daisy-chain requests ~r 1, r 1 g 1 d 1 r 2 g 2 d 2 rn g n d n Start order of polling l Static or dynamic priority – determined by fixed hardware, or priority data supplied ASYNC 2000 Eilat April 2 - 6 4
Static or dynamic priority ASYNC 2000 Eilat April 2 - 6 grants Request lock register priority busses requests Control and Interface Priority logic 5
Metastability and priority l Lock the request pattern – incoming requests cause Lock to go high – following MUTEX ensures that request wins or loses ? Lock r l l MUTEX s w Evaluate priorities with a fixed request pattern ASYNC 2000 Eilat April 2 - 6 6
Static priority arbiter Lock R 1 s* q MUTEX r 1 s 1 C G 2 C G 3 R 2 MUTEX r 2 s* q r Priority Module r MUTEX R 3 s* q r 3 s 3 r Lock Register s C ASYNC 2000 Eilat April 2 - 6 q r* 7
Quasi speed independent Assumptions l s+ must occur before Lock+ – The physics of the MUTEX are such that if r+ is before Lock+, s+ must be asserted l The three inputs to the Lock bistable are implemented as a single complex gate set. – A faster non speed independent implementation in which the gate is separate is possible ASYNC 2000 Eilat April 2 - 6 8
More than one request l l Priority needed if requests are competing Shared resource free – resolution required only if second request arrives before the lock signal due to first request l Shared resource busy – Further requests may accumulate, and one may be higher priority ASYNC 2000 Eilat April 2 - 6 9
Two more requests Lock R 1 s* q MUTEX r 1 s 1 C G 2 C G 3 R 2 MUTEX r 2 s* q r Priority Module r MUTEX R 3 s* q r 3 s 3 r Lock Register s C ASYNC 2000 Eilat April 2 - 6 q r* 10
Dual-rail priority module f 1 r 2 r 3 Priority Logic r 1 f 2 f 3 C g 1 C g 2 C g 3 r 3 l l Dual rail request inputs One-hot grant output ASYNC 2000 Eilat April 2 - 6 Completion Detector C 11
P 0<0. . 3> P 1<0. . 3> Priority data P 7<0. . 3> Reset completion detector R 0 -7 s* q res_done Invalid Lock Priority Module Dynamic priority done s 0 -7 MUTEX r 0 -7 C G 0 -7 Valid r Lock Register s C ASYNC 2000 Eilat April 2 - 6 q r* 12
Accelerated grant l l Valid and Invalid signals are generated from the Lock register Tree computation of grant Only one channel needs to be valid for the node to be valid Not all nodes need data evaluation Data comparison uses dual rail or one hot techniques ASYNC 2000 Eilat April 2 - 6 G 4 Maximum Calculation Cells l Slow computation Done Root MCC 13
Concurrent PM reset Not speed independent. – Assume that Lock reset is faster than the resource. l Reset of the PM can take place concurrently with grant. MUTEX s 1 R 1 MUTEX s 2 R 2 Priority Module l C G 1 C G 2 C G 3 MUTEX s 3 R 3 Lock Register s q Lock r* ASYNC 2000 Eilat April 2 - 6 14
Results l l l 0. 6 m AMS Process DPA R 0 only to G 0 4. 94 n. S R 1. . R 7 arrive while processing R 0, then R 0 reset – 13. 45 n. S l Priority module – 2. 74 n. S (no priority data required) – 7. 63 n. S (all priority inputs compared) ASYNC 2000 Eilat April 2 - 6 15
Conclusions l l l Arbitrary priority discipline Resource allocation a function of parameters supplied by active requests (or fixed statically) Quasi speed independent request locking and priority evaluation Accelerated grant where possible Speed improvements possible with relative timing assumptions ASYNC 2000 Eilat April 2 - 6 16
- Slides: 16