DE1928202B2 - Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen - Google Patents

Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen

Info

Publication number
DE1928202B2
DE1928202B2 DE1928202A DE1928202A DE1928202B2 DE 1928202 B2 DE1928202 B2 DE 1928202B2 DE 1928202 A DE1928202 A DE 1928202A DE 1928202 A DE1928202 A DE 1928202A DE 1928202 B2 DE1928202 B2 DE 1928202B2
Authority
DE
Germany
Prior art keywords
address
memory
word
register
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE1928202A
Other languages
English (en)
Other versions
DE1928202C3 (de
DE1928202A1 (de
Inventor
Robert William Poughkeepsie N.Y. Murphy (V.St.A.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1928202A1 publication Critical patent/DE1928202A1/de
Publication of DE1928202B2 publication Critical patent/DE1928202B2/de
Application granted granted Critical
Publication of DE1928202C3 publication Critical patent/DE1928202C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Description

a) einen Zustandsdatenspeicher (32; Fig. 1)
mit mehreren Wortzellen zur Aufnahme von 10
Zustandswörtern, die repräsentativ sind finden jeweiligen Operationszustand und die .β Erfindung betrifft eine Einrichtung zur Ersteldabei angesprochenen Baugruppen, Speicher, statistischer Daten über den Operationsablauf Verbindungen u.dgl. in der vom zu über- pr°rammgesteuerter Datenverarbeitungsanlagen wachenden Programm gesteuerten Datenver- JV* dem Oberbegr5ff des Anspruchs 1.
arbeitungsanlage (30), Die Erfassung sadistischer Daten von Merkmals-
b) die Zuordnung je einer Speicherstelle eines kombinationen m gespeicherten Datenmengen mittels Zusatzspeichers (50) zu jeder Wortzelle des Zählvorrichtungen ist an sich bekannt (vgl. DT-AA Zustandsdatenspeichers zwecks Aufnahme ß rX'43a, bekanntgemacht am 22. Dezember statistischer Daten (z. B Summen von Ope- Die hier gebene Einrichtung kann jedoch rationszeiten oder Angaben über die Anzahl „^/^ die Erstellung statistischer Daten über den der Inanspruchnahme) über die in den züge- o ti&nsablauf programmgesteuerter Datenverordneten Wortzellen enthaltenen Zustands- ar£eitungsanlagen verwendet werden.
daten (Zustandsworter), bekannten Auswertungssysteme, die für die
c) und durch ein Verknupfungsnetzwerk (48), Samml Reduzierung und Darstellung von Bedas jeweils beim Auftreten von bereits gespei- t_iebsdat * elektrOnischer Datenverarbeitungsanlagen dienen Zustandswörtern und auch bei der rfen ^ können in die beiden Gruppen Einschreibung erstmalig auftretender Zu- d Diagrammschreiber eingeteilt werden, standsworter in den Zustandsdatenspe.cher Genauigkeit bei der Akkumulation die der be reffenden Wortzelle zugeordnete 3" « weichend von dem verwendeten Speicherzelle des Zusatzspeichers zur Auf- ^rwachungsverkren ab. Darüber hinaus können nähme der statistischen Werte adressiert. ^ Ergebnisse der Akkumulation dem Benutzer in
2. Einrichtung nach Anspruch 1, gekennzeich- expliziter, detaillierter Form (beispielsweise als einen net durch eine aus einer Addierschaltung (46; 35 vollen zeichnerisch dargestellten Ausdruck des Pro-Fig. 1) und einem Taktgeber (60) bestehende gramms) oder in summarischer Form (beispielsweise Schaltungsanordnung zur Modifizierung der im als Gesamtwartezeit, die in einer 8-Stunden-Ver-Zusatzspeicher (50) aufbewahrten statistischen Schiebung ermittelt wurde) zur Verfügung gestellt Werte, wobei die mittels Taktsignaien zu modi- werden.
«zierenden Daten aus dem Zusatzspeicher ausge- 40 Die Zähler haben den Vorteil, daß sie genau sind
lesen, zu der Addierschaltung übertragen, dort und eine große Variation in der Auswahl der Daten
durch den Taktgeber modifiziert (z. B. inkremen- bieten. Sie haben jedoch den Nachteil, daß ihre Aus-
tiert) und dann zum Zusatzspeicher zurücküber- gangswerte auf statistische Werte und auf die Angabe
tragen werden. von zeitlichen Werten beschränkt sind, wobei dieses
3. Einrichtung nach einem der Ansprüche 1 45 Verfahren noch voraussetzt, daß der Benutzer genau und 2, gekennzeichnet durch eine aus einem wissen muß, worauf er zu achten hat.
Steuerabschnitt und einem Programmspeicher Die Diagrammschreiber besitzen die Nachteile der bestehende Steuereinrichtung(52; Fig. 1), die Zähler deshalb nicht, weil sie Ausgangswerte erzeudurch die im Steuerabschnitt erzeugten Signale gen, die sowohl Folgen als auch Statistiken und Zeitden Datentransport in ein Eingangsregister (42), 50 ablaufe angeben, wodurch auch unerwartete Ergebein Maskenregister (43), den Zustandsdatenspei- nisse leichter feststellbar sind. Sie haben aber den eher (32) und ein Ausgangsregister (38) über Nachteil, daß sie nur eine geringe Auflösung der Torsteuerleitungen (z. B. TSL) steuert. Werte ermöglichen und die Auswahl der zu über-
4. Einrichtung nach einem der Ansprüche 1, 2 wachenden Daten im wesentlichen auf Adressen und und 3, gekennzeichnet durch den Zusatzspeicher 55 einige Zustandsbedingungen begrenzt ist.
(50; Fig. 1), der an, durch Übereinstimmung Beide Systemgruppen zeigen gemeinsame Nach-
zwischen gespeicherten Betriebsdaten und gerade teile, wie beispielsweise die, daß sich der Benutzer auf
vorliegenden Betriebsdaten, von dem Ver- die durchzuführenden Überwachungsaufgaben sorg-
knüpfungsnetzwerk (48) definierten Adressenbe- fältig vorbereitet, daß eine nachfolgende Verarbeitung reichen die Zählungen spezifischer Betriebsdaten 60 der gewonnenen und gespeicherten Daten durchge-
hinsichtlich ihres Auftretens speichert. führt werden muß und daß das Problem der Identifi-
5. Einrichtung nach einem der Ansprüche 1, 2 zierung von Programmen und Adressen zuvor gelöst 3 und 4, gekennzeichnet durch einen Diagramm- werden muß.
schreiber, der die im Zusatzspeicher (50; Fig. 1) Es ist daher die Aufgabe der Erfindung, eine Einstatistisch gespeicherten Betriebsdaten des Daten- 65 richtung zur Erstellung statisüscher Daten über den
Verarbeitungssystems mit Hilfe eines gespeicher- Operationsablauf programmgesteuerter Datenver-
ten Algorithmus (Fig. 13) in Form eines Fluß- arbeitungsanlagen anzugeben, die nicht den zuvor
diagramms ausgibt, welches die Häufigkeit und diskutierten Nachteilen und Beschränkungen der be-
kannten Einrichtungen und Methoden unterliegt und adressierbare Speicher wird deswegen mit Vorteil verzudem ein vorteilhaftes Werkzeug für die Fehler- wendet, weil er die Möglichkeit bietet, nur wichtige suche und Verbesserung des Wirkungsgrades von Pro- Daten zu speichern. Der Speicher kann instruiert wergrammen schafft den, Daten nur dann aufzuzeichnen, wenn sie neu
Diese Aufgabe der Erfindung wird durch die im 5 sind, d. h., wenn die Daten bereits geprüft und geKennzeichen des Anspruchs 1 angegebenen Merkmale speichert wurden, brauchen sie nicht noch einmal gegelöst, speichert zu werden.
Weitere vorteilhafte Ausgestaltungen und Weiter- Die assoziativen Grundprozesse der Abfrage und
bildungen der Erfindung sind den Unteransprüchen zu Speicherung werden in der vorliegenden Anlage durch
entnehmen. to ein System der Datenführung(-Leitweg)- und Wort-
Mit der Erfindung wird der Vorteil erreicht, daß feldsteuerung erweitert zu einer Anlage, die fortge-
in einer den Programmablauf in der Datenverarbei- schrittene Algorithmen der Datenreduzierung und
tungsanlage nicht beeinflussenden Weise, automatisch Datenverarbeitung ausführen kann. Die Algorithmen
statistische Daten ermittelt werden, die zur Ermitt- werden programmiert und in einem Programmspei-
lung des Wirkungsgrades der zur Steuerung verwen- 15 eher aufbewahrt, wo sie dem Benutzerprogramm zu-
deten Programme verwendet werden. Die Einrichtung gegeben oder durch dieses verändert werden können,
ist aut Grund ihrer Struktur und automatischen Be- _ , _„,
triebsweLe wirtschaftlicher und zuverläsiger einzu- Datenwege und Fuhrungssteuerung
setzen, und, da sie für Dctenverarbeitungsanlagen (Leitweg Steuerung)
unterschiedlicher Bauart verwendbar ist, auch in ihrer ao F i g. J zeigt ein Blockdiagramm der Datenregister
Anwendung flexibler und auch bezüglich der zu er- und -wege des Überwachungssystems. Jede Linie
fassenden Daten umfassender als es von bekannten stellt einen Weg für ein Datenbyte, bestehend aus
Einrichtungen und Methoden bekannt ist. 8 Bits, dar, und ein Punkt an einer Kreuzungsstelle
Nachfolgend wird ein Ausführungsbeispiel der Er- von zwei Linien gibt eine programmierbare Verbinfindung an Hand der Zeichnungen näher erläutert. Es »5 dung an. Eine Gruppe von 6 Datenbahnen (48 Bits) zeigt transportier überwachte Daten von der Trennstelle
F i g. 1 ein Ausführungsbeispiel der Erfindung in des Fremdrecnners όθ zum Eingang des Assoziativ-
Form eines vereinfachten Blockschaltbildes, Speichers (AM) 32.
F i g. 2 ein Blockdiagramm zur Darstellung der Zu- Die verschiedenen Register und der Kreuzpunktordnung eines Zählers zu einem Anfangsausführungs- 30 schalter (Koordinatenschalter) 34 ermöglichen die bereich, Pufferung und Feldsteuerung dieser Daten. Eine
F i g. 3 a, 3 b und 3 c Blockdiagramme zur Darstel- andere, eine Byte breite Datenbahn 36 verbindet die lung der Zuordnung des nächsten Zählers zu dem Speicherausgänge 38 und 40 mit den Speichereinnächsten Ausführungsbereich, gangen 42 und 44 über einen Addierer 46, um so
F i g. 4 ein Blockdiagramm, das die Beziehung des 35 interne Verarbeitungsfunktionen zu ermöglichen,
ausgeführten Bereiches zur Kanalaktivität zeigt, Die Wortlogik-Schaltungen 48 verbinden den Zu-
F i g. 5 ein Blockdiagramm zur Darstellung der satzspeicher 50 mit dem Assoziativspeicher 32 und
Aufzeichnung von Belegung und Übergängen der stellen eine Adressierfunktion für die beiden Speicher
Ausführungsbereiche, dar. Diese Adressierfunktion wird ausgeführt, wenn
F i g. 6 eine Zeittabelle, die die überlappte Opera- 40 der Assoziativspeicher (AM) an seinem Eingangs-
tion der Zusatzspeicher- und Assoziativspeicher-Ver- register 42 mit Daten abgefragt wird. Wenn die Daten
arbeitung zeigt, in einer Assoziativ-Wortzelle mit abfragenden Daten
F i g. 7 a eine Darstellung des Instruktionsformates übereinstimmen, d. h. angepaßt sind (ANP), können
für den Assoziativspeicher, entweder diese Wortzelle oder eine Wortzelle im Zu-
Fig. 7b eine Darstellung des Instruktionsformates 45 satzspeicher 50, die in einem 1 : 1-Verhältnis zu der
für den Zusatzspeicher, Wortzelle steht, oder beide für die Eingabe oder Wie-
F i g. 8 ein Ablaufschema eines Algorithmus für dergewinnung von Daten gewählt werden. Explizite
Kombinationen von Vorgängen und Zuständen, Adressen für diese Wörter werden in den Programm-
F i g. 9 ein Ablaufschema eines Algorithmus zum Instruktionen nicht benötigt. Die Wortlogik-Schaltun-
Auffinden der Verteilung der Vorgänge, 50 gen 48 übernehmen auch andere Funktionen, wie z. B.
Fig. 10 ein Ablauf schema eines Algorithmus zum die Aufteilung von Ketten bei mehrfachen Überein-
Auffinden kurzer Folgen, Stimmungen und die Abgabe eines Signals für Über-
F i g. 11 ein Ablaufschema eines Algorithmus zum einstimmung (ANP) bzw. Nichtübereinstimmung
Verfolgen langer Folgen, (keine ANP), zur bedingten Verzweigung im Pro-
F i g. 12 eine Zeittabelle, die die Beziehung der 55 gramm.
laufenden Blöcke zu Blöcken zeigt, die bereits in Die Datenführung (der Datenleitweg) wird inner-
einem Algorithmus für das Entwerfen von Blockdia- halb einer vom Programmspeicher 52 erhaltenen In-
grammen entworfen wurden und struktion durch Führungsvorschriften gesteuert. Das
Fig. 13 ein AbI auf schema eines Algorithmus für Standardinstruktionsformat ist in Fig. 7 a gezeigt,
das Entwerfen von Blockdiagrammen. 60 Der Operationscode für die Assoziativspeicher-In-
_. . . struktion macht eine der folgenden Angaben:
Einleitung
Das Grundproblem bei der Überwachung der Lei- Abfragen:
stung eines Rechnersystems liegt in der Überzahl vor- Inhalt des Eingangsregisters 42 mit allen gespei-
handener Daten. Für jede praktizierbare Über- 65 cherten Wörtern vergleichen und Übereinstim-
wachung von Bauteilen müssen diese Daten auf eine mungsanzeige für die Speicherzellen des Asso-
verwaltbare Menge reduziert werden. ziativspeichers (Zellen) mit gleichem Inhalt
Der Assoziativspeicher oder der vom Inhalt her geben.
5 6
Abfragen nächste: Terminusadresse
wie oben, jedoch wird der Ubereinstimmungs- (fünf Bits)
anzeiger (ANP-ANZ) für die nächste Zelle ein- v '
geschaltet. Gibt die Stelle an, zu der das wertniederste Byte de:
Schreiben· 5 Feldes zu Iunren ist. Die Adressen sind unten in dei speichern des Inhalts des Eingangsregisters in Tab£Ile angegeben und Fig. 1 entsprechend bealle Zellen, deren Übereinstimmungsanzeiger zeichnet,
eingeschaltet ist. Ursprünge (Quellen):
Schreiben neu: io Zus. Speicher Ausgang 00 bis 07
speichern des Inhalts des Eingangsregisters in die AssQZ s jch Ausgang 10 bis 17
erste leere Wortzelle. T v °
Leer \A
Schreiben eins: tA- E/A-Eingang IB
speichern des Inhalts des Eingangsregisters in die
erste Zelle, deren Übereinstimmungsanzeiger 1S Endstellen (Termini):
eingeschaltet ist. Zus. Speicher Eingang 00 bis 07
Schreiben alle: Assoz. Speich. Eingang 10 bis 17
speichern des Inhalts des Eingangsregisters in Leer IA
alle Zellen, ungeachtet der Übereinstimmungs- ao E/A-Ausgang IB
anzeige.
Lesen: Takt ICWiIF
Inhalt der ersten Zelle, deren Übereinstimmungs- Überwachungs-Trennstelle 20 bis 25
anzeiger eingeschaltet ist, in das Ausgangs- Konstante 26
register 38 setzen. 25
Adressen sind in Hexadezimalform angegeben. Die
Durch zwei Führungsvorschriften (Leitwegvor- Adresse für die Konstante wird nicht verwendet, Schriften) können zwei Datenfelder gleichzeitig be- wenn die Konstante als Buchstabe angegeben ist. wegt werden: Führung (Leitweg) 1 und Führung Wenn der Wert der Konstanten jedoch unverändert (Leitweg) 2. Diese Felder können 1, 2 oder 3 Bytes 30 ist, kann die Konstante entweder allein als Ein-Bytelang sein, oder es kann auch eine Buchstabenkon- Feld oder als Teil eines aus zwei oder drei Bytes stante von einem Byte für eine der Führungsvor- bestehenden Feldes auf den Adressen 25 oder 24 geschriften gesetzt werden. Die Führungsvorschrift im führt werden. Wenn eine Leerstelle als Quelle ange-Slandardformat enthält 16 Bits mit der folgenden geben ist, wird der entsprechende Terminus auf 0 Kennzeichnung: 35 zurückgesetzt. Wenn eine Leerstelle als Terminus
angegeben ist, werden die der Quelle entsprechenden
Änderungscode Positionen des Α-Registers auf ihre neuen Werte zu-
(ein Bit) rückgestellt.
Die zwei Führungsangaben pro Instruktion gestat-
Eine »0« zeigt an, daß das A-Rcgistcr54 unver- 40 ten die gleichzeitige parallele Bewegung von zwei ändert zu lassen ist; durch eine »1« wird das durch Feldern von der Trennstelle des Überwachungsdie Ursprungsadresse (unten beschrieben) angege- registers in das Eingangsregister 42 des Assoziativbene Feld in das Α-Register geleitet, bevor es weiter- Speichers über das A-Register 54 und den Kreuzgeführt wird. punktschalter 34. Datenübertragungen von Quellen,
45 bei denen das Überwachungsregister ausgenommen
Buchstabencode ist, erfolgen über eine Leitung 1B, die ein Byte breit
(ein Bit) ist. Sie erfolgen daher byteweise seriell. Daraus folgt,
daß in jeder Instruktion nur einer derartige Übertra-
Eine »1« läßt eine Bytekonstante der Instruktion gung unter Benutzung der ersten Führungsangabe in das Α-Register eingeben, bevor sie weitergeführt 50 aufgerufen werden kann. Die zweite Führungsangabe wird. Diese Konstante ersetzt die Angaben über kann jedoch für eine gleichzeitige Übertragung über Feldlänge und Ursprungsadresse. den Kreuzpunktschalter verwendet werden. Ein Buch
stabe kann nur in der zweiten Angabe enthalten sein.
Längenfeld Die Angaben »nächste Instruktion« führen zu einer
(drei Bits) 55 bedingten Programmverzweigung, basierend auf der
Kollektivbedingung der Übereinstiminungsanzeige.
Gibt die Anzahl der Bytes des geführten Feldes an. Die Wahl der nächsten Instruktion hängt von folgen-Die größte Feldlänge aus dem Überwachungs- den Bedingungen ab:
registers 56 beträgt 3 Bytes, von anderen Quellen
7 Bytes. Eine Länge von Null führt zu keiner Daten- 60 Abfragen:
übertragung. bei einer oder mehreren Überemstim-
Urspmngsadresse mungen Instr. 1
(sechs Bits) bei keiner Übereinstimmung Instr. 2
Gibt die Stelle an, an welcher das wertniederste 65 Schreiben oder Lesen:
Byte des zuführenden Feldes zu finden ist. Nachfol- bei einer oder mehreren Übereinstim-
gende, Bytes desselben Feldes werden entsprechend mungsanzeigen Instr. 1
der Längenabgabe bewegt. bei keiner Übereinstimmung Instr. 2
Assoziativspeicher
Der Assoziativspeicher 32 besteht aus einer Anzahl von Wortregistern, die parallel zur Abfrage, Eingabe oder Wiedergewinnung von Daten adressiert werden können. Diese Register werden nach ihrem Inhalt und nicht nach ihrer Lage durch eine Einrichtung adressiert, in welcher die ganze Reihe von Wortregistern gleichzeitig mit dem Eingangsregister 42 verglichen wird. Eine Übereinstimmungsanzeige durch die Wortlogik 48 wird für jedes Wortregister eingeschaltet, dessen Inhalt gleich dem des Eingangsregisters ist. Bei der Abfrage werden im allgemeinen nur bestimmte Felder benutzt und die übrigen Positionen ignoriert, indem man in die entsprechenden Positionen des Maskenregisters 43 Nullen setzt.
Auf Grund der Abfrage werden Übereinstimmungsanzeiger für alle diejenigen Wörter eingeschaltet, deren nichtmaskierte Bitwerte mit den Bitwerten im Eingangsregister übereinstimmen. Das kann zur gleichzeitigen Übereinstimmung mehrerer Wörter führen, und bei Bedarf können Daten in alle Wörter gleichzeitig eingegeben werden, indem die Übereinstimmungsanzeiger, im folgenden MI genannt, die Wortregister zum Schreiben vorbereiten. Der nichtmaskierte Inhalt der Eingangsregister wird in allen so gewählten Wortregistern gespeichert.
Für die Wiedergewinnung und für eine andere Art der Eingabe kann zu einem Zeitpunkt nur ein Wort gewählt werden, auch wenn mehrere MIs eingeschaltet wurden. Zu diesem Zweck gestattet eine andere Art der Vorbereitung zum Lesen oder Schreiben nur einem der eingeschalteten MIs die Auswahl eines Wortes für die Operation. Dieser MI kann während der Operation ausgeschaltet werden, ohne daß andere MIs dadurch beeinflußt werden, so daß eine Folge von Lese- oder Schreiboperationen durch die übereinstimmenden Worte fortlaufen kann.
Die Auswahllogikschaltung arbeitet auch noch in einer anderen Form: Anstatt die übereinstimmenden Wörter auszuwählen, kann man mit den MIs auch die in der physikalischen Reihenfolge nächsten Wörter auswählen. Diese Möglichkeit gestattet die Behandlung von Wortgruppen als geordnete Sätze in einer wesentlich einfacheren Art, als wenn man das entsprechende übereinstimmende Wort auswählt.
Mehrere Abfragen können hintereinander durchgeführt werden, ohne daß die MIs zurückgestellt werden müssen. Dadurch erhält man bei der Auswahl der Wörter zusätzlich zu der normalerweise durch Verwendung der Eingangs- und Maskenregister gegebenen ÜND-Funktion eine ODER-Funktion.
Andere Funktionen werden mit Hilfe von Statusbits übernommen, die tatsächlich im Assoziativwort enthalten sind. Eines dieser allgemein gebräuchlichen Statusbits ist das Leerbit, das Wortregister mit gültigen Daten von solchen Registern unterscheidet, die für die Speicherung einer neuen Information zur Verfügung stehen. Andere Statusbits können gesetzt werden, um z. B. das zuletzt gespeicherte Wort oder die als nächste abzufragenden Wörter zu kennzeichnen. Operationen, in welchen Statusbits erscheinen, werden mit Hilfe von Konstantbitmustern in den Eingangs- und Maskenregistern vorbereitet
Zusatzspeicher
Der Zusatzspeicher (SS) 50 dient zur Aufbewahrung von Zeiten, Zählungen und Bedingungscodes, für die eine assoziative Verarbeitung nicht erforderlich ist. Jede Wortzelle des Zusatzspeichers SO entspricht jedoch einer einzigen Wortzelle des Assoziativspeichers (AM) 32 und kann gewählt werden, sobald eine Abfrage des Assoziativspeichers eine Übereinstimmung (Anpassung ANP) für die entsprechende AM-Zelle anzeigt. Grundsätzlich bewahren die AM-Wortzellen Daten auf, die den Status des überwachten Rechners 30 beschreiben, während die
ίο SS-Wortzellen die statistischen Daten sammeln, die sich auf den Status beziehen.
Der Algorithmus des Überwachungssystems ist so aufgebaut, daß eine Reihe von Operationen mit dem Assoziativspeicher allein durchgeführt werden kann und so eine Aufzeichnung des Zustandes des überwachten Rechners zusammengestellt werden kann. Dieser Prozeß wird im allgemeinen nur abgeschlossen, wenn der Rechner einen neuen Zustand angenommen hat; es wird jedoch auch eine Ubereinstim-
ao mung angezeigt, die auf die Aufzeichnung des vorherigen Zustandes hinweist. Wenn der Algorithmus eine SS-Instruktion zu diesem Zeitpunkt vorsieht, wird die SS-Wortzelle gewählt und entsprechend der SS-Instruktion fortgeschrieben. Wenn die Wahl einmal erfolgt ist, wird sie durch eine Änderung der Übereinstimmungsanzeige (ANP ANZ) nicht beeinflußt, bis die SS-Instruktion vollständig ausgeführt und eine andere ausgegeben ist.
Die Fortschreibung erfolgt über den Addierer 46 und die SS-Eingangs-Ausgangs-Register 44 und 40. AM- und SS-Operationen können unabhängig weiterlaufen, wenn eine SS-Wortzelle einmal gewählt worden ist. Diese Überlappung erfolgt automatisch für alle AM-Instruktionen mit Ausnahme der Instruktionen, die eine Datenübertragung zwischen dem Assoziativspeicher und dem Zusatzspeicher oder der E/A-Einheit 58 erfordern.
Die überlappte Verarbeitung ist in F i g. 6 dargestellt. Der Zeitpunkt, an dem der überwachte Rechner einen neuen Zustand 1 einnimmt, wird als der Empfangszeitpunkt neuer überwachter Daten angenommen, wie es durch das entsprechende Signal vom Rechner angezeigt wird. Da grundsätzlich ein Nachlauf von einem Zyklus vor Erkennung des neuen Zustandes vorliegt, ist der Taktgeber 60 so gepuffert, daß er zur Aufzeichnung einer neuen Zeitperiode, beginnend mit dem Rechnersignal, zurückgestellt werden kann, während die alte Zeitperiode mit Hilfe der SS-Instruktion aufrechterhalten wird.
Wenn kein neuer Zustand eingetreten ist, werden alte und neue Zeitperioden kombiniert.
Die Fortschreibung eines Wortes im Zusatzspeicher wird durch eine Instruktion (s. F i g. 7 b) gesteuert, die Angaben zur Durchführung verschiede-
ner Operationen auf vier Wortfeldern enthält. Diese Felder können einzeln von 1 bis 7 Bytes lang sein, zusammen dürfen sie jedoch nicht langer als 16 Bytes des SS-Wortes sein. Die SS-Instruktion belegt den Programmspeicher als Teil des program-
mierten Algorithmus, unterscheidet sich jedoch irr Format von der AM-Instruktion.
Die Anfangsstelle gibt das wertniedere Byte de: Feldes 1 an, das entsprechend seiner Länge unc Operationsangabe fortgeschrieben wird. Die übriger
Felder sind im SS-Wort zusammenhängend und wer den der Reihe nach verarbeitet Wenn die ganzei 16 Bytes des Wortes bei einer Anwendung nicht be nutzt werden, kann die Anfangsstelle von 0 verschie
409544/14'
ίο
den sein, wodurch die Zeit bis zur Beendigung der 52 zu einem Schreibzyklus verzweigt, um einen neuen SS-Instruktion verkürzt wird. aktiven Bereich aufzuzeichnen, wie es in dem Ab-
Zusätzlich zur Feldlänge (LF) kann die Feld- laufdiagramm der F i g. 3 a gezeigt ist.
angabe eine der folgenden Operationen am Feld Entsprechend der Darstellung in F i g. 3 a ordnel
(OF) erfordern: 5 das Uberwachungsprogramm Zähler nach Bedarf zu
und verzeichnet ihre Zuordnung in den Wortzellen
1. Feld vergrößern, des Assoziativspeichers. In Fig. 3b wird z.B. eine
2. Takt zum Feld addieren, neue Bereichsadresse 049 überwacht, was dazu
3. Kleineren Taktwert und alten Feldwert in Feld führt, daß keine Übereinstimmung mehr vorhanden setzen, io ist (keine ANP). Das Überwachungsprogramm ver-
4. Größeren Taktwert und alten Feldwert in Feld zweigt (Fig. 3a) und schreibt die Adresse 049 in setzen, den Assoziativspeicher 32, wodurch gleichzeitig ein
5. Trennstellenbyte nach Art einer ODER-Funk- neuer Zähler im Zusatzspeicher dem neuen Bereich tion auf Feld leiten, zugeordnet wird. In Fig. 3c ist die AM-Wortzelle
6. Keine Operation. 15 nach dieser Operation dargestellt. Wenn der über-
_ . , „ wachte Rechner bei der Ausführung seines Pro-
Grundoperat.on des Systems gramms zu einem Bereich zurückkehrt, der bereits
Um die Leistung eines Rechners zu messen, muß vom Programm-Überwachungssystem gekennzeichman oft wissen, wieviel Zeit für die Ausführung von net ist, wie z. B. der Bereich 001 in Fig. 2, stimmt Programmen benötigt wird, die aus verschiedenen 20 der Inhalt der ursprünglichen AM-Wortzelle mit der Hauptspeicherbereichen entnommen werden. Um Adresse überein, und der Zähler wird zum Weiterdiese Zeiten zu ermitteln, muß ein Zähler jedem der lauf wieder eingeschaltet.
aktiven Bereiche zugeordnet werden. Wenn eine In- Das in F i g. 3 a gezeigte Überwachungsverfahren
struktion aus einem Bereich der Rechnerspeichers ge- mit zwei Verzweigungen dient der Erstellung von holt wird, beginnen Taktimpulse den zugeordneten a5 mehreren Informationsarten. Wie in F i g. 4 gezeigt, Zähler weiterzuschalten. Sie laufen so lange weiter, wird die Kanalaktivität (E/A-Einheit 58) überwacht bis eine Instruktion aus einem anderen Bereich ge- und an der Trennstelle als Bitfeld (Kanal B durch bracht wird. Im vorliegenden System liegen die Adresse 2 gekennzeichnet) präsentiert. Dieses Feld Zähler im Zusatzspeicher 50. Sie werden den Haupt- wird neben die Speicheradresse des Rechners, gemäß Speicherbereichen automatisch mit Hilfe einer Asso- 30 der Darstellung in F i g. 4, gesetzt. Somit wird autoziativspeicher-Übereinstimmungstechnik zugeordnet. matisch eine Beziehung zwischen Speicherbenutzung Am Anfang ist der Assoziativspeicher 32 leer, und und Kanalaktivität hergestellt. Für das Überdie Zähler im Speicher 50 stehen auf Null. Die erste wachungssystem ist die Art der an die Trennstelle Instruktionsadresse wird vom Adressenregister des gebrachten Daten unwesentlich. Der Benutzer kann Rechnerspeichers über die Trennstelle des Über- 35 daher die Beziehungen zwischen jeder Art von Komwachungssystems, das Überwachungsregister 56, das binationen von Vorgängen herstellen, die durch digi-A-Register 54 und den Kreuzungspunktschalter 34 tale Signale dargestellt werden,
zum Eingangsregister 42 des Assoziativspeichers Ein weiteres Beispiel einer Beziehung ist in F i g. 5
übertragen. Diese Instruktionsadresse wird gemäß gezeigt. Diese Beziehung liefert Informationen über der Darstellung in F i g. 2 an einer Wortstelle im 40 die Folge von Vorgängen im überwachten System. Assoziativspeicher gespeichert. Jeder Vorgang ist dadurch mit seinen Vorgängen in
In der Darstellung der F i g. 2 ist dieses Wort für Beziehung gesetzt, daß ein geordnetes Paar am Eindie Überwachung des Speicherbereichs von 00100 gangsregister des Assoziativspeichers gebildet wird, bis 001FF verantwortlich. Diese Funktion wird Zwei Arten von Vorgängen werden in diesem Verübernommen von der zwangsläufig gegebenen Ver- 45 fahren aufgezeichnet: die Belegung eines bestimmten gleichsmöglichkeit des Assoziativspeichers, durch Bereiches und der Übergang von einem Bereich zu welche der Inhalt der AM-Wortzellen mit jeder einem anderen. Die Adresse wird zuerst in das linke neuen Instruktionsadresse verglichen wird, die in Feld (das laufende Feld) des AM-Eingangsregisters das Eingangsregister 42 des Assoziativspeichers ge- 42 gesetzt und eine Abfrage des Assoziativspeichers bracht wird. Die wertniederen Bits werden durch 50 mit der laufenden Adresse und der vorhergehenden Maskierung m"t Hilfe des Maskenregisters 43 igno- Adresse durchgeführt. Nach Verwendung der Überriert. Solange in den werthohen Bits (001) der einstimmungsanzeige wird die Adresse dann in das Adresse eine Übereinstimmung (ANP) angezeigt rechte Feld (das vorhergehende Feld) gesetzt und wird, wählt der Übereinstimmungsanzeiger 48 für dort aufbewahrt, bis die nächste Adresse ankomm) diese Zelle einen entsprechenden Zähler im Zusatz- 55 und der Zyklus wiederholt wird,
speicher 50 und gestattet dadurch die Akkumulation Bei einer typischen in F i g. 5 gezeigten Operation
ei aer Zählung, daß er mit dem Grundtakt (Takt- sind zwei Speicherbereiche mit aufeinanderfolgende!! geber 60) weitergeschaltet wird. Adressen beteiligt, von denen die eine Adresse füi
Der Abfragevorgang wird wiederholt, bis eine Un- den ersten Bereich mit 001 beginnt und die andere gleichheit (keine Anpassung) zwischen dem in der 60 für den zweiten Bereich mit 004. Jeder Bereich umZelle gespeicherten Wert und einer überwachten In- faßt natürlich eine Reihe von Adressen. Bei Verstruktionsadresse auftritt. Die nicht mehr vornan- folgung dieses Beispiels wird angenommen, daß dei dene Übereinstimmung führt zu einem Signal, wel- erste Speicherbereich 001 von dem überwachtet ches anzeigt, daß die Programmausführung im Rech- System benutzt wird. Die erste Adresse wird von ner 30 zu einem anderen Bereich im Hauptspeicher 65 Adreßregister des Rechnerspeichers gebracht und it des Rechners übergegangen war. Auf Grund dieser das Eingangsregister 42 des Assoziativspeichers ge Anzeige wird der Zähler SO, der als Zusatzspeidher setzt Da dies die erste Bezugsadresse ist, muß dei dient, abgeschaltet, woraufhin die Steuereinrichtung Assoziativspeicher jetzt abgefragt werden, in wel-
11 12
chem am Anfang nicht gespeichert ist. Daher kann wachte Programm zum Speicherbereich 001 zurückdiese erste Adresse direkt in den rechten Teil des kehrt. Der Inhalt des Speicheradressenregisters (001) Eingangsregisters gesetzt werden, nämlich den Teil wird in den linken Teil des Eingangsregisters 42 für dieses Registers für die vorhergehende Adresse. die laufende Adresse gesetzt, so daß das Eingangs-Wenn weiterhin angenommen wird, daß die nächste 5 register jetzt 001 004 enthält. Da keine Übereinstim-Adresse ebenfalls im Bereich 001 steht, so wird mung auftritt, wird der Inhalt des Eingangsregisters diese Adresse ebenfalls herausgebracht und in die in eine Wortzelle des Assoziativspeichers gesetzt und linke Hälfte des Eingangsregisters 42, nämlich den der mit dieser Zelle verbundene Zähler um 1 weiter-Teil für die laufende Adresse, gesetzt. Der Assoziativ- geschaltet. Die laufende Adresse wird im Eingangsspeicher wird dann abgefragt, und da im Assoziativ- io register 42 in den rechten Teil für die vorhergehende speicher nichts steht, ein Schreibzyklus eingeleitet, Adresse verschoben. Wenn die nächste Adresse ebenum den Inhalt des Eingangsregisters, d. h. 001001 falls im Bereich 001 liegt, findet kein Übergang statt, zu speichern (die nicht wertdarstellenden Teile jeder Der Inhalt des Speicheradreßregisters wird in den Adresse werden durch das Maskierungsregister 43 linken Teil des Eingangsregisters für die laufende maskiert). Am Ende der Schreiboperation wird die 15 Adresse gesetzt, und das Eingangsregister enthält vorhergehende Adresse vernichtet und die laufende demzufolge jetzt 001 001. Eine Abfrage führt zu Adresse vom Eingangsregister in den rechten Teil einer Übereinstimmung mit der eisten Wortzelle des für die vorhergehende Adresse verschoben. Die Assoziativspeichers (001 001), und der entsprechende nächste Adresse wird dann vom Speicheradressen- Zähler wird weitergeschaltet.
register des Rechners gebracht und in den linken 10 Weitere Übergänge vom Bereich 001 zum Be-Teil des Eingangsregisters 42 für die laufende reich 004 führen zu einer Übereinstimmung in der Adresse gesetzt. Wenn angenommen wird, daß die zweiten Wortzelle des Assoziativspeichers, und der nächste Adresse ebenfalls aus dem Bereich 001 entsprechende Zähler wird weitergeschaltet,
stammt, tritt im Assoziativspeicher eine Überein- Die in F i g. 5 aufgezeichneten statistischen Werte Stimmung auf, welche die Übereinstimmungsanzeige a5 enthalten folgende Angaben: Es haben Überträge für dieses Wort einschaltet. Der mit dem überein- zwischen den beiden Speicherbereichen 001 und 004 stimmenden Wort verbundene Zähler wird weiter- stattgefunden, 8 Überträge fanden statt vom Begeschaltet, so daß er jetzt auf 2 steht und damit an- reich 001 zum Bereich 004, 7 Überträge vom Begibt, wie oft auf den Speicherbereich 001 Bezug ge- reich 004 in den Bereich 001. Insgesamt wurde nommen wurde. 30 123mal Bezug genommen auf Adressen im Be-
Der Inhalt des Eingangsregisters wird immer so reich 001 und 678mal auf Adressen im Bereich 004.
nach rechts verschoben, daß die laufende Adresse Mit diesem Verfahren läßt sich eine Kurve über
in den Teil für die vorhergehende Adresse gesetzt die Arbeitsweise des Systems im Assoziativspeicher
und die vorhergehende Adresse gelöscht wird. entwickeln und die Arbeitsweise der Algorithmen
Wenn jetzt angenommen wird, daß das überwachte 35 für die Seitenerstellung studieren. Wenn die volle Programm von dem einen Speicherbereich 001 zu Instruktionsadresse auf den Assoziativspeicher durch einem anderen Speicherbereich 004 übergegangen Veränderung des Inhaltes des Maskenregisters gegeist, dann wird der Inhalt des Speicheradressen- ben wird, werden alle Verbindungen eines Programms registers, das jetzt die Zahlen 004 enthält, in den aufgezeichnet und zur Zeichnung des Programmlinken Teil des Eingangsregir.ters 42 für die laufende 40 blockdiagramms in der Art benutzt, wie es tatsäch-Adresse übertragen. Das Eingangsregister enthält Hch ausgeführt wurde. Diese Technik ist jedoch jetzt die mit 004 beginnende Adresse im Teil für die wegen ihres großen Platzbedarfes höchstens bei ganz laufende Adresse und die mit 001 beginnende kleinen Programmen praktisch durchführbar. Ein Adresse in dem Teil für die vorhergehende Adresse. nachfolgend genauer beschriebenes komplexeres Ver-Die Wortzellen des Assoziativspeichers werden ab 45 fahren schaltet viele redundante Informationen aus gefragt, und es tritt keine Übereinstimmung auf, da und ermöglicht die Aufstellung von Blockdiagramdieses Wort nicht im Assoziativspeicher gespeichert men mit Assoziativspeichern.
ist (das einzige zu diesem Zeitpunkt gespeicherte In den obigen Ausführungen wurden Logik-Wort ist 001 001). Aufzeichnungsmöglichkeiten des Programm-Über-
AIs nächstes wird ein Schreibzyklus eingeleitet 5° wachungssystems beschrieben. Anwendungs-Auf- und der Inhalt des Eingangsregisters in einer ver- Zeichnungsfunktionen finden in den Zählern statt, fügbaren Wortzelle des Assoziativspeichers gespci die in Wirklichkeit Wortzellen im Zusatzspeicher chert. Ferner wird der diesem Wort entsprechende sind, welche durch den Assoziativspeicher als Er-Zähler um 1 weitergeschaltet. Der Inhalt des linken gebnis der Anfrage adressiert werden. Diese Wort-Eingangsregisterteiles für die laufende Adresse wird 55 zellen sind auf verschiedene Art so geschaltet, daß dann in den rechten Teil für die vorhergehende sie Zählungen, Zeiten oder das Vorliegen von Adresse gesetzt und die vorhergehende Adresse ge- Rechnerbedingungen entsprechend den jeweils gelöscht wünschten Messungen aufzeichnen.
Wenn jetzt Bezug genommen wird auf den Spei- . . , . . ,
cherbereich 004, so wird das, wie oben im Zusam- 60 Anwendungsgebiete
menhang mit dem Bereich 001 beschrieben wurde, In den nachfolgenden Anwendungsbeispielen sind
aufgezeichnet, was zu einer Speicherung im dritten die Algorithmen als Blockdiagramme gegeben, bei
Wort im Assoziativspeicher führt, d. h. 004 004. Der denen jeder Block eine Instruktion einschließlich der
entsprechende Zähler wird dann weitergeschaltet Datenführung, die Operation (Schreiben oder Ab-
Die laufende Adresse im linken Teil des Eingangs- S5 fragen) und die Maskierung für AM-Operationen
registers wird nun in den rechten Teil für die vorher- darstellt. Daten werden durch Felder geführt, die
gehende Adresse gesetzt innerhalb jeder Anwendung konstant sind und durch
Im folgenden wird angenommen, daß das über- Großbuchstaben mnemonischen Charakters bezeich-
i 928 202 *7
13 I4
net sind. Die Lage eines Feldes wird durch einen Wertung des Systemzustandes muß bei jedem Installs
Indexbuchstaben angegeben, der das bei der Füh- tionssignal erfolgen oder, wenn die Instruktione;
rung benutzte Register oder den Speicher selbst be- nicht ausgeführt werden, bei jeder Veränderung de
zeichnet. Diese Indexbuchsiaben sind: übrigen Bedingungen.
L ν«. 5 Verfahren
b ÜberwachuLgsregister 56,
α Kreuzpunktschalter-Eingangsregisier '«** Systemzustand wird durch em bestimmte (A-Reeister 54) ess· Bitmuster in der obenerwähnten Anordnung voi . L . /' .- , . . . . , 14 Bits wiedergegeben und in einem Wort des Zusatz ι Eingangsregister 42 des Assoziativspeichers, ^ spdchers aufg°Zeichnet. In dem entsprechenden Wor J Speicherzellen des Assoziativspeichers, J1n Zusatzspeicher wird eine Gesamtsumme von Ζέπο Ausgangsregister 38 des Assoziativspeichers, intervall und Benutzung jedes Zustandes gebildet ρ E/A-Register 40 und 44 des Zusatzspeichers. Wenn Instruktionen ausgeführt werden (Betriebsstellungen und Stellungen des laufenden Programms)
Die verschiedenen in einem Algorithmus benutzten 15 wird das gesamte Bitmuster benutzt. In anderer Felder bilden einen geordneten Satz am Eingang des Fällen wird nur der Programmstatus und der Kanal-Assoziativspeichers und nach dem Schreiben in eine status gespeichert.
bestimmte Wortzelle. Die Notierung für einen der- Sobald sich ein Zustand ändert, wird das entartigen geordneten Satz ist: " sprechende Bitmuster gleichzeitig mit allen vorher im
20 Assoziativspeicher 32 gespeicherten Mustern ver-
(S^C1) für ein bestimmtes gespeichertes Wort. glichen. Wenn dabei keine Übereinstimmung gefunden und somit ein neuer Zustand festgestellt wird,
In diesem Algorithmus ist S das den Programm- wird das neue Bitmuster in der nächsten leeren Wortstatus und die belegten Kanalbits (6 Bits) kombi- stelle gespeichert und die entsprechenden statistischen nierende Feld, P die Instruktionsseite (8 Bits) und C as Felder im Zusatzspeicher initialisiert. Wenn eine der letzte Statusanzeiger. Eine durchzuführende An- Übereinstimmung gefunden und damit eine Wiederfrage erfolgt im allgemeinen mit einem Satz von der- holung angezeigt wird, werden die entsprechenden artigen Wörtern. Dieser Satz ist nicht geordnet und statistischen Werte fortgeschrieben,
folgendermaßen geschrieben: Instruktionsabtastungen ohne Änderung des Zu-„ ρ _ 30 Standes der vorherigen Abfrage führen zu Abfragen ' s s +/ des Assoziativspeichers. Um Änderungen festzustel-In diesem Beispiel kennzeichnen 5 und P die bei len, wird der Anordnung von 14 Bits ein Steuerbit der Abfrage tätigen Felder, und der Gedankenstrich hinzugefügt und in dem Wort auf »1« gesetzt, das bedeutet, daß das Feld maskiert ist, welches im Wort den laufenden Zustand des Systems darstellt.
diese relative Stellung einnimmt. 35 „ , .
6 Ergebnisse
Anwendungsbeispiel 1 Am Ende der Auswertung ist für jeden tatsächlich
Kombinationen von Vorgängen und Zuständen aufgetretenen neuen Systemzustand ein'Datenwort
ö im Assoziativspeicher gespeichert. Diese Worter kon-Problem 40 nen ^3ηη unter Benutzung des geordneten Wieder-Das Problem besteht darin, herauszufinden, welche gewinnungsverfahrens so ausgedruckt werden, daß Systemstellungen während einer Betriebsperiode eines zuerst die nicht ausführenden Zustände und dann Computersystems auftreten, wie oft jede Stellung die Zustände in Seitenordnung wiedergegeben werden, auftritt und wieviel Zeit in jeder Stellung verbracht ., ,„ ,, ,. . -.r ■■
wird. Für dieses Anwendungsbeispiel wird eine 45 Algonthmus fur Kombinationen vor Vorgangen
Systemstellung oder ein Systemzustand als eine Korn- und Zustanden (F 1 g. 8)
bination innerhalb der folgenden Klassen von über- S Ein Feld zur Kombination von Programmwachten Signalen definiert: status und belegten Kanalbits. (6 Bits insgesamt),
Gestoppt/in Betrieb: 50 ρ Instruktionsseite (8 Bits),
2 Möglichkeiten 1 Bit c Anzeiger für letzten Status,
Laufend/wartend: _ ,, . „ . .
2 Möglichkeiten 1 Bit Felder im sPeicher:
Übe'wachung/Problem: {SsPsCs} Assoziativspeicher
2 Möglichkeiten 1 Bit 55 (Zeit + Benutzung) Zusatzspeicher
J\5"r Li ·, ο «· Wenn 8emäß der Darstellung in F i g. 8 ein Instruk-
InstrukSSe * tionsabtastimpuls (/-Impuls) einen Zyklus (Schritt B)
instruKtionsseite. einleitet, werden die überwachten Bits durch das
256 Möglichkeiten 8 Bits 60 A-Register 54 (F i g. 1) auf das AM-Eingangsregister
42 zur Abfrage des Assoziativspeichers 32 geleitet.
Die Trennstelle zwischen Rechner 30 und Über- Eine Übereinstimmung besagt, daß sich kein Systemwachungsregister 56 ist so ausgelegt, daß sie alle der status geändert hat, ferner vervollständigen sie den obengenannten Signale mit Ausnahme der Instruk- Zyklus.
tionsseite auf einer Ein-Aus-Basis liefert. Die Instruk- 65 Wenn eine Instruktion nicht ausgeführt wird, löst tionsseite ist die werthohe 8-Bitgruppe der Instruk- die Programmänderung oder der Kanalzustand (Zutionsadresse, deren Vorhandensein an der Trennstelle Standsänderung) den Zyklus aus (Fig. 8, Schritt/*)> durch ein Instruktionssignal angezeigt ist. Eine Aus- in welchem nur S-Bits aus dem Überwachungsregister
56 genommen und Nullen in das P-FeId des AM-Eingangsregisters 42 gesetzt werden.
Bevor der neue Zustand aufgezeichnet wird, muß die vom Taktgeber 60 aufgezeichnete Zeit im vorhergehenden Zyklus zur Gesamtzeit für diesen Zustand (im Speicher 50) addiert und der Benutzungszähler weitergeschaltet werden. Das erfolgt durch Abfragen des Assoziativspeichers mit dem Anzeiger Cs für den letzten Status, um das letzte aufgezeichnete Wort und somit das entsprechende Wort im Zusatzspeicher (F i g. 8, Schritt C, D) zu wählen.
Nachdem der Anzeiger für den letzten Zustand durch Schreiben einer »0« in das Cs-Feld (Schritt E) zurückgestellt wurde, erfolgt eine Abfrage, bei der die Felder P und 5 noch im AM-Eingangsregister stehen, um festzustellen, ob der laufende Systemstatus bereits früher aufgezeichnet wurde. Wenn ja (Schritt G), wird nur die letzte Zustandsanzeige als Vorbereitung für den nächsten Zyklus gespeichert; sonst erfolgt Schritt H, wodurch der gesamte Inhalt ao des AM-Eingangsregisters zur Speicherung des neuen Status in das nächste freie Wort geschrieben wird.
Anwendungsbeispiel 2
Verteilungen von Vorgängen a5
Problem
Die Bahnläiige zwischen einzelnen gewählten Zweigen kann definiert werden als die Anzahl von sequentiellen Instruktionen, die ausgeführt werden, bevor eine Verzweigung zu einer nicht sequentiellen Adresse erfolgt. Dieser Punkt ist wichtig, um zu bestimmen, wie weit ein Rechner beim Instruktionsabruf vorausschauen muß. Dieses Anwendungsbeispiel stellt fest, welche Bahnlängen und mit welcher Frequenz diese in den Programmen tatsächlich auftreten. Die Verteilungen sind festzustellen für Bahnen, die jeder Art von Verzweigungsinstruktion vorausgehen.
Die an das Überwachungsregister gegebenen Signale sind der Operationscode, eine Bitanzeige für eine vorgenommene Verzweigung und ein Instruktionssignal. Wenn die Bitanzeige für die vorgenommene Verzweigung nicht verfügbar ist, können Adresse und Länge einer Instruktion für eine arithmetische Überprüfung auf nicht sequentielle Instruktionen benutzt werden.
Verfahren
Der Assoziativspeicher wird mit dem Operationscodesatz der Verzweigungsinstruktionen geladen, und zwar ein Wort für jeden Code. Diese Wörter enthalten ebenfalls eine Eins in einem Ein-Bit-Feld zur Anzeige der vorgenommenen Verzweigung und in einem Bahnlängenfeld pine Null. Ein Häufigkeitsfeld im Zusatzspeicher soll anzeigen, wie oft dieselbe Bahnlänge auftritt. Außerdem ist im Assoziativspeicher ein besonders markiertes Wort für die laufende Zahl im Zusatzspeicher vorgesehen, die am Anfang 0 ist.
Sobald jeder Operationscode und das Bit für eine vorgenommene Verzweigung in das Überwachungsregister gebracht wird, wird die Kombination dieser beiden Felder mit einem vorher geladenen Codesatz verglichen. Wenn keine Übereinstimmung festgestellt wird, wird die Zahl für das laufende Feld um 1 weitergeschaltet. Wenn eine Übereinstimmung auftritt, wird die Zahl für das laufende Feld unmaskiert auf das Bahnlängenfeld geleitet und eine zweite Abfrage durchgeführt. Wenn diese ebenfalls zu einer Übereinstimmung führt, wird das Häufigkeitsfeld des passenden Wortes weitergeschaltet; sonst aber wird die neue Bahnlänge in einem leeren Wort mit der Anfangshäufigkeit 1 gespeichert. Die Zahl für das laufende Feld wird dann auch 0 zurückgestellt.
Ergebnisse
Am Ende des Laufes wird für jede Bahnlänge und für jeden Operationscode ein Wort im Assoziativspeicher gespeichert. Dieses Wort kann dann mit Hilfe des Bereichs-Wiedergewinnungsverfahrens ausgedruckt werden, um die verschiedenen Bahnlängen in Gruppen zusammenzufassen.
Algorithmus zum Auffinden der Verteilung
von Vorgängen (Fig. 9)
O Operationscode und Bit für unternommene Verzweigung (vorher geladener Satz von Verao zweigungscodes mit L = 0),
L Bahnlänge,
C Code für Zahl des laufenden Wortes,
R Laufende Zahl,
a5 F Häufigkeit,
Felder im Speicher:
(OSLSCS
RFj)
Assoziativspeicher
Zusatzspeicher
Jeder Instruktionsabtastimpuls (/-Impuls) leitet eine Prüfung ein (Fig. 9, Schritte), um festzustellen, ob eine Verzweigung für einen der vorgegebenen Operationscodes unternommen wurde. Diese Codes brauchen nicht der ganze Satz des Fremdrechners zu sein.
Wenn keine tatsächliche Verzweigung festgestellt wird (keine Übereinstimmung), wird die laufende Zählung durch Wahl des Wortes weitergeschaltet, bei dem sie mit einer Abfragung ihres Codes (Schritt B) gespeichert ist. Das Feld der laufenden Zählung wird aus dem Zusatzspeicher ausgelesen, über einen Weiterschalter geleitet und in demselben Wort wieder gespeichert (Schritt C).
Wenn eine Verzweigung stattgefunden hat (Übereinstimmung), wird die laufende Zählung gewählt (Schritt D) und in das AM-Eingangsregister geleitet, wo sie zur Bahnlänge selbst wird (Schritt E). Das Feld für die laufende Zahl wird dann zurückgestellt (Schritt E). Die Kombination von Operationscode und Bahnlänge wird dann entweder gespeichert (Schritt G) oder führt zu einer notwendigen Weiterschaltung des Häufigkeitsfeldes (Schritt H), wenn sie bereits im Speicher steht.
Anwendungsbeispiel 3
Kurze Folgen und Mischungen
Problem
Bei der Planung neuer Systeme kann die Kenntnis von Instruktionsmischungen ein wichtiger Faktor sein. Es gibt viele Möglichkeiten, die Zusammenstellung von Mischdaten vorzuschreiben, die alle irgendeine Art der Sequenzverfolgung oder -auffindung mit sich bringen. In diesem Beispiel besteht das Problem darin, herauszufinden, weiche Operationscodes unmittelbar den bedingten Verzweigungen einer Instruktion vorausgehen, und zwar bis zu einem
409 544/149
ff
Maximum von 10 Codes, einschließlich der Verzwei- wird entsprechend fortgeschrieben. Das AM-Ein-
cung gangsregister vnrd dann auf »0« zurückgestellt und
der nächste Operationscode beginnt eine neue Folge.
Verfahren Die Codefojge kann über 9 Codes hinauslaufen, Für jede Mischung wird ein Wort des Assoziativ- 5 bevor ein Code für eine bedingte Verzweigung aufspeichere benutzt, wobei die Operationscodes über tritt. In diesem Fall nimmt der 11. Code die Stelle das ganze Wort in 10 Feldern von je einem Byte des 1. Code ein usw., bis ein Code fur erne bedingte Länge verteilt sind. Wenn die Operationscodes am Verzweigung gefunden wird.
Überwachungsregister ankommen, werden sie in auf- Ergebnisse
einanderf olgende Felder im AM-Eingangsregister una io
auf ein Feld geleitet, das zum Vergleich mit dem Satz Jedes Wort enthält eine Mischung von 10 oder
der bedingten Verzweigungscodes danebengestellt ist, auch weniger Operationscodes. Der abschließende
die einen Sondersatz vorher geladener Wörter be- Code für die bedingte Verzweigung kann jedes der
legen. Wenn einer dieser Codes gefunden wird, be- 10 Felder belegen. Wenn jedoch nach diesem Code
nutzt man die Anordnung der zehn Felder im AM- 15 mindestens ein Feld mit Nullen folgt, verlauft die
Eingangsregister zur Abfrage des übrigen Assoziativ- Folge so, wie sie aufgezeichnet ist. Folgt ein solches
Speichers, der die bereits aufgefundenen Anordnun- Nullenfeld nicht, werden die vorhergehenden 9 Codes
gen enthält. Die Benutzungseintragung (Gebrauch) »hintenherum« gelesen.
Algorithmus zum Auffinden kurzer Folgen
(Fig. 10)
O An Überwachungstrennstelle empfangener Operationscode,
B Vorher gespeicherte Verzweigungs-Operationscodes.
Felder im Speicher:
(B s OOOOOOOOOO O) Satz Verzweigungscodes
(O O Os l O/ Os 3 Bs* O O O O O O) Mischung von vier Codes in einer Viererfolge
(O O O5 11 OS IS Os 13 Os li O5 15 ßs 16 O5 7 O* O5 9 Os 10) Mischung von 10 Codes in einer Folge von mindestens 16
Aufeinanderfolgende Operationscodes werden in v , ,
aufeinanderfolgende Felder über das AM-Eingangs- vertanren
register mit Hilfe einer Reihe von Makro-Instruk- Der Assoziativspeicher wird mit den zu verfolgentionen gesetzt, die sich nur in der Führung der Mikro- den Sequenzen geladen, wobei die Elemente jeder Instruktion unterscheiden (Fig. 10, Schritte A, B, C). 40 Sequenz in aufeinanderfolgende Speicherwörter geWenn ein Verzweigungsoperationscode empfangen setzt werden. In dem Wort nimmt der Code für jedes wird, wird ein gemeinsames Unterprogramm verfolgt Element ein Feld ein, in diesem Fall 24 Bits der (Schritt D), um die neue Mischung zum Speicher zu Adresse. Das Wort enthält außerdem zwei ein Bit addieren (Schritt E) oder das Benutzungsfeld einer große Felder, von denen eines eine »1« für den Start vorhandenen Mischung weiterzuschalten (Schritt F). 45 und das andere eine »1« zur Anzeige des Elementenendes enthält.
Anwendungsbeispiel 4 Das Verfahren arbeitet mit einer speziellen Ab-
La FoI frageoperation für den Assoziativspeicher, bei dem
ρ s die Übereinstimmung eines Wortes das nächstfol-
Froblem 50 gencje ^yort m der physikalischen Reihenfolge für die
Eine Möglichkeit, die Leistung eines Systems zu Dateneingabe gewählt wird. In diesem Fall wird ein bestimmen, besteht darin, festzustellen, wie oft vor- Statusbit in das Wort nach der Abfrage eingegeben, her angegebene Folgen von Vorgängen ablaufen. In um den Weitergang durch die Sequenz zu verfolgen, diesem Beispiel ist ein Betriebsystem mit einer be- Die gefährliche Abfrage erfolgt gleichzeitig mit dem kannten Belastung zu prüfen, um festzustellen, ob 55 Adreßbit und dem Statusbit. Wenn die Abfrage nach eine vorhergesagte Folge von Überwachungsanforde- Empfang des nächsten Elementes erfolgreich verläuft, rungen, Unterbrechungen und Objektprogrammen wird das Statusbit zum nächsten Wort übertragen,
auch wirklich verfolgt wird. Die Folgen können sehr Außer der Aufzeichnung von Erfolgen beim überlang sein, einander überlappen oder einschließen und queren ganzer Sequenzen können statistische Werte bei jedem beliebigen Element beginnen oder enden. 60 über Teilüberquerungen in den Wörtern des Zusatz-
Der Wechsel zu einem neuen laufenden PSW (Pro- Speichers entsprechend den dazwischenliegenden Se-
grammstatuswort) stellt einen Schritt in der Folge quenzelementen zusammengestellt werden,
dar und kann dadurch abgefühlt werden, daß eine K , .
Unterbrechung im Fremdsystem auftritt oder eine fcrgeonisse
Instruktion LADE PSW ausgeführt wird. Die Adresse 65 Am Ende der Prüfung enthält der Assoziativ-
des PSW kennzeichnet das Folgelement und ist von speicher die geprüften Sequenzen und der Zusatz-
der Trennstelle des Überwachungsgerätes erhältlich, speicher Angaben darüber, wie weit diese Sequenzen
sobald ein Wechsel auftritt. verfolgt wurden. Die Sequenzen können dann als
20
kompletter Prüfbericht in einem Format ausgedruckt Instruktionen haben jedoch nur eine Nachfolgewerden, das einen Punkt fur Punktvergleich der Er- Instruktion, so daß bei dieser Technik der Speicher gebmsse der Prüfungen von Änderungen der Be- raum für redundante Informationen vergeudet wird lastung oder des Systems gestattet. Die wesentiiche Information ist in den Verbindung^ Algorithmus zum Verfolgen langer Sequenzen 5 von imd zu !nstruktionen enthalten, die mehrere Vor-(Fig. 1Π läufer oder Nachfolger haben. Diese Verbindungen _ „ , ,.. c t können von den Adressen und den Operationscodes C Code fur Sequenzelement, im Instruktionsstrom her gekennzeichnet werden.
B, E Start und Ende,
5 Statusbit. >° Verfallen
. , jT-j-j Jedes Wort des Assoziativspeichers enthält drei
Am Anfang und Ende jedes Zyklus werden die Adreßfelder mit den Bezeichnungen »Eingang«
Statusbits für alle ersten Elemente auf 1 gesetzt »Ausgang« und »Bestimmung«. Die Eingangs- und
(Schritt F). Ausgangsadressen sind die erste und die letzte Adresse
Wenn der nächste Code vom Überwachungsregister 15 eines Blocks von aufeinanderfolgenden Instruktionen, empfangen wird, erfolgt zunächst eine Abfrage die Bestimmung ist die Eingangsadresse eines nach-(Schritt/1), um festzustellen, ob dieser Code auf folgenden Blocks, so daß jedes gespeicherte WoD eines der et warteten letzten Elemente von bis dahin eine Verbindung in der logischen Struktur des Proerfolgreich verfolgten Sequenzen paßt. Ist das der gramms darstellt
Fall, werden die statistischen Wei-e fortgeschrieben ao Bestimmte Adressen sind als Ausgänge bezeichnet
(Schritt B) und das betreffende Element auf »C«r zu- wenn sie im Instruktionsstrom unter Begleitung eines
rückgestellt (ohne daß dadurch andere Elemente der Verzweigungsoperationscodes auftreten. Die erste
Sequenz beeinflußt werden). Adresse nach einer Ausgangsadresse ist automatisch
Derselbe Code wird dann dazu benutzt (Schritt C), ein Eingang zu einem laufenden Block, die eine von
um alle Elemente abzufragen, deren Statusbit auf »1« 25 vier möglichen Beziehungen zu bereits aufgefundenen
steht. Diese Operation benutzt die Operation Blocks einnimmt. Mit dem Erscheinen der Eingangs-
»NÄCHSTE ABFRAGEN« (beschrieben unter »Da- und der Folgead. essen ir^ Instruktionsstrom werden
tenwege und Führungssteuerung), um die eventuelle sie mit vorher gespeicherten Ein- und Ausgänger
Eingabe einer »1« in das Statusbit des nächsten verglichen, um festzustellen, ob der laufende Block
Wortes vorzubereiten. 30 neu ist oder noch einmal verfolgt wird oder ob ent
Dann werden in alle Statusbits Nullen gesetzt weder der laufende Block oder ein alter Block gestell·
(Schritt D), ohne daß diese zurückgesetzt werden und werden muß.
ohne Beachtung der Übereinstimmungsanzeiger. Dieser Mit fortschreitender Ausführung des Programms
Schritt löscht die Einstellung aller Elemente, die mit und Wiederholungen seiner Segmente werden auch
diesem letzten Code nicht übereinstimmen. 35 die meisten Verbindungen einmal oder mehrmals ver-
Zum Schluß werden alle ersten Elemente für die folgt. Ferner wird die entsprechende Aufteilung des
Eingabe mit Hilfe einer normalen Abfrageoperation Adreßstromes in Blocks festgelegt. Wenn diese EIe-
ausgewählt (Schritt E). Diese Auswahl wird mit der mente gefunden oder wiederholt werden, wird ihre
durch die obenerwähnte Operation »NÄCHSTE AB- Zeit und ihre Benutzung (Gebrauch) notiert und die
FRAGEN« erhaltenen Auswahl nach Art einer 40 Kanal- und Wartestellungen unter Benutzung des
ODER-Funktion verknüpft. Die Statusbits werden in Zusatzspeichers für diese zusätzlichen Daten zu inner
allen gewählten Wörtern auf »1« gesetzt (Schritt F), in Beziehung gesetzt.
d. h. in allen ersten Elementen und dem durch die
Operation »NÄCHSTE ABFRAGEN« gewählten Ergebnisse
Wort. 45 Es kann gezeigt werden, daß jede bedingte Ver-
Anwendungsbeispiel 5 Zweigungsinstruktion mindestens aus zwei und hoch-
Blockdiagrammerstellung stens vier Verbindungen führt, und daß die Anzah
P obl m aer durcn d*ese Verbindungen aufgestellten Block«
immer niedriger als die Zahl der Verbindungen ist
Bei der Fehlerprüfung oder Auswertung der Lei- 50 Da ein Speicherwort pro Verbindung erforderlich ist stung eines Programms ist es wichtig zu wissen, ob können in einem Speicher mit einer Kapazität vor Programmsegmente in der richtigen Reihenfolge aus- 4096 Wörtern etwa 2700 Blöcke aufgezeichnet wer· geführt werden, wieviel Zeit pro Segment benötigt den. Abhängig von der Komplexität der Programmwird, wie weit sich die Programme mit der Kanal- struktur reicht der Speicher für Programme mit zwitätigkeit überlappen und ob eine Ausführung zum 55 sehen 6000 und 16000 Instruktionen aus.
Warten gezwungen war. Wenn auch das eine oder Am Ende der Auswertung der Blockdiagrammandere Segment zur Einzeluntersuchung mit Ver- erstellung enthält der Assoziativspeicher die strukfahren ausgewählt wird, ahnlich den in vorhergehen- turelle Zusammensetzuag des Programms gemäC den Anwendungsbeispielen beschriebenen, so ist es seiner tatsächlichen Ausführung. Der Zusatzspeichel doch schwer, vorauszusagen, wo eine Vorausschau 60 enthält die zu jedem Strukturelement gehörenden erfolgen soll und worauf' diese gerichtet sein muß, statistischen Daten. Die Standarddarstellung diesel und außerdem besteht die Möglichkeit, daß etwas Information wäre eine Liste der Blöcke mit ihrer Wichtiges unberücksichtigt bleibt. Ausgangsverbindungen, die ihre Reihenfolge beWenn jede Instruktioiisadresse mit ihrer Folge- stimmen.
adresse im Instruktionsstrom gepaart und diese Korn- 65 Wenn die Information einmal gesammelt worden
bination auf den Assoziativspeicher gegeben wird, ist, können andere Ausgabeverfahren für Spezial-
enthält der Speicher am Schluß alle Verbindungen zwecke verwendet werden. Zur Dokumentation des
zwischen Instruktionen dieses Programms. Die meisten Programms kann z.B. die Darstellung der Block-
diagramme in Bildform unter Verwendung des Fremdrechners zur Berechnung und zum Ausdruck des Diagramms erwünscht sein. Wenn das Programm auf Versuchsbasis optimiert werden soll, braucht nicht immer die ganze Liste ausgedruckt zu werden, sondern nur die Elemente, die mehr Zeit benötigen.
Genaue Beschreibung des Verfahrens
Wenn es sich bei einer Instruktion um eine bedingte Verzweigung handelt, wird beim ersten Auftreten des Operationscodes im Instruktionsstrom erkannt, daß die Möglichkeit einer unterschiedlichen Folgeinstruktion bei einer künftigen Ausführung besteht. Daher wird diese bedingte Verzweigungsinstruktion als »Ausgang« eines Blocks aufgezeichnet. Die momentane Folgeinstruktion ist eine »Bestimmung« und außerdem ein »Eingang« für einen anderen oder eventuell auch denselben Block. Die Grundaufzeichnung besteht somit aus drei Adressen zur Kennzeichnung von Eingang, Ausgang und einer Blockbestimmung.
Wenn eine bedingte Verzweigung die nächste Adresse als Eingang zu einem Block kennzeichnet, kann dieser Block einen bereits aus dem Instruktionsstrom abgeleiteten Block unterteilen. Gemäß der Darstellung in Fig. 12 bestehen für einen laufenden Block vier mögliche Beziehungen zu bereits ausgeleiteten Blocks.
Im Fall 1 wird festgestellt, daß keine der Adressen aus dem laufenden Eingang, Nc, über den laufenden Ausgang, Xc, auf irgendeinen der vorher gespeicherten Eingänge oder Ausgänge, Np oder Xp, paßt, so daß der Block also neu ist und dem Speicher hinzugefügt werden kann.
Ein laufender Eingang kann nicht erkannt, jedoch eventuell von einer Adresse gefolgt werden, die auf einen früher gespeicherten Eingang paßt. Die dieser passenden Np unmittelbar vorausgehende Adresse wird zum laufenden Ausgang eines Blocks, wie es in F i g. 2 gezeigt ist, und der Block wird mit Np als Bestimmung aufgezeichnet. Das Programm läuft durch Wiederholung von NpXp1 weiter, da Xc keine Verzweigung ist.
Ein Block kann für einen Eingang bestimmt sein, der, wie im Fall 3, bereits aufgezeichnet ist. Wenn angenommen wird, daß sich der Operationscode nicht ändert, muß derselbe Ausgang folgen, und der Block braucht nicht noch einmal aufgezeichnet zu werden, wenn die Bestimmung nicht unterschiedlich ist. Schließlich findet man bei der Ausführung des Programms nur den Fall 3.
Wenn eine bedingte oder unbedingte Verzweigung zu einem neuen Eingang innerhalb eines Blocks geführt hat, wie es im Fall 4 dargestellt ist, so tritt diese Tatsache nicht sofort in Erscheinung. Früher oder später stimmt jedoch die Adresse mit dem Ausgang Np überein und signalisiert diese Bedingung. Der laufende Block kann zum Speicher addiert werden, im vorhergehenden Block erfolgt jedoch dadurch ein Einschnitt.
Um den in diesem Fall eingeschnittenen Block aufzuteilen, muß die Adresse ermittelt werden, die eine Stelle unter dem laufenden Eingang liegt. Dieser Ausgang läßt sich nicht genau bei der Ausführung von Insiruktionen mit veränderlicher Länge errechnen, Ifonn jedoch im Instruktionsstrom erneut auftreten nnd aufgezeichnet werden, da sein Nachfolger auf den in Frage kommenden Eingang paßt. Damit das
erreicht wird, gibt man ein Kennzeichen zu dem eingeschnittenen Block, wodurch er der Benutzung durch einen Algorithmus entzogen wird, so daß sich die Situation von selbst zum Fall 2 auflöst, wenn der ό Block vom Originaleingang her wiederholt werden sollte.
Der gekennzeichnete Block kann auch ein Einleitungsunterprogramm enthalten, das niemals wiederholt wird. Der Block enthält außerdem Zeit- und
ίο Statusdaten, die nicht auf seine Unterteilungen verteilt werden können. Daher wird der gekennzeichnete Block bis zum letzten Auslesen und der Darstellung der Ergebnisse zurückgehalten.
Besondere Programmoperationen, wie z. B. eine mehrfache Verzweigung, verursachen beim Arbeiten mit dem Algorithmus keine Schwierigkeiten, wenn sie auf erkennbaren Operationscodes basieren. Wenn das Programm einen Operationscode auf eine Verzweigung umändert, wie es im Fall 3 oben erwähnt ist,
ao muß der Algorithmus so geändert werden, daß zusätzlich zu den oben beschriebenen vier Fällen einige weitere Fälle berücksichtigt werden.
Algorithmus für Blockdiagramm (Fig. 13)
A Adresse,
N Eingangsadresse,
X Ausgangsadresse,
D Bestimmungsadresse,
O Operationscode,
S Statusbit: 1 für neuen Block,
F Kennzeichnungsbit: 1 für eingeschnittenen Block.
(FaU 4)
Felder im Speicher:
(Nj Xs Ds Os Ss Fs) Assoziativspeicher
(Statistik) Zusatzspeicher
Im Schritt A in Fig. 13 wird zuerst eine Adresse Aa im Α-Register in das Eingangsfcld (N,) des Eingangsregisters zusammen mit einer »0« im Kennzeichnungsfeld (F,) übertragen. Wenn angenommen wird, daß die Abfrage eine Übereinstimmung (ANP) ergibt, so bedeutet das, daß diese Adresse bereits vorher als Eingangsadresse zu einer Programmfolge aufgetaucht ist. Das entspricht dem Fall 3 der Fig. 12. Im Schritt D wird dieselbe Adresse ,4 a jetzt durch den Kreuzpunktschalter zur Ausgangs-Adressenposition AT,-im Abfrageregister geleitet. Eine Abfrage wird jetzt auf dem Eingang (Ns) und auf dem Ausgang (XJ zusammen mit einem Kennzeichnungsbit (Fs) durchgeführt Wenn keine Übereinstimmung (keine ANP) vorliegt, läuft das Programm jetzt in eine Schleife ein. Die nächste Adresse Ab im Überwachungsregister wird auf das Α-Register übertragen und der Operationscode in das Operationscodefeld (O1) des Abfrageregjsters gesetzt. Ferner läuft das Programm in der Schleife zurück zu Schritt B. Diese Schleife läßt die Eingangsadresse allein und sucht durch Übertragen der nachfolgenden Adressen in das Abfrageregister weiter nach der Ausgangsadresse, bis eine solche gefunden ist Somit verfolgt das Programm den Weg des Falles 3 bis zum Auffinden einer Ausgangsadresse. Wenn im Schritt B eine Ausgangsadresse gefunden wird, tritt eine Übereinstimmung auf, und die Schleife wird unterbrochen, so daß das
ι yzö zu ζ ψ
23 Γ 24
Programm zum Schritt D weiterlaufen kann. Die der Schritt M eine Abfrage im Statusfeld. Im nächsten
Ausgangsadresse folgende Adresse ist eine Bestim- Schritt N wird das vom Statusbitfeld gewählte Wort
mungsadresse und wird aus dem Überwachungs- überschrieben, um die statistischen Werte zu vervoll-
register in das Α-Register und dann in das Bestim- ständigen und somit die Programmschleife für diesen
mungsfeld des Abfrageregisters (D1) übertragen, wie 5 Block zu beenden.
es im Schritt D dargestellt ist. Dann folgt eine Ab- Eine Situation wie im Fall 2 tritt auf, wenn eine frage im Eingangs-, Ausgangs- und Bestimmungs- Übereinstimmung im Schritt / während des Schleifenregisterfeld. Wenn eine Übereinstimmung auftritt, durchlaufs durch die Schritte H, I, J auftritt. Das bebedeutet das, daß dieser Instruktionsblock zur selben deutet, daß eine Adresse gefunden wurde, die mit der Bestimmung läuft wie der vorhergehende. Die statisli- io im Assoziativspeicher gespeicherten Eingangsadresse sehen Werte werden im dann passenden Wort übereinstimmt, d. h., daß das Uberwachungssystem (Schritt F) fortgeschrieben und dadurch das Unter- eine Kette von Instruktionen verfolgt hat, von deren programm beendet. Adressen eine in einem Block einläuft, der vorher
Wenn im Schritt D keine Übereinstimmung auftritt, schon einmal durchlaufen wurde. Dann wäre in Fall 2
heißt das, daß die Adresse nicht zur selben Bestim- 15 in F i g. 12 X1. = Nn. Das Überwachungsprogramm
mung läuft. Somit wurde ein neuer Weg verfolgt, so beendet jetzt diesen Instruktionsstrom als einen Block,
daß ein neues Wort für diesen Wert aufgezeichnet Im Schritt / wurde die nächste vorhergehende In-
werden muß. Das erfolgt im Schritt E durch Setzen struktion im Ausgangsfeld so gespeichert, daß in der
einer »0« in das Statusbit und das Kennzeichnungs- Ausgangsposition des Eingangsregisters die Adresse
feld und durch Aufschreiben der gesamten statisti- ao steht, die unmittelbar vor der Adresse stand, bei
sehen Werte. Die Programme kehren dann zum welcher in der Eingangsposition im Schritt / eine
Schritt A zurück. An diesem Punkt ist die Adresse Übereinstimmung auftrat. Somit muß die zuletzt ge-
im Α-Register noch nicht verändert. Diese Adresse nannte Adresse im Bestimmungsfeld gespeichert wer-
(die Bestimmungsadresse des vorhergehenden Blocks) den, was durch Abfragen des Statusbits im Schritt K
wird jetzt für die im Schritt A durchgeführte laufende »5 erfolgt, um das Wort zu erhalten, das im Schritt G
Abfragung zur Eingangsadresse. geschrieben wurde. Zum Schluß wird irn Schritt N
Im folgenden soll angenommen werden, daß nach eine »0« in die Statusposition, zusammen mit den der in Schritt A durchgeführten Abfrage keine Über- Ausgangs- und Bestimmungsadressen, geschrieben, einstimmung auftritt. In diesem Fall gehört der Block Als letzter ist der Fall 4 zu betrachten, in welchem zu einem der Fälle 1, 2 oder 4 der Fig. 12. Der 30 die Eingangsadresse irgendwo in der Mitte eines nächste Schritt G besteht im Schreiben eines Teil- Blocks auftaucht. Diese Situation wird natürlich nicht wortes in den Speicher unter Verwendung der Adresse sofort erkannt. Im Schritt A wird eine Abfrage mit als Eingang, da bekanntlich eventuell ein neues Wort der Adresse am Eingangsfeld durchgeführt. Wenn geschrieben werden muß, nachdem alle für diesen keine Übereinstimmung auftritt, ist die Adresse vor-Block zutreffenden statistischen Daten zur Verfügung 35 her auch noch nicht aufgetreten und das Überstehen. Im Schritt G wird das Statusbit auf »1« ge- wachungssystem verzweigt zum Schritt G. Ein neues setzt, um dadurch anzuzeigen, daß ein neuer Block Wort wird geschrieben und dadurch diese Adresse behandelt wird. Im Schritt H wird die Adresse in das zusammen mit dem Statusbit zur Kennzeichnung des Ausgangsfeld X, des Abfrageregisters gesetzt und eine neuen Wortes in das Eingangsfeld gesetzt. Das Pro-Abfrage durchgeführt. Wenn keine Übereinstimmung 4° gramm läuft zum Schritt H weiter, und dieselbe auftritt, läuft das Programm 7\xm Schritt / weiter, in Adresse A„, die im Α-Register gespeichert ist, wird welchem eine Abfrage mit einem Operationscode zur Abfrage des Ausgangsfeldes des Assoziativspeigegenüber einem Satz von Verzweigungs-Operations- chers benutzt. Wenn keine Übereinstimmung auftritt, codes erfolgt, die im Assoziativspeicher gespeichert läuft das Programm weiter bis in die durch die sind, um eine mögliche Verzweigung aufzusuchen. 45 Schritte H, I, J gebildete Schleife. Wenn aber im Wenn keine Übereinstimmung auftritt, läuft das Pro- Schritt H während einer dieser Schleifen eine Übergramm zum Schritt / weiter und empfängt eine am einstimmung auftritt, dann liegt die Situation des Überwachungsregister neue Adresse Ah, die in das Falles 4 vor. Somit ist der jetzt verfolgte Block eine Α-Register und dann in das Eingangsfeld des Ab- Untergruppe eines früher einmal gespeicherten frageregisters übertragen wird. Wenn keine Überein- 50 Blocks, da eine Übereinstimmung für die Ausgangsstimmung zustandekommt, läuft das Programm in adresse, aber keine Übereinstimmung für die Eineiner Schleife zu Schritt H zurück. gangsadresse festgestellt wurde. In das Kennzeich-
Im einfachsten Fall tritt eine Übereinstimmung im nungsfeld wird im Schritt L eine »1« gesetzt, um Schritt / auf, was der Situation im Fall 1 entspricht. damit anzuzeigen, daß diese Untergruppe abgefangea Das bedeutet, daß ein Verzweigungsoperationscode 55 wurde und jetzt von der weiteren Abfrage gestrichen gefunden worden ist, welcher anzeigt, daß eine Aus- wird. Die nächste Adresse Ab aus dem Überwachungsgangsadresse aufgefunden wurde. Das Programm register wird im Schritt M in das Bestimmungsfeld läuft dann zu Schritt M. An diesem Punkt sind im des Abfrageregisters gesetzt Eine Abfrage für das Eingangsregister Eingangs-, Ausgangs- und Opera- Statusbit erfolgt, um das Wort herauszufinden, ar tionscode gespeichert. Die nächste am Überwachungs- 60 welchem momentan gearbeitet wird. Im Schritt Λ register Ab auftretende Adresse sollte eine Bestim- wird dann das Wort mit Eingangs-und Bestimmungs· mungsadresse sein. Da in das Statusfeld eine »1« ge- adressen überschrieben, um dadurch die statischer setzt wurde, erfolgt nun zur Wahl des Wortes im Werte zu vervollkommnen.
Hierzu 6 Blatt Zeichnungen

Claims (1)

1 2 Dauer der Benutzung der Systemelemente beim Patentansprüche: Durchlauf des vom Datenverarbeitungssystem ausgeführten Programms angibt, wobei der Al-
1. Einrichtung zur Erstellung statistischer Da- gorithmus den Eingang, den Austritt und die Beten über den Operationsablauf programmgesteuer- 5 Stimmungspunkte der sequentiellen Befenlsblocke ter Datenverarbeitungsanlagen für die Ermittlung identifiziert,
des Wirkungsgrades der zur Steuerung verwendeten Programme, gekennzeichnet durch
DE1928202A 1968-06-10 1969-06-03 Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen Expired DE1928202C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US73589268A 1968-06-10 1968-06-10

Publications (3)

Publication Number Publication Date
DE1928202A1 DE1928202A1 (de) 1969-12-11
DE1928202B2 true DE1928202B2 (de) 1974-10-31
DE1928202C3 DE1928202C3 (de) 1975-06-19

Family

ID=24957666

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1928202A Expired DE1928202C3 (de) 1968-06-10 1969-06-03 Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen

Country Status (10)

Country Link
US (1) US3540003A (de)
JP (1) JPS4831367B1 (de)
AT (1) AT301909B (de)
BE (1) BE731247A (de)
CH (1) CH493041A (de)
DE (1) DE1928202C3 (de)
FR (1) FR2010529A1 (de)
GB (1) GB1211189A (de)
NL (1) NL6908530A (de)
SE (1) SE332729B (de)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT943202B (it) * 1971-10-12 1973-04-02 Fiat Spa Perfezionamenti negli elaboratori elettronici
US3763474A (en) * 1971-12-09 1973-10-02 Bell Telephone Labor Inc Program activated computer diagnostic system
US3771131A (en) * 1972-04-17 1973-11-06 Xerox Corp Operating condition monitoring in digital computers
GB1422952A (en) * 1972-06-03 1976-01-28 Plessey Co Ltd Data processing system fault diagnostic arrangements
US3771144A (en) * 1972-07-24 1973-11-06 Ibm Clock for computer performance measurements
US3818458A (en) * 1972-11-08 1974-06-18 Comress Method and apparatus for monitoring a general purpose digital computer
US4068304A (en) * 1973-01-02 1978-01-10 International Business Machines Corporation Storage hierarchy performance monitor
US3831149A (en) * 1973-02-14 1974-08-20 Burroughs Corp Data monitoring apparatus including a plurality of presettable control elements for monitoring preselected signal combinations and other conditions
US3813647A (en) * 1973-02-28 1974-05-28 Northrop Corp Apparatus and method for performing on line-monitoring and fault-isolation
US3906454A (en) * 1973-05-18 1975-09-16 Bell Telephone Labor Inc Computer monitoring system
CA1026005A (en) * 1973-05-22 1978-02-07 John B. Robertson Computer performance monitoring system
US3866185A (en) * 1974-01-16 1975-02-11 Bell Telephone Labor Inc Method and apparatus for gathering peak load traffic data
US4016543A (en) * 1975-02-10 1977-04-05 Formation, Inc. Processor address recall system
US4205370A (en) * 1975-04-16 1980-05-27 Honeywell Information Systems Inc. Trace method and apparatus for use in a data processing system
US4126895A (en) * 1975-12-29 1978-11-21 International Standard Electric Corporation Data processing system with monitoring and regulation of processor free time
US4084227A (en) * 1976-09-24 1978-04-11 Sperry Rand Corporation Virtual address translator
US4166290A (en) * 1978-05-10 1979-08-28 Tesdata Systems Corporation Computer monitoring system
USRE31407E (en) * 1978-05-10 1983-10-04 Tesdata Systems Corporation Computer monitoring system
US4315313A (en) * 1979-12-27 1982-02-09 Ncr Corporation Diagnostic circuitry in a data processor
US4367525A (en) * 1980-06-06 1983-01-04 Tesdata Systems Corporation CPU Channel monitoring system
WO1983001524A1 (en) * 1981-10-13 1983-04-28 Cormier, Roger, Louis Method and apparatus for measurements of channel operation
EP0455946A3 (en) * 1990-05-07 1992-10-28 International Business Machines Corporation System for debugging shared memory multiprocessor computers
SE470031B (sv) * 1991-06-20 1993-10-25 Icl Systems Ab System och metod för övervakning och förändring av driften av ett datorsystem
US5499340A (en) * 1994-01-12 1996-03-12 Isogon Corporation Method and apparatus for computer program usage monitoring
US6108637A (en) 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
US7607147B1 (en) 1996-12-11 2009-10-20 The Nielsen Company (Us), Llc Interactive service device metering systems
US6029145A (en) * 1997-01-06 2000-02-22 Isogon Corporation Software license verification process and apparatus
US6643696B2 (en) 1997-03-21 2003-11-04 Owen Davis Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
CA2247706C (en) 1998-06-23 2010-11-23 Nielsen Media Research, Inc. Use of browser history file to determine web site reach
US6327619B1 (en) 1998-07-08 2001-12-04 Nielsen Media Research, Inc. Metering of internet content using a control
US6460079B1 (en) 1999-03-04 2002-10-01 Nielsen Media Research, Inc. Method and system for the discovery of cookies and other client information
AUPQ206399A0 (en) 1999-08-06 1999-08-26 Imr Worldwide Pty Ltd. Network user measurement system and method
CA2396565A1 (en) 2000-01-12 2001-07-19 Jupiter Media Metrix, Inc. System and method for estimating prevalence of digital content on the world-wide-web
US8271778B1 (en) 2002-07-24 2012-09-18 The Nielsen Company (Us), Llc System and method for monitoring secure data on a network
US7239981B2 (en) 2002-07-26 2007-07-03 Arbitron Inc. Systems and methods for gathering audience measurement data
EP3709539A1 (de) 2005-09-26 2020-09-16 Nielsen Media Research, Inc. Verfahren und vorrichtung zur dosierung einer computerbasierten medienpräsentation
EP2153559A2 (de) * 2007-05-31 2010-02-17 The Nielsen Company Verfahren und vorrichtungen zum modellieren von set-top-box-daten
DE102008048619A1 (de) * 2008-09-23 2010-04-15 Heinz Siegel Verfahren und Steuerwerk zum elektrischen Steuern und/oder Regeln
US9124769B2 (en) 2008-10-31 2015-09-01 The Nielsen Company (Us), Llc Methods and apparatus to verify presentation of media content
US8307006B2 (en) 2010-06-30 2012-11-06 The Nielsen Company (Us), Llc Methods and apparatus to obtain anonymous audience measurement data from network server data for particular demographic and usage profiles
CN103119565B (zh) 2010-09-22 2016-05-11 尼尔森(美国)有限公司 利用分布式人口统计信息确定印象的方法和装置
EP2656297A4 (de) 2010-12-20 2014-05-21 Nielsen Co Us Llc Verfahren und vorrichtung zur bestimmung von medieneindrücken mit verteilten demographischen informationen
JP5769816B2 (ja) 2011-03-18 2015-08-26 ザ ニールセン カンパニー (ユーエス) エルエルシー メディアインプレッションを特定する方法及び装置
US8538333B2 (en) 2011-12-16 2013-09-17 Arbitron Inc. Media exposure linking utilizing bluetooth signal characteristics
US9015255B2 (en) 2012-02-14 2015-04-21 The Nielsen Company (Us), Llc Methods and apparatus to identify session users with cookie information
AU2013204953B2 (en) 2012-08-30 2016-09-08 The Nielsen Company (Us), Llc Methods and apparatus to collect distributed user information for media impressions
US9219928B2 (en) 2013-06-25 2015-12-22 The Nielsen Company (Us), Llc Methods and apparatus to characterize households with media meter data
US10068246B2 (en) 2013-07-12 2018-09-04 The Nielsen Company (Us), Llc Methods and apparatus to collect distributed user information for media impressions
US9332035B2 (en) 2013-10-10 2016-05-03 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US10956947B2 (en) 2013-12-23 2021-03-23 The Nielsen Company (Us), Llc Methods and apparatus to measure media using media object characteristics
US9237138B2 (en) 2013-12-31 2016-01-12 The Nielsen Company (Us), Llc Methods and apparatus to collect distributed user information for media impressions and search terms
WO2015123201A1 (en) 2014-02-11 2015-08-20 The Nielsen Company (Us), Llc Methods and apparatus to calculate video-on-demand and dynamically inserted advertisement viewing probability
US20160063539A1 (en) 2014-08-29 2016-03-03 The Nielsen Company (Us), Llc Methods and apparatus to associate transactions with media impressions
US10219039B2 (en) 2015-03-09 2019-02-26 The Nielsen Company (Us), Llc Methods and apparatus to assign viewers to media meter data
US9848224B2 (en) 2015-08-27 2017-12-19 The Nielsen Company(Us), Llc Methods and apparatus to estimate demographics of a household
US10205994B2 (en) 2015-12-17 2019-02-12 The Nielsen Company (Us), Llc Methods and apparatus to collect distributed user information for media impressions
US10791355B2 (en) 2016-12-20 2020-09-29 The Nielsen Company (Us), Llc Methods and apparatus to determine probabilistic media viewing metrics
CN116935659B (zh) * 2023-09-12 2023-12-08 四川遂广遂西高速公路有限责任公司 一种高速服务区卡口车辆稽核系统及其方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3377471A (en) * 1964-07-21 1968-04-09 Hughes Aircraft Co System effectiveness simulator and computer
US3351910A (en) * 1964-08-05 1967-11-07 Communitron Inc Apparatus for collecting and recording data
GB1123612A (en) * 1964-08-20 1968-08-14 Emi Ltd Improvements in or relating to coded information analysing arrangements
US3344408A (en) * 1965-03-08 1967-09-26 Hancock Telecontrol Corp Automatic monitoring systems and apparatus

Also Published As

Publication number Publication date
SE332729B (de) 1971-02-15
AT301909B (de) 1972-09-25
JPS4831367B1 (de) 1973-09-28
US3540003A (en) 1970-11-10
FR2010529A1 (de) 1970-02-20
BE731247A (de) 1969-09-15
NL6908530A (de) 1969-12-12
DE1928202C3 (de) 1975-06-19
CH493041A (de) 1970-06-30
DE1928202A1 (de) 1969-12-11
GB1211189A (en) 1970-11-04

Similar Documents

Publication Publication Date Title
DE1928202B2 (de) Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen
EP0689694B1 (de) Verfahren zur maschinellen erzeugung von nebenläufig bearbeitbaren befehlsgruppen aus einem programm für superskalare mikroprozessoren
DE2554442C2 (de) Vorrichtung zum Vergleich logischer Größen mit einer Gruppe logischer Bezugsgrößen
DE2714805C2 (de)
DE2723523A1 (de) Kompression und dekompression von gespeicherten digitaldaten
DE1499193A1 (de) Datenverarbeitungsanlage
CH650600A5 (de) Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister.
DE1900141A1 (de) Datenverarbeitungsvorrichtung
DE3116100A1 (de) Sprungabschaetz-zentraleinheit
DE1499182B2 (de) Datenspeichersystem
EP0010186B1 (de) Vorrichtung zum Bearbeiten bezeichneter Hinweise
DE2145709A1 (de) Datenverarbeitungsanlage
DE2556617C2 (de) Schiebe- und Rotierschaltung
EP0722583A1 (de) Prozessor für zeichenketten variabler länge
DE1499206B2 (de) Rechenanlage
DE2433436A1 (de) Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer
DE1935944B2 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE1191145B (de) Elektronische Zifferrechenmaschine
DE2632277A1 (de) Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE3009121C2 (de) Mikroprogramm-Steuereinrichtung
DE3104256C2 (de)
EP0013885B1 (de) Verfahren zur Vermeidung von unerwünschten Paritätsfehlersignalen bei der Paritätprüfung eines Registerfeldes und Paritätsprüfeinrichtung zur Durchführung des Verfahrens
DE2204680A1 (de) Mikroprogramm-steuereinrichtung

Legal Events

Date Code Title Description
SH Request for examination between 03.10.1968 and 22.04.1971
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee