Väylä

**Väylä** on tietokonetekniikassa alijärjestelmä, joka siirtää dataa tietokoneen osille tietokoneen sisällä tai tietokoneiden välillä. Toisin kuin kaksipisteyhteys (point-to-point -yhteys, vrt. Point-to-Multipoint eli monipisteyhteys), väylä yhdistää useita lisälaitteita saman väylän varrella johdotuksilla. Väylä mahdollistaa hyvinkin erilaisten oheislaitteiden liittämisen tietokonejärjestelmään yhtenäisen standardoidun rajapinnan kautta.

## Taustaa
Väyliä käytetään useisiin eri tarkoituksiin. Väylä voi olla tietokoneen sisäinen *laiteväylä* (system bus), jolloin se siirtää tietoa tietokoneen emolevyllä suorittimen, keskusmuistin ja emolevyllä olevien laitteiden välillä. *Laajennusväylä* on tietokoneen emolevyllä oleva väylä, johon voidaan liittää erilaisia laajennuskortteja siinä oleviin korttipaikkoihin. Tämä voi olla tekniikaltaan sama kuin emolevyn laiteväylä (esimerkiksi ISA tai PCI) tai sitten laiteväylä on nopeampi väylä, johon laajennusväylä on liitetty yhtenä laitteena (esimerkiksi ISA-korttipaikat PCI-väyläisillä emolevyillä). Väylä voi myös ulottua tietokoneen ulkopuolelle, jolloin siihen voi liittää erilaisia hitaan tiedonsiirron laitteita (näppäimistöt, hiiret, tulostimet, skannerit) tai massamuisteja (ulkoiset kiintolevyt, DVD- ja CD-kirjoittimet).

Varhaiset väylät olivat kirjaimellisesti rinnakkaisia sähköisiä väyliä useilla yhteyksillä, mutta termiä käytetään nykyään mistä tahansa fyysisestä liitännästä, joka tarjoaa saman loogisen toiminnon kuin rinnakkainen sähköinen väylä. Modernit tietokoneväylät voivat käyttää joko rinnakkais- tai sarjayhteyksiä, ja ne voidaan johdottaa joko multidrop-menetelmällä (sähköinen rinnakkainen) tai ketjutopologialla, tai liittää keskittimiin kuten USB:n tapauksessa. Modernit väylät kuten PCI Express ottavat mallia pakettikytkentäisestä tiedonsiirrosta.

IBM PC -yhteensopivat ovat käyttäneet useita väyläratkaisuja. Lisäksi on työasemissa ja supertietokoneissa sekä sulautetuissa järjestelmissä käytetty lukuisia erilaisia väylätekniikoita joita ovat mm.:
* SBus
* VMEbus
* InfiniBand

Väylään liittyy toisinaan myös virransiirto esimerkiksi PCI-kortille, jolloin kortti ei tarvitse ulkoista virtalähdettä.

## VMEbus

VMEbus (usein vain VME) on alun perin kehitetty vuonna 1981 käytettäväksi Motorola 68000 -sarjan suorittimien kanssa. Väylä on standardoitu ANSI/IEEE 1014-1987 ja se on vielä nykyään käytössä.

Väylää käytetään nykyisin teollisuus- ja puolustusvälinetekniikassa.

Väylästä on 64-bittiset VME64- ja VME64x-versiot ja siihen on tehty useita laajennuksia.

VXIbus on VMEbus-väylään perustuva IEEE 1155 -standardoitu automatisoidun mittalaitteiston väylä.

VME-väylää on käytetty mm. Sun Microsystemsin ja Hewlett-Packardin työasemissa.
* Sun-2:sta Sun-4-malleihin
* HP9000-teollisuustyöasemat
* Atari TT030
* Data General Aviion-palvelimet
* MVME alusta
* sulautetut järjestelmät

Väylä käyttää "latteaa" (segmentoimatonta) muistiavaruutta.

## ISA

Varhainen IBM PC sisälsi ensimmäistä sukupolvea edustaneen oheislaiteväylän, jota kloonivalmistajat alkoivat kutsua ISA-väyläksi (*Industry Standard Architecture*). Se on kaikkein laajimmalle PC-yhteensopivissa tietokoneissa levinnyt laitteistoväylä sen valmistamisen yksinkertaisuuden sekä edullisuuden vuoksi. Siihen liitettiin kaikenlaisia kortteja, kuten kiintolevyohjaimia, verkkokortteja ja tehokkaampia näytönohjaimia. Myöhemmin ISA-väylän tiedonsiirtokapasiteetti osoittautui liian heikoksi vaativille oheislaitteille kuten esimerkiksi näytönohjaimille. 

Suoritintehojen kasvaessa ISA-väylä alkoi käydä hitaaksi ja sille alettiin etsiä nopeampaa seuraajaa. 1980-luvulla oli ns. väyläsotia. IBM kehitti Micro Channel Architecture -väylän (MCA) ja Compaq kumppaneineen EISA:n (*Extended ISA*).

## VLB

Intel i486 -suorittimeen perustuvissa koneissa ja varhaisissa Pentium-suorittimeen perustuvissa tietokoneissa käytettiin jonkin verran VLB-paikallisväylää (*VESA Local Bus*), lähinnä näytönohjaimen liittämiseen. VLB-korttipaikkoja oli tietokoneessa tyypillisesti vain yksi, siinä missä tyypillisessä emolevyssä oli 4–6 paikkaa ISA-väyläisille oheislaitteille. VLB tarjosi kuitenkin moninkertaisen suorituskyvyn ISA-väylään verrattuna.

## PCI

Väylien toisena sukupolvena pidetään vielä vallalla olevaa PCI-väylää (*Peripheral Component Interconnect*), jonka kehittivät vuonna 1992 Intel, Compaq ja Digital.

PCI:tä käytetään yleisesti tietokoneen sisäisenä laiteväylänä siirtämään tietoa koneen sisällä emolevyllä oleville muille laitteille. PCI on myös yleisin tapa liittää oheislaitteita emolevyyn. PCI-väylän avulla ns. väylänhaltija-tyyppiset oheislaitteet voivat kommunikoida suoraan muiden oheislaitteiden kautta käyttämättä prosessoria.

PCI:stä on tullut kymmenen vuoden aikana useita eri variaatioita. Väylän muodostuessa pullonkaulaksi nopeiden verkkoliitäntöjen ja massamuistien myötä sitä nopeutettiin lisäämällä väylän nopeutta (66 MHz PCI) ja leveyttä (64-bittinen PCI). PCI:n variaatioita kannettavissa tietokoneissa ovat PCMCIA ja CardBUS-väylät ja teollisuusmikroissa CompactPCI.

## AGP

AGP-väylä (*Advanced Graphics Port*) kehitettiin alati nopeutuvien oheislaitteiden, erityisesti 3D-näytönohjainten, yleistyttyä markkinoilla. AGP ei ole varsinaisesti väylä, koska siihen voi liittää vain yhden oheislaitteen.

AGP Pro on AGP-väylän laajennos, joka sisältää ylimääräisen virtaliittimen paljon tehoa käyttäville näytönohjaimille. Sitä ei ole hyödynnetty missään kuluttajatason näytönohjaimessa.
* 1× = 66 MHz = 266 MB/s
* 2× = 133 MHz = 533 MB/s
* 4× = 266 MHz = 1,066 GB/s
* 8× = 533 MHz = 2,133 GB/s

## PCI Express

PCI Expressistä on tullut PCI- ja AGP-väylän korvaaja erityisesti suuria tiedonsiirtonopeuksia vaativien laitteiden kuten näytönohjainten liittämisessä, ja sen odotetaan syrjäyttävän vanhemmat väylät kokonaan tulevaisuudessa.

PCI Express on merkittävästi erilainen kuin useat aikaisemmat väylät, sillä se käyttää laitteiden liittämiseen sarjamuotoisia laitekohtaisia linkkejä kaikille laitteille jaetun rinnakkaisväylän sijasta. Siitä on tarjolla myös erinopeuksisia mutta keskenään yhteensopivia versioita erilaisia tiedonsiirtonopeuksia vaativille laitteille.

Väylää kehittää käyttäjien ja valmistajien yhteenliittymä PCI Sig.

## Remote DMA

Remote DMA (RDMA) on termi supertietokoneissa käytetyille muistista-muistiin-tyyppiselle tiedon välitykselle. Mekanismia käytetään suurteholaskennassa tietokoneklustereissa.

Mekanismi tukee *nolla-kopio*-menetelmää tiedon siirtoon ilman tietokoneen oman suorittimen tukea kuten perinteinen oikosiirto (DMA).

Esimerkkitoteutuksia RDMA:lle ovat InfiniBand, iWARP ja Virtual Interface Architecture.

## Kolmannen sukupolven väylät
*Kolmannen sukupolven väylä* on nimitys nykyisille tietokoneen suorittimen, keskusmuistin ja oheislaiteväylän välisille laiteväylille. Näitä ovat mm. HyperTransport ja QuickPath. 

AMD:n Infinity Fabric on kehitysaskel HyperTransport-väylästä.

Näihin ei liitetä suoraan ulkoisia laitteita, vaan laajennuskortit liitetään hitaampaan PCI Express -väylään.

## SBus

SBus on Sun Microsystemsin kehittämä 64-bittinen väylä, jolla korvattiin työasemissa aiemmin käytetty VMEbus-väylä.

Väylää on käytetty mm. kuvapuskurinäytönohjaimille (*framebuffer*) sekä ethernet-liitännöille.

Väylä esiteltiin SPARCstation 1 -työaseman yhteydessä vuonna 1989.

## USB

USB (*Universal Serial Bus*) on hitaan tiedonsiirron väylä, joka oli aluksi tarkoitettu lähinnä näppäimistöjen ja muiden osoitinlaitteiden, kirjoitinten ja skannereiden liittämiseen. USB:n suurin etu tässä käytössä on mahdollisuus kytkeä ja liittää oheislaitteet virtaa katkaisematta. USB on nopeutettu 2.0-versiossaan, ja siihen on nykyään käytännöllistä kytkeä myös massamuisteja, siirrettäviä kiintolevyjä tai CD-kirjoittimia. USB tukee vain liikennöintiä isännän ja oheislaitteen välillä, joten kahta oheislaitetta, esimerkiksi digitaalikameraa ja tulostinta, yhteen kytkettäessä kannattaa ensin varmistaa, että valmistaja vakuuttaa yhteensopivuuden.

## FireWire

FireWire on alun perin Apple Computerin kehittämä väylä, joka tarjoaa samat edut kuin USB ja lisäksi laitteille mahdollisuuden liikennöidä suoraan toistensa kanssa. FireWire on yleistynyt lähinnä massamuistikäytössä ja tapana kytkeä digitaalivideokamera tietokoneeseen.

## Kiintolevyt
Yleisimmät liitäntätavat kiintolevyille ovat SCSI (*Small Computer System Interface*), SATA (*Serial ATA*) ja IDE (*Integrated Drive Electronics*). SCSI:lla on laajempaakin käyttöä – siihen on perinteisesti liitetty skannereita ja ulkoisia massamuisteja ennen lennossa kytkettävien USB 2.0- ja Firewire-väylien yleistymistä. SCSI on erittäin monipuolinen ja on edelleen pääasiallinen liitäntätapa vakavammassa palvelinkäytössä.

Kuluttajatasolla sarjamuotoiseen tiedonsiirtoon perustuva SATA-väylä on pääasiassa korvannut IDE-liitäntäiset kiintolevyt.

SAS (*Serial Attached SCSI*) on palvelinympäristöissä käytetty liitäntäväylä. Myös Fibre Channel on käytössä.

Poistuneita väyliä ovat muun muassa ST-506 ja ESDI.

## Näytönohjainväylät

Näytönohjaimet ovat ajankohdasta riippuen käyttäneet eri väyläteknologiaa. Näitä ovat olleet mm. ISA, VLB, PCI ja AGP. Nykyisin PCI Express korvannut useat muut PC-arkkitehtuurissa.

## Väyläliitäntöjen ominaisuuksia
Väyläliitäntöjä kronologisessa järjestyksessä:
*S-100: vuonna 1974 osana Altair 8800 -mikrotietokonetta suunniteltu väylä, josta tuli ensimmäinen teollisuusstandardoitu väylä.
*ISA: IBM:n esittelemä väylä, joka hallitsi markkinoita 1980-luvulla. 
*C-Bus: NEC PC-9801:n käyttämä laajennusväylä.
*NuBus: Macintosh II:ssa käytetty väylä, jonka leveys oli 32&nbsp;bittiä ja nopeus 10&ndash;20&nbsp;Mt/s.
*MCA: IBM:n kehittämä 1987 käyttöön otettu väylätyyppi. Leveys 32&nbsp;bittiä ja kellotaajuus 10&nbsp;MHz.
*EISA: 1988 julkaistu IBM:n MCA-väylän kilpailija, joka oli yhteensopiva aikaisemman ISA-väylän kanssa. 32&nbsp;bittiä leveä, kellotaajuus 8,33&nbsp;MHz.
*VLB: ISA:n laajennus 32-bittisellä leveydellä ja 33&nbsp;MHz kellotaajuudella.
*PCI: Korvasi ISA-, MCA-, EISA- ja VLB-väylät vuodesta 1993 eteenpäin. PCI-väylän leveys on 32&nbsp;bittiä ja kellotaajuus 33&nbsp;MHz.
*SBus: Sun Microsystemsin väylä, joka korvasi aiemmin työasemissa käytetyn VMEbus-väylän.
*MBus: Sun Microsystemsin moniprosessoritietokoneisiin kehittämä väylä.
*UPA: Sun Microsystemsin vuonna 1995 esittelemä 64-bittinen väylä, jonka kellotaajuus oli 66&nbsp;MHz.
*USB: Käytetään enimmäkseen muissa laitteissa, mutta USB-näyttöjäkin on olemassa.
*AGP: Vuonna 1997 käyttöön otettu vain näytönohjaimelle tarkoitettu väylä. 32&nbsp;bittiä leveä, kellotaajuus alkaen 66&nbsp;MHz.
*PCI-X: PCI-väylän vuonna 1998 luotu laajennus. Parannuksia PCI-väylään nähden ovat 64-bittisyys ja 133&nbsp;MHz kellotaajuus.
*PCI Express, lyhyesti PCIe, on vuonna 2004 julkaistu sarjamuotoinen tiedonsiirtoväylä. Vuonna 2006 PCI Expressin tiedonsiirtonopeus oli kaksinkertainen AGP-väylään verrattuna.

## Muita väyliä
Jotkut valmistajat ovat käyttäneet emolevyillään portteja, joihin voidaan liittää valmistajan modeemi tai verkkokortti. Tällaisia ovat muun muassa ACR, AMR, ASUS MediaBus ja CNR.

Vanhemmissa Macintosh-tietokoneissa käytettiin ADB-väylää (*Apple Desktop Bus*) näppäimistöjen ja hiirten liittämiseen sekä NuBus-väylää laajennuskorteille. Uudemmissa malleissa USB- ja PCI-väylä korvasivat nämä väylät.

Sun Microsystemsin valmistamissa vanhemmissa koneissa on käytetty SBus-väylää; se jäi käytöstä siirryttäessä 64-bittisiin suorittimiin.

Amiga-tietokoneet käyttivät Zorro-väylää, joka tuki osoiteavaruuden automaattista konfiguraatiota (*Autoconfig*-toimintoa) ilman jumppereita ennen ISA-väylän Plug and Play -ominaisuutta.

Digital Equipment Corporation (DEC) käytti TURBOchannel-väylää useissa DEC Alpha -suoritinta käyttävissä tietokoneissa.

## Katso myös
*1-Wire
*CAN-väylä
*AS-i kenttäväylä
*I²C
*GPIO
*Oheislaiteliitännät

## Lähteet

## Aiheesta muualla