Bussen er en intern, høyhastighets kommunikasjonskanal i en datamaskin, brukt til å overføre data mellom de ulike delene av maskinen.

Faktaboks

Også kjent som

databuss, systembuss

Interne busser knytter sammen de mest sentrale moduler i en datamaskin: prosessorer (CPU, FPU, GPU, DMA, andre spesialprosessorer), arbeidslager og porter. Eksterne busser kan kople eksterne enheter som datanett, disker og skrivere til en port eller den kan knytte sammen datamaskiner. Intern buss kalles også systembuss.

Interne busser

Datamaskin, - systemstruktur

Internbussen binder de forskjellige modulene sammen.

Datamaskin, - systemstruktur
Av .
Lisens: CC BY SA 3.0

Bussen er veldig ofte den "travleste" enheten i en datamaskin, altså en flaskehals. Alle operasjoner på data gjøres av en prosessor og data må transporteres over bussen både ved lesing og skriving. Instruksjoner transporteres fra arbeidslager til prosessoren som utfører dem.

Overføring av data og adresser

Bussen kan overføre et dataord fra én adresse til en annen. Alle enheter som er koplet til en intern buss er tildelt én eller en serie adresser. En buss kan ha adskilte linjer for adresser og data, men som regel er det de samme linjene som brukes, og det er bussens kontrollsignaler som bestemmer hvordan data på bussen skal tolkes. Bussen har en linje for hvert digitale siffer i dataordet.

Aktive og passive enheter

Bussen kobler sammen aktive og passive enheter. Prosessorer er aktive enheter, arbeidslager og porter er passive enheter. Prosessorene tar kontroll over bussen etter behov. Bare én aktiv enhet har kontroll over bussen på et tidspunkt, og det er innebygget mekanismer slik at en prosessor ikke kan holde bussen over et visst antall bussykler (overføringer).

Bussyklus

Overføring av et dataord krever en bussyklus. Den kan beskrives slik: Kildeadressen settes på bussen, den bestemmer hvilket dataord som skal sette sine data ut på bussen når data skal overføres. Så settes mottakeradressen på bussen, dermed identifiseres adressen som skal motta data. Det er kontrollsignalene som bestemmer hvordan data på linjene skal tolkes. Til slutt settes selve dataordet på bussen, da åpner både kilde- og mottaker-adressene sine porter slik at data flyter ut på bussen og inn i mottakeradressen. Når mottakeradressen har fått nok tid på seg, lukkes alle porter og data er overført. Slik funger de fleste dataoverføringer. Hvis det er mye data som skal overføres, for eksempel fra en port som mottar data fra en disk til et arbeidslager, kan en overføre flere dataord etter hverandre. Det gjøres ved at adressen telles opp lokalt til neste dataord som blir mottaker av neste overføring. Da slipper en å sende ut nye adresser for hver overføring og tid er spart.

Når kilde- eller mottakeradresse er internt i en prosessor (register) er den innebygget i instruksjonen, og vi trenger bare å sette én adresse ut på bussen. Det vil da være adressen til det dataord vi leser eller det dataord som skrives, hvilken vei data går styres av instruksjonen som utføres.

Cache avlaster bussen

All flytting av data mellom prosessor og arbeidslager eller lesing av instruksjoner til prosessor innebærer minst en bussyklus for hvert dataord. Derfor er alle moderne datamaskiner utbygget med "cache", også kalt hurtigbuffer. Cache kan beskrives som et privatlager for én prosessor eller en gruppe prosessorer, som inneholder sist brukte data eller de sist utførte instruksjonene. Cache-lageret er altså plassert mellom intern buss og prosessor-gruppen, slik at prosessor-gruppen har adgang til data og instruksjoner uten å måtte overføre data over intern buss. Dermed slipper en å vente på ledig buss. Hvis adressert dataord eller instruksjon ikke finnes i cache, må en gå til arbeidslageret og dermed bruke bussen.

Bussbredde

Dess bredere et dataord er, dess mer data kan overføres per sekund. Antall binære siffer som kan overføres i en buss-syklus kalles bussbredde. Normalt er bussbredde et helt antall byte, 2, 4, 8 eller 16 byte. Bussbredden bestemmer normalt adresserommet, det vil si hvor mange forskjellige adresser som kan adresseres. Største adresse er 2b-1, henholdsvis 216-1, 232-1, 264-1 og 2128-1. b er antall bit per dataord. Store maskiner har 8 eller 16 byte (64 eller 128 bit) buss, små maskiner, for eksempel kontrollere kan klare seg godt med 16 bit hvis de lagrer lite data, har små programmer og moderate beregningsoppgaver.

 Les mer i Store norske leksikon

Kommentarer

Kommentarer til artikkelen blir synlig for alle. Ikke skriv inn sensitive opplysninger, for eksempel helseopplysninger. Fagansvarlig eller redaktør svarer når de kan. Det kan ta tid før du får svar.

Du må være logget inn for å kommentere.

eller registrer deg