DE1928202A1 - UEberwachungs- und Statistikeinrichtung fuer Datenverarbeitungssysteme - Google Patents

UEberwachungs- und Statistikeinrichtung fuer Datenverarbeitungssysteme

Info

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
Application number
DE19691928202
Other languages
English (en)
Other versions
DE1928202C3 (de
DE1928202B2 (de
Inventor
Murphy Robert William
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1928202A1 publication Critical patent/DE1928202A1/de
Publication of DE1928202B2 publication Critical patent/DE1928202B2/de
Application granted granted Critical
Publication of DE1928202C3 publication Critical patent/DE1928202C3/de
Expired legal-status Critical Current

Links

Classifications

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

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.
Einleitung
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.
DATElI-EGE UIO FUiiriUIsG "STEUERUNG' (Lu K WEG STEUExiUNG)
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. ■;■·■■
BABORIGINAL
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
BAB ORIGINAL
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
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
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
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.
GRUNDOPERATION DES SYSTEMS
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
BAB ORIGINAL
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.
ANWKNDUNGSBgISPIELE
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.
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.
Ergebnisse
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
BA© ORIGINAL
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,
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 Verzweigungscodeε mit L = O)
L - Bahnlänge
C- Code für Zahl des laufenden Wortes
R - Laufende Zahl
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.,
PO 967 053 9 0 9 8 5 0/1609 BAD ORIGINAL
-> 39 -bis ein Code für eine bedingte Verzweigung gefunden wird.
Ergebnisse
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.
Algorithmus zum Auffinden kurzer Folgen (Fig.10)
0 - An Überwachungstrennstelle empfangener Operationscode
B - Vorher gespeicherte Verzweigungs-Operationscodes Felder im Speicher:
/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).
ANWEKDUNGSBaISPIEL 4: LANGE FOLGiSN
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.
Ergebnisse
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
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
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.
ANWBNDUNGSBSISPIEL 5: BLOCKDIAGRAMMERSTELLUNG
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.
Ergebnisse
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.
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.
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 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
(Fall 4)
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)

29. Mai 1969 jo-sk. Pa t e nt an s'pr lic he
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
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
DE1928202A 1968-06-10 1969-06-03 Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen Expired DE1928202C3 (de)

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
DE1928202A1 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT943202B (it) * 1971-10-12 1973-04-02 Fiat Spa Perfezionamenti negli elaboratori elettronici
US3763474A (en) * 1971-12-09 1973-10-02 Bell Telephone Labor Inc Program activated computer diagnostic system
US3771131A (en) * 1972-04-17 1973-11-06 Xerox Corp Operating condition monitoring in digital computers
GB1422952A (en) * 1972-06-03 1976-01-28 Plessey Co Ltd Data processing system fault diagnostic arrangements
US3771144A (en) * 1972-07-24 1973-11-06 Ibm Clock for computer performance measurements
US3818458A (en) * 1972-11-08 1974-06-18 Comress Method and apparatus for monitoring a general purpose digital computer
US4068304A (en) * 1973-01-02 1978-01-10 International Business Machines Corporation Storage hierarchy performance monitor
US3831149A (en) * 1973-02-14 1974-08-20 Burroughs Corp Data monitoring apparatus including a plurality of presettable control elements for monitoring preselected signal combinations and other conditions
US3813647A (en) * 1973-02-28 1974-05-28 Northrop Corp Apparatus and method for performing on line-monitoring and fault-isolation
US3906454A (en) * 1973-05-18 1975-09-16 Bell Telephone Labor Inc Computer monitoring system
CA1026005A (en) * 1973-05-22 1978-02-07 John B. Robertson Computer performance monitoring system
US3866185A (en) * 1974-01-16 1975-02-11 Bell Telephone Labor Inc Method and apparatus for gathering peak load traffic data
US4016543A (en) * 1975-02-10 1977-04-05 Formation, Inc. Processor address recall system
US4205370A (en) * 1975-04-16 1980-05-27 Honeywell Information Systems Inc. Trace method and apparatus for use in a data processing system
US4126895A (en) * 1975-12-29 1978-11-21 International Standard Electric Corporation Data processing system with monitoring and regulation of processor free time
US4084227A (en) * 1976-09-24 1978-04-11 Sperry Rand Corporation Virtual address translator
US4166290A (en) * 1978-05-10 1979-08-28 Tesdata Systems Corporation Computer monitoring system
USRE31407E (en) * 1978-05-10 1983-10-04 Tesdata Systems Corporation Computer monitoring system
US4315313A (en) * 1979-12-27 1982-02-09 Ncr Corporation Diagnostic circuitry in a data processor
US4367525A (en) * 1980-06-06 1983-01-04 Tesdata Systems Corporation CPU Channel monitoring system
WO1983001524A1 (en) * 1981-10-13 1983-04-28 Cormier, Roger, Louis Method and apparatus for measurements of channel operation
EP0455946A3 (en) * 1990-05-07 1992-10-28 International Business Machines Corporation System for debugging shared memory multiprocessor computers
SE470031B (sv) * 1991-06-20 1993-10-25 Icl Systems Ab System och metod för övervakning och förändring av driften av ett datorsystem
US5499340A (en) * 1994-01-12 1996-03-12 Isogon Corporation Method and apparatus for computer program usage monitoring
US6108637A (en) 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
US7607147B1 (en) 1996-12-11 2009-10-20 The Nielsen Company (Us), Llc Interactive service device metering systems
US6029145A (en) * 1997-01-06 2000-02-22 Isogon Corporation Software license verification process and apparatus
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)

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

Also Published As

Publication number Publication date
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