DE1928202A1 - UEberwachungs- und Statistikeinrichtung fuer Datenverarbeitungssysteme - Google Patents
UEberwachungs- und Statistikeinrichtung fuer DatenverarbeitungssystemeInfo
- Publication number
- DE1928202A1 DE1928202A1 DE19691928202 DE1928202A DE1928202A1 DE 1928202 A1 DE1928202 A1 DE 1928202A1 DE 19691928202 DE19691928202 DE 19691928202 DE 1928202 A DE1928202 A DE 1928202A DE 1928202 A1 DE1928202 A1 DE 1928202A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- address
- register
- word
- 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
Böblingen, den 29. Mai I969. jo-sk
Anmelderin:. International Business .Machines
Corporation, Armonk, N.Y.1O$o4
Amtliches Aktenzeichen: Neuanmeldung Aktenz. der Anmelderin; Docket PO 967 O58
Überwachungs- und Statistikeinrichtung für-Datenverarbeitungssysteme
Die Erfindung bettif f t eine Einrichtung zur Überwachung
und zur Erstellung statistischer Daten von Operationen in Datenverarbeitungssystemen.
Die bekannten Auswertungssysteme, die-für die Sammlung,
Reduzierung und Darstellung von Betriebsdaten elektronischer Datenverarbeitungsanlagen entworfen wurden,
können in die beiden Gruppen Zähler und Diagrammschreiber eingeteilt werden. Der Grad der Genauigkeit bei de,r
Akkumulation dieser Daten hängt weitgehend von dem verwendeten Überwachungsverfahren ab. Darüber hinaus können
die Ergebnisse der Akkumulation dem Benutzer in expliziter,
detaillierter Form (beispielsweise als .einen · vollen zeichnerisch dargestellten Ausdruck des Programms)
90§850/160e
po 967 058
oder in summarischer Form (beispielsweise als Gesamtwartezeit, die in einer 8-Stunden Verschiebung ermittelt
wurde)aur Verfügung gestellt werden.
Die Zähler haben den Vorteil, daß sie sehr genau sind
und eine große Variation in der Auswahl der Daten bieten. Sie haben jedoch den Nachteil, daß ihre Ausgangswerte auf
statistische Werte und auf die Angabe von zeitlichen Werten beschränkt sind, wobei dieses Verfahren noch voraussetzt,
daß der Benutzer genau wissen muß, worauf er zu
achten hat.
Die Diagrammschreiber besitzen die Nachteile der Zähler
deshalb nicht, weil sie Ausgangswerte erzeugen, die sowohl Polgen als auch Statistiken und Zeitabläufe angeben,
wodurch auch unerwartete Ergebnisse leichter feststellbar sind* Sie haben aber den Nachteil, daß sie nur eine geringe
Auflösung der Werte ermöglichen und die Auswahl der zu überwachenden Daten im wesentlichen auf Adressen und einige
Zustandsbedingungen begrenzt ist.
Beide Systemgruppen zeigen gemeinsame Nachteile, wie beispielsweise
die, daß sich der Benutzer auf die •durchzuführenden Überwachungsaufgaben sorgfältig vorbereitet, daß
eine nachfolgende Verarbeitung der gewonnenen und gespeicherten Daten durchgeführt werden muß und daß das
PO 967 O58 909850/1609
. Problem der Identifizierung von Programmen und Adressen
zuvor gelöst werden muß.
Die Aufgabe der Erfindung besteht daher darin, ein über-
ΰ ■ wachungssystem für die Auswertung der Leistung eines
Datenverarbeitungssysterns anzugeben, welches nicht den
Beschränkungen der bekannten Systeme unterliegt.
Eine weitere Aufgabe der Erfindung besteht darin, ein Werkzeug für die Fehlersuche und Verbesserung des Wirkungsgrades
von Programmen zu schaffen, die in Datenverarbeitungssystemen
mit ßpeicherprogrammierunß verwendet werden·
Für eine Einrichtung zur Überwachung und zur Erstellung statistischer Daten von Operationen in Datenverarbeitungssystemen
besteht die Erfindung darin? daß ihre Merkmale
bestimmt sind durch einen Vergleichsspeicher zur Speicherung von Betriebsdaten (z.B. Adressen, Operationscodes) des
Datenverarbeitungssystems und zum Vergleich der jeweils neuen Betriebsdaten mit den gespeicherten, durch einen
Statistikspeieher" zur gruppenweisen Sammlung der Betriebsdaten,
durch ein logisches VerknUpfungsnetzwerk zur Adressierung des Statistikspeichers in Abhängigkeit vom
Vergleichsergebnis, durch einen Sahalter zur selektiven
Durchschaltung von Datenwegeri zwischen dem Datenverarbeitungssystem,
dem Vergleichs ε pe ic her und1 dem Statistikspeicher
und durch eine Steuereinrichtung zur Steuerung po 967 053 90Ö850/1G09
mm Il mm - - - ia-
des Sehalters, so daß die Datenwege entsprechend einer
gewünschten Überwachungsfunktion auswählbar-:sind.
Ein weiteres wesentliches Merkmal der Erfindung besteht darin, daß die im Statistikspeicher statistisch gespeicherten
Betriebsdaten des Datenverarbeitungssystems mit Hilfe eines gespeicherten Algorithmus in Form eines
^ Flußdiagrammes ausgegeben wird, welches die'^Aktivität
des vom Datenverarbeitungssystem ausgeführten Programmes
angibt.
V; c it ere I.orkmale und vorteilhafte V/eiterbildungen des
Gegenstandes der Erfindung sind den Unteransprüchen zu entnehmen.
Et ist für die :-.i'findung wesentlich, daß ein Assoziativspeicher
an ein Datenverarb3itungssystem mit Speicher-
W programmierung angeschlossen ist, um wesentliche Daten
aus diesem System abzuleiten und zu speichern, die .;
Speicheradressen und Operationscodes der Instruktionen
beschreiben, so wie sie von dem Datenverarbeitungssystem ausgeführt werden. Diese Information identifiziert Instruktionsblöcke,
die stets, wie die Verbindungen zwischen den Blöcken untereinander, sequentiell ausgeführt werden.
Die Verbindungen definieren generell alternative Programmleitwege, die auf bedingten V -,-r zwe igungsinstrukt ionen be -
-'ruhen. Die-gewonnene Information, schließlich definiert
PO 967 053 909850/1609
dialogische Struktur des.von aera-Programmes.
_-..
Die logische Organisation; des Assoziativspeichers and
sein rtegiistersystem,. die, Datenweg© und die Steuerungen
ist hierbei 30 entworfen, daß ein, Algorithmus verarbeitet
werden kann, .der den Eingang, den Austritt und die-Bestimmungspunkte
der sequentiellen Instruktipnsblöcke
identifiziert, - . . :..-■-.
Es ist weiterhin wesentlich für die Erfindung, daß von
diesen gesammelten Daten das. Flußdiagranra eines Programmes
'erste 1-11 wird, "welches-die Aktivität des vom Datenver-
ausgeführten Programmes beschreibt.
Auf diese V/eise-wird'mit Hilfe der'Erfindung der Vorteil
erzielt, daß ein Programm so überwacht wird, wie es wirklich
in dem System bei der Ausführung läuft, wodurch ein stets gleiches-Verfahren für die Dokumentation von Programmen
angewendet werden kann," - ■ " --
•Die Erfindung wird im folgenden anhand e ines..-A us führung sbsispiels"
und der zugehörigen'Zeichnungen näher erläutert. Ee zeigen: :· - - ■* ;;; '"■-.'-"
Fig.1 ~ ein vereinfachtes Blockdiagramm, eines Rechner
Überwachuhgssystems,- 'In welchem die Erfindung
PO 967 058 9 0 9 8 5Ό"/ 1 6 09° * ° '"'
■enthalten ist, ■ .:::
Pig,2 ein Bloekdiagramm zur Darstellung der Zuordnung
eines Zählers, zu einem
Fig, 5a, ■ · -■■■■*-.: .: ---■.= .,
b und c Blockdiagramine zur Darstellung der Zuordnung des
nächsten Zählers zu u.em nächsten A us führung s-
W bereich,
Fig»4 ein Bloekdiagramm, das die Beziehung df=s ausgeführt en Bereiches zur Kanalaktivität zeigt,
Fig.5 ein Bloekdiagramm zur Darstellung der Aufzeichnung
von Belegung und übergängen der ausführungsbereiche,
Fig.6 eine Zeittabelle, die die überlappte Oneration der
Zusatzspeicher- und Assoziativspeicher-Verarbeitung zeigt, ~ .
Fig.7a eine Darstellung des Instruktionsformates für den
Assoziativspeicher,
Fig.7b eine Darstellung des Instruktionsformates für den
■ Zusatzspeicher,
Fig.8 ein Ablaufschema eines Algorithmus für Kombina-
909850/1809 : :
po 967 058" -_
i/3 Q
- 7 tionen von Vorgängen und Zuständen,
'Fig»9 ein Ablaufschema eines Algorithmus zum Auffinden
5 *" "■" der V rteilung der Vorgänge,
Flg. 10 ein Ablaufschema eines Algorithmus zum Auffinddn
kurzer Folgen,
Fig.11 ein Ablaufschema eines Algorithmus zum Verfolgen
langer Polgen,
Fig.12 eine Zeittabelle, die die Beziehung der laufenden
Blöcke zu Blöcken zeigt, die bereits in einem Algorithmus für das Entwerfen von Blockdiagrammen
entworfen wurden und
Fig.15 ein Ablaufschema eine3 Algorithmus für das Entwerfen von Blockdiagrammen.
Das Grundproblem bei der Überwachung der Leistung eines
Rechnersystems liegt in der Überzahl vorhandener Daten.
Für jede praktizierbare Überwachung von Bauteilen müssen diese Daten auf eine verwaltbare Menge reduziert werden.
po 967.058 909850/1609
Der Assoziativspeicher oder der vom Inhalt her adressier-,
bare Speicher xtfird deswegen mit Vorteil verwendet, weil er
die Möglichkeit bietet, nur wichtige Daten zu speichern. Der Speicher kann instruiert werden, Daten nur dann aufzuzeichnen,
wenn sie neu sind, d.h. wenn die Daten bereits geprüft und gespeichert wurden, brauchen sie. nicht .noch
einmal gespeichert zu werden.
Die assoziativen Grundprozesse der Abfrage und Speicherung werden in der vorlie genden Anlage durch ein System der
Datenführung (-Leitweg)- und Wortfeldsteuerüng erweitert zu
einer Anlage, die fortgeschrittene Algorithmen der Datenreduzierung und Datenverarbeitung ausführen kann.
Die Algorithmen werden programmiert und in einem Programmspeicher
aufbewahrt, wo sie dem Benutzerprogramm zugegeben
oder durch dieses, verändert werden können.
Fig.1 zeigt '-in Elockdiagramm der Datenregister und -wege
des Überwachun^ssystems. Jede Linie stellt einen weg für
ein Datenbyte, bestehend aus 8 Bits dar, und ein Punkt an einer Kreuzungsstelle von zwei Linien gibt eine programmierbare
V.;rbindun,'j an. Eine Gruppe von 6 Datenbahnen (48- Bits)
transportiert überwachte Daten von der Trennstelle dec Fremdrechners JO zum Eingang des /"-.ssozlätivspeichcrs 32.
PQ--967 05:8 9 09 8 5 0.7 T 6 Q"9. ■;■·■■
Register vead der
JM ermöglichest, die PwiTerttng und
Feldsteuerung dieser Baten· Eine andere,, ei». Bgrte breite
mit- äeo Speichereiatgißgen 42 wiü ¥ί aber einem.
um so
Bis Vfert-Iogik-Sehalttiri^eR 48 ^erMmäea' dem Zusatzspeiefer
50 Biifc d@ra Assoaiati^aiieiaiieE*' 32uaä stellen eine Ad
die BeMeR Speiehar äar* Biese Ä4-ressier-
$2, .mit Baten abgefragt
Ιλ ejUrxei* i-vssö2Eiafeiv-*Wö]£»fca@Xl@ »it
den Bateiii fltet'einsfeiiiitneßj, 4*il« aiigepasst sinö CAKF)* icS
0e Wopt^eHe -säet* eine Wortzelle iro Zusatz:-
J die iß eirföfiB 1.§t«Vei*isäifctiis: 1ZM der Wo^fc-zel
steht# aäe1!" beide fite* die liißtgafee oder Viieäers,ewinn«iig:
Daten .gewaiilt werden# üxplizjlte Adressen für diese Wörter
werden iri den Ep^agraRiminstruktionen nicht benötigt*. Die
wortlogik«Söfaa2tyngen ^S iiföerneiiraen auch andere funktionen,
...wie z«B, die Aiifteilung. von „Ketten faei mehrfaohen ÜbereinstiiTErangen
tend die Abgabe eines Signales fixe Übereinstimmung
(ANP) bat * J^icntübereinstiffliwtng C^eine ÄiiP}.
zur bedingten ¥erzweigung ίϊύ Programm« . _ . .
Die. Datenfuhrung {der^atenieitweg) wird innerhalb einer vom
po 96? 0
erhaltenen liasteifefcion durch
vorsehriftea ge steuert* Das
i» Fxg*?a -^
Der Operationseode für die ÄM-Ifastruktlon macht eine
Angalierii
ABFRAGEN
- Inhalt des Eingangsregisters 42
allen gespeicherten ν
gleichen und
gleichen und
ffir die Zellen mit gleichem:
geben.
ABFRAßEN NÄCHSTE - wie oben, jedoch wird der ti
ftiF dii&
nächste Zelle eingeschaltet«
- speiehern des Inhalts das Eingangsregisters
in alls Zellen, deren Übereinstimmungsanzeiger eingesohaHset 1st«
SCHREIBEN NEU
- speichern des Inhalts des Eingangsregisters in die erste leere Wortgelle,
SCHHEIBEN EINS
po 96? 058
- speiehern des Inhalts des Eingangsregisters
in die erste Zelle, deren·
ObereinStimmungsanzeiger eingeschaltet
909850/1609
ist.
SCHREIBEN ALLS
speichern des Inhalts des Eingangsregis.ters in alle
Zellen, ungeachtet der Über
einstimmungsanzeige.
IiSSEN
- Inhalt der ersten Zelle, deren Übereinstimmungsanzeiger eingeschaltet
ist, in das Ausgangs· register 38 setzen.
Durch zwei Führungsvorschriften (Leitwegvorschriften) können
zwei Datenfelder gleichzeitig bewegt werden: Führung
(Leitweg) 1 und Führung (L-^itweg) 2, Diese Felder können
1, 2 odsr 3 Bytes lang sein, oder es„kann auch eine Buchstabenkons
tante von einem Eyte für eine der FuhrungsVorschriften
gesetzt werden. Die Führungsvorschrift im Standardformat enthält 16 Bits mit der folgenden Kennzeichnung:
Änderungscode (einBIt). Eine "θ" zeigt an, daß das A-Registar
5^ unverändert zu lassen ist; durch eine "1"
wird das durch die Urεprunesadreεsq (unten beschrieben)
angegebene Feld in das Ä-Hegister geleitet, bevor es weitergeführt
wird.
PO ^67 058
9 0 9 8 5 0/1609
!ABORIGINAL
Buchstabencode (ein Bit). Eine "l" läßt eine Bytekonstante
der Instruktion in das A-Register "eingeben, bevor sie" weitergeführt
wird. Diese Konstante ersetzt die Angaben über FeIdlänge und Ursprungsadresse.
Längenfeld (drei Bits). Gibt die Anzahl- der Byte's' des
^ geführten Feldes an. Die größte Feldlänge aus dem tiber-
wachungsregister 56 beträgt 5 Bytes, von anderen -ciuellen
7 Bytes, iiine Länge von null führt zu keiner Datenübertragung.
"■'■■
Ursprungsadresse (sechs Bits). Gibt die Stelle an,- an
welcher das wertniederste Byte des zuführenden Feldes zu finden ist. Nachfolgende Bytes desselben Feldös werden
entsprechend der Längenangabe bewegt. -'■---'
ψ Terrninusadresso (fünf Bits). Gibt die Stelle an, zu der
das wertniederste Byte des Feldes zu führen 1st. Die Adressen sind unten in der Tabelle angegeben und Fig*1
entsprechend bezeichnet.
Ursprünge (quellen) Endstellen (Termini) ·
Zus.Speicher ausgang OO-O7 Zus.Speicher Eingang OO -
Assoz.Speich.Ausgang 10-17 Assoz.Speich.Eing. 10 -
Leer · --.-■' -■ ' 1A Leer . - . 1κ '
■:" - - Ε/κ -Eingang ."--. 1B "K/A-Ausgang . . IB
PO 9,7.0,8. 909850/U09 ^
Takt 1C - 1F
Überwachungs-Trennstelle
. 20 - 25
Konstante 26
Adressen sind in Hexadeζimalform angegeben. Die Adresse
für die Konstante wird nicht verwendet, wenn die Konstante als Buchstabe angegeben, ist. Wenn der Wert der Konstanten
.jedoch unverändert ist, kann die Konstante entweder allein ■ al-s. Ein-Byta-Feld oder als- Teil eines aus zwei, oder drei
Byte's bestehenden Feldes auf den Adressen 25 oder 24 geführt
werden. Wenn eine Leerstelle als Quelle angegeben ist, wird der entsprechende Terminus auf Q zurückgesetzt.
Wenn eine . Leerstelle, als Terminus angegeben ist, werden ■diij der -.-ue-lle entsprechenden -Positionen des Α-Registers
auf ihre neuen Werte -zurückgestellt,
Dio"zwei Führungsangabeη pro Instruktion gestatten die
gleichzeitige, parallele.. Bewegung-von zwei. Feldern von
der TrennsteHe dos Überwachungsregisters in das Eingangsregister 42 des Assoziativspeichers ".über das A-Register
54 und den Kreuzpunktschalter ^K* Datenübertragungen von
^uollän, bei-denen das Überwachungsregister ausgenommen
ist, erfolgen über eine -Leitung 1B, die .ein Byte breit
ist. Sie .erfolgen daher byteweise seriell. Daraus, folgt,
daß in jeder Instruktion nur einer derartige Übertragung unter Benutzung der ersten Führungsangabe aufgerufen werden
00 9 8:6,0/1 6 08 -
PO :96T 058 -■■'■ %p
kann.,Die zweite Führungsangabe kann jedoch.für eine ,gleichzeitige
Übertragung über den Kreuzpunktschalter verwendet werden* i£in Buchstabe kann nur in der zweiten.Angabe enthalten
sein. . · - -. ■ .
Die Angaben "nächste Instruktion" führen zu einer, bedingten
Programmverzweigung basierend auf der Kollektivbedingung
der übereinstimmungsanzeige. Die .7ahL der nächsten Instruktion
hängt von folgenden Bedingungen ab:
ABFRAGEN - bei einer oder mehreren-Überein-
:, λ : Stimmungen ..-"--. . Instr.1
. . · - bei keiner Übereinstimmung.· ^ Instr.i:
SOIiRuIBEN oder " . . ■ ■■■..■■-::■■-.--
LES.ZM ■"■' " - bei einer oder-mehreren Übe rein— ■-
■'- ;": stimmungsanzsigen, ^nstr.1
- bei keiner Übereinstimmung -. Ins tr. 2
■ ■ ■■- ASSOZIATIVSPEIGfER- ■-.·.'.·-■ ·. --,:■
Der Assoziativspeicher J2 besteht aus einer Anzahl-von
Wortregistern, die parallel- zur' Abfrage, - Eingabe-'oder
Wiedergewinnung von Daten' adressiert "-werden icönnen. -Di-ase
Register werden nach ihrem Inhalt und nicht nach ihrer Lage durch'eine Einrichtung adrdssiort, inweicher' die ganze Reihe
von Wortregistern gleichzeitig mit dem üingangsregister 42
PO 967 058, 90 9 85 0/
,verglichen wird. Ein Übereinstimmungsanzeiger 48 wird für
^edes 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 4j> Nullen setzt.
Aufgrund der Abfrage werden Ubereinstimmungsanzeirer für
alle diejenigen v/örter eingeschaltet, deren nichtmaskierte
Bitwerte mit dsn Bitwerten im Bingangsregister übereinstimmen.
Das kann zur gleichzeitigen Übereinstimmung
mehrerer rförter führen und bei Bedarf können Daten in alle
Wörter gleichzeitig eingegeben werden, indem die Übereinstimniungsanzeigcr,
im folgenden MI genannt, die Wortregister zum Schreiben vorbereiten. Der nichtmaskierte Inhalt der
Eingangsregister wird in allen εο gewählten Wortregistern
gespeichert.
J]1Ur die uiedergewinnung und für eine andere Art der Ein»
gäbe kann zu einem Zeitpunkt nur ein wort gewählt werden,
auch wenn mehrere- MIs eingeschaltet wurden. Zu diesem Zweck gestattet eine andere Art d<;r 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 daij
andere MIs dadurch beeinflußt werden, -so daß eine Folge
909850/1609
FO QcT OSO .■ ■ ■ ■■ ·:■
- 16 - . .'"-■■
von Lese- oder Schreiboperafcionen durüh die überein- ,
stimmenden Worte foitlaufen kann.
Die Auswahllogikschaltung arbeitet auch noch in einer anderen Form: Anstatt die übereinstimmenden Wörter auszuwählen, kann man mit den MIs aubh 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 UND-Funktion eine ODER-Funktion.
Andere Funktionen werden mit Hilfe von Statusbits übernommen, die tatsächlich im As&oziativwort enthalten sind.
Eines dieser allgemein gebräuchlichen Statusbits ist das L&erbit, das Wortregister mit gültigen Daten von
solchen Registern unterscheidet, die für die Speicherung einer neuen information zur Verfügungstehen. Andere Statusbits können gesetzt werden, um z.B. das zuletzt gespeicherte
Wort oder die als nächste abzufragenden Wörter zu kenn-
zeichnen. Operationen, in welchen Statusbits erscheinen,
werden mit Hilfe von Konstantbitmustern in den Eingangs-
PO 967 058 909850/1609
". - .17 -■
und Maskenregistern vorbereitet.
ZUSATZSPEICHER
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 50 entspricht Jedoch einer
einzigen-Wortzelle des Assoziativspeichers (AM) J2 und
kann gewählt werden, sobald eine Abfrage des Ässoziativspeichers eine Übereinstimmung (Anpassung ANP) für die
entsprechende AM-Zelle anzeigt. Grundsätzlich bewahren
die AM-Wortzellen Daten aif, die den Status des überwachten
Rechne» rs JO beschreiben, während die SS-Wortzellen die
statistischen Daten sammeln, die sich auf den Status beziehen.
-r
Der Algorithmus des Überwachungssystems ist so aufgebaut, daß eine Reihe von Operationen mit dem Assossiativspeieher
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 Übereinstimmung angezeigt, die auf die AufaeLchnung des vorherigen Zustandes hinweist.
Wenn der Algorithmus eine SS-Instruktion zu diesem Zeitpunkt vorsieht,w ird die SS-Wortzelle gewählt und ent-
Q 909850/1609
PO 967 058 ■■·...■■
sprechend 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 PortSchreibung erfolgt über den Addierer 46 und die
SS-Eingangs-/Ausgangs-Register 44 und^O. 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 Pig.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.
PO 967 058 909850/1609
Die Fort Schreibung eines, Wortes im Zusatzspeicher wird
durch eine Instruktion (siehe Fig.7b) gesteuert, die
Angaben zur Durchführung verschiedener Operationen auf
vier Wortfeldern enthält. Diese Felder können einzeln
von i bis 7 Bytes lang sein,» zusammen dürfen sie jedoch
nicht langer als 16 Bytesdes SS-Wortes sein* Die SS-Instruktion belegt den Prögrammspeicher als Teil des
programmierten Algorithmus, unterscheidet sich Jedoch im. Format Von der AM-instruktion.
Die Anfangsstelie gibt das wertniedere Byte des Feldes
an, das entsprechend seiner Länge und Operationsans-gabe
fortgeschrieben wird.. Die übrigen Felder sind im SS-Wort zusammenhängend und werden der Reihe nach verarbeitet.
Wenn di6 ganzen 16 Bytes des Wortes bei einer Anwendung nicht benutzt wurden, kann die Anfangsstelle
von O verschieden sein* wodurch die Zeit bis zur Beendigung
der SS-Instruktion verkürzt wird.
zur P^idiange (LF) kann die Feldangäbe eine der
folgenden Operationen am Feld (OF) erfordern*
'l« Feld
2.' Takt zum Feld addieren
2.' Takt zum Feld addieren
3. Kleineren TaiitWert und alten Eeldwert in feld setzen
4w Größeren Taktwert, und alten Feldwert in Feld setzen
PO 967 058
5. Trennstellenbyte nach Art einer ODER-Punktion auf
Feld leiten :
6. Keine Operation.
Um die Leistung eines Rechners zu messen, muß man oft
^ wissen, wieviel Zeit für die Ausführung von Programmen
benötigt wird, die aus verschiedenen Hauptspeicherbereichen
entnommen werden. Um diese Zeiten zu ermitteln, muß ein
Zähler jedem der aktiven Bereiche zugeordnet werden, rfemi .
eine Instruktion aus einem Bereich des Rechnerspeichrs
geholt wird, beginnen Taktimpulse den zugeordneten Zähler weiterzuschalten. Sie laufen solange weiter, bis eine
Instruktion aus einem anderen Bereich gebracht wird.
Im vorliegenden System liegen die Zähler im Zusatz-
fc speicher 50. Sie werden den Hauptspeicherbereichen automatisch
mit Hilfe einer Assoziativspeicher-Übereinstimmungstechnik zugeordnet. Am Anfang ist der Assoziativspeicher
52 leer und die Zähler im Speicher 50 stehen auf Null.
Die erste Instruktionsadresse wird vom Adressenregister des Reohnerspe ichers über die Trennstelle des Überwachungs-(
systems, das Überwachungsregister 56, das A-Register
und den Kreuzungspunktschalter 34 zum Eingangsregister
42 des Assoziativspeichers übertragen. Diese Instruktions-
^-atiresse wird gemäß der Darstellung in Fig.2 an einer "wortstelle
im Assoziativspeicher gesp-iichert. PO 967 058 909850/1609
In der-Darstellung-der Pig,2 igt dieses Wort für die Überwachung
des Speicherbereichs von OO1OO bis 001PP verantwortlich.
Diese Punktion wird übernommen von derzwangsläufig
gegebenen Vergleichsmpglichkeit des Assoziativspeichers*
durch welche der Inhalt der ÄM-Wortzellen mit
jeder neuen Instruktionsadresse verglichen wird, die in das Eingangsregister 42 des Ässoziativspeichers gebracht
wird. Die wertnisderen Bits werden durch Maskierung mit
Hilfe des Maskenregisters k~3 ignoriert. Solange in den
werthohen Bits (001) der adresse eine Übereinstimmung
(ANP) angezeigt wird, wählt der Übereinstimmungsanzeiger für diese Zelle einen entsprechenden Zähler im Zusatzspeicher
50 und gestattet dadurch die Akkumulation einer Zählung, daß' er mit dem Grund takt (Taktgeber 6θ) weitergeschaltet
wird.
Der .Abfrage ν or gang wird wiedemolu, bis eine
(keine Anpcissv*ng) zwischen aem in uer Zelle gespeiuueri/en
iVert und einer überwachten Instruktionsadresse auftritt. Die nicht mehr vornandene Üoereiriüiimiiiung i'üuro «u eine..*
ü±&u^x, ,.citixxes anz,eigu, daß- die Programmausführung im
Iluchnor 20 au einem anderen Bereich im Hauptspeicher des
Rechners übergegangen war. Aufgrund dieser Anzeige wird der Zähler 50 aogesunalpet, woraui'nin das S'ueuerpx'Ograimu
52 zu einem Sohreibzyklus verzweigt, um einen neuen aktiven
Bereich aufzuzeichnen, wie es in dem Ablaufdiagramm der
909850/1609
PO 967 05ö
BAB ORIGINAL
Pig.3a gezeigt ist.
Entsprechend der Darstellung in Pig.3a ordnet das Überwachungsprogramm
Zähler nach Bedarf zu und verzeichnet ihre Zuordnung in den Wortzellen des Assoziativspeichers, In
Pig.3b wird z.B. eine neue Bereichsadresse 049 überwacht
was dazu führt, daß keine Übereinstimmung mehr vorhanden
fc ist (keine ANP). Das Überwachungsprogramm verzweigt -
; (Fig.3a) und schreibt die Adresse 049 in den Assoziativspeicher
J2, wodurch gbichzeitig ein neuer Zähler im Zusatzspeicher
dem neuen Bereich zugeordnet wird. In Fig.3e ist die AM-Wortzelle nach dieser Operation dargestellt.
Wenn der überwachte Rechner bei der Ausführung seines Programmes zu einem Bereich zurückkehrt, der bereits vom
Programm-Übrrwachungssystem gekennzeichnet ist, wie z.3. der Bereich 001 in Fig.2,-stimmt der Inhalt der ursprünglichen
AM-Wortzelle mit der Adresse überein und der Zähler
^ wird zum Weiterlauf wieder eingeschaltet.
Das in Fig.3a gezeigte Überwachungsverfahren mit zwei
Verzweigungen dient der Erstellung von mehreren Informationsarten. Wie in Pig.4 gezeigt, wird die Kanalakt'ivität
(E/A-Einheit 58) überwacht und an der Trennstelle als Bitfeld (Kanal B durch Adresse 2 gekennzeichnet) präsentiert.
Dieses Feld wird neben die Speicheradresse des Rechners, gemäß der Darstellung in Fig.4, gesetzt. Somit wird auto-
' PO 967 058 909850/1609
-■-23.-
matisch eine Beziehung zwischen Speicherbenutzung und Kanalaktivität
hergestellt. Für das Uberwachungssystem ist die Art der an die Trennsteile gebrachten Daten unwesentlich.
Der Benutzer kann daher die Beziehungen zwischen jeder
Art von Kombinationen von Vorgängen herstellen, die durch
digitale Signale dargestellt werden.
Ein weiteres Beispiel einer Beziehung ist in Pig.5 gezeigt.
Diese Beziehung liefert Informationen über die Folge von
Vorgängen im überwachten System. Jeder Vorgang ist dadurch
mit seinem Vorgängen in Beziehung gesetzt, daß ein geordnetes Paar am Eingangsregister des Assoziativspeichers gebildet
wird. Zwei Arten von Vorgängen werden in diesem Verfahren
aufgezeichnet: - Die.Belegung eines bestimmten Bereiches
und - der übergang von einem Bereich zu einem anderen. Die
Adresse wird zuerst in das linke Feld (das laufende Feld) des. AM-Eingangsregisters 42-gesetzt., und eine Abfrage des
Assoziativspeichers mit der laufenden Adresse und der vorhergehenden Adresse durchgeführt. Nach Verwendung der Ubereinstinmungsanzeige
wird die. Adresse dann in das rechte Feld (das vorhergehende Feld) gesetzt und dort aufbewahrt, bis
die nächste Adresse ankommt und der Zyklus wiederholt wird.
Bei einer typischen in Fig*5 gezeigten Operation sind zwei
Speicherbereiche mit aufeinanderfolgenden Adressen beteiligt, .'.: von, ..denen ,.die, e|.ne.„ Adresse f Ur: den ersten Bereich, mit 001
PO 967 058
beginnt und die andere für den zweiten Bereich mit OO4„
Jeder Bereich umfaßt natürlich eine Reihe von Adressen. Bei Verfolgung dieses Beispiels wird angenommen, daß der
erste Speicherbereich 001 von dem überwachten System benutzt
wird. Die erste Adresse wird vom Adreßregister des. Rechnerspeichers gebracht und in das Eingangsregister
42 des Assoziativspeichers gesetzt. Da dies die erste^ Bezugsadresse ist, muß der Assoziativspeicher jetzt abgefragt
werden, in welchem am Anfang nichts gespeichert.ist.
Daher kann diese erste Adresse direkt in den rechten Teil
des Eingangsregisters gesetzt werden, nämlich den Teil .
dfeses Registers für die vorhergehende Adresse, v/enn weiterhin
angenommen wird, daß die nächste Adresseebenfalls im Bereich 001 steht, so wird diese Adresse ebenfalls herausgebracht
und in die linke Hälfte des Eingangsregisters 42, nämlich den Tall für die laufende Adresse, gesetzt. Der
Assoziativspeicher wird dann abgefragt,, und da im Assoziativspeicher
nichts steht, ein Schreibzyklus eingeleitet»um
den Inhalt des Eingangsregisters, d.h. 001 001 zu speichern (die nicht wertdarstellenden Teile jeder Adresse werden
durch das Maskierungsregister 43 maskiert). Arn Ende der
Schreiboperation wird die vorhergehende Adresse vernichtet und die laufende Adresse vom Eingangsregister in den
rechten Teil für die vorhergehende Adresse verschoben. Dienächste Adresse wird dann vom Speicheradressenregister
des Rechners gebracht und in den linken Teil des Eingancfiregisters
42 für die laufende Adresse gesetzt". Wenn am/e-
PO 961 058 909850/1609 BADOraC*!Al.
nomraen wird, daß die nächste Adresse ebenfalls aus dem
Bereich 001 stammt, tritt im Assoziativspeicher eine Übereinstimmung auf, welche die Übereinstimmungsanzeige für
dieses Wort einschaltet. Der mit dem übereinstimmenden Wort verbundene Zähler wird weitergeschaltet, so daß er
jetzt auf 2 steht und damit angibt, wie oft auf den Speicherbereich 001 Bezug genommen wurde.
Der Inhalt des Kingangsregisters wird immer so nach rechts
verschoben, daß die laufende Adresse in den Te.il für die
vorhergehende Adresse gesetzt und die vorhergehende Adresse gelöscht wird.
jetzt angenommen wird, daß das überwachte Programm von dem einen Speicherbereich 001 zu einem anderen Speicherbereich
004 übergegangen ist,dann wird der Inhalt des Speicheradressenregisters, das jetzt" die Zahlen 004 enthält,
in den linken Teil des Eingangsregisters 42 für die laufende Adresse übertragen. Das Eingangsregister enthält jetzt
die mit 004 beginnende Adresse im Tail für die laufende
Adresse und die mit 001 beginnende Adresse in dem Teil für die vorhergehende Adresse. Die Wortzellen des Asso-
-äiativspeichers werden abgefragt, und es tritt keine Übereinstimmung
auf, da dieses Jiort nicht im Assoziativspeicher
gespeichert ist (das einzige zu diesem Zeitpunkt gespeicherte V/ort ist 001 001 ).
po 967 058 9 0 9850/1609
Als nächstes wird ein Schreibzyklus eingeleitet und der
Inhalt des Eingangsregisters in einer verfügbaren Wortzelle des «ssoz.iativspeichers gespeichert. Ferner wird der
diesem vVort entsprechende Zähler um 1 weitergeschaltet. Der Inhalt des linken Eingangsregisterteiles für die laufende Adresse wird dann in den rechten Teil für die vorhergehende
/.dresse gesetzt und die vorhergehende Adresse
gelöscht. · ·
Wenn jetzt Bezug genommen wird auf den Speicherbereich 004, so wird das, wie oben im Zusammenhang; mit dem Bereich
001 beschiißben wurde, aufgezeichnet was zu -.;iner Speicherung
im dritten (;ort im Assoziativspeicher führt,
d.h. 004 004. Der entsprechende Zähler wird dann weitergeschaltet. Die laufende Adresse im linken Tail- des ilingangsregisters
wird nun in den rechten Teil für die vorhergehende Adresse gesetzt.
Im folgenden wird angenommen, daß das überwachte Programm zum Speicherbereich 001 zurückkehrt. Der Inhalt des
Speicheradressenregisters (001) wird in den linken Teil des Eingangsregisters 42 für die laufende Adresse gesetzt,
so daß das Eingangsregister jetzt 001 004 enthält. Da keine Übereinstimmung auftritt, wird der Inhalt des £in-
'■ gangsregisters in eine Wortzelle des nssoziativspeichers
gesetzt und der mit dieser Zelle verbundene Zähler um 1
weitergeschaltet. Die laufende Adresse wird im Eingangs-' PO 967 058 909850/1609
register 42 in den rechten Teil für die vorhergehende Adresse verschoben. Wenn die nächste Adresse ebenfalls
im Bereich OQ1 liegt, findet kein Übergang statt. Der Inhalt des Speicheradreßregisters wird in den linken Teil
des Eingangsregisters für die laufende Adresse gesetzt und das Eingangsregister enthält demzufolge Jetzt 001 001.
Eine Abfrage führt zu einer Übereinstimmung mit der ersten Wortzelle des Assoziativspeichers (Ö01 001), und der entsprechende
Zähler wird weltergeschaltet.
Weitere Übergänge vom Bereich 001 zum Bereich 004 führen
zu einer Übereinstimmung in der zweiten Wortzelle des Assoziativspeichers, Un d der entsprechende Zähler wird
weitergeschaltet«
Die in Fig.5 aufgezeichneten statistischen Werte enthalten
folgende Angaben; Ss haben Überträge zwischen den beiden Speicherbereichen 001 und 004 stattgefunden, 8 Überträge
fanden statt yom Bereich 001 zum Bereich 004, J Überträge
vom Bereich 004 in den Bereich 001. Insgesamt wurde 123mal Bezug genommen auf Adressen im Bareich 001 und 678mal auf
Adressen im Bereich 004..
i4it diesem Verfahren läßt sich eine Kurve über die Arbeitsweise
des Systems im Assoziativspeicher entwickeln und die Arbeitsweise der Algorithmen für die Siitenerstellung
studieren. Wenn die,volle Instruktionsadresse auf den
po 967 053 909850/16Ö9
Assoziativspeicher durch Veränderung des Inhaltes des , Maskenregisters gegeben wird, werden alle Verbindungen
eines Programmes aufgezeichnet und zur Zeichnung des Programmblockdiagrammes in der Art benutzt, wie es tatsächlich
ausgeführt wurde. Diese Technik ist jedoch wegen ihres großen Platzbedarfes höchstens bei ganz kleinen
Programmen praktisch durchführbar. Ein nachfolgend ^ genauer beschriebenes komplexeres Verfahren schaltet
viele redundante Informationen aus und ermöglicht die
Aufstellung von 31ockdiagrammen mit Assoziativspeichern.
In den obigen Ausführungen wurdenLogik-Aufzeichnungsmöglichkeiten
des ProgrammrÜberwachungssystemes beschrieben.
Anwendungs-Aufzeichnungsfunktionen finden in den Zählern statt, die in Wirklichkeit Wortzellen im Zusatzspeicher
sind, welche durqh den Assoziativspeicher als Ergebnis der Anfrage adressiert werden. Diese ««ortzellen sind auf
verschiedene Art so geschaltet, daß sie Zählungen, Zeiten oder das Vorliegen von Rechnerbedingungen entsprechend den
jeweils gewünschten Messungen aufzeichnen.
In den nachfolgenden Anwendungsbeispielen sind die Algorithmen als Blockdiagramme gegeben, bei denen jeder Block
eine Instruktion einschl. der Datenführung, die Operation
Pö 967 058 909850/1609
(Schreiben oder Abfragen) und die Maskierung für AM-Operationen
darstellt. Daten werden durch Felder geführt, die innerhalb jeder Anwendung konstant sind und durch
Großbuchstaben mnemonischen Charakters bezeichnet sind. Die Lage eines Feldes wird durch einen Indexbuchstaben
angegeben, der das bei der Führung benutzte Register oder den Speicher selbst bezeichnet. Diese Indexbuchstaben sind:
■ b - Überwachungsregister 56
a - Kreuzpunktschalter-Eingangsregister (A-Register 54)
i - Eingangsregister 42 des Assoziativspeichers
s - Speicherzellen des Assoziativspeichers
ο - Ausgangsregister 38 des Assoziativspeichers
ρ - ül/A-Register 40 und 44 des Zusatzspeiehers
Die verschiedenen in einem Algorithmus benutzten Felder
bilden einen geordneten Satz am Eingang des Assoziativspeichers und nach dem Schreiben in eine bestimmte Wortzelle.
Dia Notierung für einen derartigen geordneten Satz ist:
<^3QP C \für ein bestimmtes gespeichertes Wort.
<^3QP C \für ein bestimmtes gespeichertes Wort.
In'diesem Algorithmus ist S das den Programmstatus und die
belegten Kanalbits (6 Bits) kombinierende Feld, P die Instruktionsseite
(8 Bits) und C der letzte Statusanzeiger.
909850/1609
po 967 058
- 3o -
Eine durchzuführende Anfrage erfolgt im allgemeinen mit einem Satz von derartigen Wörtern. Dieser Satz ist nicht
geordnet und folgendermaßen geschrieben:
In diesem Beispiel kennzeichnen S und P die bei der Abfrage tätigen Felder und der Gedankenstrich bedeutet,
daß das Feld maskiert ist, welches im V/ort diese relative Stellung einnirarit.
ηNWENDUNGSBEISPIEL 1 : KOMBINATIONEN YOU
UND ZUSTÄNDEN
Problem
Das Problem besteht darin, herauszufinden, welche Systemstellungen während einer Betriebsperiode eines Computersystems
auftreten, wie oft jede Stellung auftritt und wieviel Zeit in jeder Stellung verbracht wird. Für dieses
Anwendungsbeispiel wird eine Systemstellung oder ein Systemzuständ
als eine Kombination innerhalb der folgenden Klassen von überwachten Signalen definiert:
Gestoppt/in Betrieb 2 Möglichkeiten 1 Bit
Laufend/wartend 2 Möglichkeiten i Bit
Überwachung/Problem 2 Möglichkeiten 1 Bit
Kanäle belegt 8 Möglichkeiten ~j Bits -
Instruktionsseite 256 Möglichkeiten 8 Bits
PO 967 O58 9098BO/1609-
- 51 -
Die Trennstelle zwischen Rechner j>0 und Überwachungsregister
56 ist so ausgelegt, daß sie alle der oben genannten
Signale mit Ausnahme der Instruktionsseite auf einer Ein/ Aus-Basis liefert. Die Instruktionsseite ist die werthohe
8-Bitgruppe der Instruktionsadresse, deren Vorhandensein an der Trennstelle durch ein Instruktionssignal angezeigt
ist. Eine Auswertung des Systemzustandes muß bei jedem Instruktionssignal erfolgen oder, wenn die Instruktionen
nicht ausgeführt werden, bei jeder Veränderung der übrigen Bedingungen.
Verfahren
Jeder Systemzustand wird durch ein bestimmtes Bitmuster
in der oben erwähnten Anordnung von 14 Bits wiedergegeben und in einem Wort des Zusatzspeichers aufgezeichnet. In dem
entsprechenden Wort im Zusatzspeicher wird eine Gesamtsumme von Zeitintervall und Benutzung jedes Zustandes gebildet.
Wenn Instruktionen ausgeführt werden (Betriebsstellungen und Stellungen des laufenden Programmes), wird das gesamte
Bitmuster benutzt. In anderen Fällen wird nur der Programmstatus und der Kanalstatus gespeichert·
Sobald sich ein Zustand ändert, wird das entsprechende Bitmuster
gleichzeitig mit allen vorher im Assoziativspeicher 32 gespeicherten Hustern verglichen, rfenn dabei keine Übereinstimmung
gefunden und somit ein neuer Zuaand festgestellt
PO 967 038 9 0 9 8 50/1609 .
wird, wird das neue Bitmuster in der nächsten leeren Wortstelle gespeiühert und die entsprechenden statistischen
Felder im Zusatzspeicher initialisiert. Wenn eine Übereinstimmung gefunden und damit eine Wiederholung angezeigt
vird, werden die entsprechenden statistischen Werte fortgeschrieben.
Instruktionsabtastungen ohne Änderung des Zustandes der
vorherigen Abfrage führen zu Abfragen des Assoziativspeichers. Um Änderungen festzustellen, wird der Anordnung
von 14 Bits ein Steuerbit hinzugefügt und in dem wort auf ."1" gesetzt, das den laufenden Zustand des Systems darstellt.
Am Ende der Auswertung ist fürjeden tatsächlich aufgetretenen
neuen Systemzustand ein Datenwort im Assoziativspeicher gespeichert. Diese Wörter können dann unter Benutzung
des geordneten Wiedergewinnungsverfahrens so ausgedruckt werden, daß zuerst die nicht ausführenden
Zustände und dann die Zustände in Seitenordnung wiedergegeben werden.
Algorithmus für Kombinationen von Vorgängen und Zuständen-
S - Ein Feld zur Kombination von Programmstatus
und belegten Kanalbits (6 Bits insgesamt) P - Instruktionsseite (8 Bits)
909850/1609
po 967 c^c ■
- 313 - ■
C - Anzeiger für letzten Status Felder im Speicher: -^S P C ^Assoziativspeicher
+ Benutzung%>Zusatzspeicher
'Wenn gemäß der Dar see llung in Pig,8 ein Instruktionsabtastimpuls
(I-Impuls) einen Zyklus (Schritt B) einleitet,
werden die überwachten Bits durch das A-Register 54 (Pig.'l) auf das AM-üingangsregister 42 zur Abfrage des
Assoziativspeichers J>2 geleitet. Eine Übereinstimmung
besagt, daß sich kein Systemstatus geändert -ha«t,· ferner
vervollständigen sie den Zyklus.
Wenn eine Instruktion nicht ausgeführt wird, löst die
Programmänderung oder der Kanalzustand (Zustandsänderung)
den Zyklus aus (Fig.8 Schritt A), in welchem nur S-Bits
aus dem Überwachungsregister 56 genommen und Nullen in
das P-FeId des AM-Eingangsregisters 42 gesetzt werden.
Bjvor 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 C für den letzten Status, um das letzte aufgezeichnete Wort und somit das entsprechende Wort im
Zusatzspeicher (Fig.8,Schritt C,D) zu wählen.
po 967 058 9 0 9 85 0/1609
Nachdem der Anzeiger für den letzten Zustand durch Schreiben einer "O" in das Cg-Feld (Schritt E) zurückgestellt
wurde, erfolgt eine Abfrage, bei der die Felder P und S 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 das AM-Eingangsregisters zur Speicherung des neuen Status in das nächste freie V/ort geschrieben wird,
A
^WENDUNGSBEI3PIEL 2: VERTEIJXMGxSK VOK VOIjGhNGEN
Problem
Die Bahnlänge 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 Pankt
ist wichtig, um zu bestimmen, wie weit ein Rechner beim Instruktionsabruf vorausschauen muß. Dieses Anwendungsbeispiel stellt fest, Vielehe Behnlä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. Wtnn die Bitanzeige
PO 967 058 909850/1609
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-sequentiell 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 mir Anzeige der vorgenommenen Verzweigung
und in einem Bahnlängenfeld eine 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 Übereinst
immung 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.
.Venn diese ebenfalls zu einer Übereinstimmung führt, wird das Häufigkeitsfeld des passenden Wortes weitergeschaltet;
sonst aber wird die neue Bahnlänge in einem
909850/1609
PO967058
leeren Wort mit der Anfangshäufigkeit 1 gespeichert. Die Zahl für das laufende Feld wird dann auch 0 zurückgestellt,
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 Verzweigungscodeε mit
L = O)
L - Bahnlänge
C- Code für Zahl des laufenden Wortes
R - Laufende Zahl
F- Häufigkeit
F- Häufigkeit
Felder im Speicher: / O0L,C N Assoziativspeicher
Zusatzspeicher
Jeder Instruktionsabtastimpuls (I-Impuls) leitet eine
Prüfung ein (Fig.9# Schritt A) um festzustellen, ob eine
Verzweigung für einen der vorgegebenen Operationscodes unternommen wurde. Diese Codes brauchen nicht der ganze
Pö 967 058 9 0 9 8 5 0/1609
Satz des Fremdrechners zu sein,
.Venn 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 1st. Das Feld der laufenden Zählung wird aus dem Zusatzspeicher
ausgelesen, über einen Weiterschalter geleitet und in demselben Wort wieder„gespeichert (Schritt G).
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 Ξ). 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.
riNWENDUNGSBEISPIEL 3; KURZE FOLGEN UND MISCHUNGEN
η -oblern
3ei 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 Sequenzver-
?o 96? 058 909850/1609
folgung oder -auffindung mit sich bringen. In diesem
Beispiel besteht das Problem darin, herauszufinden, welche Operationscodes unmittelbar den bedingten Verzweigungen
einer Instruktion vorausgehen, und zwar bis zu einem
Maximum von 10 Codes, einschl. der Verzweigung. -■"■■■■
V-jrfahren
P Für jede Mischung v/ird ein ./ort das Assoziativspeichers
benutzt, wobei die Operationscodes über das ganze Wort in 10 Feldern von je einem Byte Länge verteilt sind.
in die Operationscodes am Überwachungsregister ankommen,
weruan sie in aufeinanderfolgende Felder im al·:-Eingangsregister
und auf ein Feld geleitet, aas zum Vargleich
mit dem Satz der bedingten Verzweigungscodes danebengestellt ist, die einen Sondersatz vorher geladener Vierter
belegen. Wenn einer dieser Codes gefunden wird,.benutzt
t man die Anordnung derzehn Felder im AI-i-Eingangsregister
zur Abfrage des übrigen ;-vssoziativspeichers, der die bereits
aufgefundenen Anordnungen enthält.Die Benutzungseintragung (Gebrauch) wird entsprechend fort^eschrieben.
Das AM-Eingangsregister wird dann auf "θ" zurückgestellt,
und der nächste Qperationscode beginnt eine neue Folge.
Die Codefolge kann über 9 Codes hinauslaufen, bevor ein
Code für eine bedingte Verzweigung auftritt. In diesem-Fall nimmt der 1-1. Code die Stelle des 1, Code ein usw.,
-> 39 -bis
ein Code für eine bedingte Verzweigung gefunden wird.
Jedes Wort enthält eine Mischung von 10 oder auch weniger
Operationscodes· Der abschließende Code fürdie bedingte Verzweigung kann jedes der 10 Felder belegen. Wenn jedoch
nach diesem Code mindestens ein Feld mit Nullen folgt, verläuft die Folge so, wie sie aufgezeichnet ist. Folgt
ein solches Nullenfeld nicht, werden die vorhergehenden 9 Codes "hintenherum" gelesen.
0 - An Überwachungstrennstelle empfangener Operationscode
B - Vorher gespeicherte Verzweigungs-Operationscodes Felder im Speicher:
/Bs 00 00 000000 O^ Satz Verzweigungscodes
/Bs 00 00 000000 O^ Satz Verzweigungscodes
SO 0 0s O^ O^ B^ 0 0 0 0 0 Q>
Mischung von vier Codes
in einer Viererfolge
<0 0 O^1 o'£ Op o« 0? B16- o\ 08 Ο? 0™>
MiSC1Un8
von 10 Codes in einer Folge von mindestens 16
Aufeinanderfolgende Operationscodes werden in aufeinanderfolgende Felder über das AM-Eingangsregister mit Hilfe
einer Reihe von Makro-Instruktionen gesetzt, die sich nur
PO 967 058 909850/1609
in der Führung der Mikro-Instruktion unterscheiden
(Fig.10, Schritte a, B, C). Wenn ein Verzweigungsoperationscode
empfangen wird, wird ein gemeinsames Unterprogramm verfolgt (Schritt D), um die neue Mischung
zum Speicher zu addieren (Schritt.E) oder das Benutzungsfeld
einer vorhandenen Mischung weiterzuschalten (Schritt P).
Problem
Eine Möglichkeit, die Leistung eines Systems zu bestimmen, besteht darin, festzustellen, wie oft vorher
angegebene Folgen von Vorgängen ablaufen. In diesem Beispiel ist ein Betriebsystem mit einer bekannten
Belastung zu prüfen, um festzustellen, ob eine vorhergesagte Folge von Überwachungsanforderungen, L'nterbrechungen
und Objektprogrammen auch wirklich verfolgt wird. Die Folgen können sehr lang sein, einander überlappen
oder einschließen und bei jedem beliebigen Ülement beginnen
oder enden.
Der Wechsel zu einenineuen laufenden PSV; (Programmstatuswort)
stellt einen Schritt in der Folge dar und rcann dadurch
abgefühlt werden, daß eine Unterbrechung im rrorndsystem
auftritt oder eine Instruktion LiiiPS.. ausgeführt
.wird. Die Adresse des PSW kennzeichnet das Fol^element
PO 967 05δ 9 09 8.50/1609
- 41 V .-.■■-■
iond ist von der Trennstelle des Überwachungsgerätes erhältlich,
sobald ein Wechsel auftritt. -
Verfahren -
Der Assoziativspeicher wird mit den zu verfolgenden Sequenzen geladen, wobei die Elemente jeder Sequenz in
aufeinanderfolgende Speicherwörter gesetzt werden. In
dem Wort nimmt der Code für jedes Element ein Feld ein,
in diesem Fall 24 Bits der Adresse, Das Wort enthält außerdem zwei ein Bit große Felder, von denen eines eine
"1" für den Start und das andere eine "1" zur Anzeige
des Elementenendes enthält. .
Das V.rfahren arbeitet mit einer-speziellen Abfrageoperation
für den Assoziativspeicher.^ bei dem die;Übereinstimmung
eines "Wortes das nächstfolgende Wort in der physikalischen Reihenfolge für die Dateneingabe gewählt
wird. In diesem Fall wird ein .Statusbit in ,das Wort nach
der Abfrage eingegeben, um den Weitergang durch dik Sequenz zu verfolgen. Die gefährliche Abfrage erfolgt gleichzeitig
mit dem Adreßbit und dem Statusbit. Wenn die Abfrage nach Empfang des nächsten Elementes erfolgreich verläuft,
wird das Statusbit zum nächsten Wort übertragen.
Außer der Aufzeichnung von Erfolgen beim Überqueren ganzer
Sequenzen können statistische Werte über Teilüberquerungen
in den Wörtern des Zusatzspeichers_siritsprechehd den da-
909850/1609 ; '
ORIGINAL JMSPECTED
zwischenliegenden Sequenzelementen zusammengestellt werden.
Am Ende der Prüfung enthält der Assoziativspeicher die geprüften Sequenzen und der Zusatzspeicher Angaben darüber,
wieweit diese Sequenzen verfolgt wurden. Die Sequenzen können dann als kompletter Prüfbericht in einem B'ormat
ausgedruckt werden, das einen Punkt für Punktvergleich
der Ergebnisse der Prüfungen von Änderungen der Belastung oder des Systemes gestattet.
Algorithmus zum Verfolgen langer Sequenzen (ffig.n)
C- Code für Sequenzelement
B,E- Start und ände
S - Statusbit
B,E- Start und ände
S - Statusbit
Am Anfang und Ende jedes Zyklus werden die Statusbits füralle ersten Elemente auf 1 gesetzt (Sehritt P).
Wenn der nächste Code vom Überwachungsregister empfangen
wird, erfolgt zunächst eine Abfrage (Schritt A), um fest- ·
zustellen, ob dieser Code auf eines der erwarteten letzten
Elemente von bis dahin erfolgreich verfolgten Sequenzen paßt.
Ist das der Fall, werden die statistischen Werte fortgeschrieben (Schritt B) und das betreffende Element auf
"θ" zurückgestellt (ohne daß dadurch andere Elemente der
Sequenz beeinflußt werden),
PO 967 058 909860/1609
PO 967 058 909860/1609
Derselbe Code wird dann dazu benutzt (Schritt C), um
alle Elemente abzufragen, deren Statusbit auf "1" steht. Diese Operation benutzt die Operation "NÄCHSTE ABPRÄGEN"
(besehrieben unter "Datenwege und Führungssteuerung), um
die eventuelle Eingabe einer "1" in das Statusbit des nächsten Wortes vorzubereiten.
Dann werden in alle Statusbits Nullen gesetzt (Schritt D),
ohne daß diese zurückgesetzt werden und ohne Beachtung der Übereinstimmungsanzeiger. Dieser Schritt löscht die
Einstellung aller Elemente, die mit diesem letztenCode'
nicht übereinstimmen. <
Zum Schluß \*erden alle ersten Elemente für die Eingabe .
mit Hilfe einer normalen Äbfrageoperation ausgewählt (Schritt E). Diese Auswahl wird mit der durch die oben
erwähnte Operation "NÄCHSTE ABFRAGEN" erhaltenen Auswahl nach Art einer ODER-Punktion verknüpft. Die Statusbits
werden in allen gewählten Wörtern auf "1" gesetzt (Schritt F), d.h. in allen ersten Elementen und dem durch
die Operation "NÄCHSTE ABPRÄGEN11 gewählten Wort.
Problem
Bei der Fehlerprüfung oder Auswertung der Leistung eines
po 967 058 909850/1609
Programmes ist es wichtig zu wissen, ob Programmsegmente in der richtigen Reihenfolge ausgeführt werden, wieviel
Zeit pro Segment benötigt'wird, wieweit sich die Programme
mit der Kanaltätigkeit überlappen und obeine Ausführung zum Warten gezwungen war. Wenn auch das eine oder andere
Segment zur Einzeluntersuchung mit Verfahren ausgewählt
wird ähnlich den in vorhergehenden Anwendungsbeispielen beschriebenen, so ist es doch schwer, vorauszusagen, wo
eine Vorausschau erfolgen soll und worauf diese gerichtet sein muß, und außerdem besteht die Möglichkeit, daß etwas
Wichtiges unberücksichtigt bleibt.
Wenn jede Instruktionsadresse mit ihrer Folgeadresse im
Instruktionsstrom gepaart und diese Kombination auf den Assoziativspeicher gegeben wird, enthält der Speicher am
Schluß alle Verbindungen zwischen Instruktionen dieses Programmes. Die meisten Instruktionen haben jedoch nur
eine NachfolgeInstruktion, so daß bei dieser Technik
der Speicherraum für redundante Informationen vergeudet
wird. Die wesentliche Information ist in den Verbindungen
von und zu Instruktionen enthalten, die mehrere Vorläufer oder Nachfolger haben. Diese Verbindungenkönnen von den
Adressen und den Operationscodes im Instruktionstrom her
gekennzeichnet werden.
PO 967 058 909850/1609
Verfahren .
Jedes Wort des Assoziativspeichers enthält drei Adreßfelder
mit den Bezeichnungen "Eingang", "Ausgang" und "Bestimmung". Die Eingangs- und Au^ngsadressen sind
die erste und die letzte Adresse eines Blocks von aufeinanderfolgenden
Instruktionen, die Bestimmung ist die Eingangsadresse eines nachfolgenden Blocks, so daß jedes
gespeicherte Wort" eine Verbindung in der logischen Struktur des Programmes darstellt.
Bestimmte Adressen sind als Ausgänge bezeichnet, wenn
sie im Instruktionsstrom unter Begleitungeines Vsrzweigungsoperationseodes
auftreten. Die erste Adresse nach einer Ausgangsadresse ist automatisch ein Eingang
zu einem laufenden Block, die eine von via* möglichen Beziehungen
zu bereits aufgefundenen Blocks einnimmt» Mit dem'Erscheinen der" Eingangs- und der Folgeadressen im
Ins trukt ions strom werden "sie mit vorher gespeicherten
Ein- und Ausgängen verglichen um festzustellen, oto der
laufende Block neu ist oder noch einmal verfolgt wird '_
oder ob entweder der laufende Block oder ein alter Block gestellt werden muß. - -. . .
Mit fortschreitender Ausführung des Programmes und Wiederholungen
seiner Segmente werden auch die meisten Verbindungen einmal oder mehrmals verfolgt. Ferner wirS die ent-
PO 967 058 903850/1609 / 0«NAL
sprechende Aufteilung des Adreßstromes in Blocks festgelegt.
Wenn dise Elemente gefunden oder wiederholt werden, wird ihre Zeit und ihre Benutzung (Gebrauch) notiert und die
Kanal- und Wartestellungen unter Benutzung des Zusatzspeichers
für diese zusätzlichen Daten zu ihnen in Beziehung gesetzt.
Es kann gezeigt werden, daß jede bedingte Verzweigungsinstruktion
mindestens aus zwei und höchstens vier Verbindungen führt, unddaß die Anzahl der durch diese Verbindungen
aufgestellten Blöcke immer niedriger, als die Zahl der Verbindungen ist. Da ein Speicherwort pro Verbindung erforderlich ist, können in einem Speicher mit einer
Kapazität von 4096"Wörtern etwa 2J00 Blöcke aufgezeichnet
werden. Abhängig von der Komplexität der Programmstruktur
reicht der Speicher für Programme mit zwischen 6000 und
16Q00 Instruktionen aus, ■ -
Am Ende der Auswertung der Blookdiagrammerstellung enthalt
der Assoziativspeicher die strukturelle Zusammensetzung des Programmes gemäß seiner tatsächlichen Ausführung.
Der Zusatzspeicher enthält die zu jedem Strukturelement gehörenden statistischen Daten. Die.Standarddarstellung dieser Information wäre eine Liste der Blöcke mit ihren Ausgangsverbindungen, die ihre Reihenfolge bestimmen.
Der Zusatzspeicher enthält die zu jedem Strukturelement gehörenden statistischen Daten. Die.Standarddarstellung dieser Information wäre eine Liste der Blöcke mit ihren Ausgangsverbindungen, die ihre Reihenfolge bestimmen.
PO. 967 .058 909850/1603
Wenn die Information einmal gesammelt worden ist, können
andere Ausgabeverfahren für Spezialzwecke verwendet werden. Zur Dokumentation des Programmes kann z.B. die Darstellung
der Blockdiagramme in Bildform unter Verwendung des Premdrechners
zur Berechnung und zum Ausdruck des Diagrammes
erwünscht sein. Wenn das Programm auf Versuchsbasis optimiert werden soll, braucht nicht immer die ganze Liste
ausgedruckt zu werden, sondern nur d,ie Elemente, die
mehr Zeit benötigen.
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 evtl. 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
po 967 C58 903850/1609
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 evtl. 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 Fig.2 gezeigt ist, und der Block wird mit Np als Bestimmung aufgezeichnet. Das
Programm läuft durch Wiederholung von <^Np Xp/ weiter,
da Xc keine Verzweigung ist.
EinBlock kann für einen Eingang bestimmt sein, der, wie im Fall J, bereits aufgezeichnet ist, 'wenn angenommen wird,
daß sich der Operationscode nicht ändert, muß derselbe
Ausg.ng 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 das Programmes nur den Fall 3·
Pb 967 058 9 09850/1609 gA& ORfGiNAL
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 dJsse 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.3 die Adresse ermittelt werden, die eine Stelle unter
dem laufenden Eingang liegt. Dieser Ausgang läßt sich nicht ^enau bei der Ausführung von Instruktionen mit veränderlicher
Länge errechnen, kann jedoch im Instruktionsstrom erneut auftreten und aufgezeichnet werden, da sein Nachfolger
auf den in Frage kommenden Eingang paßt. Damit das
erreicht wird, gibt man ein Kennzeiche'n 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 eini Einleitungsunterprogramm
enthalten, das niemals wiederholt wird. Der Block
enthält außerdem Zeit- und Statuödaten, die nicht auf seine
Unterteilungen verteilt werden können. Daher wird der
pp 96^958, 9098 50/1609 1AD
gekennzeichnete Block bis zum letzten Auslesen und der
Darstellung der Ergebnisse zurückgehalten.
Besondere Programmoperationen, wie z.B. eine mehrfache
Abzweigung, verursachen beim Arbeiten mit dem Algorithmus keine Schwierigkeiten, wenn sie auf erkennbaren Operationscodes basieren, v/enn das Programmeinen Operationscode auf
eine Verzweigung umändert, wie es im Fall 3 oben erwähnt
ist, muß der Algorithmus so geändert werden, daß zusätzlich zu den oben beschriebenen 4 Fällen einige
Vielte re Fälle berücksichtigt werden.
Algorithmus für Blockdiagramm (Fig.1» A - Adresse
N - Eingangsadresse
X - Ausgangsadresse
D - Bestimmungsadresse
0 - Operationscode
S - Statusbit: 1 für neuen Block F - Kennzeichnungsbit: 1 für eingeschnittenen Block
N - Eingangsadresse
X - Ausgangsadresse
D - Bestimmungsadresse
0 - Operationscode
S - Statusbit: 1 für neuen Block F - Kennzeichnungsbit: 1 für eingeschnittenen Block
(Fall 4)
Felder im Speicher: ^N3X3D5O3S3F0'S Assoziativspeicher
Felder im Speicher: ^N3X3D5O3S3F0'S Assoziativspeicher
Zusatzspeicher
Im Schritt A in Fig.13 wird zuerst eine Adresse Aa im
A-Register in das Eingangsfeld (N^) des Eingangsregisters
zusammen mit einer "θ" im Kennzeichnungsfeld (Fi)
FO .067 ^5.9, 909850/1609
ü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 Pig.12. Im Schritt D wird dieselbe Adresse AQ jetzt
et
durch den Kreuzpunktschalter zur Ausgangs-Adressenposition
Xj, im Abfrageregister geleitet. Eine Abfrage
wird jetzt auf dem Eingang (N ) und auf dem Ausgang (X ) zusammen mit einem Kennzeichnungsbit (P„) durchgeführt.
Wenn keine Übereinstimmung (keine ANP) vorliegt, läuft das Programm jetzt in eine Schleife ein. Die nächste
Adresse Afe im Überwachungsregister wird auf das A-Register
übertragen und der Operationscode in das Öperationscodefeld
(O1) des AbfrageregiBters 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 Kbfrageregister 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 Sehritt B eine Ausgangsadresse gefunden wird, tritt eine Übereinstimmung
auf und die Schleife wird unterbrochen, so daß das Programm
zum Schritt D weiterlaufen kann. Die der Ausgangsadresse folgende Adresse ist eine *Bestimmungsadrespe und wird aus
dam Uberviachungsregister in das η-Register und dann in
das Bestimmungsfeld des Abfrageregisters (O^) übertragen,.
?c 67 C58 9 0 9850/1609
1A©
wie es im Schritt D dargestellt ist. Dann folgt eine Abfrage im Eingangs-, Ausgangs- und Bestimmungsregisterfeld. Wenn
eine Übereinstimmung auftritt, bedeutet das, daß dieser Instruktionsblock zur selben Bestimmung läuft wie der vorhergehende
. Die statistischen Werte werden im dann passenden Wort (Schritt F) fortgeschrieben und dadurch das
Unterprogramm beendet.
Wenn im Schritt D keine Übereinstimmung auftritt, heißt das, daß die Adresse nicht zur selben Bestimmung läuft.
Somit wurde ein neuer .<eg verfolgt, so daß ein neues Wort
für diesen wert aufgezeichnet werden muß. Das erfolgt
im Schritt E durch Setzen einer !θ" in das Statusbit und
das Kennzeichnunc;sfeld und durch Aufschreiben der gesamten
statistischen Werte. Die Programme kehren dann zum Schritt Λ zurück, ^n diesem Punkt ist die Adresse im Α-Register noch
nicht verändert. Diese Adresse (die Bestimrnungsadresse des
vorhergehenden Blocks) wird jetzt für die im Schritt Z1 durchgeführte
laufende ,-.bf ragung zur ^ingangsadresse.
Im folgenden soll angenommen werden, daß nach der in
Schritt /. durchgeführten Abfrage keine Übereinstimmung
auftritt. In diesem Fall gehört der Block zu einem der
Fälle 1, c- oder <+ der Fig. 12. Dor nächster- Schritt G besteht
im Schreiben oir.e.3 Teilwerte ε in den Speicher uiit-or Verwendung
dor ,Presse als ^ingan^, dt. bekanntlich ~vtl. -in
neues „ort geschrieben werdon mu£, iv-cmon, alle £':.r uier.:-..n
PO 2£'7 Ci;b 909850/1609
IAB ORIGINAL
- 53 - ■ . ■
Block zutreffenden statistischen Daten zur Verfügung
stehen. Im Schritt G wird das Statusbit auf "1" gesetzt, um dadurch anzuzeigen, daß ein neuer Block behandelt wird.
Im Schritt H wird die Adresse in das Ausganssfeld X. des
Abfrageregisters gesetzt und eine Abfrage durchgeführt, wenn keine Übereinstimmung auftritt, läuft das Programm
zürn Schritt I weiter, in welchem eine Abfrage mit einem Oporationscode gegenüber einem Satz von Verzweigungs-Operationscodes
erfolgt, die im Assoziativspeicher gespeichert sind, um eine mögliche Verzweigung aufzusuchen,
wonn keine Übereinstimmung auftritt,, läuft das Programm
zum ehritt J weiter und empfängt eine am Überwachungsre.^ister
neue Adresse A, , die in das Α-Register und dann
in das iiingangsfeld des Abfrageregisters übertragen wird.
".. ;nn keine Übereinstimmung zustande kommt, läuft das Programm in einer .Schleife zu Schritt H zurück.
Im einfachsten Fall tritt eine Übereinstimmung im Schritt
1 auf, was der Situation im Fall 1 entspricht. Das bedeutet, daß ein Verzweigungsoperationscode gefunden worden ist,
welcher anzeigt, daß eine Ausgangsadresse aufgefunden
wu-'d-j. Jas Programm läuft dann zu Schritt M. An diesem
Punkt sind im Eingangsregister- Eingangs-, Ausgangs- und Operationscode gespeichert/Die nächste am Überwachungsregister A, auftretende Adresse sollte eine Bestimmungsadresse sein. Da in das Statusfeld eine "i" gesetzt wurde,
PO 96J7. Q5§. 90985Q/ 1 609
' ; BAÖÖFflQHNAL
erfolgt nun zur »Zahl des Wortes im Schritt M eine Abfrage im Statusfeld. Im nächsten Schritt N wird das vom Statusbitfeld gewählte Wort überschrieben, um die statistischen
Werte zu vervollständigen und somit die Programmschleife für diesen Block zu beenden.
Eine Situation wie Im Fall 2 tritt auf, wenn eine Übereinstimmung
im Schritt J während des Sohleifendurchlaufs durch die Schritte H, I, J auftritt. Das bedeutet, daß
eine Adresse gefunden wur.de, die mit der im assoziativspeicher gespeicherten Eingangsadeesse übereinstimmt, d.h.
daß das Überwachungssystem eine Kette von Instruktionen verfolgt hat, von deren Adressen eine in einem Block" einläuft,
der vorher schon-einmal durchlaufen wurde. Ώί.ηη
ware in Fall 2 in B1Ig. 12 X = N ."Das überwachunssprograrnm
c ρ
beendet jetzt diesen Instruktionsstrorn als einen Block.
Im Schritt J wurde die nächste vorhergehende Instruktion im Kusgangsfeld so gespeichert, daß in der !Ausgangsposition
des Eingangsregisters die Adresse steht, die unmittelca-r
vor der Adresse stand, bei welcher in der Eingangsposition im Schritt J eine Übereinstimmung auftrat. Somit muß die
zuletzt genannte Adresse im Böstimmungsfeld gespeichert
werden, was durch Abfragen des Statusbits im Schritt K erfolgt, um das Wort zu erhalten, das im Schritt G geschrieben
wurde. Zum Schluß wird im Schritt N eine "θ" in die Statusposition, zusammen mit den Ausgangs- und
PO 967 058 9 0 9 8 5 0/1609 1A& ORIGINAL
1328202
_ 55 Bestimmungsadressen,
geschrieben.
Als letzer ist der Fall 4 zu betrachten, in welchem die Eingangsadresse irgendwo in der Mitte eines Blocks auftaucht.
Diese Situation wird natürlich nicht sofort erkannt. Im Schritt A wird eine abfrage mit der Adresse am
Eingangsfeld durchgeführt. Wenn keine Übereinstimmung auftritt,
ist die Adresse vorher auch noch nicht aufgetreten
und das Überwachungssystem verzweigt zum Schritt G. ßin neues Wort wird geschrieben und dadurch diese Adresse
zusammen mit dem Statusbit zur Kennzeichnung des neuen Wortes in das üingangsfeld gesetzt. Das Programm lauft
zum Schritt H weiter und dieselbe Adresse A . die im A-
cL
Register gespeichert ist, wird zur Abfrage des Aus^angsfeldes
des Assoziativspeichers benutzt. Wenn keine Übereinstimmung
auftritt, läuft das Programm weiter bis in die durch die Schritte H, I, J gebildete Schleife, ,/enn
aber Im Schritt H während einer dieser Schleifen eine Übereinstimmung auftritt, dann liegt die Situation des
Falles 4 vor. Somit ist der Jetzt verfolgte Block eine
Untergruppe eines früher einmal gespeicherten Blocks, da eine Übereinstimmung für die Ausgangsadresse, aber keine
Übereinstimmung für die Eingangsadresse festgestellt wurde.
In das KennzeichnungsfeId wird im-Schritt L eine "1"
gesetzt, um damit anzuzeigen, daß.diese Untergruppe abgefangen wurde und jetzt von der weiteren Abfrage gestrichen
9098.50/1609
ίΑ»
wird. Die nächste Adresse A, aus dem Überwachungsregister wird im Schritt M in das Bestimmungsfeld des Abfrageregisters
gesetzt. Eine Abfrage für das Statusbit erfolgt um das Wort herauszufinden, an welchem momentan gearbeitet
wird. Im Schritt N wird dann das Wort mit Eingangs- und Bestimmungsadressen überschrieben, um dadurch die
statistischen Werte zu vervollkommnen.
Po 967 056
909850/1609
Claims (4)
1. Einrichtung zur Überwachung und zur Erstellung statistischer Daten von Operationen in Datenverarbeitungssystemen,
gekennzeichnet durch einen Vergleichsspeicher (^2; Fig.1 ) zur Speicherung
von Betriebsdaten (z.B. Adressen, Operationscodes)
des Datenverarbeitungssystems und zum Vergleich der jeweils neuen Betriebsdaten mit den gespeicherten,
durch einen Statistikspeicher (50) zur gruppenweisen
Sammlung der Betriebsdaten, durch ein logisches Verknüpfungsnetzwerk (48) zur Adressierung
des Statistikspeichers in Abhängigkeit vom Vergleichsergebnis, durch einen Schalter (3^) zur selektiven
Durchschaltung von Datenwegen zwischen dem Datenverarbeitungssystem, dem Vergleichsspeicher und dem
Statistikspeicher und durch eine Steuereinrichtung (52) zur Steuerung des Schalters, so daß die Datenwege
entsprechend einer gewünschten Überwachungsfunktion
auswählbar sind.
2. iiilnrichtung nach Anspruch 1, gekennzeichnet durch
eine aus einer Addierschaltung (46;Fig.1) und
einem Taktgeber "(60)- bestehende Schaltungsan-
90985071809
iJu 967 058
iJu 967 058
-·58 -
Ordnung zur Modifizierung der im Statistikspeicher (50) aufbewahrten Statistikdaten, wobei die zu
modifizierenden Daten aus dem Statistikspeicher ausgelesen, zu der Addierschaltung übertragen,
durch den Taktgeber modifiziert und dann zum Statistikspeicher zurückübertragen werden.
A
3. Einrichtung nach einem der Ansprüche 1 oder 2,
gekennzeichnet durch eine, aus einem Steuer- :,..
abschnitt und einem Programmspeicher bestehende Steuereinrichtung (52; Fig.1), die durch die im
Steuerabschni-tt erzeugten Signale das iingangsregister
(42), das i-iaskenregister (-O) ι den
Vergleichsspeicher (32) und das Ausgangsregister
(38) steuert.
4. Einrichtung nach einem der Ansprüche 1,2 oder J-,-
*■ gekennzeichnet durch einen S'oatistikspeicher (50;
Fig.1), der an, durch Übereinstimmung zwischen ge-
: speicherten Betriebsdaten und gerade vorliegenden
Betriebsdaten von dem Verknüpfungsnetzwerk 8)
definierten Adressenbereichen die Zählungen
! spezifischer Betriebsdaten hinsichtlich ihres
Auftretens speichert.
PO 967 058 9 09 8 5 0/1609
Einrichtung nach einem der Ansprüche 1, 2, J oder 4,
gekennzeichnet durch einen Diagrammschreiber, der die im Statistikspeicher (50; Fig.1) statistisch
gespeicherten Betriebsdaten des Datenverarbeitungssystems
mit Hilfe eines gespeicherten Algorithmus (Fig.13) in Form eines Flußdiagrammes ausgibt,
welches die Aktivität des vom Datenverarbeitungssystem
ausgeführten Programmes angibt.
PO 967 058 909850/1609
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 true DE1928202A1 (de) | 1969-12-11 |
DE1928202B2 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 |
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 |
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 |
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 |
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 |
ATE522036T1 (de) | 2000-01-12 | 2011-09-15 | Jupiter Media Metrix Inc | System und verfahren zur schätzung der verbreitung digitalem inhalts im 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 |
GB2462554B (en) * | 2007-05-31 | 2011-11-16 | Nielsen Co | 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 |
CN105760782B (zh) | 2010-09-22 | 2019-01-15 | 尼尔森(美国)有限公司 | 监视媒体曝光的方法和服务器 |
WO2012087954A2 (en) | 2010-12-20 | 2012-06-28 | The Nielsen Company (Us), Llc | Methods and apparatus to determine media impressions using distributed demographic information |
EP2686779A4 (de) | 2011-03-18 | 2014-09-17 | Nielsen Co Us Llc | Verfahren und vorrichtung zur bestimmung von medieneindrücken |
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 |
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 |
US9277265B2 (en) | 2014-02-11 | 2016-03-01 | 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 AT AT529369A patent/AT301909B/de not_active IP Right Cessation
- 1969-06-03 DE DE1928202A patent/DE1928202C3/de not_active Expired
- 1969-06-04 NL NL6908530A patent/NL6908530A/xx not_active Application Discontinuation
- 1969-06-10 CH CH875069A patent/CH493041A/de not_active IP Right Cessation
- 1969-06-10 SE SE08208/69A patent/SE332729B/xx unknown
Also Published As
Publication number | Publication date |
---|---|
GB1211189A (en) | 1970-11-04 |
DE1928202C3 (de) | 1975-06-19 |
US3540003A (en) | 1970-11-10 |
BE731247A (de) | 1969-09-15 |
NL6908530A (de) | 1969-12-12 |
JPS4831367B1 (de) | 1973-09-28 |
CH493041A (de) | 1970-06-30 |
DE1928202B2 (de) | 1974-10-31 |
AT301909B (de) | 1972-09-25 |
FR2010529A1 (de) | 1970-02-20 |
SE332729B (de) | 1971-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1928202A1 (de) | UEberwachungs- und Statistikeinrichtung fuer Datenverarbeitungssysteme | |
DE3687842T2 (de) | Verfahren und Gerät zum Software-Austesten. | |
DE2723523A1 (de) | Kompression und dekompression von gespeicherten digitaldaten | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE1499182B2 (de) | Datenspeichersystem | |
DE2145709A1 (de) | Datenverarbeitungsanlage | |
DE1499206B2 (de) | Rechenanlage | |
DE2047062A1 (de) | Verfahren und Einrichtung zur Messung der Effektivität einer Daten Verarbeitungsanlage mit virtueller Adre»»ici uiig | |
DE2221442A1 (de) | Assoziativspeicher | |
DE1191145B (de) | Elektronische Zifferrechenmaschine | |
DE2246863A1 (de) | Verfahren und anordnung zur protokollierung des programmablaufs in datenverarbeitungsanlagen | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE2632277A1 (de) | Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung | |
DE1549473C3 (de) | Einrichtung zum Auffinden gespeicherter Daten | |
DE19500626A1 (de) | Programmierbare Steuerung und Verfahren zum Ändern ihrer Programmaufnahmefähigkeit | |
DE3806428C2 (de) | Verfahren und Schaltungsanordnung zum Ermitteln einer in einem Serienbitstrom enthaltenen Bitkombination | |
EP1606707B1 (de) | Verfahren zur ermittlung von abweichungen einer endsystem-nachricht von einer referenznachricht | |
DE3417816A1 (de) | Programmierbares schaltnetz | |
DE2735874C2 (de) | ||
DE69026048T2 (de) | Überwachungsgerät zur selektiven Feststellung von einem Signalzustand in einem Betriebssystem | |
DE2200744A1 (de) | Verfahren und Vorrichtung zum Aussortieren | |
DE2204680A1 (de) | Mikroprogramm-steuereinrichtung | |
DE3432837A1 (de) | Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten | |
EP0026460A1 (de) | Schaltungsanordnung zum Adressieren von Daten für Lese- und Schreibzugriffe in einer Datenverarbeitungsanlage | |
DE2840384C2 (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 |