DE68924109T2 - Verfahren und System für die Überwachung der Anzahl von freien Puffern. - Google Patents
Verfahren und System für die Überwachung der Anzahl von freien Puffern.Info
- Publication number
- DE68924109T2 DE68924109T2 DE68924109T DE68924109T DE68924109T2 DE 68924109 T2 DE68924109 T2 DE 68924109T2 DE 68924109 T DE68924109 T DE 68924109T DE 68924109 T DE68924109 T DE 68924109T DE 68924109 T2 DE68924109 T2 DE 68924109T2
- Authority
- DE
- Germany
- Prior art keywords
- signal
- buffers
- upper limit
- limit value
- lower limit
- 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 - Fee Related
Links
- 239000000872 buffer Substances 0.000 title claims description 77
- 238000000034 method Methods 0.000 title claims description 15
- 238000012544 monitoring process Methods 0.000 title claims description 12
- 230000004044 response Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
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)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Time-Division Multiplex Systems (AREA)
Description
- Diese Erfindung bezieht sich auf ein Pufferüberwachungssystem und insbesondere ein Peripherie- Pufferüberwachungssystem, das an einen Mikrocomputer gekoppelt ist, der mindestens einen Unterbrechungsport aufweist, der die Puffer häufig erfassen/freigeben muß. Ein Stand der Technik System US-A- 3 665 416 von Hikosata et al. beschreibt ein Echtzeit-Verarbeitungssystem, das Pufferspeicherung aufweist, und in dein der Fluß der Eingabeinformation in einen Puffer durch Vergleichen der Werte eines einspeichernden Adressenzählers und eines Grenzwertzählers gesteuert wird, und durch Vergleichen eines auspeichernden Adressenzählers und eines Untergrenzwertzählers und Generieren eines von den Vergleichen abhängigen Koinzidenzsignals generiert wird.
- Eine Steuermethode des Typs mit aufgelisteter (I/O) Eingabe-Ausgabe oder speicherorientierte (I/O) Eingabe-Ausgabe-Steuermethode wird in einem Mikrocomputersystem verwendet. Einer solchen Methode gemäß, ist jedes periphere Eingabe-Ausgabeelement einem entsprechenden speziellen Bereich in einem Speicherfeld als sein eigener Puffer zugeordnet, und Zugriff durch den Mikrocomputer geschieht auf dieselbe Weise wie bei einer normalen Speicheradresse.
- Gibt es viele (I/O) Eingabe-Ausgabe-Einrichtungen zu handhaben, und Speicherbereiche eines Speicherfeldes sind als ihre Puffer zugeordnet, so ist ein spezielles Puffersteuerelement zur Steuerung deren Priorität oder Puffernummer erforderlich, um einen Mangel an verfügbaren Speicherbereichen zu vermeiden und/oder um den gesamten Durchsatz des Systems zu steuern.
- Es wird jetzt auf die Abbildung 1 der beiliegenden Zeichnungen Bezug genommen, wobei es sich um ein allgemeines Blockdiagramm eines herkömmlichen Puffersteuersysterns handelt, das an ein Mikrocomputersystem gekoppelt ist, das in einem Datenübertragungs-/Empfangssystem verwendet wird.
- Bezugnehmend auf die Abbildung 1 ist dort ein Puffersteuerelement (BC) gezeigt, das funktionsmäßig an periphere (I/O) Eingabe-Ausgabe-Einrichtungen 12 zur Steuerung ihrer Puffer angeschlossen ist, die in einem (nicht gezeigten) Speicher zugeordnet sind. Das Puffersteuerelement 10 kann die Anzahl der verfügbaren Puffer und Adressen der Puffer speichern, und gibt ein digitales Puffernummernsignal BN aus, das die Anzahl verfügbarer Puffer darstellt. Ein (I/O) Eingabe-Ausgabe-Steuerelement (hiernach, IOC) 14 zur Steuerung der I/O-Einrichtungen, empfängt das Signal BN (Pufferzahl) und schreibt, falls aufgefordert, vorbestimmte Daten in den Puffer und liest Daten aus dem Puffer. Eine Busleitung 16, in Abbildung 1 in teilweise ausgelassener Form gezeigt, verbindet Hauptelemente wie z.B. einen Nurlesespeicher (ROM, nicht gezeigt), einen Direktzugriffsspeicher (RAM, nicht gezeigt) miteinander und mit einer zentralen Verarbeitungseinheit 18 (hiernach, CPU), die für insgesamte Steuerung des Systems sorgt.
- In diesem System überwacht das Puffersteuerelement (BC) den Status der Eingabe-Ausgabe-Einrichtungen 12. Wenn das Puffersteuerelement (BC) eine Aufforderung von einer Eingabe- Ausgabe-Einrichtung 12 erhält, ordnet das Puffersteuerelement (BC) 10 die Eingabe-Ausgabe-Einrichtung einem verfügbaren Puffer zu, subtrahiert 1 von der vorher gespeicherten verfügbaren Pufferzahl, die ursprünglich von der CPU 18 eingestellt wurde, und schreibt die Adressen der verfügbaren Puffer neu. Andererseits, wenn eine andere Eingabe-Ausgabe- Einrichtung ihren Puffer freigibt, addiert das Puffersteuerelement 10 eine 1 zur verfügbaren Pufferzahl.
- Was die Funktion der CPU 18 anbelangt, wann immer die CPU 18 die Zahl der verfügbaren Puffer wissen muß, muß sie die Zahl aus dem Puffersteuerelement 10 über den ICO 14, unter Verwendung eines zweckdienlichen und konventionellen ("READ") Leseoperation, lesen. Daher, wenn die CPU 18 eine spezielle Funktion, wie z.B. Steuerung eines Telefonverrnittlungssystems mit einer großen Anzahl von Eingabe-Ausgabe-Einrichtungen, ausführt, die häufigen Austausch und häufige Erfassung/Freigabe der Puffer erfordern, so muß die CPU 18 solche "READ"-Operationen mehrere Male in einem kurzen Intervall wiederholen, selbst wenn sich die Zahl verfügbarer Puffer nicht verändert hat, um die verfügbaren Puffer zu verwalten. Im allgemeinen verbrauchen (READ/WRITE) LESE- SCHREIB-Operationen, die in einer üblichen CPU, wie z.B. einem Mikrocomputer, ausgeführt werden, mehr Ausführungszeit (Taktzyklen) als die anderen Operationen. Der Gesamtdurchsatz des Systems wird dadurch schwerwiegend begrenzt.
- Die Erfindung beabsichtigt die obige Begrenzung hinsichtlich
- Systemdurchsatz zu eliminieren.
- Ein Ziel unserer Erfindung ist, eine Pufferüberwachungsmethode bereitzustellen, bei der keine Notwendigkeit besteht das Puffersteuerelement mit der CPU zu synchronisieren, oder für Zusammenarbeit des Puffersteuerelements mit den üblichen anderen Operationen der zentralen Verarbeitungseinheit (CPU) zu sorgen.
- Daher wird der gesamte Durchsatz des Systems wesentlich erhöht.
- Ein weiteres Ziel der Erfindung ist, ein System zu realisieren, das die Methode ausführt. Dieses Ziel wird mit einem System realisiert, das in der Lage ist die Zahl verfügbarer Puffer zwischen zwei gewünschten Werten, unter Verwendung einer Vielheit von D-Latch-Stromkreisen und an sie gekoppelte Vergleichsschaltungen, zu steuern.
- Eine Methode zur Überwachung der Zahl verfügbarer Puffer, in Übereinstimmung mit der Erfindung, wird in einem System ausgeführt, das an eine zentrale Verarbeitungseinheit (CPU) gekoppelt ist, die mindestens einen Unterbrechungseingangsport aufweist. Die Methode umfaßt folgende Schritte:
- (a) Speichern eines oberen Grenzwertes;
- (b) Speichern eines unteren Grenzwertes, der niedriger als der obere Grenzwert ist, die oberen und unteren Grenzwerte definieren dazwischen einen Bereich von Werten;
- (c) Überwachen eines Status von jedem der Puffer und produzieren eines, auf die Zahl der unbenutzten Puffer hinweisendes, ersten Signals; dadurch gekennzeichnet, daß
- (d) ein zweites Signal produziert wird, wenn das erste Signal größer als der obere Grenzwert oder kleiner als der untere Grenzwert ist;
- (e) ein Unterbrechungssignal in Reaktion auf das zweite Signal produziert, und ein neuer oberer Grenzwert und ein neuer unterer Grenzwert auf gegenüberliegenden Seiten besagter Zahl unbenutzter Puffer, eingestellt wird.
- Außerdem, ist erfindungsgemäß ein System zur Überwachung unbenutzter Puffer in einem Speicher vorgesehen, das an eine zentrale Verarbeitungseinheit gekoppelt ist, die mindestens einen Unterbrechungseingangsport aufweist, das System umfaßt:
- (a) ein erstes Speichermittel zum Speichern eines oberen Grenzwertes und zur Erzeugung eines ersten Signals, das auf den oberen Grenzwert hinweist;
- (b) ein zweites Speichermittel zum Speichern eines unteren Grenzwertes unter dem oberen Grenzwert, und das ein zweites Signal produziert, das auf den unteren Grenzwert hinweist, wobei die oberen und unteren Werte dazwischen einen Bereich von Werten definieren;
- (c) ein Puffersteuermittel zur Überwachung eines Status von jedem der Puffer und Erzeugung eines dritten Signals, das auf die Zahl der unbenutzten Puffer hinweist;
- (d) ein erstes Vergleichsmittel, das an besagtes erstes Speichermittel und besagtes Puffersteuermittel gekoppelt ist, um das erste Signal mit dem dritten Signal zu vergleichen;
- (e) ein zweites Vergleichsmittel, das an besagtes zweite Speichermittel und besagte Puffersteuermittel gekoppelt ist, um das zweite Signal mit dem dritten Signal zu vergleichen;
- (f) ein Unterbrechungssteuermittel, das an besagtes erste Vergleichsmittel und besagtes zweite Vergleichsmittel gekoppelt ist, um ein Unterbrechungssignals zu erzeugen, wenn das eine oder andere der vierten bzw. fünften Signale, die von den ersten und zweiten Vergleichsmitteln erzeugt wurden, wenn die Zahl der unbenutzten Puffer über dem oberen Grenzwert oder unter dem unteren Grenzwert liegt darauf hinweist, daß die Zahl der unbenutzten Puffer außerhalb des Bereiches von Werten liegt.
- Falls notwendig, wäre es möglich die Zahl der D- Latch-Stromkreise oder die Zahl der Vergleicher zu erhöhen. Außerdem läßt sich die Methode durch Verwendung von Software- Unterbrechung mit einem Microcomputer realisieren, der fähig ist das Programm auf Befehl zu unterbrechen (Software- Unterbrechung).
- Die Erfindung wird mit Bezugnahme auf die Abbildungen 2 bis 5 der bei liegenden Zeichnungen weiter beschreiben, von denen:
- Die Abbildung 2 ein detailliertes Blockdiagramm einer bevorzugten Ausführung der Erfindung ist;
- Die Abbildung 3 ein allgemeines Flußdiagramm zur Erläuterung ist, wie man mit der Erfindung vorangeht;
- Die Abbildung 4 ein Diagramm zur Erläuterung einer Funktion der in Abbildung 2 gezeigten Erfindung ist; und die Abbildung 5 ist ein weiters Diagramm zur Erläuterung einer weiteren Funktion der, in der Abbildung 2 gezeigten, Erfindung ist.
- Die Abbildung 2 zeigt ein bevorzugtes Ausführungsbeispiel des erfindungsgemäßen Systems. Ein Puffersteuerelement (BC) 20 besitzt ähnliche Funktionen wie das herkömmliche Puffersteuerelement 10 in der Abbildung 1 und gibt ein Pufferzahlsignal BN aus, das ein 4-Bit-Digitalsignal umfaßt, das die Anzahl der verfügbaren Puffer darstellt. Ein D-Latch-Stromkreis höherwertiger Zahl HDN 22 zur Speicherung eines oberen Grenzwertes der verfügbaren Pufferzahl in 4-Bit digitaler Form empfängt den oberen Grenzwert über den Eingabeport D, und gibt ihn über den Ausgabeport Q, gemäß einem Taktgebersignal (Schreibfreigabe) IOWO aus, das einem Taktport C bereitgestellt wird. Ein D-Latch-Stromkreis (LND) 24 niederwertiger Zahl zur Speicherung eines unteren Grenzwertes der verfügbaren Pufferzahl in 4-Bit digitaler Form empfängt den unteren Grenzwert über den Eingabeport D und gibt ihn über den Ausgabeport Q, gemäß einem Taktgebersignal (Schreibfreigabe) IOW1 aus, das einem Taktport C bereitgestellt wird.
- Diese D-Latch-Stromkreise ließen sich durch zweckdienliche ICs, wie z.B. 74LS175 Viererelement D-Typ Flipflopschaltung von Texas Instruments verwirklichen.
- Ein Vergleichsstromkreis hochwertiger Zahl (HCMP) 26 vergleicht die betreffenden Größen des 4-Bit-Signals BN und des 4-Bit oberen Grenzwertes. ein Vergleichsstromkreis niederwertiger Zahl (hiernach, LCMP) 28 vergleicht die Größe des 4-Bit-Signals BN und des 4-Bit unteren Grenzwertes. Diese Vergleichsstromkreise werden mit einem IC, wie z.B. 74LS85 Größenvergleicher von Texas Instruments verwirklicht.
- Ein Eingabe-Ausgabe-Steuerelement (IOC) 30 steuert die Eingabe-Ausgabe-Funktion des Systems. In diesem Ausführungsbeispiel enthält der IOC 30 einen Dekodierer 32, ein ODER-Gatter 34 mit 13 Eingabeports und einem NAND-Gatter 36 mit einem einzigen Eingabeport. Dieser IOC 30 wird durch Verwendung eines IC (integrierter Schaltung), wie z.B. 74LS138 Dekodierer für 3 bis 8 Leitungen von Texas Instruments verwirklicht.
- Ein Unterbrechungssteuerelement (INTC) 38 steuert die Unterbrechungsfunktion des Systems. Dieses Unterbrechungssteuerelement wird mit einem IC, wie z.B. 8259A von Intel verwirklicht.
- Eine Busleitung 40 verbindet die Haupteinrichtungen miteinander. Wie in der Abbildung gezeigt, umfaßt die Busleitung 40 Adressenbusse A0 bis A15, Datenbusse D0 bis D7, eine Schreibanforderungsleitung WR, eine Leseanforderungsleitung RD, und eine Eingabe- Ausgabe-Anforderungsleitung IORQ.
- Eine zentrale Verarbeitungseinheit (hiernach, CPU) 42 im System hat einen Unterbrechungseingabeport INT und einen Unterbrechungsquittungs-Ausgabeport INTA. Diese CPU läßt sich mit einem IC, wie z.B. Zilogs Z80 verwirklichen.
- Eine Funktion des oben beschriebenen Systems wird mit Hilfe des allgemeinen Flußdiagramms in der Abbildung 3 erläutert.
- Mit Bezugnahme auf die Abbildung 3, zunächst stellt die CPU 42 mit Hilfe des Eingabe-Ausgabe-Steuerelements 30 den oberen Grenzwert der Zahl der Puffer ein, die als 4-Bit digitale Daten in HND 22 gespeichert werden und stellt auch den unteren Grenzwert in LND 24 ein. Im Detail, in Reaktion auf einen Befehl von der CPU 42, aktiviert das Eingabe- Ausgabe-Steuerelement 30 das HDN 22 und das LND 24, über deren Datenportbusse D0 bis D3, um obere bzw. untere Grenzwerte der Zahl verfügbarer Puffer, unter Verwendung der Schreibaktivierungssignale IOW1 und IOW0, zu schreiben, jeder der D-Latch-Stromkreise speichert die Grenzwerteingabe dazu und gibt diesen Wert ab jedem Ausgabeport Q aus.
- Das Puffersteuerelement 20 sendet ein 4-Bit-Signal BN an die Eingabeports B des HCMP 26 und LCMP 28.
- Im HCMP 26 wird das empfangene Signal mit dem Wert verglichen, der ab dem HND 22 an Port A gesendet wurde. Wenn der Wert ab Port A größer als jener ab dem Port B ist, geht es mit Schritt 4 weiter. Wenn nicht, geht die Schrittfolge auf Schritt 6.
- Im LCMP 28 wird das am Port B empfangene Signal BN mit dem Wert verglichen, der ab LND 24 an Port A gesendet wurde. Wenn der Wert ab Port A kleiner als der Wert ab Port B ist, dann geht es mit Schritt 5 weiter. Wenn nicht, geht die Schrittfolge auf Schritt 6.
- Der Schritt 5 zeigt eine typische Schleifenend- Verarbeitung, worin das System üblicherweise die Schritte 2, 3, 4 wiederholt.
- Wenn im Schritt 3, der am Port B empfangene Wert größer als der an Port A ist, mit anderen Worten, die Zahl verfügbarer Puffer BN überschreitet den oberen Grenzwert der im HND 22 gehaltenen Pufferzahl, so erzeugt das HCMP ein Unterbrechungsanforderungssignal (INT-a).
- Das Signal INT-a wird in den Unterbrechungsanforderungsport IR&sub1; des INTC 38 eingegeben. Als Reaktion darauffordert das INTC 38 die CPU 41 auf Unterbrechung zu akzeptieren und ein vorbestimmtes Programm A auszuführen, wie z.B. Erhöhung des oberen Grenzwertes auf einen viel höheren Wert.
- Nach Beendigung von Schritt 6 quittiert die CPU 42 die Unterbrechung über den Quittierausgabeport INTA, und führt das Programm A sofort aus (Rücksetzen des oberen Grenzwertes und Rückkehr zu Schritt 1).
- Wenn bei Schritt 4, der am Port B empfangene Wert kleiner als der an Port A ist, mit anderen Worten, die Zahl BN unter den im LND gehaltenen unteren Grenzwert fällt, so erzeugt das LCMP ein Unterbrechungsanforderungssignal (INT-b)
- Das Signal INT-b wird in den Unterbrechungsanforderungsport IR&sup0; des INTC 38 eingegeben. Als Reaktion auf das Signal INT-b fordert das INTC 38 die CPU 41 auf Unterbrechung zu akzeptieren und ein vorbestimmtes Programm B auszuführen, wie z.B. Reduzierung des früheren unteren Grenzwertes auf einen kleineren Wert.
- Nach Beendigung von Schritt 8 quittiert die CPU 42 die Unterbrechung über den Quittierausgabeport INTA, und führt das Programm B sofort aus (Rücksetzen des unteren Grenzwertes und Rückkehr zu Schritt 1).
- Normalerweise, wenn die Zahl verfügbarer Puffer zwischen dem oberen Grenzwert und dem unteren Grenzwert liegt, braucht die CPU die Zahlen nicht in kurzen Abständen überprüfen. Wenn eintritt, daß die Pufferzahl BN, den Bereich zwischen den oberen und unteren Grenzwerten übersteigt oder darunter fällt, wird die CPU 42 durch ein Unterbrechungssignal informiert. Deshalb wird der Durchsatz der CPU 42 erhöht.
- Beispiele der oben beschriebenen Funktionen sind in Abbildung 4 und Abbildung 5 illustriert. In jenen Abbildungen zeigt die horizontale Achse Zahlen von Puffern, die vom System gesteuert werden. Der mit "L" bezeichnete linke Teil deutet große Zahlen an und der mit "S" bezeichnete rechte Teil deutet kleine Zahlen an.
- In der Abbildung 4, im Status 4a, liegt die Zahl BN zuerst auf einem Mittelwert der Zahlen und anfänglich stellt die CPU 42 den oberen Grenzwert H0 und den unteren Grenzwert L0 auf gegenüberliegenden Seiten ein.
- Reduziert sich die Zahl BN im nächsten Status 4b, auf einen Wert unterhalb des unteren Grenzwertes L0, wird die CPU 42 davon durch das Signal INT-b informiert, und führt das Programm B aus. Zum Beispiel zieht die CPU 42 eine vorbestimmte Zahl n0 von L0 ab und stellt einen neuen niedrigeren Grenzwert L1 ein. Außerdem, wenn notwendig, wird es möglich sein ein weiteres Programm, wie z.B. gleichzeitiges Abziehen der Zahl n0 von H0, auszuführen, um einen neuen oberen Grenzwert H1, wie im Status 4c gezeigt, einzustellen.
- Die Abbildung 5 zeigt einen Fall bei dem sich die Zahl BN auf einen Wert erhöht, der über dem oberen Grenzwert H1 liegt. Im Status 4a, liegt die Zahl BN zuerst auf einem Mittelwert der Zahlen und anfänglich stellt die CPU 42 einen oberen Grenzwert H2 und einen unteren Grenzwert L2 auf gegenüberliegenden Seiten ein.
- Erhöht sich die Zahl BN im nächsten Status und passiert den oberen Grenzwert H2, wird die CPU 42 davon durch das Signal INT-b informiert, und führt das Programm A aus. Zum Beispiel addiert die CPU 42 eine vorbestimmte Zahl n1 zu H2 ab und stellt einen neuen oberen Grenzwert H3 ein. Außerdem, wenn notwendig, wird es möglich sein ein weiteres Programm, wie z.B. gleichzeitiges Addieren der Zahl n1 zu L2, auszuführen, um einen neuen niedrigeren Grenzwert L3, wie im Status 5c gezeigt, einzustellen.
- Die Erfindung wird, indem sie jetzt ausführlich beschrieben ist, wird jemandem mit normalem Geschick in der Technik augenscheinlich
- sein, wie Änderungen und Modifikationen dazu vorgenommen werden können, ohne vom Gültigkeitsbereich der Erfindung abzuweichen wie sie darin aufgezeigt ist. Zum Beispiel, in beiden der in Abbildung 4 und 5 gezeigten
- Fälle, kann jede der Zahlen n0 und n1 individuell geändert werden, und der obere Grenzwert und der untere Grenzwert lassen sich an unterschiedlichen Abständen von der Pufferzahl BN einstellen.
Claims (2)
1. Eine Methode zur Überwachung der Anzahl unbenutzter
Puffer in einem Speicher, der an eine zentrale
Verarbeitungseinheit (42) gekoppelt ist, die mindestens einen
Unterbrechungseingabeport aufweist, die Methode folgende
Schritte umfaßt:
(a) Speicherung eines oberen Grenzwertes;
(b) Speicherung eines unteren Grenzwertes, der niedriger
als der obere Grenzwert ist, wobei die oberen und unteren
Grenzwerte dazwischen einen Bereich von Werten definieren;
(c) Überwachung eines Status von jedem der Puffer und
Erzeugung eines ersten Signals, das auf die Anzahl unbenutzter
Puffer hinweist; dadurch gekennzeichnet, daß
(d) ein zweites Signal erzeugt wird, wenn das erste
Signal mehr als der obere Grenzwert oder weniger als der
untere Grenzwert beträgt;
(e) ein Unterbrechungssignal als Reaktion auf das zweite
Signal erzeugt wird, und ein neuer oberer Grenzwert und ein
neuer unterer Grenzwert auf gegenüberliegenden Seiten besagter
Zahl unbenutzter Puffer eingestellt wird.
2. Ein System zur Überwachung der Zahl unbenutzter
Puffer in einem Speicher, der an eine zentrale
Verarbeitungseinheit (42) gekoppelt ist, die mindestens einen
Unterbrechungseingabeport aufweist, das System umfaßt:
(a) ein erstes Speichermittel (22) zur Speicherung eines
oberen Grenzwertes und ein erstes Signal produzierend, das auf
den oberen Grenzwert hinweist;
(b) ein zweites Speichermittel (24) zur Speicherung
eines unteren Grenzwertes unter dem oberen Grenzwert und ein
Signal produzierend, das auf den unteren Grenzwert hinweist,
wobei die oberen und unteren Grenzwerte dazwischen einen
Bereich von Werten definieren;
(c) ein Puffersteuermittel (20) zur Überwachung eines
Status eines jeden der Puffer und ein drittes Signal
produzierend, das auf die Anzahl von Puffern hinweist, die
unbenutzt sind;
(d) ein erstes Vergleichsmittel (26), das an besagtes
erste Speichermittel (22) und besagtes Puffersteuermittel (20)
gekoppelt ist, zum Vergleichen des ersten Signals mit dem
dritten Signal;
(e) ein zweites Vergleichsmittel (28), das an besagtes
zweite Speichermittel (24) und besagtes Puffersteuermittel
(20) gekoppelt ist, zum Vergleichen des zweiten Signals mit
dem dritten Signal; gekennzeichnet durch,
(f) ein Unterbrechungssteuermittel (38), das an besagtes
erste Vergleichsmittel (26) und besagtes zweite
Vergleichsmittel (28) gekoppelt ist, um ein
Unterbrechungssignal zu erzeugen, wenn eines der vierten bzw.
fünften Signale, das von den ersten und zweiten
Vergleichsmitteln erzeugt wird, wenn die Anzahl der
unbenutzten Puffer über dem oberen Grenzwert oder unter dem
unteren Grenzwert liegt, darauf hinweist, daß die Zahl der
unbenutzen Puffer außerhalb des Bereiches von Werten liegt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63186791A JPH0237422A (ja) | 1988-07-28 | 1988-07-28 | 数値管理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68924109D1 DE68924109D1 (de) | 1995-10-12 |
DE68924109T2 true DE68924109T2 (de) | 1996-04-18 |
Family
ID=16194649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68924109T Expired - Fee Related DE68924109T2 (de) | 1988-07-28 | 1989-07-27 | Verfahren und System für die Überwachung der Anzahl von freien Puffern. |
Country Status (7)
Country | Link |
---|---|
US (1) | US5068784A (de) |
EP (1) | EP0353051B1 (de) |
JP (1) | JPH0237422A (de) |
KR (1) | KR960005106B1 (de) |
AU (1) | AU616987B2 (de) |
CA (1) | CA1328025C (de) |
DE (1) | DE68924109T2 (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581705A (en) * | 1993-12-13 | 1996-12-03 | Cray Research, Inc. | Messaging facility with hardware tail pointer and software implemented head pointer message queue for distributed memory massively parallel processing system |
US5754889A (en) * | 1993-12-22 | 1998-05-19 | Adaptec, Inc. | Auto write counter for controlling a multi-sector write operation in a disk drive controller |
US5675797A (en) * | 1994-05-24 | 1997-10-07 | International Business Machines Corporation | Goal-oriented resource allocation manager and performance index technique for servers |
US5893924A (en) * | 1995-07-28 | 1999-04-13 | International Business Machines Corporation | System and method for overflow queue processing |
US5692156A (en) * | 1995-07-28 | 1997-11-25 | International Business Machines Corp. | Computer program product for overflow queue processing |
KR0156173B1 (ko) * | 1995-11-21 | 1998-11-16 | 문정환 | 인터럽트 발생회로 |
US5841973A (en) * | 1996-03-13 | 1998-11-24 | Cray Research, Inc. | Messaging in distributed memory multiprocessing system having shell circuitry for atomic control of message storage queue's tail pointer structure in local memory |
US5864738A (en) * | 1996-03-13 | 1999-01-26 | Cray Research, Inc. | Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller |
US5881316A (en) * | 1996-11-12 | 1999-03-09 | Hewlett-Packard Company | Dynamic allocation of queue space using counters |
US6216182B1 (en) * | 1998-07-30 | 2001-04-10 | Fore Systems, Inc. | Method and apparatus for serving data with adaptable interrupts |
US6216174B1 (en) | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
KR20030032413A (ko) * | 2001-10-18 | 2003-04-26 | 주식회사 엠씨글로벌 | 멀티미디어 데이터용 버퍼 구조 및 버퍼링 방법 |
US9323571B2 (en) | 2004-02-06 | 2016-04-26 | Intel Corporation | Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor |
US8268453B2 (en) | 2009-08-06 | 2012-09-18 | Synthesarc Inc. | Steel based composite material |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3302185A (en) * | 1964-01-20 | 1967-01-31 | Jr Andrew P Cox | Flexible logic circuits for buffer memory |
US3665416A (en) * | 1969-10-09 | 1972-05-23 | Mitsuo Hikosaka | On-line real time data processing system |
JPS4919623A (de) * | 1972-06-14 | 1974-02-21 | ||
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
SE399773B (sv) * | 1977-03-01 | 1978-02-27 | Ellemtel Utvecklings Ab | Adress- och avbrottsignalgenerator |
US4169289A (en) * | 1977-07-08 | 1979-09-25 | Bell Telephone Laboratories, Incorporated | Data processor with improved cyclic data buffer apparatus |
US4754399A (en) * | 1983-12-28 | 1988-06-28 | Hitachi, Ltd. | Data transfer control system for controlling data transfer between a buffer memory and input/output devices |
JPS62182950A (ja) * | 1986-02-07 | 1987-08-11 | Nec Corp | バツフア管理方式 |
US4845710A (en) * | 1986-12-23 | 1989-07-04 | Oki Electric Industry Co., Ltd. | Dynamic buffer supervising system for a data link access protocol control |
-
1988
- 1988-07-28 JP JP63186791A patent/JPH0237422A/ja active Pending
-
1989
- 1989-07-20 US US07/382,316 patent/US5068784A/en not_active Expired - Lifetime
- 1989-07-27 KR KR1019890010647A patent/KR960005106B1/ko not_active IP Right Cessation
- 1989-07-27 CA CA000606789A patent/CA1328025C/en not_active Expired - Fee Related
- 1989-07-27 EP EP89307607A patent/EP0353051B1/de not_active Expired - Lifetime
- 1989-07-27 AU AU39008/89A patent/AU616987B2/en not_active Ceased
- 1989-07-27 DE DE68924109T patent/DE68924109T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE68924109D1 (de) | 1995-10-12 |
EP0353051A2 (de) | 1990-01-31 |
US5068784A (en) | 1991-11-26 |
CA1328025C (en) | 1994-03-22 |
KR960005106B1 (ko) | 1996-04-20 |
EP0353051A3 (de) | 1992-01-29 |
KR900002196A (ko) | 1990-02-28 |
AU3900889A (en) | 1990-02-01 |
JPH0237422A (ja) | 1990-02-07 |
EP0353051B1 (de) | 1995-09-06 |
AU616987B2 (en) | 1991-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3224034C2 (de) | ||
DE68924109T2 (de) | Verfahren und System für die Überwachung der Anzahl von freien Puffern. | |
DE3300261C2 (de) | ||
DE68928530T2 (de) | Modulare Kreuzschienenzwischenverbindungen in einem digitalen Rechner | |
DE68924954T2 (de) | Übertragungssystem für verteilte Datenbanken. | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
EP0010198A2 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
EP0107026B1 (de) | Speicherprogrammierbare Steuerung | |
DE2523372B2 (de) | Eingabe-ZAusgabe-Anschlußsteuereinrichtung | |
DE3642324A1 (de) | Multiprozessoranlage mit prozessor-zugriffssteuerung | |
DE4035837A1 (de) | Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation | |
DE1424762B2 (de) | Datenverarbeitungsanlage | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE69122142T2 (de) | Steuerungsanlage für ein Mehrprozessorsystem | |
EP0050305B1 (de) | Einrichtung zur Steuerung des Zugriffes von Prozessoren auf eine Datenleitung | |
DE3750045T2 (de) | Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten. | |
DE4005042A1 (de) | Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit | |
DE29521444U1 (de) | Anordnung mit Master- und Slave-Einheiten | |
DE68919638T2 (de) | Rechner mit unterbrechungsgesteuerter Taktgeschwindigkeit und Verfahren für seinen Betrieb. | |
DE3855718T2 (de) | Ubertragungssystem zwischen Prozessoren in einem Nachrichtenverarbeitungssystem mit Übertragung zwischen Ausführungsprozessoren während Übertragung zwischen anderen Prozessoren | |
DE3856342T2 (de) | Busfehlerverarbeitungssystem | |
DE68926382T2 (de) | Steuerungssystem für Übertragungsbefehle zwischen zentralen Verarbeitungseinheiten | |
DE2845218B1 (de) | Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchfuehren von Ein-/Ausgabeoperationen | |
DE3719711C2 (de) | ||
DE68917015T2 (de) | Umstrukturierungssystem für Ein/Ausgabesteuerungssysteme. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |