DE69026479T2 - Datenprozessor mit Wartezustandsteuerungseinheit - Google Patents

Datenprozessor mit Wartezustandsteuerungseinheit

Info

Publication number
DE69026479T2
DE69026479T2 DE69026479T DE69026479T DE69026479T2 DE 69026479 T2 DE69026479 T2 DE 69026479T2 DE 69026479 T DE69026479 T DE 69026479T DE 69026479 T DE69026479 T DE 69026479T DE 69026479 T2 DE69026479 T2 DE 69026479T2
Authority
DE
Germany
Prior art keywords
wait
wait state
bus cycle
cycle
bus
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
DE69026479T
Other languages
English (en)
Other versions
DE69026479D1 (de
Inventor
Norifumi Yoshimatsu
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 Electronics 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
Publication of DE69026479D1 publication Critical patent/DE69026479D1/de
Application granted granted Critical
Publication of DE69026479T2 publication Critical patent/DE69026479T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Description

    Hintergrund der Erfindung
  • Die vorliegende Erfindung bezieht sich auf einen Datenprozessor wie etwa einen Mikroprozessor oder einen Mikrocomputer und, genauer, auf eine Waitstate-Steuereinheit in einem Datenprozessor zur Steuerung des Einfügens von einem oder mehreren Waitstates in eine Sequenz von Zuständen, aus denen jeder Buszyklus gebildet wird.
  • Ein Datenprozessor besteht aus einem Informationsverarbeitungssystem in Verbindung mit einer Speichereinheit und einer Mehrzahl von peripheren E/A-(Eingabe/Ausgabe-)Geräten. Liest oder schreibt der Datenprozessor Daten aus oder in die Speichereinheiten und die peripheren E/A-Geräte, so führt er in Übereinstimmung mit einer Sequenz von Zuständen, deren Anzahl durch eine Bussteuereinheit der Datenprozessor bestimmt wird und im allgemeinen aus einigen Zuständen besteht, einen Leseoder Schreibbuszyklus durch. Jeder der Zustände entspricht einer Periode eines System-Taktsignals.
  • Wie wohlbekannt ist, verwendet ein Datenprozessor nicht immer Speicherbausteine, welche die Speichereinheit und die peripheren E/A-Einheiten bilden, auf die jeweils mit hoher Geschwindigkeit zugegriffen werden kann. Es können eine oder mehrere Speichereinheiten und/oder eine oder mehrere periphere E/A-Einheiten verwendet werden, auf die nur mit niedriger Geschwindigkeit zugegriffen werden kann. In einem solchen Fall kann es sein, daß die nötigen Daten nicht innerhalb einer durch den Buszyklus der Bussteuereinheit bestimmten Zugriffszeit von der oder in die Speichereinheit bzw. E/A-Einheit gelesen bzw. geschrieben werden können.
  • Um diesen Nachteil zu überwinden, ist für den Datenprozessor eine Waitstate-Steuereinheit vorgesehen, mit der der Buszyklus des Datenprozessors gesteuert oder verlängert werden kann. Diese Einheit erzeugt in Reaktion auf einen auszuführenden Buszyklus ein Ready-Signal, um die Bussteuereinheit zu informieren, auf welche Einheit mit niederer Zugriffsgeschwindigkeit im Moment zugegriffen wird. Solange das Ready-Signal erzeugt wird, fügt die Bussteuereinheit einen Waitstate in die Sequenz der Zustände ein, aus denen der Buszyklus gebildet wird. Die Waitstate-Steuereinheit schließt eine Buszyklus- Beurteilungsschaltung zur Beurteilung welche Art von Buszyklus im Moment ausgeführt werden soll, ein Register zur Speicherung einer Vielzahl von Anzahlen von Wartezyklen, die eingeschoben werden sollen, einen Wartezyklus-Auswähler und -Decoder zur Auswahl einer der Wartezyklus-Anzahlen in Reaktion auf die beurteilte Art des Buszyklus und zur Decodierung der ausgewählten Wartezyklus- Anzahl, sowie einen Ready-Signalgenerator, um als Antwort auf die decodierte Buszyklus-Anzahl das Ready-Signal zu erzeugen, bis der Waitstate in einer Anzahl bestimmt durch die decodierte Wartezyklus-Anzahl in den Buszyklus eingeschoben wurde, ein.
  • Neuerdings wird von einem Datenprozessor verlangt, mit hoher Geschwindigkeit zu arbeiten. Zu diesem Zweck wird die Frequenz des System- Taktsignals hoch gewählt, und die Bussteuereinheit führt jeden der Schreib- und Lesebuszyklen in zwei Zuständen durch. In diesem Fall prüft die Bussteuereinheit das Ready-Signal von der Waitstate-Steuereinheit zu einem mittleren Zeitpunkt während des zweiten Zustands, um zu beurteilen, ob der Waitstate eingefügt werden soll oder nicht. Dies bedeutet, daß die Waitstate-Steuereinheit das Ready- Signal innerhalb einer Zeit, die eineinhalb Taktzyklen des System-Taktsignals entspricht, erzeugen muß.
  • Die Waitstate-Steuereinheit entsprechend dem Stand der Technik führt diese Operation jedoch wie oben beschrieben in sequentieller Weise durch. In anderen Worten, die Waitstate-Steuereinheit benötigt eine relativ lange Betriebszeit, um das Ready-Signal zu erzeugen. Aus diesem Grund ist die Vergrößerung der Betriebsgeschwindigkeit der Datenprozessor beschränkt.
  • in "ELEOTRONIG ENGINEERING, Bd. 59, Nr.675, März 1983, Seiten 103 - 105" wird ein "Soft-Wait-System" beschrieben, in dem eine durch Software auswählbare Wartelogik einen Mechanismus zum unabhängigen Setzen der Anzahl von Waitstates auf Peripheriekarten sowie zur Synchronisation von Bus- Transfers mit einem Taktsignal konstanter Frequenz vorsieht. Alle Bus- Schreiboperationen, die auftreten während ein Signal auf System-Reset gesetzt ist, schreiben nicht auf Peripheriegeräte, sondern in ein Warte-RAM. Ein Ausgangsbit des RAM wird verwendet, um einen durch Software auswählbaren einzelnen Wartezyklus zu erzeugen, der (für das PAL) Zeit schafft, um zu entscheiden, ob weitere Waitstates eingeschoben werden sollen.
  • WO 89102128 offenbart einen Mikrocomputer mit externem Businterface, um Kommunikation mit externen Peripheriegeräten wie etwa einem Speicher oder ähnlichem zu ermöglichen, und dieser Mikrocomputer ist ausgerüstet mit eingebauter Chip-Select-Logik sowie der Möglichkeit zur programmierbaren Dehnung des Buszyklus. Die Chip-Select-Logik gibt Chip-Select-Signale an externe Geräte, wenn Adressen innerhalb vorgewählter Bereiche fallen, wodurch die für diesen Zweck normalerweise erforderliche "Glue"-Logik hinfällig wird. Bei der programmierbaren Dehnung des Buszyklus wird eine vorgewählte Anzahl von "Waitstates" in irgendeinen externen Buszyklus, auf den die Operation programmiert ist, eingefügt. Dies geschieht durch das Dehnen oder Einfrieren des Taktsignals der CPU und des externen Businterface. Andere interne Taktsignale wie etwa die, die Timer und/oder die Baudraten-Generatoren für die serielle Schnittstelle treiben, werden bei der Dehnung des Buszyklus nicht eingefroren.
  • Zusammenfassung der Erfindung
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, eine Datenprozessor mit einer verbesserten Waitstate-Steuerschaltung zu schaffen.
  • Eine andere Aufgabe der vorliegenden Erfindung ist die Schaffung einer Waitstate-Steuereinheit, welche nicht die Beschränkung der Vergrößerung der Betriebsgeschwindigkeit eines Datenprozessors aufweist.
  • Die Aufgabe wird durch einen Datenprozessor nach Anspruch 1 gelöst. Die Unteransprüche zeigen weitere vorteilhafte Merkmale der Erfindung.
  • Ein Datenprozessor entprechend der vorliegenden Erfindung schließt eine Waitstate-Steuereinrichtung zur Erzeugung eines Ready-Signals ein, um das Einfügen eines Waitstate in einen in Ausführung befindlichen Buszyklus zu veranlassen, welche eine Buszyklus-Beurteilungsschaltung, um zu beurteilen, ob eine bestimmte Buszyklusart im Moment ausgeführt wird und um beurteilte Buszyklusinformationen zu erzeugen, ein Register zur Speicherung einer Vielzahl von Anzahlen von Wartezyklen, einen Wartezyklus-Auswähler/Decoder, um eine der Anzahl der Wartezyklen auszuwählen und die ausgewählte Anzahl von Wartezyklen zur Erzeugung einer decodierten Wartezyklenanzahl, die eingeschoben werden soll, zu decodieren, einen Wartezyklus-Präsenzlabsenz- Detektor, der die ausgewählten Wartezyklus-Anzahl erhält, um festzustellen, ob ein Waitstate in den in Ausführung befindlichen Buszyklus eingeschoben werden soll oder nicht, und um ein Detektionssignal zu erzeugen, wenn festgestellt wird daß ein Waitstate eingeschoben werden soll, und einen Ready-Signal-Generator, der mit dem Warteyzklus-Auswähler/Decoder und dem Wartezyklus- Präsenzlabsenz-Detektor verbunden ist, um in Reaktion auf das Detektionssignal des Wartezyklus-Präsenzlabsenz-Detektors das Ready-Signal zu erzeugen, ungeachtet des Nichtvorhandenseins der decodierten Wartezyklus-Anzahl von dem Wartezyklus-Auswähler/Decoder und um fortgesetzt das Ready-Signal zu erzeugen, bis der Waitstate in einer Anzahl, gegeben durch die decodierte Wartezyklus-Anzahl, in den in Ausführung befindlichen Buszyklus eingeschoben wird, aufweist.
  • Die vorliegende Erfindung trägt der Tatsache Rechnung, daß der Wartezyklus-Auswähler/decoder eine verhältnismäßig lange Zeit benötigt, um die ausgewählte Wartezyklen-Anzahl zu decodieren. Aus diesem Grund ist der Wartezyklus-Präsenzlabsenz-Detektor vorgesehen, um festzustellen, ob es erforderlich ist oder nicht, einen Waitstate in den momentanen Buszyklus einzufügen. Da dieser Detektor nur die Notwendigkeit des Einfügens des Waitstate feststellt, ist die Feststellungsoperation in einer sehr kurzen Zeit abgeschlossen. Dementsprechend erzeugt der Ready-Signal-Generator das Ready-Signal vor dem mittleren Zeitpunkt des zweiten Zustands des momentanen Buszyklus, und das erzeugte Ready-Signal wird zu diesem Zeitpunkt erfaßt. Dadurch wird ein Waitstate in den momentanen Buszyklus eingefügt. Anders ausgedrückt, ein Waitstate wird nach dem zweiten Zustand erzeugt. Das nächste Abtasten des Ready-Signals wird zu einem mittleren Zeitpunkt dieses Waitstate durchgeführt. Vor diesem Abtastzeitpunkt beendet der Wartezyklus-Auswähler/decoder die Decodieroperation, um die decodierte Wartezyklus-Anzal dem Ready-Signal- Generator zur Verfügung zu stellen. Ist die decodierte Wartezyklus-Anzahl gleich 1, so stellt der Generator die Erzeugung des Ready-Signals ein, so daß kein weiterer Waitstate eingefügt wird. Ist andererseits die decodierte Wartezyklus- Anzahl größer oder gleich 2, so wird das Ready-Signal weiterhin erzeugt, bis die erforderliche Anzahl von Waitstates eingefügt ist. Erzeugt der Wartezyklus- Präsenzlabsenz-Detektor nicht das Detektionssignal, so wird selbstverständlich kein Ready-Signal erzeugt.
  • Kurze Beschreibung der Zeichnungen
  • Die obengenannten sowie andere Aufgaben, Vorteile und Kennzeichen der vorliegenden Erfindung werden durch die nachfolgende Beschreibung in Verbindung mit den beiliegenden Zeichnungen deutlicher werden, bei denen
  • Figur 1 ein Blockdiagramm eines Datenprozessors entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung darstellt;
  • Figur 2 ein Blockdiagramm der Waitstate-Steuereinheit (WCU) aus Figur 1 darstellt;
  • Figur 3 ein internes Schaltbild, das einen Wartezyklus- Auswähler/decoder und eine Wartezyklus-Präsenzlabsenz-Detektor wie ihn Figur 2 zeigt, darstellt; und
  • Figur 4 ein Flußdiagramm darstellt, das die Betriebsweise der WCU zeigt.
  • Detaillierte Beschreibung der Erfindung
  • Bezugnehmend auf Figur 1 ist nun der Mikroprozessor 1 als ein Datenprozessor entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung als integrierte Halbleiterschaltung hergestellt und er weist eine Anzahl von mit einem System-Adreßbus 71 verbundenen Adreßanschlüssen 7, eine Anzahl von mit einem System-Datenbus 81 verbundenen Datenanschlüssen 8 und eine Anzahl von mit einem System-Steuer4statusbus 91 verbundenen Steuer- Istatusanschlüssen 9 auf. Obwohl nicht gezeigt, sind eine Speichereinheit, die ein Programm und Daten speichert, und eine Mehrzahl von peripheren E/A-Einheiten an die Busse 71, 81 und 91 angeschlossen. Der Mikroprozessor 1 weist ferner eine zentrale Recheneinheit (CPU) 2, eine direkte Speicherzugriffseinheit (DMAU) 4, eine Auffrisch-Steuereinheit (REFU) 5, eine Bus-Steuereinheit (WCU) 3, eine Waitstate-Steuereinheit (WCU) 6 und einen Taktgenerator (CLGU) 10 auf. Die CPU 2 führt ein Programm aus, um eine von jeder Anweisung verlangte Datenverarbeitungsoperation durchzuführen. Die Anforderung, jede Anweisung abzurufen und Daten von der oder in die Speichereinheit und die peripheren E/A- Einheiten zu lesen oder zu schreiben, wird über einen Bus 21 von der CPU 2 an die BCU 3 übertragen. Die DMAU 4 führt eine Datenübertragungsoperation zwischen der Speichereinheit und der peripheren E/A-Einheit anstelle der CPU 2 durch. Die Anforderung für die DMAU-Datenübertragung wird über einen Bus 41 an die BCU 3 übergeben. Die REFU 5 führt eine Auffrisch-Operation an einem dynamischen Direktzugriffsspeicher (DRAM), der einen Teil der Speichereinheit bildet, durch. Die Anforderung für die Auffrisch-Operation wird über einen Bus 51 an die BCU 3 übergeben. Die CPU 2 schreibt oder setzt über einen Bus 22 Steuerund/oder Parameter-Daten in den DMAU 4, REFU 5 und der WCU 6. Der CLGU 10 erzeugt ein System-Taktsignal CLK, das an die CPU 2, die BCU 3, die DMAU 4, die REFU 5 und die WCU 6 ausgegeben wird. Die BCU 3 antwortet auf die jeweiligen Anforderungen von der CPU 2, DMAU 4 und REFU 5 und führt einen Buszyklus für diese Anforderungen durch, indem sie interne Adreß-, Daten- und Steuer4status-Busse 32, 33 und 34 treibt, welche jeweils über die entsprechenden Reihen von Anschlüssen 7, 8 und 9 wiederum an die Systembusse 71, 81 und 91 angeschlossen sind. In diesem Ausführungsbeispiel führt die BCU 3 im Grunde jeden der Buszyklen in den zwei Zuständen T1 und T2 durch, von denen jeder einem Periodenzyklus des System-Taktsignals CLK entspricht. In der BCU 3 enthalten ist ein Statussignal-Generator (SSG) 31 zur Erzeugung eines ersten Statussignals T1 und eines zweiten Statussignals T2. Der erste Status TI ist für die Erzeugung der Adresseninformation und der Steuer4status-lnformation und der zweite Status T2 für den Datenausgabe- oder Datenabruf-Status reserviert. Um eine Periode eines Buszyklus zu steuern oder zu verlängern, antwortet die WCU 6 auf die Adresseninformation, die über einen Verzweigungsbus 61 von dem Bus 32 geliefert wird, und auf die Statusinformation, die über einen Verzweigungsbus 62 von dem Bus 34 geliefert wird, und erzeugt ein Ready-Signal 63. Der SSG 31 prüft den Pegel des Ready-Signals 63 zu einem mittleren Zeitpunkt des zweiten Zustands T2. Wenn das geprüfte Ready-Signal sich im Hochpegelzustand befindet, erzeugt der SSG ein Waitstate-Signal TW nach Ende des zweiten Zustands T2. Der Waitstate TW entspricht ebenfalls einem Periodenzyklus des System-Taktsignals CLK. Der Waitstate TW wird wiederholt so lange eingefügt, wie das Ready-Signal sich im Hochpegelzustand befindet. Das Ready-Signal 63 wird ferner an die CPU 2, die DMAU 4 und die REFU 5 ausgegeben, um mitzuteilen, daß der Waitstate TW in den Buszyklus eingefügt wird.
  • Bezugnehmend auf Fig. 2 weist die WCU 6 eine Buszyklus- Beurteilungsschaltung 601, ein Wartezyklenanzahl-Register 603, einen Wartezyklen-Auswähler/decoder 605, einen Wartezyklen-Präsenzlabsenz- Detektor 608 und einen Ready-Signal-Generator 610 auf. Die Buszklus- Beurteilungsschaltung 601 beurteilt in Reaktion auf die Information von den Verzweigungsbussen 61 und 62 einen gegenwärtig in Ausführung befindlichen Buszyklus. In diesem Ausführungsbeispiel beurteilt die Schaltung 601 im wesentlichen vier Arten von Buszyklen: Der erste Buszyklus ist ein Speicher- Buszyklus, um auf die externe Speichereinheit zuzugreifen, der zweite Buszyklus ist ein E/A-Buszyklus, um auf die peripheren E/A-Einheiten zuzugreifen, der dritte Buszyklus ist ein DMA-Buszyklus für eine DMA-Datenübertragung und der vierte Buszyklus ist ein Auffrisch-Buszyklus für eine DRAM-Auffrischoperation. Diese vier Buszyklen können anhand der Statusinformation über den Bus 62 beurteilt werden. Die Schaltung 601 beinhaltet ein Speichergrenzregister (WMB) 6011, das Grenzdaten speichert, um einen Speicherbereich in drei Blöcke, d.h. einen unteren, einen mittleren und einen oberen Speicherblock, aufzuteilen. Die Grenzdaten können von der CPU 2 durch eine Anweisung überschrieben werden. Entsprechend ist der Speicher-Buszyklus weiter unterteilt in drei Buszyklen: Der erste ist ein Niederspeicher-Buszyklus, um auf den unteren Speicherblock zuzugreifen, der zweite ist ein Mittelspeicher-Buszyklus, um auf den mittleren Speicherblock zuzugreifen, und der dritte ist ein Hochspeicher-Buszyklus, um auf den oberen Speicherblock zuzugreifen. Der Speicherblock, auf den zugegriffen werden soll, kann in Reaktion auf die Adresseninformation von dem Bus 61 ermittelt werden. Als Folge davon werden sechs Arten von Buszyklen durch die Beurteilungsschaltung beurteilt. Die beurteilten Daten 602, die von der Schaltung 601 erzeugt werden, werden an den Wartezyklus-Auswähler/decoder 605 ausgegeben, der des weiteren von einem Wartezyklenanzahl-Register 603 Daten 604 erhält, die Anzahlen von Wartezyklen darstellen. Dieses Register 603 beinhaltet eine Mehrzahl von Speicherregionen 603-1 bis 603-6 (sechs in diesem Ausführungsbeispiel). Jede der Speicherregionen 603-1 bis 603-6 speichert Daten, die für eine Anzahl von Wartezyklen stehen, die in den Buszyklus eingeschoben werden sollen, und die von der CPU 2 durch Anweisungen festgesetzt und neu geschrieben werden. Die Speicherregionen 603-1 bis 603-6 entsprechen jeweils den oben erwähnten sechs Buszyklen und speichern daher Wartezyklenanzahl- Daten IOW für den E/A-Buszyklus, UMW für den Hochspeicher-Buszyklus, MMW für den Mittelspeicher-Buszyklus, LMW für den Niederspeicher-Buszyklus, DMAW für den DMA-Buszyklus und RFW für den Auffrisch-Buszyklus. Jede dieser Wartezyklenanzahl-Daten IOW bis RFW besteht in diesem Ausführungsbeispiel aus zwei Bits und kann daher die Anzahl der einzufügenden Waitstates auf einen Wert von 0 bis 3 festsetzen. Der Wartezyklen-Auswähler/decoder 605 wählt in Reaktion auf die Information 602 von der Buszyklus-Beurteilungsschaltung 601 eine der Anzahl-Daten 604 aus und decodiert dann die ausgewählten Wartezyklenanzahl-Daten, um die decodierte Waitstate-Anzahl 606 zu erzeugen. Die ausgewählte Wartezyklenanzahl wird ferner als Daten 607 an einen Wartezyklen-Präsenzlabsenz-Detektor 605 ausgegeben. Dieser Detektor 608 stellt fest, ob die ausgewählten Wartezyklenanzahl-Daten 607 gleich Null sind oder nicht, d.h. ob es erforderlich ist oder nicht, einen Waitstate in den momentanen Buszyklus einzufügen. Dieses Feststellungsresultat wird als ein Signal 609 ausgegeben, das einen Hochpegelzustand einnimmt, wenn der ausgewählte Wartezyklenanzahl-Parameter 607 ungleich Null ist.
  • Wie aus Fig. 3 zu ersehen ist, beinhaltet der Wartezyklen- Auswähler/Deteor 605 sechs Übertragungsgates TG1 bis TG6, an denen jeweils die Wartezyklenanzahl-Daten IOW bis RFW anliegen. Jedes der Übertragungs- Gates TG1 bis TG6 wird geöffnet, wenn das zugeordnete Auswählsignal S1 bis S6 einen aktiven Pegezustand einnimmt. Diese Auswählsignale S1 bis S6 werden von der Buszyklus-Beurteilungsschaltung 601 als beurteilte Daten 602 bereitgestellt. Wenn z.B. die Beurteilungsschaltung entscheidet, daß der momentane Buszyklus der E/A-Buszyklus ist, so nimmt nur das Auswählsignal S1 den aktiven Pegelzustand ein, um das Übertragungsgate TG1 zu öffnen. Dadurch werden die Wartezyklenanzahl-Daten IOW für den E/A-Buszyklus ausgewählt. Die Wartezyklenanzahl-Daten, die dadurch ausgewählt werden, werden an eine Decoderschaltung 6051 weitergegeben und dann in die Anzahl von Waitstates 606, die in den Buszyklus eingeschoben werden sollen, decodiert. Die ausgewählten Wartezyklenanzahl-Daten werden ferner an ein ODER-Gate 6081 ausgegeben, das den Wartezyklus-Präsenzlabsenz-Detektor 608 darstellt. Entsprechend nimmt das Detektionssignal 609 so lange einen Hochpegelzustand ein, wie die ausgewählten Wartezyklenanzahl-Daten ungleich Null sind. Nur wenn die Wartezyklenanzahl,die eingefügt werden soll, Null ist, nimmt das Signal 609 einen Niedrigpegelzustand ein.
  • Wie aus Fig. 2 zu ersehen ist, werden die decodierte Waitstate-Anzahl 606 und das Detektionssignal 609 an einen Ready-Signal-Generator 610 ausgegeben. Dieser Generator 610 beinhaltet einen Zähler 611, der ein Impuissignal 615 zählt, einen Komparator 613, der die decodierte Waitstate- Anzahl 606 mit dem Inhalt 612 des Zählers 611 vergleicht, um ein Vergleichs- Ausgangssignal 614 zu erzeugen, das den Niedrigpegelzustand einnimmt, wenn die Waitstate-Anzahl 606 gleich dem Inhalt des Zählers 612 ist, und einen Ready- Signal-Controller 616. Dieser Controller 616 reagiert auf die Statussignale T1 und T2, das Detektionssignal 609 und das Vergleichs-Ausgangssignal 614 und steuert den Pegel des Ready-Signals 63 sowie die Erzeugung des Zählmpulssignals 615.
  • Als nächstes wird nachfolgend unter Bezugnahme auf die Fig. 1 bis 3 und ferner auf Fig. 4 ein Betriebsvorgang beschrieben. Nehmen wir an, daß die BCU 3 den Niederspeicher-Buszyklus startet. Zu Beginn des Zustands T1 werden daher die Adressen- und die Statusinformation geändert, so daß die Buszyklus- Beurteilungsschaltung 601 das Auswählsignal S4 in den aktiven Pegezustand ändert. Dadurch werden die Wartezyklenanzahl-Daten LMW für den Niederspeicher-Buszyklus ausgewählt und an das ODER-Gate 6081 ausgegeben. Bei dieser Beschreibung sind die Wartezyklenanzahl-Daten LMW gleich null, um anzuzeigen, daß es erforderlich ist, einen Waitstate in den Niederspeicher- Buszyklus einzufügen. Entsprechend nimmt das Detektionssignal 609 des Wartezyklen-Präsenzlabsenz-Detektors 608 den gültigen Niedrigpegelzustand während des T1-Zustands ein. Der Ready-Signal-Generator 610 hält deshalb das Ready-Signal auf dem niedrigen Pegel. Die ausgewählten Wartezyklenanzahl- Daten LMW werden ferner an die Decoderschaltung 6051 ausgegeben. Während die Decoderschaltung 6051 die Wartezyklenanzahl-Daten LMW decodiert, vergeht eine vergleichsweise lange Zeit, so daß die decodierte Waitstate-Anzahl 606 wie in Fig. 4 dargestellt zu einem späteren Zeitpunkt des T2-Zustands erscheint. Auf der anderen Seite prüft der SSG (Status-Signalgenerator) 31 den Pegel des Ready-Signals 63 geichzeitig mit der aufsteigenden Flanke des Taktsignals CLK während des T2-Zustands. Da das Ready-Signal 63 sich im Niedrigpegelzustand befindet, wird kein Waitstate TW erzeugt. Da die Wartezyklenanzahl-Daten LMW gleich null sind, tritt ein Problem auf.
  • Daher wird der nächste Buszyklus, im Falle der vorliegenden Beschreibung ein E/A-Buszyklus, gestartet. Die Buszyklus-Beurteilungsschaltung 601 ändert das Auswählsignal S1 in den aktiven Pegelzustand. Dadurch wird der Wartezyklenanzahl-Parameter IOW ausgewählt und an den Wartezyklen- Präsenzlabsenz-Detektor 608, das ODER-Gate 6081, ausgegeben. Diese Daten IOW repräsentieren eine Wartezyklenanzahl von 2, so daß das Detektionssignal 609 während des T1 -Zustands in den Hoch pegelzustand geändert wird. In Reaktion darauf ändert der Ready-Signal-Controller 616 zu Beginn des T2- Zustands das Ready-Signal 63 in den Hochpegelzustand und erzeugt ferner den Zähl impuls 615. Der Zähler 611, der jedesmal, wenn ein Buszyklus gestartet wird, auf null gesetzt wird, vergrößert dadurch seinen Inhalt um eins. Zu diesem Zeitpunkt ist, wie oben erwähnt, die decodierte Waitstate-Anzahl 606 noch nicht von dem Decoder 6051 erzeugt. Gleichzeitig mit der ansteigenden Flanke des Taktsignals CLK während des T2-Zustands prüft der SSG 31 das Hochpegel- Ready-Signal 63 und erzeugt daher den Waitstate TW nach Ende des T2- Zustands. Die decodierte Waitstate-Anzahl 606 wird erzeugt und an den Komparator 613 während des T2-Zustands ausgegeben. Da die Anzahl 606 nicht gleich dem Inhalt des Zählers 612 ist, erzeugt der Komparator 613 den Hochpegelausgang 614. Der Ready-Signal-Controller 616 reagiert dann auf das Signal 614 anstelle des Detektionssignals 609. Da sich das Signal 614 im Hochpegelzustand befindet, wird während des ersten Waitstates TW das Ready- Signal 63 auf dem Hochpegel gehalten, und der Zählimpuls 615 wird erneut zu Beginn des Waitstates TW erzeugt. Da dadurch der Zähler 611 seinen Inhalt weiter um eins erhöht, wird das Vergleichs-Ausgangssignal 614 in den Niedrigpegelzustand geändert. Andererseits prüft der SSG 31 das Hochpegel- Ready-Signal 63 während des ersten Waitstates TW an der aufsteigenden Flanke des Taktsignals CLK, so daß nach dem ersten Waitstate ein weiterer zweiter Waitstate eingefügt wird. Da das Vergleichssignal 614 sich im Niedrigpegelzustand befindet, wird das Ready-Signal zu Beginn des zweiten Waitstate TW in den Niedrigpegelzustand geändert. Der SSG 31 prüft das Niedrigpegel-Ready-Signal 63 an der aufsteigenden Flanke des Taktsignals CLK während des zweiten Waitstate TW, so daß kein weiterer Waitstate mehr eingeschoben wird. Ein nächster Buszyklus wird gestartet.
  • In der obigen Beschreibung wird, wenn die Anzahl, die durch die Wartezyklenanzahl-Daten repräsentiert wird, gleich 1 ist, das Signal 614 auf dem Niedrigpegelzustand gehalten, so daß der zweite Waitstate TW weggelassen wird.
  • Falls die Waitstate-Anzahl den Wert 3 repräsentiert, wird das Hochpegel-Signal 614 auf dem Hochpegelzustand gehalten, bis der zweite Waitstate TW beginnt, so daß ein weiterer dritter Waitstate TW eingeschoben wird.
  • So kann durch das Vorsehen des Wartezyklen-Präsenzlabsenz- Detektors 608 die Steuerung für das Einschieben eines Waitstate selbst dann ausgeführt werden, wenn die BCU 3 im Grunde jeden Buszyklus in zwei Zuständen TI und T2 ausführt.
  • Die Anzahl der Buszyklen, die durch die Beurteilungsschaltung beurteilt werden, kann vergrößert werden und die Waitstate-Anzahl, die durch die Daten IOW bis RFW repräsentiert wird, kann ebenfalls vergrößert werden.

Claims (3)

1. Datenprozessor, der eine Waitstate-Steuereinheit zur Erzeugung eines Ready- Signals (63) einschließt, welches das Einschieben eines Waitstate in einen in Ausführung befindlichen Buszyklus veranlaßt, wobei die Waitstate-Steuereinheit aufweist:
eine erste Vorrichtung (601) zur Beurteilung, ob eine bestimmte Art von Buszyklus gegenwärtig ausgeführt wird, um beurteilte Buszyklus-Informationen zu erzeugen; eine Speichervorrichtung (603) zur Speicherung einer Vielzahl von Waitstate- Parametern, von denen jeder für eine Anzahl von Waitstates steht, die in einen Buszyklus eingeschoben werden sollen;
eine zweite Vorrichtung (TG1 - TG6), die in Reaktion auf die beurteilte Buszyklus- Information aus der Vielzahl der Waitstate-Parameter, die in der Speichervorrichtung gespeichert sind, einen auswählt und einen ausgewählten Waitstate-Parameter erzeugt;
eine dritte Vorrichtung (6051), die in Reaktion auf den ausgewählten Waitstate- Parameter eine Anzahl von Waitstates erzeugt, die eingeschoben werden sollen; gekennzeichnet dadurch, daß sie weiterhin aufweist:
eine vierte Vorrichtung (608), um den ausgewählten Waitstate-Parameter festzustellen und ein Detektionssignal (609) zu erzeugen, wenn die Anzahl der einzuschiebenden Waitstates, repräsentiert durch den ausgewählten Waitstate- Parameter, ungleich Null ist, und
eine fünfte Vorrichtung (610) zur Erzeugung eines Ready-Signals in Reaktion auf das Detektionssignal, ungeachtet des Nichtvorliegens der Anzahl der Waitstates aus der dritten Vorrichtung, die eingeschoben werden sollen, und zur fortgesetzten Erzeugung des Ready-Signals, so daß der Waitstate in einer Anzahl, bestimmt durch die Anzahl der Waitstates der dritten Vorrichtung, in den in Ausführung befindlichen Buszyklus eingeschoben wird.
2. Datenprozessor nach Anspruch 1, wobei die fünfte Vorrichtung (610) aufweist.
eine auf das Detektionssignal reagierende Steuervorrichtung für das Ready-Signal (616), um das Ready-Signal zu erzeugen, wobei diese Steuervorrichtung darüberhinaus Zählimpulse für jeden in einen momentanen Buszyklus eingeschobenen Waitstate erzeugt;
eine Zählvorrichtung (611), die in Reaktion auf die Zählimpulse einen Zählerausgangswert erzeugt, wobei diese Zählvorrichtung einen Buszyklus beginnt; und
eine Komparatorvorrichtung (613), die in Reaktion auf die Anzahl der Waitstates aus der dritten Vorrichtung, die eingeschoben werden sollen, sowie auf den Zählerausgangswert von der Zählvorrichtung ein Vergleichsausgangssignal für die Ready-Signal-Steuervorrichtung erzeugt, welches anzeigt, daß keine weiteren Waitstates in den momentanten Buszyklus eingeschoben werden sollen.
3. Datenprozessor nach Anspruch 1 oder 2, bei dem die vierte Vorrichtung (608) aus einem ODER-Gate (6081) besteht, das auf Waitstate-Parameter reagiert, die von der zweiten Vorrichtung (TG1 - TG6) ausgewählt wurden.
DE69026479T 1989-11-28 1990-11-28 Datenprozessor mit Wartezustandsteuerungseinheit Expired - Fee Related DE69026479T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1310102A JPH03167649A (ja) 1989-11-28 1989-11-28 ウエイト・サイクル制御装置

Publications (2)

Publication Number Publication Date
DE69026479D1 DE69026479D1 (de) 1996-05-15
DE69026479T2 true DE69026479T2 (de) 1996-12-05

Family

ID=18001209

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69026479T Expired - Fee Related DE69026479T2 (de) 1989-11-28 1990-11-28 Datenprozessor mit Wartezustandsteuerungseinheit

Country Status (4)

Country Link
US (1) US5201036A (de)
EP (1) EP0432575B1 (de)
JP (1) JPH03167649A (de)
DE (1) DE69026479T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04255028A (ja) * 1991-02-06 1992-09-10 Sharp Corp マイクロプロセッサ
DE69229081T2 (de) * 1991-03-01 2000-01-05 Advanced Micro Devices Inc Mikroprozessor mit externem Speicher
US5339440A (en) * 1992-08-21 1994-08-16 Hewlett-Packard Co. Wait state mechanism for a high speed bus which allows the bus to continue running a preset number of cycles after a bus wait is requested
TW390446U (en) * 1992-10-01 2000-05-11 Hudson Soft Co Ltd Information processing system
JPH06139191A (ja) * 1992-10-27 1994-05-20 Nec Corp バスサイクルタイミング制御回路
JP3231429B2 (ja) * 1992-11-06 2001-11-19 株式会社日立製作所 中央処理装置と乗算器とを有する半導体集積回路装置
EP0601715A1 (de) * 1992-12-11 1994-06-15 National Semiconductor Corporation Für den On-Chip-Speicherzugriff optimierter CPV-Kernbus
JP3255922B2 (ja) * 1993-04-30 2002-02-12 日本電気株式会社 統一された環境と分散されたシステム機能とを有する対称的マルチプロセシング・システム
US5444857A (en) * 1993-05-12 1995-08-22 Intel Corporation Method and apparatus for cycle tracking variable delay lines
US5537664A (en) * 1993-06-30 1996-07-16 Intel Corporation Methods and apparatus for generating I/O recovery delays in a computer system
US6038622A (en) * 1993-09-29 2000-03-14 Texas Instruments Incorporated Peripheral access with synchronization feature
JPH08147161A (ja) * 1994-11-21 1996-06-07 Nec Corp データ処理装置
US5504877A (en) * 1994-11-29 1996-04-02 Cordata, Inc. Adaptive DRAM timing set according to sum of capacitance valves retrieved from table based on memory bank size
US5623648A (en) * 1995-08-30 1997-04-22 National Semiconductor Corporation Controller for initiating insertion of wait states on a signal bus
US5598556A (en) * 1995-12-07 1997-01-28 Advanced Micro Devices, Inc. Conditional wait state generator circuit
US5854944A (en) * 1996-05-09 1998-12-29 Motorola, Inc. Method and apparatus for determining wait states on a per cycle basis in a data processing system
US5857082A (en) * 1997-04-25 1999-01-05 Intel Corporation Method and apparatus for quickly transferring data from a first bus to a second bus
US6067606A (en) * 1997-12-15 2000-05-23 Intel Corporation Computer processor with dynamic setting of latency values for memory access
US6034176A (en) * 1998-03-31 2000-03-07 Teknor Apex Company Polymer compositions
GB2339369B (en) * 1998-07-09 2003-06-18 Advanced Risc Mach Ltd Apparatus and method for controlling timing of transfer requests within a data processing apparatus
JP2002091905A (ja) * 2000-09-20 2002-03-29 Mitsubishi Electric Corp 半導体装置およびアクセスウェイト数変更プログラムを記録したコンピュータ読み取り可能な記録媒体
ITTO20010333A1 (it) * 2001-04-06 2002-10-06 St Microelectronics Srl Dispositivo e metodo di gestione dei cicli di attesa durante la lettura di una memoria non volatile.
US7075546B2 (en) * 2003-04-11 2006-07-11 Seiko Epson Corporation Intelligent wait methodology
US8004870B2 (en) * 2009-12-24 2011-08-23 Winbond Electronics Corp. Memory chips and judgment circuits thereof
US9405720B2 (en) * 2013-03-15 2016-08-02 Atmel Corporation Managing wait states for memory access

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802120A (en) * 1984-10-30 1989-01-31 Tandy Corporation Multistage timing circuit for system bus control
JPS6353669A (ja) * 1986-08-22 1988-03-07 Hitachi Micro Comput Eng Ltd マイクロプロセツサ
CA1296807C (en) * 1986-09-08 1992-03-03 Paul R. Culley Computer system speed control at continuous processor speed
US4787032A (en) * 1986-09-08 1988-11-22 Compaq Computer Corporation Priority arbitration circuit for processor access
US5151986A (en) * 1987-08-27 1992-09-29 Motorola, Inc. Microcomputer with on-board chip selects and programmable bus stretching
US5032982A (en) * 1988-05-18 1991-07-16 Zilog, Inc. Device for timing interrupt acknowledge cycles

Also Published As

Publication number Publication date
JPH03167649A (ja) 1991-07-19
EP0432575B1 (de) 1996-04-10
DE69026479D1 (de) 1996-05-15
US5201036A (en) 1993-04-06
EP0432575A3 (de) 1991-07-03
EP0432575A2 (de) 1991-06-19

Similar Documents

Publication Publication Date Title
DE69026479T2 (de) Datenprozessor mit Wartezustandsteuerungseinheit
DE3876780T2 (de) Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung.
DE69826863T2 (de) Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet
DE69023018T2 (de) Prozessor-Unterbrechungssteuerung.
DE4439817C2 (de) Selbstauffrischungsvorrichtung für eine verborgene Selbstauffrischung in einem synchronen dynamischen Direktzugriffsspeicher
DE3687787T2 (de) Speicherzugriff-steuerungsschaltung.
DE4019135C2 (de) Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung
DE3844033C2 (de) Speicherschaltung für ein Mikroprozessorsystem
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE2703578A1 (de) Videospeicher
DE2746064A1 (de) Datenspeicher mit auffrischung
DE3237224A1 (de) Vorrichtung zum erzeugen einer folge von pruefdaten fuer lsi-schaltungen
DE2421229C2 (de) Digitale Datenverarbeitungsanlage
DE69025524T2 (de) Vorrichtung und Verfahren zur Steuerung von Speicherzugriffsanforderungen in einem digitalen Datenverarbeitungssystem
DE3852562T2 (de) Datenschreibverfahren für EEPROM.
DE60132726T2 (de) Speicherzugriffschaltung und Speicherzugriffsteuerungsschaltung
EP0107026A1 (de) Speicherprogrammierbare Steuerung
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
DE2912073C2 (de)
DE3049774T1 (de) Time sharing device for the access to a main memory connected to a single bus between a central computer and a plurality of peripheral computers
DE68916945T2 (de) Synchronisierschaltung für Datenüberträge zwischen zwei mit unterschiedlicher Geschwindigkeit arbeitenden Geräten.
DE69119147T2 (de) Erweiterungskarte mit mehreren Geschwindigkeiten
DE2844295A1 (de) Verfahren und vorrichtung zur steuerung der datentransferrichtung auf einem datenbus
DE19842677A1 (de) Speicherzugriff-Steuerschaltung
DE69023253T2 (de) Steuergerät für DRAM.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP

8339 Ceased/non-payment of the annual fee