PatentDe  


Dokumentenidentifikation DE3843725C2 06.08.1992
Titel Schaltungsanordnung zur Steuerung der Eintragung von Dateneinheiten in einen Speicher
Anmelder Siemens AG, 1000 Berlin und 8000 München, DE
Erfinder Gottsmich, Franz, 8132 Tutzing, DE;
Nußbächer, H. Klaus, 8000 München, DE
DE-Anmeldedatum 23.12.1988
DE-Aktenzeichen 3843725
Offenlegungstag 28.06.1990
Veröffentlichungstag der Patenterteilung 06.08.1992
Veröffentlichungstag im Patentblatt 06.08.1992
IPC-Hauptklasse G06F 9/34

Beschreibung[de]

Die Erfindung betrifft eine Schaltungsanordnung zur Steuerung der Eintragung von Dateneinheiten in einen Speicher gemäß dem Oberbegriff des Patentanspruchs 1.

Die vorliegende Erfindung läßt sich in Zentraleinheiten von Datenverarbeitungsanlagen einsetzen, zu deren wichtigsten Aufgaben bekanntlich die Speicherung von Daten gehört. Zur Ausführung eines Befehls in der Zentraleinheit sind mehrere Maschinenzyklen, auch als Elementaroperationen bezeichnet, erforderlich. Den Maschinenzyklus besonders beeinflussende Größen stellen die Lese- und Schreibzugriffe der Verarbeitungseinheit zum Speicher dar. Diese müssen während eines Maschinenzyklus ausgeführt werden, da sonst die Arbeitsleistung mindernde Verzögerungen eintreten und gegebenenfalls Verfälschungen durch Adressenwechsel auftreten.

In einer prinzipiellen Schaltungsanordnung zur Steuerung der Eintragung der Dateneinheiten sind mehrere Quellen vorgesehen, die auf den Speicher schreibend zugreifen können. Jeder dieser Quellen, von denen eine der Speicher selbst sein kann, ist ein Register zur Aufnahme der Dateneinheiten zugeordnet. Dabei sind die Dateneinheiten aus mehreren Teileinheiten zusammengesetzt, z. B. aus Bits oder Bytes. Den Registern nachgeschaltet ist eine Auswahlstufe mit der Aufgabe, die in den Speicher einzutragende Dateneinheit entweder in ihrer Gesamtheit von einer Quelle oder aber zusammengesetzt aus den Datenteileinheiten zweier Quellen durchzuschalten. Die Auswahl der Quelle oder die der individuell festzulegenden Datenteileinheiten erfolgt durch entsprechende Steuersignale. Bevor die Dateneinheit im Speicher abgelegt wird, wird sie zur Gewährleistung stabiler Verhältnisse in einer weiteren Registerstufe gespeichert, bestehend aus einer der Anzahl der Datenteileinheiten entsprechenden Anzahl von Registern.

Der Einschreibvorgang umfaßt hierbei das Adressieren der jeweiligen Speichereintragsstelle, das Auslesen ihres bisherigen Inhalts, das Modifizieren entsprechend der Auswahl sowie das Zurückschreiben des modifizierten Ergebnisses in den Speicher. Bei Verarbeitungseinheiten mit einer kurzen Zykluszeit für die Elementaroperationen kann die Forderung nach Einhaltung der Ausführung des Schreibzugriffs innerhalb der Maschinenzyklusdauer mit der beschriebenen Schaltungsanordnung nicht erfüllt werden.

Der Erfindung liegt daher die Aufgabe zugrunde, eine Schaltungsanordnung zur Steuerung der Eingabe von Dateneinheiten in einen Speicher zu schaffen, die infolge kürzerer Laufzeiten die Verwendung kürzerer Maschinenzykluszeiten ermöglicht.

Diese Aufgabe wird durch die kennzeichnenden Merkmale des Patentanspruchs 1 gelöst.

Demnach weist die erfindungsgemäße Anordnung jeweils ein Register mit zugeordnetem Multiplexer für jede Datenteileinheit der von den verschiedenen Quellen gelieferten Dateneinheiten auf. Die Eingangssignale des Registers mit zugeordnetem Multiplexer bilden die Datenteileinheit und ein eine Nulleinheit nachbildendes Signal, wobei eines der beiden Signale abhängig von einem für die verschiedenen Quellen bzw. für die jeweiligen Datenteileinheiten einer Quelle individuell festlegbaren Steuersignal auf einen gemeinsamen Ausgang durchgeschaltet wird. Die den einander entsprechenden Datenteileinheiten aller Quellen zugeordneten Ausgänge sind mit den Eingängen eines gemeinsamen ODER-Gliedes verbunden, so daß die Ausgänge aller ODER-Glieder gemeinsam die jeweils einzutragende Dateneinheit führen.

Der besondere Vorteil der erfindungsgemäßen Schaltungsanordnung liegt darin, daß gegenüber der bekannten Auswahlstufe zur Durchschaltung der in den Speicher einzutragenden Dateneinheit Laufzeiten, die insbesondere durch Kaskadierung von Auswahlschaltern zur jeweiligen Verknüpfung der von mehreren Quellen gelieferten Datenteileinheiten auf den Verbindungsleitungen zwischen einzelnen Kaskadenstufen entstehen, verkürzt werden können. Dieser Effekt verstärkt sich bei zunehmender Anzahl von Quellen, wobei die zusätzlich erforderliche individuelle Auswahl von Dateneinheiten durch Parallelschaltung weiterer Register mit zugeordneten Multiplexern einfach herzustellen ist. Durch die Bereitstellung der Nulleinheit für jedes Register mit zugeordnetem Multiplexer können eine Vielzahl von einander entsprechenden Ausgängen in einem nachgeschalteten ODER-Glied verknüpft werden. Die in der LSI-Technik zwingend zu durchlaufende Ausgangszelle, hier als ODER-Glied realisiert, ergibt keine zusätzliche Laufzeit gegenüber der bekannten Schaltungsanordnung, statt dessen erhält sie eine wichtige Funktion.

Eine Weiterbildung der Erfindung bezieht sich auf eine zusätzliche Variante, bei der die Verknüpfungszeit zwischen dem Speicher- Lesevorgang und dem Einschreibvorgang in den Speicher noch weiter verkürzt werden kann.

Einzelheiten der Erfindung werden anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. Im einzelnen zeigt

Fig. 1 das Blockschaltbild einer bekannten Schaltungsanordnung zur Eingabe von Dateneinheiten in einen Speicher,

Fig. 2 das Blockschaltbild der erfindungsgemäßen Schaltungsanordnung,

Fig. 3 das Blockschaltbild einer Schaltungsanordnung zur Erzeugung der Steuersignale,

Fig. 4 eine Erweiterung des Blockschaltbilds von Fig. 2 zur zusätzlichen Verkürzung der Durchlaufzeit und

Fig. 5 bis Fig. 7 die Zeitdiagramme zu den Schaltungsanordnungen gemäß Fig. 1, 2 und 4.

Die in dem Blockschaltbild gemäß Fig. 1 dargestellte bekannte Schaltungsanordnung zur Eintragung von Dateneinheiten in einen Speicher SP ist mehrstufig aufgebaut. In der ersten Stufe weist sie mehrere Register REGA, REGB sowie REGC auf, die jeweils den Schreibquellen QA, QB sowie QC zugeordnet sind, wobei die Quelle QC der Speicher SP selbst ist, dessen durch die Adresse AD angesteuerter Eintrag gelesen und anschließend im Register REGC gespeichert wird. Im Register REGA bzw. REGB werden die von der Quelle QA bzw. QB gelieferten Dateneinheiten abgelegt. Die einzelnen Dateneinheiten sind aus den Teileinheiten R0 bis R7 zusammengesetzt, wobei eine Teileinheit beispielsweise ein Bit oder ein Byte darstellen kann.

Der Registerstufe ist eine Auswahleinrichtung MUX, bestehend aus den Elementen S0 bis S7, nachgeschaltet. Sie dient zur Durchschaltung einer Dateneinheit in ihrer Gesamtheit aus einem der Register REGA, REGB oder REGC oder aber zusammengesetzt aus den Datenteileinheiten zweier Register, z. B. REGB und REGC. Die Ausgänge der Datenteileinheiten R0 der verschiedenen Quellen QA, QB und QC sind mit den Eingängen des Elements S0, die Ausgänge der Datenteileinheiten R1 mit den Eingängen des Elementes S1 usw. verbunden. Die Modifikation des Inhalts der ausgelesenen Speichereintragsstelle durch Auswahl aller Datenteileinheiten einer Quelle oder durch Auswahl der individuell festzulegenden Datenteileinheiten zweier Quellen, von denen eine der Speicher selbst ist, wird gesteuert von den Signalen H/M und SELx.

Jedem Element S0 bis S7 der Auswahleinrichtung MUX ist ein Register SR0 bis SR7 zugeordnet, die gemeinsam die Speichereingangsregisterstufe SREG zur Aufnahme der aus den durchgeschalteten Datenteileinheiten R0 bis R7 zusammengesetzten Dateneinheit bilden, bevor diese in den Speicher SP eingetragen wird. Bei Anwendung der LSI-Technik muß vorher noch eine weitere Gatterstufe durchlaufen werden, bestehend aus den pro Datenteileinheit vorhandenen zwingend notwendigen Ausgangszellen, was aber nicht dargestellt ist.

Die erfindungsgemäße Schaltungsanordnung, deren Blockschaltbild Fig. 2 zeigt, vermeidet eine mehrstufige Anordnung und die daraus resultierenden langen Durchlaufzeiten. Als Speicher SP ist ein Cachespeicher vorgesehen, der zwischen die Verarbeitungseinheit CPU und den Arbeitsspeicher ASP in einer Zentraleinheit geschaltet ist. Die von den verschiedenen Quellen ASP, CPU und SP gelieferten Dateneinheiten bestehen jeweils aus den zugehörigen Datenteileinheiten B0A bis B7A, B0C bis B7C und B0S bis B7S. Jede Datenteileinheit, z. B. B0A, wird dabei einem Register, z. B. MUX-L0A, zugeführt, das aus der Kombination eines Multiplexers mit einem Latch besteht, vergleiche R. M. Kline "Digital Computer Design", Seite 103 und 188. Ebenso ist jeder weiteren Datenteileinheit B1A bis B7S jeweils ein Register MUX-L1A bis MUX-L7S mit integriertem Multiplexer für zwei Eingangssignale zugeordnet, von denen die jeweils zugehörige Datenteileinheit, z. B. B0A, das eine Eingangssignal und ein eine Nulleinheit nachbildendes Signal 0 das andere Eingangssignal bildet.

Die Ausgangssignale der jeweils für die Datenteileinheit B0A, B0C sowie B0S der Quellen ASP, CPU sowie SP vorgesehenen Register MUX-L0A, MUX-L0C sowie MUX-L0S bilden die Eingangssignale des gemeinsamen ODER-Glieds OR0, wobei die Register durch die Signale M, H/SELW0 sowie H/SEL0 gesteuert werden, so daß der Ausgang B0 des gemeinsamen ODER-Glieds OR0 die Datenteileinheit B0A der vom Arbeitsspeicher ASP, die Datenteileinheit B0C der von der Verarbeitungseinheit CPU oder die Datenteileinheit B0S der vom Cachespeicher SP gelieferten Dateneinheit liefert. In gleicher Weise werden dem Cachespeicher die restlichen für die einzuspeichernde Dateneinheit nötigen Datenteileinheiten B1 bis B7 von den Ausgängen der ODER-Glieder OR1 bis OR7 zugeführt.

Die Erzeugung der einzelnen Steuersignale für die Register, denen die von einer Quelle gelieferten Datenteileinheiten zugeführt werden, zeigt die Schaltungsanordnung in Fig. 3. Sie enthält eine Reihe von UND-Gliedern U10 bis U17 bzw. U20 bis U27, die jeweils das Signal H mit einem der negierten Signale bis bzw. der Signale SEL0 bis SEL7 zu den Signalen H/SEL0 bis H/SEL7 bzw. H/SELW0 bis H/SELW7 zur Steuerung der jeweils zugeordneten Register miteinander verknüpfen. Dabei kennzeichnen die Signale SEL0 bis SEL7, welche Datenteileinheiten einer Dateneinheit geändert werden, während das Signal H bei einem Zugriff zum Cachespeicher SP anzeigt, daß sich die gewünschte Dateneinheit darin befindet, d. h. ein Treffer (HIT) erfolgt ist.

Neben den in Fig. 3 dargestellten, dem Cachespeicher SP und der Verarbeitungseinheit CPU zugeordneten Steuersignalen ist ein weiteres Steuersignal M für alle dem Arbeitsspeicher ASP zugehörigen Register vorgesehen, das anzeigt, daß der Cachespeicher SP beim Zugriff die gewünschte Dateneinheit nicht beinhaltet, d. h. kein Treffer (MISS) erzielt worden ist. Somit ist es dem negierten Signal ≙ gleichzusetzen.

In einer Erweiterung der erfindungsgemäßen Schaltungsanordnung von Fig. 2 sind gemäß Fig. 4 im besonders zeitkritischen Pfad für die gelesenen Dateneinheiten aus dem Cachespeicher SP zwei UND-Glieder U01 und U02 vorgesehen, die dem Register MUX-L0S mit den beiden Eingangssignalen B0S und 0 und dem jeweiligen Steuersignal H/SEL0 hinzugeschaltet werden. Das außer dem Steuersignal H/SEL0 und der Datenteileinheit B0S dem UND-Glied U01 zugeführte Taktsignal TA wird spätestens bei Eintreffen des Signals für die gelesene Dateneinheit am UND-Glied U01 wirksam, so daß die entsprechende Datenteileinheit B0S früher zum gemeinsamen ODER-Glied OR0 durchgeschaltet wird, weil die Zeit für die UND-Verknüpfung kürzer ist als die für das Durchschalten mit Hilfe des Registers MUX-L0S. Während des Taktsignals TA wird das Taktsignal TB gesetzt, das zusammen mit dem Ausgangssignal des Registers MUX-L0S auf die Eingänge des UND-Gliedes U02 geführt ist. Sobald eines der beiden Registereingangssignale, B0S oder 0, stabilisiert ist und somit stabil auch am Eingang des UND-Gliedes U02 anliegt, darf erst nachfolgend das Taktsignal TB aktiv geschaltet werden, wobei das Eingangssignal über den Ausgang des UND-Gliedes U02 dem ODER-Glied OR0 zugeführt wird.

Die Überlappungszeit zwischen den Taktsignalen TA und TB ist dabei so gewählt, daß sie die Laufzeit der einzuspeichernden Datenteileinheit durch die nacheinander geschalteten Gatter U02 und OR0 überdeckt oder wenigstens ausgleicht, so daß es beim Eintragungsvorgang in den Cachespeicher SP zu keiner Verzögerung bzw. Unterbrechung kommt.

Zum Vergleich der Laufzeiten durch die Schaltungsanordnung gemäß Fig. 1, 2 und 4 sind in Fig. 5 bis 7 die zugehörigen Zeitdiagramme angegeben.

Fig. 5 verdeutlicht dabei die Zeitstufen der Eintragung von Dateneinheiten in den Cachespeicher gemäß der Schaltungsanordnung von Fig. 1, wobei die Dauer eines Maschinenzyklus TZ für die Ausführung eines Eintragungsvorgangs zugrundegelegt ist. Mit Beginn des Zyklus wird der aus mehreren Speicherbausteinen aufgebaute Cachespeicher adressiert. Sobald die Adresse AD stabil anliegt, stellen sich nach einer Speicherzugriffszeit TRD die ausgelesenen Daten LDAT an den Ausgängen des Speichers ein.

Nach dem Lesevorgang LV ist die Wegelaufzeit TRL zwischen den Speicherbausteinen und dem die Schaltungsanordnung gemäß Fig. 1 enthaltenden integrierten Schaltkreis zu berücksichtigen. Die Verknüpfungszeit TV umfaßt die Modifikation der in den Cachespeicher einzutragenden Dateneinheiten. Nach der Aufbereitung vergeht wiederum eine Laufzeit TLR für die Wegedifferenz vom integrierten Schaltkreis zu den Speicherbausteinen. Liegen die Dateneinheiten SDAT gültig an den Speicherbausteinen an, so kann mit dem Schreibvorgang SV begonnen werden. Dabei geht zum einen dem durch den Takt WR bestimmten Einschreiben in üblicher Weise eine Vorbereitungsphase TSU voraus, zum anderen wird der Takt durch eine Haltephase TH verlängert. Es ist offensichtlich, daß die Haltephase TH die zur Verfügung stehende Zeitdauer für einen Maschinenzyklus TZ überschreitet, so daß gegebenenfalls eine Verfälschung der Eintragung durch Adressenwechsel auftreten kann.

Im Gegensatz dazu läßt sich aus dem Zeitdiagramm gemäß Fig. 6 erkennen, daß das Ende der Haltephase TH mit dem Ende der Maschinenzykluszeit TZ übereinstimmt, so daß der Eintragungsvorgang vor einem möglichen Adressenwechsel abgeschlossen ist. Die Ursache hierfür bildet die gegenüber der Laufzeit TV aus Fig. 5 verkürzte Laufzeit durch die erfindungsgemäße Schaltungsanordnung in Fig. 2.

Die Zeitverhältnisse der in Fig. 4 dargestellten zusätzlichen Schaltungsanordnung zur weiteren Verbesserung der Verknüpfungszeit spiegelt die Fig. 7 wieder. Dabei wird das Taktsignal TA spätestens mit dem Eintreffen der gelesenen Dateneinheiten an den Gattern des integrierten Schaltkreises gesetzt, also nach der für die Wegedifferenz aufgebrachten Zeit TRL. Die dadurch ausgelöste Durchschaltung der die Dateneinheiten liefernden Datenteileinheiten an die Speicherbausteine unter Verwendung einfacher und schneller UND-/ODER-Verknüpfungen erfolgt in einer gegenüber der Zeit TV in Fig. 6 nochmals verringerten Laufzeit TV1.

Gleichzeitig zur Verarbeitung TV1 in dem einen Pfad wird jeweils eines der beiden Eingangssignale an den Registern in der Zeit TV2 gültig an den Ausgang durchgeschaltet und mit der Vorderflanke des Taktsignals TB den für jede Datenteileinheit einer einzutragenden Dateneinheit vorhandenen ODER-Gliedern zugeführt. Die als Ue bezeichnete Überlappungszeit zwischen den Taktsignalen TA und TB gewährleistet, daß der Eintragungsvorgang für die Dateneinheiten fortlaufend, d. h. ohne Unterbrechungen, vollzogen wird. Das Taktsignal TA wird spätestens mit der frühesten Vorderflanke des Schreibtakts WR unwirksam, während die Rückflanke des Taktsignals TB frühzeitig erfolgen kann, solange gewährleistet ist, daß die Dateneinheiten unter Berücksichtigung der Laufzeiten durch die Gatter TBSP und auf Grund des Wegeunterschieds TLR zwischen dem integrierten Schaltkreis und den Speicherbausteinen bis zum Ende des Schreibvorgangs SV gültig an den Speicherbausteinen anliegen. Aus dem Diagramm läßt sich ein Zeitgewinn erkennen, indem die Haltephase TH innerhalb der Maschinenzyklusdauer TZ endet und noch eine zusätzliche Differenzzeit TD verbleibt. Dieser Zeitgewinn kann letztlich zu einer Verkürzung der ursprünglichen Maschinenzykluszeit um den Betrag TD genutzt werden.

Ausgehend von der in Fig. 2 dargestellten erfindungsgemäßen Schaltungsanordnung ist auch eine Anordnung mit mehr als drei Quellen denkbar, wobei Teile der von einer zusätzlich vorhandenen Quelle gelieferten Dateneinheiten jeweils mit aus dem Speicher gelesenen Datenteileinheiten zu einer einzutragenden Dateneinheit kombinierbar sind. Dies erfordert weitere, entsprechend den zusätzlichen Quellen festzulegende Steuersignale.

Die Erhöhung der Quellenanzahl hat keine Auswirkung auf die Laufzeit durch die Schaltungsanordnung und damit auf die Verwendung kürzerer Maschinenzykluszeiten, da die Schaltungsanordnung gemäß Fig. 2 lediglich um die den zusätzlichen Datenteileinheiten zugeordneten Register mit jeweils einem integrierten Multiplexer für zwei Eingangssignale zu erweitern ist.


Anspruch[de]
  1. 1. Schaltungsanordnung zur Steuerung der Eintragung von aus einer vorgegebenen Anzahl von Datenteileinheiten (z. B. Bits) bestehenden Dateneinheiten, die von mehreren verschiedenen Quellen geliefert werden, in einen Speicher, wobei die jeweils in den Speicher einzutragende Dateneinheit entweder in ihrer Gesamtheit von einer jeweils ausgewählten Quelle übernommen wird oder aber aus den durch entsprechende Steuersignale ausgewählten Teileinheiten der Dateneinheiten zweier Quellen zusammengestellt wird, von denen einer der vorher zu lesende Speicher selbst ist, dadurch gekennzeichnet,

    daß die Datenteileinheiten (z. B. B0A) der von den verschiedenen Quellen (ASP, CPU, SP) gelieferten Dateneinheiten jeweils einem Register (z. B. MUX-L0A) mit zugeordnetem Multiplexer für zwei Eingangssignale zugeführt werden, von denen die Datenteileinheit (z. B. B0A) das eine Eingangssignal und ein eine Nulleinheit nachbildendes Signal (0) das zweite Eingangssignal bildet und von denen, abhängig vom zugeführten Steuersignal (z. B. M, H/SELW0 oder H/SEL0), jeweils eines auf den gemeinsamen Ausgang durchgeschaltet wird,

    und daß von diesen Ausgängen jeweils die den einander entsprechenden Datenteileinheiten (z. B. B0A, B0C, B0S) aller Quellen (ASP, CPU, SP) zugeordneten Ausgänge mit den Eingängen eines gemeinsamen ODER-Glieds (z. B. OR0) verbunden sind, so daß die Ausgänge (B0 bis B7) aller ODER-Glieder (OR0 bis OR7) zusammen die jeweils einzuspeichernde Dateneinheit liefern.
  2. 2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet,

    daß wenigstens den zur Aufnahme der aus dem Speicher gelesenen Dateneinheit vorgesehenen Registern mit zugeordneten Multiplexern jeweils zwei UND-Glieder (z. B. U01 und U02) zugeordnet sind, von denen das eine UND-Glied (U01) das dem Register (z. B. MUX-LOS) mit zugeordnetem Multiplexer jeweils zugeführte Steuersignal (z. B. H/SEL0), die entsprechende Datenteileinheit (z. B. B0S) sowie ein erstes Taktsignal (TA) als Eingangssignale erhält, während das Ausgangssignal des Registers (z. B. MUX-LOS) mit zugeordnetem Multiplexer und ein zweites Taktsignal (TB) auf die Eingänge des anderen UND-Gliedes (U02) geführt sind, wobei die Ausgänge der beiden UND-Glieder zusätzliche Eingänge für das gemeinsame ODER-Glied (z. B. OR0) bilden,

    daß durch Wirksamschalten des ersten Taktsignals (TA) spätestens mit Eintreffen der Signale für die gelesenen Dateneinheiten (LDAT) am UND-Glied (U01) die entsprechenden Datenteileinheiten (z. B. B0S) bereits für den Speicher (SP) gültig werden,

    und daß das während des ersten Taktsignals (TA) wirksam werdende zweite Taktsignal (TB) die jeweilige Durchschaltung eines der beiden Eingangssignale (z. B. B0A oder 0) zum nachgeschalteten gemeinsamen ODER-Glied (z. B. OR0) übernimmt und aufrechterhält, sobald das Ausgangssignal des Registers (z. B. MUX-LOS) mit zugeordnetem Multiplexer am UND-Glied (U02) stabilisiert ist, wobei die Überlappungszeit (Ue) zwischen dem ersten Taktsignal (TA) und dem zweiten Taktsignal (TB) wenigstens gleich der Laufzeit durch das UND-Glied (U02) und das gemeinsame ODER-Glied (OR0) ist und das zweite Taktsignal (TB) wenigstens so lange andauert, bis der Eintragungsvorgang beendet ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com