DE69229081T2 - Mikroprozessor mit externem Speicher - Google Patents
Mikroprozessor mit externem SpeicherInfo
- Publication number
- DE69229081T2 DE69229081T2 DE69229081T DE69229081T DE69229081T2 DE 69229081 T2 DE69229081 T2 DE 69229081T2 DE 69229081 T DE69229081 T DE 69229081T DE 69229081 T DE69229081 T DE 69229081T DE 69229081 T2 DE69229081 T2 DE 69229081T2
- Authority
- DE
- Germany
- Prior art keywords
- microprocessor
- external memory
- memory
- input
- output
- 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 - Lifetime
Links
- 230000015654 memory Effects 0.000 title claims abstract description 313
- 239000000872 buffer Substances 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 53
- 230000001360 synchronised effect Effects 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 16
- 230000007704 transition Effects 0.000 claims description 11
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 230000004913 activation Effects 0.000 claims 5
- 230000000977 initiatory effect Effects 0.000 claims 2
- 238000002955 isolation Methods 0.000 claims 2
- 230000005669 field effect Effects 0.000 description 16
- 230000000630 rising effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 230000001143 conditioned effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microcomputers (AREA)
- Memory System (AREA)
- Logic Circuits (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Die vorliegende Erfindung bezieht sich im wesentlichen auf einen Mikroprozessor zum Ausführen von Zugriffen auf einen externen Speicher synchron mit einem Speicher-Taktgeber, der den externen Speicher zeitlich steuert, und insbesondere einen Mikroprozessor zum Ausführen derart synchronisierter Zugriffe, wenn die Verarbeitungsrate des Mikroprozessors gleich dem Timing des externen Speichers oder ein vorbestimmtes Vielfaches des externen Speichertimings ist.
- Mikroprozessoren zum Ausführen von Operandendaten in Übereinstimmung mit Betriebsinstruktionen sind aus dem Stand der Technik wohl bekannt. Damit Mikroprozessoren auf diese Weise funktionieren, ist üblicherweise dem Mikroprozessor ein externer Speicher zugeordnet, um die Betriebsinstruktionen des Mikroprozessors, die Operandendaten und die Ergebnisse des Mikroprozessors zu speichern. Der Mikroprozessor greift auf den externen Speicher zu, in dem Lade- oder Speicheroperationen ausgeführt werden, wobei während einer Ladeoperation der Mikroprozessor eine Betriebsinstruktion aus dem externen Speicher holt oder Daten von dem externen Speicher erhält und wobei während einer Speicheroperation der Mikroprozessor Ergebnisse in dem externen Speicher speichert.
- Um dem Mikroprozessor den Zugriff auf den externen Speicher zu erlauben, sind der Mikroprozessor und der externe Speicher üblicherweise mit einer Vielzahl von Steuerleitungen und einem oder mehreren Mehrfachbitbussen miteinander verbunden. Ein Satz von Steuerleitungen trägt Zugriffssteuersignale von dem Mikroprozessor zu dem externen Speicher und ein anderer Satz von Steuerleitungen trägt Zugriffssteuersignale von dem externen Speicher zu dem Mikroprozessor. Steuersignale von dem Mikroprozessor zu dem externen Speicher können Zugriffsanfra gen und Lese/Schreibinformationen enthalten, um den externen Speicher zu informieren, ob ein Zugriff eine Lade- oder eine Speicheroperation ist.
- Ein Mehrfachbitbus wird generell benutzt, um Adressen des externen Speichers von dem Mikroprozessor zu dem externen Speicher zu befördern, um dem Mikroprozessor den Zugriff auf eine bekannte externe Speicherstelle zu erlauben, um die erforderliche Instruktion oder Daten während eines Lesevorgangs zu erhalten oder um ein Ergebnis während eines Speichervorganges zu speichern. Ein weiterer Mehrfachbitbus wird benutzt, um während einer Ladeoperation die angeforderten Daten oder Instruktionen von dem externen Speicher zu dem Mikroprozessor zu befördern und um während einer Speicheroperation Daten wie Ergebnisse von dem Mikroprozessor zu dem externen Speicher zu befördern.
- Die Steuerung des Timings zwischen dem Mikroprozessor und dem externen Speicher, um Zugriffe des Mikroprozessors auf den externen Speicher zu unterstützen, ist sehr wichtig. Die genaue Steuerung des Timings erlaubt effizientes und akkurates Zugreifen, um gewünschte Verarbeitungsraten des Mikroprozessors zu unterstützen. Eine derartige Steuerung des Timings erfordert, daß der Prozessor Adressensteuersignale oder Daten für den Speicher nur während vorbestimmter Zeitabschnitte ausgibt, zu denen der Speicher freigegeben ist, um derartige Mikroprozessorsignale zu empfangen, und erfordert in ähnlicher Weise, daß der externe Speicher Steuersignale und Daten an den Prozessor nur während vorbestimmter Zeitabschnitte ausgibt, zu denen der Prozessor freigegeben ist, um diese Signale des externen Speichers zu empfangen. Eine derartige Steuerung des Timings wird allgemein als synchrones Zugreifen auf den externen Speicher bezeichnet.
- Das synchrone Zugreifen auf den externen Speicher ist erreicht worden, indem ein Speicher-Taktgeber vorgesehen wurde, welcher Speicher-Taktgeber-Taktimpulse mit einer Hochphase und einer Niedrigphase bei der Frequenz des Speicher-Takt gebers bereitstellt. Die Speicher-Taktgeber-Taktimpulse werden sowohl an den externen Speicher als auch an den Mikroprozessor ausgegeben, um das Zugriffstiming zu ermöglichen. Der Mikroprozessor enthält üblicherweise seinen eigenen internen Taktgeber, welcher Prozessor-Taktimpulse mit einer Hoch- und einer Niedrigphase bei der Betriebsfrequenz des Prozessors erzeugt, wobei üblicherweise die Betriebsfrequenz der Taktfrequenz des externen Speichers entspricht. Eine Beziehung zwischen den Phasen der Taktimpulse des Speichers und der Taktimpulse des Prozessors wird dann aufgebaut und beibehalten, um die Zeitperioden zu bestimmen, in welchen der Mikroprozessor Steuersignale, Adressen oder Daten an den externen Speicher ausgibt, und die Zeitperioden zu bestimmen, in welchen der externe Speicher Steuersignale oder Daten an den Mikroprozessor ausgibt. Das Festhalten an diesen Phasenbeziehungen resultiert in einem synchronen Zugriff auf den externen Speicher durch den Mikroprozessor.
- Der synchrone Zugriff wurde auf diejenigen Situationen begrenzt, in welchen die Taktfrequenz des Speichers gleich der Taktfrequenz des Prozessors ist. Dies ist unvorteilhaft, denn eine verbesserte Verarbeitungsperformance könnte erzielt werden, wenn ein gegebener Speicher fähig wäre, einen Mikroprozessor zu unterstützen, der mit einer Betriebsfrequenz, welche größer ist als die Taktfrequenz des externen Speichers, arbeiten kann. Wenn z. B. ein Mikroprozessor eine Betriebsfrequenz von 25 MHz hat und ein zugeordneter externer Speicher mit 25 MHz ersetzt würden durch einen 50 MHz Mikroprozessor, obwohl der Speicher ein 25 MHz Speicher ist, würde für die meisten Fälle die Gesamtperformance des Rechnersystems verdoppelt werden. Unvorteilhaferweise ist im Stand der Technik kein Mikroprozessor vorhanden, welcher wahlweise betreibbar ist, zum synchronen Zugreifen auf einen externen Speicher, welcher entweder mit der Betriebsfrequenz des Prozessors arbeitet oder auf einen externen Speicher, der mit einem Bruchteil, wie beispielsweise 1/2 der Betriebsfrequenz des Mikroprozessors arbeitet. Es würde sehr vorteilhaft sein, wenn ein derartiger Mikroprozessor fähig wäre, auf den externen Speicher in einer Weise zuzugreifen, die transparent ist für den externen Speicher, die externen Busse und die Steuerleitungen, um dadurch ein synchrones Zugreifen zu ermöglichen, und zwar unabhängig von den relativen Betriebsfrequenzen des Mikroprozessors und des Speichers.
- Das US-Patent Nr. 4 095 267, Morimoto, 13. Juni 1978, lehrt, daß es nötig ist um Informationen zwischen einer zentralen Bearbeitungseinheit (CPU) und einem mit einer unterschiedlichen Taktfrequenz arbeitenden Eingabe/Ausgabe (IO)-Gerät zu transferieren, die Taktrate des IO-Gerätes gleich und synchron zu der Taktrate der CPU während des Datentransfers zu machen. Genauer gesagt lehrt es, den Taktgeber eines IO-Gerätes zwischen einer schnellen (n fs) und einer langsameren Rate (fs) umzuschalten. Diskutiert darin ist ein Beispiel zur Ansteuerung eines mehrstelligen Nixie-Röhrendisplays, wobei das Display normalerweise mit der zweifachen CPU-Taktfrequenz betrieben wird und während eines CPU-Zugriffes auf die einfache CPU-Taktfrequenz heruntergebremst wird. Es findet sich jedoch kein Hinweis, wie ein funktionierender synchroner Zugriff erfolgen könnte, ohne die Taktfrequenz des schnelleren Gerätes herunterzufahren.
- Die PCT-Anmeldung WO 89/02128 beschreibt die Anpassung eines schnellen Prozessors an einen langsameren externen Speicher mittels einer Busstreckung, wobei eine vorgewählte Anzahl von Wartezuständen in einen externen (E) Bustaktgeber eingefügt werden. Der E-Taktgeber ist die Basis für die Timings des Busses für Zugriffe auf Geräte außerhalb des Mikroprozessors. Wenn ein externer Zugriff geschieht, werden sowohl der E-Taktgeber als auch der CPU-Taktgeber für die vorbestimmte Anzahl der Wartezustände eingefroren, obwohl die Taktimpulse an die internen Timinggeräte nicht eingefroren sind, damit diese ihre Genauigkeit beibehalten.
- Elektronic Design, Volume 41, Number 24, November 1983, Seiten 125-232, "Clock chip mates fast uPs with slower devices", H. W. Look et al. zeigt wie ein Mikroprozessortakt gewählt gestreckt werden kann, um langsame periphere Geräte zu berücksichtigen. Zur Anpassung an langsame Speicher oder IO-Geräte wird die Lösung vorgeschlagen, die Geschwindigkeit des Mikroprozessors zur Hälfte zu reduzieren, um die Geschwindigkeit der Peripherie zu treffen. Sowohl dieser Artikel als auch die PCT-Anmeldung zeigen Systeme, bei denen der Taktgeber der CPU tatsächlich eingefroren wird, um mehr Zeit für den langsameren Zugriff auf den Speicher bereitzustellen.
- Entsprechend der vorliegenden Erfindung beschreiben wir einen Mikroprozessor zum Zugriff auf einen externen Speicher zwecks Ausführen von Lade- und Speicheroperationen synchron mit einem Speicher-Taktgeber. Der Mikroprozessor hat eine Verarbeitungsrate und der externe Speicher hat eine Zugriffsrate und der externe Speicher ist durch einen Externadreßbus mit dem Mikroprozessor verbunden. Der Speicher-Taktgeber gibt Taktimpulse mit einer ersten Frequenz an den Mikroprozessor und den externen Speicher aus, um die Zugriffsrate auf den externen Speicher über den Bus zu steuern. Der Mikroprozessor reagiert auf eine Taktschaltung, welche zur Steuerung der Verarbeitungsrate des Mikroprozessors Taktimpulse mit einer zweiten Frequenz erzeugt, wobei die zweite Frequenz größer als die erste Frequenz ist oder dieser gleich ist. Der Mikroprozessor enthält eine zentrale Bearbeitungseinheit zum Erzeugen von Externspeicher-Adressen, wenn der Mikroprozessor auf den externen Speicher zugreifen soll. Der Mikroprozessor enthält ferner eine Bus-Interface-Einheit zur Steuerung, wann die Externspeicher- Adressen über den Bus zu dem externen Speicher übertragen werden sollen. Der Mikroprozessor ist dadurch gekennzeichnet, daß die Bus-Interface-Einheit das synchrone Zugreifen auf den externen Speicher ermöglicht und daß der Mikroprozessor einen Raten-Steuereingang zum Empfang eines Raten-Steuersignals aufweist, welcher angibt, daß die zweite Frequenz in einer bestimmten Beziehung zu der ersten Frequenz steht, die Bus-Interface-Einheit desweiteren eine Steuereinrichtung aufweist, die als Reaktion auf das Raten-Steuersignal, den Speichertakt und die Taktschaltung veranlaßt, daß wenn die zweite Frequenz größer als die erste Frequenz ist und der Speichertakt und der interne Takt in einem ersten vorbestimmten Phasenverhältnis zueinander stehen, die Externspeicher-Adresse auf den Bus gegeben wird, um den synchronen Zugriff des Mikroprozessors auf den externen Speicher zu erzielen.
- Wir beschreiben ferner einen Ausgangspuffer zum Einsatz in einem Mikroprozessor zum Steuern von Ausgaben an einen externen Speicher über einen externen Bus. Der Ausgangspuffer umfaßt einen Eingang zum Empfangen eines Eingangssignalpegels, einen Ausgang zum Ansteuern des externen Busses mit dem Pegel des Eingangssignals und einen Steuereingang zum Empfangen eines Steuersignals. Der Steuereingang ist mit dem Ausgang verbunden, um den Ausgang zu veranlassen, den externen Bus mit dem Pegel des Eingangssignals anzusteuern, und zwar in Abhängigkeit von dem Steuersignal. Der Ausgangspuffer umfaßt weiterhin zwischen den Ausgang und den Ausgang geschaltete Trennmittel, welche mit dem Steuereingang verbunden sind, um den Eingang von dem Ausgang zu trennen als Antwort auf ein Steuersignal, den Eingang freizugeben, um mit einem neuen Eingangssignalpegel versorgt zu werden, während der externe Bus mit dem Eingangssignalpegel angesteuert wird.
- In den anliegenden Zeichnungen zeigt beispielhaft:
- Fig. 1 ein Blockdiagramm eines Prozessorsystems, das die vorliegende Erfindung verkörpert,
- Fig. 2 ein Blockdiagramm des Mikroprozessors des Mikroprozessorsystems aus Fig. 1,
- Fig. 3 ein schematisches Schaltungsdiagramm mit teilweise Blockdiagrammform, das einen Bereich der Bus-Interface-Einheit des Mikroprozessors wie in Fig. 2 dargestellt zeigt,
- Fig. 4 ein schematisches Schaltungsdiagramm eines Ausgangspuffers, der die vorliegende Erfindung verkörpert und welcher vorteilhafterweise genutzt werden kann, um die Busse und Steuerleitungen des in Fig. 2 dargestellten Mikroprozessors zu steuern,
- Fig. 5 ein Blockdiagramm eines anderen Bereichs der Bus-Interface-Einheit des in Fig. 2 dargestellten Mikroprozessors,
- Fig. 6 eine Reihe von Wellenformen, welche den Betrieb des in Fig. 2 gezeigten Mikroprozessors darstellen, der einen synchronisierten externen Zugriff auf einen externen Speicher, der mit derselben Frequenz wie die Betriebsfrequenz des Mikroprozessors arbeitet, ausführt,
- Fig. 7 eine Reihe von Wellenformen, die den Betrieb des in Fig. 2 gezeigten Mikroprozessors darstellen, der einen synchronisierten externen Zugriff auf einen externen Speicher ausführt, der mit einer Frequenz arbeitet, welche die Hälfte der Betriebsfrequenz des Mikroprozessors beträgt.
- Nun wird auf Fig. 1 Bezug genommen, die ein Prozessorsystem 10 zeigt, welches die vorliegende Erfindung verkörpert. Das System 10 enthält ganz allgemein einen Speicher-Taktgeber 12, einen externen Taktgeber 14, einen Mikroprozessor 16 und einen externen Speicher 18.
- Der externe Speicher 18 enthält eine Speichersteuerung 20 und einen Hauptspeicher 22. Derartige externe Speicher sind aus dem Stand der Technik wohl bekannt.
- Der Speicher-Taktgeber 12 ist vorzugsweise derart ausgebildet, um Speicher-Taktgeber-Taktimpulse mit einer Frequenz auszugeben, welche die Betriebsfrequenz des externen Speichers 18 bestimmt und somit die Zugriffsrate des externen Speichers. Zu diesem Ende ist der Taktgeber 12 mit der Speichersteuerung 20 und dem Mikroprozessor 16 über einen Eingang verbunden, der als MEMCLK bezeichnet wird. Wie aus dem Stand der Technik bekannt ist, gibt der Speicher-Taktgeber 12 Speicher-Taktimpulse, welche eine Hochphase und eine Niedrigphase umfassen.
- Der externe Taktgeber 14 umfaßt einen kristallinen Oszillator 24, einen Kristall 26 und einen Puffer 28. Der externe Taktgeber 14 ist an einen als INCLK bezeichneten Eingang des Mikroprozessors 16 angeschlossen. Der externe Taktgeber 14 gibt Taktimpulse an den Mikroprozessor 16 mit einer Frequenz aus, welche die Betriebs- oder Verarbeitungsfrequenz des Mikroprozessors 16 bestimmt. Die Taktsignale von dem externen Taktgeber 14 werden von dem Mikroprozessor 16 benutzt, um intern ein Paar von Prozessor-Taktgebern zu erzeugen, welche hier als PH1 und PH2 bezeichnet werden. Die Prozessor-Taktgeber PH1 und PH2 sind vorzugsweise von gleicher Frequenz, welche von dem externen Taktgeber 14 bestimmt ist, und sind umgekehrter Phase, wobei jeder Prozessor-Taktgeber PH1 und PH2 eine Hochphase und eine Niedrigphase haben. Daraus folgt, daß, wenn PH1 in seiner Hochphase ist, daß PH2 in seiner Niedrigphase ist, und entsprechend, daß, wenn PH2 in seiner Hochphase ist, sich PH1 in seiner Niedrigphase befindet. Beim Durchführen von Zugriffen auf den externen Speicher 18 steuert der Mikroprozessor, wie im folgenden zu sehen ist, die Ausgänge zu dem externen Speicher 18 an, wenn eine Übereinstimmung der Hochphase von PH1 und der Hochphase des Speicher-Taktgebers vorliegt. Der externe Speicher 18 steuert Ausgänge zu dem Mikroprozessor 16 an, wenn eine Übereinstimmung zwischen der Hochphase von PH2 und der Niedrigphase des Speichertaktes vorliegt. Durch das Festhalten an diesen Phasenbeziehungen zwischen PH1 und PH2 und dem Speichertakt ist der Mikroprozessor 16 fähig synchrone Zugriffe auf den externen Speicher 18 auszuführen.
- Wie in Fig. 1 dargestellt ist, werden die Speicher-Taktimpulse von dem externen Taktgeber 12 bereitgestellt. Jedoch können in Übereinstimmung mit der vorliegenden Erfindung die Speicher-Taktimpulse auch von dem Mikroprozessor 16 generiert werden, wobei MEMCLK als ein Ausgang genutzt wird, um die Speicher- Taktimpulse an die Speichersteuerung 20 auszugeben. In einem derartigen Fall würde der Speicher-Taktgeber 12 nicht benötigt werden. Der Mikroprozessor 16 ist ausgestaltet, um die Speicher-Taktimpulse zu erzeugen in Abhängigkeit von den von dem externen Taktgeber 14 empfangenen Taktimpulsen.
- Der Mikroprozessor 16 enthält eine Eingang 30 zum Empfangen eines Steuersignals (PWRCLK), welches einen logischen 1 oder einen logischen 0 Pegel hat. Das Steuersignal am Eingang 30 wird von einem Schalter 32 bereitgestellt, der mit einer positiven Spannungsquelle verbunden ist, wenn er sich in der dargestellten Position befindet, und der mit Masse verbunden ist, wenn der Schalter 32 sich in der anderen Position befindet, die durch den Pfeil 34 angezeigt ist. Wenn der Schalter 32 sich in der in der Figur dargestellten Position befindet, ist eine logische 1 auf den Eingang aufgeprägt, um den Mikroprozessor 16 zu veranlassen, die Speicher-Taktimpulse zu generieren und die Speicher-Taktimpulse an dem mit MEMCLK bezeichneten Ausgang bereitzustellen. Wenn der Schalter 32 sich in seiner alternativen Position befindet, also an Masse angeschlossen ist, ist der Eingang an dem logischen 0 Pegel, um MEMCLK zu veranlassen als Eingang zu dienen, zum Empfangen der extern erzeugten Speicher-Taktimpulse von einer externen Taktquelle wie der externe Taktgeber 12.
- Der Mikroprozessor enthält ferner einen Eingang 36 zum Empfangen eines Raten- Steuersignals (*DIV2), welches einen ersten Pegel von logisch 1 oder einen zwei ten Pegel von logisch 0 hat. Der Pegel am Eingang 36 wird von einem weiteren Schalter 38 bestimmt, der entweder mit einer positiven Spannungsquelle verbunden ist, um den Pegel von logisch 1 zu erzeugen, oder der mit Masse verbunden ist, um den Pegel von logisch 0 zu erzeugen. Der Pegel des Ratensteuersignals am Eingang 36 informiert den Mikroprozessor 16, ob die Betriebsfrequenz des externen Speichers 18 gleich ist zu der Betriebsfrequenz des Mikroprozessors (wenn das Raten- Steuersignal eine logische 1 ist) oder ob die Betriebsfrequenz des externen Speichers 18 die Hälfte der Betriebsfrequenz des Mikroprozessors 16 beträgt (wenn das Raten-Steuersignal eine logische 0 ist). Desweiteren erzeugt der Mikroprozessor 16, wenn der Eingang 30 bei einer logischen 1 ist, um den Mikroprozessor 16 zu veranlassen, die Speicher-Taktimpulse zu erzeugen, die Speicher-Taktimpulse mit seiner Betriebsfrequenz wenn Eingang 36 eine logische 1 ist, und mit der Hälfte der Betriebsfrequenz des Mikroprozessors, wenn das Raten-Steuersignal am Eingang 36 eine logische 0 ist. Als Ergebnis kann der Mikroprozessor 16 entweder extern generierte Speicher-Taktimpulse empfangen oder die Speicher-Taktimpulse generieren. Darüber hinaus ist der Mikroprozessor 16 ausgebildet, um die Speicher-Taktimpulse entweder mit seiner Betriebsfrequenz oder mit der Hälfte seiner Betriebsfrequenz zu generieren abhängig von dem Eingangssignalpegel am Eingang 36. Wie später zu sehen ist, wird der Ratensteuereingangspegel am Eingang 36 von dem Mikroprozessor auch benutzt, um synchrones Zugreifen auf den externen Speicher 18 zu erzielen, wenn die Betriebsfrequenz des externen Speichers gleich der Betriebsfrequenz des Mikroprozessors ist und wenn die Betriebsfrequenz des externen Speichers die Hälfte der Betriebsfrequenz des Mikroprozessors beträgt.
- Der Mikroprozessor 16 ist mit der Speichersteuerung 20 über eine Vielzahl von Zugriffssteuerleitungen 40, 42 und 44 verbunden, welche Zugriffssteuersignale zwischen dem Mikroprozessor 16 und dem externen Speicher 18 befördern. Die Steuerleitungen 40 und 42 befördern erste Zugriffssteuersignale von dem Mikro prozessor 16 zu der Speichersteuerung 20, welche das Steuersignal *REQ über Leitung 40 und R*W über Leitung 42 umfaßt. *REQ ist ein Steuersignal, das von dem Mikroprozessor 16 zur Anfrage eines Speicherzugriffes generiert wird. Wenn dieses Signal aktiv (niedrig) ist, erscheint die Adresse für den Zugriff auf dem Adreßbus 46, der zwischen dem Mikroprozessor 16 und dem Hauptspeicher 22 angeordnet ist. R* W ist ein Steuersignal, welches anzeigt, ob der Mikroprozessorzugriff ein Lese- (Lade) oder ein Schreib- (Speicher) Zugriff ist. Wenn der Zugriff ein Lesezugriff ist, ist dieses Signal hoch und wenn der Zugriff ein Schreibzugriff ist, ist dieses Signal niedrig.
- Die Steuerleitung 44 überträgt ein zweites Zugriffssteuersignal von der Speichersteuerung 20 zu dem Mikroprozessor 16. Das zweite Zugriffssteuersignal ist *RDY, welches für einen Lesezugriff anzeigt, daß gültige Daten oder Instruktionen sich gerade auf dem Instruktions/Datenbus 48 befinden, der zwischen dem Mikroprozessor 16 und dem Hauptspeicher 22 geschaltet. Für einen Schreibzugriff zeigt dieses Signal an, daß der Zugriff abgeschlossen ist und daß Daten nicht länger von dem Mikroprozessor 16 auf den Instruktions/Datenbus 48 ausgegeben werden müssen.
- Der Adreßbus 46 ist ein unidirektionaler Mehrbitbus, welcher die von dem Mikroprozessor 16 erzeugte Adresse der Speicherstelle des Hauptspeichers befördert, auf die zuzugreifen ist. Der Instruktions/Datenbus 48 ist ein bidirektionaler Mehrbitbus, welcher Daten vom Mikroprozessor 16 zu dem Hauptspeicher 22 befördert, die in der Speicherstelle zu speichern sind, welche der über den Adreßbus 46 zugeführten Adresse entspricht, und zum Befördern von Instruktionen und Daten von dem Hauptspeicher zu dem Mikroprozessor 16 von der Speicherstelle des Hauptspeichers, die der auf dem Adreßbus 46 übertragenen Adresse entspricht.
- Es wird nun auf Fig. 2 Bezug genommen, die den Mikroprozessor 16 aus Fig. 1, der die vorliegende Erfindung verkörpert, in Form eines Blockdiagrammes zeigt. Der Mikroprozessor 16 umfaßt ganz allgemein eine zentrale Verarbeitungseinheit 50, eine Bus-Interface-Einheit 52, ein Adreßbus-Interface 54 und ein Datenbus- Interface 56.
- Die zentrale Verarbeitungseinheit 50 erzeugt die Adressen für einen externen Speicherzugriff und verarbeitet oder bearbeitet die Daten des aktuellen Programms, daß der Mikroprozessor verarbeitet. Die zentrale Verarbeitungseinheit 50 ist über einen Mehrbit internen Adreßbus 58 mit dem Adreßbus-Interface 54 verbunden, um externe Speicheradressen für einen Zugriff an das Adreßbus-Interface 54 auszugeben. Die zentrale Verarbeitungseinheit 50 ist desweiteren über einen internen Mehrbit-Datenbus 60 an das Datenbus-Interface 56 angeschlossen, um in dem externen Speicher abzuspeichernde Daten zu dem Datenbus-Interface 56 zu befördern und um von dem Datenbus-Interface Daten oder Instruktionen zu empfangen, welche während eines externen Zugriffs von dem externen Speicher empfangen worden sind. Die zentrale Verarbeitungseinheit 50 ist desweiteren über eine Mehrzahl von internen Steuerleitungen 62, 64 und 66 mit der Bus-Interface-Einheit 52 verbunden. Die interne Steuerleitung 66 befördert von der zentralen Verarbeitungseinheit erzeugte Zugriffsanfragen an die Bus-Interface-Einheit. Die internen Steuerleitungen 62 und 64 befördern Daten-Bereit- bzw. Instruktions-Bereit- Steuersignale von der Bus-Interface-Einheit 52 zu der zentralen Verarbeitungseinheit 50.
- Die Bus-Interface-Einheit 52 erzeugt die Steuersignale, welche das synchrone Zugreifen auf den externen Speicher durch den Mikroprozessor 16 sicherstellen. Es steuert die Steuerleitungen 40 und 42 mit den Anfrage- und Lese/Schreib-Steuersignalen an, um diese zu dem externen Speicher zu befördern. Es empfängt auch über die Steuerleitung 44 die Bereitsignale von dem externen Speicher nach Be endigung eines Lese- oder Schreibzugriffs. Darüber hinaus erzeugt die Bus-Interface-Einheit 52 die ersten und zweiten Prozessor-Taktimpulse PH1 und PH2 zur Steuerung des internen Timings des Mikroprozessors. Wie zuvor erwähnt, sind die ersten und zweiten Prozessor-Taktimpulse PH1 bzw. PH2 von derselben Frequenz und von entgegengesetzter Phase, wobei jeder Impuls eine Hochphase und eine Niedrigphase hat. Daraus resultiert, daß, wenn PH1 in seiner Hochphase ist, daß PH2 sich in seiner Niedrigphase befindet und wenn PH1 in seiner Niedrigphase ist, daß sich PH2 in seiner Hochphase befindet.
- Die Bus-Interface-Einheit ist desweiteren ausgebildet, um die Speicher-Taktimpulse zu erzeugen, wenn der Pegel des PWRCLK-Steuersignals eine logische 1 ist. Die Bus-Interface-Einheit 52 ist darüber hinaus ausgebildet, um über die Leitung 66 die Zugriffsanfragesignale für die zentrale Verarbeitungseinheit zu empfangen und gibt die Daten-Bereit- und Instruktionen-Bereit-Steuersignale an die zentrale Verarbeitungseinheit über die Steuerleitungen 62 und 64 aus.
- Wie später zu sehen ist, enthält die Bus-Interface-Einheit ein Speicherzugriffssteuermittel, welches an den Eingang 36 angeschlossen ist, der das Ratensteuer- Eingangssignal empfängt, und welches in Abhängigkeit von dem Raten-Steuersignal und den Speicher-Taktimpulsen den Mikroprozessor veranlaßt, auf den externen Speicher synchron mit dem Speichertakt zuzugreifen, wenn das Raten- Steuersignal eine logische 1 ist und die Verarbeitungsfrequenz des Mikroprozessors gleich der Speicher-Taktfrequenz ist, und um den Mikroprozessor zu veranlassen, auf den externen Speicher synchron mit dem Speichertakt zuzugreifen, wenn das Raten-Steuersignal eine logische 0 ist und die Verarbeitungsfrequenz des Mikroprozessors das 2-fache der Speicher-Taktfrequenz beträgt. Die Bus-Interface-Einheit gibt darüber hinaus Steuersignale aus, welche im Späteren beschrieben werden, an das Adreßbus-Interface 54 und das Datenbus-Interface 56, um zu kontrollieren, wann Ausgänge wie Adressen oder Daten extern von dem Mikroprozessor angesteuert werden.
- Das Adreßbus-Interface 54 empfängt die externen Speicheradressen von der zentralen Verarbeitungseinheit 50 über den internen Adreßbus 58. Das Adreßbus- Interface enthält ein internes Register (nicht dargestellt), welches die Adresse für einen Zugriff in Abhängigkeit von einem Steuersignal (LATCHIA) für die interne Adresse des Registers ablegt, das an einem Eingang 70 von der Bus-Interface-Einheit empfangen wird. Das Adreßbus-Interface umfaßt desweiteren einen weiteren Eingang 72 zum empfangen eines Steuersignals (INCAOL) für die inkrementale Adresse des Ausgangsregisters. Das inkrementale Adreßausgangsregister wird benutzt für sequentielle Zugriffe, um das Ausgangsregister zu veranlassen, zu der nächsten Adresse vorzuschreiten, ohne daß es erforderlich ist, daß die zentrale Verarbeitungseinheit 50 eine Adresse für jede der folgenden Zugriffe generiert. Das Adreßbus-Interface 54 enthält desweiteren einen Eingang 74 zum Empfangen eines Adreßausgangsregisters-Zu-Adreßbus-Steuersignals (AOLTOA) von der Bus-Interface-Einheit, welches die Adreßbus-Interface-Einheit veranlaßt, den externen Adreßbus 46 mit der Adresse, die gerade in dem Register abgelegt ist, anzusteuern. Zuletzt enthält das Adreßbus-Interface einen weiteren Eingang 76 zum Empfangen eines hochohmigen Adreßbus-Steuersignals (HIZAB) von der Bus-Interface-Einheit, welches alle den externen Adreßbus 46 ansteuernden Ausgänge dazu veranlaßt, einen Zustand hoher Impedanz anzunehmen, um diese Ausgänge von dem externen Adreßbus zu trennen.
- Wie aus Fig. 2 zu sehen ist, empfängt das Adreßbus-Interface desweiteren das Raten-Steuersignal und die Speicher-Taktimpulse. Es empfängt auch Adreßbus- Interface-Steuersignale von der Bus-Interface-Einheit über eine interne Steuerleitung 78. Das Adreßbus-Interface 54 empfängt ferner die ersten und zweiten Prozessor-Taktimpulse PH1 und PH2 wie dargestellt.
- Das Datenbus-Interface 56 führt eine Funktion aus, die ähnlich ist zu der des Adreßbus-Interfaces 54. Es ist über den internen Datenbus 60 mit der zentralen Verarbeitungseinheit verbunden, um Daten von der zentralen Verarbeitungseinheit während eines Speicherzugriffs zu empfangen und um Daten oder Instruktionen während eines Lesezugriffs an die zentrale Verarbeitungseinheit zu befördern. Das Datenbus-Interface empfängt auch Steuersignale von der Bus-Interface-Einheit, umfassend ein Steuersignal (LATCHID) für den internen Datenbus des Registers an einem Eingang 80. Wie das Adreßbus-Interface 54 enthält das Datenbus-Interface 56 ein internes Registers (nicht dargestellt) zum Ablegen von über den internen Datenbus 60 von der zentralen Verarbeitungseinheit empfangenen Daten. Das Datenbus-Interface ist desweiteren ausgebildet, an einem Eingang 82 ein Datenausgangsregister-Zu-Datenbus-Steuersignal (DOLTOD) von der Bus-Interface- Einheit zu empfangen, um das Datenbus-Interface zu veranlassen, die in seinem internen Register enthaltenen Daten an den externen Instruktions/Datenbus 48 zu transferieren. An einem anderen Eingang 84 des Datenbus-Interfaces 56 empfängt es von der Bus-Interface-Einheit ein Registerdatenbus-Steuersignal (LATCHD), welches die Bus-Interface-Einheit veranlaßt, über den externen Instruktions/Datenbus 48 empfangene Daten abzulegen. Das Datenbus-Interface empfängt desweiteren an einem Eingang 86 Hochimpedanz-Datenbus-Steuersignal (HIZDB) von der Bus-Interface-Einheit, um die den externen Bus 48 steuernden Ausgänge des Datenbus-Interfaces zu veranlassen, einen Zustand von hoher Impedanz anzunehmen, um diese Ausgänge von dem externen Instruktions/Datenbus 48 zu trennen. Das Datenbus-Interface 56 empfängt ferner über eine interne Steuerleitung 88 Datenbus-Steuersignale von der Bus-Interface-Einheit 52. Auch ist dargestellt, daß das Datenbus-Interface die Speicher-Taktimpulse des Raten-Steuersignals und die ersten und zweiten Prozessor-Taktsignale PH1 und PH2 empfängt.
- Wie zuvor erwähnt, umfassen die Speicher-Taktimpulse einen ersten Phasenbereich, der eine Hochphase ist, und einen zweiten Phasenbereich, der eine Niedrig phase ist. In Übereinstimmung mit diesem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist der externe Speicher ausgebildet, um Eingänge von dem Mikroprozessor während der Hochphase des Speicher-Taktimpulse zu empfangen und Ausgänge des Mikroprozessors anzusteuern während der Niedrigphase des Speicher-Taktimpulses. Um in Übereinstimmung mit diesem bevorzugten Ausführungsbeispiel einen synchronen Zugriff zu ermöglichen, wird der Mikroprozessor freigegeben, Ausgänge zu dem externen Speicher anzusteuern, wenn eine Übereinstimmung von der Hochphase des ersten Prozessor-Taktimpulses PH1 und dem hochphasigen Bereich des Speicher-Taktimpulses vorliegt, und wird freigegeben, Eingänge von dem externen Speicher zu empfangen, wenn eine Übereinstimmung von dem hochphasigen Bereich des zweiten Prozessor-Taktimpulses PH2 und dem niedrigphasigen Bereich des Speicher-Taktimpulses vorliegt. Vorzugsweise sind die ansteigenden Kanten der Speicher-Taktimpulse und des ersten Prozessor-Taktimpulses im wesentlichen übereinstimmend oder die ansteigenden Kanten des ersten Prozessor-Taktimpulses sind leicht verzögert im Hinblick auf die ansteigenden Kanten der Speicher-Taktimpulse.
- Wenn die Prozessor-Taktimpulse und die Speicher-Taktimpulse dieselbe Frequenz aufweisen, stellt jede ansteigende Kante des Speicher-Taktimpulses eine gültige Kante oder eine gültige Zeit für den Mikroprozessor dar, Ausgänge während der nächsten Hochphase des ersten Prozessor-Taktimpulses anzusteuern und jede ansteigende Kante des zweiten Prozessor-Taktimpulse definiert die korrekte Kante oder Zeit, um den Empfang von Eingängen von dem externen Speicher zu ermöglichen. Wenn jedoch das Raten-Steuersignal eine logische 0 ist, was anzeigt, daß die Speicher-Clockimpulse die Hälfte der Frequenz der Verarbeitungs-Taktimpulse beträgt, ist die zuvorige Beziehung nicht immer gültig. Wie dem Fachmann geläufig ist, werden unter diesen Umständen Zeiten sein, wenn die Hochphase des ersten Prozessor-Taktimpulse PH1 nicht mit der Hochphase des Speicher-Taktimpulses übereinstimmen wird, sondern statt dessen mit dem niedrigphasigen Bereich des Speicher-Taktimpulses übereinstimmen wird und dasselbe gilt für die zweiten Prozessor-Taktimpulse. Folglich ist es notwendig, wenn der Mikroprozessor auf einen Speicher zuzugreifen hat, welcher mit der Hälfte der Frequenz der Verarbeitunsfrequenz arbeitet, die passenden Zeiten für den Mikroprozessor zum Ansteuern der Ausgänge zu dem externen Speicher festzustellen und den Mikroprozessor freizugeben, um Eingänge von dem externen Speicher während der passenden Zeitperioden zu empfangen. Für den Zugriff auf den externen Speicher gibt die zentrale Verarbeitungseinheit, wenn die Speicher-Taktimpulse dieselbe Frequenz wie die Prozessor-Taktimpulse haben, während der Hochphase des ersten Prozessor- Taktimpulses PH1 das Anfragesignal auf Leitung 66 aus und stellt die externe Speicheradresse für den Zugriff auf dem internen Adreßbus 58 bereit. Während der unmittelbar darauf folgenden Hochphase des zweiten Prozessor-Taktimpulse PH2 detektiert die Bus-Interface-Einheit die Anfragen von Leitung 66 und legt das Steuersignal LATCHIA am Eingang 70 des Adreßbus-Interfaces 54 an, um das Adreßbus-Interface zu veranlassen, die externe Speicheradresse abzulegen. Wenn der externe Adreßbus verfügbar ist und wenn kein anhängiger Zugriff da ist, legt die Bus-Interface-Einheit auf die unmittelbar folgende Hochphase von PH1 hin das Steuersignal AOLTOA am Eingang 74 des Adreßbus-Interfaces an, um das Adreßbus-Interface zu veranlassen, den externen Adreßbus 46 mit der externen Speicheradresse für den Zugriff anzusteuern. Ebenso während dieser Zeitspanne gibt die Bus-Interface-Einheit das Anfragesignal an die Steuerleitung 40 aus (aktiv niedrig) und zeigt auf Leitung 42 an, ob der Zugriff ein Lesezugriff (Lade) oder ein Schreibzugriff (Speicher) ist. Im Falle eines Lesezugriffes ist die Leitung 42 logisch 1 und wenn es ein Schreibzugriff ist, ist die Leitung 42 logisch 0.
- Ist der Zugriff ein Lesezugriff, überprüft die zentrale Verarbeitungseinheit 50 während der nächst unmittelbar folgenden Hochphase von PH2 und allen darauffolgenden Hochphasen von PH2 den Zustand des Datenbereit-Steuersignals auf Steuerleitung 62. Wenn der Ladevorgang eine große Anzahl von Mikroprozessor- Zyklen zur Beendigung benötigt, hält die zentrale Verarbeitungseinheit die Verarbeitung an diesem Zeitpunkt an, es sei denn es empfängt das Datenbereit-Steuersignal über Leitung 62. Wenn die Bus-Interface-Einheit das Bereitsignal über die Steuerleitung 44 während einer Hochphase von PH2 empfängt, gibt es das Datenbereit-Steuersignal über Leitung 62 aus, welches dann von der zentralen Verarbeitungseinheit 50 erfaßt wird. Nach dem Erkennen des Datenbereitsignals, das auf Leitung 62 ausgegeben worden ist, weiß die zentrale Verarbeitungseinheit dann, daß der Zugriff beendet worden ist und daß die angeforderten Daten auf den Instruktions/Datenbus 48 zum Empfangen der Daten und Fortführen ihrer Verarbeitung abgelegt worden ist.
- Fig. 3, auf die nun Bezug genommen wird, zeigt einen internen Taktgenerator 100 der Bus-Interface-Einheit und Freigabemittel 140 der Bus-Interface-Einheit. Der interne Taktgenerator 100 enthält im allgemeinen einen Puffer 102, einen Taktgenerator 104, eine Zweiteilungs-Frequenzteiler 106, einen Multiplexer 108 und einen Puffer 110 mit drei Zuständen.
- Der Puffer 102 enthält einen Eingang 112 zum Empfangen von Eingangs-Taktsignalen von der externen Taktquelle 14 (Fig. 1). Der Puffer 102 ist an einen Eingang 114 des Taktgenerators 104 angeschlossen. Der Taktgenerator 104 enthält einen ersten Ausgang 116 zum Ausgeben des ersten Prozessor-Taktimpulses PH1 und einen zweiten Ausgang 118 zum Ausgeben des zweiten Prozessor-Taktimpulses PH2. Wie zuvor erwähnt, definieren die Taktimpulse PH1 und PH2 die Verarbeitungsfrequenz des Mikroprozessors, haben die Taktpulse Hoch- und Niedrigphasen und haben eine entgegengesetzte Phasenbeziehung.
- Der Multiplexer 108 umfaßt einen ersten Eingang 120, der an den Ausgang des Puffers 102 angeschlossen ist. Der Multiplexer 108 enthält einen zweiten Eingang 122, der an den Ausgang des Zweiteilungs-Frequenzteilers 106 angeschlossen ist, welcher wiederum einen Eingang 124 für die ankommenden Taktimpulse hat, welche von der externen Taktquelle 14 (Fig. 1) bereitgestellt werden. Der Ausgang 126 des Multiplexers 108 ist mit dem Eingang 128 des Puffers für drei Zustände 110 verbunden. Der Multiplexer 108 enthält desweiteren einen Auswahleingang 130, der an die Steuerleitung 132 für das Raten-Steuersignal angeschlossen ist. Der Puffer für drei Zustände 110 enthält einen Freigabeeingang 134, der an die Steuerleitung 136 angeschlossen ist, welche das Steuersignal PWRCLK trägt. Schließlich enthält der Puffer für drei Zustände einen Ausgang 138, der mit dem Anschluß 139 (MEMCLK) verbunden ist, welcher als Eingang dient, wenn der Mikroprozessor Speicher-Taktimpulse von einer externen Quelle empfängt und welcher als ein Ausgang dient, wenn der Mikroprozessor die Speicher-Taktimpulse bereitstellt.
- Wenn der Mikroprozessor mit den Speicher-Taktimpulsen von einer externen Quelle versorgt wird, ist das Steuersignal PWRCLK logisch 0, welches über die Leitung 136 an den Freigabeeingang 134 des Puffer für drei Zustände 110 ausgegeben wird. Dies veranlaßt den Puffer für drei Zustände, am Ausgang 138 in den dritten Zustand zu schalten und eine hohe Impedanz zwischen dem Anschluß 139 und dem Eingang 128 des Puffers für drei Zustände aufzubauen. Dieses erlaubt dem Anschluß 139 einen Eingang zum Empfangen von extern erzeugten Speicher- Taktimpulsen zu verwenden.
- Wenn der Mikroprozessor die Speicher-Taktimpulse ausgegeben hat, ist das Steuersignal PWRCLK logisch 1 und wird auf den Freigabeeingang 134 des Puffers für drei Zustände ausgegeben. Dies veranlaßt den Puffer für drei Zustände, die an seinem Eingang 128 empfangenen Taktimpulse an seinen Ausgang 138 und damit zu dem Anschluß 139, welcher nun als Ausgang dient, und zu allen anderen Speicher-Clockimpulseingängen des Mikroprozessors und zu dem externen Speicher zu transferieren. Wenn der Mikroprozessor die Speicher-Taktimpulse mit derselben Frequenz wie die Prozessor-Taktimpulse PH1 und PH2 bereitzustellen hat, ist das Raten-Steuersignal auf Leitung 132 logisch 1, welches auf den Auswahleingang 130 des Multiplexers 108 ausgegeben wird. Dies veranlaßt den Multiplexer, den Eingang 120 mit seinem Ausgang 126 zu verbinden, um die Speicher-Taktimpulse mit derselben Frequenz wie die Prozessor-Taktimpulse auszugeben.
- Wenn der Mikroprozessor die Speicher-Taktimpulse mit einer Frequenz, welche die Hälfte der Verarbeitungsfrequenz des Mikroprozessors beträgt, auszugeben hat, würde das Raten-Steuersignal auf Leitung 132 logisch 0 sein, welches auf den Auswahleingang 130 des Multiplexers 108 ausgegeben. Dies veranlaßt den Multiplexer 108 seinen Eingang 122 zu seinem Ausgang 126 zu verbinden, um die von der externen Quelle 14 (Fig. 1) bereitgestellten Eingangs-Taktsignale an den Puffer für drei Zustände 110 weiterzuleiten, wobei die Taktsignale nun durch zwei geteilt sind, um Speicher-Taktimpulse mit der Hälfte der Frequenz der Taktimpulse des Prozessors bereitzustellen.
- Das Freigabemittel 140 stellt ein erstes Steuersignal (DRIVE OUTPUT) an einem Ausgang 142 zur Verfügung, um zu steuern, wann der Mikroprozessor Ausgänge zu dem externen Speicher ansteuern kann, und stellt ein zweites Steuersignal (ENAINPUT) an einem Ausgang 144 zur Verfügung, um den Mikroprozessor zum Empfang von Eingängen von dem externen Speicher freizugeben. Wie später zu sehen sein wird, werden diese Signale erzeugt unabhängig davon, ob der Mikroprozessor auf einen Speicher zugreift, der mit der Verarbeitungsrate des Mikroprozessors oder mit der Hälfte der Verarbeitungsrate des Mikroprozessors arbeitet. Im folgenden wird, wenn der Mikroprozessor auf einen Speicher zugreift, der mit der Verarbeitungsrate des Mikroprozessors arbeitet, dieser Zustand als der 1X Modus bezeichnet und wenn der Mikroprozessor auf einen Speicher zugreift, der mit der Hälfte der Verarbeitungsrate des Mikroprozessors arbeitet, wird dieser Zustand als .5X Modus bezeichnet.
- Zur Erzeugung des ersten Steuersignals am Ausgang 142 enthält das Freigabemittel 140 einen Inverter 146, ein NAND-Gatter 148, einen p-Kanal-Feldeffekttransistor 150, ein Register 152, einen Inverter 154, ein AND-Gatter 156, ein AND- Gatter 158, ein NOR-Gatter 160, einen Inverter 162 und einen p-Kanal-Feldeffekttransistor 164.
- Das NAND-Gatter 148 enthält einen Eingang, der an die ersten Prozessor-Taktimpulse PH1 angeschlossen ist, einen zweiten Eingang, der mit dem Ausgang des Inverters 146 verbunden ist, und einen dritten Eingang, der mit den Speicher- Taktimpulsen verbunden ist. Der Eingang des Inverters 146 ist an ein Steuersignal HIZCHL angeschlossen, welches bestimmt, ob die Ausgänge des Mikroprozessors eine hohe Impedanz haben sollen. Wenn sie keine Impedanz haben müssen, ist das Steuersignal an dem Eingang des Inverters 146 auf einem Pegel mit logisch 0, um zu veranlassen, daß der zweite Eingang des NAND-Gatters 148 auf einem hohen Pegel sein soll.
- In dem 1X Betriebsmodus des Mikroprozessors stellt das NAND-Gatter 148 bei Übereinstimmung der Hochphase von PH1 und des Hochphasenanteils der Speicher-Taktimpulse einen niedrigen Pegel an dem Gate-Anschluß des p-Kanal- Feldeffekttransistors 150 bereit, um zu veranlassen, daß der Transistor 150 leitet. Dies erzeugt einen hohen Pegel an dem Register 152 zum Beibehalten des ersten Steuersignals am Ausgang 142 an einem hohen Pegel, um den Mikroprozessor freizugeben, seine Ausgänge an den externen Speicher anzusteuern. Das AND- Gatter 156 enthält einen ersten Eingang, der mit dem Raten-Steuersignal verbunden ist, welches in dem Einzigstmodus eine logische 1 ist, und einen anderen Eingang, der an die zweiten Prozessor-Taktimpulse PH2 angeschlossen ist. Das AND- Gatter 158 hat einen Eingang, der mit den ersten Prozessor-Taktimpulsen PH1 verbunden ist, einen zweiten Eingang, der über einen Inverter 166 an das Raten- Steuersignal angeschlossen ist, und einen dritten Eingang, der an die inversen Speicher-Taktimpulse angeschlossen ist. Die Ausgänge der AND-Gatter 156 und 158 sind an die Eingänge eines NOR-Gatters 160 angeschlossen. Der Ausgang des NOR-Gatters 160 ist n den Eingang des Inverters 162 angeschlossen, welcher einen Ausgang hat, der mit dem Gate-Anschluß des n-Kanal-Feldeffekttransistors 164 verbunden ist.
- Wenn PH1 sinkt, wird PH2 steigen. Auch werden die inversen Speicher-Taktimpulse steigen und das AND-Gatter 156 veranlassen, dem NOR-Gatter 160 einen hohen Pegel bereitzustellen, und das AND-Gatter 158 veranlassen, einen niedrigen Pegel am NOR-Gatter 160 bereitzustellen. Dies veranlaßt das NOR-Gatter 160 einen niedrigen Pegel an den Eingang des Inverters 162 auszugeben, welcher wiederum einen hohen Pegel an den Gate-Anschluß des Transistors 164 ausgibt. Dies schaltet den Transistor 164 an, was das Register 152 veranlaßt, von einem hohen Eingangspegel zu einem niedrigen Eingangspegel umzuschalten, um wiederum das erste Steuersignal am Ausgang 142 abzusenken. Als ein Ergebnis ist in dem Einzigstmodus das erste Steuersignal (DRIVE OUTPUT) während der Übereinstimmung der Hochphase von PH1 und des Hochphasenanteils des Speicher-Taktimpulses hoch und ist auf einem niedrigen Pegel während der Niedrigphase von PH1 und dem Niedrigphasenanteil des Speicher-Taktimpulses. Wie später zu sehen ist, erlaubt dies dem Mikroprozessor die Ausgänge zu dem externen Speicher anzusteuern, wenn die ersten Prozessor-Taktimpulse und die Speicher-Taktimpulse beide auf einem hohen Pegel sind und hält den Mikroprozessor davon ab, die Ausgänge zu dem externen Speicher anzusteuern.
- In dem .5X Modus wird das erste Steuersignal am Ausgang 142 unter den gleichen Bedingungen wie zuvor beschrieben steigen, nämlich während der Übereinstimmung der Hochphase der ersten Prozessor-Taktimpulse und dem Hochphasenanteil der Speicher-Taktimpulse. Es ist jedoch festzuhalten, daß das erste Steuersignal nicht auszugeben ist, bis zu dem Anfang des niedrigphasigen Anteils der Speicher- Taktimpulse. Dies erlaubt dem Mikroprozessor die Ausgänge in dem .5X Modus für eine verlängerte Zeitspanne anzusteuern während des gesamten hochphasigen Abschnittes der Speicher-Taktimpulse, wobei er immer noch synchron mit dem externen Speichertakt bleibt.
- Zur Erzeugung des zweiten Steuersignals am Ausgang 144 enthält das Freigabemittel 140 ein AND-Gatter 170, n-Kanal-Feldeffekttransistoren 172,174 und 176, ein Register 178 und ein Paar von Invertern 180 und 182. In den 1X Modus wird das Raten-Steuersignal mit einer logischen 1 auf den Gate-Anschluß des n-Kanal- Feldeffekttransistors 174 aufgeprägt. Dies schaltet den Transistor 174 ein, um einen niedrigen Pegel auf den Eingang des Registers 178 auszugeben. Dies veranlaßt den Ausgang des Registers 178 kontinuierlich auf einem hohen Pegel zu sein, welcher während jeder Hochphase des zweiten Prozessor-Taktsignals PH2 an den Ausgang 144 überführt wird. Als Ergebnis ist der Mikroprozessor in dem 1X Modus freigegeben zum Empfangen von Eingängen des externen Speichers während jeder Hochphase von PH2.
- In dem .5X Modus gibt der niedrige Pegel des Raten-Steuersignals das Register 178 frei, um den Pegel des Speichertaktes während der Hochphase von PH1 aufzunehmen. Wenn der Speichertakt hoch ist (also gerade eine steigende Flanke sah), dann wird die folgende Hochphase von PH2 veranlassen, daß das zweite Steuersignal am Ausgang 124 logisch 0 sein wird, was anzeigt, daß dies eine Zeitspanne ist, Eingangssignale, wie die Bereitsignale, von dem externen Speicher zu ignorieren und nicht zu versuchen, einen externen Zugriff durchzuführen. Wenn der Speichertakt während der Hochphase von PH1 als niedrig aufgenommen worden ist, dann wird, da der Mikroprozessor in dem .5X Modus arbeitet, die nächste Hochphase von PH1 ungefähr der steigenden Flanke des Speichertaktes entsprechen. Dies ist ein gültiger Zeitpunkt zum Aufnehmen von Eingängen und zum Freigeben von Ausgangstreibern oder um Übergänge auf Zustandsmaschinen vorzunehmen in einer Weise wie später beschrieben.
- Als ein Ergebnis ist zu sehen, daß das Freigabemittel 140 Freigaben zum Ansteuern von Ausgängen und Freigaben zum Empfangen von Eingängen während korrekter Zeiten bereitstellt, unabhängig davon, ob der Mikroprozessor in dem 1X und in dem .5X Modus ist. Befindet er sich in dem .5X Modus sind die Eingänge freigegeben zum Empfangen von Eingängen von dem externen Speicher während jeder zweiten Hochphase von PH2 und Ausgänge sind freigegeben zum Ansteuern von Ausgängen des externen Speichers während jeder zweiten Hochphase von PH1 und bis zu einer fallenden Flanke der Speicher-Taktimpulse.
- Es wird nun auf Fig. 4 Bezug genommen, welche in einem schematischen Schaltungsdiagramm einen Ausgangspuffer 200 zeigt, welcher vorteilhafterweise zur Ausführung der vorliegenden Erfindung in Übereinstimmung mit diesem bevorzugten Ausführungsbeispiel an jedem der Ausgänge des Mikroprozessors 16 benutzt werden kann, welche die externen Busse und die Steuerleitungen zu dem externen Speicher ansteuern. Der Ausgangspuffer 200 enthält im wesentlichen einen Eingang 202 zum Empfangen von Eingangspegeln, einen Ausgang 204 zum Ansteuern der externen Steuerleitung 40 mit dem Eingangspegel, der an dem Eingang 202 zu passender Zeit empfangen wurde, wie später noch beschrieben wird, einen Steuereingang 206 zum Empfangen des ersten Steuersignals (DRIVE OUTPUT) zum Steuern, wann der Eingangspegel am Eingangspegel 202 von dem Ausgang 204 auf die externe Steuerleitung 40 gegeben werden soll, und einen Hochimpedanzausgang-Steuerungseingang 208 zum Empfangen eines Steuersignals (HIGH Z OUTPUT), wenn der Ausgang 204 eine hohe Impedanz auf die externe Steuerungsleitung 40 geben soll, um den Ausgang 204 von der externen Steuerungsleitung 40 zu trennen.
- Der Ausgang 204 enthält eine starke oder Hard-Drive-Einrichtung 210, welche ein Paar von n-Kanal-Feldeffekttransistoren 212 und 214 aufweist, und eine Weg- Drive-Einrichtung 216, welche einen p-Kanal-Feldeffekttransistor 218 und einen n-Kanal-Feldeffekttransistor 220 aufweist. Wie später zu sehen sein wird, wird, wenn der Eingangspegel zunächst auf die externe Steuerungsleitung 40 ausgegeben wird, er von der Strong-Drive-Einrichtung 210 während des Anlegens des Steuersignals am Steuereingang 206 getrieben und danach nach Beendigung des Steuersignals am Eingang 206 wird der Eingangspegel von der Weak-Drive-Einrichtung 216 auf die externe Steuerungsleitung 40 ausgegeben, um den Eingangspegel am Ausgang zu halten. Die Weak-Drive-Einrichtung erlaubt dem Ausgangspuffer in den dritten Zustand des Hochimpedanzzustandes zu gehen in Abhängigkeit von dem Hochimpedanzausgangs-Steuereingangssignals am Eingang 208, und zwar schneller als wenn der Eingangssignalpegel von der Strong-Drive-Einrichtung 210 gehalten werden würde.
- Der Ausgangspuffer 200 enthält desweiteren einen Inverter 222, einen n-Kanal- Feldeffekttransistor 224, ein Register 226, einen weiteren Inverter 228, ein Transfertor 230, einen weiteren Inverter 232 und einen n-Kanal-Feldeffekttransistor 234. Der Ausgangspuffer enthält ferner ein anderes Transfertor 236, einen weiteren Inverter 238 und einen n-Kanal-Feldeffekttransistor 240.
- Der Ausgangspuffer umfaßt auch noch einen weiteren Inverter 242, einen n-Kanal- Feldeffekttransistor 244, ein weiteres Register 246, einen Inverter 248, einen Inverter 250, ein NAND-Gatter 252 und ein NOR-Gatter 254. Außerdem enthält der Ausgangspuffer 200 ein weiteres NOR-Gatter 256 und einen n-Kanal-Feldeffekttransistor 258.
- Der Inverter 222 ist zwischen den Steuereingang 206 und den Gate-Anschluß des Transistors 224 geschaltet. Der Transistor 224 ist zwischen den Eingang 202 und das Register 226 geschaltet. Der Inverter 228 ist zwischen dem Register 226 und dem Transfertor angeschlossen, welches mit dem Steuereingang 206 verbunden ist. Der Inverter 232 ist zwischen den Ausgang des Inverters 228 und dem Gate-Anschluß des Transistors 234 geschaltet. Der Transistor 234 ist zwischen dem Transfertor 234 und Massepotential geschaltet. Der Source-Anschluß des Transistors 234 ist mit dem Gate-Anschluß von Transistor 212 verbunden.
- Der Ausgang des Registers 226 ist desweiteren mit dem Eingang des Inverters 238 und dem Transfertor 236 verbunden, welches auch an den Steuereingang 206 angeschlossen ist. Der Ausgang des Inverters 238 ist mit dem Gate-Anschluß des Transistors 240 und mit dem Transfertor 236 verbunden. Der Transistor 240 ist zwischen das Transfertor 236 und das Massepotential geschaltet und hat seinen Source-Anschluß mit dem Gate-Anschluß des Transistors 214 verbunden. Der Drain-Anschluß des Transistors 212 ist mit dem Source-Anschluß des Transistors 214 verbunden und ihr gemeinsamer Schnittpunkt ist mit der externen Steuerungsleitung 40 verbunden.
- Der Transistor 244 ist zwischen dem Ausgang des Inverters 228 und dem Eingang des Registers 246 geschaltet. Der Ausgang des Registers 246 ist an den Eingang des Inverters 248 angeschlossen, welches seinen Ausgang an einen Eingang des NAND-Gatters 252 angeschlossen hat. Der andere Eingang des NAND-Gatters 252 ist mit dem Eingang des NOR-Gatters 256 verbunden. Der Transistor 258 ist zwischen den Ausgang des NOR-Gatters 256 und dem Massepotential geschaltet und hat seinen Gate-Anschluß an den Hochimpedanzausgangs-Steuereingang 208 angeschlossen. Der Ausgang des NOR-Gatters 256 ist desweiteren an den Eingang des Inverters 250 angeschlossen, dessen Ausgang an einen Eingang des NOR-Gatters 254 angeschlossen ist. Der andere Eingang des NOR-Gatters 254 ist mit dem Ausgang des Inverters 248 verbunden. Der zweite Eingang des NAND-Gatters 252 ist desweiteren mit dem Ausgang des Inverters 248 verbunden. Der Ausgang des NAND-Gatters 252 ist mit dem Gate-Anschluß des Transistors 218 verbunden und der Ausgang des NOR-Gatters 254 ist mit dem Gate-Anschluß des Transistors 220 verbunden. Der Drain-Anschluß des Transistors 218 ist an den Source-Anschluß des Transistors 220 angeschlossen und deren gemeinsamer Verbindungspunkt ist an die externe Steuerleitung 40 angeschlossen.
- Obwohl der Ausgangspuffer 200 an jedem der Ausgangstore des Mikroprozessors, welche die externen Busse oder externen Steuerleitungen ansteuern, eingesetzt werden kann, wird hier zwecks Erläuterung der Betrieb des Ausgangspuffers 200 im Hinblick auf die Erzeugung des Anfragesteuersignals (*REQ) beschrieben, auf das vorher schon Bezug genommen worden ist und welches von dem Mikroprozessor erzeugt wird, um für einen externen Zugriff auf den externen Speicher anzufragen. Wie in Fig. 4 zu sehen ist, ist der Eingang 202 ausgebildet, ein Frühanfrage- (EREQ)-Steuersignal zu empfangen, welches als Früh bezeichnet wird, da es an dem Eingang 202 vor dem Zeitpunkt erscheint, an dem es von dem Ausgang auf die externe Steuerleitung 40 als das Anfragesignal auszugeben ist. Das Auftreten des Frühanfragesignals erlaubt dem Eingangspegel des Frühanfragesignals vorzeitig aufbereitet zu werden, bevor es als Anfragesignal an den externen Speicher weitergeleitet wird.
- Im Betrieb ist festzuhalten, daß, wenn das Steuersignal am Eingang 206 dicht anliegt (bei einem niedrigen Pegel), der Transistor 224 eingeschaltet wird, um dem Eingangspegel am Eingangspegel 202 zu erlauben, in dem Register 226 abgelegt zu werden. Desweiteren sind, wenn das Steuersignal am Eingang 206 niedrig ist, die beiden Transistoren 212 und 214 ausgeschaltet, so daß sie die externe Steuerleitung 40 nicht mit einem beliebigen Ausgangssignal versorgen.
- Wenn das Steuersignal am Eingang 206 anliegt (ansteigt), wird der Transistor 224 ausgeschaltet, um dem Eingangspegel am Eingang 204 einen Wechsel zu erlauben, ohne daß das Register 226 beeinflußt wird. Folglich dient der Transistor 224 als ein Trennmittel zum Trennen des Eingangs 202 von dem Register 226 und damit vom Ausgang des Ausgangspuffers 200, wenn der vorherige Eingangssignalpegel auf die externe Steuerleitung 40 ausgegeben wird.
- Das Anliegen des Steuersignals am Eingang 206 aktiviert die Strong-Drive-Einrichtung 210 den vorherigen Eingangssignalpegel auf die externe Steuerleitung 40 auszugeben. Das vorherige Eingangssignal wird in dem Register 226 abgelegt, so daß, falls der vorherige Eingangssignalpegel ein hoher Pegel ist, der Strong-Drive- Transistor 212 angeschaltet wird von dem Hocheinschalt-Steuersignal auf Leitung 260 und der Strong-Drive-Transistor 204 ausgeschaltet wird von dem Niedrigeinschalt-Steuersignal auf Leitung 262, um zu veranlassen, daß der hohe Eingangspegel auf die externe Steuerungsleitung 40 ausgegeben wird.
- Wenn das vorherige Eingangssignal einen niedrigen Pegel hat, wird der Strong- Drive-Transistor 212 ausgeschaltet von dem Hocheinschalt-Signal auf Leitung 260 und der Strong-Drive-Transistor 214 wird eingeschaltet von dem Niedrigeinschalt- Steuersignal auf Leitung 262. Dies veranlaßt den niedrigen Eingangspegel des vorherigen Eingangssignals auf die externe Steuerungsleitung 40 auszugeben. In diesem späteren Fall, bei dem der niedrige Pegel auf die externe Steuerungsleitung ausgegeben wird, entspricht dem Anliegen des Anfragesteuersignals (*REQ).
- Wenn der vorherige Eingangssignalpegel auf die externe Steuerleitung 40 von der Strong-Drive-Einrichtung 210 in Antwort auf das Anlegen des Steuersignals am Eingang 206 ausgegeben worden ist, wird der vorherige Eingangssignalpegel von dem Pegel des Ausgangs des Inverters 228 durch den Transistor 244 zu dem Register 246 an die Weak-Drive-Einrichtung 216 transferiert. Dieser Transfer ist freigegeben, weil die Hocheinschalt- und die Niedrigeinschalt-Steuersignale auf Leitungen 260 bzw. 262 an die Eingänge des NOR-Gatters 256 angeschlossen sind.
- Da eines dieser beiden Signale hoch sein muß und das andere niedrig, ist der Ausgang des NOR-Gatters 256 niedrig, welcher von dem Inverter 242 invertiert wird, um auf den Gate-Anschluß des Transistors 244 einen hohen Pegel aufzuprägen. Dies hält den Transistor 244 eingeschaltet zum Transferieren des vorherigen Eingangspegels zu dem Register 246.
- Wenn das Steuersignal (DRIVE OUTPUT) am Eingang 206 weggenommen (niedrig) wird, sinken sowohl die Hocheinschalt- und die Niedrigeinschalt-Steuersignale auf den Leitungen 260 und 262, um die Strong-Drive-Einrichtung 210 auszuschalten und um zu veranlassen, daß der Ausgang des NOR-Gatters 356 hoch wird. Dies veranlaßt den Transistor 244 auszuschalten, um das Register 246 von dem Ausgang des Inverters 228 zu trennen. Da die zum Ausschalten des Transistors 244 benötigte Zeit kleiner ist als die Zeit, welche benötigt wird, das Register 226 mit dem neuen Eingangssignalpegel aufzufrischen, wird der vorherige Eingangssignalpegel von dem Register 246 festgehalten.
- Nun greift die Weak-Drive-Einrichtung 216 ein, um den Ausgang 204 zu halten und damit die externe Steuerleitung 40 auf dem Pegel zu halten, der ursprünglich von der Strong-Drive-Einrichtung etabliert worden ist. Wie wohl bekannt ist, besteht der Unterschied zwischen der Strong-Drive-Einrichtung 210 und der Weak- Drive-Einrichtung 216 im wesentlichen in den physikalischen Dimensionen des Strong-Drive-Transistors im Vergleich zu denen des Weak-Drive-Transistors. Wie bekannt, sind Strong-Drive-Transistoren größer als Weak-Drive-Transistoren und sind damit fähig, größere Ströme zu treiben.
- Die Weak-Drive-Einrichtung 216 wird benutzt, um den Tristate-Zustand des Ausgangspuffers 200 zu schaffen, wenn der Ausgang eine hohe Impedanz annehmen soll. Weak-Drive-Einrichtungen können sehr viel schneller in den Tristate-Zustand gebracht werden als Strong-Drive-Einrichtungen. Wenn nach dem Transfer des vorherigen Signalpegels an die Weak-Drive-Einrichtung 216 der Ausgangspuffer 200 in den Tristate-Zustand gebracht werden soll, wird das Hochimpedanzausgangs-Eingangssteuersignal an 208 als ein hoher Pegel anliegen, um den Transistor 258 einzuschalten. Dies zieht den Eingang des Inverters 250 auf einen niedrigen Pegel, welcher veranlaßt, die beiden Transistoren 218 und 220 auszuschalten, so daß der Eingang 204 von der externen Steuerleitung 40 getrennt wird. Wie aus dem Vorhergehenden zu sehen ist, veranlaßt der Ausgangspuffer 200 Ausgänge an den externen Speicher in Abhängigkeit von dem DRIVE OUTPUT-Steuersignal an dem Steuereingang 206. Wenn das Steuersignal am Eingang 206 auf einem niedrigen Pegel ist, wird der Ausgang des Ausgangspuffers 200 ausgeschaltet, und zwar unabhängig von dem Eingangspegel an dem Eingang 202. Wenn das Steuersignal am Eingang 206 anliegt, wird der Ausgangspuffer 200 die externe Steuerleitung mit dem vorherigen Eingangssignalpegel ansteuern, der von dem Register 226 gehalten wurde, während der Eingang 222 von dem Register 226 getrennt ist, um dem Eingangspegel am Eingang 202 zu erlauben, einen neuen Pegel anzunehmen. Wenn das Steuersignal am Eingang 206 abklingt, wird der vorherige Eingangssignalpegel an die Weak-Drive-Einrichtung 216 transferiert, welche dann die externe Steuerleitung 40 auf dem Pegel beibehält, der dem vorherigen Eingangssignalpegel entspricht. Folglich werden Ausgänge an den externen Speicher nur dann veranlaßt, wenn das DRIVE OUTPUT-Steuersignal anliegt, wobei der Ausgangspuffer 200 in derselben Weise arbeitet unabhängig davon, ob der Mikroprozessor sich in dem 1X Modus oder in dem .5X Modus zum Ausführen synchroner Zugriffe auf den externen Speicher befindet. Folglich ist der Entscheidungsprozeß, wann Ausgänge anzusteuern sind, für den Ausgangspuffer 200 transparent gemacht.
- Im folgenden wird nun auf Fig. 5 Bezug genommen, welche den Steuerbereich 280 der Bus-Interface-Einheit 52 des Mikroprozessors 16 zeigt. Die Steuerung enthält eine Logikeinrichtung 282, ein Kanalregister 284, eine Kanalzustandsmaschine 286, eine Kanaltreibereinrichtung 288 und eine Kanalbereiteinrichtung 290. Die Logikeinrichtung 282 ist, wie später zu sehen sein wird, abhängig von dem zweiten Steuersignal (ENAINPUT), um einen Mikroprozessoreingang bereitzumachen, zum Empfangen eines Zugriffssteuersignals von dem externen Speicher, und das Kanalregister 284, die Kanalzustandsmaschine 286, die Kanaltreibereinrichtung 288 und die Kanalbereiteinrichtung 290 arbeiten zusammen, um zu steuern, wann ein Mikroprozessorzugriff beginnt und wann ein Mikroprozessorzugriff zu beenden ist. Darüber hinaus arbeiten das Kanalregister 284, die Kanalzustandsmaschine 286, die Kanaltreibereinrichtung 288 und die Kanalbereiteinrichtung 290 in derselben Weise unabhängig davon, ob der Mikroprozessor sich in dem 1X Modus oder in dem .5X Modus zum synchronen Zugreifen auf den externen Speicher befindet.
- Eine Logikeinrichtung, wie die Logikeinrichtung 282, kann in Übereinstimmung mit diesem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung an jedem Eingang des Mikroprozessors eingesetzt werden, welcher Zugriffssteuersignale von dem externen Speicher zu empfangen hat. Die Logikvorrichtung 282 enthält einen Eingang 282, welcher an eine externe Steuerleitung von dem externen Speicher angeschlossen ist und, wie dargestellt, an die Steuerleitung 44 zum Empfangen des Bereitsignals (*RDY) von dem externen Speicher angeschlossen ist. Die Logikeinrichtung 282 enthält desweiteren einen Inverter 294, einen Inverter 296, einen n-Kanal-Feldeffekttransistor 298, einen Inverter 300, einen n-Kanal-Feldeffekttransistor 302 und ein Register 304. Die Logikeinrichtung enthält ferner einen nicht invertierenden Verpuffer 306, ein NAND-Gatter 308 und einen Inverter 310. Die Logikeinrichtung 282 umfaßt desweiteren einen Steuereingang 312 zum Empfangen des zweiten Steuersignals (ENAINPUT), dessen Erzeugung im Hinblick auf Fig. 3 erläutert worden ist.
- Wie zuvor erklärt, gibt der externe Speicher ein Bereitsignal in Form eines niedrigen logischen Pegels über die externe Steuerleitung 44 aus, wenn ein externer Zugriff beendet ist. Das Bereitsignal wird von den Invertern 294 und 296 gepuffert und wird an das Register 304 weitergegeben bei Übereinstimmung des zweiten Phasenbereichs (Niedrigphase) des Speicher-Taktimpulses, welcher den Transistor 298 zum Leiten veranlaßt, und der ersten Phase (Hochphase) der zweiten Prozessor-Taktimpulse, welche den Transistor 302 zum Leiten veranlaßt. Das Bereitsignal wird dann in dem Register 304 abgelegt und über den nicht invertierenden Puffer 306 zu einem Eingang des NAND-Gatters 308 weiter befördert. Das Bereitsignal wird von dem Register 304 an dem Eingang des NAND-Gatters 308 gehalten. Wenn das zweite Steuersignal (ENAINPUT) am Eingang 302 anliegt, gelangt das Bereitsignal durch den Inverter 310, welcher ein internes Bereitsignal (INTRDY) an dem Ausgang 314 des Inverters 310 erzeugt. Als ein Ergebnis wird das Bereitsignal des externen Speichers nicht von dem Mikroprozessor entdeckt, bevor das zweite Steuersignal (ENAINPUT) anliegt. Anders ausgedrückt, wird, wenn das Bereitsignal von dem externen Speicher empfangen worden ist, aber das zweite Steuersignal auf einem niedrigen Pegel ist, der Rest der Bus-Interface-Einheitssteuerung so handeln, als wenn das Bereitsignal noch nicht empfangen worden ist. Da das interne Bereitsignal von dem Freigabeeingang-Steuersignal am Eingang 312 bedingt ist, kann der Rest der Bus-Interface-Einheit in derselben Weise funktionieren unabhängig davon, ob der Mikroprozessor sich in dem 1X oder in dem .5X Modus zum synchronen Zugreifen auf den externen Speicher befindet.
- Das Kanalregister 284 wird benutzt, um Zugriffsanfragen von der zentralen Verarbeitungseinheit 50 (Fig. 2) über die interne Steuerleitung 66 zu entdecken. Wenn ein Anfragesignal auf Leitung 66 detektiert ist, erzeugt das Kanalregister ein Anhängiganfrage-Steuersignal (PENDREQ) auf der internen Steuerleitung 320, welches an die Kanalzustandsmaschine 286, die Kanaltreibereinrichtung 288 und die Kanalbereiteinrichtung 290 weitergeleitet wird.
- Die Kanaltreibereinrichtung 288 erzeugt die folgenden Steuersignale, auf die vorher im Hinblick auf Fig. 2 Bezug genommen worden ist: LATCHIA; INCAOL; HIZAB; AOLTOA; REQ und HIZDB. Wenn die Kanaltreibereinrichtung 288 die Steuersignale AOLTOA ausgibt, um zu veranlassen, daß die von der zentralen Verarbeitungseinheit bereitgestellte externe Speicheradresse von dem Adreßausgangsregister zu dem Adreßbus transferiert wird, und das Anfragesignal (REQ) ausgibt, wird das Kanalregister 284 als Antwort auf das von der Kanalzustandsmaschine 286 generierte Löscher-Anfrage-Signal (CLRREQ) das anhängige Anfragesignal auf Leitung 320 löschen. Für das Kanalregister 284 wird das anhängige Anfragesteuersignal ablegen und die Zugriffsanfrage speichern, bis es das Löschenanfrage-Steuersignal über Leitung 322 empfängt.
- Die Kanalbereiteinrichtung 290 ist ausgebildet, um das interne Bereitsteuersignal von der Logikeinrichtung 292 über die interne Steuerleitung 324 zu empfangen. Wie hierauf folgend erläutert wird, definiert die Kanalzustandsmaschine 286 zwei Betriebszuständen, einen Wartezustand und einen Einzelzustand. Während des Wartezustands führt der Mikroprozessor keinerlei Verarbeitung auf, welche mit einem externen Zugriff zusammenhängt. In dem Einzelzustand führt der Mikroprozessor Verarbeitungen aus, die mit einem externen Zugriff zusammenhängen, bis der externe Zugriff beendet worden ist. Die Kanalbereiteinrichtung 290 erzeugt in Antwort auf das interne Bereitsteuersignal ein qualifiziertes Bereitsteuersignal (QRDY) auf der internen Steuerleitung 326, wenn die Kanalzustandsmaschine in dem Einzelzustand ist. Ebenso als Antwort auf das interne Bereitsteuersignal und wenn die Kanalzustandsmaschine 286 sich in dem Einzelzustand befindet, gibt die Kanaltreibereinrichtung 290 die Instruktion Bereit- oder Datenbereit-Steuersignale über die internen Steuerleitungen 64 bzw. 62 aus und das Registerdatensteuersignal über die interne Steuerleitung 328 aus, um das Datenbus-Interface zu veranlassen, die von dem externen Speicher empfangenen Daten abzulegen.
- Wie zuvor erwähnt, definiert die Kanalzustandsmaschine zwei verschiedene Zustände, einen Wartezustand und einen Einzelzustand. Der Einzelzustand initiiert einen externen Zugriff und bringt ihn zur Vollendung und der Wartezustand beendet den vollständigen Zugriff und hält den Mikroprozessor in einem Wartezustand, bis ein neuer externer Zugriff gestartet wird. Die untenstehende Tabelle faßt die Übergänge zwischen den Zuständen der Kanalzustandsmaschine 286 zusammen.
- Wie aus der obenstehenden Tabelle zu sehen ist, schaut die Zustandsmaschine auf den derzeitigen Zustand, wenn ein Anhängiganfrage-Signal detektiert worden ist. Wenn der derzeitige Zustand ein Wartezustand ist, geht er in den Einzelzustand über, wenn, das zweite Steuersignal (ENAINPUT) vorhanden ist (die korrekte Flanke des Speichertaktes anzeigend). Wenn sich die Kanalzustandsmaschine in dem Einzelzustand befindet und eine anhängige Anfrage entdeckt und wenn ein gültiges qualifiziertes Bereit vorhanden ist, das anzeigt, daß von dem externen Speicher ein Bereitsignal für den aktuellen Zugriff empfangen worden ist, verbleibt die Zustandsmaschine 286 in dem Einzelzustand und erzeugt das Löscheranfrage- Steuersignal, um den nächsten Zugriff auf den externen Speicher zu starten. Es ist daher festzustellen, daß alle Übergänge zu dem nächsten Zustand von dem Vorhandensein des qualifizierten Bereitsteuersignals oder des Anliegens des zweiten Steuersignals (ENAINPUT) zum Übergehen zu dem nächsten Zustand abhängen. Andernfalls bleibt der nächste Zustand derselbe wie der derzeitige Zustand. Folglich ist, da die Übergänge zwischen den Zuständen abhängen von dem zweiten Steuersignal (ENAINPUT) oder dem qualifizierten Bereit (QRDY), welche beide auf der passenden Speicher-Taktflanke basieren, die Zustandsmaschine unabhängig von dem Speichertakt egal ob sich der Mikroprozessor in dem 1X Modus oder in dem .5X Modus befindet.
- Aus dem Vorhergehenden ist daher zu sehen, daß der Mikroprozessor von dem internen Bereitsignal abhängt, welches genutzt wird, um das qualifizierte Bereitsignal zu erzeugen, wenn die Zustandsmaschine sich in dem Einzelzustand zum Abschließen des beendeten externen Zugriffs durch Übergehen zu dem Wartezustand während des nächsten Taktes befindet. Es ist ebenso festzustellen, daß die Kanalzustandsmaschine an eine Transfereinrichtung 330 angeschlossen ist, so daß, wenn die Kanalzustandsmaschine Zustände ändert, dieses der Fall ist nach der nächsten ersten Phase (Hochphase) des zweiten Prozessor-Taktimpulses PH2. Daher wird, wenn die Kanalzustandsmaschine sich in dem Wartezustand befindet und ein anhängige Anfrage und das zweite Steuersignal (ENAINPUT) sieht, sie auf die nächste Hochphase von PH2 auf den Einzelzustand weiterleiten, um einen externen Zugriff zu starten. Desweiteren ist die Zustandsmaschine 286 abhängig von dem qualifizierten Bereitsignal, der Abwesenheit eines anhängigen Anfragesignals und von dem Vorhandensein in dem Einzelzustand zum Weiterschalten in den Wartezustand auf die nächste Hochphase von PH2 zum Abschließen des beendeten externen Zugriffs. Wie zuvor erwähnt, ist, da die Erzeugung des zweiten Steuersignals (ENAINPUT) und des qualifizierten Bereitsteuersignals (QRDY) auf einer passenden ansteigenden Flanke des Speichertaktes basieren, die Zustandsmaschine unabhängig davon, ob sich der Mikroprozessor in dem 1X Modus oder in dem .5X Modus befindet und daher unabhängig von dem Entscheidungsprozeß, zu welcher steigenden Kante des Speichertaktes Ausgänge angesteuert werden sollen oder Eingänge freigegeben werden sollen.
- Es wird nun auf Fig. 6 Bezug genommen, welche eine Reihe von Wellenformen zeigt, welche den Betrieb des Mikroprozessors der vorliegenden Erfindung veranschaulichen, wenn synchron auf den externen Speicher zugegriffen wird, wenn der externe Speicher mit derselben Frequenz wie die Betriebsfrequenz des Prozessors arbeitet und wenn der Mikroprozessor die Speicher-Taktimpulse erzeugt. Folglich ist das Raten-Steuersignal (*DIV2) gleich 1 und das PWRCLK-Steuersignal ist ebenso gleich 1.
- Es ist festzustellen, daß in diesem Modus (dem Einzigstmodus) die Frequenz des externen Taktes (INCLK) und die Frequenz der Speicher-Taktimpulse dieselbe ist. Es ist auch daran zu erinnern, daß die ersten Prozessor-Taktimpulse (PH1) im wesentlichen den externen Taktimpulsen entsprechen und daß die zweiten Prozessor-Taktimpulse (PH2) dieselbe Frequenz wie die ersten Prozessor-Taktimpulse haben und von einer inversen. Phasenrelation sind.
- Während des ersten Zyklus des Speichertaktes erzeugt der Mikroprozessor das Anfragesteuersignal. Als Antwort auf das Anfragesteuersignal erzeugt das Kanalregister 284 das anhängige Anfragesteuersignal. Zu diesem Zeitpunkt befindet sich die Kanalzustandsmaschine in dem Wartezustand. Da in diesem Modus das Freigabeeingangs-Steuersignal (ENAINPUT) immer dann erzeugt wird, wenn der Speichertakt in seiner Niedrigphase ist, wird nach dem Beginnen des zweiten Speicher- Taktzyklus und mit dem Anlegen der abhängigen Anfrage und dem Befinden der Kanalzustandsmaschine in dem Wartezustand, die Kanalzustandsmaschine in den Einzelzustand übergehen, um zu veranlassen, daß die externe Speicheradresse auf den externen Adreßbus ausgegeben wird, und um zu veranlassen, daß das Anfragesignal (*REQ) durch Absinken angelegt wird. Am Ende des Speicherzyklus Nr. 3 hat der externe Speicher die Daten geliefert und hat das Bereitsignal angelegt, indem es runtergezogen wurde. Da die Kanalzustandsmaschine in dem Einzelzustand war und mit der Erzeugung des qualifizierten Bereitsignals begibt sich die Kanalzustandsmaschine mit dem Beginnen des vierten Speicherzyklus zurück in den Wartezustand, um den externen Zugriff zu vollenden.
- Es wird nun auf Fig. 7 Bezug genommen, die eine Reihe von Wellenformen zeigt, welche die Operation des Mikroprozessors in Übereinstimmung der vorliegenden Erfindung darstellen, wenn der Mikroprozessor in dem .5X Modus arbeitet und daher auf einen externen Speicher zugreift, der mit einer Frequenz, welche die Hälfte der Betriebsfrequenz des Mikroprozessors beträgt, arbeitet. Hier ist festzustellen, daß die internen Taktimpulse (INCLK) eine Frequenz haben, die der zweifachen Frequenz der Speicher-Taktimpulse entspricht, so daß der Mikroprozessor eine Frequenz hat, welche doppelt so groß ist wie die der Speicher-Taktimpulse. Während des kompletten ersten Zyklus des Speichertaktes befindet sich die Kanalzustandsmaschine in dem Wartezustand. Am Anfang des zweiten Speicher-Taktzyklus im Hinblick auf die anhängige Anfrage innerhalb des Mikroprozessors und mit dem anliegenden Freigabeeingangssignal die Kanalzustandsmaschine in den Einzelzustand über, um zu veranlassen, daß die externe Speicheradresse auf den externen Adreßbus ausgegeben wird, und um zu veranlassen, daß das Anfragesignal angelegt wird. In der zweiten Hälfte des zweiten Speicher-Taktzyklus verbleibt die Kanalzustandsmaschine in dem Einzelzustand, weil das qualifizierte Bereitsignal noch nicht von der Kanaltreibereinrichtung 290 der Bus-Interface-Einheitssteuerung erzeugt worden ist. Die Kanalzustandsmaschine verbleibt in dem Einzelzustand bis zu dem Ende des dritten Speicher-Taktzyklus, in dem zu sehen ist, daß der externe Speicher die Daten bereitgestellt hat und das Bereitsignal angelegt hat. Das Anliegen des Bereitsignals zusammen mit dem Freigabeeingang- Steuersignal veranlaßt die Kanalzustandsmaschine, von dem Einzelzustand zu dem Wartezustand am Anfang des vierten Speicher-Taktzyklus überzugehen, um den externen Zugriff zu beenden.
- Wie also aus den Wellenformen der Fig. 6 und 7 zu sehen ist, liefert die vorliegende Erfindung einen Mikroprozessor, welcher fähig ist, synchron auf einen externen Speicher zuzugreifen, unabhängig ob der externe Speicher mit derselben Frequenz wie der Mikroprozessor arbeitet oder ob der externe Speicher mit der halben Frequenz der Betriebsfrequenz des Mikroprozessors arbeitet. Darüber hinaus wird der Entscheidungsprozeß, welche Speicher-Taktflanken Ausgänge ansteuern oder den Empfang von Eingängen ermöglichen unabhängig von der Bus- Interface-Einheitssteuerung des Mikroprozessors, der Zustandsmaschine und den Ausgangspuffern durchgeführt, so daß derartige Entscheidungsfindungsprozesse in einer Weise durchgeführt werden, welche transparent für den externen Speicher und die Hauptlogikbereiche des Mikroprozessors ist.
- Es ist zwar ein bestimmtes Ausführungsbeispiel der vorliegenden Erfindung gezeigt und beschrieben worden, es können jedoch Modifikationen vorgenommen werden und es ist daher beabsichtigt, mit den beigefügten Ansprüchen alle derartigen Veränderungen oder Modifikationen, welche in den Bereich der Erfindung fallen, abzudecken.
Claims (26)
1. Mikroprozessor (16) zum Zugriff auf einen externen Speicher (22) zwecks
Ausführen von Lade- und Speicheroperationen synchron mit einem Speicher-
Taktgeber (12), wobei der Mikroprozessor eine Verarbeitungsrate hat und der
externe Speicher eine Zugriffsrate hat, wobei der externe Speicher durch einen
Externadress-Bus (46) mit dem Mikroprozessor verbunden ist, und wobei der
Speicher-Taktgeber Taktimpulse (MEMCLK) mit einer ersten Frequenz an den
Mikroprozessor und den externen Speicher ausgibt, um die Zugriffsrate des
externen Speichers auf den Bus zu steuern, wobei der Mikroprozessor auf eine
Taktschaltung (14) reagiert, der zur Steuerung der Verarbeitungsrate des
Mikroprozessors Prozessor-Taktimpulse (INCLK) mit einer zweiten Frequenz
erzeugt, die größer als die erste Frequenz oder dieser gleich ist;
wobei der Mikroprozessor aufweist:
eine zentrale Verarbeitungseinheit (50) zum Erzeugen von Externspeicher-
Adressen, wenn der Mikroprozessor auf den externen Speicher zugreifen soll;
und
eine Bus-Interface-Einheit (52) zur Steuerung, wann die Externspeicher-
Adressen über den Bus zu dem externen Speicher übertragen werden sollen,
dadurch gekennzeichnet, daß
die Bus-Interface-Einheit das synchrone Zugreifen auf den externen Speicher
aktiviert und einen Raten-Steuereingang (36) zum Empfang eines Raten-
Steuersignals aufweist, welches angibt, daß die zweite Frequenz entweder
gleich der ersten Frequenz oder größer als die erste Frequenz ist, die
Bus-Inter
face-Einheit eine Steuereinrichtung aufweist, die als Reaktion auf das Raten-
Steuersignal, den Speichertakt und die Taktschaltung veranlaßt, daß, wenn die
zweite Frequenz größer als die erste Frequenz ist und der Speicher-Takt und
der interne Takt in einem ersten vorbestimmten Phasenverhältnis zueinander
stehen, die Externspeicher-Adresse auf den Bus gegeben wird, um den
synchronen Zugriff des Mikroprozessors auf den externen Speicher zu erzielen.
2. Mikroprozessor (16) nach Anspruch 1, dadurch gekennzeichnet, daß der
Mikroprozessor ferner einen Taktgenerator (100) aufweist, der einen ersten und
einen zweiten Taktimpuls (PH1, PH2) erzeugt, die in einander
entgegengesetztem Phasenverhältnis stehen.
3. Mikroprozessor (16) nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß er
ferner einen Eingang (139) zum Empfangen der Speicher-Taktimpulse von
einer externen Quelle aufweist.
4. Mikroprozessor (16) nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß er ferner eine Schaltung (100) zum Erzeugen der Speicher-
Taktimpulse und einen Ausgang (139) zum Ausgeben der
Speicher-Taktimpulse an den externen Speicher (18) aufweist.
5. Mikroprozessor (16) nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, daß das bestimmte Verhältnis ein Mehrfaches von zwei ist.
6. Mikroprozessor (16) nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, daß das Raten = Steuersignal einen ersten Ratensteuersignal-Pegel in Form
einer logischen Eins und einen zweiten Ratensteuersignal-Pegel in Form einer
logischen Null aufweist.
7. Mikroprozessor (16) nach einem der Ansprüche 1 bis 6, dadurch
gekennzeichnet, daß die Bus-Interface-Einheit (52) eine Zustandsmaschine (286) mit
mindestens einem ersten und einem zweiten Zustand aufweist, wobei der
zweite Zustand zum Initiieren und Fortführen eines externen Zugriffs bis zum
Abschluß und der erste Zustand zum Beenden des abgeschlossenen Zugriffs
vorgesehen ist.
8. Mikroprozessor (16) nach einem der Ansprüche 1 bis 7, dadurch
gekennzeichnet, daß die Bus-Interface-Einheit (52) eine Aktivierungseinrichtung (140)
aufweist, um den Mikroprozessor (16) dahingehend zu aktivieren, daß er
während eines ersten Phasenabschnitts der Speicher-Taktimpulse, während
dessen der externe Speicher (18) Eingangssignale aus dem Mikroprozessor (16)
empfängt, Ausgangssignale an den externen Speicher (18) ausgibt, und den
Mikroprozessor (16) dahingehend zu aktivieren, daß er während eines zweiten
Phasenabschnitts der Speicher-Taktimpulse, während dessen der externe
Speicher (18) Ausgangssignale an den Mikroprozessor (16) ausgibt,
Eingangssignale von dem externen Speicher (18) empfängt.
9. Mikroprozessor (16) nach Anspruch 8, bei dem die Taktschaltung (102, 104)
einen ersten und einen zweiten Prozessor-Taktimpuls erzeugt, die die zweite
Frequenz aufweisen, und eine erste und eine zweite Taktimpulsphase haben
und im entgegengesetzten Phasenverhältnis stehen, wobei die
Aktivierungseinrichtung (140) auf einen ersten Pegel des Ratensteuersignals hin den
Mikroprozessor (16) dahingehend aktiviert, daß er bei dem Zusammentreffen
jeweils einer ersten Phase des ersten Taktimpulses und eines ersten
Phasenabschnitts des Speicher-Taktimpulses die Ausgangssignale an den externen
Speicher (18) ausgibt, und bei dem Zusammentreffen jeweils einer ersten Phase
des zweiten Taktimpulses und eines zweiten Phasenabschnitts des Speicher-
Taktimpulses Eingangssignale aus dem externen Speicher (18) empfängt.
10. Mikroprozessor (16) nach Anspruch 9, bei dem die Aktivierungseinrichtung
(140) ferner auf einen zweiten Pegel des Ratensteuersignals hin den
Mikroprozessor (16) dahingehend aktiviert, daß er bei dem Zusammentreffen jeweils
der zweiten der ersten Phasen des ersten Taktimpulses und der ersten
Phasenabschnitte des Speicher-Taktimpulses die Ausgangssignale an den externen
Speicher (18) ausgibt, und bei dem Zusammentreffen jeweils der zweiten der
ersten Phasen des zweiten Taktimpulses und der zweiten Phasenabschnitte des
Speicher-Taktimpulses Eingangssignale aus dem externen Speicher (18)
empfängt.
11. Mikroprozessor (16) nach Anspruch 10, bei dem die Aktivierungseinrichtung
(140) eine Einrichtung zum Erzeugen eines ersten Steuersignals, um den
Mikroprozessor (16) zum Ausgeben der Ausgangssignale an den externen
Speicher (18) zu aktivieren, und eines zweiten Steuersignals aufweist, um den
Mikroprozessor (16) zum Empfangen der Eingangssignale aus dem externen
Speicher (18) zu aktivieren.
12. Mikroprozessor (16) nach Anspruch 11, bei dem die Aktivierungseinrichtung
(140) auf die Speicher-Taktimpulse, das Raten-Steuersignal und die ersten und
zweiten Prozessor-Taktimpulse hin die ersten und zweiten Steuersignale
erzeugt.
13. Mikroprozessor (16) nach Anspruch 12, bei dem die aus dem Mikroprozessor
(16) an den externen Speicher (18) ausgegebenen Ausgangssignale
Mikroprozessorzugriffs-Steuersignale, Externspeicher-Adressen und Daten enthalten und
bei dem die durch den Mikroprozessor (16) empfangenen Eingangssignale
Externspeicherzugriffs-Steuersignale und Daten enthalten.
14. Mikroprozessor (16) nach Anspruch 13, wobei der Mikroprozessor (16) durch
mehrere Steuerleitungen, einen Datenbus (48) und einen Adreßbus (46) mit
dem externen Speicher (18) verbunden ist, wobei der Mikroprozessor (16)
mehrere Ausgangsports zum Ausgeben der Ausgangssignale auf die
Steuerleitungen, den Datenbus (48) und den Adreßbus (46) aufweist, und wobei einer
der Ausgangsports einen Ausgangspuffer (200) aufweist, der durch das erste
Steuersignal derart aktiviert werden kann, daß er eines der Ausgangssignale
(40) synchron mit den Speicher-Taktimpulsen an den externen Speicher (18)
ausgibt.
15. Mikroprozessor (16) nach Anspruch 14, bei dem der Ausgangspuffer (200)
eine Hard-Drive-Einrichtung (210), um anfangs auf das erste Steuersignal hin
eines der Ausgangssignale (40) auszugeben, und eine Weak-Drive-Einrichtung
(216) aufweist, um das Ausgangssignal nach Beendigung des ersten
Steuersignals aufrechtzuerhalten.
16. Mikroprozessor (16) nach Anspruch 1 S. bei dem der Ausgangspuffer (200)
einen Eingang (202) zum Empfangen des Pegels eines dem externen Speicher
(18) zuzuführenden Ausgangssignals (40) aufweist, wobei der Mikroprozessor
(16) vor dem ersten Steuersignal den Ausgangssignal-Pegel an den
Ausgangspuffer-Eingang (202) ausgibt und wobei der Ausgangspuffer (200) eine
Halteschaltung (226) aufweist, die zeitweilig mit dem Eingang (202)
verbunden ist, um den an dem Eingang (202) anliegenden Pegel vorübergehend zu
halten.
17. Mikroprozessor (16) nach Anspruch 16, bei dem der Ausgangspuffer (200)
eine Isolationseinrichtung (224) aufweist, um auf das erste Steuersignal hin den
Eingang (202) von der Halteschaltung (226) zu isolieren, damit der Pegel an
dem Eingang (202) aktualisiert werden kann, wenn der vorherige Pegel dem
externen Speicher (18) zugeführt wird.
18. Mikroprozessor (16) nach Anspruch 17, bei dem der Ausgangspuffer (200) auf
die Beendigung des ersten Steuersignals hin, bevor die
Eingangs-Halteschaltung (226) den aktualisierten Ausgangssignal-Pegel hält, die vorherigen Pegel
aus der Hard-Drive-Einrichtung (210) zu der Weak-Drive-Einrichtung (216)
überträgt.
19. Mikroprozessor (16) nach Anspruch 20, bei dem der Ausgangspuffer (200)
eine zweite Halteschaltung (246) zum Halten des übertragenen
Ausgangssignal-Pegels und eine zweite Isoliereinrichtung (244) aufweist, um auf die
Beendigung des ersten Steuersignals hin die zweite Halteschaltung (246) von dem
aktualisierten Pegel zu isolieren.
20. Mikroprozessor (16) nach Anspruch 12, wobei der Mikroprozessor (16)
mindestens einen Eingang (44) zum Empfangen eines
Extern-Zugriffs-Steuersignals von dem externen Speicher (18) aufweist, wobei der Eingang (44) eine
Logikeinrichtung (282) aufweist, die auf das zweite Steuersignal, den zweiten
Phasenabschnitt der Speicher-Taktimpulse und die erste Phase der zweiten
Prozessor-Taktimpulse reagiert, um das Extern-Zugriffs-Steuersignal von dem
externen Speicher (18) zu empfangen.
21. Mikroprozessor (16) nach Anspruch 20, bei dem das
Extern-Zugriffs-Steuersignal von dem externen Speicher (18) ein Abschlußsignal ist, das den
erfolgreichen Abschluß eines externen Zugriffs angibt, wobei die Logikeinrichtung
(282) auf das Abschlußsignal hin ein internes Abschlußsignal erzeugt, und
wobei der Mikroprozessor (16) auf das interne Abschlußsignal hin den
abgeschlossenen externen Zugriff beendet.
22. Mikroprozessor (16) nach Anspruch 21, ferner mit einer zentralen
Verarbeitungseinheit (50) zum Erzeugen eines Extern-Zugriffs-Anforderungssignals,
wobei die Bus-Interface-Einheit eine Halteschaltung (284) aufweist, um auf das
Extern-Zugriffs-Anforderungssignal hin ein Anforderungsanhängigkeits-Signal
zu erzeugen, und wobei die Zustandsmaschine (286) auf das
Anforderungsanhängigkeits-Signal und das zweite Steuersignal reagiert und, wenn sie
sich in dem ersten Zustand befindet, bei der nächsten ersten Phase der
Taktimpulse des zweiten Prozessors auf den zweiten Zustand übergeht.
23. Mikroprozessor (16) nach Anspruch 22, bei dem die Zustandsmaschine (286)
auf das Initiieren des externen Zugriffs hin das Anforderungsanhängigkeits-
Signal aus der Halteschaltung (284) löscht.
24. Mikroprozessor (16) nach Anspruch 23, bei dem die
Speicherzugriffs-Steuereinrichtung ferner eine Abschlußeinrichtung aufweist, die mit der
Logikeinrichtung (282) verbunden ist und auf das interne Abschlußsignal hin ein Signal
für einen qualifizierten Abschluß erzeugt.
25. Mikroprozessor (16) nach Anspruch 24, bei dem die Zustandsmaschine (286)
auf das Signal für den qualifizierten Abschluß und das
Anforderungsanhängigkeits-Signal reagiert und, wenn sie sich in dem zweiten Zustand befindet, bei
der nächsten ersten Phase der Taktimpulse des zweiten Prozessors auf den
ersten Zustand übergeht.
26. Mikroprozessor (16) nach einem der Ansprüche 1 bis 25, dadurch
gekennzeichnet, daß der Mikroprozessor (16) durch einen Externadress-Bus (46) und
einen bidirektionalen Datenbus (48) mit dem externen Speicher (18) verbunden
ist, wobei der Mikroprozessor (16) aufweist:
ein mit der zentralen Verarbeitungseinheit (50) verbundenes Adress-Bus-
Interface (54), das zum Empfangen der Externspeicher-Adressen vorgesehen
ist und mit der Bus-Interface-Einheit (52) verbunden ist, und
ein mit der zentralen Verarbeitungseinheit (50) verbundenes
Datenbus-Interface (56), um aus der zentralen Verarbeitungseinheit (50) Daten zu empfangen,
die dem externen Speicher (18) zugeführt werden sollen, und um aus dem
externen Speicher (18) empfangene Daten an die zentrale Verarbeitungseinheit
(50) auszugeben, wobei das Datenbus-Interface (56) mit der Bus-Interface-
Einheit (52) verbunden ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US66331491A | 1991-03-01 | 1991-03-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69229081D1 DE69229081D1 (de) | 1999-06-10 |
DE69229081T2 true DE69229081T2 (de) | 2000-01-05 |
Family
ID=24661291
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69229081T Expired - Lifetime DE69229081T2 (de) | 1991-03-01 | 1992-01-06 | Mikroprozessor mit externem Speicher |
DE69233510T Expired - Lifetime DE69233510T2 (de) | 1991-03-01 | 1992-01-06 | Ausgangspuffer für Mikroprozessor |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69233510T Expired - Lifetime DE69233510T2 (de) | 1991-03-01 | 1992-01-06 | Ausgangspuffer für Mikroprozessor |
Country Status (5)
Country | Link |
---|---|
US (2) | US5805912A (de) |
EP (2) | EP0507427B1 (de) |
JP (3) | JPH04319753A (de) |
AT (2) | ATE179810T1 (de) |
DE (2) | DE69229081T2 (de) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537555A (en) * | 1993-03-22 | 1996-07-16 | Compaq Computer Corporation | Fully pipelined and highly concurrent memory controller |
JP3904244B2 (ja) * | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
JP3579461B2 (ja) * | 1993-10-15 | 2004-10-20 | 株式会社ルネサステクノロジ | データ処理システム及びデータ処理装置 |
JPH07210445A (ja) * | 1994-01-20 | 1995-08-11 | Mitsubishi Electric Corp | 半導体記憶装置およびコンピュータ |
JP3490131B2 (ja) | 1994-01-21 | 2004-01-26 | 株式会社ルネサステクノロジ | データ転送制御方法、データプロセッサ及びデータ処理システム |
US5953241A (en) * | 1995-08-16 | 1999-09-14 | Microunity Engeering Systems, Inc. | Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction |
US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US5742840A (en) | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US7301541B2 (en) * | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
JP3643425B2 (ja) * | 1996-02-29 | 2005-04-27 | 富士通株式会社 | データ処理方法、データ処理装置及びインターフェイスコントローラ |
TW347501B (en) * | 1996-10-29 | 1998-12-11 | Hitachi Ltd | Memory and microcomputer |
US6209072B1 (en) * | 1997-05-06 | 2001-03-27 | Intel Corporation | Source synchronous interface between master and slave using a deskew latch |
US6289502B1 (en) * | 1997-09-26 | 2001-09-11 | Massachusetts Institute Of Technology | Model-based software design and validation |
US6550013B1 (en) * | 1999-09-02 | 2003-04-15 | International Business Machines Corporation | Memory clock generator and method therefor |
US6704820B1 (en) * | 2000-02-18 | 2004-03-09 | Hewlett-Packard Development Company, L.P. | Unified cache port consolidation |
JP2002318647A (ja) * | 2001-04-19 | 2002-10-31 | Mitsubishi Electric Corp | 検出装置及びその検出方法 |
US6909659B2 (en) * | 2001-08-30 | 2005-06-21 | Micron Technology, Inc. | Zero power chip standby mode |
US7171499B2 (en) * | 2003-10-10 | 2007-01-30 | Advanced Micro Devices, Inc. | Processor surrogate for use in multiprocessor systems and multiprocessor system using same |
US7676839B2 (en) * | 2004-03-15 | 2010-03-09 | Xceedid | Systems and methods for access control |
US7900253B2 (en) * | 2005-03-08 | 2011-03-01 | Xceedid Corporation | Systems and methods for authorization credential emulation |
JP4692231B2 (ja) * | 2005-11-04 | 2011-06-01 | 株式会社デンソー | 車両用の電子制御装置 |
US7636803B2 (en) * | 2006-09-28 | 2009-12-22 | Advanced Micro Devices, Inc. | Device and method for transferring data between devices |
US8014485B2 (en) * | 2007-05-17 | 2011-09-06 | Advanced Micro Devices, Inc. | Techniques for integrated circuit clock management using multiple clock generators |
US7921318B2 (en) * | 2007-05-17 | 2011-04-05 | Globalfoundries Inc. | Techniques for integrated circuit clock management using pulse skipping |
US7737752B2 (en) * | 2007-05-17 | 2010-06-15 | Globalfoundries Inc | Techniques for integrated circuit clock management |
US7681099B2 (en) * | 2007-05-17 | 2010-03-16 | Advanced Micro Devices, Inc. | Techniques for integrated circuit clock signal manipulation to facilitate functional and speed test |
US8015428B2 (en) * | 2007-06-12 | 2011-09-06 | Renesas Electronics Corporation | Processing device and clock control method |
US8575972B2 (en) * | 2009-03-23 | 2013-11-05 | Advanced Micro Devices, Inc. | Digital frequency synthesizer device and method thereof |
US9240229B1 (en) | 2012-03-15 | 2016-01-19 | Gsi Technology, Inc. | Systems and methods involving control-I/O buffer enable circuits and/or features of saving power in standby mode |
US10777262B1 (en) | 2016-12-06 | 2020-09-15 | Gsi Technology, Inc. | Read data processing circuits and methods associated memory cells |
US10854284B1 (en) | 2016-12-06 | 2020-12-01 | Gsi Technology, Inc. | Computational memory cell and processing array device with ratioless write port |
US10847212B1 (en) | 2016-12-06 | 2020-11-24 | Gsi Technology, Inc. | Read and write data processing circuits and methods associated with computational memory cells using two read multiplexers |
US10725777B2 (en) | 2016-12-06 | 2020-07-28 | Gsi Technology, Inc. | Computational memory cell and processing array device using memory cells |
US10249362B2 (en) | 2016-12-06 | 2019-04-02 | Gsi Technology, Inc. | Computational memory cell and processing array device using the memory cells for XOR and XNOR computations |
US10847213B1 (en) | 2016-12-06 | 2020-11-24 | Gsi Technology, Inc. | Write data processing circuits and methods associated with computational memory cells |
US10891076B1 (en) | 2016-12-06 | 2021-01-12 | Gsi Technology, Inc. | Results processing circuits and methods associated with computational memory cells |
US10860320B1 (en) | 2016-12-06 | 2020-12-08 | Gsi Technology, Inc. | Orthogonal data transposition system and method during data transfers to/from a processing array |
US10770133B1 (en) | 2016-12-06 | 2020-09-08 | Gsi Technology, Inc. | Read and write data processing circuits and methods associated with computational memory cells that provides write inhibits and read bit line pre-charge inhibits |
US10943648B1 (en) | 2016-12-06 | 2021-03-09 | Gsi Technology, Inc. | Ultra low VDD memory cell with ratioless write port |
US11227653B1 (en) | 2016-12-06 | 2022-01-18 | Gsi Technology, Inc. | Storage array circuits and methods for computational memory cells |
US10877731B1 (en) | 2019-06-18 | 2020-12-29 | Gsi Technology, Inc. | Processing array device that performs one cycle full adder operation and bit line read/write logic features |
US10930341B1 (en) | 2019-06-18 | 2021-02-23 | Gsi Technology, Inc. | Processing array device that performs one cycle full adder operation and bit line read/write logic features |
US10958272B2 (en) | 2019-06-18 | 2021-03-23 | Gsi Technology, Inc. | Computational memory cell and processing array device using complementary exclusive or memory cells |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4056845A (en) * | 1975-04-25 | 1977-11-01 | Data General Corporation | Memory access technique |
US4016545A (en) * | 1975-07-31 | 1977-04-05 | Harris Corporation | Plural memory controller apparatus |
JPS5266346A (en) * | 1975-11-29 | 1977-06-01 | Tokyo Electric Co Ltd | Synch. clock control of microcomputer system |
GB1561961A (en) * | 1977-04-20 | 1980-03-05 | Int Computers Ltd | Data processing units |
US4293909A (en) * | 1979-06-27 | 1981-10-06 | Burroughs Corporation | Digital system for data transfer using universal input-output microprocessor |
EP0135505A1 (de) * | 1983-02-07 | 1985-04-03 | Motorola, Inc. | Testmodüle für asynchronen anschluss |
US4615017A (en) * | 1983-09-19 | 1986-09-30 | International Business Machines Corporation | Memory controller with synchronous or asynchronous interface |
US4876639A (en) * | 1983-09-20 | 1989-10-24 | Mensch Jr William D | Method and circuitry for causing sixteen bit microprocessor to execute eight bit op codes to produce either internal sixteen bit operation or internal eight bit operation in accordance with an emulation bit |
DE3501569C2 (de) * | 1984-01-20 | 1996-07-18 | Canon Kk | Datenverarbeitungseinrichtung |
US4725945A (en) * | 1984-09-18 | 1988-02-16 | International Business Machines Corp. | Distributed cache in dynamic rams |
US4933835A (en) * | 1985-02-22 | 1990-06-12 | Intergraph Corporation | Apparatus for maintaining consistency of a cache memory with a primary memory |
US4794523A (en) * | 1985-09-30 | 1988-12-27 | Manolito Adan | Cache memory architecture for microcomputer speed-up board |
US4951193A (en) * | 1986-09-05 | 1990-08-21 | Hitachi, Ltd. | Parallel computer with distributed shared memories and distributed task activating circuits |
JPS63133251A (ja) * | 1986-11-26 | 1988-06-06 | Mitsubishi Electric Corp | マイクロプロセツサの周辺回路 |
JPH0740244B2 (ja) * | 1987-08-05 | 1995-05-01 | 三菱電機株式会社 | マイクロプロセツサ |
US5151986A (en) * | 1987-08-27 | 1992-09-29 | Motorola, Inc. | Microcomputer with on-board chip selects and programmable bus stretching |
US5305452A (en) * | 1987-10-23 | 1994-04-19 | Chips And Technologies, Inc. | Bus controller with different microprocessor and bus clocks and emulation of different microprocessor command sequences |
US4847758A (en) * | 1987-10-30 | 1989-07-11 | Zenith Electronics Corporation | Main memory access in a microprocessor system with a cache memory |
US5179667A (en) * | 1988-09-14 | 1993-01-12 | Silicon Graphics, Inc. | Synchronized DRAM control apparatus using two different clock rates |
US4939692A (en) * | 1988-09-15 | 1990-07-03 | Intel Corporation | Read-only memory for microprocessor systems having shared address/data lines |
US5307469A (en) * | 1989-05-05 | 1994-04-26 | Wang Laboratories, Inc. | Multiple mode memory module |
US5119485A (en) * | 1989-05-15 | 1992-06-02 | Motorola, Inc. | Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation |
US5191657A (en) * | 1989-11-09 | 1993-03-02 | Ast Research, Inc. | Microcomputer architecture utilizing an asynchronous bus between microprocessor and industry standard synchronous bus |
JPH03167649A (ja) * | 1989-11-28 | 1991-07-19 | Nec Corp | ウエイト・サイクル制御装置 |
JPH03248243A (ja) * | 1990-02-26 | 1991-11-06 | Nec Corp | 情報処理装置 |
US5036230A (en) * | 1990-03-01 | 1991-07-30 | Intel Corporation | CMOS clock-phase synthesizer |
US5442769A (en) * | 1990-03-13 | 1995-08-15 | At&T Corp. | Processor having general registers with subdivisions addressable in instructions by register number and subdivision type |
US5263172A (en) * | 1990-04-16 | 1993-11-16 | International Business Machines Corporation | Multiple speed synchronous bus having single clock path for providing first or second clock speed based upon speed indication signals |
US5059818A (en) * | 1990-06-01 | 1991-10-22 | Advanced Micro Devices, Inc. | Self-regulating clock generator |
US5155843A (en) * | 1990-06-29 | 1992-10-13 | Digital Equipment Corporation | Error transition mode for multi-processor system |
ATE159107T1 (de) * | 1990-08-20 | 1997-10-15 | Advanced Micro Devices Inc | Speicherzugriffssteuerung |
US5142487A (en) * | 1991-01-29 | 1992-08-25 | Graham Iii Hatch | Numerically controlled oscillator |
-
1992
- 1992-01-06 EP EP92300083A patent/EP0507427B1/de not_active Expired - Lifetime
- 1992-01-06 DE DE69229081T patent/DE69229081T2/de not_active Expired - Lifetime
- 1992-01-06 EP EP98119684A patent/EP0913777B1/de not_active Expired - Lifetime
- 1992-01-06 AT AT92300083T patent/ATE179810T1/de not_active IP Right Cessation
- 1992-01-06 AT AT98119684T patent/ATE295571T1/de not_active IP Right Cessation
- 1992-01-06 DE DE69233510T patent/DE69233510T2/de not_active Expired - Lifetime
- 1992-02-19 JP JP4031655A patent/JPH04319753A/ja not_active Withdrawn
-
1993
- 1993-09-01 US US08/115,981 patent/US5805912A/en not_active Expired - Lifetime
-
1997
- 1997-06-19 US US08/878,676 patent/US5828869A/en not_active Expired - Lifetime
-
2004
- 2004-02-18 JP JP2004041598A patent/JP3811764B2/ja not_active Expired - Lifetime
-
2006
- 2006-03-15 JP JP2006071095A patent/JP4008948B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP3811764B2 (ja) | 2006-08-23 |
JP2006228239A (ja) | 2006-08-31 |
DE69233510T2 (de) | 2006-02-02 |
US5828869A (en) | 1998-10-27 |
JPH04319753A (ja) | 1992-11-10 |
EP0913777A3 (de) | 2003-11-19 |
EP0913777B1 (de) | 2005-05-11 |
EP0913777A2 (de) | 1999-05-06 |
ATE179810T1 (de) | 1999-05-15 |
DE69233510D1 (de) | 2005-06-16 |
EP0507427A1 (de) | 1992-10-07 |
US5805912A (en) | 1998-09-08 |
ATE295571T1 (de) | 2005-05-15 |
DE69229081D1 (de) | 1999-06-10 |
JP4008948B2 (ja) | 2007-11-14 |
EP0507427B1 (de) | 1999-05-06 |
JP2005216268A (ja) | 2005-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69229081T2 (de) | Mikroprozessor mit externem Speicher | |
DE69305049T2 (de) | Hochfrequenz- cmos-schaltung mit geringen verbrauch | |
DE69518286T2 (de) | Speicherübertragungsgeschwindigkeitsbegrenzung für PCI-Meister | |
DE68923834T2 (de) | Leistungsfähiges Protokoll für die Übertragung zwischen asynchronen Vorrichtungen. | |
DE69329364T2 (de) | Zentralprozessoreinheit mit verminderter Leistungsaufnahme | |
DE4235005C2 (de) | Mikroprozessor | |
DE69120586T2 (de) | Rechnersystem mit synchronem Bus | |
DE69021594T2 (de) | Hochgeschwindigkeitsdatenübertragung auf einem Rechnersystembus. | |
DE69229162T2 (de) | Synchronisiergerät und Verfahren | |
DE69716112T2 (de) | Taktanpassung mit feinregelung | |
DE69532226T2 (de) | Taktssteuerungseinheit | |
DE69130630T2 (de) | Synchrones Verfahren und Gerät für Prozessoren | |
DE3889366T2 (de) | Interface für ein Rechnersystem mit reduziertem Befehlssatz. | |
DE69733407T2 (de) | Schnittstelle zur datenübertragung zwischen zwei taktbereichen | |
DE69533599T2 (de) | Leistungssteuerung in einem asynchronen Sender/Empfänger | |
DE3789743T2 (de) | Serielles Datenübertragungssystem. | |
DE69529362T2 (de) | System zur Steuerung eines Peripheriebustaktsignals | |
DE60125112T2 (de) | PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung | |
DE69517123T2 (de) | Multiplexer und integrierter Prozessor mit einem solchen Multiplexer | |
DE102004025900A1 (de) | Leselatenz-Steuerschaltung | |
DE69710515T2 (de) | Verfahren und Vorrichtung zur Bestimmung von Wartezuständen auf einer Zyklusbasis in einem Datenverarbeitungssystem | |
DE3732798A1 (de) | Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet | |
DE69318348T2 (de) | Schnittstelle für asynchronen Bus zur Minimisierung von Übertragungszeiten | |
DE69433130T2 (de) | Rechnersystem mit verändertem lokalen Datenbus | |
DE69323009T2 (de) | Externspeicherzugriffssteuerung für eine Verarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |