Sabirnica ili engleski bus (buses - množina) je podskup unutar računala ili neke druge elektroničke opreme koja kroz jedan dogovoreni standard omogućava usmjeravanje podataka i upravljačkih signala između: integriranih krugova kao na primjer CPU i memorije, ostalih uređaja koje sačinjavaju računalo, podskupova unutar računala, ili izmedu međuspojnica koje dozvoljavaju spajanje računala s vanjskim svijetom.
Povijest razvoja
Način na koji je sabirnica izrađena ili izabrana imat će utjecaj na način na koje računalo radi (brzina) kao i na mogućnost proširenja i korištenja standardiziranih komponenti koje su dostupne na tržištu.
Prve računalne sabirnice sastojale su se od skupa paralelnih žica koje su spajale središnju jedinicu sa memorijom te ostalim perifernim jedinicama. Zbog sličnosti sa sabirnicama u distribuciji napona, ovo ime je kasnije široko korišteno u računalstvu. U prvoj i drugoj generaciji računala postojale su posebne sabirnice za glavnu memoriju, te za ostale podskupove jedinica koje su činile računalni sustav. Dizajner je imao zadaću osmisliti način spajanja svih glavnih sastavnica sustava, vežući ih nazad na središnju jedinicu ili mikroprocesor putem niza usporednih žica ili paralelnih spojeva na tiskanoj pločici uzimajući u obzir brzinu te razne protokole koje su postojale između memorije, perifernih jedinica koje su kasnije povezane na središnju jedinicu.
Pojavom prekida prekida (eng. interrupt), posao dizajnera se u mnogome komplicira, jer tokom prekida središnja jedinica računala mora obrađivati poziv sa periferne jedinice, t.j. raditi na nižoj brzini nego što je u stvari potrebno i tako usporavajući rad cijelog računalnog sustava. Ovaj monolitan način povezivanja pokazao se nedovoljno fleksibilan, jer mnoge odluke dizajnera u stvaranju sabirnice mogu dovesti do određenih problema, koje mogu biti fizičke i funkcionalne. Sa fizičke strane, ako je sabirnica dovoljno dugačka, onda zbog otpora te zbog elektromagneskih efekata, sabirnica postaje manje efektivna zbog grješaka te je potrebno pojačati razinu signala zbog gubitaka što nekada nije praktično jer uključuje mnogo žica. Određene tehnologije kao TTL imaju granice koliko istih uređaja u nizu je moguće povezati prije nego što se uvedu pojačala ili neke druge mjere. Rad monolitne sabirnice je nekada nepredvidljivo bilo zbog vanjskih ili unutrašnjih smetnji, i dizajner je ponekad primoran na kompromise t.j. usporavanje rada cijelog računalnog sustava radi uvođenja stabilnosti rada. Dizajneri su također imali i mnoge probleme nemogućnosti prebacivanja pojedinih ideja s jedne mikroprocesorske arhitetkure, jer krajnji dizajn monolitne ili prve generacija sabirnica bile su uvjetovane iglicama koje su dostupne na kučištu mikroprocesora te pratećih integriranih krugova. U prvoj generaciji sabirnica glavu ulogu u kontroliranju rada sabirnice koristi se rad središnje jedinice.
Uvidjeći ove probleme, sljedeći pomak napravljen je u dizajnu sabirnice NuBus koje se smatra prekretnicom u izvedbi računalnih sabirnica. Pravi se dioba između središnje jedinice i memorije na jednoj strani, te perifernih jedinica na drugoj. Rad sa perifernim jedinicama dodijeljen je upravljaču sabirnice (eng. bus controller), koji je riješio problem trošenja ciklusa središnje jedinice i s time omogućavao njegovu veću brzinu rada. Isto tako, NuBus je omogućio dizajnerima korištenje sabirnice koja nije ovisila o vrsti i arhitekturi mikroprocesora, što je omogućilo veću slobodu rada. NuBus je uveo i termin plug-and-play, izbacivajući potrebu da se koriste tvrde poveznice (žićane spojke), koje su prije bile potrebne za korištenje novih perifernih jedinica na sabirnici. Prestavnici druge generacije sabirnica su: PCI, AGP, SCSI, IDE.
Povećanjem radnog takta mikroprocesora, te širine sabirnice za adrese i podatke (sa 16/32 bita na 64/128bita), dizajneri su bili suočeni sa raznim problemima posebno kod prijenosa podataka i smanjivanju razmaka između iglica na sabirnicama. Prestavnici treće generacije sabirnica su HyperTransport i InfiniBand. Koje omogućavaju veće brzine prijenosa podataka, i lakše povezivanje raznih podjedinica unutar računala.
Podjela po načinu prijenosa
Po načinu prijenosa podataka i kontrolnih signala sabirnice se dijele na:
- serijske - na primjer USB, Firewire
- paralelne - AGP, PCI
- miješane - HyperTransport, InfiniBand, PCIe
Paralelne sabirnice su prije imale primat kao način prijenosa podataka i signala, i serijske sabirnice su se uglavnom rabile kod sustava gdje brzina prijenosa podataka nije toliko važna, ili su udaljenosti između periferne jedinice i računala velike ili postoje posebni vanjski faktori kao elektromagnetske smetnje. Probojem novih tehnologija u obradi signala te većim radnim brzinama središnjih jedinica, omogućilo je dodatni razvitak serijskih sabirnica, i mnoge tvrtke su stvorile konzorcije radi spajanja najboljih tehničkih rješenja koje su dostupne kod serijskih i paralelnih sabirnica.
Standardizirane sabirnice
Postoji više standardiziranih sabirnica za računala za koje su podaci dostupni ili su bili korišteni pri gradnji računala.