DE2431379C3 - Datenverarbeitungseinrichtung - Google Patents

Datenverarbeitungseinrichtung

Info

Publication number
DE2431379C3
DE2431379C3 DE2431379A DE2431379A DE2431379C3 DE 2431379 C3 DE2431379 C3 DE 2431379C3 DE 2431379 A DE2431379 A DE 2431379A DE 2431379 A DE2431379 A DE 2431379A DE 2431379 C3 DE2431379 C3 DE 2431379C3
Authority
DE
Germany
Prior art keywords
information
memory
block
address
overlay
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.)
Expired
Application number
DE2431379A
Other languages
English (en)
Other versions
DE2431379A1 (de
DE2431379B2 (de
Inventor
Philip Ronald Brady
John Richard Eaton
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.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
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 Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Publication of DE2431379A1 publication Critical patent/DE2431379A1/de
Publication of DE2431379B2 publication Critical patent/DE2431379B2/de
Application granted granted Critical
Publication of DE2431379C3 publication Critical patent/DE2431379C3/de
Expired 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

l)ie 1 ihinl'ni;" ('-,-/irhi si- Ii aiii i-ine I )aiem crai hei ti.ngseini Ii htiiiig niU en- -m I |;iuptspci( hei. der liilnr nia;ionshlm ke zweier intrrsi hn-iilicher KalCf.MMcii a ul πι ι;: πι'. ιΊ'Ί-πι \ c lh ι;! nisiMaßl·.' kleinen, ^chncilcn Speicher und einer Vorrichtung, die bei Bedarf Informationsblöcke vom Hauptspeicher zum schnellen Speicher überträgt.
Es ist an sich bekannt, Datenverarbeitungseinrichtungen mit einem relativ kleinen, jedoch schnellen Speicher zu versehen, der zusätzlich zu dem Hauptspeicher des Systems vorgesehen ist, sowie eine Einrichtung zu verwenden, um Informationsblöcke bei Bedarf von dem Hauptspeicher an den kleineren, schnellen Speicher zu übertragen. Es wird in diesem Zusammenhang beispielsweise auf den Artikel von D. |. Conti »Concepts for Buffer Storage«, IEEE Computer Group News. Mär/ 19ö9, Seile 9 ff., verwiesen.
Aufgabe der Erfindung ist es, eine Einrichtung /um Übertragen von Informationsblöcken aus dem Hauptspeicher in den schnellen Speicher zu schaffen, der die unterschiedlichen Informationskategorien ingetrennten Bereichen des schnellen Speichers aufnimmt und der den Speicherraum im schnellen Speicher in wirksamer Weise verwendet, ohne dall Speicherraum verlorengeht.
Aufgabe
richtung der gatiungsgemaßen Art durch die Kombination folgender Merkmale gelöst:
a) ein erstes Hinweisregister nimmt die der letzten Adresse eines ersten Informationsstapels im schnellen Speicher vorhergehende Adresse auf. wobei der erste InformaHonsstapel an der höchsten Adresse im schnellen Speicher beginnend angeordnet ist.
b) ein zweites liinweisregister nimmt die der letzten Adresse eines zweiten Informationsstapels im schnellen Speicher folgende Adresse auf. wobei der zweite Informationsstapel .in der niedrigsten Adresse im schnellen Speicher beginnend angeordnet ist.
c) eine .Subtrahierschaltung subtrahiert den Inhalt der Hinweisregister, so daß die Menge an freiem .Speicherraum, die zwischen den beiden Informationsstapeln /ur Verfügung steht, berechnet wird.
d) jeder Informaiionsblock besitz! einen ihm zugeordneten (Ode, der angibt, welcher der beiden Kategorien die Information zugehört, sowie einen weiteren Code, der die Große des Blocks darstellt.
e) wenn em Ii'"rmationsblock \on dem Hauptspeicher auf den ii hnellen Speicher übertragen wenden soll, wird
el) falls tier Code anzeig' daß die Information der ersten Ka'.egone angeln ul. und die Subtrahier schaltung anzeigt, daß der freie Raum rroll genug ist. um den Block aufzunehmen, der Block an die Steile des schnellen Speichers übertragen, die ilurih den Inhalt des ersten I linweisregisters bestimmt ist. und der Inhalt des ersten I linweisregislers wird dann um einen Betrag verringert, der der Größe des übertragenen Blockes einspricht, und
c2) falls der Code an, eigt. daß die I rili um,it ion der zweiten Kategorie zugehört, iinu die Suhtra leerschaltung anzeigt, daß der freie Raum groß L1L1IlIIi' Kl. ülii ilen Block .tul/ui elimen. der Block ,in die Sieile de1, schnellen Speichers übertrafen, die lurch din Inhalt des /weilen I linwei .registers bestimm' im iitxi der Inhalt des /weiten I Imwcisny siers wird dann um eiiii ■:; Beirat/ erhöht, der der Groß'· des übertraf en-"ii Blockes entspricht
Eine derartige Daienverarbeiiungsemrichiung eignet sich besonders für eine Anwendung, bei der der Speicher ein Mikroprogrammspeicher isi und bei der die Infürmaiiun, die in diesen Speicher eingeschrieben wird, Blöcke eines Mirkoprogramms aufweist, welches , aus einem I lauptspeicher ausgelesen w ird.
Ein Ausführungsbeispiel der Erfindung λ ird im Zusammenhang mii den Figuren naher erläutert. Es zeigt
F i g. I ein schematisches Blockschaltbild eines Teiles n, einer Datenverarbeitungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung,
F i g. 2 ein schematisches Blockschaltbild eines anderen Teiles der Daienverarbeilungseinrichtung,
F i g. 3 — 5 die Darstellung eines Mikroprogramms fur ι , die Datenverarbeitungseinrichtung, und
F i g. 6 eine Abwandlung der Daienverarbeitungseinriehtung.
Wie in F i g. I dargestellt, besitzt die Einrichtung einen Hauptspeicher 10 zum Speichern von Daten- und .?u Programmaierial, einen schnellen .Speicher 1! sowie eine Mikroprogrammsteuereinheil 12. Beim Betneb der Datenverarbeitungseinrichtung ruft die Steuereinheit 12 Programmbefehle aus dem Hauptspeicher if/ ah und löst für icden Befehl eine entsprechende Folge \on .>-, Mikrobefehlen aus. die aus dem schnellen Speicher Il stammen, um den Befehl auszuführen. Eine derartige Mikroprogrammsteuerung einer Datenverarbeitungscmrichlung ist bekannt; die Ausbildung der Mikropro grammsteuereinheit 12 selbst ist daher nicht Gegen- m stand vorliegender Erfindung.
Der schnelle Speicher Il hai im Vergleich zum Hauptspeicher 10 eine verhältnismäßig geringe Grolle, jedoch eine sehr viel kürzere Zugriffszeil. so daß er für die Mikroprogrammeinheit einen praktisch sofortigen -,, Zugriff zu den Mikrobefehlen ergibt. Fun Bereich 13 des Mikropmgrammspeichcrs ist reserviert lurdas Basismikroprogramni. welches im folgenden als Grundprogramm bezeichnet wird und für die Basissteuerung der Einrichtung erforderlich ist. Dieses Programniaterial ist t,. ständig im Mikrospeicher gespeichert. Der übrige Bereich 14 dos Mikroprogrammspeichers kann Kopien einer Anzahl \on Blöcken zusätzlichen Mikroprogrammaterials speichern, welche gerade in der Limich lung benutzt werden. Ein Bereich des Hauptspeichers v, 10 dient als l>gänzungsspeiclier 'iir Aufnahme von Hauplkopien von allen Mikroprogrammblocken in der Einrii. lining, leder dieser Blocke kann indem Mikropro giammspeicher Il zur Verwendung durch die MikroprogrammL'inheit 12 übergeführt werden, falls dieser μ ι Block abgerufen wird. Der übergeführte Block wird im ungemeinen einen gewissen Teil der Information, die sich bereit«· im Mikrospeicher befindet, überdecket"., und im folgenden werden aus diesem Grund die M.kropro-{.'lammbloci.e als »Überlagerungen« bezeichnet. In v> IF ι £. I ist (Lo Hauplkopie im I lauptspeicher 10 einer derartigen Überlagerung als schraffierte Mäche 15 dargestellt, während <iie entsprechende Kopie im Mikronrogrammspeichcr Il eine schraffierte Fläche 16 darstellt >,o
Du· Vi'iW'.'ndiinp dieses Er^iin/tiiiesspeiehcrs für die ί llvrlageiungen nid die Verwendung derartiger I Iber lageriingen im Mikroprogrammspeicher ermöglich'. dall (Ilt Ijnnihtiiii;j ein sehr umfangreiches Mikropro IfriinMn zur Verfugung sieht, ohne daß es erforderlich isi. ,.·. einen großen mill 1CIiIK1IIeIt MikroprograntirspeicIuT Vorzilselu'ii. der sehr ti'iier wäre.
Bei der \ οι liegenden /-.iisfühnintrsform lassen sich ι' ·■ Mikruprogrammüburlagerungen in zwei Kaiegonen einteilen:
1. System-Überlagerungen:
Diese System-Überlagerungen sind Mikroprogrammblöcke, die eigenihch eine Erweiterung des Grundprogramms darslellen und auf diese Weise den Bereich und die Leistung der Einrichtung erweitern. Beispielsweise können sie liberwachungsfunktionen ausführen, wie z. B. das Umblättern von Seiten, oder für die Nachbildung einer anderen Maschine notwendig sein, die einen unterschiedlichen Operutiunscode und einen unterschiedlichen Svstemaufbau besitzt. Derartige Überlagerungen stammen \om Hersteller der Daten\e' arbeiiungseinnchtung.
2. Benutzer-Überlagerungen:
Diese Überlagerungen stellen Mikroprogramm.ül rialblöcke dar, die spezielle Aufgaben erfüllen. welche bei bestimmten Anwendungsfallen hau!::.-auftreten, /. B. QuadratwurzeH-ogramme. Ι·η .i! ^enieincn werden diese Ubcrhi^crLin^e!: \-*v Benutzer der Einrichtung erstellt, riic.it \o:n Hersteller eier Datenvcrarbeilungseinrit tiiu-iu Diese Einteilung is' bis zu einem gewisse: G,ad willkürlich und lediglich zur Vereinfachung vorgenommen.
Die Übertragung der Überlagerungen zwischen dem Hauptspeicher 10 und dem Mikropr-'igrammspucher It wird mit Hilfe eine· I !berlagerungstabellc 17 gesteuert. die ein Tl'iI des Hauptspeichers 10 und durch die beiden folgenden Register deliniert ist: Das Basis.iilrcsscnrcg!- ster 18 der Übcrlagerungsiabelle. welches die Adresse \'TBA des Beginns dc I berlagerungstabelle innerhalb des Hauptspeichers c:ithii'l. und das l.angenregi'-ter H der Überlagerungstabelle, weld es die Lange I 77 der Uberlagernngstabelle enthalt. Die Uheriugeriing^ahel-Ie 17 enthalt weiterhin emeri F.iiva^T Ίτ ι ede Überlagerung in der F.innchiung. leder Einirag e,:ih.ill:
1. Ein Feld \ /.. weklics <iic Lange der I '^erlager :ig definiert.il. h. die Anzahl von Mikrobefehlen in .ier Überlagerung. In der Regel haben naniiidi un'erschieillichc I iberlagerungen untersLhiediiche Längen.
2. Fiin FcIiI \ Λ. welches die S.artadresse ■.:■_·!' I !bcrlagerting im Mikroprogrammsneicher delinierl. Falls sich die I iberl.ti/erung nicht zufaliii: im Mikroprogriimm','-eicher h·-fm--.'el. w ird diese- ! eld auf Null gesetzt.
). Ein IcIiI I'Vl. welches die Stanadresse der llauptkopie der I'berlagerung im I lauptspeicher definiert.
I: ·'. derartiger labellenetnirag 20 für die l'berl.igeriingskopien 15 und 1(S ist in I ι g. 1 dargestellt, in der auch die Beziehui.j; zwischen den Feldern !■ I. \ A und \'S'\ sowie den I Iberlagertingen 15 unii lh durch Pfeile angezeigt ist.
Wenn das Programm der L'iirirhlung die Verwendung einer bestimmten Mikroprogi'iimmüberlagerung vorschreibt, sendei es einen Rtifhefehl iiu-i. der thi/ii führt, daß cmc (l'ieschreibende) Informat'oi. in ein Descri|itor Rcgislei 21 eingegeben wird. Dieses Regi- <·ler besitzt
cm einziges Bi. bzw. ei 'ic ei η ζ ige Bm ar/1 if er V 7. die Jen I Iberlagenmgsr. ρ definiert. Die Anzeige Yl- 0 stellt hu eini1 Benutzer-1 !bcrlagcnmg.
wahrend der Wen I / ihr1 Sssiem I :berlage
111 r τ ^r anzeigt.
2. Lm Feld VA/. welches d e Lage des I intrags. dt ■ sich auf die geforderte I iberlagerung bezieh;. innerhalb ilcr I Iherlagerungsiabelle u ledergiht
Der Inhalt des leides I/V wird eine! \ Vi »'Icichsein nchiting 22 zugeführt, die diesen lnli.ili mn der umi Kegister 14 stammenden Lange WV. der I'berlageningstabelle vergleicht. I alls der Wen V A/großer ist .ils der Wen V//.. stein fest, ilali ein fehlet sorliegen muß. Aus diesem Cirunde wird dann ein I lntcrbreehunussignal auf der Leitung 23 erzeugt, um einen Zugang /u einem geeigneten I Interbrechungsprogramm im (Irundprogramm 13 zu schaffen. Falls jedoch Γ/V nicht größer als V/7. ist. wird der Wert VA/einem Addierer 24 zugeführt, wo er dem Wert V77M aus dem Register 18 hin/uaddiert wird, damn die Adresse des Fmtrags in iler ianeiie i7 gebildet wird, Das Feiti V.'i lies F.intrags wird dann ausgelesen und /ur Adressierung ties Mikropro grammspeichers Il verwendet. IaIIs eine Kopie der geforderten I Iberlagerung tatsächlich gerade im Mikroprogramm enthalten ist. bewirkt dies einen Sprung der Überlagerung im Speicher an die Ausgangsposition Falls jedoch die geforderte Überlagerung sich nicht im Mikroprogrammspeicher befindet, wird der Wert son ν.Λ /u Null, so dal.! tier Zugriff /um Mikroprogrammspeicher an seiner »Null Adressenposition" erfolgt. Diese Position enthalt einen Sprungbefehl, der einen Sprung auf ein spezielles I iherlagerungsprogramm ergibt, welches sich im (iriindprogramir. IJ befindet, und welches die Übertragung einer Kopie der geforderten Überlagerung scm dem Hauptspeicher IO in den Mikrospeichcr 11 steuert.
Wie in F i g. 2 dargestellt, gibt das Überlagerungsprogramm Überlagerungen son dem Hauptspeicher in zwei Stapel 25 und 28 im Mikrospeieher. und zwar entsprechend der jeweiligen Überlagerungsart. Überlagerungen in der Hinrichtung werden in den Stapel 25. der sich nach oben innerhalb des Mikroprogramnispeichers (d. h. in Richtung svachsender Adressenwerte) von einer Basisadresse S7?prstrerlit i-i-trphpn Mnrm:ilpru.pise entspricht diese Basisadresse der ersten freien Adresse, die auf das Grundprogramm folgt. Benutzerl'beriagerungen werden in den Stapel 26 eingebracht, welcher sich nach unten im Mikroprogrammspeicher von einer Basisadresse UB erstreckt, die die obere Begrenzung des Speichers sein kann. Werden nun den beiden Stapeln Überlagerungen hinzugefügt, so wachsen sie aufeinander /u. bis sie sich schließlich treffen. Wenn dies der Ft" is'., besitzt der Stapel 25 in der Ssstem-Überlagerung Vorrang und kann den Stapel 26 für die Benutzer-Überlagerungen überschreiben, wie dies im einzelnen noch beschrieben svird.
Das Überlagerungsprogramm benutzt einen Satz von Registern 27. die beispielsweise in den ersten Positionen der Überlagerungstabelle 17 angeordnet sein können (Fig. 1). Diese Register enthalten die folgenden Werte:
UB — dir Basisadresse des Siapels 2S für die Benutzer-Überlagerungen.
UP — eine Hinweisinformation auf die erste freie Adresse vor dem Stapel der Benutzer-Überlagerung.
.SP — eine Hinweisinformation über die erste freie Adresse vor der ersten freien Steile des Stapels 25 für die System-Überlagerung.
SB — die Basisadresse des Stapels für die System-Überlagerung.
S / 11 u- ( Ii .,ι in t z.i hl ilci S\ si rin I herla irei; ι hlvh 11
drm cntsjn eihcinlen Stapel.
Die lie/iehiirigen zw isch· η <! lesen Registern und de ι belrellenden Stellen im Mikmprogi ammspeu her suii durch Pfeile in I ι g. 2 angezeigt
Die Inhalte der Kegister Γ'/'und .SV werden in ι ι η ei Sublrahk schaltung 28 subtrahiert und mn I erhöht (.luiiiil ein Wert \ -- Vl' .SI' ( I erhallen ssird. dei en " M,ill fur den Speu herraum darstellt, welcher ziin !anschreiben weilerer I lberl;i|!eriingcn zwischen der ersten freien Stellen der beiden Stapel 25 und 26 /in Verfugung steht.
Der erste Schrill des I Iberlagcningsprogramnr
' ' besieht darm, den Inhalt ties Feldes V/im Register 2I (I ι g. I) zu prüfen, um den Überlagcrungstsp festzustellen. Falls W = O. also eine Benutzer 1 'berlagerung angezeigt wird, wird tier teil des Wberlagerungspro grainms. svie in I ι g. 3 gezeigl. durchgeführt, wahrend
■'" bei W=- I. d.h. bei einer System-Überlagerung, dei Teil des I Iberlagerungsprogramms. der in I ι g. J gezeigt ist. ausgeführt wird.
Wie in Fig. 3 dargestellt, wird im I alle einer Benutzer-Überlagerung der Wert von I /. ties äugenblicklichen Adresseneintrags m tier Überlagerungstabelle 17 mit dem Wen Λ tier Schaltung 28 verglichen (Kästchen 30). um festzustellen, ob zwischen ilen eisten freien Sicilen tier Stapel im Mikroprogrammspeicher genügend Platz vorhanden ist. um die neue Uherlage-
iM rung aufzunehmen, Falls tier Wert Yl. kiemer otlei gleich dem Wert V i:>t. kann tlie Überlagerung sofort in den Pliit/en VP- Yl.+ I bis UP des. Mikroprogramm-Speichers gespeichert werden, so daß der Stapel fur die Benut/erlJberlagcrungen in Abwärtsrichtung /u-
!l nimmt, /.ur gleichen Zeit wird auch die Überl.igerungstabclle 17 auf den neusten Stand gebracht, und zwar dadurch, daß die Startadresse ///'- \ I. ->- I der neuen Liberlagerung in d.is Feld ν.Λ eingeschrieben wird. Schließlich svird auch das Register / '/'durch Sublrahie-
■'■" ren des Wertes 17. vom Inhalt dieses Registers auf den
neusten Stand gebracht (Kästchen 32). Hierdurch wird Γ
-. —c..r
,^ Γ.-.- λ;λγλ.
Wird nun jedoch festgestellt, daß der Wen 17 großer ist als der Wert Λ. wird die neue Überlagerung keinen
■·"> Platz in dem zur Verfügung stehenden Speicherraun finden. LJm Platz für die neue Überlagerung zu schaffen, sverden sämtliche gerade im Stapel 26 befindlichen Benutzer-Überlagerungen entfernt (Kästchen 33). Bei der Entfernung jeder einzelnen Überlagerung ssird der
"'" entsprechende Eintrag in der Tabelle 17 in der Weise auf den neuesten Stand gebracht, daß das Feld \ Λ auf Null gesetzt ss ird. um anzuzeigen, daß die Überlagerung nicht mehr im Mikroprogrammspeicher enthalten ist. Die Hinweisinformation UPwWd dann dadurch, daß sie
"»"» gleich L'flgesetzt wird, ebenfalls auf den neuesten Stand gebracht (Kästchen 34). Anschließend svird der Wer1 VL nochmals mit dem Wert X verglichen (Kästchen 35). Falls der Wert VL immer noch zu groß ist. obwohl sämtliche Benutzer-Überlagerungen entfernt wurden.
w kann durch das Überlagerungsprogramm nichts mehr unternommen werden, und es wird ein Unterbrechungssignal erzeugt. Wenn VL jedoch jetzt kleiner oder gleich X ist. kann das Überlagerungsprogramm beendet sverden. wie dies bereits beschrieben wurde (Kästchen
o-> 31 und 32).
Wie in Fig. 4 gezeigt, wird im Falle einer System-Überlagerung der Wert VL wiederum mit dem Wert V (Kästchen 40) verglichen, um festzustellen, ob
s,/1 . W I ,!·.·
c ·! ■ ^i , Ι,ι'( Δ<.
!.'CICircud Pill/ till ulcsi I iH'',i;rCi
I ail I / klcmei odd gleiili \ ι ■' -,'.', ,nigcni'lii k 1 h h in Pnsiin 111Cn \i' !> M ik 1 opi ogi a ium ,spciclici s gchi.t. M Si.ipci fin ιίίι" SvMeiii ' hcil.ii'o; .·;;νΓ η.Ii '" ■■■' : via. hsi /111 glen hen /eil »ml Δ'·, labv'le 17 .!;ϋι' I ι lisch ι c iIh'M di'i Slar! ad; cssi1 S/' Δ\ ι η ι mc η I he ι 1.1 ;'c ιι·η;" :ι das I eld \ \ .ml Δα\ neuesten Si.md gebi.uhl Schließlich '.Μril dun h llin/ulugen .Ir- Wciics W /.i di'ci Wei! des Ree.isleis S/' ,im·. Ii iiicscs Kcl'isui bei ieln ig I und del Wert .S / (die /a hi del Ίν ■■ ι cm I I1Ci I.!gerungen 1111 Stapel) w 11 d um I \cigioHcii I hermit isi Δ.ι·· I 'berlagi rungsprogramm Im diesen I all beendet
lsi \ I großer als V p.iHl die neue Svsicni I berlagc < :ii!" nicht 111 den vorhandenen Raum Bei der ge/ciglen ■\ustuhi iiiigsfoini hat iedoch dei Siapel Im die Svsiem überlagerung Vorrang gegenüber dem Stapel Im die llenut/er I Ibcrlagerungen. so dall sämtliche !K1M'.!'..".'!1 '. ;!■".·■■!:!f.".1'■"η»'.''i n'1 Si.πι,·\ ?h .'nil,τηι u ,·: ,Ι.·ιι (kästchen i4). um I'la!/ fur die neue S\ stein I !hei lage rung /11 schaffen
Heini I nlfeinen ieder I 'bei I. iget ung wird ihr cntNprci henilcr l.inlrag in der tabelle 17 dadurch aiii den i'cuesten Stand gebracht. <.\,\ΙΊ das Feld \ Λ aiii Null gesei/t w ird Die I linw eisinform.ition 1 I' w 11 d dann aiii den neuesten Stand gebracht (Kästchen 44). indem sie gleich I 7i gesetzt wird. Anschließend wird der Wen I / abermals nut \ \ erglichen (Kastehen 45) I alls W trol/ der Entfernung aller Benutzer!'bcrlagerungen immer noch /u groß ist. w ird ein I mterhre. hiingssignal er/eng', lsi 'er Wert W. iedoch iel/t kleiner oder gleich V so kann das I Iberlagerungsprogranim wie vorher duichge führt werden (Kästchen 41 und 42)
Aus vorstehender Beschreibung ergibt sich, daß Beniii/er-l Iberlagerungen automatisch durch das ι bei lagerungsprogramm entfernt werden, wenn der von diesen Überlagerungen eingenommene Raum entweder ftir neue Bcniit/er-Überlagerungen oder neue Svstern I ί berlagerungen benötigt wird. Sv stem-I berlagerungen können andererseits nur durch einen besonderen Befehl ■■ ■■ »Lösche System-Überlagerungen« entfernt werden, wobei dieser Befehl ein entsprechendes Maschinenprogramm im (irundprogramm des Mikroprogramms einleitet. )ede gewünschte Λη/ahl von System-Überlagerungen kann auf diese Weise entfernt werden, und ; ■ /war auf der Basis »letzte hinein, erste hinaus«, wobei die /u entfernende Zahl R durch den Befehl festgelegt ist.
I i g. 5 zeigt ein Standard-Mikroprogramm zur Ausführung des Befehls »Lösche System-Überlagerungen«. Der erste Schritt dieses Programms besteht in einem Vergleich (Kästchen 51) der Werte R{ Anzahl der 711 entfernenden System-Überlagerungen) und .ST (Anzahl der System-Überlagerungen im Mikroprogrammspeicher). Falls R größer ist als ST. liegt "· sicherlich ein Fehler vor. und es wird ein entsprechendes Unterbrechungssignal erzeugt. Sonst besteht der nächste Schritt darin, zu überprüfen, ob R gleich Null ist (Kästchen 52). Falls R nicht gleich Null ist. wird im nächsten Schritt (Kästchen 53) eine System-Überlage- -n rung von der ersten freien Stelle des Stapels 25 entfernt und der entsprechende Eintrag in der Überlagerungstabelle 17 dadurch berichtigt, daß das Feld V'4 nach Null gesetzt wird. Anschließend werden die Register 27 auf den neuesten Stand gebracht (Kästchen 54). indem die ~~· Länge Vl. der entfernten Überlagerung von SF subtrahiert und der Wert STum 1 verringert wird. Der Wert von R wird ebenfalls um 1 verringert. Anschheßend r■·■>!,:■ cmc ]'-■■■ Oüh· r.r.y /um k;r.h U-. ■· >2. iirv /■!
il·. 1 j>- ulcn 1 'h l\ ■ μι'ίΊιι \11II im lsi du uri I all ^; du· ;! liM , |el Ί. lic 'Ml/.lhl Mill SlMeIIl I bl'l'l.IgI I UHl1CI ι cn!1· ··>! und il.i1- 1'1"1!I1HIiIi! ι1-' beendi ' I .ilK Λ' im Iu rleii !: \uü IM wird die Schlcik ϊ!. >4. 1^ so !.im.-.-λ ι. Δ\'< !ί' 'Ί. h'v Λ' ^chlicHlii Ii den W eil Null ei' \ h; Iu 1
1 s können Vorkehrungen uelrotlen scm um du It.iM'-adiv.'.o s/< zu \ er,indem, indzwai auli'i und cmic-•c: .·' !cn Beleiils. damn ein odei mehrere S\si. m I hc 11 ,ι 1' c π ι M ^ - c 11 /11IlUfM' so heli.uidell weiden, als seien sie lcil des ( nundproi'i amins (/.Ii weiden '·ί d.ii.in L'eliniilei 1. dall sie aus dem Sl.ipel eiillci ι werden) \S elin die II. ims. idresse . S/i geändert wird. muH aiii Ii der Weil inn S/ ge,111 de rl w erden.
Iu I igt1 isl cmc \bandening dei scm beschnebencii I 1 ;inein 11 ng da 1 gcnielh. w obei eine drille Kategone \oti I bei lagerungeii \oigesehen is: Diese dntle Kategorie kann beispielsweise I nistellungs I Ibei iageningen aiii weisen, die z. Ii. /111 Nachbildung einer andeieii Maschine mim unterschiedlichem Befehlscode und unterschiedlichem S\stemaufbaii dienen und die \ orsic hend als I eil Δ^·ν Svslcm I Iberlagei ungen betrachlei wurden. Hei dei in I 1 g. b gezeigten Abwandlung ilei I rfiiidung werden iliese Überlagerungen in einen dritten Stapel M im Mikroprograinmspeicher einge schrieben, wobei der Stapel von der Basisadresse I Il ausgeln. die über ilei Basisadresse ί 1H des Slapels Im die Benutzer i'bellagerungen hegt, unit nach innen gegen die anderen beiden Stapel zunimmt. Vor/iigswcise besitzt der Stapel hl gegenüber dem Stapel 2b und auch gegenüber dem Stapel 25 Vorrang, so dal! er die beiden anderen Stapel überschreiben kann. Ls wird ledoch nicht zugelassen, dall der Stapel M das ('lundprogramm oder aber System-Überlagerungen, die \oruhergehcnd wie zum (irundprograinm gehörig behandelt werden, unterhalb der Adresse SIi über sehreiben kann.
Im Salz 27 sind zwei zusätzliche Register vorgesehen, um die Basisadresse I II des Stapels 61 sowie eine I linweisadresse I Γ auf der ersten freien Stelle des Stapels 61 zu ballen Der Descriptor im Register 2'. (I ig I) muß bei dieser Ausfiihrungsforni ein I eld W mit zwei tiinarsteiien haben, um drei umciseiiieiiiieiie I Iberlagerungsnpen identifizieren zu können, wobei das I Iberlagerungsprogramm so erweitert werden muß. daß es das Füllen ties dritten Slapels mn den Umstellungsüberiagerungen ausfuhren kann. Weiterhin muß ein l.oschprogramm ähnlich dem nach Fi g. 5 vorgesehen werden, um die dem Stapel 61 zugeordneten I'nistcllungs-Überlagerungen /11 löschen.
Bei einer weiteren Abwandlung der vorbeschriebeicn Hinrichtung sind zwei getrennte Datcnverarbei- : ingseinhciten mit einem gemeinsamen Mikroprogrammspeicher 11 vorhanden, wobei jede Datenverarbeitungseinheit einem bestimmten Bereich des Mikroprogrammspeichers zugeordnet ist. in welchem das Mikroprogramm für diese Einheit gespeichert wird. Beide Datenverarbeitungseinheiten haben auch den Hauptspeicher gemeinsam. In diesem Fall ist die Überlagerungstabelle 17 erweitert, so daß jeder Eintrag nunmehr einen Satz von Feldern VU VA. VSA für eine Überlagerung, die sich auf die eine Datenverarbeitungseinheit bezieht, und außerdem einen gleichartigen Satz von Feldern für eine Überlagerung, die sich auf die andere Datenverarbeitungseinheit bezieht, enthält. Weiterhin müssen zwei Säize von Registern 27 vorgesehen werden, und zwar jeweils cm Satz für jede Datenverarbeitungseinheit.
Obwohl \οι1κ·μΊΊΗΐΐ' I rlmihinf im /ιγ.,ιμιπη'μΙι,ιμ!·
1111 <Ι('Γ t 'IhtIül'lTIIN L' \ oil M lk Π >pi'i IL'I .1 Μ1ΠΗ Γ '[I L'l M' "111 Mikropn>fM';ininis|H'irlKT hcschiiclHMi wiirJi·. im sir illt'rmi'in iibi'i'.ill iloM iiMWL'iulb.ir. un ImIoi ιιι.ιιιοικίί 'UrKT oJiT inrhrffi'!' K ;ιΙθ'ιιπι·η in ιίιηίι Spn- ίκ·ι . in^'t-'sthi κΊηίι u ei ιΐί'η
I ücr/u .' Hlali /cnhniiiu'iii

Claims (1)

  1. Patentanspruch:
    Datenverarbeitungseinrii-htung mit einem Hauptspeicher, der Informationsblöcke zweier unterschiedlicher Kategorien aufnimmt, einem verhältnismäßig kleinen, schnellen Speicher und einer Vorrichtung, die bei Bedarf Informationsblöcke vom Hauptspeicher zum schnellen Speicher überträgt, gekennzeichnet durch die Kombination folgender Merkmale:
    a) ein erstes Hinweisregister (UP) nimmt die der letzten Adresse eines ersten Informationsstapels (26) im schnellen Speicher (11) vorhergehende Adresse auf, wobei der erste Informationsstapel an der höchsten Adresse im schnellen Speicher beginnend angeordnet ist,
    b) ein zweites Hinweisregister (SP) nimmt die der letzten Adresse eines zweiten Informationsstapels (25) im schnellen Speicher (11) folgende Adrema auf, wobei der /weite Informationsstape! ar: der niedrigsten Adresse im schnellen Speicher beginnend angeordnet ist.
    c) eine Subtrahierschaltung (28) subtrahiert den Inhalt der Hinweisregister (UP. SP). so daß die Menge an freiem Speicherraum (X), die zwischen den beiden Inlormationssiapein (25, 26) zur Verfügung steht, berechnet wird.
    (I) ieder informationsblock besitzt einen ihm zugeordneten Code (\ T). der angibt, welcher der beiden Kategorien die Information zugehört, s' wie einen weiteren Code (Vl.) der die Größe des Blocks darstellt.
    c) wenn ein Informationsbiock von dem Hauptspeicher (10) auf uer. schnellen Speicher (II) übertragen werden soll, wie .1
    el) falls der Code (VT) anzeigt, daß die Information der ersten Kategorie ange hört. Lind die Subtrahierschaltiing (28) anzeigt, dall der freie Kaum (Ay groll genug ist. um den Block aufzunehmen, der Block ,in die Stelle des schnellen Speichers (II) übertragen, die durch oen Inhalt des ersten Hinweisregisters (UP) bestimmt ist. und der Inhalt des ersten I liinveisregisiers (I 'P) wird dann um einen Beirag verringert, der der Große 'W./des übertragenen Blockes entspricht, und
    c2) falls der (ode (VT) anzeigt, daß die InlorniatK'ii der /weiten Kaiegone zugehört, und die Subtrahierschaliung (2X) anzeigt, dal! der freie Raum 'Ay groll genug lsi, um den Block aufzunehmen, der HIock an die Stelle des schnellen Speichu ι übertrügen, die durch den Inhalt lies zueilen Hmweisregisicis (SP)bestimmt ist und der Inhalt des zweiten 1 linweisregisiers (SP) wird dann um einen Betrag erhöht, der der (irufte (Vl.)dc^ übertragenen Blockes entspricht.
DE2431379A 1973-07-18 1974-06-29 Datenverarbeitungseinrichtung Expired DE2431379C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB3421573A GB1441816A (en) 1973-07-18 1973-07-18 Electronic digital data processing systems

Publications (3)

Publication Number Publication Date
DE2431379A1 DE2431379A1 (de) 1975-02-06
DE2431379B2 DE2431379B2 (de) 1980-02-14
DE2431379C3 true DE2431379C3 (de) 1980-10-09

Family

ID=10362830

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2431379A Expired DE2431379C3 (de) 1973-07-18 1974-06-29 Datenverarbeitungseinrichtung

Country Status (7)

Country Link
US (1) US3924245A (de)
JP (1) JPS5612902B2 (de)
DE (1) DE2431379C3 (de)
FR (1) FR2238188B1 (de)
GB (1) GB1441816A (de)
IN (1) IN140930B (de)
PL (1) PL115020B1 (de)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4369494A (en) * 1974-12-09 1983-01-18 Compagnie Honeywell Bull Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
SE414087B (sv) * 1977-02-28 1980-07-07 Ellemtel Utvecklings Ab Anordning i ett datorsystem vid utsendning av signaler fran en processor till en eller flera andra processorer varvid prioriterade signaler sends direkt utan tidsfordrojning och oprioriterade signalers ordningsfoljd ...
US4251861A (en) * 1978-10-27 1981-02-17 Mago Gyula A Cellular network of processors
US4358862A (en) * 1979-01-22 1982-11-16 Thermasol, Ltd. Connector assembly for whirlpool system
US4445170A (en) * 1981-03-19 1984-04-24 Zilog, Inc. Computer segmented memory management technique wherein two expandable memory portions are contained within a single segment
US4872109A (en) * 1983-09-29 1989-10-03 Tandem Computers Incorporated Enhanced CPU return address stack
US4852127A (en) * 1985-03-22 1989-07-25 American Telephone And Telegraph Company, At&T Bell Laboratories Universal protocol data receiver
CA1270338A (en) * 1985-09-11 1990-06-12 Akihiko Hoshino Data processing system for processing units having different throughputs
JPS6394337A (ja) * 1986-10-09 1988-04-25 Hitachi Ltd 論理型デ−タ処理装置
US4914653A (en) * 1986-12-22 1990-04-03 American Telephone And Telegraph Company Inter-processor communication protocol
US4899307A (en) * 1987-04-10 1990-02-06 Tandem Computers Incorporated Stack with unary encoded stack pointer
US4807111A (en) * 1987-06-19 1989-02-21 International Business Machines Corporation Dynamic queueing method
US5327542A (en) * 1987-09-30 1994-07-05 Mitsubishi Denki Kabushiki Kaisha Data processor implementing a two's complement addressing technique
JPH0769812B2 (ja) * 1987-12-29 1995-07-31 富士通株式会社 データ処理装置
JPH01197895A (ja) * 1988-02-03 1989-08-09 Toshiba Corp 携帯可能電子装置のメモリ登録方式
US5027330A (en) * 1988-12-30 1991-06-25 At&T Bell Laboratories FIFO memory arrangement including a memory location fill indication
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
US5414826A (en) * 1990-01-31 1995-05-09 Hewlett-Packard Company System and method for memory management in microcomputer
JP2703417B2 (ja) * 1991-04-05 1998-01-26 富士通株式会社 受信バッファ
US5857088A (en) * 1991-10-24 1999-01-05 Intel Corporation System for configuring memory space for storing single decoder table, reconfiguring same space for storing plurality of decoder tables, and selecting one configuration based on encoding scheme
EP0572696A1 (de) * 1992-06-03 1993-12-08 International Business Machines Corporation Speicherplatzverwaltung für eine Vielzahl von Speicherplatzanforderungen in einem Arbeitsspeicher eines Computers
US5381528A (en) * 1992-10-15 1995-01-10 Maxtor Corporation Demand allocation of read/write buffer partitions favoring sequential read cache
US5566321A (en) * 1993-12-13 1996-10-15 Cray Research, Inc. Method of managing distributed memory within a massively parallel processing system
JPH07175698A (ja) * 1993-12-17 1995-07-14 Fujitsu Ltd ファイルシステム
US5588126A (en) * 1993-12-30 1996-12-24 Intel Corporation Methods and apparatus for fordwarding buffered store data on an out-of-order execution computer system
US5673396A (en) * 1994-12-16 1997-09-30 Motorola, Inc. Adjustable depth/width FIFO buffer for variable width data transfers
GB2297399B (en) * 1995-01-18 1999-11-03 Nokia Mobile Phones Ltd Electronic data storage
US5805930A (en) * 1995-05-15 1998-09-08 Nvidia Corporation System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs
US6112019A (en) * 1995-06-12 2000-08-29 Georgia Tech Research Corp. Distributed instruction queue
JP2850808B2 (ja) * 1995-10-31 1999-01-27 日本電気株式会社 データ処理装置およびデータ処理方法
EP0976034B1 (de) * 1996-01-24 2005-10-19 Sun Microsystems, Inc. Verfahren und vorrichtung zur stapel-cachespeicherung
US6038643A (en) * 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
US5907717A (en) * 1996-02-23 1999-05-25 Lsi Logic Corporation Cross-connected memory system for allocating pool buffers in each frame buffer and providing addresses thereof
US6289418B1 (en) 1997-03-31 2001-09-11 Sun Microsystems, Inc. Address pipelined stack caching method
US6167488A (en) * 1997-03-31 2000-12-26 Sun Microsystems, Inc. Stack caching circuit with overflow/underflow unit
US6131144A (en) * 1997-04-01 2000-10-10 Sun Microsystems, Inc. Stack caching method with overflow/underflow control using pointers
US5903899A (en) * 1997-04-23 1999-05-11 Sun Microsystems, Inc. System and method for assisting exact Garbage collection by segregating the contents of a stack into sub stacks
US6138210A (en) * 1997-06-23 2000-10-24 Sun Microsystems, Inc. Multi-stack memory architecture
US6067602A (en) * 1997-06-23 2000-05-23 Sun Microsystems, Inc. Multi-stack-caching memory architecture
US6058457A (en) * 1997-06-23 2000-05-02 Sun Microsystems, Inc. Method for storing method frames in multiple stacks
US6092152A (en) * 1997-06-23 2000-07-18 Sun Microsystems, Inc. Method for stack-caching method frames
US6237086B1 (en) 1998-04-22 2001-05-22 Sun Microsystems, Inc. 1 Method to prevent pipeline stalls in superscalar stack based computing systems
US6275903B1 (en) 1998-04-22 2001-08-14 Sun Microsystems, Inc. Stack cache miss handling
US6170050B1 (en) 1998-04-22 2001-01-02 Sun Microsystems, Inc. Length decoder for variable length data
US6108768A (en) * 1998-04-22 2000-08-22 Sun Microsystems, Inc. Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system
US6374314B1 (en) * 1998-09-28 2002-04-16 Raytheon Company Method for managing storage of data by storing buffer pointers of data comprising a sequence of frames in a memory location different from a memory location for pointers of data not comprising a sequence of frames
US6317415B1 (en) 1998-09-28 2001-11-13 Raytheon Company Method and system for communicating information in a network
US6381647B1 (en) 1998-09-28 2002-04-30 Raytheon Company Method and system for scheduling network communication
US6266702B1 (en) 1998-09-28 2001-07-24 Raytheon Company Method and apparatus to insert and extract data from a plurality of slots of data frames by using access table to identify network nodes and their slots for insertion and extraction data
US6912716B1 (en) * 1999-11-05 2005-06-28 Agere Systems Inc. Maximized data space in shared memory between processors
FR2818770A1 (fr) * 2000-12-21 2002-06-28 Bull Cp8 Procede de gestion optimisee de l'allocation de memoire d'un systeme embarque et systeme embarque correspondant
US7363475B2 (en) * 2004-04-19 2008-04-22 Via Technologies, Inc. Managing registers in a processor to emulate a portion of a stack
JP2006113648A (ja) * 2004-10-12 2006-04-27 Hitachi Ltd ディスクアレイ装置
US7797505B2 (en) * 2005-04-25 2010-09-14 Hewlett-Packard Development Company, L.P. Program stack handling
JP4808016B2 (ja) * 2005-12-20 2011-11-02 日立オートモティブシステムズ株式会社 マイクロコンピュータの初期化装置および車載用制御装置
US8209526B2 (en) * 2008-09-30 2012-06-26 General Electric Company Method and systems for restarting a flight control system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3461434A (en) * 1967-10-02 1969-08-12 Burroughs Corp Stack mechanism having multiple display registers
BE758027R (fr) * 1970-02-16 1971-04-26 Burroughs Corp Circuit de manipulation d'adresses pour un calculateur
US3868644A (en) * 1973-06-26 1975-02-25 Ibm Stack mechanism for a data processor

Also Published As

Publication number Publication date
JPS5612902B2 (de) 1981-03-25
GB1441816A (en) 1976-07-07
DE2431379A1 (de) 1975-02-06
FR2238188B1 (de) 1982-11-26
JPS5043844A (de) 1975-04-19
DE2431379B2 (de) 1980-02-14
PL115020B1 (en) 1981-03-31
US3924245A (en) 1975-12-02
FR2238188A1 (de) 1975-02-14
IN140930B (de) 1977-01-01

Similar Documents

Publication Publication Date Title
DE2431379C3 (de) Datenverarbeitungseinrichtung
DE2645537C2 (de)
DE69427544T2 (de) Programmierbarer Kontroller und Verfahren zur Durchführung von SFC-Programmen mit Hilfe eines programmierbaren Kontrollers
DE69818103T2 (de) Anrufmechanismus für statisch und dynamisch verknüpfte funktionen in einer objektorientierten steuerung unter verwendung von heterogenen entwicklungsumgebungen
DE1952374A1 (de) Speicheradressiervorrichtung fuer ein informationsverarbeitendes System
DE2303596A1 (de) Datenverarbeitungsanordnung
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE2422732C2 (de) Hierarchische Speicheranordnung
DE2718110A1 (de) Datenverarbeitungseinheit
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
DE2233193C3 (de) Stapel-Speichersystem
DE69031361T2 (de) Taktsignalgeneratorsystem
DE1424747A1 (de) Datenverarbeitungsanlage
DE2558417A1 (de) Datenverarbeitungssystem
DE1267886B (de) Datenbearbeitungsanlage
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
DE3025167C2 (de) Datenverarbeitungseinrichtung
DE2610428C3 (de) Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher
EP0010135A1 (de) Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen
DE2717244C2 (de)
DE2419522A1 (de) Verfahren und anordnung zur unterteilung eines oder mehrerer nicht benutzter bereiche eines mit einem rechner verbundenen speichers
DE69323834T2 (de) Verfahren zur Synthetisierung einer Wissensbank und dieses gebrauchender Fuzzy-Kontroller
DE2546354A1 (de) Mehrprogramm-dv-system
DE3782546T2 (de) Datenpaketverkuerzungsverfahren und -vorrichtung.
DE1774866C3 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenen, gesuchten Information

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee