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

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. 

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.

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 ledere for adresser og data, men som regel er det de samme lederne som brukes, og det er bussens kontrollsignaler som bestemmer hvordan data på bussen skal tolkes. Bussen har en leder for hvert digitale siffer i dataordet.

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ø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. 

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. 

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 eller 8 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 og 264-1. b er antall bit per dataord. Store maskiner har 8 byte (64 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.

 

 

Foreslå endringer i tekst

Foreslå bilder til artikkelen

Kommentarer

Har du spørsmål om artikkelen? Skriv her, så får du svar fra fagansvarlig eller redaktør.

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