DE10110567A1 - Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen - Google Patents

Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen

Info

Publication number
DE10110567A1
DE10110567A1 DE10110567A DE10110567A DE10110567A1 DE 10110567 A1 DE10110567 A1 DE 10110567A1 DE 10110567 A DE10110567 A DE 10110567A DE 10110567 A DE10110567 A DE 10110567A DE 10110567 A1 DE10110567 A1 DE 10110567A1
Authority
DE
Germany
Prior art keywords
clock
control units
variety
register
processing components
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.)
Granted
Application number
DE10110567A
Other languages
English (en)
Other versions
DE10110567B4 (de
Inventor
Marc R Faucher
Jack R Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10110567A1 publication Critical patent/DE10110567A1/de
Application granted granted Critical
Publication of DE10110567B4 publication Critical patent/DE10110567B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency

Abstract

Die vorliegende Erfindung betrifft ein Datenverarbeitungssystem (20), das über eine synchrone Schnittstelle und eine unterteilte Takt- und E/A-Logiksteuereinheit verfügt. Das System enthält eine Vielzahl von Verarbeitungskomponenten (22), von denen jede eine Vielzahl von E/A-Logiksteuereinheiten (24) hat. Darüber hinaus enthält das System eine Vielzahl von Taktquellen (30) zur Bereitstellung von Taktsignalen und eine Vielzahl von Multiplexern (36), die mit der Vielzahl der Taktquellen und mit mindestens zwei der E/A-Logiksteuereinheiten verbunden sind. Die Taktsignale weichen in der Frequenz oder dem Zeitversatz, d. h. der Zeitverzögerung, voneinander ab. Durch geeignete Steuerung der Taktauswahlregister, die mit der Vielzahl der Multiplexer verbunden sind, kann eines der Vielzahl der Taktsignale von den Taktquellen den beiden oder mehreren E/A-Logiksteuereinheiten bereitgestellt werden, die an einen bestimmten Multiplexer angeschlossen sind. Dadurch wird ermöglicht, dass verschiedene Gruppen von E/A-Logiksteuereinheiten verschiedene Taktsignale parallel empfangen. Folglich wird die Signalschnittstelle für das System in mehrere Gruppen unterteilt, wobei jede Gruppe von einem getrennten Takt gesteuert wird.

Description

Bereich der Erfindung
Die vorliegende Erfindung betrifft Datenverarbeitungssysteme und insbesondere eine Vorrichtung und ein Verfahren, die dazu dienen, eine Signalschnittstelle in mehrere Gruppen zu unterteilen, von denen jede von einem getrennten Takt gesteuert wird.
Der Erfindung zugrunde liegender allgemeiner Stand der Technik
Bekannte Datenverarbeitungssysteme enthalten typischerweise eine oder mehrere Verarbeitungskomponenten, die eine festgelegte Signalschnittstelle und ein festgelegtes Protokoll haben, um die Kommunikation mit anderen Komponenten zu vereinfachen. In den meisten Fällen wird die Schnittstelle von einem einzigen, festen synchronen Takt gesteuert. Ein einziger Takt hält die Gestaltung einfach, schränkt aber die Möglichkeit ein, Probleme des Zeitverhaltens einzugrenzen, Fehler zu beheben, den Stromverbrauch zu steuern und ansonsten bestimmte Schnittstellen mit anderen Frequenzen als andere Schnittstellen zu betreiben.
Die Verwendung von mehreren Takten in Datenverarbeitungs­ systemen ist bekannt. Die US-Patentschrift Nr. 5 790 609 von Swoboda legt ein Datenverarbeitungssystem offen, das durch mehrere Takteingangssignale gekennzeichnet ist, die einem einzigen Multiplexer zugeführt werden. Wenn es erwünscht ist, ein Datenverarbeitungssystem mit einer langsameren Frequenz zu betreiben, beispielsweise, um Strom zu sparen, werden Befehle erzeugt, die den Multiplexer veranlassen, sein Taktausgangssignal von einem schnelleren Takteingangssignal in ein langsameres Takteingangssignal zu ändern. Leider geht die Bereitstellung von nur einem einzigen Taktausgangssignal mit verschiedenen wählbaren Frequenzen nicht die Notwendigkeit an, bestimmte Eingangs-/Aus­ gangssignale in einem Datenverarbeitungssystem mit einer Frequenz oder einem Zeitversatz (Skew) und andere Eingangs-/Aus­ gangssignale mit einer anderen Frequenz oder einem anderen Zeitversatz bereitzustellen.
Zusammenfassung der Erfindung
Ein Aspekt der vorliegenden Erfindung ist ein Datenverarbeitungssystem, das eine Vielzahl von Verarbeitungskomponenten umfasst, von denen jede mit mindestens einer anderen der Verarbeitungskomponenten verbunden ist. Das System enthält auch eine Vielzahl von Taktquellen, von denen jede ein Taktsignal liefert, und eine Vielzahl von Steuereinheiten, die zu jeder der Verarbeitungskomponenten gehören. Darüber hinaus enthält das System eine Vielzahl von Taktauswahlregistern, von denen jedes ein Taktauswahlsignal liefert, und eine Vielzahl von Multiplexern, von denen jeder mit der Vielzahl der Taktquellen, mit zwei oder mehreren der Vielzahl der Steuereinheiten sowie mit einem der Taktauswahlregister verbunden ist. Als Antwort auf ein von dem einen Taktauswahlregister bereitgestelltes Taktauswahlsignal führt jeder der Multiplexer den beiden oder mehreren der Vielzahl der Steuereinheiten eines der Taktsignale als Ausgangssignal zu.
Ein weiterer Aspekt der vorliegenden Erfindung ist ein Verfahren zur Bereitstellung von Taktsignalen in einem Datenverarbeitungssystem, das eine Vielzahl von Verarbeitungskomponenten und eine Vielzahl von Steuereinheiten hat, die zu den Verarbeitungskomponenten gehören. Als erster Schritt in dem Verfahren wird eine Vielzahl verschiedener Taktsignale bereitgestellt. Als Nächstes wird eines der Vielzahl der Taktsignale für jede der Vielzahl der Steuereinheiten ausgewählt. Schließlich werden die ausgewählten der Vielzahl der Taktsignale der Vielzahl der Steuereinheiten parallel zugeführt.
Kurze Beschreibung der Zeichnungen
Fig. 1 ist ein Blockschaltbild des Datenverarbeitungssystems der vorliegenden Erfindung;
Fig. 2 ist ein Zeitdiagramm, das den Betrieb des Systems von Fig. 1 darstellt, wobei das Schreiben der Daten bei einem mit der doppelten Frequenz des Adressbusses und des Steuerbusses getakteten Datenbus erfolgt;
Fig. 3 ist ein Zeitdiagramm, das die Änderung der Taktfrequenz für verschiedene Komponenten im Laufe der Zeit als Antwort auf den Befehl WRCLK darstellt; und
Fig. 4 ist ein Zeitdiagramm, das den Betrieb des Systems von Fig. 1 darstellt, wobei das Schreiben der Daten bei einem mit der halben Frequenz von anderen Schnittstellensignalen arbeitenden Byte 0 des Datenbusses erfolgt.
Ausführliche Beschreibung der Erfindung
Bezug nehmend auf Fig. 1, ist die vorliegende Erfindung ein Datenverarbeitungssystem 20, das über eine synchrone Schnittstelle verfügt. Das System 20 kann die Form einer Baugruppe der höheren Ebene wie zum Beispiel einer Hauptplatine annehmen, oder es kann ein einziger Halbleiterchip sein, der mehrere Logikbausteine enthält.
Das System 20 enthält eine Vielzahl von Verarbeitungskomponenten 22 wie zum Beispiel einen Speicher, Logik, Peripheriegeräte und andere Einheiten, die von der synchronen Schnittstelle des Systems gesteuert werden. Wenn das System 20 eine Baugruppe der höheren Ebene ist, stellen die Verarbeitungskomponenten 22 typischerweise getrennte Halbleiterchips wie zum Beispiel einen Mikroprozessorchip und einen Speicherchip dar.
Das jeder Verarbeitungskomponente 22 zugeführte Schnittstellensignal, z. B. Eingangs-, Ausgangs-, BIDI- Signal, wird in eine Vielzahl von Gruppen unterteilt, von denen jede 1 bis n Bit enthält, wobei n die Gesamtzahl der Bits in dem Schnittstellensignal ist. Die Komponenten 22 enthalten eine Vielzahl von Logiksteuereinheiten 24, eine für jede Schnittstellensignalgruppe. Die Steuereinheit 24a wird beispielsweise für die Gruppe 0 der Verarbeitungskomponente 22a, die Steuereinheit 24b für die Gruppe 0 der Verarbeitungskomponente 22b, die Steuereinheit 24c für die Gruppe 1 der Verarbeitungskomponente 22a und die Steuereinheit 24d für die Gruppe 1 der Verarbeitungskomponente 22b bereitgestellt.
Typischerweise sind die Steuereinheiten 24 Teil der Komponenten 22, obgleich sie getrennte, mit den Komponenten verbundene Einheiten sein können. Die Steuereinheiten 24 enthalten die Logik, die zur Steuerung der Datenein-/-aus­ gabe für die Komponente 22 notwendig ist, zu der sie gehören. Jede Steuereinheit 24 für eine bestimmte Komponente 22 stellt einer Steuereinheit für eine andere Komponente 22 über den Datenbus 25 Daten bereit. Beispielsweise stellt die Steuereinheit 24a der Steuereinheit 24b Daten über den Datenbus 25a bereit. Die Komponenten 22 sind über den Datenbus 25 miteinander verbunden.
Es gibt mehrere Vorgehensweisen, um das Schnittstellensignal in geeignete Gruppen zu unterteilen und folglich die Anzahl der Steuereinheiten 24 und der Multiplexer 36, mit denen die Steuereinheiten verbunden sind, zu bestimmen. Jede Schnittstellengruppe kann zum Beispiel der oder die Anschlussstifte eines Mikroprozessors, eines Speicherchips oder eines anderen Bauelements sein. Solch ein Anschlussstift oder solche Anschlussstifte können mit einer zugehörigen Steuereinheit 24 fest verdrahtet sein. Alternativ dazu können solche Anschlussstifte oder beliebige ausgewählte Bytes in dem Schnittstellensignal des Systems, z. B. die Bytes 0 und 1, einer ersten Steuereinheit 24 zugeordnet werden, während andere Bytes, z. B. die Bytes 2 bis 7, einer zweiten Steuereinheit zugeordnet werden und so weiter. Typischerweise weist jedes Byte 8 Bit, d. h. Anschlussstifte, aus. Diese Zuordnung wird entweder dadurch erreicht, dass eine bestimmte Steuereinheit 24 mit zugehörigen Anschlussstiften fest verdrahtet wird oder indem der optionale Kreuzschienen-Schaltverteiler 26 (crossbar switch) verwendet wird, der mit den Steuereinheiten 24 für eine bestimmte Komponente 22 verbunden ist. Der Kreuzschienen-Schaltverteiler 26 wird nachstehend ausführlicher beschrieben.
Das System 20 enthält auch eine Vielzahl von Taktquellen 30, von denen jede dazu dient, ein Taktsignal CLK bereitzustellen, das von den Taktsignalen abweicht, die von anderen Taktquellen bereitgestellt werden. Die Taktsignale CLK können in der Frequenz oder dem Zeitversatz, d. h. der Zeitverzögerung, voneinander abweichen. Die Taktquelle 30a kann beispielsweise ein Taktsignal CLK0 bereitstellen, das die halbe Frequenz des Taktsignals CLK1 hat, welches von der Taktquelle 30b geliefert wird. Alternativ dazu kann die Taktquelle 30a ein Taktsignal CLK0 bereitstellen, das dieselbe Frequenz wie das von der Taktquelle 30b gelieferte Taktsignal CLK1 hat, aber beispielsweise um 100 Pikosekunden in Bezug auf das Taktsignal CLK1 zeitlich verzögert ist.
Das System 20 enthält auch eine Vielzahl von Multiplexern 36, von denen jeder mit allen Taktquellen 30 verbunden ist. Somit sind die Taktsignale CLK von allen Taktquellen 30 die Eingangssignale des Multiplexers 36. Das Ausgangssignal eines jeden Multiplexers 36 wird über eine Übertragungsleitung 38 an zwei oder mehrere Steuereinheiten 24 geleitet. Zum Beispiel wird das Ausgangssignal des Multiplexers 36a über die Übertragungsleitung 38a den Steuereinheiten 24a und 24b zugeführt. In manchen Fällen ist es vielleicht wünschenswert, das Ausgangssignal eines bestimmten Multiplexers 36 an mehr als zwei Steuereinheiten 24 zuzuführen. Ungeachtet der Anzahl der Steuereinheiten 24, die mit einem bestimmten Multiplexer 36 verbunden sind, ist jede Steuereinheit mit nur einem Multiplexer verbunden.
Der Betrieb eines jeden Multiplexers 36 wird von einem getrennten Taktauswahlregister 40 gesteuert. Das System 20 kann die Taktauswahlregister 40 entweder in jeder Steuereinheit 24 (eines in jeder Steuereinheit) oder außerhalb der Steuereinheit 24 (eines für jede E/A-Gruppe) enthalten. In beiden Fällen wählt das Taktauswahlregister 40 eine der Taktquellen 30 aus, die von einem bestimmten Multiplexer 36 verwendet werden soll. Beispielsweise kann das Taktauswahlregister 40a das Taktsignal CLK0 von der Taktquelle 30a als Ausgangssignal des Multiplexers 36a wählen, und das Taktauswahlregister 40b kann das Taktsignal CLK1 als Ausgangssignal des Multiplexers 36b wählen.
Das Taktauswahlregister 40 wird mit Hilfe eines Befehls WRCLK programmiert, bei dem es sich um eine Erweiterung der Architektur der Verarbeitungskomponente 22 handelt, die mit der Steuereinheit 24 verbunden ist, welche mit dem Multiplexer 36 verbunden ist, an den das Taktauswahlregister angeschlossen ist. Der Befehl WRCLK hat zwei Operanden; der erste Operand gibt an, welche Gruppe ausgewählt wird, und der zweite Operand wählt den Takt für diese Gruppe aus. Wenn der Befehl WRCLK ausgeführt wird, schreibt er in einem ersten Buszyklus einen Binärwert in das Taktauswahlregister 40, der angibt, welches von den Taktquellen 30 in den Multiplexer 36 eingegebene Eingangssignal als Ausgangssignal des Multiplexers bereitgestellt werden soll. In einem zweiten Buszyklus gelangt der neue Wert im Taktauswahlregister 40 zum Multiplexer 36 und legt damit fest, welche der Taktquellen 30 ausgewählt wird. Ein anderer Befehl RDCLK gestattet es, dass der Inhalt eines bestimmten Taktauswahlregisters 40 von der Verarbeitungskomponente 22 gelesen wird. Der Befehl RDCLK ist ebenfalls eine Erweiterung der Architektur der entsprechenden Verarbeitungskomponente 22.
Die Befehle WRCLK und RDCLK können jederzeit ausgeführt werden, um das Taktsignal CLK, das einer bestimmten Steuereinheit 24, d. h. einer bestimmten Signalschnittstellengruppe, zugeführt wird, zu ändern. Wie nachstehend ausführlicher erörtert wird, können somit Schnittstellen gesteuert werden, die so schmal wie ein Bit und so breit wie die ganze Signalschnittstelle sind.
Der Inhalt eines jeden Taktauswahlregisters 40 wird über die Leitung 42 auch den Steuereinheiten 24 zugeführt, die mit dem Multiplexer 36 verbunden sind, an den das Taktauswahlregister angeschlossen ist. Beispielsweise wird das Ausgangssignal des Taktauswahlregisters 40a über die Leitung 42a den Steuereinheiten 24a und 24b bereitgestellt, die mit dem Multiplexer 36a verbunden sind. Das Taktauswahlregister 40 stellt sein Ausgangssignal neben dem Multiplexer selbst auch den Steuereinheiten 24 bereit, die mit dem Multiplexer verbunden sind, an den das Taktauswahlregister angeschlossen ist, um den Steuereinheiten zu ermöglichen, ihren internen Betrieb so anzupassen, dass er im Hinblick auf das bestimmte Taktsignal, das die Steuereinheiten empfangen, mit dem Schnittstellenprotokoll des Systems übereinstimmt.
Das System 20 enthält vorzugsweise auch ein Archcomp- Register 50. Dieses Register wird mit Hilfe des Befehls ARCHCOMP programmiert, der typischerweise von einem Bit dargestellt wird. Der Befehl ARCHCOMP teilt den Steuereinheiten 24 und folglich den Schnittstellengruppen, zu denen die Steuereinheiten gehören, mit, ob sie das architekturdefinierte Schnittstellenprotokoll des Systems 20 beibehalten müssen, wenn die Taktsignale CLK mit unterschiedlicher Frequenz oder unterschiedlichem Zeitversatz den Steuereinheiten 24 bereitgestellt werden. Wenn das System 20 beispielsweise für Bauteiletests in der Fertigung betrieben wird, ist es möglicherweise nicht notwendig oder erwünscht, dass es dem architekturdefinierten Schnittstellenprotokoll entspricht. Wenn das System 20 andererseits bei einem höheren Integrationsgrad eingesetzt wird, der sich auf die Beschreibung seiner Architektur stützt, wie zum Beispiel ein auf einer Hauptplatine integrierter Prozessorchip, ist es notwendig, das Protokoll beizubehalten. Ebenso wie das Taktauswahlregister 40 kann das Archcomp-Register 50 in jeder E/A-Steuereinheit 24 oder außerhalb dieser Steuereinheiten realisiert werden. Wenn die Realisierung so erfolgt, dass für jede Steuereinheit 24 ein Archcomp-Register 50 bereitgestellt wird, wird der Befehl ARCHCOMP zu dem Befehlssatz der Verarbeitungskomponente 22 hinzugefügt, die mit den Steuereinheiten 24 verbunden ist, an die das Archcomp-Register angeschlossen ist.
Der Befehl ARCHCOMP wird ähnlich dem Befehl WRCLK ausgeführt. Nach der Decodierung des Befehls wartet die Verarbeitungskomponente 22, bis anstehende Buszyklen abgearbeitet worden sind und führt dann den Befehl ARCHCOMP in zwei Buszyklen aus. Diese beiden Zyklen sind der ARCHCOMP-BUSZYKLUS 1, in dem ein neuer Wert in das Archcomp- Register 50 geschrieben wird, und der ARCHCOMP-BUSZYKLUS 2, in dem der neue Wert zur Logik in der E/A-Steuereinheit 24 gelangt und eine Änderung ihres Verhaltens herbeiführt. Das Verhalten der E/A-Steuereinheit 24 ändert sich erst, wenn der ARCHCOMP-BUSZYKLUS 2 abgearbeitet worden ist.
Bezug nehmend auf die Fig. 1 und 2, wird nun ein Beispiel für die Art und Weise gezeigt, in der das System 20 zur Übertragung von Daten von der Komponente 22a an die Komponente 22b verwendet werden kann. In diesem Beispiel werden Daten mit Hilfe des unterteilten Taktsignals des Systems 20 schneller gesendet als sie bei Verwendung eines einzigen Taktsignals gesendet würden. Nehmen wir an, die Taktquelle 30b liefert ein Taktsignal CLK1, das durch die Signalform 100 in Fig. 2 gekennzeichnet ist und die doppelte Frequenz des Taktsignals CLK0 hat, das durch die Signalform 102 gekennzeichnet ist und von der Taktquelle 30a geliefert wird. Nehmen wir auch an, dass das Taktsignal CLK1 von einem Multiplexer 36 ausgegeben wird, der mit den Steuereinheiten 24 für den Datenbus und das Signal BRDY# (das den Empfang der Daten bestätigt) für das System 20 verbunden ist. Nehmen wir weiter an, dass das Taktsignal CLK0 von einem anderen Multiplexer 36 ausgegeben wird, der mit den Steuereinheiten 24 für den Adressbus, das Signal ADS# (das einen neuen Buszyklus beginnt) und den Steuerbus für das System 20 verbunden ist.
Die Datenübertragung geht wie folgt vonstatten. Bei steigender Flanke 104 der Signalform 102 beginnt die Komponente 22a ihren ersten Buszyklus, in dem Adress- und Steuerbusinformationen für die Daten in der Komponente 22a, die an die Komponente 22b geliefert werden sollen, bereitgestellt werden. Im Anschluss an den Empfang einer Anforderung für diese Daten werden die angeforderten Daten bei steigender Flanke 106 der Signalform 100 von der Komponente 22a zur Verfügung gestellt. Da das Taktsignal CLK1, das dem Datenbus bereitgestellt wird, mit der doppelten Frequenz des Taktsignals CLK0 arbeitet, das dem Adress- und dem Steuerbus bereitgestellt wird, können die Daten von der Komponente 22b bei steigender Flanke 108 des nächsten Zyklus der Signalform 102 empfangen werden, wodurch der erste Buszyklus abgearbeitet ist. Wenn der Datenbus nicht mit der doppelten Frequenz des Adressbusses getaktet würde, würden die Daten von der Komponente 22b erst bei steigender Flanke 110 des dritten Zyklus der Signalform 102 empfangen werden. Dies stellt eine beträchtliche Leistungsverbesserung dar.
Schwankungen in der Ausbeute bei der Herstellung von Halbleiterchips führen oft dazu, dass bestimmte Chips in eine Kategorie mit geringerer Geschwindigkeit zurückgestuft werden. In vielen Fällen arbeiten nur ein oder zwei kritische Pfade langsamer als der Rest des Chips. Die vorliegende Erfindung kann dazu verwendet werden, solche Chips in eine Kategorie mit höherer Geschwindigkeit zu befördern und folglich ihren Wert zu steigern, indem sie einen Mechanismus bereitstellt, mit dem die Schnittstelle in Gruppen aufgeteilt wird, wodurch den kritischen Signalen ermöglicht wird, mit einer geringeren Frequenz oder mit derselben Frequenz, aber mit einem höheren Zeitversatz als die anderen Signale zu arbeiten. Dies wird erreicht, indem die kritischen Signale in eine getrennte Gruppe gestellt werden und der Befehl WRCLK zur Auswahl einer anderen Taktquelle 30 als der für die anderen E/A-Signale auf diesem Chip benutzten verwendet wird. Dieses Konzept kann auch auf die Behebung von Problemen des Zeitverhaltens auf Hauptplatinen angewendet werden, wobei die Ankunftszeit des Taktsignals an dem Anschlussstift einer Komponente angepasst wird, indem eine andere Taktquelle 30 ausgewählt wird, die alle dieselbe Frequenz, aber einen anderen Zeitversatz haben.
Nun Bezug nehmend auf die Fig. 1 und 3, wird die Art und Weise erörtert, in der die Ausführung der Taktsignale WRCLK und RDCLK die an die Taktauswahlregister 40 gesendeten Befehle und damit die Festlegung bestimmen, welches in einen Multiplexer 36 eingegebene Taktsignal CLK von den Taktquellen 30 als Ausgangssignal von dem Multiplexer bereitgestellt wird. Der Befehl WRCLK wird von einer Verarbeitungskomponente 22 zum Zeitpunkt der Decodierung des Befehls erkannt. Im Buszyklus 200 decodiert die Komponente 22 somit den Befehl WRCLK. Im Zyklus 202 wartet die Komponente 22 als Nächstes darauf, dass alle anstehenden Buszyklen abgearbeitet werden. Ein einzelner Buszyklus, der in Fig. 3 dargestellt ist, kann mehrere Taktzyklen darstellen. Im Zyklus 204 führt die Komponente 22 dann den Befehl WRCLK aus, der bewirkt, dass ein Wert, der für das gewünschte Taktsignal CLK steht, in das geeignete Taktauswahlregister 40 geschrieben wird. Im Zyklus 206 wird der neue in das Taktauswahlregister geschriebene Wert zur Weiterleitung an Taktauswahlmultiplexer 36 freigegeben, und folglich wird eine neue Taktquelle 30 zur Steuerung der E/A- Steuereinheit 24 ausgewählt. Unter der Annahme, dass der Befehl WRCLK einem Taktauswahlregister 40 zugeführt wurde, das an einen Multiplexer 36 angeschlossen ist, der mit den Steuereinheiten 24 für einen Datenbus verbunden ist, und Daten mit einer Taktfrequenz von 66 MHz bereitgestellt wurden, bewirkt die Übertragung des neuen Werts des Taktauswahlregisters 40 im Zyklus 208, dass Daten mit einer neuen Taktfrequenz, in diesem Beispiel 100 MHz, bereitgestellt werden. Andere Steuereinheiten 24 empfangen Taktsignale weiterhin mit 66 MHz.
Mit dem in Fig. 3 veranschaulichten Beispiel fortfahrend und unter der Annahme, dass es erwünscht ist, allen Gruppen im System 20 und damit auch den zugehörigen Steuereinheiten 24 100-MHz-Taktsignale bereitzustellen, wird der Befehl WRCLK im Zyklus 220 decodiert, wie es im Zyklus 200 geschehen ist. Als Nächstes wird der Befehl WRCLK im Zyklus 222 decodiert, wie es im Zyklus 202 geschehen ist. Dann wird der Befehl WRCLK in den Zyklen 224 beziehungsweise 226 wie in den Zyklen 204 und 206 ausgeführt. Schließlich empfangen alle anderen Gruppen Taktsignale mit 100 MHz, wie durch die Buszyklen 228 bis 234 dargestellt ist.
Noch eine andere Anwendung für das System 20 besteht darin, verschiedenen Bytes oder Bits des Schnittstellensignals verschiedene Taktsignale bereitzustellen. Diese Funktionalität des Systems 20 findet besondere Anwendung bei Test-, Fehlerbehebungs- und Wiederherstellungsoperationen. Nochmals Bezug nehmend auf Fig. 1, kann das System 20, um diese Funktionalität zu erreichen, optional den Kreuzschienen-Schaltverteiler 26 enthalten, wie vorstehend erwähnt wurde, sowie das E/A-Auswahlregister 302, das mit dem Kreuzschienen-Schaltverteiler verbunden ist. Letzterer verbindet jeden von mehreren Eingängen mit einem oder mehreren ausgewählten einer Vielzahl von Ausgängen und kann eine andere Struktur als ein Kreuzschienen-Schaltverteiler an sich aufweisen. Beispielsweise können verschiedene Anordnungen von Multiplexern und/oder anderen Einheiten als Kreuzschienen-Schaltverteiler 26 verwendet werden.
In jedem Fall wird jede Steuereinheit 24 für eine bestimmte Komponente 22 über die Leitung 304 mit einem Kreuzschienen- Schaltverteiler 26 verbunden. In Fig. 1 ist nur ein Kreuzschienen-Schaltverteiler 26 gezeigt, um die Darstellung zu vereinfachen. Da jedoch zwei Komponenten, d. h. die Komponenten 22a und 22b, gezeigt sind, würden typischerweise zwei Kreuzschienen-Schaltverteiler 26 verwendet werden, wobei der eine mit den Steuereinheiten 24 der Komponente 22a und der andere mit den Steuereinheiten 24 der Komponente 22b verbunden würde. Der Kreuzschienen-Schaltverteiler 26 ist typischerweise Teil einer Komponente 22, obgleich er als getrennte Einheit ausgeführt werden kann.
Der Kreuzschienen-Schaltverteiler 26 ordnet den oder die Anschlussstifte zu, für den/die eine bestimmte Steuereinheit 24 die Datenein- und -ausgabe über den Datenbus 25 steuert. Um ein Höchstmaß an Flexibilität zu erreichen, wird für jeden Anschlussstift der Komponente 22 eine Steuereinheit 24 bereitgestellt. In vielen Anwendungen können jedoch weniger Steuereinheiten 24 als die Anzahl der Anschlussstifte der Komponente 22 verwendet werden, d. h., jede Steuereinheit kann die Datenein-/-ausgabe über mehrere Anschlussstifte steuern. In dieser Hinsicht enthält die Leitung 304 im Allgemeinen eine Vielzahl von Leitungen, eine für jeden Anschlussstift der Komponente 22.
Das E/A-Auswahlregister 302 enthält Befehle, die bei ihrer Weiterleitung in den Kreuzschienen-Schaltverteiler 26 festlegen, welche Anschlussstifte der Steuereinheit 24 Daten bereitstellen. Eine Erweiterung des Befehlssatzes für die Komponente 22 mit der Bezeichnung IOSELECT stellt solche Befehle bereit.
Nun Bezug nehmend auf die Fig. 1 und 4, wird die erweiterte Funktionalität, welche der Kreuzschienen- Schaltverteiler 26 und das E/A-Auswahlregister 302 bieten, im Zusammenhang mit der Datenübertragung von der Komponente 22a an die Komponente 22b beschrieben. Zum Zweck der folgenden Erörterung nehmen wir an, dass die Taktsignale, die acht Anschlussstiften der Komponente 22a zugeführt werden, von denen jeder von einem zugehörigen Byte dargestellt wird, gemäß der vorliegenden Erfindung ausgewählt werden sollen. Nehmen wir auch an, dass das E/A- Auswahlregister 302 einen Befehl enthält, der bewirkt, dass, der Kreuzschienen-Schaltverteiler 26 der Steuereinheit 24a, die das Taktsignal CLK0 von der Taktquelle 30a empfängt, Anschlussstifte zuordnet, die vom Byte 0 dargestellt werden, und der Steuereinheit 24c, die das Taktsignal CLK1 von der Taktquelle 30b empfängt, die Bytes 7 bis 1 zuordnet. Nehmen wir weiter an, dass das Taktsignal CLK0 von der Taktquelle 30a die halbe Frequenz des Taktsignals CLK1 von der Taktquelle 30b hat. Da die Bytes 7 bis 1 mit einer höheren Frequenz getaktet werden, überträgt die Komponente 22a Daten an den von diesen Bytes dargestellten Anschlussstiften früher als Daten an den vom Byte 0 dargestellten Anschlussstiften, wie nachstehend beschrieben wird. Dieser Lösungsansatz kann beispielsweise während der Fehlersuche im System verwendet werden, um Probleme des Zeitverhaltens auf Anschlussstifte einzugrenzen, die vom Byte 0 dargestellt werden.
Bei steigender Flanke 310 der Signalform 312 beginnt der Buszyklus für die Komponente 22a. Bei steigender Flanke 314 der Signalform 312 werden Daten an den von den Bytes 7 bis 1 dargestellten Anschlussstiften von der Komponente 22a übertragen. Die Komponente 22b empfängt diese Daten bei steigender Flanke 316 der Signalform 312. Bei steigender Flanke 318 der Signalform 320 werden dann Daten an den vom Byte 0 ausgewiesenen Anschlussstiften von der Komponente 22a übertragen. Schließlich empfängt die Komponente 22b diese Daten bei steigender Flanke 322 der Signalform 320. Damit ist der erste Buszyklus abgearbeitet. Dieser Prozess wird in einem zweiten Buszyklus wiederholt, wie in Fig. 4 veranschaulicht ist, und kann nach Wunsch erneut wiederholt werden.
Da Daten, die von den vom Byte 0 ausgewiesenen Anschlussstiften der Komponente 22a bereitgestellt werden, mit dem Taktsignal CLK0 übertragen werden, das die halbe Frequenz des Taktsignals CLK1 hat, bleibt zur Prüfung der Byte-0-Daten mehr Zeit. Diese Möglichkeit, die Lieferung von Daten für ausgewählte Anschlussstifte zu verlangsamen, ist beispielsweise nützlich, um Probleme des Zeitverhaltens einzugrenzen, die es in Bezug auf Daten geben kann, die an solchen Anschlussstiften bereitgestellt werden.
Die vorliegende Erfindung wurde zwar in Bezug auf bevorzugte Ausführungsformen und Beispiele aus der Praxis beschrieben, doch sollte es sich von selbst verstehen, dass sie nicht darauf beschränkt ist. Sie soll vielmehr alle Alternativen, Änderungen und gleichwertigen Gestaltungsformen abdecken, die unter den Umfang und die Wesensart der Erfindung fallen können, welche in den beigefügten Ansprüchen näher bezeichnet ist.

Claims (15)

1. Datenverarbeitungssystem, das Folgendes umfasst:
  • a) eine Vielzahl von Verarbeitungskomponenten, von denen jede mit mindestens einer anderen der Verarbeitungskomponenten verbunden ist;
  • b) eine Vielzahl von Taktquellen, von denen jede ein Taktsignal liefert;
  • c) eine Vielzahl von Steuereinheiten, die zu jeder der Verarbeitungskomponenten gehören;
  • d) eine Vielzahl von Taktauswahlregistern, von denen jedes ein Taktauswahlsignal liefert; und
  • e) eine Vielzahl von Multiplexern, von denen jeder mit der Vielzahl der Taktquellen, mit zwei oder mehreren der Vielzahl der Steuereinheiten und mit einem der Taktauswahlregister verbunden ist, wobei jeder der Multiplexer als Antwort auf ein von dem einen Taktauswahlregister bereitgestelltes Taktauswahlsignal an zwei oder mehrere der Vielzahl der Steuereinheiten eines der Taktsignale als Ausgangssignal liefert.
2. System nach Anspruch 1, das des Weiteren eine Vielzahl von Übertragungsleitungen enthält, wobei jeder der Vielzahl der Multiplexer über eine der Vielzahl der Übertragungsleitungen mit den beiden oder mehreren der Vielzahl der Steuereinheiten verbunden ist.
3. System nach Anspruch 2, wobei jede der Vielzahl der Übertragungsleitungen einzeln mit den beiden oder mehreren der Vielzahl der Steuereinheiten verbunden ist.
4. System nach Anspruch 1, wobei mindestens eines der Taktsignale zeitlich versetzt von anderen der Taktsignale ist.
5. System nach Anspruch 1, wobei mindestens eines der Taktsignale eine andere Frequenz als andere der Taktsignale hat.
6. System nach Anspruch 1, wobei das System ein Übertragungsfolgeprotokoll hat und darüber hinaus ein Archcomp-Register enthält, das mit jeder der Vielzahl der Steuereinheiten verbunden ist, um anzuzeigen, ob die Vielzahl der Verarbeitungskomponenten das Übertragungsfolgeprotokoll einhalten muss.
7. System nach Anspruch 6, wobei jede der Vielzahl der Steuereinheiten ein Archcomp-Register enthält.
8. System nach Anspruch 6, wobei das Archcomp-Register so ausgelegt ist, dass als Antwort auf einen Befehl ARCHCOMP in einem ersten Buszyklus ein erster Wert in das Register geschrieben wird, wenn Kompatibilität gewünscht wird, und ein zweiter Wert in das Register geschrieben wird, wenn keine Kompatibilität gewünscht wird, und wobei das Archcomp-Register so ausgelegt ist, dass der erste Wert und der zweite Wert, die in dem Archcomp-Register vorhanden sind, als Antwort auf den Befehl ARCHCOMP in einem zweiten Buszyklus zu den mit dem Archcomp-Register verbundenen Steuereinheiten gelangt, und wobei der Befehl ARCHCOMP ferner in der Vielzahl der Verarbeitungskomponenten ausgeführt wird.
9. System nach Anspruch 1, wobei jedes der Vielzahl der Taktauswahlregister so ausgelegt ist, dass als Antwort auf einen Befehl WRCLK in einem ersten Buszyklus eindeutig ein Wert in das Taktauswahlregister geschrieben wird, der die eine der Vielzahl der Taktquellen anzeigt, die ein Taktsignal hat, das als Ausgangssignal von dem einen der Vielzahl der Multiplexer, an den das Taktauswahlregister angeschlossen ist, bereitgestellt werden soll und wobei die Taktauswahlregister so ausgelegt sind, dass der Wert als Antwort auf den Befehle WRCLK in einem zweiten Buszyklus zu dem Multiplexer gelangt, an den jedes Taktauswahlregister angeschlossen ist, und wobei der Befehl WRCLK ferner in der Vielzahl der Verarbeitungskomponenten ausgeführt wird.
10. System nach Anspruch 1, wobei das Taktauswahlregister so ausgelegt ist, dass dessen Inhalt über einen Befehl RDCLK gelesen werden kann.
11. System nach Anspruch 1, wobei jede der Vielzahl der Verarbeitungskomponenten eine Vielzahl von Anschlussstiften hat, über die Daten eingegeben und ausgegeben werden, und jede der Vielzahl der Steuereinheiten die Eingabe und die Ausgabe der Daten für ausgewählte der Vielzahl der Anschlussstifte steuert, und wobei das System ferner ein Mittel enthält, das mit der Vielzahl der Steuereinheiten verbunden ist, um die aus der Vielzahl der Anschlussstifte ausgewählten Anschlussstifte zugehörigen der Vielzahl der Steuereinheiten zuzuordnen.
12. System nach Anspruch 1, das des Weiteren einen Kreuzschienen-Schaltverteiler, der mit der Vielzahl der Steuereinheiten verbunden ist, die zu einer der Vielzahl der Verarbeitungskomponenten gehören, und ein E/A- Auswahlregister enthält, das mit dem Kreuzschienen- Schaltverteiler verbunden ist, um Befehle bereitzustellen, die den Betrieb des Kreuzschienen- Schaltverteilers festlegen.
13. System nach Anspruch 12, wobei das System so ausgelegt ist, dass es einen Befehl IOSELECT bereitstellt und die Befehle in dem E/A-Auswahlregister von dem Befehl IOSELECT bestimmt werden.
14. Verfahren zur Bereitstellung von Taktsignalen in einem Datenverarbeitungssystem, das über eine Vielzahl von Verarbeitungskomponenten und eine Vielzahl von Steuereinheiten verfügt, die zu den Verarbeitungskomponenten gehören, wobei das Verfahren die folgenden Schritte umfasst:
  • a) eine Vielzahl von verschiedenen Taktsignalen wird bereitgestellt;
  • b) eines der Vielzahl der Taktsignale wird für jede der Vielzahl der Steuereinheiten ausgewählt;
  • c) die ausgewählten der Vielzahl der Taktsignale werden der Vielzahl der Steuereinheiten parallel zugeführt.
15. Verfahren nach Anspruch 14, wobei jede der Vielzahl der Verarbeitungskomponenten eine Vielzahl von Anschlussstiften hat und die Vielzahl der Verarbeitungskomponenten die Eingabe und die Ausgabe von Daten über die Anschlussstifte steuert, wobei der Schritt c. den Schritt enthält, in dem ausgewählte der Vielzahl der Anschlussstifte zugehörigen der Vielzahl der Verarbeitungskomponenten zugeordnet werden.
DE10110567A 2000-03-16 2001-03-06 Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen Expired - Fee Related DE10110567B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/526,854 2000-03-16
US09/526,854 US6578155B1 (en) 2000-03-16 2000-03-16 Data processing system with adjustable clocks for partitioned synchronous interfaces

Publications (2)

Publication Number Publication Date
DE10110567A1 true DE10110567A1 (de) 2001-09-27
DE10110567B4 DE10110567B4 (de) 2004-07-15

Family

ID=24099071

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10110567A Expired - Fee Related DE10110567B4 (de) 2000-03-16 2001-03-06 Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen

Country Status (4)

Country Link
US (1) US6578155B1 (de)
JP (1) JP3651588B2 (de)
KR (1) KR100458024B1 (de)
DE (1) DE10110567B4 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993669B2 (en) 2001-04-18 2006-01-31 Gallitzin Allegheny Llc Low power clocking systems and methods
US6990598B2 (en) * 2001-03-21 2006-01-24 Gallitzin Allegheny Llc Low power reconfigurable systems and methods
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US7057518B2 (en) 2001-06-22 2006-06-06 Schmidt Dominik J Systems and methods for testing wireless devices
US6898721B2 (en) * 2001-06-22 2005-05-24 Gallitzin Allegheny Llc Clock generation systems and methods
US7103320B2 (en) * 2003-04-19 2006-09-05 International Business Machines Corporation Wireless communication system within a system on a chip
US20040225868A1 (en) * 2003-05-07 2004-11-11 International Business Machines Corporation An integrated circuit having parallel execution units with differing execution latencies
US10887038B2 (en) 2018-09-28 2021-01-05 Samsung Electronics Co., Ltd. GNSS-based multi-modal clock correction

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3715729A (en) 1971-03-10 1973-02-06 Ibm Timing control for a multiprocessor system
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
US4979191A (en) 1989-05-17 1990-12-18 The Boeing Company Autonomous N-modular redundant fault tolerant clock system
JPH03253130A (ja) * 1990-03-02 1991-11-12 Oki Electric Ind Co Ltd クロック分配装置
US5717697A (en) 1990-06-27 1998-02-10 Texas Instruments Incorporated Test circuits and methods for integrated circuit having memory and non-memory circuits by accumulating bits of a particular logic state
DE4211701A1 (de) 1992-04-08 1993-10-14 Thomson Brandt Gmbh Verfahren und Vorrichtung zur Phasenmessung
US5734877A (en) * 1992-09-09 1998-03-31 Silicon Graphics, Inc. Processor chip having on-chip circuitry for generating a programmable external clock signal and for controlling data patterns
JPH06138973A (ja) * 1992-10-30 1994-05-20 Fujitsu Ltd クロック同期化方式
US5444407A (en) * 1992-12-28 1995-08-22 Advanced Micro Devices, Inc. Microprocessor with distributed clock generators
US5511212A (en) 1993-06-10 1996-04-23 Rockoff; Todd E. Multi-clock SIMD computer and instruction-cache-enhancement thereof
US5838339A (en) 1995-04-12 1998-11-17 Eastman Kodak Company Data distribution in monolithic print heads
US5680594A (en) * 1995-05-24 1997-10-21 Eastman Kodak Company Asic bus interface having a master state machine and a plurality of synchronizing state machines for controlling subsystems operating at different clock frequencies
US5815693A (en) * 1995-12-15 1998-09-29 National Semiconductor Corporation Processor having a frequency modulated core clock based on the criticality of program activity
US5926053A (en) * 1995-12-15 1999-07-20 National Semiconductor Corporation Selectable clock generation mode
US5799176A (en) 1995-12-26 1998-08-25 Cypress Semiconductor Corp. Method and apparatus for providing clock signals to macrocells of logic devices
JP2755253B2 (ja) * 1996-06-28 1998-05-20 日本電気株式会社 多重冗長クロック信号セレクタ
JP2959482B2 (ja) * 1996-08-19 1999-10-06 日本電気株式会社 大規模集積回路
US5790609A (en) 1996-11-04 1998-08-04 Texas Instruments Incorporated Apparatus for cleanly switching between various clock sources in a data processing system
US5903746A (en) * 1996-11-04 1999-05-11 Texas Instruments Incorporated Apparatus and method for automatically sequencing clocks in a data processing system when entering or leaving a low power state
US5987620A (en) * 1997-09-19 1999-11-16 Thang Tran Method and apparatus for a self-timed and self-enabled distributed clock
KR100336556B1 (ko) * 1997-12-20 2002-08-28 주식회사 하이닉스반도체 클럭신호제어회로
JP2000353027A (ja) * 1999-06-11 2000-12-19 Hitachi Ltd クロック制御方法およびそれを用いた電子回路装置
KR20010046109A (ko) * 1999-11-10 2001-06-05 윤종용 출력 신호의 왜곡을 제거하는 클럭 멀티플렉싱 회로

Also Published As

Publication number Publication date
KR100458024B1 (ko) 2004-11-26
US6578155B1 (en) 2003-06-10
JP2001312327A (ja) 2001-11-09
DE10110567B4 (de) 2004-07-15
KR20010096571A (ko) 2001-11-07
JP3651588B2 (ja) 2005-05-25

Similar Documents

Publication Publication Date Title
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE602004004442T2 (de) Kartenidentifikationssystem
DE602004007674T3 (de) Integrierte Schaltung mit bimodalem Daten-Strobe
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE69936524T2 (de) Betriebsweise und schaltkreis eines speichers mit seriellem zugriff
DE60001913T2 (de) Mustergenerator für eine testvorrichtung von paketbasierten speichern
DE69433130T2 (de) Rechnersystem mit verändertem lokalen Datenbus
DE19507562A1 (de) Synchrone Halbleiterspeichervorrichtung mit einer Schreiblatenzsteuerfunktion
DE19737838B4 (de) Halbleiterspeichereinrichtung
DE19822776A1 (de) Datenverarbeitungsvorrichtung
DE102013018135B4 (de) Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen
DE102004060348A1 (de) Halbleiterspeichervorrichtung und Gehäuse dazu, und Speicherkarte mit Verwendung derselben
DE10125724A1 (de) Speichersystem, Speicherbauelement und Speicherdatenzugriffsverfahren
DE60122025T2 (de) Halbleiterspeicheranordnung und Datenverarbeitungseinheit
DE10110567B4 (de) Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen
DE60111542T2 (de) Verfahren, vorrichtung und system fur allgemeines steuerungerweiterungsmoduls
DE102005009806A1 (de) Pufferbaustein für ein Speichermodul, Speichermodul und Speichersystem
DE19511259A1 (de) Video-RAM und Verfahren zur Ausgabe von seriellen Daten
DE10339787A1 (de) Speichermodul und Verfahren zum Betreiben eines Speichermoduls
DE602004005820T2 (de) Prozessorarray
DE60211874T2 (de) Anordnung von zwei Geräten, verbunden durch einen Kreuzvermittlungsschalter
DE10164917B4 (de) Halbleiterspeichersystem
DE10115879C1 (de) Testdatengenerator
DE10105627A1 (de) Mehrfachanschlussspeichereinrichtung
DE10260996A1 (de) Speichersteuerchip,-steuerverfahren und -steuerschaltung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee