160 likes | 286 Vues
This presentation outlines the necessity for various arbitration disciplines in complex systems, focusing on both static and dynamic priority arbiters. Different types of arbiters are examined, showcasing speed improvements and system efficiency using a static priority arbiter and a dynamic priority arbiter. Results indicate performance enhancements depending on the priority assignments and request management. The findings suggest that resource allocation can be influenced by either active or static priority parameters, emphasizing the importance of optimizing request handling through advanced locking mechanisms.
E N D
Priority Arbiters Alex Bystrov David Kinniment Alex Yakovlev University of Newcastle upon Tyne, UK
Outline of presentation • Need for different arbitration disciplines • Types of arbiter • A static priority arbiter • A dynamic priority arbiter • Speed improvements • Results • Conclusions
Dataswitch Outputline Data control line 0control P0 r0 g0 line 1control Dynamic priority arbiter P1 r1 g1 line 2control P2 r2 g2 Arbitration • 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
requests ~r1,r1 g1 d1 r2 g2 d2 rn gn dn Start order of polling Types of arbiter • Topologically fixed • priorities determined by structure, e.g. daisy-chain • Static or dynamic priority • determined by fixed hardware, or priority data supplied
Control and Interface grants requests Priority logic Request lock register priority busses Static or dynamic priority
l MUTEX Lock s r w Metastability and priority • Lock the request pattern • incoming requests cause Lock to go high • following MUTEX ensures that request wins or loses • Evaluate priorities with a fixed request pattern ?
Lock MUTEX r1 s1 R1 s* q G1 C r MUTEX r2 s2 Priority Module R2 s* q G2 C r MUTEX r3 s3 R3 s* q G3 C r Lock Register s q C r* Static priority arbiter
Quasi speed independent Assumptions • s+ must occur before Lock+ • The physics of the MUTEX are such that if r+ is before Lock+, s+ must be asserted • 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
More than one request • Priority needed if requests are competing • Shared resource free • resolution required only if second request arrives before the lock signal due to first request • Shared resource busy • Further requests may accumulate, and one may be higher priority
Lock MUTEX r1 s1 R1 s* q G1 C r MUTEX r2 s2 Priority Module R2 s* q G2 C r MUTEX r3 s3 R3 s* q G3 C r Lock Register s q C r* Two more requests
f1 r1 C g1 r1 f2 r2 C g2 r2 Priority Logic f3 r3 C g3 r3 CompletionDetector C Dual-rail priority module • Dual rail request inputs • One-hot grant output
Priority data Invalid MUTEX s* q C Valid r s q C r* Dynamic priority P0<0..3> P1<0..3> Priority Module P7<0..3> Reset completion detector res_done done Lock s0-7 r0-7 R0-7 G0-7 Lock Register
G4 Slowcomputation Done Accelerated grant • 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 Maximum Calculation Cells Root MCC
MUTEX s1 R1 G1 C MUTEX s2 Priority Module R2 G2 C MUTEX s3 R3 G3 C Lock Register s q Lock r* Concurrent PM reset • Not speed independent. • Assume that Lock reset is faster than the resource. • Reset of the PM can take place concurrently with grant.
Results • 0.6m AMS Process DPA • R0 only to G0 4.94nS • R1 .. R7 arrive while processing R0, then R0 reset • 13.45nS • Priority module • 2.74nS (no priority data required) • 7.63nS (all priority inputs compared)
Conclusions • 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