Besturingsbus

De besturingsbus of control bus is het onderdeel van de systeembus van een computer dat de verschillende onderdelen verbindt en waarlangs opdrachten kunnen worden uitgewisseld. Hij werkt in combinatie met de adresbus en de databus.

Het aantal lijnen van de besturingsbus verschilt. Als voorbeeld geven we de lijnen van de Z80.

In de ruststand voeren de lijnen een hoge spanning, in de actieve stand een lage spanning. Dat wordt aangegeven door een apostrof achter de naam.

Naamin/uit processorBetekenis
MREQ'uitDe bus is actief, er wordt geheugen gelezen of geschreven
IOREQ'uitDe bus is actief, er wordt een randapparaat gelezen of geschreven
RD'uitlezen.
WR'uitschrijven.
M1'uitlezen van een uitvoerbare instructie.
REFRESH'uitde processor zendt een 7-bits adres uit voor het verversen van dynamisch geheugen.
WAIT'inprocessor moet wachten tot lees- of schrijfopdracht voltooid is.
IRQ'ininterrupt.
NMI'inniet maskeerbare interrupt (flankgevoelig).
HALT'uitprocessor heeft een HLT-instructie uitgevoerd en wacht op IRQ, NMI of RESET.
RESET'inprocessor moet vanaf het begin opstarten.
BUSRQ'ineen ander aangesloten apparaat wil de besturing van de bus overnemen (bijvoorbeeld voor DMA). De processor moet de bus in tri-state zetten.
BUSACK'uitde bus staat in tri-state en het andere apparaat mag de bus gebruiken.

Tri-state: De meeste uitgangen zijn hetzij hoog, hetzij laag. De processor bepaalt dan het niveau. Sommige uitgangen kunnen echter ook elektrisch worden losgekoppeld, zodat een andere aangesloten chip het niveau van de lijn bepaalt. Een dergelijke uitgang heet tri-state (drie toestanden). De losgekoppelde toestand heet ook tri-state.

Timing

Een buscyclus verloopt als volgt.

  • De processor zet een adres op de adresbus.
  • Moeten gegevens worden geschreven, dan worden de gegevens op de databus gezet. Moeten gegevens worden gelezen, dan gaat de databus in tri-state, zodat de processor de databus als ingang kan gebruiken.
  • Wordt een instructiecode gelezen, dan wordt M1' actief gemaakt. Voor het geheugen is dat niet belangrijk, maar sommige chips (onder andere interruprcontrollers) luisteren het dataverkeer af en moeten weten wanneer er een instructie wordt gelezen.
  • Moet er worden gelezen dan wordt RD' actief gemaakt. Moet er worden geschreven, dan wordt WR' actief gemaakt. Veel andere processoren missen de lijn RD' en volstaan dus met het al of niet actief maken van WR'.
  • Zijn al deze lijnen op een stabiel niveau, dan wordt MREQ' of IOREQ' actief gemaakt. De aangesloten chips mogen nu op de bus reageren.
  • Kan een aangesloten chip de opdracht niet snel genoeg verwerken, dan activeert hij de lijn WAIT'. De processor wordt daardoor gedurende ene klokpuls stilgezet.
  • Na een aantal klokpulsen wordt de bus weer in de ruststand gebracht en kan de volgende cyclus beginnen.

Zie ook

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.