Siin

Siin (inglise "bus") on arvuti või arvutivõrgu elektriliste ühenduste andmesidesüsteem. Siin hõlmab arvutisüsteemide komponentide vahelisi sidekanaleid ja protokolle.
Siine liigitatakse peamiselt tööülesannete ja arhitektuuriliste iseärasuste järgi.
Taust ja mõisted.
Arvutisüsteemil on tavaliselt kolm põhilist osa: andmeid töötlev keskprotsessor, programme ja andmeid talletav põhimälu, ning välismaailmaga suhtlevad sisend/väljundseadmed.
Traditsioonilises arvutiarhitektuuris asuvad keskprotsessor ja põhimälu lähestikku. Mikroprotsessor on kiip, millel on hulganisti väljaviike, millest osa on mõeldud mäluaadressile viitamiseks ning osa mäluaadressile andmete kirjutamiseks või sealt andmete lugemiseks. Üldjuhul töötavad mälud ja protsessor sünkroonis. Põhiprotsessorit, mälu ning välisseadmed ühendavat siini nimetatakse süsteemisiiniks.
Sarnaselt põhimäluga on võimalik ühendada protsessoriga ka väliseid seadmeid, selleks kasutatakse süsteemisiiniga ühendatud laiendussiini. Väliste seadmete töökiirus erineb märkimisväärselt protsessori kiirusest ning protsessori töö pärssimise vältimiseks on loodud mitu kontseptsiooni. Üks neist on dünaamiline mäluhaldus ning teine protsessorile väljaviikude lisamine mäluga suhtlemiseks, sealjuures on väljaviigud võimelised suhtlema erinevatel kiirustel ja eri protokollidega. Kaasaegsetes arvutisüsteemides kasutatakse vastavalt töö iseloomule ja vajadusele nende kahe lahenduse kombinatsiooni.
Välisseadmete arvu suurenemine arvutis on viinud uue mitmete välisseadmete ühendamiseks mõeldud siinisüsteemi väljaarendamiseni, mis kaotab mitme laiendussiini vajaduse emaplaadil.
Kaasaegsetes arvutites on selleks jada-ATA liides, mis lubab näiteks mitme kõvaketta ühendamist ilma spetsiaalse kaardita. Kuna selline liides on mõeldud pigem ressursinõudlikumate seadmete jaoks ning näiteks hiire ühendamiseks on see liiga kallis, siis on välja töötatud sihtotstarbelised välissiinid, millest tuntuim on jadasiin USB.
Kuna jõudluste vahe mälu ja protsessori vahel üha suureneb, siis on kaasaegsete protsessorite külge lisatud ülikiired vahemälud. Selline süsteem lubab protsessoril suhelda seadmetega ülikiire siini kaudu, mis on põhimälu siiniga võrreldes oluliselt kiirem. Nende süsteemisiinide kaudu suheldakse vastavate adapterite abil ka välisseadmetega. Arhitektuurilt sarnanevad sellised süsteemid hajusarvutust kasutavate süsteemidega, kus suhtluseks kasutatakse võrgu asemel siine. Sellise süsteemi puhul on laiendussiinid protsessorist eraldiseisvad ja ei ole seotud protsessori arhitektuuriga ning varasem süsteemisiin on nüüd esisiin.
Nende muutuste valguses ei ole võimalik üheselt eristada klassikalist süsteemisiini, laiendussiini ning välissiini, sest neil puudub mõtteline seos reaalsete siinidega. Peamine siinide kategoriseerimisviis põhineb siini töö iseloomul, kas siin ühendab välimisi või sisemisi seadmeid (näiteks SCSI- ning PCI-siinid). Samas paljusid tuntud siine kasutatakse mõlemaks otstarbeks. SATA-t ja eSATA-t võis varem lugeda peamiselt sisemisteks siinideks ning peamiselt välissiini otstarbeks loodud IEEE 1394 kasutatakse nüüd autotööstuses süsteemisiinina. On ka siine, mis on väljatöötamise algusest saadik mõeldud mõlemat rolli täitma, näiteks I²C.
Sisemised siinid.
Sisemised siinid ehk lokaalsiinid asuvad emaplaadil ja ühendavad arvuti sisemisi komponente, näiteks protsessorit ja mälu. Need siinid on kiired ja töötavad ülejäänud arvutist eraldiseisvana. Sisemiste siinide hulka kuuluvad näiteks mälusiin, andmesidesiin ja süsteemisiin.
Välised siinid.
Välised siinid on mõeldud väliste seadmete ühendamiseks arvutiga laiendussiini abil. Näiteks printerid, klaviatuur jne. Lisaks kasutatakse välissiine välkmäluseadmete (näiteks mälupulgad) ühendamiseks protsessoriga. Populaarsemate välissiinide hulka kuuluvad näiteks PCI ja IEEE 1294.
Kasutus ja variatsioonid.
Siine jagatakse arhitektuuriliselt peamiselt paralleelsiinideks ja jadasiinideks. Paralleelsiin edastab andmeid üheaegselt mitme paralleelselt ühendatud juhtme kaudu. Jadasiini puhul edastatakse andmed bitijadana. Andmesidekiiruste kasvades paralleelsiinide puhul kasvanud probleemid ajastamisel, elektromagnetilisel ühilduvusel ja energia tarbimisel. Neid probleeme on siinil raske vältida ning need tekitavad müra väljundandmetesse. Osaline lahendus probleemile on andmete saatmine siinile nii tõusval kui ka langeval taktsignaalil. Kuigi jadasiinidel on võrreldes paralleelsiiniga vähem elektrilisi ühendusi andmete edastamiseks, on jadasiinidel võimalik saavutada kiiremaid andmeedastuskiirusi, sest jadasiinil puuduvad paralleelsiinile omased probleemid. Kiired jadasiinid on näiteks USB, Firewire ja jada-ATA.
Kontseptuaalselt ei peeta siinideks selliseid võrguühendusi nagu Etherneti-ühendus. See põhimõte tuleneb ühest peamisest siini kirjeldavast nõudest, et siin toidab enda külge ühendatavat seadet. See omadus välistab mitmed liidesed nagu Ethernet, RS-232 ja IEEE 1284, kuna neil liidestel on vajalik eraldi toiteallikas. USB-liideste puhul saab kasutada siini pakutavat toidet, kuid tihti kasutatakse ka eraldiseisvat toiteallikat.
Siini topoloogia.
Võrgus juhib andmete liikumist ülem plaanur. Andmeid sooviv arvuti saadab plaanurile teate ja plaanur paneb selle järjekorda. Teatel on identifikaator, mis edastatakse kõigile võrgusõlmedele. Plaanur määrab prioriteedid ja edastab andmed vastuvõtjale niipea, kui siin vabaneb. Määratud sõlm edastab sõnumi teisele arvutile. Pärast andmeedastuse lõppu siin vabaneb ja seejärel saab vastu võtta plaanuri järjekorrast järgmise andmepaketi.
Siini niisuguse korralduse eeliseks on see, et iga arvutiga saab suhelda otse ning sõnumeid saab saata suhteliselt lihtsalt ja kiiresti. Puuduseks on vajadus võrguliiklust korraldava plaanuri järele, mis määrab iga signaali sageduse ja prioriteedi.