DE3851160T2 - Datenprozessor mit schnellem Zugriff zum Inhalt interner Zähler. - Google Patents

Datenprozessor mit schnellem Zugriff zum Inhalt interner Zähler.

Info

Publication number
DE3851160T2
DE3851160T2 DE3851160T DE3851160T DE3851160T2 DE 3851160 T2 DE3851160 T2 DE 3851160T2 DE 3851160 T DE3851160 T DE 3851160T DE 3851160 T DE3851160 T DE 3851160T DE 3851160 T2 DE3851160 T2 DE 3851160T2
Authority
DE
Germany
Prior art keywords
register
signal
local bus
count
registers
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
Application number
DE3851160T
Other languages
English (en)
Other versions
DE3851160D1 (de
Inventor
Mitsue C O Nec Corporation Abe
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Application granted granted Critical
Publication of DE3851160D1 publication Critical patent/DE3851160D1/de
Publication of DE3851160T2 publication Critical patent/DE3851160T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)

Description

    Hintergrund der Erfindung Feld der Erfindung
  • Die vorliegende Erfindung betrifft Datenprozessoren mit einer Vielzahl von auf Basis einer Zeitteilung gesteuerten Zählern und insbesondere Datenprozessoren mit einer Vielzahl von Zählerfunktionen, die durch eine entsprechende Anzahl von Registern ausgeführt und auf Basis einer Zeitteilung gesteuert werden, wobei diese Prozessoren dazu in der Lage sind, einen Inhalt der Register mit hoher Befehlsausführungseffizienz auszulesen.
  • Beschreibung des Standes der Technik
  • Bisher werden in den meisten Datenprozessoren mit einer Vielzahl von Zählern die vielen Zähler auf Basis einer Zeitteilung betrieben, um die Anzahl von notwendigen Schaltelementen klein zu halten, das heißt, um die Nutzleistung von Schaltungen anzuheben. Insbesondere sind die Zähler im allgemeinen aus einer entsprechenden Anzahl von Zählregistern zusammengesetzt, die mit einem gemeinsamen Inkrementor verbunden sind, um die Zählregister nacheinander sequentiell zu erhöhen. Deshalb ist jedes der jeweiligen Zählregister nur während eines vorbestimmten Zeitschlitzes, in welchem der Inhalt des Zählers erhöht wird, das heißt, an vorbestimmten Intervallen, zugreifbar. Als Ergebnis muß, wenn der Datenprozessor den Inhalt eines beliebigen Zählregisters lesen möchte, der Datenprozessor mit dem Lesen des Zählregisters so lange warten, bis der dem Zählregister, auf welches der Datenprozessor zugreifen möchte, zugeteilte Zeitschlitz vorliegt. Dies senkt die Befehlausführungseffizienz. Hinzu kommt, daß je größer die Anzahl der Zähler wird, desto größer die Abnahme der Befehlausführungseffizienz wird.
  • Zusammenfassung der Erfindung
  • Demgemäß ist eine Aufgabe der vorliegenden Erfindung, einen Datenprozessor zu schaffen, der den oben erwähnten Nachteil des herkömmlichen Prozessors überwunden hat.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist, einen Datenprozessor mit einer Vielzahl von Zählerfunktionen, die durch eine entsprechende Anzahl von Registern ausgeführt und auf Basis einer Zeitteilung gesteuert werden, zu schaffen, wobei der Prozessor in der Lage ist, einen Inhalt der Register ohne Verringerung der Befehlsausführungseffizienz herauszulesen.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist, einen solchen Datenprozessor zu schaffen, der dazu in der Lage ist, den Inhalt der Register mit hoher Befehlausführungseffizienz nur mit einer geringen Anzahl von zusätzlichen Schaltelementen herauszulesen.
  • Die obigen und andere Aufgaben der vorliegenden Erfindung werden in Übereinstimmung mit der vorliegenden Erfindung durch einen Datenprozessor gemäß Anspruch 1 gelöst.
  • Mit der obigen Anordnung werden die Speicherregistervorrichtungen durch die Steuervorrichtung gesteuert, um so nicht nur als eine inhärente temporäre Speicherfunktion, sondern auch als ein Puffer für die zugehörigen Zählervorrichtungen zu arbeiten. Demgemäß kann, falls die Speicherregistervorrichtung als Puffer für die zugehörigen Zählervorrichtungen arbeitet, das zum Inhalt der Zählereinrichtungen äquivalente Datum durch Zugriff auf die Speicherregistervorrichtung, und nicht auf die Zählervorrichtung selbst, herausgelesen werden.
  • Die obige und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung einer bevorzugten Ausführungsform der Erfindung mit Bezug auf die beigefügten Zeichnungen offensichtlich.
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm, das einen Gesamtaufbau eines Beispiels eines Datenprozessors zeigt, mit dem die vorliegende Erfindung anwendbar ist;
  • Fig. 2 ist ein Blockdiagramm, das einen Aufbau eines Zählerabschnitts in einem Beispiel eines herkömmlichen Datenprozessors zeigt;
  • Fig. 3a und 3b sind Blockdiagramme, die jeweils Operationsbedingungen des in Fig. 2 gezeigten Zählerabschnitts zeigen;
  • Fig. 4 ist ein Zeitablaufdiagramm, das die Operation des mit Bezug auf Fig. 2 erläuterten herkömmlichen Datenprozessors darstellt;
  • Fig. 5 ist ein Blockdiagramm, das einen Aufbau eines Zählerabschnitts in einer ersten Ausführungsform eines Datenprozessors gemäß der vorliegenden Erfindung zeigt;
  • Fig. 6 ist ein Blockdiagramm, das einen detaillierten Aufbau eines Speicherregisters und eine zugehörige, in dem Zähler vorgesehene Steuerschaltung gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 7 ist ein Zeitablaufdiagramm, das die Operation des Datenprozessors gemäß der ersten Ausführungsform der vorliegenden Erfindung darstellt;
  • Fig. 8 ist ein Blockdiagramm, das einen detaillierten Aufbau eines Speicherregisters und einer zugehörigen, in einem Zähler vorgesehenen Steuerschaltung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung zeigt; und
  • Fig. 9 ist ein Zeitablaufdiagramm, das die Operation des Datenprozessors gemäß der zweiten Ausführungsform der vorliegenden Erfindung darstellt.
  • Beschreibung der bevorzugten Ausführungsform
  • Bezug nehmend auf Fig. 1 wird dort ein Gesamtaufbau eines Beispiels eines Datenprozessors gezeigt, bei welchem die vorliegende Erfindung anwendbar ist. Der gezeigte Datenprozessor umfaßt eine Ausführungseinheit 10, einen Programmspeicher 12, einen Datenspeicher 14, einen Unterbrechungskontroller 16 und einen Zählerabschnitt 18, welche, wie gezeigt, an einen internen Bus 20 gekoppelt sind. Der Programmspeicher 12 ist z. B. aus einem Speicher, wie beispielsweise einem Nurlesespeicher zum Speichern notwendiger Programme und einem zugehörigen Programmzähler zum Anzeigen eines auszulesenden Programms, zusammengesetzt. Der Datenspeicher 14 ist z. B. aus einem Direktzugriffsspeicher zusammengesetzt.
  • Die Ausführungseinheit 10 liest einen Befehlscode aus dem durch den zugehörigen Programmzähler bezeichneten Programmspeicher 12 und führt dann den Auslesebefehl aus. Ferner speichert die Ausführungseinheit 10 das Ergebnis des Verarbeitungsvorganges in den Datenspeicher 14. Der Unterbrechungskontroller 16 empfängt ein über einen Anschluß 24 von außen zugeführtes Sperr-Befehlssignal 22, wobei dieses Signal 22 ebenfalls dem Zählerabschnitt 18 zugeführt wird. In Abhängigkeit von dem Signal 22 erzeugt der Unterbrechungskontroller 16 ein aktives Unterbrechungsanforderungssignal 26 an die Ausführungseinheit 10. Falls die Ausführungseinheit 10 detektiert, daß das Unterbrechungssignal 26 aktiv geworden ist, startet die Ausführungseinheit 10 die Unterbrechungsoperation.
  • In Fig. 2 wird ein Blockdiagramm gezeigt, das ein Beispiel eines internen Aufbaus des Zählerabschnitts 18 im Falle eines herkömmlichen Datenprozessors darstellt. Der gezeigte Zählerabschnitt 18 umfaßt drei Zählregister 30-1 (i=1, 2, 3), die jeweils mit einem lokalen Bus 32 gekoppelt sind. Dieser lokale Bus 32 ist mit einem Eingang eines inkrementors 34 gekoppelt, dessen Ausgang mit einem Eingang einer Sperr- bzw. Speichervorrichtung 36 verbunden ist. Diese Sperrvorrichtung 36 hat einen Ausgang, der mit dem lokalen Bus 32 verbunden ist. Der lokale Bus 32 ist zudem mit einem anderen lokalen Bus 38 über einen Kopplungskontroller 40 gekoppelt, welcher eine Kopplung zwischen dem ersten lokalen Bus 32 und dem zweiten lokalen Bus 38 steuert. Mit dem zweiten lokalen Bus 38 sind drei Speicherregister 42-i (i=1, 2, 3) gekoppelt, welche jeweils Sperrbefehlssignale 22-i (i=1, 2, 3) empfangen. Der zweite lokale Bus 38 ist zudem mit dem internen Bus 20 über einen anderen Kopplungskontroller 44 gekoppelt, welcher ebenfalls eine Kopplung zwischen dem zweiten lokalen Bus 38 und dem internen Bus 20 steuert.
  • Eine Operation des oben erwähnten Zählerabschnitts wird mit Bezug auf Fig. 3 und 4 beschrieben.
  • Eine Aufwärts-Zähloperation jedes der Zählregister 30-i ist mit zwei Zyklen T1 und T2 in Abhängigkeit von einem Aufwärts-Zählsignal abgeschlossen, das eine Periode über die zwei Zyklen T1 und T2 aufweist. In einem ersten Zyklus der Aufwärts-Zähloperation, das heißt, dem T1-Zyklus, wird ein Inhalt des Zählregisters 30-1 an den lokalen Bus 32 ausgegeben, und der Inkrementor 34 zählt aufwärts bzw. erhöht die auf den lokalen Bus 32 ausgegebenen Daten. Das Ergebnis der Erhöhung wird in der Sperrvorrichtung 36 gehalten. In diesem T1-Zyklus wird der erste Kopplungskontroller 40 durch die Ausführungseinheit 10 in einen AUS-Zustand gebracht und der zweite Kopplungskontroller 44 wird durch die Ausführungseinheit 10 in einen EIN-Zustand gebracht, um so zwischen dem zweiten lokalen Bus 44 und dem internen Bus 20 eine Kopplung durchzuführen, so daß eines der Speicherregister 30-i über den zweiten lokalen Bus 44 und den internen Bus 20 ausgelesen werden kann.
  • In einem zweiten Zyklus der Aufwärts-Zähloperation, das heißt, dem T2-Zyklus, wird das aufwärts gezählte bzw. erhöhte, in der Sperrvorrichtung 36 gehaltene Datum auf den ersten lokalen Bus 32 ausgegeben, und dann in das entsprechende Zählregister 30-i zurückgeholt bzw. zurückgeschrieben. Damit ist die Aufwärts-Zähl- bzw. Erhöhungsoperation des Zählregisters 30-i abgeschlossen.
  • Ferner ist im T2-Zyklus der lokale Bus 32 über den Kopplungskontroller 40 mit dem zweiten lokalen Bus 38 gekoppelt, so daß das aufwärts gezählte Datum ebenfalls an den zweiten lokalen Bus 38 ausgegeben wird. Zu diesem Zeitpunkt hält, z. B. wie in Fig. 9 gezeigt, falls ein aktives Sperrsignal 22-1 über den Anschluß 24-1 von der Außenseite des Datenprozessors an das Speicherregister 42-1 zugeführt wird, das Speicherregister 42-1 das Datum auf dem zweiten lokalen Bus 38, wie ebenfalls in Fig. 9 gezeigt wird, so daß das Speicherregister 42-1 das gehaltene Datum beibehält, bis ein nächstes Sperr-Befehlssignal eingegeben wird.
  • Zusätzlich steuert im T2-Zyklus die Ausführungseinheit 10 den zweiten Kopplungskontroller 44, um diesen dazu zu veranlassen, den zweiten lokalen Bus 38 und den internen Bus 20 zu koppeln. Damit kann die Ausführungseinheit das Datum auf dem zweiten lokalen Bus 38 lesen bzw. abrufen. Folglich kann die Ausführungseinheit 10 eine Leseoperation des Inhalts des Zählregisters 30-i ausführen, indem sie das Datum auf dem zweiten lokalen Bus 38 abruft.
  • Somit wurden in den zwei Zyklen T1 und T2 die Aufwärts- Zähl- bzw. Erhöhungsoperation eines Zählregisters 30-i und die Speicheroperation des entsprechenden Speicherregister 42-i abgeschlossen. In einem nächsten T2-Zyklus wird die Aufwärts-Zähloperation für ein anderes Zählregister beginnen. Auf diese Weise wird die oben erwähnte Aufwärts-Zähloperation und die Speicheroperation sequentiell und zyklisch für jedes der Zählregister 30-i und der Speicherregister 42-i auf der Basis einer Zeitteilung, wie in Fig. 4 dargestellt, ausgeführt.
  • Wie jedoch aus Fig. 4 zu ersehen ist, ist der herkömmliche Datenprozessor dahin gehend von Nachteil, daß, wenn die Ausführungseinheit 10 versucht, einen Befehl zum Auslesen des Inhalts (das heißt, den Zählwert) eines i-ten Zählregisters auszuführen, die Ausführungseinheit mit der Ausführung des Befehls solange warten muß, bis sie zu dem T2-Zyklus für das i-te auszulesende Zählregister kommt. In dem in Fig. 4 gezeigten Zeitablaufdiagramm versucht z. B. die Ausführungseinheit 10 das erste Zählregister 30-1 an einem Zyklus t0 zu lesen, wobei die Ausführungseinheit das Datum des ersten Zählregisters bis zum Zyklus t1 nicht auslesen kann. Zusätzlich versucht die Ausführungseinheit 10 eine Leseoperation eines zweiten Zählregisters 30-2 an einem Zyklus t2 auszuführen, die Ausführungseinheit muß aber bis zu einem Zyklus t3 warten.
  • Wie oben erwähnt, treten zwei Nachteile auf, wenn der herkömmliche Datenprozessor in einem System verwendet wird, bei dem die Zählregister häufig ausgelesen werden müssen. Ein erster Nachteil besteht insbesondere in einem Abfall der Befehlsverarbeitungseffizienz. Ein zweiter Nachteil ist der, das es schwierig ist, die Zeit einer Befehlsausführung zu berechnen oder abzuschätzen, weil die Ausführungsverarbeitungsgeschwindigkeit stark von dem Aufwärts-Zähloperationszustand des Zählerabschnitts abhängt, wenn der Befehl erzeugt wird, auch in dem Fall einer Ausführung der gleichen Zählregister-Lesebefehle.
  • Bezug nehmend auf Fig. 5 wird dort ein Blockdiagramm gezeigt, das einen Aufbau eines Zählerabschnitts in einer ersten Ausführungsform eines Datenprozessors gemäß der vorliegenden Erfindung darstellt. In Fig. 5 werden Schaltelementen gleich jenen, die in Fig. 2 gezeigt werden, die gleichen Bezugszeichen gegeben, und eine Beschreibung derselben wird weggelassen.
  • Wie aus einem Vergleich zwischen den Fig. 2 und 5 offensichtlich wird, hat der in Fig. 5 gezeigte Zählerabschnitt drei Steuerschaltungen 46-i (i=1, 2, 3) die jeweils den drei Speicherregistern 42-i zugeordnet sind. Jede der Steuerschaltung 46-i ist so angeschlossen, daß sie das Sperrbefehlssignal 22-i und ein Speicherregister-Lesesignal 50-i (i= 1, 2, 3) von der Ausführungseinheit empfängt und ein Sperrsignal 52-i (i=1, 2, 3) an das entsprechende Speicherregister 42-i erzeugt.
  • In Fig. 6 gibt es ein Blockdiagramm, das einen detaillierten Aufbau eines Speicherregisters und einer zugehörigen Steuerschaltung, die in dem Zähler vorgesehen ist, gemäß der ersten Ausführungsform der vorliegenden Erfindung darstellt. Die Steuerschaltung 46-i hat ein Reset-Set-Flipflop 54 mit einem Seteingang S, der so angeschlossen ist, daß er das Speicherregister-Lesesignal 50-i empfängt, und einem Reset-Eingang R, der so angeschlössen ist, daß er das Sperrbefehlssignal 22-i empfängt. Ein Q-Ausgang des Flipflops 54 ist mit einem Eingang einer OR-Schaltung 56 verbunden, deren anderer Eingang so angeschlossen ist, daß er das Sperrbefehlssignal 22-i direkt empfängt. Ein Ausgang der OR-Schaltung 56 ist mit einem Eingang einer AND-Schaltung 58 verbunden, welche ferner zwei Eingänge hat, die so angeschlossen sind, daß sie das T2-Zyklussignal und ein Aufwärts-Zählsignal des entsprechenden Zählregisters 30-i empfangen. Diese AND-Schaltung 58 erzeugt das oben erwähnte Sperrsignal 52-i, welches einem in einem Eingangsanschluß des zugehörigen Speicherregisters 42-i vorgesehenen Gate zugeführt wird. Ein anderes in einem Ausgangsanschluß des Speicherregisters 42-i vorgesehenes Gate wird durch das Speicherregister-Lesesignal 50-i gesteuert.
  • Eine Aufwärts-Zähloperation des in Fig. 5 gezeigten Zählerabschnitts wird zu einem Zeitpunkt und in einer Weise ausgeführt, gleich wie in dem in Fig. 2 gezeigten Zählerabschnitt, mit der Ausnahme, daß die Sperroperationen der Speicherregister durch das durch die zugehörigen Steuerschaltungen erzeugte Sperrsignal gesteuert werden. In dem herkömmlichen Datenprozessor rufen nämlich die Speicherregister 42-i die Daten der zugehörigen Zählregister 30-i nur dann ab, wenn das Sperrbefehlssignal 22-i aktiv wird, und andererseits wird in der in Fig. 5 gezeigten Ausführungsform die Abrufoperation der Speicherregister 42-i durch die von den zugehörigen Steuerschaltungen 46-i erzeugten Sperrsignale 52-i gesteuert.
  • Eine speziellere Beschreibung wird für die Operation des in Fig. 5 und 6 gezeigten Zählerabschnitts mit Bezug zu Fig. 7 gegeben, die ein Zeitablaufdiagramm der Operation des Datenprozessors darstellt.
  • Angenommen, daß der Inhalt des ersten Zählregisters 30-1 während eines Zeitablaufs t0 "a" ist, wird der Inhalt des ersten Zählregisters 30-1 während eines Zeitablaufs t3x (x=0, 1, 2, . . . ) aufwärts gezählt bzw. erhöht. Falls das Sperrbefehlssignal 22-1 während eines Zeitablaufs t3 aktiv wird, wird das Sperrsignal 52-1 beim T2-Zyklus im gleichen Zeitablauf t3 aktiv. Als Ergebnis wird das aufwärts gezählte Datum "a+2" für das erste Zählregister 30-1 in dem ersten Zählregister 30-1 gesperrt, und zur gleichen Zeit wird es ebenfalls in dem ersten Speicherregister 42-1 gesperrt. Ferner setzt das Sperrbefehlssignal 22-1 den Flipflop 54 zurück, so daß der Q-Ausgang des Flipflops 54 auf einen niedrigen Pegel gebracht wird. Demgemäß wird das Sperrsignal 52-1 für das erste Speicherregister 42-1 während eines nachfolgenden Zeitablaufs t3x = t6 nicht erzeugt, so daß das Speicherregister 42-1 das an dem Sperrbefehlssignal 22-1 während der Periode des Zeitablaufs t3 gesperrte Datum "a+2" beibehält. Auf der anderen Seite erzeugt der Unterbrechungskontroller 16 in Abhängigkeit von dem im Zeitablauf t3 erzeugten Sperrbefehlssignal 22-1 ein Unterbrechungsanforderungssignal 26 an die Ausführungseinheit 10, und die Ausführungseinheit 10 antwortet dem Unterbrechungsanforderungssignal 26, um die Unterbrechungsoperation zu beginnen. Folglich liest die Ausführungseinheit 10 das in dem ersten Speicherregister 42-1 gespeicherte Datum. Zur gleichen Zeit wird das Speicherregister-Lesesignal 50-1 aktiv, und deshalb wird der Flipflop 54 mit dem Q-Ausgang auf einen hohen Pegel gesetzt.
  • Anschließend wird, solange bis das Sperrbefehlssignal 22-1 wieder zu einem Zeitablauf t12 aktiv wird, das Sperrsignal 52-1 jedesmal dann erzeugt, wenn das Aufwärts-Zählsignal für das erste Zählregister 42-1 erzeugt wird. Als Beispiel für diesen Fall kann der Zeitablauf t9 gezeigt werden. Nachdem das Sperrbefehlssignal 22-1 aktiviert worden ist und das Datum in dem ersten Speicherregister 42-1 gesperrt wurde, behält das erste Speicherregister 42-1 sein gesperrtes Datum solange, bis das Sperrbefehlssignal 22-1 wieder aktiv wird. Ein Beispiel für diesen Fall entspricht dem Zustand vom Zeitablauf t12-t18. Demgemäß haben in dieser Ausführungsform die Speicherregister nicht nur eine Funktion eines temporären Speicherns des Wertes des zugehörigen Zählregisters, wenn das Sperrbefehlssignal aktiv wird, gleich dem herkömmlichen Datenprozessor, sondern zudem eine Pufferfunktion zum Speichern des gleichen Wertes wie dem des Zählregisters, nachdem der Inhalt des Zählregisters durch die Ausführungseinheit ausgelesen worden ist.
  • Ein Datenprozessor mit der oben erwähnten Funktion ist in den folgenden Punkten sehr vorteilhaft: Es kann nämlich als Ergebnis der Tatsache, daß das Speicherregister eine Pufferfunktion für das Zählregister hat, wenn die Ausführungseinheit versucht, den Inhalt des Zählregisters auszulesen, der gleiche Effekt wie beim Lesen des Zählregisters durch Lesen des Inhalts des Speicherregisters, nicht des Inhalts des Zählregisters, erhalten werden. Zusätzlich kann der Inhalt des Speicherregisters bei einem T1-Zyklus für einen Aufwärts-Zählzeitablauf eines beliebigen Zählregisters ausgelesen werden, im Gegensatz zu dem herkömmlichen Datenprozessor, in welchem, wenn die Ausführungseinheit versucht, den Inhalt des Zählregisters auszulesen, die Ausführungseinheit mit der Ausführung des Lesens solange warten muß, bis der Zeitablauf des Aufwärts-Zählsignals für das aus zulesende Zählregister aktiviert worden ist. Dies kann leicht aus fig. 7 verstanden werden. In welcher, wenn die Ausführungseinheit versucht, den Inhalt "a+4" des ersten Zählregisters 30-1 am Zeitablauf t10 zu lesen, die oben erwähnte Ausführungsform das Datum "a+4" durch Lesen des Inhalts des ersten Speicherregisters 42-1 am T1-Zyklus im Zeitablauf t11 lesen kann, während der herkömmliche Datenprozessor mit der Ausführung des Lesevorganges bis zum Zeitablauf t12 warten muß.
  • In Fig. 8 gibt es ein Blockdiagramm, das einen detaillierten Aufbau eines Speicherregisters und einer zugehörigen Steuerschaltung zeigt, die in dem Zähler gemäß der zweiten Ausführungsform der vorliegenden Erfindung vorgesehen sind. Die Steuerschaltung 46-i hat eine Steuerflag 60, zusammengesetzt aus einem Flipflop mit einem Eingang G, der so angeschlossen ist, daß er ein Steuerflag-Schreibsignal 62 von der Ausführungseinheit 10 empfängt und einem anderen Eingang D, der mit dem internen Bus 20 verbunden ist. Ein Q- Ausgang des Flipflops 60 ist direkt mit einem Eingang einer AND-Schaltung 64 und über einen Inverter 66 mit einem Eingang einer anderen AND-Schaltung 68 verbunden. Die AND- Schaltung 68 ist an ihrem zweiten Eingang so angeschlossen, daß sie direkt das Sperrbefehlssignal 22-i empfängt, und mit ihrem dritten Eingang so, daß sie das Aufwärts-Zählsignal des entsprechenden Zählregisters 30-i empfängt. Die AND-Schaltung 64 hat einen zweiten Eingang, der so angeschlossen ist, daß er das Aufwärts-Zählsignal des entsprechenden Zählregisters 30-i empfängt, und einen dritten Eingang, der so angeschlossen ist, daß er das T2-Zyklussignal empfängt. Ausgänge der zwei AND-Schaltungen 64 und 68 sind mit einer OR-Schaltung 70 verbunden, welche das oben erwähnte Sperrsignal 52-i erzeugt, welches einem in einem Eingangsanschluß des zugehörigen Speicherregisters 42-i vorgesehenen Gate zugeführt wird. Ein anderes, in einem Ausgangsanschluß des Speicherregisters 42-i vorgesehenes Gate wird durch das Speicherregister-Lesesignal 50-i gesteuert.
  • Wie aus Fig. 8 zu ersehen ist, ermöglicht es die Steuerflag, daß zwischen einem ersten Mode, in welchem das Speicherregister den Inhalt des Zählregisters nur dann sperrt, wenn das Sperrbefehlssignal erzeugt wird, wie bei dem herkömmlichen Datenprozessor, und einem zweiten Mode, in welchem das Speicherregister als der Puffer für das Zählregister arbeiten kann, auszuwählen
  • Eine Aufwärts-Zähloperation des in Fig. 8 gezeigten Zählabschnitts wird in einem Zeitablauf und einer Weise, wie in der ersten Ausführungsform ausgeführt, und deshalb wird eine detaillierte Beschreibung desselben weggelassen, ausgenommen der Steuerschaltung, die dem Speicherregister zugeordnet ist.
  • Eine Beschreibung der Operation des in Fig. 8 gezeigten Zählabschnitts wird mit Bezug auf Fig. 9, die ein Zeitablaufdiagramm der Operation des Datenprozessors darstellt, gegeben.
  • Angenommen, daß der Inhalt des ersten Zählregisters 30-1 zu einem Zeitablauf t0 "a" ist, wird der Inhalt des ersten Zählregisters 30-1 zu einem Zeitablauf t3x (x =0, 1, 2, . . . ) aufwärts gezählt bzw. erhöht. Es sei ebenfalls angenommen, daß sich die Steuerflag 60 zum Zeitablauf t0 in einem Reset-Zustand befindet. Falls das Sperrbefehlssignal 22-1 zu einem Zeitablauf t3 aktiviert wird, wird auch das Sperrsignal 52-1 im T2-Zyklus in dem gleichen Zeitablauf t3 aktiviert, da die Flag 60 sich in dem Reset-Zustand befindet. Deshalb wird das aufwärts gezählte Datum "a+2" für das erste Zählregister 30-1 in dem ersten Speicherregister 42-1 gehalten. In Abhängigkeit von dem Sperrbefehlssignal 22-1 erzeugt der Unterbrechungskontroller 16 das Unterbrechungsanforderungssignal 26, und die Ausführungseinheit 10 beginnt die Unterbrechungsoperation. In einem Programm der Unterbrechungsverarbeitung liest die Ausführungseinheit 10 den Inhalt des Speicherregisters 42-1 und führt anschließend einen Befehl zum Setzen der Steuerflag 60 aus. Als Ergebnis der Ausführung dieses Befehls beginnt das Speicherregister 42-1 seine Arbeit als Puffer für das Zählregister 30-1. Deshalb sperrt im Zeitablauf t9 das Speicherregister 42-1 das aufwärts gezählte Datum des Zählregisters 20-1. Insbesondere bedeuten während einer Periode, in welcher die Steuerflag 60 gesetzt ist, das Lesen des Speicherregisters das Lesen des Zählregisters.
  • Anschließend wird in einem Zeitablauf t12 das Sperrbefehlssignal 22-1 wieder aktiviert. Zu dieser Zeit setzt die Ausführungseinheit 10 die Steuerflag 60 zurück in den Ablauf der Unterbrechungs-Verarbeitungsoperation, die durch das Sperrbefehlssignal gestartet wurde, so daß das Speicherregister 42-1 die Pufferarbeit für das Zählregister 30-1 beendet. Dann wird der Inhalt des Speicherregisters 42-1 ausgelesen. Das bedeutet, das Lesen des Inhalts des Zählregisters, wenn das Sperrbefehlssignal erzeugt wird. Anschließend setzt die Ausführungseinheit 10 die Steuerflag wieder in Übereinstimmung mit einem Programm, so daß das Speicherregister 42-1 wieder als der Puffer für das erste Zählregister 30-1 arbeitet.
  • Wie aus der obigen Beschreibung zu ersehen ist, hat in der zweiten Ausführungsform das Speicherregister die Funktion als Puffer für das Zählregister, wie in der ersten Ausführungsform. Die Ausführungseinheit kann jedoch wahlfrei durch Setzen und Zurücksetzen der Steuerflag die inhärente Funktion des Speicherregisters, in welche das Speicherregister den Inhalt des Zählregisters sperren wird, nur dann, wenn das Sperrbefehlssignal, wie in dem herkömmlichen Datenprozessor erzeugt wird, und die Pufferfunktion, in welcher das Speicherregister als Puffer für das Zählregister arbeitet, auswählen. Zusätzlich gewährleistet im letzteren Fall der Datenprozessor eine hohe Befehlsausführungsgeschwindigkeit durch Lesen des Inhalts des Speicherregisters unter Übernahme der Funktion des Puffers des Zählregisters, wie in der ersten Ausführungsform.
  • Wie aus der oben erwähnten Ausführungsform offensichtlich wird, hat der Datenprozessor gemäß der vorliegenden Erfindung eine hohe Befehlsausführungseffizienz bei kleiner Anzahl von zusätzlichen Schaltungen zum Steuern der Speicheroperation der Speicherregister, welche den Inhalt der Zählregister temporär speichern, so daß die Speicherregister als ein Puffer für die Zählregister arbeiten können. Dieser Vorteil ist sehr effektiv in einem Steuersystem, in welchem der Wert der Zählregister häufig ausgelesen werden muß.
  • In den oben erwähnten Ausführungsformen wurden die drei Zählregister und die entsprechende Anzahl von Speicherregistern vorgesehen. Die Anzahl der Zählregister und die Anzahl der Speicherregister kann jedoch frei ausgewählt werden. Je größer die Anzahl der Zählregister wird, desto länger wird das Intervall der Aufwärts-Zähloperation für jedes Zählregister auf der Grundlage der Zeitteilung. In dem herkömmlichen Datenprozessor wird deshalb der Ausführungszyklus des Befehls zum Lesen des Zählregisters länger, wenn die Anzahl der Zählregister steigt. In dem Datenprozessor gemäß der vorliegenden Erfindung jedoch, können die Daten unabhängig von dem Aufwärts-Zählintervall jedes Zählregisters ausgelesen werden, und deshalb wird, je größer die Anzahl der Zählregister wird, der Vorteil der vorliegenden Erfindung um so beachtlicher.

Claims (7)

1. Datenprozessor mit:
einem internen Bus (20), mit dem internen Bus verbundenen Speichervorrichtungen (12, 14) zum Speichern von Programmen und verschiedenen Daten, einer Ausführungsvorrichtung (10), die über den internen Bus mit den Speichervorrichtungen verbunden ist, um Prozesse durchzuführen, die auf den in der Speichervorrichtung gespeicherten Programmen basieren, und
einem Zählerabschnitt (18), der auf Zeitteilbasis gesteuert wird und über den internen Bus von der Durchführungsvorrichtung zugegriffen werden kann, wobei der Zählerabschnitt (18) eine Zählervorrichtung (34, 36) enthält und eine Vielzahl von Zählerregistern (30-1 bis 30-3), die über einen ersten lokalen Bus (32) mit den Zählervorrichtungen verbunden sind, wobei die Zählervorrichtung im Betrieb eine Zähloperation durchführt durch Zugriff auf jedes der Zählerregister in einem Zeitabschnitt, der für jeden der Zählregister vorbestimmt ist, auf der Basis der Zeitteilung, wobei
der Zählerabschnitt (18) ferner enthält: Speicherregister (41-1 bis 42-3) mit einer Anzahl entsprechend der Anzahl der Zählregister und verbunden mit einem zweiten lokalen Bus (38),
eine erste Kopplungsvorrichtung (40) zum Verbinden des ersten lokalen Busses mit dem zweiten lokalen Bus zu einem ersten vorbestimmten Zeitpunkt,
eine zweite Kupplungsvorrichtung (44) zum Verbinden des zweiten lokalen Busses mit dem internen Bus zu einem zweiten vorbestimmten Zeitpunkt, der sich vom ersten vorbestimmten Zeitpunkt in der Zeitteilbasis unterscheidet, gekennzeichnet durch
eine Steuervorrichtung (46-1 bis 46-3), die in Antwort auf ein entsprechendes Sperrinstruktionssignal (22-1 bis 22-3), welches aktiviert wird das Speicherregister in einer Weise steuert, daß das zugehörige Speicherregister über den ersten lokalen Bus überschrieben wird mit dem Inhalt des entsprechenden Zählregisters, wenn der erste lokale Bus mit dem zweiten lokalen Bus verbunden ist und das eingeschriebene Datum im Speicherregister beibehalten wird bis es ausgelesen wurde, wobei die Steuervorrichtung auch auf ein Speicherregister-Lesesignal (50-1 bis 50-3) antwortet, welches aktiviert wird, durch Steuern des Speicherregisters auf eine Weise, daß das zugehörige Speicherregister ausgelesen wird durch den zweiten lokalen Bus und den internen Bus, wenn der interne Bus mit dem zweiten lokalen Bus verbunden ist, und wobei die Steuervorrichtung unmittelbar nach dem Auslesen in der Lage ist, das oben erwähnte Überschreiben und so die Benutzung des Speicherregisters als Zählregisterpuffer erneut zu starten, bis das entsprechende Sperrinstruktionssignal wieder aktiviert wird.
2. Datenprozessor nach Anspruch 1, wobei die Zählervorrichtung (34, 36) einen Inkrementor (34) aufweist, der über den ersten lokalen Bus den Inhalt jedes der Zählregister empfängt und in einem ersten Zyklus eines Aufwärts-Zählbetriebes ein inkrementiertes Datum ausgibt zu einer Haltevorrichtung (36), wobei die Haltevorrichtung in einem zweiten Zyklus des Aufwärts-Zählbetriebes die gesperrten Daten über den lokalen Bus in dasselbe Zählregister schreibt, so daß die Zählregister sequentiell und zyklisch auf Zeitteilbasis in vorbestimmten Intervallen hochgezählt werden durch das Zusammenwirken des Inkrementors mit der Haltevorrichtung.
3. Datenprozessor nach Anspruch 2, wobei die Kopplungsvorrichtung (40) im ersten Zyklus des Aufwärts-Zählbetriebes den ersten lokalen Bus vom zweiten lokalen Bus trennt und im zweiten Zyklus des Hochzählbetriebes den ersten lokalen Bus mit dem zweiten lokalen Bus verbindet.
4. Datenprozessor nach Anspruch 3, wobei die Steuervorrichtung Steuerschaltungen (46-1 bis 46-3) aufweist in einer Anzahl entsprechend der Anzahl der Speicherregister, wobei jede Steuerschaltung einem entsprechenden der Speicherregister zugeordnet ist und im Betrieb das zugeordnete Speicherregister veranlaßt, den Inhalt des entsprechenden Zählregisters zu halten in Antwort auf das Sperrinstruktions-Signal und die gesperrten Daten zu halten, bis das Speicherregister-Lesesignal empfangen wird.
5. Datenprozessor nach Anspruch 4, wobei jeder der Steuerschaltkreise (46-1 bis 46-3) ein Reset-Set-Flip-Flop (54) aufweist, dessen Seteingang verbunden ist zum Empfang des Speicherregister-Lesesignals und dessen Reset-Eingang verbunden ist zum Empfang des Sperrinstruktions-Signals, eine OR-Schaltung (56), deren erster Eingang mit dem Q-Ausgang des Flip-Flops und dessen zweiter Eingang direkt für den Empfang des Sperrinstruktions-Signals verbunden ist, und eine AND-Schaltung (58), deren erster Eingang verbunden ist zum Empfang des Ausgangssignals des OR-Schaltkreises und dessen zweiter und dritter Eingang verbunden ist zum Empfang eines Signals, das den zweiten Zyklus des Aufwärtszählbetriebes anzeigt und eines Aufwärts-Signals des entsprechenden Zählregisters, so daß die AND-Schaltung ein Sperrsignal zum zugehörigen Speicherregister erzeugt.
6. Datenprozessor nach Anspruch 3, wobei die Steuerschaltung (46-i) in Antwort auf ein Steuerflag-Schreibsignal (62) alternativ das zugehörige Speicherregister entweder in einen ersten Modus versetzt, in welchem das zugehörige Speicherregister den Inhalt des entsprechenden Zählregisters nur sperrt, wenn das Sperrinstruktions-Signal erzeugt wird, oder in einen zweiten Modus, in welchem das zugehörige Speicherregister als Puffer für das Zählregister funktioniert, um den Inhalt des entsprechenden Zählregisters beizubehalten.
7. Datenprozessor nach Anspruch 6, wobei die Steuerschaltung (46-i) ein Steuerflag (60) aufweist, die durch das Steuerflag-Schreibsignal (62) aus der Ausführungsvorrichtung gesetzt wird, einen ersten AND- Schaltkreis (64), dessen erster Eingang verbunden ist für den direkten Empfang eines Ausgangs des Steuerflags, dessen zweiter Eingang verbunden ist zum Empfang des Aufwärtszähl- Signals des entsprechenden Zählregisters und dessen dritten Eingang verbunden ist zum Empfang eines Signals, das den zweiten Zyklus des Aufwärts-Zählbetriebes anzeigt, eine zweite AND-Schaltung (68), deren erster Eingang verbunden ist für den Empfang des Ausgangs des Steuerflags über einen Inverter (66), dessen zweiter Eingang verbunden ist zum direkten Empfang des Sperrinstruktions-Signals und dessen dritter Eingang verbunden ist zum Empfang des Aufwärts- Zählsignals des entsprechenden Zählregisters, und einen OR- Schaltkreis (70), der mit den Ausgängen der zwei AND- Schaltkreise verbunden ist, um ein Sperrsignal zum zugehörigen Speicherregister zu erzeugen.
DE3851160T 1987-01-16 1988-01-18 Datenprozessor mit schnellem Zugriff zum Inhalt interner Zähler. Expired - Fee Related DE3851160T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62007577A JPH0695304B2 (ja) 1987-01-16 1987-01-16 デ−タ処理装置

Publications (2)

Publication Number Publication Date
DE3851160D1 DE3851160D1 (de) 1994-09-29
DE3851160T2 true DE3851160T2 (de) 1995-04-06

Family

ID=11669666

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3851160T Expired - Fee Related DE3851160T2 (de) 1987-01-16 1988-01-18 Datenprozessor mit schnellem Zugriff zum Inhalt interner Zähler.

Country Status (4)

Country Link
US (1) US4931983A (de)
EP (1) EP0275125B1 (de)
JP (1) JPH0695304B2 (de)
DE (1) DE3851160T2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272754B2 (en) * 2003-09-27 2007-09-18 International Business Machines Corporation Implementation-efficient multiple-counter value hardware performance counter

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4300195A (en) * 1979-08-09 1981-11-10 Motorola, Inc. CMOS Microprocessor architecture
US4327411A (en) * 1980-03-04 1982-04-27 Bell Telephone Laboratories, Incorporated High capacity elastic store having continuously variable delay
US4516218A (en) * 1980-06-26 1985-05-07 Texas Instruments Incorporated Memory system with single command selective sequential accessing of predetermined pluralities of data locations
US4514802A (en) * 1982-03-31 1985-04-30 Harris Corporation Integrated program counter memory management register and incrementer
JPS5998228A (ja) * 1982-11-27 1984-06-06 Matsushita Electric Ind Co Ltd タイマ

Also Published As

Publication number Publication date
JPH0695304B2 (ja) 1994-11-24
EP0275125B1 (de) 1994-08-24
JPS63175912A (ja) 1988-07-20
US4931983A (en) 1990-06-05
DE3851160D1 (de) 1994-09-29
EP0275125A3 (de) 1991-12-11
EP0275125A2 (de) 1988-07-20

Similar Documents

Publication Publication Date Title
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE3852928T2 (de) Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen.
DE2414311C2 (de) Speicherschutzeinrichtung
DE2953861C2 (de)
DE68925466T2 (de) Zeitgeberschaltung
DE2210704A1 (de) Verfahren und Vorrichtung zur Datenverarbeitung
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE69030931T2 (de) Mehrfachsequenzprozessorsystem
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE69114321T2 (de) Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät.
DE69414592T2 (de) Ausführung von datenverarbeitungsbefehlen
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2945168A1 (de) Motorsteuereinheit
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
DE2755611A1 (de) Steuereinheit fuer datenverarbeitungsanlagen
DE3850514T2 (de) Cachespeicher mit Treffervorhersagelogik.
DE2813080A1 (de) Einrichtung zur speicheradressierung
DE68927659T2 (de) Vektorprozessor mit Puffer für Vektordaten-Vorbereitung
DE19824289C2 (de) Pipelineverarbeitungsmaschine
DE4134392C2 (de) Verfahren und Vorrichtung zum Ungültigmachen von Befehlen in Geräten mit Parallelverarbeitung
DE2625113C2 (de) Speicherschutzeinrichtung
DE3688806T2 (de) Instruktionsprozessor.
DE68926266T2 (de) Datenprozessor mit der Fähigkeit, Unterbrechungen mit hoher Geschwindigkeit zu verarbeiten
DE2064383B2 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
DE2725614C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee