IBS PCI DDK UM
4-6
Vier signifikante Punkte kennzeichnen das hierzu verwendete Mailbox-
Handshake-Protokoll:
1. „Nachricht vorhanden":
Node 0 setzt das Bit HS_A8 (Bedeutung: Nachricht vorhanden; Source
= Node 0; Destination = Node 1). Damit wird angezeigt, dass eine
Nachricht von Node 0 an Node 1 vorhanden ist. Die Adresse der Nach-
richt ist von Node 0 zuvor in das zugehörige Send-Vector-Register
(SVR [0] [1]) eingetragen worden.
2. „Nachricht vorhanden erkannt":
Node 1 setzt das Bit HS_A8 zurück. Er hat erkannt, dass eine Nach-
richt vorhanden ist und hat die Adresse der Mailbox aus dem Send-
Vector Register (SVR [0] [1]) gelesen. Das SVR kann danach vom
Node 0 wieder verwendet werden.
Das Zurücksetzen von Bit HS_A8 bedeutet nicht, dass die Mailbox frei
ist.
3. „Mailbox frei":
Node 1 setzt das Bit HS_A5 (Bedeutung: Mailbox frei; Source =
Node 1; Destination = Node 0). Damit signalisiert Node 1 dem Node 0,
dass er die Nachricht aus der Mailbox ausgelesen hat und die Mailbox
nun frei ist. Die Adresse der Mailbox steht im Acknowledge-Vector-Re-
gister (AVR [1] [0]).
4. „Mailbox frei erkannt":
Node 0 setzt das Bit HS_A5 wieder zurück. Er zeigt damit Node 1 an,
dass die Mailbox frei ist. Gleichzeitig erkennt Node 1 damit, dass er das
Acknowledge-Vector-Register (AVR_1_0) wieder verwenden kann.
Das Setzen der Handshake-Bits erfolgt, wie bereits oben erläutert, durch
Beschreiben der entsprechenden Set-HS-Ax/Bx-Register mit einem Da-
tum, dessen höchstwertiges Bit gesetzt (Bit = 1) ist. Umgekehrt erfolgt das
Zurücksetzen der Handshake-Bits durch Beschreiben der Set-HS-Ax/Bx-
Register mit einem Datum, dessen höchstwertiges Bit zurückgesetzt (Bit =
0) ist. Welche Handshake-Bits gesetzt bzw. zurückgesetzt sind, läßt sich
durch Auslesen der Handshake-Register A und B bestimmen.
Das Setzen eines Handshake-Bits führt beim Ziel-Node in der Regel zu
einem Interrupt. Es bietet sich daher an, die Freigabe der Mailboxen in
einer Interrupt-Routine durchzuführen. Ebenso kann das Auslesen der
Send-Vector-Register innerhalb der Interrupt-Routine erfolgen.
6189A