Vorige                       Inhoud                      Volgende
_________________________________________________________________

Bus                     860409          (c) 1986 by ORD-GROUP   8


Databus
De  databus  gedraagt zich als een  normale  8-bits  databus.  De
kaarten  hoeven  geen  signalen aan te maken om  diverse  buffers
buiten deze kaarten aan te zetten. Met andere woorden: de kaarten
behoeven alleen de eigen buffers te besturen.  Vanwege de  struc-
tuur van de ORDINATOR was dit de aangewezen weg, en daarom hebben
we hiervoor gekozen.

De  databus  heeft pull-up weerstanden om te garanderen  dat  een
niet  bestaande  I/O  poort of geheugenplaats de  waarde  FF(hex)
teruggeeft.  De interupts maken hier gebruik van,  zie  'inter-
rupts'.

Controlbus
De  controlbus  bevat  de  gebruikelijke  Z80  control  signalen.
Daarnaast bevat deze bus ook diverse clocksignalen, zoals Z80-phi
(de  klokfrekwentie  van  de  Z80) en  16Mhz  (dit  signaal  gaat
verwijnen, zie daarvoor 'problemen').

Ook  bevat  de controlbus een aantal signalen die naar  het  CPU-
board toegaan.  Hieronder vallen INT (INTerrupt request) en WAIT.
Omdat deze signalen door meerdere kaarten opgewekt kunnen worden,
kunnen  de  uitgangen  van deze kaarten  geen  totempaalstructuur
hebben. Daarom is gekozen voor een open-collector structuur. Deze
structuur  wordt ook gebruikt voor de interuupts  - zie  daarvoor
het volgende hoofdstuk.

Interrupts
Het  servicen van interrupts is een probleem op zich:  interrupts
worden  aangevraagd via een open-collector poort,  maar de inter-
rupts  moeten  naar een adres wijzen dat de  interuupt  serviced.
Daarom  moeten  vectored  interrupts  worden  gebruikt.  Er  zijn
verschillende systemen bekend om dit te verwezelijken, waarvan we
er nu enkele zullen bespreken.

Het Zilog-systeem werkt met chips zie met de CPU meelezen en  een
bepaalde  instructie  zelf uitdecoderen.  Omdat niet  alle  peri-
pheral-chips  van Zilog zijn,  kan het Zilog-systeem niet  worden
gebruikt,  want het systeem is verschrikkelijk lastig als het met
'eigen' hardware moet worden geimplementeerd.

Een  andere mogelijkheid zou een daisy-chain kunnen zijn.  In het
door  ons  gebruikte bussysteem zijn 'open slots'  (slots  zonder
kaart)  mogelijk.  Dit sluit de daisy-chain uit,  want daar  zijn
deze open slots niet mogelijk.

Daarom is gekozen voor een ander systeem:  de kaart geeft via  de
open-collectorlijn 'INT' aan dat een interrupt wordt aangevraagd.
Als  de CPU deze interrupt acknowledged,  maakt deze tegelijk  de
M1- en  de IORQ-lijn laag (dit is standaard Z80).  Het device dat
de  interrupt  aanvroeg,  geeft dit te kennen door  een  bepaalde
databuslijn laag te maken.

Op de CPU-kaart zit een priority-encoder die deze databussignalen
omzet in een vector,  welke hij aan de CPU aanbiedt.  Deze vector
wordt door de CPU op de normale (Z80) manier verwerkt.

_________________________________________________________________

Vorige                       Inhoud                      Volgende