Bus (datakommunikation)
- For alternative betydninger, se Bus (flertydig). (Se også artikler, som begynder med Bus)
Indenfor computerteknologi er en bus, datakommunikationsbus eller computerbus en dataforbindelse, som overfører data mellem computerkomponenter (f.eks. hukommelsesord, dataport) indeni en computer eller mellem dataværter (f.eks. computere, modemmer og dataterminaler).
I modsætning til en punkt-til-punkt dataforbindelse, kan en bus logisk forbinde flere dataenheder via de samme ledninger. Hver busstandard definerer dets grænseflader (fysiske dataforbindelser + de elektriske signalers form + dataprotokol) med henblik på den fysiske sammenkobling af datakort og datakabler.
Oprindelig var en bus de interne signalforbindelser som forbandt digitale hukommelser, visse datachip med CPUen. Der var separate adresselinjer, datalinjer og styrelinjer. En styrelinje er f.eks. read/write-signalet og kan også være chip-select/enable-linjer. I dag kan adressesignaler og styresignaler være indlejret i datarammer som f.eks. afsenderadresse, modtageradresse og evt. styresignaldata(f.eks. bitflag) – sammen med de normale data.
En bus omfatter disse fysiske eller logiske signaler – de logiske signaler er indlejrede i datarammer:
- Styresignaler (styrebus-funktion) – eller indlejrede styresignaldata eller bitflag (f.eks. clear to send (CTS)...). Et taktgiversignal (clock, synkroniseringssignal) kan være en del af bussens fysiske styresignaler.
- Adressesignaler (adressebus-funktion) – eller indlejrede modtageradresse eller afsenderadresse (f.eks. ethernetadresse)
- Datasignaler (databus-funktion) – det som skal sendes; payload
En seriel bus har netop ét datakredsløb til at sende data via – og kan have et separat datakredsløb til at modtage data via. (Men et datakredsløb kan faktisk godt anvendes til at sende og modtage via – og det både som halv-dupleks og fuld-dupleks)
En parallel bus har mindst to datakredsløb til at sende data via – og kan have to eller flere separate datakredsløb til at modtage data via.
I princippet er ældre PCeres RS-232 (serielport) og parallelport (f.eks. IEEE 1284) ikke busser, da de hverken har adressesignaler eller indlejrede adresser. Men anvendes der lag-2 dataprotokoller, som har indlejret adresser, bliver RS-232- og parallelport-forbindelsen anvendt som om det var en bus. RS-232- og parallel-porte er oprindeligt blot beregnet til punkt-til-punkt dataforbindelser.
Busterminering
redigérFør i tiden havde en bus to ender og hver datakredsløbende skal sædvanligvis belastes af ohmsk modstand (kaldes på engelsk en terminator-modstand). Grunden er, at en datakredsløbs to ledere faktisk skal opfattes som en transmissionslinje, grundet de høje formidlede signalfrekvenser. Hvis de to ender ikke belastes korrekt, bliver de højere frekvenser reflekteret ved enderne og bliver en del af det oprindelige signal, hvilket derfor bliver ødelagt og dermed ulæseligt for datamodtager(ne).
En del busser behøver ikke "korrekte" terminator- modstande, enten pga. korte afstande – eller pga. lave overførselshastigheder.
Multi-drop, punkt-til-punkt
redigérHvis der mellem de to busender kan tilsluttes dataudstyr udover dataudstyret ved enderne, kaldes bussen for en multi-drop bus. En computers interne bus er et eksempel på en multi-drop bus og RS-485 er det også.
Er bussen ikke beregnet til multi-drop, kaldes den for en punkt-til-punkt bus eller punkt-til-punkt dataforbindelse.
Forgrenede busser (og datanet)
redigérNyere busser (f.eks. USB) har ikke traditionel multi-drop, men kan derimod forgrenes, da en USB-hub kan forbinde til flere USB-hubs og USB-dataenheder.
Datanet (f.eks. ethernet) henregnes ikke som en bus, men forskellen mellem busser og datanet er mere en begrebsmæssig forskel end en praktisk.
Datanet kan under særlige omstændigheder have en eller flere dataløkker. Dette forudsætter at f.eks. switche understøtter og har aktiveret en spanning-tree-dataprotokol. Spanning-tree vil via kommunikation gennem dataforbindelser finde løkker og vil så beregne et "optimalt" datatræ baseret på dataforbindelsernes portes spanning-tree-vægte.
Internettet kan i princippet opfattes som en stor bus med enorme mængder løkker. Der behøves ikke spanning-tree, da routerne normalt kun sender lag-3-datapakkerne én vej.
Eksempler på busser til primært internt brug
redigérParallelle
redigér- S-100 bus anvendt i Altair og lignende computerere
- Industry Standard Architecture eller ISA
- Extended ISA eller EISA
- MicroChannel eller MCA
- NuBus eller IEEE 1196
- SBus eller IEEE 1496
- Peripheral Component Interconnect eller PCI
- VMEbus, the VERSAmodule Eurocard bus
- VESA Local Bus eller VLB eller VL-bus
- Accelerated graphics port eller AGP
Serielle
redigérEksempler på busser til primært eksternt brug
redigérParallelle
redigér- Advanced Technology Attachment eller ATA (også kendt som IDE, EIDE, ATAPI, osv.) disk/tape peripheral attachment bus
- IEEE-488 (også kendt som General-Purpose Instrumentation Bus eller Hewlett-Packard Instrumentation Bus)
- HIPPI HIgh Performance Parallel Interface
- PCMCIA
- SCSI disk/tape peripheral attachment bus
Serielle
redigér- ACCESS.bus (A.b)
- Apple Desktop Bus (ADB)
- Fibre Channel
- IEEE 1394 (FireWire)
- RS-232
- RS-422A
- RS-423A
- RS-485
- Serial ATA
- Serial Storage Architecture (SSA)
- Universal Serial Bus (USB)
Eksempler på interne/eksterne databusser
redigérEksterne henvisninger
redigérWikimedia Commons har medier relateret til: |
- Chip Weems' Lecture 12: Buses Arkiveret 12. februar 2010 hos Wayback Machine
- interfacebus.com: Computer and Embedded Interface Bus List