DE1928202B2 - Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen - Google Patents
Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter DatenverarbeitungsanlagenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Subject matter not provided for in other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3471—Address tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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-
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-
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
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):
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: ■ t ■ A- 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-
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-
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
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
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
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-
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,
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.
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),
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
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,
a5 F Häufigkeit,
Felder im Speicher:
(OSLSCS
RFj)
RFj)
Assoziativspeicher
Zusatzspeicher
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
Ü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.
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 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.
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-
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,
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
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.
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,
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.
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
(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. 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
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 (61)
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 |
USRE31407E (en) * | 1978-05-10 | 1983-10-04 | Tesdata Systems Corporation | Computer monitoring system |
US4166290A (en) * | 1978-05-10 | 1979-08-28 | 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 |
AU7804381A (en) * | 1981-10-13 | 1983-05-05 | International Business Machines Corp. | 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 |
WO2001052462A2 (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 |
EP1922654B1 (de) | 2005-09-26 | 2020-05-13 | Nielsen Media Research, Inc. | Verfahren und gerät zur gebührenerfassung von rechnerbasierten media-präsentation |
US20080300965A1 (en) * | 2007-05-31 | 2008-12-04 | Peter Campbell Doe | Methods and apparatus to model set-top box data |
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 |
WO2012040371A1 (en) | 2010-09-22 | 2012-03-29 | The Nielsen Company (Us), Llc. | Methods and apparatus to determine impressions using distributed demographic information |
CN103473721B (zh) | 2010-12-20 | 2017-04-12 | 尼尔森(美国)有限公司 | 使用分布式人口统计信息确定媒体印象的方法和装置 |
CN103189856B (zh) | 2011-03-18 | 2016-09-07 | 尼尔森(美国)有限公司 | 确定媒体印象的方法和装置 |
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 |
AU2013204865B2 (en) | 2012-06-11 | 2015-07-09 | The Nielsen Company (Us), Llc | Methods and apparatus to share online media impressions data |
AU2013204953B2 (en) | 2012-08-30 | 2016-09-08 | The Nielsen Company (Us), Llc | Methods and apparatus to collect distributed user information for media impressions |
US9247273B2 (en) | 2013-06-25 | 2016-01-26 | 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 | 四川遂广遂西高速公路有限责任公司 | 一种高速服务区卡口车辆稽核系统及其方法 |
CN117951037B (zh) * | 2024-03-27 | 2024-06-18 | 武汉派呦科技有限公司 | 程序运行状态指示系统及实体代码积木块 |
Family Cites Families (4)
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 |
-
1968
- 1968-06-10 US US735892A patent/US3540003A/en not_active Expired - Lifetime
-
1969
- 1969-04-09 BE BE731247D patent/BE731247A/xx unknown
- 1969-04-17 FR FR6911153A patent/FR2010529A1/fr not_active Withdrawn
- 1969-05-19 GB GB25384/69A patent/GB1211189A/en not_active Expired
- 1969-05-21 JP JP44038844A patent/JPS4831367B1/ja active Pending
- 1969-06-03 DE DE1928202A patent/DE1928202C3/de not_active Expired
- 1969-06-03 AT AT529369A patent/AT301909B/de not_active IP Right Cessation
- 1969-06-04 NL NL6908530A patent/NL6908530A/xx not_active Application Discontinuation
- 1969-06-10 SE SE08208/69A patent/SE332729B/xx unknown
- 1969-06-10 CH CH875069A patent/CH493041A/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
BE731247A (de) | 1969-09-15 |
DE1928202A1 (de) | 1969-12-11 |
AT301909B (de) | 1972-09-25 |
US3540003A (en) | 1970-11-10 |
DE1928202C3 (de) | 1975-06-19 |
CH493041A (de) | 1970-06-30 |
FR2010529A1 (de) | 1970-02-20 |
GB1211189A (en) | 1970-11-04 |
SE332729B (de) | 1971-02-15 |
JPS4831367B1 (de) | 1973-09-28 |
NL6908530A (de) | 1969-12-12 |
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 | |
EP0010186B1 (de) | Vorrichtung zum Bearbeiten bezeichneter Hinweise | |
DE1499182B2 (de) | Datenspeichersystem | |
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 | |
DE2954533C2 (de) |
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 |