Download 1 Einleitung
Transcript
Allgemeine Befehle CS, CDS Anzeige 0~Equal 1~Not Equal 2 3 Operand2 war gleich Operand1; Operand2 ist durch Operand3 ersetzt. Operand2 war ungleich Operand1; Operand1 ist durch Operand2 ersetzt. Nicht verwendet. Nicht verwendet. Programmunterbrechungen Art Gewicht Ursachen Adreßumsetzungsfehler X’48’ Adreßfehler X’5C’ Lese-Schreibzugriff auf Operand2 unmöglich. CS: D2(B2) keine Wortgrenze. CDS: D2(B2) keine Doppelwortgrenze oder R1 oder R3 nicht geradzahlig Programmierhinweise Die Befehle CS und CDS (sowie TS) sperren als einzige Befehle des Befehlsvorrats während der Zeit ihrer Ausführung die von ihnen adressierten Hauptspeicherdaten gegen Lese- und Schreibzugriffe durch andere Programme derselben oder anderer Zentraleinheiten. Sie verhindern auch, daß während ihres Ablaufs auf nachfolgende Befehle und/oder deren Operanden zugegriffen wird. Die Befehle stellen also sicher, daß der Datenzustand zum Zeitpunkt ihres (anfänglichen) Lesevorgangs gleich ist dem Zustand zum Zeitpunkt ihres (abschließenden) Schreibvorgangs. Zu diesem Zweck findet vor und nach dem Befehl CS und CDS in der Hardware eine sog. Serialisierung statt, bei der alle anstehenden Speicherzugriffe abgearbeitet werden. Dieser Mechanismus prädestiniert die Befehle CS und CDS für Synchronisationsprobleme in Multiprozessor-Anwendungen. In solchen Anwendungsfällen muß jedes der simultan ablaufenden Programme berücksichtigen, daß während seiner eigenen Bearbeitung und Veränderung eines gemeinsamen Speicherbereichs ein anderes Programm möglicherweise das Gleiche tut und dadurch sich die Bearbeitungs-Resultate gegenseitig auslöschen können. Man betrachte dazu den einfachen Fall, bei dem zwei zeitgleich ablaufende Programme A und B ein gemeinsames Hauptspeicherwort Zähler um Eins erhöhen. U3119-J-Z125-2 69