Arbitraj autobuz

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică, arbitrajul autobuzelor este funcția care gestionează proprietatea autobuzului pentru a evita ambiguitatea atunci când mai mulți maeștri solicită utilizarea acestuia în același timp; arbitrul decide ce dispozitiv să-i acorde mai întâi.

Tipuri

Există două tipuri de mecanisme de arbitraj: centralizat sau descentralizat .

În arbitrajul centralizat, autobuzul este acordat de un circuit integrat în CPU numit arbitru, cu toate acestea, în arbitrajul descentralizat nu există un astfel de cip, concesiunea autobuzului este gestionată de dispozitivele în sine.

Arbitraj centralizat

Mecanismul de arbitraj centralizat include o unitate funcțională adecvată, care îndeplinește funcția de arbitru de autobuz și câteva linii (aparținând magistralei de control) care leagă arbitrul de potențiali stăpâni care ar putea necesita controlul magistralei.

Există două tipuri de arbitraj centralizat:

  • Daisy Chaining (conexiune multiplă)
  • Solicitare independentă

Daisy Chaining

În acest tip de arbitraj, fiecare dispozitiv, atunci când primește semnalul Grant (semnal de grant de autobuz), verifică dacă a făcut o cerere de autobuz:

  • dacă a făcut cererea, utilizează magistrala și nu propagă semnalul Grant către dispozitivele ulterioare.
  • dacă nu a făcut cererea, răspândește semnalul lui Grant.

Deci, într-un mecanism Daisy Chaining, dispozitivul cel mai apropiat fizic de arbitru are mai multă prioritate decât dispozitivele aflate mai departe.

DaisyCh2.jpg

De asemenea, este posibil să aveți mai multe niveluri de prioritate, fiecare caracterizat prin propria linie de cerere de autobuz și o linie de grant.

DaisyCh.jpg

Solicitare independentă

Acest tip de arbitraj este utilizat de autobuzele PCI . Fiecare dispozitiv are o linie de solicitare a autobuzului și o linie Grant care o conectează la arbitru.

Ind Req.jpg

Autobuzului îi este permis să efectueze un singur transfer pe rând, dacă dispozitivul mai trebuie să transfere date și nimeni altcineva nu le cere, atunci îl poate folosi în continuare. Acest tip de arbitraj permite transferuri lungi atunci când există un singur master și garantează un răspuns rapid atunci când mai multe dispozitive au nevoie de autobuz.

Arbitraj distribuit

În mecanismul de arbitraj descentralizat:

  • Nu există arbitru.
  • Fiecare unitate funcțională are o prioritate fixă ​​și diferită, exprimată printr-un cod unic asociat cu unitatea în sine.
  • Dacă mai multe dispozitive au nevoie de autobuz, acesta este luat de cel cu cea mai mare prioritate.

Decentralizz.jpg

Acest tip de arbitraj folosește doar 3 linii:

  • Linie de solicitare, care face solicitarea autobuzului.
  • Ocupat, este activat de către comandantul care o solicită.
  • Linia de arbitraj, care conectează toate dispozitivele, este utilizată pentru a arbitra autobuzul și este alimentată la 5 volți.

Când nimeni nu solicită autobuzul, linia de arbitraj se propagă pentru toate dispozitivele, în timp ce dacă un dispozitiv o solicită, va trebui să verifice dacă autobuzul este liber și dacă semnalul liniei de arbitraj (IN) este activat; în acest caz, acesta neagă OUT astfel încât toate dispozitivele ulterioare să vadă IN negat și, la rândul său, să anuleze OUT. În acest fel, dispozitivul cu cea mai mare prioritate care a făcut cererea va avea posesia autobuzului, va activa liniile Busy și OUT și își va începe transferul. Această schemă este similară cu Daisy Chaining, cu excepția faptului că nu are arbitru, această diferență îl face mai ieftin, mai rapid și nu este predispus la eșecul arbitrului.

Bibliografie

  • Giacomo Bucci, Arhitecturile computerelor electronice, McGraw-Hill, 2001.
  • Andrew S. Tanenbaum, Arhitectura computerelor, Pearson Education Italia, 2006.
  • Arhitectura și organizarea computerelor, William Stallings, Luca A. Ludovico, Ottavio D'Antona, 2004.

Elemente conexe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT