DE1574994A1 - Einrichtung zur Bildung einer Abzweigverbindung in einem Digitalrechner - Google Patents

Einrichtung zur Bildung einer Abzweigverbindung in einem Digitalrechner

Info

Publication number
DE1574994A1
DE1574994A1 DE19681574994 DE1574994A DE1574994A1 DE 1574994 A1 DE1574994 A1 DE 1574994A1 DE 19681574994 DE19681574994 DE 19681574994 DE 1574994 A DE1574994 A DE 1574994A DE 1574994 A1 DE1574994 A1 DE 1574994A1
Authority
DE
Germany
Prior art keywords
memory
address
program
word
subroutine
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.)
Pending
Application number
DE19681574994
Other languages
English (en)
Other versions
DE1574994B2 (de
Inventor
Packard Roger Erwin
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.)
Unisys Corp
Original Assignee
Burroughs 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 Burroughs Corp filed Critical Burroughs Corp
Publication of DE1574994A1 publication Critical patent/DE1574994A1/de
Publication of DE1574994B2 publication Critical patent/DE1574994B2/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Description

BURROUCrHS CORPORiITION, Detroit, Staat Michigan (V.St.A.)
Einrichtung zur Bildung einer Abzweigverbindung in einem Digitalrechner
Die Erfindung bezieht sich auf einen Digitalrechner mit einer Einrichtung zur Bildung einer direkten /Vbzv/eigverbindung von einem Objektprogramm zu einem Unterprogramm des Hauptsteuerprogramms«
In Digitalrechnern ist es normalerweise üblich, mit einer vielseitigen Programmbasis zu arbeiten. Diese Programm© werden Objektprogramme oder Funktionsprogramrae genannt und unter der überwachung eines Hauptstcuerprogramms ausgeführt. Das Hauptötfti»cj.'p.cogranm ist i'ajtgülcgt bevor dor Rechner in Bebriob -senoninon wird und wird norr;>alerwoiße danach nicht mehr geändert. Nachdem ein Rechner in Betrieb
I 09849/1 Λ 23 BAD ORIGINAL
genommen ist, islrd dieser aber immer wieder zur Durchführung
neuer Objektprogramme hörangesogen, und swar wenn neue Aufgaben vorliegen. Demzufolge sind ixßendwelche Programmfehler, welche im Laufe der Operation cos Rechners auftreten, üblicherweise einem Objjektprogrtiaia und nicht dem Haupt st euerprograrma anzulasten« Deshalb \*3rden alle Operationen im Rechner im wesentlichen unter der Überwachung des Hauptsteuerprgramias derart ausgeführt» daß ein Programmfehler in einem Objektprogramm den Betrieb Iqb gesamten Rechners nicht vollständig unmöglich machen Vannj andere Objektprogramme können also weiter ausgeführt werden«
Allgemein gesprochen hat das Hauptsteuerprogramn viele verschiedene Unterprogramme, welche aus verschiedenen Adressenabläufen abgezweigt werden.
Aufgabe der vorliegenden Erfindung ist es, eine schnelle Fehlerermittlung durchzuführen und au verhindern, daß durch Programmfehler -areitere fehlerhafte Funktionen des Rechnr>rs durchgeführt werden.
Dies soll dadurch erreicht werden, daß in einem adressiert ansteuerbaren Hechnerspeicher eine Vielzahl von Objekt * Programmen und ein Hauptsteuerprogramm gespeichert; s.tna> wobei das Hauptateuerprogramm aioe Tielaahl von
109849/U2 3
BAD ORfQfNAL
grammen einschließt und Adressenwörter enthält, welche die Lage Jedes Unterprogramms im Speicher kennzeichnen und wobei 3ede3 ühterprogrammadreasenwort ein eindeutiges Ziffernkennzeichen enthält; ein erster Speicher zur Speicherung von Rachnerbefehlen, ein zwo it er Speicher zur Speicherung von Speicheradressen und ein dritter Speicher zur Speicherung von Informatlonskennzeiohen, die mit Hilfe von Iagekennzeichen, gespeichert im zweiten Speicher, ausgetauscht werden, sowie erste, einem Speicher eines Abzweigverbindungsbefehlea, den ersten Speicher zugeordnete Mittel'zur übertragung eines ausgewählten Adressenwortcs, welches die Lage im Speicher eines Unterprogramms kennzeichnet, vom Zwischenspeicher zum dritten Speicher, weiterhin zweite Mittel zur Prüfung des ausgewählten Adressenwortos auf Vorhandensein eines Ziffernkennzeichens und dritte Mittel zur übertragung des ausgewählten AdreBsenwortea sub zweiten Speisher zur Ausführung eines entsprechenden Unterprogramms, wenn das auegewählte Adressenwort das Ziffernkennzeichen enthält, vorgesehen sind.
Ua bei einem Objektprogramm ein bestimmtes Unterprogramm ia Hauptsteuerprogramm durchzuführen, ist eine Verbindung von Objektprogramm zum Adressenprogramm gebildet« Eine derartige automatische Verbindung zur Bildung der Abzweig-
1098A9/U23 BAD ORKSINAt
verbindung vermeidet die MSglichkeifc eines Progrömmfehlere und damit die Störung eines Progreranrnblaofee in Rechner. Nach der TSinleitung eiwes Adreosenprograioms i» Hauptetöuerprograima muß der Rechner zuerat die verschiedenen Möglichkeiten des Programme durchlaufen, nm sua gewählten Unterprogramm zu kommen. Dies erhöht die Sielt «or Durchführung dee Unterprogramme. Andererseits redueiert das Torsehen einer direkten Verbindung au jedem Unterpro«· gram diese Zeit wesentlich, was der großen Zahl an Unterprogrammen in einet* Hauptsteuerprogramm zuzuschreiben ist.
Da gemäß der 3rfindung eine direkte Abzwoigverbindung eines Objektprogramms alß Unterprogramm im Hauptstsuerprograran durch Prosraram^Kittel gebildet ist, sind Adressenwörter, weiche die Lage im Rechner3peicher jedes Unterprogramme feststellen, im Hauptsteuerprogramm enthalten. Zur Bildung eines Unterprogramms fordert das Objektprogramm das Adressenwort des verlangten Unterprogramme aus dem Speicher. Jedes Unterprogramm-Adressenwort enthält ein eindeutiges Ziffernkennzeichen. Ehe die Befehle vom Unterprogramm, welche dem Adressenwort entsprechen, aus dem Speicher ausgelesen werden, wird das Adreseenwort auf die Anwesenheit des Ziffernkennzeichens geprüft. Das Unterprogramm wird nur vorgenommen, wenn das gewählte Adressen-
1098A9/U23
BAD ORIÄÄÜ;
157A994
wort das ZiffernfcennEeichen enthält; „
Gemäß einer weiteren Ausbildung der Erfindung enthält das Hsuptpräfprogramm ein Stauerprogramia und ein Adressenwort;» welches den Platz im Zwischenspeicher dee Prüfprogramm kennzeichnet, wobei das letztgenannte Adressenwort ein Zifferokonnaöichen enthält $ dabei sind Mittel aur Über~ tragung des Früfprograimaadressenwortes zum zwelb&n Speicher vorgesehen« um dia Durchführung des ?rUfprogramias einzuleiten, wenn das gewählte Adreesenwort kein Ziffernkennzeichen enthSlt. Daß Prüfunterprogramm hat also ein eindeutiges Ziffernkennzeichen im Rechnerspeicher gespeichert. Hierau wird der Vorgang ohne Störung durch die Ziffernkennaeichenprüfeinrichtung ausgeführt· Das gleiche Prufprogranmi wird künstlich eingeleitet« wenn Bauelemente des Rechners, wie beispielsweise die Ein- und Ausgabeeinrichtung geatort sind.
Die Erfindung ist nachstehend anhand der Zeichnungen näher erläutert· Es zeigen;
Fig. 1 ein Blockschaltbild einer erfindungsgemäß^en Einrichtung;
Fig. 2 einen Rechnerspeieher; und
3 ein Diagramm für zwei alternative aufeinanderfolgende Vorgänge, welche mittels . des Folgeafceuerkreiaea nach Fig. 1 ablaufen.:
109849/U23
BAD ORIGINAL
157A994
In Fig» 1 let ein Rechner gezeigt, dar einen als Kernspeicher 1 bezeichneten Speicher hat. Die Speichersteuereinrichtung 2 steuert die Lese-Schreib-Funktionen für den Kernspeicher 1. Allgemein werden die lese- und Schreib«=* funktionen aufeinanderfolgend im Laufe eines Lese-Schreibayklus mittels der Taktschrittquelle des Rechners gesteuert. Derartige Anordnungen sind bekannt. SLn InforraationskennEeichen wird im Kernspeicher 1 mittels eines Informationsspeichers 3 eingeschrieben bzw. ausgelesen. Der Platz im Kernspeicher X, von dem das Informationskennselchen aum Informationsspeicher 3 überwechselt, wird bestimmt durch die Adresse, die im Adressenspeicher 4 gespeichert ist.
Im allgemeinen wird die Erfindung bei Rechnern mit mehreren Programmen angewendet, bei denen eine Vielzahl von Objektprogrammen unter der Kontrolle eines Hauptsteuerprograauas ablaufen. Das Haupt st euerprogramm, die Objektprogramme und die Operantadressen sind alle im Kernspeicher 1 gespeichert« Dies ist mittels der schematischen Darstellung des Kernspeichers 1 in Fig. 2 gezeigt. Bei dieser Darstellung sind 01, 02, 03 und O* Objektprogramme und MOP ist das Hauptsteuerprograram. Wie weiterhin in Fig. 2 gezeigt ist, enthält das HauptSteuerprogramm viele Unter» programme: SRI, SR2, ... SRa. Im Verlauf der Aueführung
109849/U23
BAD ORIGlNAt
eines Objektprogramms ist es oft erforderlich, eines der Unterprogramme oder dae Haupt st euerprogramm auszuführen. Gemäß der Erfindung wird dies erreicht durch die Bildung einer direkten Abzweigverbindung vom Objektprogramm sun verlangten Unterprogramm oder Hauptsteuerprogrosm· FUr jedes Unterprogramm ist ein Adressen-Wort, welches die Lage des Unterprogramms identifiziert, als ein Teil des HauptsteuerprogramnB gespeichert. Bas Objektprogramm bildet die Abzweigverbindung fsu einem Unterprogramm durch Abruf der Lagekenneeichnung des Adressenwortes aus des Kernspeicher 1« welches dem verlangten Unterprogramm entspricht. Beispielsweise ist in Fig. 2 dae Unterprogramm SRI ist Kernspeicher 1 an einem Plats mit der Adresse 06000 gespeichert. ELn Adreasenwort mit einem binärcodierten Ziffernkennseichen und mit binarcodierten Ziffern, welche die Adresse 06000 kennzeichnen, ist also im Kernspeicher 1 gespeichert· Dieses Adreesenwort ist gespeichert an einem Fiats mit der Adresse 1000.
In Fig. 2 ist das Ziffernkennreichen mit F bezeichnet· Dieses Ziffernkennzeichen ist eine Kombination binarer Kümmern, welche eindeutig sind, z.B. eine Kombination, welche keinerlei Deaiealwert darstellt, oder im System auf andere Weise erscheint, als zur Bezeichnung dieses Ziffemkennsaichens. SLn Objektprogramm bildet eine Abzweigverbindung mm Unterprogramm SHl, in dem der Speicherinhalt
109849/U23
der Xagekenasseiehming 1000 im Kernspeicher 1 abgerufen wird» tfm den Rechner gegen Fehler im Objektprogramm zu schützen, wixd das durch das Objektprogramm abgerufene Ihfonaationskennaeichen geprüft auf die Anwesenheit eines Ziffernkenazeichens. Wenn ala Prüfergebnis eine richtige Antwort gegeben wird, ist auch das Informationskennaeichea ein richtiges Unterprogramm-Adres3enwort<> Die Einrichtung geht dann reiter mit der Einleitung des Unterprogramms, welches äera gewählten Adressenwort entspricht. Wenn die Prüfung ein© falsche Antwort ergibt, wird das Inforaationskennssichen» welches dem Adressenwort entspricht, nicht aus dem Kernspeicher 1 ausgelesen.
letztere«; Fall v/ird ein Prüf unterprogramm, bezeichnet ait BSSl ic Hs, 2 von der gleichen Einrichtung eingeleitet, ifslö&s die iza vorstehenden Absatz beschriebenen Vorgänge ausführt. Um das Adressenwort, welches die Lage im Kernspeicher des PrüfUnterprogramms identifiziert, mit dieser Eiariöhtung in Einklang zu bringen, ist auch diese Adresse als: eindeutiges Γ iffernkennseichsn ausgebildet. Gemäß des Ssispiel nach Fig. 2 ist das Prüfunterprcgramm im Keiaspgi-s'ler 1 mit der Adresse 5000 gespeichert. Dementspreche'":? ist die dein Prüfunterprogranisi entsprechende Afireese FCfJOCO. Dieses Adressenwort hat im Kernspeicher 1 den PIaI=E mit der Adresse 9^*. Zusammengefaßt kann fest-
109849/U23
BAD ORIGINAL
^ '■t
gestellt werden, daß dann, wenn das Prüfergebnis eine falsche Antwort bedeutet, das Informationskennzeichen für die Adresse 9% abgerufen iTird, Dieses Inforiiiatianskennzeichen enthält das Ziffernfcennseichen. Auf diese W:aise wird das Prüfprogramm eingeleitet. Die Einzelheiten des Prüf Unterprogramms selbst sind nicht Gegenstand der "Srfindung. Beispielsweise kann das Prüf unterprogramm ein Abtasten einer Gruppe sogenannte.? Brgebniatexte, welche im Kernspeicher 1 gespeichert sind, umfassen· Diese Ergebnistexte können beispielsweise den Zustand der Rechnerbau« steine anzeigen, beispielsweise, ob ein Eontrolldrucker Informationen aufnahmen kann· Weiterhin liüan, ein Brgeb«- nistext angewendet; werden um anzuzeigen t ob ein Ziffernkennzeichen im gewählten Adressenwort enthalten ist, weim ein Abzweigverbinditngsprogramm ausgeführt wird. Im Früfunterprogramia könrioü die "Srge^nistexts abgetastet werden und in Abhängigkeit des gekennzeichneten Sustandes des geeigneten Vorgang einleiten. Im allgemeines wird immer dann abgetastet, wona ein neuer Ergebnist"e;it eingespeichert wird· Eine Einrichtung mit einem derartigen Früfuatespro«· gramm ist bereits in der alteren USA-AwielaUiig Nr9 431I-vom 2.9.1965 von .Tames 0. Robertson beschrieben* Itei das Prüfunterprogramia selbst nicht Gegenstand der Epflci ist, sind weitere Einzelheiten in des? aao!>folgeade:i Schreibung nicht mehr vorhanden«
133849/U23
BAD ORIGINAL
«· 10
Anhand dei? Fig. 1 soll nachstehend eine genaue Funktionsbeschreibung der Einrichtung gegeben werden. Beim normalen Ablauf eines Unterprogramms wird die Adresse g'edes Befehles in einem Adressenspeicher 5 für den nächsten Befehl vor der Weitergabe zum Adressenspeicher 4 gespeichert. Tm allgemeinen werden die Befehle an aufeinanderfolgenden Stellen int Kernspeicher 1 gespeichert, so daß gede Adresse durch Abzahlung der vorangehenden Adresse erhalten wird. Ein Adressea-Begrenssungsspeieher 6 speichert Informationskennzeichen, welche die Adresse und die Begrenzung des Teiles des I&mspsichera 1 bestimmen, au denen während eines ^estimate!* Zustandes ü®3 Bechners ein Zugang vorhanden sein wall· Der Speicheriiäialt des Speichers 6 bedeutet deshalb eine 3£ennseiehmmgf welche Befehle des Hauptsteuerprograaims oder eines Objek&pjeog^asims und Im letzteren I1SlIe welches öbjelc&programm 3Qd:-<:zo±b ausgelesen werden können. Äenn beispielweise Befehle das Objektprogramms Ol ausgeführt werden* begrenzt de^ Adressen-Begrensungsapeicher 6 den Zugang mm iCernspeic*·«^ 1, auf den Bereich, der durch das Obilektpreg^aBmi 01 in Anspruch genommen ist· l?enn andererseits Befähle vom Ha^rfesteuerprograiam ausgeführt werden, erlaubt d-sjp Adreesen^Bisr^nzsungsspeicher 6 den 55ugang 53U1Q gesamten Kernspeicher 3;, Ber Operationsspeicher 7 speichert eine Adresse3 wei.«l·^ die Abzweigverbindungsojperation einleitet, sowie die- /,.a:ee«se des gewählten Ädresaenwortes ie Kernspsicher 1. Mn /ergleichsspeicher 8 speichert
109849/1423
BAD ORIGINAL
auch Informationskennzeichen, welche den Zustand des Rechners anzeigen« Da der Speicher 8 nicht direkt in Zasanmenhang mit der Erfindung steht, ist seine Fraktion nicht weiter erläutert.
Die Flip-Flop-Schaltungen 9, 10 und 11 kennzeichnen·, den Zustand des Rechners in verschiedenen Fällen. Me norctale Flip-Flop-Schaltung 9 bestimmt den Zustand des Beehaere alt Rücksicht auf das Hauptsteuerprogramm und die Objektprogramme, ifenn der Ausgang "I11 der Flip-Flop-Schaltung 9 eingeschaltet ist, ist der Rechner im norxaalen Zustand, in dem die Befehle eines Objektprogrammes ausgeführt werden. Ιϊβηη der Ausgang "0" der Flip-Flop-Schaltung 9 eingeschaltet ist, ist der Rechner im Prüf zustand, in den die Befehle des Hauptaieuerprogranmes ausgeführt werden. Die Unterbrecher-Flip »Flop-Schaltung 10 kennzeichnet die Speicherung eines Ergebiiistextes, wann sein Ausgang "1" eingeschaltet' ist. Mit anderen "/orten, es aniS das Früfunterprograaua eingeleitet v/erden. Die Befehls-Flip-Flop-Schaltung 11 kennzelej.net den Zustand der Einrichtung in Bezug auf die Befehle, "^enn am Ausgang "lw der Flip-Flop-Schaltung 11 ein wi^rs^as Kennzeichen anliegt, führt die Anlage einen Befehl eus· !"snn am Ausgang Hü* ein wirksames Kennzeichen anliegt gwird ein neuer Befehl snis dem Kernspeicher 1 ausgelesen, 7<iasätalich zu den in Fig· I gezeigten Verbindungen der Fllp-Flop-Schaltungen 9, 10 und
1Q984S/tt23
BAD ORIQINAL
bestehen auch Verbindungen au anC-aven Teilen des Rechners, welelie aber für die Beschreibung der Erfindung nicht von Bedeutung sind»
Die !Punktion der Einrichtung verläuft weiterhin untei* der Kontrolle der Folgesteuereinrichtung 12, Kennzeichnend ist, äzll olsie derartige Einrichtung eine Taktschrittquelle, einen Folge st sue rlcreis (sequence counter) und eine kombinierte Iißglk enthält, um die nachfolgend beschriebene Aufeinanderfolge von Vorgängen ausführen zu können« -Yenn die Einrichtung 12 eine aufeinanderfolgende Reihe von Schritten durchläuft, werden der Reihe nach die Ausgänge PO, Pl, P2, P3, F4, P5 und P6 wirksam. Die Ausgänge PO bis F6 sind mit den Eingängen von verschiedenen UHD-Gattern (21 bis 42) verbunden, um den Vorgang zur Durchführung der ZweißverMriamsg auszuführen. Einleitend wird der Ausgang PO wirksam, szad jedes Mal, wens die Einrichtung 12 in der Auagangestell'ong ist ,wird dieser Eingang PO erneut wirksam·
Obwohl in SIg· 1 nicht dargestellt, besteht eine Verbindung vom Operations speicher 7 zu federn der üliD-Gatter 21 bis 42O 2os Swseice der Erläuterung wird abgenommen, daß das Gatter JO den Befehl Abzweigverbindung kennzeichnet. «Tenn der AMweigverbindungsbefehl 9 enthaltend die KeanzeichiQung mi Gatter JO ucd die Adresse eines
109849/U23
BAD ORlQINAL
1574BM
tee im Kern.speicher 1» das mit einem verlangtes unterprogramm -las Jia'iptsteuerprogramm's übereinstimmt, aam Operationsspeishar 7 übertragen wird, wird der Anegasg des Speichere 7 für die UND-Gatter 21 - 42 wirksam,, und "bleibt wirksam für die gesamte Betriebsdauer. Wenn dieser Ausgang wirksam wird, folgt der Schritt ΓΌ. Eine bestimmte.Adresse, welche im Zwischenspeicher 43 aufgenommen ist, gelangt über das Gatter 34 »um Adressenspeicher 4, während die Informationen im Adreaaenspeicher 5 für den nächsten Befehl, im Adressen-Begrenzungsspeicher 6 und im Vergleichsspeicher 8 über das Gatter 31 in den Informationsspeicher 3 übertragen wird» In Abhängigkeit "rom Gatter 40 schreibt die Speicherstsuereinrichtung 2 das XnformationskenRsaieken von Speicher 3 auf den entsprechenden Plat£· im Kernspeicher 1, der vom Speicher 4 gekennzeichnet wird« DIa la«» formationskennzeichen von den Speichern 5, β τω,ά B% die auf diese Weise im Kernspeicher 1 gesp3le&2Pf; sind, kenazeichnen die Stelle in Objektprogramm, für &ia dio Ausweis-Verbindung gebildet "vurde sowie das betreuende gramm. Dttrch die Wisdereingabe dieser IniOEiBftti eelchen in die Speicher 5» 6 und 8 nash Diirchiflhrusg äea Programms im Hauptsteuerprogramm, für das die lbs^slgr@rbi dung ausgeführt ;7ird, vrLrü. das gleiche Objoktp^ograsa wieder geschaltet, indem die InformationskeiiF^eiciseti se ris Speichern 5, 6 und 8 erneut übertragen wanden, Mess
109849/U23
BAD ORIGINAL
te Oparation ist nachfolgend "bascJirieben.
Der nächste Eingang Pl wird wirksam; hierdurch wird das Inforaafcionskennseiehen, welches die Lage de3 gewählten Adressenwortes ke-aazeichnet, τόπι Speicher 7 über das Gatter 33 zum Adrsssenspaichsr 4 übertragen, Entsprechend dem Beispiel nach Fig. 2 würde dies der Adresse 1000 entsprechen. Auf die Funktion des Gratters 37 folgt der Vorgang, bei dem die Speicher at siebeinrichtung 2 aus dem Info rmationssspeiciier das Inforniatienskennzeichen zum Plats lOOC des Kemspeichers ausliests wobei das Adressenwort F06000 ist· Tom Speicher 3 geht dieses Adressenwort übor Gatter 24 sum nächsten Befekisapeiaher 5·
Als nächstes wird der Ausga.!.? F2 wirksam. Dadurch wird «ine Verbindung über das Gatter 25 vom Speicher 5 zu einer Zif fernkennaeioiien-Briifeinrichtiijag 44 hergestellt· Di© Einrichtung 44 kann ein Veü-gleioher sein, der die erste wichtigste Ziffer des gswähltrea Adressenwortes vergleicht mit dem Inhalt eines Speichers«, der das eindeutige Ziffern— kenneeichen enthält. '?enn die Prüfung eines Ziffernkenn— zeichens ein richtiges Ergebnis ergibt, wenn also beispielsweise das gewählte A&resseEwort das Ziffernkennzeichea enthält, wird der Ausgang ϊ der Einrichtung 44 zur Folgeeteuareinrichtiing 12 wirksam. Demzufolge wird auch der Ausgang
BAD ORfOiNAt
T3 wirksam,
2α diesem Zeitpunkt werden Vorbereitungen getroffen, das gewählte Unterprogramm dos Hauptsteuerprogramias auszuführen. Hierzu wird das Gatter 29 wirksam, um die Adresseninformation des Speichers 6 zu löschen. Informationskenaseicaen eines Längenzwi sehen speicher© *J-5 gelangen über das Satter 30 stm Begrenzungsteil des Speichers 6, Demzufolge ist der Speicher 6 vorbereitet, den Bitgang sub gesamten Inhalt dee Kernspeichers zuzulassen, wie dies beim Prüf Vorgang durch das EaupteteuerprogranuB verlangt tTird. Satter 21 ist auch, wirksam, um das Verglöichsregister 8 zu löschen und Gatter 22 ist wirksam, ua SIs Flip-Flop-Schaltungen 9t 10 und 11 in ihren Zustand "0" su setzen·
Darauf wird der Ausgang ΡΊ- wirksam. Hierdurch gelangt das gewählte Adresssnwort über das Gatter 26 «um Adressenspeicher 6, und die Speichereteuereinrichtung 2 liest den ersten Befehl des Unterprogramms infolge des Wirkseewerdens des Gatters 38 aus, Itenach wird jeder Befehl des Unterprogrösaas ausgelesen und ausgeführt, bis das Dnterprograma vollständig ist, ra is^lchea Zeitpunkt dann der Ausgang F5 wirksam wird»
Dabei wird das Objektprogramm wieder zugeschaltet, umö
109849/H23
BAD ORlQINAt
»war wird hiersu die Adresse, welche Im Adressenswischeiw speicher 43 gespeichert let, über das Gatter 35 «u» Adressenspeicher 4 tibertragen· Infolge des 'Tirksamwerdens des Gatters 39 überträgt die Speichersteuereinrichung 2 das Informatlonskennzeichen vom Zwischenspeicherplats des Kornspeichers 1 sum Informationsspeicher 3, von wo aus die Adresse über Gatter 27 su den Speichern 5, 6 und 8 tibertragen wird. Danach wird die Folge steuereinrichtung 12 gelöscht, um seinen Zyklus su wiederholen und der Rechner setzt die Ausführung des wieder zugeschalteten Objektprogramms fort·
Venn das Objektprogramm fälschlicherweise die Lageangab· la Speicher des gewählten Adressenwortee kenneeichntt, so daß das ausgelesene Inforaationskennseichen aus iM Kernspeicher kein Ziffernkennselchen enthält« «led der Ausgang F der Ziffernktnneeichen-Prüftinrichteif^M- wilhrend des Schrittes P2 wirksam. In diesen Falle wird usjsittelb*r auf denAusgang P2 der Ausgang F6 wirksam· Demzufolge wird auch das Gatter 23 wirksam und bringt die Unterbrechungs-Flip~Flop~Schaltung 10 in den Zustand "1"· Bas AdresseninforBationskennseichen im Cperationsspelcher ? wird von einem Informationskennseichen eines Adressenewi-•ohenspeichers 46 ersetst, der über das Gatter 2Θ sit dee Speicher 7 gekoppelt 1st· Speicher 46 enthalt ein Adresi
10984S/U23
BAD
. - 17 -
inforaationskennzeichen, welches den Plats des Adreeeeawortea iai Kornspeicher für das Früfunterprogramm kefifiseicb&et. Entsprechend den Bezeichnungen in Fig· 2 enthält der Speicher 46 die Hummer 94. Bas Adresseninformationskennzeichen, welches den Platz im Kornspeicher kennzeichnet, und für die Speicherung des Ergebnistextes der Ziffernkennseichttungsprüfung durch die Prüfeinrichtung 44 herausgenoumen wurde, wird in einem Ergebnistextadressenspeicher 47 gespeichert. Der Inä^ilt des Speichers 47 wird über Gatter 36 sum Adressenspeicher 4 übertragen. Gleichzeitig wird der Inhalt eines Schaltfunktions-Bit-Zeichenspeichers 48 Ober Gatter 32 awra Informationsspeicher 3 übertragen· Speicher 48 enthält Bit-Zeichen, welche anzeigen, daß ein falsches Ergebnis bei der Ziffernkennzeichenprüfung erhalten wurde, beispielsweise, daß eine Falschfunktion durch ein Objektprogramm veranlaßt wurde. Infolge des >7irksamwerdene des Gatters 41 wird der Inhalt des Informationsspeichers 3 in den vom Speicher 4 angezeigten Adressenplatz eingeschrieben·
Kach Schritt P6 kommt die Folgesteuereinrichtung wtfder su Schritt Pl. Danach werden aufeinanderfolgend die Ausgänge Pl, P2, P3, P4 und P5 wirksam, so daß die vorhergehend beschriebenen Funktionen nunmehr bezüglich der nett hinzugefügten Adresseninfonaation im Speicher 7 ablauft»·
109849/1423
BAD
157*99«
• 10 ·
So wird bei dem Beispiel nach Fig. 2 dae Adreeeenwort FO5OOC aus dem Kernspeicher 1 ausgelesen, während der Auegang Pl wirksam ist, und dieses Adressenwort wird auf das Vorhandensein eines Ziffernkennzeichens geprüft, während der Ausgang P2 wirksam ist. Da das Adresseninformationakennseichen zum Erhalt des Adreseenwortee F050OO au» des Kernspeicher im Speicher 46 gespeichert ist, kann kein Fehler beim Auslesen dieser Adresse aus dem Speicher 1 vorkommen. Deshalb ist die Verwendung eines Ziffernkennzeichen a in Verbindung mit diesem Adressenwort zur FehJsv kontrolle nicht erforderlich· Bs ist aber die Verwendung der gleichen Einrichtung möglich, um das Prüfunterprogramm und andere PrüfUnterprogramme einzuleiten.
Dementsprechend *at der Rechner dazu vorbereitet, ein Hauptprüfurterprogramm auszuführen, solange der Ausgang P3 wirksam 1st und weiterhin das Prüfunterprogramm auszuführen, wenn der Ausgang P4 wirksam ist. Ebenso wird das Objekt» programm erneut zugeschaltet, wenn der Ausgang F5 wirksam ist. Bine Weiterführung des Objektprogramms wird Infolge der Feststellung der Falschfunktions-Bit-Zeichen während des Ergebnistextabta3tprogramms verhindert. Einzelheiten hierzu sind aber nicht Teil der Erfindung.
Beim gerai· beschriebenen Vorgang wird eine Unterbrechung
109849/1423
JSAD
des Rechnervorgangea infolge der Feststellung eines Frogranfehlere bei der Bildung einer Absweigverbindung verursacht. Während dieser Unterbrechung läuft ein Prüfunterprograaa, genannt RDSR1 ab· Es kann erwünscht sein, ein· gleichartige Unterbrechung zu erhalten und dabei das gleiche Prüfunterprograma beim Vorkommen von Unterbrechungen aufgrund anderer Uastände im Rechner auezuführen. Allgemein gesprochen, kann es wünschenswert sein, das Prüfunterprograae · isiier dann einzuleiten, wenn ein Ergebnistext im Kernspeicher 1 gespeichert wird. Beispielsweise kann eine derartige Unterbrechung verlangt werden, wenn ein Teil der Ein- und Ausgabeeinrichtung, beispielsweise also ein Kontrolldrucker, den Druck aller übertragenen Xnfoxmationakennzeichen durchgeführt hat und bereit ist, weiter· Informationen aufzunehmen. Wenn Bedingungen für die Einleitung einer Unterbrechung dieser Art festgestellt werden, wird ein Prüfbefehl in dtn Operationsspeicher 7 eingegeben. Danach kann das Prüfprogramm in der vorstehend beschriebenen Weis« ablaufen.
Ale Beispiel wird angenommen, daß die Unterbrechung eingeleitet wird, wenn der Ausgang 11I" der noraalen Flip-Flop-Schaltung 9, der Ausgang 11I" der Unterbrecher-Flip-Flop-Schaltung 10 und der Auagang "0" der B^fehls-Flip-Flop-Schaltung 11 wirksam sind. Senn su diesem Zeltpunkt außer»
109849/1423
BAD ORIQlN&l.
dem dar Ausgang IO wirksam wird, wird das Gatter 42 geschaltet und das Informai;ionskennzeichert eines Prüfbefehlsspeichsrs 49 zum Speichel* 7 übertragen. Die Adresse dieses Befehles ist die NuiLaer 30 und das Adresseninforjrationskennzeichen ist die Nummer 94, das ist das Information^ kennzeichen, v/elchsa im Speicher die Stelle des Adressen· Wortes kanniieich?iett f.as dem Prüf unterprogramm RDSR entspricht.
109849/U23
BAD OlÄlAL

Claims (9)

An'aprüche
1. . Digitalrechner mit einer Einrichtung zur Bildung ei*·; direkten Abzweigverbindung von einem Objektprogramm, ai* Unterprogramm eines Hauptsteuerprograrams, dadurch gekiamzeichnet, daß in einem adressiert ansteuerbaren Rechner· speicher (1) eine Vielzahl von Objektprogrammen und ein Haupt steuerprogramia gespeichert sind, von denen das Eauptsteuerprogramm eine Vielzahl von Unterprogrammen und Adressenwjfrrter enthält, welche die Lage jedes Unterprogramme im Speicher (1) kennzeichnen, und von denen jedes Unterprogrsuamad/iressenwort ein eindeutiges Ziffernkennzeichea enthält; daß ein erster Speicher (1) zur Speicherung Ton Rechnerbefehlen, ein zweiter Speicher (4) zur Speicherung von Speicheradressen und ein dritter Speicher (5) zur Speicherung von Informationskennzeichen vorgesehen sind, die mit Hilfe von Lagekennzeichen frespeichert im zweiten Speicher (4) ausgetauscht werden; und daß eine erste» auf die Speicherung eines Abz'veigverbindungs- bzw. Miniprogrammbeföhls iia ersten Speicher ansprechende Einrichtung «um Übertragen eines ausgewählten, die Speicherlage eines Unterprogramms kennzeichnenden Adresaanwortes aus diese»
109849/U23
BAD ORIGINAL
Speicher in den dritten Speicher, weiterhin eine zweite Einrichtung (44) sum Prüfen des au«gewählten Adreaeenworfets auf Vorhandensein eines Ziffernlcennzeichens und schließlich eine dritte Einrichtung (26) zui übertragen des au8gt~ wählten Adressenwortas in den aweiten Speicher (4) sua Sittleiten des entsprechenden Unterprogramme vorhanden qi&d, sofern das gewählte Adrasssnwort das ,VLffernkennzeichea enthn.lt.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Hauptsteuerprogramm ein Prüfprogramm und ein Adressen wort, welches den Platz im Zwischenspeicher des Prüf* Programms kennzeichnet, enthält, wobei da? letztgenannte Adres3enwort ein Ziffernkennzeichen aufweint; und daß eine Einrichtung s^-i -^', ertragen deo Prüfprogranuadresaenwortee sum ?<v?$ibun Speicher vorgesehen ist, um dm Ablauf dee Prüfprogramms einzuleiten, wenn da3 ge\rählte Adreseenwort kein Ziffernkennzeichen enthält.
3- Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daA die Einrichtung zua Übertragen des PrüfprogramULidreee·»?- «ortes in den ersten Speicher Mittel zur übertragung von Adressenkennzöichen, die den Speicherplatz für Pnifprograa»» adressenwörter kennzeichnen, enthält, derart, daL die erst· Einrichttuig darauf anspricht, die zweite Einbettung das Prüfprogrammadressenwort prüft und die dritte Einrichtung
109849/1423
BAD
das Prüfprogramm einleitet.
4. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß dae Hauptsteuerprograina ein Prüfprogramm und ein A&res· a en wort, welches den Platz im Speicher (1) dos Prüfprogramms kennzeichnet, enthält, wobei das letztgenannte Adressenwort ein Ziffernlcennseiehen aufweist, und daß weiterhin eine Ein- und Ausgabeeinrichtung am Rechner und Mittel vorgesehen sind, die Auf einer' Unterbrechung im Betrieb der Ein- und Ausgabeeinrichtung ansprechen und das Prüfprograian-Adressenwort in den zweiten Speicher zur Einleitung des Prüfprogramms übertragen.
5. Einrichtung nach Anspruch 3 und 4, dadurch gekennzeichnet, daß die Einrichtung sub übertragen des Prüfprogranaadressenwortee (5) Mittel enthält, die neben den Adressenkennselchen den Abzweigverbindungsbefehl in den ersten Speicher eingeben.
6. Einrichtung nach einem der Ansprüche 1 - 5i dadurch gekennzeichnet, daß ein vierter Speicher (5) zum Speichern einer Speicheradresse vor deren übertragung in den- zwei·* ten Speicher (4·) vorgesehen ist, wobei das ausgewählte Adressenwort aus dom dritten Speicher (3) sum vierten Speicher (5) übertragen wird und die Prüfmittel auf das
109849/1423
BAD
gewählte, im vierten Speicher (5) gespeicherte Adressen« wort anspricht.
7· Einrichtung r>.aoh einem dar Ansprüche 1 — 6, dadurch gekennzeichnet, daß clio Einrichtung aus: übertragen eines gewählten Adirenasnviortos vein Zwischenopeicher buci dritten Speicher (3) Mittel TMv die übertragung eines Adrosaeri-
iK
teilos des/ersten Speicher befindlichen Abzweigverbindungs befehles in den z/toi ten Speicher aufweist, welches den Speicherplata dea gewählten Adressen.vortes kennzoichnet, vsa die Übertragung des gewählten Adrassenwortes vom Zwischenspeicher in den dritten Speicher (3) zu veranlassen·
8. Einrichtung nach einem der Ansprüche 1 « 7, dadurch ge kennzeichnet , daß iniOrmationskennaeichen, welche den Punkt im Schrittabl&uf des Objektprogramms kennzeichnen, für den der Abzv/eigvcrbindungsbefehl kommt, v/ohrend die Abzweigverbindtmebereits eingeleitet \virds an einem vorbestitimten Plats im Speicher (1) gespeichert werden.
9. Digitalrechner,, gekennzeichnet durch aiiien adressiert ansteuerbaren Speicher (1) ia dem eine Vielaahl von Objektprogrammen und ein Hat5.ptsteuerprogrsmm. Respeichert sind, von denen das iiaiiptateuer-prc^rorain ei te Yielaalil von TJnterprograir.mör uad AdiOGBanwortcn enthli.lt 5 v/elche dia
109849/1423
BAD ORlOiNAL
Speicherplätze jedes Unterprogramm? kennzeichnen; durch Ontorprogramnadressemvorto, welche ^"'öile eine Ziffer enthalten; durch einen ersten Speicher (1) für nerbefehle, einen a^sioen Speicher (4) für eine Speicheradresse, einen dritten Speicher (5) für Infownationskeittl·· »eichen, welche mitt3l3 der Plabakennzeichnung ia · Speicher auszutauschen 3ind, und mittels der ia eweiten Speicher (4) gespeicherten Adresse festgestellt werden; durch Mittel, welche auf die Speicherung eines At>zw#igverbindungebefehles im ersten Speicher (1) ansprechen und ein ausgewähltes Adressenwort vom Speicher (1) zua dritten Speicher (3) übertragen, welches den Speicherplat* eines Unterprogramms ia Speicher kennzeichnet; durch tel zur Feststellung der Anwesenheit oder Abwesenheit besonderen Kennziffer^; Mittel zum Übertragen des gewählten Adressenwortes in den zweiten Speicher zur Einleitung entsprechenden Unterprogramms bei Anwesenheit der deren Ziffer; und durch Mittel zur Verhinderung der Ausführung eines. Unterprogramms bei Abwesenheit der besonderen Ziffer,
109849/1423
BAD D*
ί ' ;■' · "ti C'.-"i.5.if
DE19681574994 1967-03-17 1968-03-16 Digitalrechner mit ueberprueftem unterprogrammaufruf Pending DE1574994B2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62385867A 1967-03-17 1967-03-17

Publications (2)

Publication Number Publication Date
DE1574994A1 true DE1574994A1 (de) 1971-12-02
DE1574994B2 DE1574994B2 (de) 1973-03-08

Family

ID=24499670

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19681574994 Pending DE1574994B2 (de) 1967-03-17 1968-03-16 Digitalrechner mit ueberprueftem unterprogrammaufruf

Country Status (5)

Country Link
US (1) US3562713A (de)
DE (1) DE1574994B2 (de)
FR (1) FR1558091A (de)
GB (1) GB1159330A (de)
NL (1) NL165860C (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3753236A (en) * 1972-03-31 1973-08-14 Honeywell Inf Systems Microprogrammable peripheral controller
JPS549456B2 (de) * 1972-07-05 1979-04-24
US3881173A (en) * 1973-05-14 1975-04-29 Amdahl Corp Condition code determination and data processing
US3979725A (en) * 1973-08-06 1976-09-07 Xerox Corporation Multi-way program branching circuits
SE413707B (sv) * 1977-02-28 1980-06-16 Ellemtel Utvecklings Ab Anordning hos en programminnesstyrd telekommunikationsanleggning

Also Published As

Publication number Publication date
FR1558091A (de) 1969-02-21
NL6803825A (de) 1968-09-18
NL165860B (nl) 1980-12-15
NL165860C (nl) 1981-05-15
GB1159330A (en) 1969-07-23
DE1574994B2 (de) 1973-03-08
US3562713A (en) 1971-02-09

Similar Documents

Publication Publication Date Title
DE2119063C2 (de) Datenverarbeitungseinrichtung mit einer Einrichtung zur Steuerung von Programmunterbrechungsanforderungen
DE2646162B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE2030760A1 (de) Speicherschaltung
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE1279980B (de) Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem
DE2055739A1 (de) Datenverarbeitungssystem
DE2533403A1 (de) Datenverarbeitungssystem
DE1815078A1 (de) Mikro-programmierte Datenverarbeitungseinrichtung
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE2339636A1 (de) Programmsteuereinrichtung
DE2400064A1 (de) Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem
DE2450468C2 (de) Fehlerkorrekturanordnung für einen Speicher
DE2518588B2 (de) Verfahren zur ueberwachung der folgerichtigkeit von codesignalgruppen in einrichtungen der nachrichtentechnik
DE2350229A1 (de) Datenverarbeitungsanlage, insbesondere als steuereinrichtung fuer fernsprechvermittlungsanlagen
DE1935944B2 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE1549548A1 (de) Vorrichtung zur Aktivierung eines bestimmten Befehls aus einer Vielzahl von Befehlen,die in einem Befehlsspeicher eines Rechners gespeichert sind
DE3323824A1 (de) Speicherprogrammierbare steuerung
DE1574994A1 (de) Einrichtung zur Bildung einer Abzweigverbindung in einem Digitalrechner
DE2336676B2 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
EP0151810B1 (de) Verfahren und Schaltungsanordnung zum Prüfen eines Programms in Datenverarbeitungsanlagen
DE2500841A1 (de) Verfolgungseinrichtung
EP0494329B1 (de) Schaltungsanordnung zur Abbildung des logischen Adressraums einer Prozessoreinheit auf den physikalischen Adressraum eines Speichers
DE2419836C3 (de) Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen
DE2025672A1 (de) Konfigurationsanzeiger fur periphere Einheiten in einer Datenverarbeitungsanlage
DE2258734A1 (de) Fahrzeug-steuervorrichtung