DE19655086B4 - Getaktete Datenverarbeitungseinrichtung, insbesondere mit Datenmodulations-Einrichtung zum Erzeugen eines Nachrichtenübermittlungssignals bzw. von Zeitsteuersignalen sowie eines kombinierten Zeitsteuer- und Nachrichtenübermittlungssignals, Verfahren zum Takten bzw. Takten und Nachrichtenübermitteln in einer Datenverarbeitungseinrichtung - Google Patents

Getaktete Datenverarbeitungseinrichtung, insbesondere mit Datenmodulations-Einrichtung zum Erzeugen eines Nachrichtenübermittlungssignals bzw. von Zeitsteuersignalen sowie eines kombinierten Zeitsteuer- und Nachrichtenübermittlungssignals, Verfahren zum Takten bzw. Takten und Nachrichtenübermitteln in einer Datenverarbeitungseinrichtung Download PDF

Info

Publication number
DE19655086B4
DE19655086B4 DE19655086A DE19655086A DE19655086B4 DE 19655086 B4 DE19655086 B4 DE 19655086B4 DE 19655086 A DE19655086 A DE 19655086A DE 19655086 A DE19655086 A DE 19655086A DE 19655086 B4 DE19655086 B4 DE 19655086B4
Authority
DE
Germany
Prior art keywords
signal
output
input
local
sinusoidal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19655086A
Other languages
English (en)
Inventor
Michael A. Menlo Park Baxter
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/501,970 external-priority patent/US5805871A/en
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Application granted granted Critical
Publication of DE19655086B4 publication Critical patent/DE19655086B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/76Addressed sensors, e.g. MOS or CMOS sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Getaktete Datenverarbeitungseinrichtung, umfassend eine Master-Zeitbasiseinheit (12) und mindestens eine lokale Zeitbasiseinheit (22), die minder Master-Zeitbasiseinheit (12) verbunden ist, dadurch gekennzeichnet, daß
die Master-Zeitbasiseinheit (12) einen Satz sinusförmiger Zeitreferenzsignale erzeugt und
die mindestens eine lokale Zeitbasiseinheit (22) ein erstes lokales Zeitsteuersignal mit Hilfe eines ersten sinusförmigen Zeitreferenzsignals in dem Satz sinusförmiger Zeitreferensignale erzeugt.

Description

  • Die Erfindung betrifft eine getaktete Datenverarbeitungseinrichtung, insbesondere eine Datenverarbeitungseinrichtung, das ein Datenmodulationsverfahren verwendet, eine Einrichtung zum Erzeugen eines Nachrichtenübermittlungssignals bzw. von Zeitsteuersignalen (Taktsignalen) bzw. deren Verwendung in einer Datenverarbeitungseinrichtung sowie eines kombinierten Zeitsteuer- und Nachrichtenübermittlungssignals, ein Verfahren zum Takten bzw. Takten und Nachrichtenübermitteln in einer Datenverarbeitungseinrichtung. Die Erfindung ist insbesondere gerichtet auf ein skalierbares, paralleles, dynamisch rekonfigurierbares Rechnersystem.
  • Die vorliegende Anmeldung ist eine Ausscheidungsanmeldung aus der deutschen Patentanmeldung Nr. 196 29 188.7-42.
  • Das Erzeugen und Verteilen eines Referenz-Zeitsteuersignals ist eine wesentliche Operation in Computing-Umgebungen. Beispielsweise wird in Mehrverarbeitungssystemen üblicherweise ein Referenz-Zeitsteuersignal erzeugt und an jeden einzelnen Prozessor verteilt. Beispielsweise kann ein Hauptknoten in einem Netz ein Referenz-Zeitsteuersignal für Netzsynchronisierzwecke erzeugen und verteilen.
  • In herkömmlichen digitalen Systemen, welche ein Referenz-Zeitsteuersignal erzeugen und verteilen, ist das Referenz-Zeitsteuersignal üblicherweise das höchstfrequente Signal, das in dem System verwendet ist. Verarbeitungselemente in dem System erhalten das Referenz-Zeitsteuersignal über eine Folge von Pufferverstärkern, die entlang eines Verteilungswegs miteinander verbunden sind. Jedes Verarbeitungselement wird entweder mit der Frequenz des Referenz-Zeitsteuersignals oder mit einer festen frequenz-geteilten oder abwärtsgewandelten Frequenz taktgesteuert, welche niedriger ist als diejenige des Referenz-Zeitsteuersignals.
  • Die Arbeitsfrequenz jedes Verarbeitungselements in dem digitalen System wird während der Systemauslegung festgelegt. Nach einer Systemerstellung ist eine Modifikation der Arbeitsfrequenz von einem oder mehreren Verarbeitungselementen, insbesondere unabhängig voneinander, im allgemeinen ein schwieriger, zeitaufweniger und kostspieliger Prozeß. Daher besteht eine Forderung nach einer derartigen Einrichtung darin, daß Verarbeitungselement-Arbeitsfrequenzen leicht und unabhängig voneinander modifiziert werden können.
  • Die Forderung nach höherer Verarbeitungsleistung hat zu der Entwicklung von Systemen geführt, die mit immer höheren Frequenzen arbeiten. Wie vorher ausgeführt, ist das Referenz-Zeitsteuersignal üblicherweise das höchstfrequente Signal, das in einem System zugeteilt und verwendet ist. Die systemweite Verteilung des Referenz-Zeitsteuersignals wird jedoch zunehmend schwieriger, wenn die Arbeitsfrequenzen höher werden. Komplexe Impedanz- und Signalreflexionswirkungen entlang des Verteilungswegs werden mit steigender Frequenz größer und führen zu einer Impulsdämpfung und -verzerrung.
  • In beinahe allen digitalen Systemen wird das Referenz-Zeitsteuersignal erzeugt und als eine Rechteckimpulsfolge verteilt. Um eine Pulswiedergabetreue zu erhalten und um Signalflankenübergänge mit minimalem Versatz auszubreiten, erfordern Verstärkerstufen, die entlang des Verteilungswegs verwendet worden sind, eine außergewöhnlich stabile Verstärkung sowie eine außergewöhnlich hohe Leistung hinsichtlich der An stiegsgeschwindigkeit. Wenn die Frequenz des Referenz-Zeitsteuersignals zunimmt, macht dies in unerwünschter Weise die Verwendung von teueren Komponenten notwendig, um den Anforderungen hinsichtlich der Verstärkung und der Leistung bezüglich der Anstiegsgeschwindigkeit zu genügen. Darüber hinaus kann, wenn das Referenz-Zeitsteuersignal viele Verstärkerstufen durchläuft, was beispielsweise bei einem herkömmlichen Taktverteilungsbaum der Fall wäre, ein kommulativer Impulsversatz nicht vermieden werden. Jede Verstärkerstufe erzeugt ein gewisses Zittern an der Signalflanke, wodurch die Unsicherheit hinsichtlich des Referenzzeitsteuersignal-Eintreffzeitpunkts in jedem vorgegebenen Verarbeitungselement des Systems zunimmt. Was benötigt wird, ist eine Einrichtung, um ein Referenz-Zeitsteuersignals zu erzeugen und zu verteilen, welches die vorstehend beschriebenen Probleme minimiert, während gleichzeitig die Arbeitsfrequenz jedes Verarbeitungselements maximiert wird.
  • Rechensysteme, welche durch Mehrfachverarbeitungselemente gekennzeichnet sind, erfordern oft die Verteilung eines gemeinsamen Satzes von Nachrichten-Übermittlungssignalen an jedes Verarbeitungselement in dem System. Der gemeinsame Satz von Nachrichten-Verarbeitungssignalen kann beispielsweise dazu verwendet werden, anzuzeigen, daß ein systemweites Rücksetzen erforderlich ist. Das Verteilen eines gemeinsamen Satzes von Übermittlungssignalen an jedes Verarbeitungselement ist üblicherweise unter der Bezeichnung Übertragungsoperation bekannt.
  • Bisher wird eine Nachrichtenübermittlung-Signalverteilung im allgemeinen erreicht über: 1) ein der Öffentlichkeit zugängliches Verbundnetz und 2) eine spezialisierte Hardware und möglicherweise eine spezialisierte Software, welche jedem Verarbeitungselement zugeordnet ist, das vorgesehen ist, um Nachrichtenübermittlungssignale von dem Verbundnetz zu empfangen und an das Verbundnetz zu übertragen. Die Maximalzeit, die erforderlich ist, um Nachrichtenübermittlungssignale von einem Verarbeitungselement zu einem anderen beim Stand der Technik zu übertragen, kann von wenigen Mikrosekunden bis zu einigen hundert Mikrosekunden reichen in Abhängigkeit von der Systemgröße und den verwendeten Nachrichtenübermittlungssignal-Management techniken. Bei einer derartigen Latenz ist in unannehmbarer Weise die Möglichkeit verhindert, hochschnelle Übertragungsoperationen durchzuführen.
  • Herkömmliche Systeme und Verfahren für eine Nachrichtensignalverteilung sind nicht in der Lage, Übertragungsoperationen durchzuführen, bei welchen die Latenz in der Größenordnung der Zeit liegt, die erforderlich ist, um Signale durch Hardware in einem einzelnen Verarbeitungselement auszubreiten (d.h. Nanosekunden). Darüber hinaus können sich beim Stand der Technik Nachrichtensignal-Transferverzögerungen in signifikanter Weise, zwischen verschiedenen Stellen in dem Verbundnetz ändern. Dies wiederum unterbindet die Möglichkeit, die Verarbeitungselemente zu vereinigen, um simultane oder beinahe simultane Operationen auf einem systemweiten Niveau durchzuführen. Was benötigt wird, ist eine Einrichtung, um die vorerwähnten Beschränkungen beim Stand der Technik zu überwinden.
  • Die vorliegende Erfindung schafft daher eine Datenverarbeitungseinrichtung und ein Verfahren zum phasensynchronen Takten mit flexibler Frequenz und zum Nachrichtenübermitteln. Das System weist vorzugsweise eine Master-Zeitbasiseinheit, einen Systembus mit einem Abschluß und zumindest eine lokale Zeitbasiseinheit auf. In der Master-Zeitbasiseinheit erzeugt ein kalibriertes Referenzsystem ein erstes und zweites Systemreferenzsignal, das mit einem Ausgang eines Kristallfrequenzreferenz-Oszillators phasenstarr verriegelt ist. Die ersten und zweiten Systemreferenzsignale sind sinusförmige Signale mit einer Phasenverschiebung von 90°. Eine Modulationszustandseinrichtung empfängt Nachrichtensignale von einer externen Quelle, wandelt die Nachrichtensignale synchron in Bitfolgen um und führt eine Pegelumwandlung durch, um jede Bitfolge in ein Informationssignal umzuwandeln. Ein Modulator führt eine direkte Trägeramplitudenmodulation mit den ersten und zweiten Systemreferenzsignalen auf der Basis der Informationssignale durch und gibt die modulierten Systemreferenzsignale an den Systembus ab. Der Systembus ist vorzugsweise aus Übertragungsleitungen gebildet, welche die modulierten Systemreferenzsignale zu jeder lokalen Zeitbasiseinheit verteilen. Die Ausführung des Systembus in dieser Weise erlaubt die genaue Bestimmung des Eintreffzeitpunkts eines Signals, das von der Master-Zeitbasiseinheit zu einer vorgebenen lokalen Zeitbasiseinheit gesendet worden ist.
  • In jeder lokalen Zeitbasiseinheit erzeugt ein lokaler Referenzoszillator ein erstes und zweites lokales Referenzsignal, das phasenstarr zu den ersten und zweiten modulierten Systemreferenzsignalen ist. Zusätzlich erzeugt ein lokaler Zeitsteueroszillator (Local Timing Oscillator-LTO) ein versetztes Signal. Vorzugsweise ist die Frequenz des versetzten Signals höher als diejenige der Systemreferenzsignale. Ein Mischer und ein Diplexer erzeugen ein lokales Zeitsteuersignal aus dem zweiten lokalen Referenzsignal und dem versetzten Signal über eine Frequenz-Aufwärtsumwandlung. Folglich ist die Frequenz des lokalen Zeitsteuersignals vorzugsweise gleich der Summe der Frequenz des versetzten Signals und der Frequenz der Systemreferenzsignale. Das lokale Zeitsteuersignal wird an eine lokale Zeitsteuerleitung abgegeben, um vorzugsweise Zeitsteuerinformation an einer oder mehreren externen Komponenten zu erzeugen, welche der lokalen Zeitbasiseinheit zugeordnet sind.
  • Ein erster und zweiter Frequenzteiler schaffen frequenzgeteilte Versionen des lokalen Zeitsteuersignals und des zweiten lokalen Referenzsignals an einem Phasen- und Frequenzdetektor. Dieser Detektor gibt ein Abstimmsignal ab, das die Frequenz des mittels des LTO erzeugten, versetzten Signals steuert. Auf diese Weise ist die frequenzgeteilte Version des lokalen Zeitsteuersignals mit der frequenzgeteilten Version des zweiten lokalen Referenzsignals phasenstarr gekoppelt.
  • Der erste und der zweite Frequenzteiler sind durch Teilerkonstante k1 bzw. k2 gekennzeichnet. In der bevorzugten Ausführungsform sind die ersten und zweiten Frequenzteiler durch Verwenden einer rekonfigurierbaren Logikvorrichtung ausgeführt, wie beispielsweise einer feldprogrammierbaren Gateanordnung (FPGA). Eine derartige Ausführung sorgt für die selektive Modifikation der Teilerkonstanten k1 und k2, wodurch die programmierbare Spezifikation der Frequenz des lokalen Zeitsteuersignals zu einer vorgegebenen Zeit erleichtert wird. Die Erfindung schafft folglich eine Einrichtung, durch welche die Frequenz, die von einer vorgegebenen lokalen Zeitbasiseinheit abge geben worden ist, unabhängig von irgendeiner lokalen Zeitbasiseinheit leicht modifiziert werden kann.
  • In jeder lokalen Zeitbasiseinheit demoduliert eine kohärente Empfangseinheit synchron die modulierten Systemreferenzsignale und gewinnt Bitfolgen zurück, die in die ersten und zweiten Systemreferenzsignale durch den Modulator in der Master-Zeitbasiseinheit codiert wurden. Eine Nachrichten-Assemblereinheit decodiert synchron die Bitfolgen in Nachrichten und Daten gemäß einem Kennzeichnungsplan. Die Nachrichten enthalten selektiv ein synchrones Systemrücksetzsignal, ein Systemunterbrechungssignal und ein Systemereignissignal. Ein Datenselektor gibt die Nachrichten entweder an einen ersten oder einen zweiten Kennzeichnungskanal ab. In der Nachrichten-Assemblereinheit werden Datensignale zu Datenworten gruppiert, von denen jedes an einen synchronen Datenkanal abgegeben wird.
  • Wie vorstehend beschrieben, werden gemäß der Erfindung Nachrichten über die direkte Trägeramplitudenmodulation direkt in die Systemreferenzsignale codiert. Die modulierten Systemreferenzsignale werden über Übertragungsleitungen, (d.h. per Draht) an jede lokale Zeitbasiseinheit verteilt. Die Erfindung erleichtert somit synchrone Übertragungsoperationen, die durch Latenzen gekennzeichnet sind, die um ein Vielfaches niedriger als beim Stand der Technik sind.
  • Nachfolgend wird die Erfindung anhand von bevorzugten Ausführungsformen unter Bezugnahme auf die anliegenden Zeichnungen im Einzelnen beschrieben. Es zeigen.
  • 1 ein Blockdiagramm einer bevorzugten Ausführungsform eines Systems zum phasensynchronen Takten mit flexibler Frequenz und zum Nachrichtenübermitteln gemäß der Erfindung;
  • 2A ein Blockdiagramm einer ersten bevorzugten Ausführungsform eines kalibrierten Referenzsystems gemäß der Erfindung;
  • 2B ein Blockdiagramm einer zweiten Ausführungsform eines kalibrierten Referenzsystems gemäß der Erfindung;
  • 3A ein Blockdiagramm einer bevorzugten Ausführungsform einer Kalibriersteuereinheit gemäß der Erfindung;
  • 3B ein Blockdiagramm einer bevorzugten Ausführungsform eines ersten Frequenz-Spannung-Umsetzers gemäß der Erfindung;
  • 3C ein Blockdiagramm einer bevorzugten Ausführungsform eines Energieeinschalt-Rücksetz-Integrators gemäß der Erfindung;
  • 3D ein Blockdiagramm einer bevorzugten Ausführungsform eines System-Quadratur-Referenzoszillators gemäß der Erfindung;
  • 4A ein Blockdiagramm einer bevorzugten Ausführungsform einer Modulationszustandseinrichtung gemäß der Erfindung;
  • 4B eine Blockdiagramm einer bevorzugten Ausführungsform einer Zustandseinrichtung-Logikeinheit in der Modulationszustandseiririchtung;
  • 4C ein bevorzugtes Zeitsteuerdiagramm einer Ablaufeinheit der Erfindung;
  • 5A ein Blockdiagramm eines ersten verstärkungsgeregelten Verstärkers der Erfindung;
  • 5B eine Tabelle, die einen bevorzugten Kennzeichnungsplan der Erfindung festlegt;
  • 6 ein Blockdiagramm einer bevorzugten Ausführungsform einer lokalen Zeitbasiseinheit der Erfindung;
  • 7A eine Tabelle, die einen bevorzugten lokalen Frequenzplan der Erfindung wiedergibt;
  • 7B eine Tabelle, die einen bevorzugten Systemfrequenzplan der Erfindung wiedergibt;
  • 8 ein Blockdiagramm einer kohärenten Empfangseinheit der Erfindung;
  • 9A ein Blockdiagramm einer bevorzugten Ausführungsform eines Gate-Folgegenerators der Erfindung;
  • 9B ein bevorzugtes Zeitsteuerdiagramm für Signale, welche durch den Gate-Folgegenerator erzeugt worden sind;
  • 9C ein Blockdiagramm einer bevorzugten Ausführungsform einer Analog-Digital-Umsetzeinheit der Erfindung;
  • 10 ein Blockdiagramm einer bevorzugten Ausführungsform einer Nachrichten-Assemblereinheit der Erfindung;
  • 11A ein Blockdiagramm einer bevorzugten Ausführungsform einer Zeitsteuer-Synchronisiereinheit der Erfindung;
  • 11B ein Blockdiagramm einer bevorzugten Ausführungsform eines Signallistenspeichers der Erfindung;
  • 12A ein Blockdiagramm einer bevorzugten Ausführungsform einer Synchronsystem-Rücksetzeinheit der Erfindung;
  • 12B ein Blockdiagramm einer bevorzugten Ausführungsform einer Systemunterbrechungs-Zustandseinrichtung der Erfindung;
  • 12C ein Blockdiagramm einer bevorzugten Ausführungsform einer Systemereignis-Zustandseinrichtung der Erfindung;
  • 12D ein Blockdiagramm einer bevorzugten Ausführungsform einer Synchrondatenkanal-Zustandseinrichtung und eines Daten-Assemblerspeichers der Erfindung;
  • 13A ein Wellenformdiagramm, das ein bevorzugtes Systemreferenzsignalprotokoll der Erfindung zeigt;
  • 13B ein Wellenformdiagramm, das ein bevorzugtes Systemreferenzsignal-Modulationsprotokoll zeigt;
  • 13C ein Wellenformdiagramm eines bevorzugten Systemreferenzsignal-Demodulationsprotokolls;
  • 14A ein Ablaufdiagramm von bevorzugten Master-Zeitbasiseinheit-Operationen in der Erfindung;
  • 14B ein Ablaufdiagramm von bevorzugten lokalen Zeitbasiseinheit-Operationen in der Erfindung;
  • 15 ein Blockdiagramm einer bevorzugten Ausführungsform eines Systems für ein skalierbares, paralleles, dynamisch rekonfigurierbares Berechnen, gemäß der Erfindung;
  • 16 ein Blockdiagramm einer bevorzugten Ausführungsform einer S-Einrichtung gemäß der Erfindung;
  • 17A ein beispielhaftes Programmauflisten, das Rekonfigurationsanweisungen enthält;
  • 17B ein Ablaufdiagramm von herkömmlichen Kompilieroperationen, die während der Kompilation einer Folge von Programmbefehlen durchgeführt worden sind;
  • 17C und 17D ein Ablaufdiagramm von bevorzugten Kompilieroperationen, welche mittels eines Kompilierers für ein dynamisch rekonfigurierbares Berechnen durchgeführt worden sind;
  • 18 ein Blockdiagramm einer bevorzugten Ausführungsform einer dynamisch rekonfigurierbaren Verarbeitungseinheit der Erfindung;
  • 19 ein Blockdiagramm einer bevorzugten Ausführungsform einer Befehlabrufeinheit der Erfindung;
  • 20 ein Zustandsdiagramm, das eine bevorzugte Gruppe von Zuständen zeigt, die durch eine Befehlszustands-Ablaufsteuereinheit der Erfindung gestützt sind;
  • 21 ein Zustandsdiagramm, das eine bevorzugte Gruppe von Zuständen zeigt, welche durch Unterbrechungslogik der Erfindung getragen sind;
  • 22 ein Blockdiagramm einer bevorzugten Ausführungsform einer Datenoperationseinheit der Erfindung;
  • 23A ein Blockdiagramm einer ersten beispielhaften Ausführungsform der Datenoperationseinheit, welche durch die Ausführung einer universellen Außenschleifen-Befehlssatz-Architektur konfiguriert ist;
  • 23B ein Blockdiagramm einer zweiten beispielhaften Ausführungsform der Datenoperationseinheit, welche für die Verwirklichung einer Innenschleifen-Befehlssatz-Architektur konfigurier ist;
  • 24 ein Blockdiagramm einer bevorzugten Ausführungsform einer Adressenoperationseinheit der Erfindung;
  • 25A ein Blockdiagramm einer ersten beispielhaften Ausführungsform der Adressenoperationseinheit, welche für die Verwirklichung einer universellen Außenschleifen-Befehlssatz-Architektur konfiguriert ist;
  • 25B ein Blockdiagramm einer zweiten beispielhaften Ausführungsform der Adressenoperationseinheit, welche für die Verwirklichung einer Innenschleifen-Befehlssatz-Architektur konfiguriert ist;
  • 26A ein Diagramm, das eine beispielhafte Zuordnung von rekonfigurierbaren Hardware-Ressourcen zwischen der Befehlsabrufeinheit, der Datenoperationseinheit und der Adressenoperationseinheit für eine Außenschleifen-Befehlssatz-Architektur zeigt;
  • 26B ein Diagramm einer beispielhaften Zuordnung von rekonfigurierbaren Hardware-Ressourcen zwischen der Befehlsabfrageeinheit der Datenoperationseinheit und der Adressenoperationseinheit für eine Innenschleifen-Befehlssatz-Architektur;
  • 27 ein Blockdiagramm einer bevorzugten Ausführungsform einer T-Einrichtung der Erfindung,
  • 28 ein Blockdiagramm einer Verbindungs-Ein-/Ausgabeeinheit der Erfindung;
  • 29 ein Blockdiagramm einer bevorzugten Ausführungsform einer Ein-/Ausgabe-T-Einrichtung der Erfindung;
  • 30 ein Blockdiagramm einer bevorzugten Ausführungsform einer universellen Verbindungsmatrix der Erfindung, und
  • 31A und 31B ein Ablaufdiagramm eines bevorzugten Verfahrens für ein skalierbares, paralleles, dynamisch rekonfigurierbares Berechnen gemäß der Erfindung.
  • In 1 ist ein Blockdiagramm einer bevorzugten Ausführungsform eines Systems 10 zum phasensynchronen Takten mit flexibler Frequenz und zum Nachrichtenübermitteln gemäß der Erfindung dargestellt. Das System 10 weist vorzugsweise eine Master-Zeitbasiseinheit 12, einen Systembus 14, einen Leitungsabschluß 20 und zumindest eine lokale Zeitbasiseinheit 22 auf. Vorzugsweise weist das System 10 mehrere lokale Zeitbasiseinheiten 22 auf. Die Master-Zeitbasiseinheit 12 hat einen ersten Ausgang, welcher mit einer ersten Leitung 16 des Systembus 14 verbunden ist, einen zweiten Ausgang, der mit einer zweiten Leitung 18 des Systembus 14 verbunden ist, einen Eingang der mit einer Nachrichtenübermittlungs-Signalquelle über eine erste Nachrichtenleitung 14 verbunden ist und einen Rücksetzausgang, der ein Rücksetzsignal an einer oder mehreren, zu dem System 10 externen Komponenten über eine Rücksetzleitung 42 schafft. Die Nachrichtenübermittlungs-Signalquelle ist vorzugsweise ein zu dem System 10 externer Computer. Jede lokale Zeitbasiseinheit 22 hat einen ersten und einen zweiten Eingang, die mit der ersten bzw. zweiten Leitung 16, 18 des Systembus 14 verbunden sind. Jede lokale Zeitbasiseinheit 22 hat auch einen Zeitsteuerausgang, welcher ein lokales Zeitsteuersignale an eine oder mehrere zu dem System 10 externen Komponenten über eine lokale Zeitsteuerleitung 24 schafft, einen Sperrausgang, welcher ein erstes Sperr- oder Verriegelungssignal an eine oder mehrere externen Komponenten über eine erste Leitung 240 schafft, einen ersten Kennzeichnungsausgang, welcher einen ersten Signalsatz an externen Komponenten über einen ersten Kennzeichnungskanal 320 schafft, einen zweiten Signalisierausgang, welcher einen zweiten Signalsatz an externen Komponenten über einen zweiten Kennzeichnungskanal 330 schafft, und einen Datenausgang, welcher Daten an externen Komponenten über einen Synchrondatenkanal 340 erzeugt. Der Leitungsabschluß 20 hat einen ersten und zweiten Eingang, welcher mit der ersten Leitung 16 bzw. der zweiten Leitung 18 des Systembus 14 verbunden ist. Der Leitungsabschluß 20 ist vorzugsweise eine Impedanz, die derjenigen des Systembus 14 angepaßt ist. Der Fachmann erkennt, daß in einer anderen Ausführungsform in welcher der Systembus 14 mehr als zwei Leitungen 16, 18 aufweist, jede derartige Leitung an dem Leitungsabschluß 20 enden würde.
  • In der Master-Zeitbasiseinheit 12 werden Systemreferenzsignale erzeugt, um eine systemweite Frequenzreferenz zu schaffen. Elemente in der Master-Zeitbasiseinheit 16 modulieren selektiv die Systemreferenzsignale gemäß Nachrichtensignalen, welche über die erste Nachrichtenleitung 40 empfangen worden sind. Der Systembus 14 gibt die modulierten Systemreferenzsignale an jede lokale Zeitbasiseinheit 22 ab. In jeder Einheit 22 wird ein lokales Zeitsteuersignal erzeugt und werden die Systemreferenzsignale demoduliert. Eine oder mehrere externe Komponenten in dem System 10 benutzen vorzugsweise das lokale Zeitsteuersignal, die demodulierten Systemreferenzsignale und/oder Information, die von den demodulierten Systemreferenzsignalen abgeleitet worden ist. Hierbei ist eine externe Komponente vorzugsweise eine Verarbeitungseinheit, ein Computer oder eine einem Computersystem zugeordnete Einheit, ein Computer oder eine einem Computersystem zugeordnete Vorrichtung. Das System 10 der Erfindung wird vorzugsweise bei einem parallelen Rechensystem verwendet. Die interne Struktur und Funktionalität jedes Elements der vorliegenden Erfindung wird nachstehend im einzelnen beschrieben.
  • Master-Zeitbasiseinheit
  • In l weist die Master-Zeitbasiseinheit 12 vorzugsweise ein kalibriertes Referenzsystem (CRS) 30, einen Modulator 32, eine Modulations-Zustandseinrichtung (Modulation State Machine-MSM) 34 und einen ersten und einen zweiten Zustandsverstärker 36 bzw. 38 auf. Das CRS 30 hat einen ersten und einen zweiten Referenzausgang, der mit einem ersten bzw. einem zweiten Trägereingang des Modulators 32 verbunden ist, einen dritten Referenzausgang, der mit einem Referenzeingang des MSM 34 über eine Referenzleitung 715 verbunden ist, und einen Rücksetzausgang, welcher den Rücksetzausgang der Master-Zeitbasiseinheit bildet. Zusätzlich zu den ersten und zweiten Trägereingängen hat der Modulator 32 einen ersten und einen zweiten Modulationseingang, der mit einem ersten bzw. zweiten Modulationsausgang des MSM 34 verbunden ist. Der Modulator 32 hat ferner einen ersten Ausgang, der mit einem Eingang des ersten Verteilungsverstärkers 36 verbunden ist, und einen zweiten Ausgang, der mit einem Eingang des zweiten Verteilungsverstärkers 38 verbunden ist. Zusätzlich zu den vorstehend beschriebenen Verbindungen hat der MSM 34 auch einen Eingang, welcher den Eingang der Master-Zeitbasiseinheit 12 bildet, an welcher Nachrichtenübermittlungssignale empfangen werden. Schließlich hat der erste Verteilungsverstärker 36 einen Ausgang, welcher den ersten Ausgang der Master-Zeitbasiseinheit bildet; der zweite Verteilungsverstärker 38 hat einen Ausgang, welcher den zweiten Ausgang der Master-Zeitbasiseinheit bildet. In einer beispielhaften Ausführungsform sind jeweils die ersten und zweiten Verteilungsverstärker 36 und 38 durch Verwenden eines Rückkopplungs-Operationsverstärkers LM6181 (von National Semiconductor Corporation, Santa Clara, CA) ausgeführt.
  • Das CRS 30 erzeugt vorzugsweise ein erstes und ein zweites Systemreferenzsignal an den ersten bzw. zweiten Referenzausgängen, um die Systemreferenzsignale zu erzeugen. In der bevorzugten Ausführungsform sind die ersten und zweiten Systemreferenzsignale sinusförmige Signale mit einer 90° Phasenverschiebung. Das heißt, die Phasendifferenz zwischen den ersten und zweiten Systemreferenzsignalen ist π/2.
  • In 2A ist ein Blockdiagramm einer ersten und bevorzugten Ausführungsform des kalibrierten Referenzsystems (CRS) 30 dargestellt. Das CRS 30 weist vorzugsweise einen Kristallfrequenz-Referenzoszillator 70, einen System-Quadraturreferenz-Oszillator (QRO) 72, einen ersten Phasendetektor 74, ein erstes Schleifenfilter 76, einen ersten und zweiten Energieteiler 78 bzw. 80, einen ersten und zweiten Pufferverstärker 82 bzw. 84, eine Amplituden-Detektoreinheit 88 und eine Kalibriersteuereinheit 90 auf. Der Referenzoszillator 70 ist vorzugsweise ein herkömmlicher Kristalloszillator, welcher ein Originalfrequenz-Referenzsignal erzeugt, welches als ein Basissignal dient, mit welchem die ersten und zweiten Systemreferenzsignale phasenstarr verriegelt werden, wie später noch im einzelnen beschrieben wird. Der System-QRO 72 erzeugt vorzugsweise ein in Phase liegendes Referenzsignal und ein um 90° verschobenes Referenzsignal in einer Weise, die später noch im einzelnen anhand von 3D beschrieben wird. Der erste Phasendetektor 74 und das erste Phasenfilter 76 bilden eine herkömmliche phasenstarr verriegelte Schleife, um eine Phasenangleichung zwischen dem Originalfrequenz-Referenzsignal und dem um 90° verschobenen Referenzsignal (und folglich auch dem in Phase liegenden Referenzsignal) zu erhalten. Der erste Phasendetektor 72 ist entsprechend geschaltet, um das Originalfrequenz-Referenzsignal und eine erste, in der Leistung reduzierte Version des um 90° phasenverschobenen Referenzsignals zu empfangen, das mittels des zweiten Energieteilers 80 erzeugt worden ist. Der erste Phasendetektor 72 ist entsprechend geschaltet, um ein erstes Phasenfehlersignal an das erste Schleifenfilter 76 abzugeben, welches seinerseits entsprechend geschaltet ist, um ein erstes Abstimmsignal über eine erste Kalibrierleitung 77 an den System-QRO 72 abzugeben. In der bevorzugten Ausführungsform ist der erste Phasendetektor 74 ein Phasendetektor des I-Typs und das erste Schleifenfilter 76 ist ein Tiefpaßfilter, wobei beide Filter dazu verwendet werden, eine Phasenverriegelung in einer dem Fachmann geläufigen, herkömmlichen Weise durchzuführen. Der System-QRO 72 ist zusätzlich entsprechend geschaltet, um Kalibriersignale von der Kalibriersteuereinheit 90 über eine zweite Kalibrierleitung 51 zu erhalten, was später noch im einzelnen anhand von 3A beschrieben wird.
  • Die beiden Energieteiler 78, 80 weisen vorzugsweise eine ausgeglichene Energieteilerschaltung auf, die vorgesehen ist, um das in Phase liegende und das um 90° phasenverschobene Referenzsignal aufzunehmen. Der erste Energieteiler 78 schafft eine erste in der Leistung reduzierte Version des in Phase liegenden Referenzsignals an der Kalibriersteuereinheit 90, eine zweite in der Leistung reduzierte Version des in Phase liegenden Referenzsignals an der Amplitudendetektoreinheit 88 und eine dritte in der Leistung reduzierte Version des in Phase liegenden Referenzsignals an dem ersten Pufferverstärker 82. In ähnlicher Weise schafft der zweite Energieteiler 80 eine zweite in der Leistung reduzierte Version des in der Phase um 90° verschobenen Referenzsignals an der Amplitudendetektoreinheit 88 und eine dritte in der Leistung reduzierte Version des um 90° in der Phase verschobenen Referenzsignals an dem zweiten Pufferverstärker 84. In der bevorzugten Ausführungsform haben die zweite Version des in Phase liegenden Referenzsignals und die zweite Version des um 90° in der Phase verschobenen Referenzsignals Amplituden mit identischen Scheitelwerten, was auch für die dritte Version der in Phase und um 90° in der Phase verschobenen Referenzsignale gilt.
  • Der erste Pufferverstärker 82 hat ein Ausgangssignal, das den ersten Referenzausgang des CRS bildet und gibt folglich das erste Systemreferenzsignal ab. Ferner hat auch der zweite Pufferverstärker 84 ein Ausgangssignal, das den zweiten Referenzausgang des CRS 30 bildet und folglich gibt er das zweite Systemreferenzsignal ab. Wie vorstehend beschrieben, ist das in Phase liegende und das um 90° in der Phase verschobene Referenzsignal jeweils phasenstarr bezüglich des Originalfrequenz-Referenzsignals. Da die ersten und zweiten Systemreferenzsignale in der Leistung reduzierte Versionen der in Phase liegenden und um 90° in der Phase verschobenen Referenzsignale sind, sind die ersten und zweiten Systemreferenzsignale phasenstarr zu dem Original-Referenzsignal.
  • Die Amplitudendetektoreinheit 88 weist vorzugsweise zwei herkömmliche Amplitudendetektoren auf, so daß ein erster Amplitudendetektor ein in Phase liegendes Amplitudensignal und ein zweiter Amplitudendetektor ein um 90° in der Phase verschobenes Amplitudensignal erzeugt. Fachleute erkennen, daß das hier beschriebene System inhärent wechselstromgekoppelt ist. Wenn in einer anderen Ausführungsform das Aufrechterhalten eines speziellen Gleichstrompegels gefordert wird, könnte eine Schaltung zum Fühlen von einem oder mehreren Gleichstrom-Offsets in einer Weise enthalten sein, die analog derjenigen für die Amplitudendetektoreinheit 88 ist, das heißt in einer An und Weise, welche dem Fachmann ohne weiteres verständlich ist.
  • Die Kalibriersteuereinheit 90 erhält Signale, die in dem CRS 30 erzeugt worden sind und erzeugt ihrerseits einen Satz Kalibriersignale, die in dem System-QRO 72 über die zweite Kalibrierleitung 51 erzeugt sind. Die Kalibriersteuereinheit 90 ist vorzugsweise entsprechend geschaltet, um zu empfangen, das Originalfrequenz-Referenzsignal über eine Frequenz-Eingangsleitung 91, ein zweites Verriegelungssignal, das von dem ersten Phasendetektor 74 über eine zweite Leitung 92 abgegeben worden ist, die erste in der Leistung reduzierte Version des in Phase liegenden Referenzsignals über eine Energieüberwachungsleitung 93, das in Phase liegende Amplitudensignal über eine erste Amplitudenleitung 97 und das um 90' in der Phase verschobene Amplitudensignale über eine zweite Amplitudenleitung 96. Die Kalibriersteuereinheit 90 gibt zusätzlich ein synchronisiertes Leistungs-/Rücksetz- (POR-) Signal, um ein Rücksetzausgangssignal des CRS 30 zu bilden, und ein Spannungsreferenzsignal ab, um das dritte Referenzausgangssignal des CRS 30 zu bilden.
  • In 3A ist ein Blockdiagramm einer bevorzugten Ausführungsform der Kalibriersteuereinheit 90 dargestellt, welche, vorzugsweise einen ersten Amplitudendifferenzverstärker 120, einen ersten Amplitudenfehlerintegrator 122, einen zweiten Amplitudendifferenzverstärker 124, einen zweiten Amplitudenfehlerintegrator 126, eine Gleichspannungsreferenz 130, einen ersten Begrenzer 132, einen ersten Frequenz-Spannungs-(F-V-)Umsetzer 134, einen zweiten F-V-Umsetzer 136, einen Frequenzdifferenzverstärker 138, einen Frequenzfehlerintegrator 140, einen POR-Integrator 142 und erste und zweite Flip-Flops 144 bzw. 146 aufweist.
  • Der erste Amplituden-Differenzverstärker 120 ist entsprechend geschaltet, um das in Phase liegende Amplitudensignal über die erste Amplitudenleitung 96 aufzunehmen. Der Verstärker 120 hat zusätzlich einen Eingang, der mit einem Ausgang der Gleichspannungs-Referenzeinheit 130 verbunden ist. Der erste Verstärker 120 gibt ein Amplitudenfehlersignal ab, das er von dem ersten Amplitudenfehlerintegrator 122 erhalten hat, welcher seinerseits ein erstes Pegeleinstellsignal abgibt. In entsprechender Weise hat der zweite Amplitudendifferenzverstärker 124 Eingänge, die mit der zweiten Amplitudenleitung 97 und auch mit dem Ausgang der Gleichspannung-Referenzeinheit 130 verbunden sind. Der zweite Amplituden-Referenzverstärker 124 gibt einen Amplitudenfehler ab, welchen er von dem zweiten Integrator 126 erhalten hat, welcher seinerseits ein zweites Pegeleinstellsignal abgibt.
  • Der erste F-V-Umsetzer 134 erhält das originalfrequenz-Referenzsignale über die Frequenz-Eingabeleitung 91 und gibt dementsprechend eine erste Spannung ab. In 3B ist ein Blockdiagramm einer bevorzugten Ausführungsform des ersten F-V-Umsetzers 34 dargestellt, welcher vorzugsweise ein Hochpaßfilter 150 mit einer Durchlaßcharakteristik, wie sie dargestellt ist, einen Scheitelwert-Detektor 152, einen Ausgangspuffer 154 und einen Kondensator 158 hat. Die Sperrbandflanke des Hochpaßfilters ist vorzugsweise so festgelegt, wie in 3B dargestellt, wobei fre f die Frequenz ist, die von dem Referenzoszillator 70 abgegeben worden ist.
  • Der zweite F-V-Umsetzer 136 hat vorzugsweise einen Aufbau und eine Durchlaßcharakteristik, welche identisch mit derjenigen des ersten F-V-Umsetzers 134 ist. Zusammen mit dem ersten Begrenzer 132 erhält der zweite F-V-Umsetzer 136 die erste in der Leistung reduzierte Version des in Phase liegenden Referenzsignals über die Energie-Überwachungsleitung 93 und gibt eine zweite Spannung in herkömmlicher Weise ab. Der Frequenz-Differenzverstärker 138 gibt ein Spannungsfehlersignal ab, das einen Spannungsfehler zwischen der ersten und der zweiten Spannung anzeigt, und erzeugt folglich einen spannungsindizierten Frequenzfehler zwischen den Signalen, die an die Eingänge der beiden F-V-Umsetzer 134 und 136 angelegt sind. Der Frequenzfehlerintegrator 140 erhält das Ausgangssignal des Frequenzdifferenzverstärkers 138 und gibt ein zweites Abstimmsignal ab.
  • Jeweils das erste und das zweite Pegeleinstellsignal und das zweite Abstimmsignale werden von der Kalibriersteuereinheit 90 abgegeben und über die zweite Kalibrierleitung 51 an den System-QRO 72 abgegeben. Wie vorstehend erwähnt, gibt die Kalibriersteuereinheit 90 zusätzlich ein synchronisiertes POR-Signal ab, um dadurch das Rücksetzausgangssignal für die Master-Zeitbasiseinheit zu bilden. Das synchronisierte POR-Signal wird über den POR-Integrator 142 und die beiden Flip-Flops 144 und 146 erzeugt. Der POR-Integrator 142 erzeugt ein frühes Tastsignal, das anzeigt, wenn eine Systemversorgungsspannung sich auf einen vorherbestimmten Pegel im Anschluß an einen POR-Zustand stabilisiert hat.
  • In 3C ist ein Blockdiagramm einer bevorzugten Ausführungsform des Energieeinschalt-/Rücknetz-Integrators 142 dargestellt. Der POR-Integrator 142 weist einen ersten Differenzverstärker 160, einen ersten Fehlerintegrator 162, einen zweiten Differenzverstärker 164, einen zweiten Fehlerintegrator 166 und einen Vergleicher 168 auf. Der erste Differenzverstärker 160 hat einen ersten elektrisch mit Erde verbundenen Eingang, einen zweiten Eingang, der mit einem Spannungsausgang der Systemenergieversorgung 170 verbunden ist und einen Ausgang, der mit einem Eingang des ersten Fehlerintegrators 162 verbunden ist. Der zweite Differenzverstärker 164 hat einen ersten Eingang, der mit dem Spannungsausgang der Systemenergieversorgung 170 verbunden ist, einen zweiten Eingang, der mit dem Ausgang des ersten Fehlerintegrators 162 verbunden ist, und einen Ausgang, der mit einem Eingang des zweiten Fehlerintegrators 166 verbunden ist. Schließlich hat der Vergleicher 168 einen ersten Eingang, der mit dem Ausgang des ersten Fehlerintegrators 162 verbunden ist, und einen zweiten Eingang, der mit dem Ausgang des zweiten Fehlerintegrators 166 verbunden ist. Der Vergleicher 168 hat zusätzlich einen Ausgang, welcher den Ausgang des POR-Integrators-142 darstellt.
  • Der erste Differenzverstärker 160 mißt den Anstieg der Systemenergieversorgungsspannung relativ zu dem Erdpotential, was in 3c mit V1 bezeichnet ist. Der erste Integrator 162 gibt eine integrierte Version von V1 ab, und folglich mißt der zweite Differenzverstärker 164 den Anstieg der Versorgungsspannung relativ zu der integrierten Version von V1, was in 3B als V2 dargestellt ist. Der zweite Integrator 166 gibt eine integrierte Version von V2 an den Vergleicher 168 ab. In der bevorzugten Ausführungsform ist die Zeitkonstante des ersten Integrators 162 viel kürzer als die Zeitkonstante des zweiten Integrators 166, nämlich beispielsweise um einen Faktor zehn. Fachleute erkennen, daß der exakte Wert der jeweiligen Zeitkonstante den Schaltungsbetrieb nicht kritisch beeinflußt. Der POR-Integrator 142 führt somit eine zweifache Integration der Energieversorgungsspannung bezüglich der Spannung in zwei deutlich getrennten Änderungsschritten durch. Der Vergleicher 168 erhält das Ausgangssignal von den beiden Integratoren 162 und 166 und gibt das frühzeitige Tastsignal ab, welches anzeigt, wenn sich die Energieversorgungsspannung stabilisiert hat oder ein Ändern gestoppt ist.
  • Jedes der Elemente in dem POR-Integrator 142 erhält vorzugsweise Energie von der Systemenergieversorgung. Übliche schaltende Energieversorgungen zeigen eine Schaltstufe bei annähernd 50 bis 70% der nominellen Ausgangsspannung. Fachleute erkennen, daß der Wert, bei welcher eine Ausgangsspannung einer schaltenden Energieversorgung ansteigt, in Abhängigkeit von einer Belastungsimpedanz etwas schwanken kann, und daß dieser Betrag im allgemeinen nach der Schaltstufe abnimmt. Die Fachleute verstehen jedoch auch, daß eine Schaltungsaktivität in dem POR-Integrator 142 beginnt, bevor die Systemenergieversorgungspannung ihren endgültigen Wert erreicht hat. Hierbei wird angenommen, daß die Schaltungsaktivität beginnt, wenn die Systemenergieversorgungsspannung annähernd 40% ihres endgültigen Werts erreicht hat, welcher bei annähernd 40% ihres endgültigen Werts erreicht hat, welcher bei einer üblichen Systemenergieversorgung von SV bei 2V liegt.
  • Die beiden Differenzverstärker 160 und 162 beginnen, Spannungsdifferenzen bei dem ersten Anlegen von Systemenergie zu messen, und der Spannungsanstieg an ihren Ausgängen hängt deutlich von dem Wert ab, bei welchem die Systemenergieversorgungsspannung ansteigt. Bis zum Beginn einer Schaltungsaktivität sorgt das Ausgangssignal des Vergleichers 168 für ein Ausgangssignal mit niedriger Impedanz und geringer. Spannung. Vorzugsweise ist der Vergleicher 168 so unter Vorspannung gesetzt, daß das Anlegen von Spannungen nahe bei Null an dessen Eingängen in Richtung zu dessen negativen Anschluß zu Beginn einer Schaltungsaktivität etwas gewichtet ist. Wenn die Versorgungsspannung bis auf einen Punkt angestiegen ist, an welchem die Schaltungsaktivität beginnt, stellen die von den beiden Integratoren 162 und 166 durchgeführten Integrationen sicher, daß ein anfängliches Schwanken der Versorgungsspannung merklich gedämpft wird. Die Zeitkonstantenbeziehung zwischen beiden Integratoren 162 und 166 stellt sicher, daß das Ausgangssignal des ersten Integrators 162 viel schneller ansteigt als das des zweiten Integrators 166. Wenn das Ausgangssignal des ersten Integrators 162 größer ist als das des zweiten Integrators 166, befindet sich der Vergleicher 168 in einem Zustand mit hoher Ausgangsleistung. Das Ausgangssignal des Vergleichers 168 steigt folglich wie eine langsame Schräge an, auf die der Anstieg der Versorgungsspannung folgt, nachdem die Schaltungsaktivität begonnen hat. Schließlich ist die Ausgangsspannung des ersten Integrators 162 auf einem Pegel gesättigt, der etwas niedriger ist als der Endwert der Energieversorgungsspannung.
  • Die Ausgangsspannung des zweiten Generators 166 steigt ständig an, bis die Energieversorgungsspannung durch eine zeitliche Änderung gestoppt hat. Folglich schaltet, sobald der Ausgangswert des zweiten Integrators 166 größer wird als der gesättigte Ausgang des ersten Integrators 162, der Ausgangswert des Integrators 168 auf einen Zustand niedriger Spannung, was anzeigt, daß sich die Systemenergieversorgungsspannung auf ihrem endgültigen Wert stabilisiert hat. Eine beispielhafte Wellenform, welche das frühzeitige Tastsignal darstellt, ist am Ausgang des Vergleichers 168 in 3C dargestellt. In der beispielhaften Ausführungsform sind der erste Differenverstärker 160 und der erste Integrator 162 zusammen durch einen einzigen National Semiconductor LM3900 Operationsverstärker ausgeführt. Das gleiche gilt für den zweiten Differenzverstärker 164 und den zweiten Integrator 166. Fachleute erkennen, daß der gesamte POR-Integrator 162 als eine einzige integrierte Schaltung in einer anderen Ausführungsform ausgeführt sein könnte.
  • In 3A ist der Frequenzfehler-Integrator 140 entsprechend geschaltet, um das frühe Tastsignal an einem Takteingang zu erhalten, um dadurch sicherzustellen, daß das zweite Abstimmsignal nur erzeugt wird, nachdem sich die Versorgungsspannung stabilisiert hat. Die beiden Flip-Flops 144 und 146 erhalten jeweils das frühe Tastsignal an einem Rücksetzeingang. Das erste Flip-Flop 144 ist entsprechend geschaltet, um das zweite Sperrsignal über die zweite Leitung 92 zu erhalten. Das zweite Flip-Flop 146 ist entsprechend gesteuert, um ein Ausgangssignal des ersten Flip-Flops 144 zu erhalten, und ein Ausgangssignal des zweiten Flip-Flops 146 schafft das synchronisierte POR-Signal. Schließlich hat jeder der beiden Flip-Flops 144 und 146 einen Takteingang, der mit einem Ausgang des ersten Begrenzers 132 verbunden ist.
  • Sobald das frühe Tastsignal einen scharfen Übergang zu einem Zustand niedriger Spannung macht, worauf die Stabilisierung der Systemversorgungsspannung folgt, werden die beiden Flip-Flops 144, 146 zurückgesetzt und geben vorzugsweise eine niedrige Spannung ab. Die beiden Flip-Flops 144, 146 werden mit der Frequenz des Systems QRO 72 getaktet. Hierbei ist angenommen, daß die Schaffung einer phasenstarren Verriegelung zwischen dem Referenzoszillator 70 und dem System-QRO 72 angezeigt wird, wenn das zweite Verriegelungssignal auf einen Zustand hoher Spannung übergeht. Fachleute erkennen, daß in einer weiteren Ausführungsform eine Phasenverriegelung (phase locking) durch einen Übergang auf einem Zustand niedriger Spannung angezeigt werden könnte. Sobald das zweite Sperrsignal anzeigt, daß die Phasenverriegelung erreicht worden ist, geht das Ausgangssignal des zweiten Flip-Flops 146, d.h. das synchronisierte POR-Signal auf einen Zustand hoher Spannung nach zwei System-QRO-Schwingungsperioden über, wodurch angezeigt ist, daß das CRS 3000 sich im Anschluß an einen POR-Zustand stabilisiert hat. Externe Komponenten des Systems benutzen vorzugsweise das synchronisierte POR-Signal als ein Verknüpfungssignal zum Steuern von POR-Operationen, obwohl die Fachleute erkennen, daß das synchronisierte POR-Signal auch für andere Operationen verwendet werden könnte.
  • Der System-QRO 72 erzeugt die in Phase liegenden und um 90° verschobenen Referenzsignale, welche in der bevorzugten Ausführungsform sinusförmig sind. Lt 3D ist ein Blockdiagramm einer bevorzugten Ausführungsform des Systemquadratur-Referenzoszillators (QRO) 72 dargestellt. Der System-QRO 72 weist vorzugsweise einen ersten Differenzverstärker 60, einen herkömmlichen Armstrong-HF-Oszillator 62 und einen Rückkopplungszweig 64 auf. Der Oszillator 62 weist vorzugsweise einen ersten Verstärker, einen Pufferverstärker, einen Varactor, einen Resonanzschwingungskreis, der einen mit einem Transformator verbunden Kondensator aufweist, und eine Anzahl Widerstände auf. Die Basis des ersten Transistors, ein Ausgang des Varactors und der Kondensator sind jeweils mit einer ersten Ausgangsleitung des Transformators verbunden. Der Kollektor des ersten Transistors ist über einen Widerstand mit einer Scheitelspannungsreferenz verbunden, die vorzugsweise durch die Systemenergieversorgung geschaffen ist. Zusätzlich ist der Kollektor des ersten Transistors mit einer zweiten Leitung des Transformators und mit einem Eingang des Pufferverstärkers verbunden, welcher das in Phase liegende Signal an den ersten Energieverteiler 78 in 2 abgibt.
  • Der Rückkopplungszweig 64 weist vorzugsweise eine zweiten. Transistor, eine Stromquelle, einen Pufferverstärker für eine um 90° verschobene Phase und eine Anzahl Widerstände auf. Die Emitter des ersten Transistors in dem Armstrong-Oszillator und des zweiten Transistors in dem Rückkopplungszweig 64 sind mit einem Eingang der Stromquelle verbunden. Die Basis des zweiten Transistors ist mit einem Spannungsteiler verbunden, und der Kollektor des zweiten Transistors ist mit einer Scheitelspannungsreferenz verbunden. Der Pufferverstärker für die um 90° verschobene Phase ist mit dem Kollektor des zweiten Transistors verbunden und gibt das um 90° phasenverschobene Referenzsignal an den zweiten Energieteiler 80 ab, wie in 2 dargestellt ist.
  • Der System QRO 72 erhält das erste Pegeleinstellsignal, das zweite Pegeleinstellsignal und das zweite Abstimmsignal über die zweite Kalibrierleitung 51. Jedes dieser Signale wird von der Kalibriersteuereinheit 90 in der vorstehend beschriebenen Weise erzeugt. Der Pufferspeicher für das in Phase liegende Signal ist entsprechend geschaltet, um das erste Pegeleinstellsignal zu erhalten. Dementsprechend ist der Pufferverstärker für das um 90° phasenverschobene Signal entsprechend geschaltet, um das zweite Pegeleinstellsignal zu erhalten. Der erste Differenzverstärker 60 erhält das erste Abstimmsignal über die erste Kalibrierleitung 77 und das zweite Abstimmsignale über die zweite Kalibrierleitung 51. Der erster Differenzverstärker 60 gibt ein Frequenz-Einstellsignal ab, das an die Basis des ersten Transistors, den Kondensator und eine Hälfte des Transformators über den Varactor abgegeben wird. Das Frequenzeinstellsignal bestimmt die Resonanzfrequenz des Resonanzkreises, welche wiederum die Frequenz der in Phase liegenden und der um 90° in der Phase verschobenen Referenzsignale festlegt.
  • Der erste Transistor bietet vorzugsweise eine ausreichende Verstärkung bei dem Anlegen der Systemenergie an, um dem Barkhausen-Schwingungskriterium zu genügen. Über den Rückkopplungszweig 64 ist der Armstrong-Oszillator 62 durch einen gemeinsamen Basisverstärker in einer wechselseitigen Rückkopplung plaziert. In dem Armstrong-Oszillator 62 schafft der erste Transistor eine Rückkopplung von 180°, und der Resonanz-Transformator schafft eine Rückkopplung von weiteren 180°. Fachleute erkennen, daß die Schwingung, die in den zweiten Transistor eingegeben wird, an dessen Emitter und nicht an dessen Basis anliegt. Folglich fungiert die Kombination aus dem ersten Transistor in dem Armstrong-Oszillator 62 und dem zweiten Transistor in dem Rückkopplungszweig 64 als ein Transkonduktanz-Verstärker. Folglich bleibt die Spannung an dem Kollektor des ersten Transistors in einer hinsichtlich der Phase um 90° verschobenen Beziehung bezüglich der Spannung am Kollektor des zweiten Transistors.
  • In einer beispielhaften Ausführungsform ist der System-QRO 72 mit Hilfe von Motorola MPSH10-Transistoren (Motorola, Inc., Schaumburg, IL) eines Motorola MV20S-Varactors und durch Ferritkerne (von Amidon & Associates, Santa Ana, CA) ausgeführt. Fachleute erkennen, daß der System-QRO 72 auch als ein anderer Quadratur-Oszillator in einer weiteren Ausführungsform ausgeführt sein könnte. In der Erfindung ist der System-QRO 72 vorzugsweise dadurch gekennzeichnet, daß er einen Bereich mit Betriebsfrequenzen und einer Mittenfrequenz in diesem Betriebsfrequenzbereich hat, wobei der dynamische Frequenzbereich des System-QRO 72 kleiner als oder gleich 2:1 ist.
  • Die bevorzugte Ausführungsform des CRS 30, wie sie in 2A und 3A bis 3D beschrieben ist, ist verwendbar, um Signale mit Frequenzen von bis zu etwa 1,0 GHz zu erzeugen, d.h. Frequenzen bis in den mittleren Bereich des UHF-Bandes. Falls eine Ausführungsform der Erfindung mit tiefen Frequenzen von etwa 300 MHz betrieben wird, ist eine einfachere Ausführung des CRS 30 möglich, was nachstehend anhand von 2B beschrieben wird.
  • In 2B ist ein Blockdiagramm einer zweiten Ausführungsform eines kalibrierten Referenzsystems 31 dargestellt. In 2A und 2B sind zum leichteren Verständnis die gleichen Bezugszeichen verwendet. Die zweite Ausführungsform des CRS 31 weist einen Kristallfrequenz-Referenzoszillator 70, einen System-Referenzoszillator 73, einen ersten Phasendetektor 74, ein erstes Schleifenfilter 76, einen ersten Energieteiler 78, einen zweiten Energieteiler 80, erste und zweite Verteilungsverstärker 82 und 84 und eine Kalibriersteuereinheit 90 auf. In der zweiten Ausführungsform des CRS 31 ist das erste Systemreferenzsignal unmittelbar von einer ersten hinsichtlich der Leistung geteilten Version des ursprünglichen Frequenzreferenzsignals abgeleitet, das von dem kalibrierten Frequenzreferenzoszillator 73 abgegeben worden ist. Der Oszillator 73 weist vorzugsweise einen herkömmlichen sinusförmigen Oszillator auf. Der ersten Phasendetektor 74 und das zwischen einer zweiten in der Leistung geteilten Version des ursprünglichen Frequenzreferenzsignals und einem um 90° in der Phase verschobenen Signals aufrechtzuerhalten, das von dem Oszillator 73 abgegeben worden ist. Folglich schafft die in 2B dargestellte phasenstarre Schleife die geforderte Beziehung hinsichtlich einer Phasenverschiebung von 90°. Das zweite Systemreferenzsignal wird von einer in der Leistung geteilten Version des um 90° in der Phase verschobenen Signals erzeugt.
  • Wie bei dem System-QRO 27 ist der Oszillator 73 vorzugsweise dadurch gekennzeichnet, daß er einen Bereich von Betriebsfrequenzen und eine Mittenfrequenz in diesem Betriebsfrequenzbereich hat. Der dynamische Frequenzbereich des Systemreferenzoszillators 73 ist vorzugsweise kleiner als oder gleich 2:1.
  • In den 1 bis 3D erzeugen die Elemente in dem CRS 30 die ersten und zweiten Systemreferenzsignale in der vorbeschriebenen Weise. In der bevorzugten Ausführungsform sind die ersten und zweiten Systemreferenzsignale sinusförmige Signale, die hinsichtlich ihrer Frequenz um 90° in der Phase verschoben sind. Folglich wird die Beziehung zwischen den ersten und zweiten Systemreferenzsignalen dazu verwendet, ein Systemreferenzsignal-Protokoll festzulegen. In 13A ist ein Wellenformdiagramm dargestellt, das ein bevorzugtes Systemreferenzsignal-Protokoll zeigt. In 13A ist das erste Systemreferenzsignal als "cos" und das zweite Systemreferenzsignal als "sin" gekennzeichnet. In dem bevorzugten Systemreferenzsignal-Protokoll ist die Amplitude der beiden Signale als (2n*Vm) definiert. Hierbei ist n als 2 festgelegt, und folglich haben die beiden Systemreferenzsignale Amplituden, die gleich 4Vm sind. In 13A ist 4Vm der Einfachheit halber als eine Scheitelwert-zu-Scheitelwert-Amplitude dargestellt. Wie im einzelnen unten noch anhand von 5B beschrieben wird, haben, wenn die ersten und zweiten Systemreferenzsignale moduliert werden, die sich ergebenden Signale Amplituden, die gemäß Vm-Inkrementen zwischen Vm und (2n*Vm) liegen. Vm ist folglich ein Amplitudenmodulationsinkrement. Fachleute erkennen, daß exakte Werte von Vm und n von der Bemessungswahl abhängt, was im einzelnen ebenfalls unten noch beschrieben wird. In der bevorzugten Ausführungsform ist 4Vm gleich 13,0dBm.
  • In dem bevorzugten Systemreferenzsignal-Protokoll sind eine Anzahl Unterperioden innerhalb einer einzigen Periode für jedes der beiden Systemreferenzsignale festgelegt. Für das erste Systemreferenzsignal sind die Unterperioden in der in 13A dargestellten Weise mit R, S, T und U bezeichnet. Für das zweite Systemreferenzsignal sind die Unterperioden mit A, B, C und D bezeichnet. Jede Unterperiode stellt folglich ein Viertel einer Referenzsignalperiode dar, d.h. ein Phasenintervall von π/2. Die Unterperioden R, S, T und U für das erste Systemreferenzsignal sind in 13A unter dem zweiten Systemreferenzsignal dargestellt, da diese Unterperioden Zeitereignisse festlegen, die dem zweiten Systemreferenzsignal zugeordnet sind, wie unten noch im einzelnen beschrieben ist. In ähnlicher Weise legen die Unterperioden A, B, C und D für das zweite Systemreferenzsignal Zeitereignisse fest, die dem ersten Systemreferenzsignal zugeordnet sind und sind daher über dem ersten Systemreferenzsignal der 13a dargestellt. Das Zeitintervall, das jeder Unterperiode entspricht, ist in 13A als "H" definiert. Der Fachmann erkennt, daß das bevorzugte Systemreferenzsignal-Protokoll unabhängig von einer bestimmten betrachteten Frequenz gültig bleibt, da jede Unterperiode und folglich das Zeitintervall H ein autoadaptiver Parameter bezüglich der Frequenz ist. Die Operationen, die mittels des Modulators 32 und Elementen in jeder lokalen Zeitbasiseinheit 22 durchgeführt worden sind, werden unten bezüglich des bevorzugten Systemreferenzsignal-Protokolls beschrieben.
  • Die ersten und zweiten Systemreferenzsignale schaffen somit eine systemweite Zeitsteuerreferenz, die auf jede lokale Zeitbasiseinheit 22 über den Systembus 14 verteilt wird. Über den Modulator 32 und MSM 34 sorgt die vorliegende Erfindung zusätzlich für die Verteilung von Nachrichtenübermittlungssignalen an jede lokale Zeitbasiseinheit 22 in einer nachstehend im einzelnen beschriebenen Weise.
  • MSM 34 ist vorzugsweise eine Zustandseinrichtung, welche Nachrichtensignale in ein erstes und in ein zweites Informationssignal umwandelt. In 4A ist ein Blockdiagramm einer bevorzugten Ausführungsform der Modulationszustandseinrichtung (Modulation State Machine-MSM) 34 dargestellt. Die MSM 34 weist einen Begrenzer 700 für das in Phasen liegende Signal, einen Begrenzer 702 für ein um 90° in der Phase verschobenes Signal, einen FIFO-Puffer 720, eine Zustandseinrichtung-Logikeinheit 730, einen ersten und einen zweiten Digital-Analog-(D/A-)Umsetzer 740 bzw. 742 auf. Die beiden Begrenzer 700 und 702 sind entsprechend geschaltet, um das erste bzw. zweite Systemreferenzsignal von dem CRS 30 aufzunehmen. In der bevorzugten Ausführungsform fühlt der Begrenzer 700 Nulldurchgänge in dem ersten Systemreferenzsignal und der Begrenzer 702 fühlt Nulldurchgänge in dem zweiten Systemreferenzsignal. Der Begrenzer 700 gibt ein irr Phase liegendes Taktsignal, das in 4A mit ICLK bezeichnet ist, an einen ersten Takteingang der Logikeinheit 730 in herkömmlicher Weise ab. Bei einem analogen Vorgang gibt der Begrenzer 702 ein um 90° in der Phase verschobenes Taktsignal, das in 4A mit QCLK bezeichnet ist, an einen zweiten Takteingang der Logikeinheit 730 ab. Bei einem analogen Vorgang gibt der Begrenzer 702 ein um 90° in der Phase verschobenes Taktsignal, das in 4A mit QCLK bezeichnet ist, an einen zweiten Takteingang der Logikeinheit 730 ab. Die beiden Taktsignale ordnen sequentiell die von der Logikeinheit 730 durchgeführten Operationen in einer Weise zu, die im einzelnen nachstehend anhand von 4B beschrieben wird. Die beiden Taktsignale sind synchron mit den beiden Systemreferenzsignalen, um dadurch sicherzustellen, daß die Umwandlung von Nachrichtenübermittlungssignalen in die ersten und zweiten Informationssignale synchron mit den ersten und zweiten Systemreferenzsignalen ist.
  • Der FIFO-Puffer 720 ist vorzugsweise herkömmlich und enthält folglich eine FIFO-Ladeschaltung und eine FIFO-Ausgabeschaltung. Der FIFO-Puffer 720 ist entsprechend geschaltet, um Nachrichtensignale über die erste Nachrichtenleitung 40 aufzunehmen. Die Nachrichtensignale enthalten vorzugsweise Datensignale, die an einem Dateneingang des FIFO-Puffers 720 empfangen worden sind und ein FIFO-Ladesignal, das an einem ersten Takteingang des FIFOPuffers 720 empfangen worden ist. Das FIFO- Ladesignal taktet das Laden von Datensignalen in den FIFO-Puffer 720 in herkömmlicher Weise. In 4A sind die Datensignale so dargestellt, daß sie 8 Bits überspannen. Der Fachmann erkennt, daß in einer weiteren Ausführungsform die Datensignale im Hinblick auf Bemessungsüberlegungen, die unten im einzelnen noch erläutert werden, zusätzliche oder weniger Signale überspannen können.
  • Die Logikeinheit 730 hat einen Dateneingang, um Datensignale von einem Datenausgang des FIFO-Puffers 720 aufzunehmen. Die Logikeinheit 730 hat auch einen Taktausgang, um ein FIFO-Ausgangssignal, das in 4A als RCLK gekennzeichnet ist, an einen zweiten Takteingang des FIFO-Puffers 720 zu liefern. Das FIFO-Ausgangssignal taktet die FIFO-Ausgabeschaltung in herkömmlicher Weise und steuert folglich die Übertragung von Datensignalen von dem FIFO-Puffer 720 in die Logikeinheit 730. Die Logikeinheit 730 hat zusätzlich einen Zustandseingang, um ein FIFO-Zustandssignale, das in 4A als EMT/DVAL gekennzeichnet ist, von einem Zustandsausgang des FIFO-Puffers 720 aufzunehmen. Das FIFO-Zustandssignal zeigt vorzugsweise an, ob der FIFO-Puffer 720 leer ist.
  • Die Logikeinheit 730 lädt Datensignale von dem FIFO-Puffer 730, setzt geladene Datensignale in eine erste und eine zweite Bitfolge um und gibt die beiden Bitfolgen an den ersten bzw. zweiten D/A-Umsetzer 740 und 742 ab. Die beiden Taktsignale ordnen sequentiell die Operationen zu, die von der Logikeinheit 730 durchgeführt worden sind. In 4B ist ein Blockdiagramm einer bevorzugten Ausführungsform der Zustandseinrichtung Logikschaltung 730 dargestellt. Die Logikeinheit 730 weist ein Halteregister 800, einen Multiplexer 802, ein erstes Signalgate 804, ein zweites Signalgate 806, ein Flip-Flop 810 für ein in Phase liegendes niedrigstwertiges Bit (LSB), ein Flip-Flop 812 für ein in Phase liegendes höchstwertiges Bit (MSB), einen Flip-Flop 814 für ein um 90° verschobenes LSB, ein Flip-Flop 118 für ein um 90° in der Phase verschobenes MSB und einen Zuordner 820 auf. Der Zuordner 820 erhält das um 90° phasenverschobene Taktsignal QLCK und das FIFO-Zustandssignal EMT/DVAL und erzeugt wiederum Steuersignale, welche die Operation anderer Elemente in der Logikeinheit 730 leiten. Wie in 4B dargestellt, erzeugt der Zuordner 820 das FIFO-Ausgangssignal RCLK, ein LCLK-Signal, welches das Laden von Datensignalen in das Halteregister 800 taktet, ein Verschachtelungssignal, das den Leitweg von Signalen von Multiplexer-Eingängen zu Multiplexer-Ausgängen steuert, ein FREI-Signal, das die Operation der beiden Signalgates 804 und 806 steuert, und ein Freigabe-Signal, welches die Operation jedes LSB- und MSB-Flip-Flops 810, 814, 812, 816 in der Zustandslogik 730 freigibt. Der Zustand des Freigabesignals hängt von den Zuständen von QCLK, EMT/DVAL, LCLK und IDLE in der dargestellten Weise ab. Wie aus 4A ersehen werden kann, ist jedes Signal, das in dem Zuordner 820 erzeugt worden ist, in Beziehung zu QICK gebracht. Die detaillierten Operationen, die in der Logikeinheit 730 durchgeführt worden sind, werden nachstehend entsprechend der Zeitsteuerbeziehung zwischen ICLK, QCLK, LCLK, RCLK, VERSCHACHTELN, FREIGEBEN und FREI beschrieben.
  • In 4C ist ein bevorzugtes Zeitsteuerdiagramm für den Zuordner 820 dargestellt. Wie in 4C dargestellt, sind ICLK und QCLK um 90° in der Phase verschobene Rechteckwellen-Signale. Der FIFO-Puffer 720 gibt einen Satz Datensignale in durch RCLK festgesetzten Intervallen ab. Sobald ein vorgegebener Satz Datensignale von dem FIFO-Puffer 720 abgegeben ist, taktet LCLK das Laden dieses Satzes Datensignale in das Halteregister 800. Die Datensignale, die in dem Halteregister 800 getaktet sind, erscheinen anschließend an Halteregister-Ausgängen und werden an Eingänge des Multiplexers 802 abgegeben. Der Multiplexer 802 leitet eine erste Untergruppe oder eine zweite Untergruppe der Datensignale zu dessen. Ausgängen entsprechend dem Wert des Verschachtelungssignals. Vorzugsweise überspannen die ersten und zweiten Datensignal-Untergruppen eine Hälfte der Anzahl Bits, die von einem Satz Datensignale überspannt sind. Für die 8 Bit Sätze von Datensignalen, wie sie hier betrachtet worden sind, weist die erste Datensignal-Untergruppe vorzugsweise die vier Bits niedrigster Ordnung in einem vorgegebenen Satz Datensignale auf und sie wird zu dem Multiplexer-Ausgängen geleitet, wenn sich das Verschachtelungssignal in einem niedrigen Zustand befindet. Die zweite Datensignal-Untergruppe weist die vier Bits höchster Ordnung in dem 8 Bit Satz von Datensignalen auf und wird zu Multiplexer-Ausgängen geleitet, wenn sich das Verschachtelungssignal in einem hohen Zustand befindet.
  • Das erste Signalgate 804 ist entsprechend geschaltet, um die Multiplexer-Ausgangssignale aufzunehmen. Folglich erhält entsprechend dem Wert des Verschachtelungssignals das erste Signalgate 804 entweder die erste oder die zweite Datensignal-Untergruppe. Das zweite Signalgate 806 ist entsprechend geschaltet, um einen vorherbestimmten Freicode aufzunehmen, welcher entsprechend einem Kennzeichnungsplan definiert ist, wie unten im einzelnen anhand von 5B noch beschrieben wird. Wie aus 4B zu ersehen ist, ist der Freicode in der bevorzugten Ausführungsform 0101.
  • Der Zustand des Freisignals legt fest, ob 1) eine Datensignal-Untergruppe, die von dem Multiplexer 802 ausgegeben worden ist, oder 2) der Freicode zu den LSB- und MSB-Flip-Flops 810, 814, 812, 816 der Logikeinheit geleitet wird. In der bevorzugten Ausführungsform wird die Datensignal-Untergruppe zu den LSB-MSB-Flip-Flops 810, 814, 812, 816 über das erste Signalgate 804 geleitet, während sich das Signal FREI in einem niedrigen Zustand befindet. Folglich wird, während sich das Signal FREI in einem niedrigen Zustand befindet, die erste Datensignal-Untergruppe zu den LSB- und MSB-Flip-Flops 810, 814, 812, 816 der Logikeinheit während der Zeit geleitet, in welcher sich das Verschachtelungssignal in einem niedrigen Zustand befindet, und die zweite Datensignal-Untergruppe wird zu den LSB- und MSB-Flip-Flop 810, 814, 812, 816 der Logikeinheit während der Zeit geleitet, während welcher sich das Verschachtelungssignal in einem hohen Zustand befindet. Während sich das Signal FREI in einem hohen Zustand befindet, wird der Freicode zu den vorerwähnten Flip-Flops 810, 814, 812, 816 über das zweite Signalgate 806 geleitet. Die in Phase liegenden und um 90° in der Phase verschobenen LSB- und MSB-Flip-Flops 810, 812, 814 und 816 geben die ersten und zweiten Bitfolgen an die ersten und zweiten D/A-Umsetzer 740, 742 der 4A ab, wie später noch beschrieben wird.
  • Jedes der beiden Signalgates 804 und 806 hat einen ersten bis vierten Ausgang, der jeweils mit einem Eingang des In-Phase-Flip-Flops 810, mit einem Eingang des In-Phase-MSB-Flip-Flops 812, mit einem Eingang des Außer-Phase-LSB-Flip-Flops 814 und mit einem Eingang des Außer-Phase-LSB-Flip-Flops 816 verbunden sind. Die LSB- und MSB-Flip-Flops 810, 812 erhalten folglich ein erstes bzw. zweites Bit in jeder einer vorgegebenen Datensignaluntergruppe oder in dem Freicode. Jedes der LSB- und MSB-Flip-Flops 810, 812 empfängt LCLK an einem Takteingang. Die LSB- und MSB-FIip-Flops haben jeweils einen Eingang, welcher die erste Bitfolge an dem ersten D/A-Umsetzer 740 der 4A zeigt. Bei einem analogen Vorgang erhalten bis zu dem Vorgang für die LSB- und MSB-Flip-Flops 810, 812 die LSB- und MSB-Flip-Flops 814, 816 ein drittes bzw. ein viertes Bit in jeder einer vorgegebenen Datensignal-Untergruppe oder dem Freicode. Jedes der LSB- und MSB-Flip-Flops 814, 816 erhält QCLK an einem Takteingang. Zusammengenommen geben somit die LSB- und MSB-Flip-Flops 814, 816 die zweite Bitfolge an den zweiten MSM-D/A-Umsetzer 742 ab. Folglich ist das Ausgangssignal der ersten Bitfolge durch die LSB- und MSB-Flip-Flops 810, 812 synchron mit ICLK, und das Ausgangssignal der zweiten Bitfolge von den LSB- und MSB-Flip-Flops 814, 816 ist synchron mit QCLK.
  • Der Fachmann erkennt, daß während sich Verschachtelungs- und IDLE-Signale in einem niedrigen Zustand befinden, takten ICLK und QCLK Bits in der ersten Datensignal-Untergruppe in die Flip-Flops 810, 812, 814 bzw. 816 der Logikeinheit. Ferner weisen, wenn sich das Signal VERSCHACHTELN und das Signal FREI in einem niedrigem Zustand befinden, die ersten und zweiten Bitfolgen spezielle Bits in der ersten Datensignal-Untergruppe auf. Bei einem analogen Vorgang takten, wenn das Signal VERSCHACHTELN sich in einem hohen Zustand befindet und das Signal FREI sich in einem niedrigen Zustand befindet, ICLK und QCLK Bits in der zweiten Datensignal-Untergruppe in die Flip-Flops 810, 812, 814 bzw. 816 der Logikeinheit, und folglich weisen die ersten und zweiten Bitfolgen ganz bestimmte Bits in der zweiten Datensignal-Untergruppe auf.
  • Im Anschluß an einem Übergang eines Signals FREI in einen hohen Zustand weisen die ersten und zweiten Bitfolgen Bits in dem Freicode auf. Wie in 4B dargestellt, ergibt sich ein Übergang von niedrig auf hoch im EMT/DVAL in einem Zeitintervall, bei welchem niedrig auf hoch im EMT/DVAL in einem Zeitintervall, bei welchem sich das Signal FREI in einem hohen Zustand befindet, wie nunmehr beschrieben wird. Während der FIFO-Puffer 720 Datensignale enthält, ist EMT/DVAL in einem niedrigen Zustand. Ein EMT/DVAL-Übergang in einen hohen Zustand zeigt an, daß ein letzter Satz Datensignale von dem FIFO-Puffer 720 abgegeben worden ist. Im Anschluß an einen derartigen Übergang verbleibt das Signal FREI in einem niedrigen Zustand, bis 1) die ersten und zweiten Bit folgen, die von der ersten Datensignal-Untergruppe in dem letzten Satz Datensignale erzeugt worden sind, von den Flip-Flops 810, 812, 814, 816 der Logikeinheit abgegeben worden sind, und bis 2) die ersten und zweiten Bitfolgen, die von der zweiten Datensignal-Untergruppe aus in dem letzten Satz Datensignale erzeugt worden sind, von den Flip-Flops 810, 812, 814 und 816 abgegeben worden sind. Nachdem die zweite Datensignal-Untergruppe als die ersten und zweiten Bitfolgen abgegeben worden sind, geht das Signal FREI in einen hohen Zustand über. Der Freicode wird anschließend in den Flip-Flops 810, 812, 814 und 816 getaktet. Sobald die ersten und zweiten Bildfolgen den Freicode aufweisen, geht das Signal FREI auf einen niedrigen Zustand über, wodurch das Signal FREIGEBEN einen Übergang in einen niedrigen Zustand bewirkt. In der bevorzugten Ausführungsform wird das Signal FREIGEBEN an einen Freigabeeingang jedes Flip-Flops 810, 812, 814, 816 abgegeben, um dadurch ein weiteres Eingeben in diese Flip-Flops 810, 812, 814 und 816 zu sperren. Wie in 4B dargestellt, bewirkt ein Zustand hoch-niedrig in EMT/DVAL, was anzeigt, daß der FIFO-Puffer 720 wieder einmal Datensignale enthält, daß das Signal FREIGEBEN in einen hohen Zustand übergeht, was durch LCLK getaktet worden ist, um dadurch einen weiteren Flip-Flop-Eingang freizugeben.
  • Unabhängig davon, ob die ersten und zweiten Bitfolgen aus der ersten Datensignal-Untergruppe, der zweiten Datensignal-Untergruppe oder dem Freicode erzeugt werden, erkennt der Fachmann, daß die ersten und zweiten Bitfolgen infolge der 90°-Phasenverschiebung zwischen ICLK und QCLK durch das in 13A dargestellte Zeitintervall H zeitlich versetzt sind.
  • In der bevorzugten Ausführungsform überspannen die ersten und zweiten Bitfolgen jeweils zwei Bits. Das bedeutet, die erste Bitfolge ist ein Dibit und die zweite Bitfolge ist ein zweites Dibit. Der Fachmann erkennt, daß die ersten und zweiten Bitfolgen in einer weiteren Ausführungsform auch zusätzliche oder weniger Bits überspannen könnten.
  • Vorzugsweise hängt die Anzahl Bits, die durch die ersten und zweiten Bitfolgen überspannt worden sind, von den Kenndaten des Modulators 32 ab, wie im einzelnen unten noch beschrieben wird. Die Logikeinheit 730 gibt das erste Dibit an den ersten D/A-Umsetzer 740 und das zweite Dibit an den zweiten D/A-Umsetzer 742 ab. Jeder der beiden D/A-Umsetzer 740, 742 hat einen Referenzeingang, der vorgesehen ist, um das Gleichspannungs-Referenzausgangssignal von der Kalibriersteuereinheit 90 der 3A über die Referenzleitung 750 zu erhalten. Der erste D/A-Umsetzer 740 führt eine zusätzliche D/A-Pegelumsetzung durch, um das erste Dibit in das erste Informationssignal umzuwandeln. In ähnlicher Weise setzt der zweite D/A-Umsetzer 742 das zweite Dibit in das zweite Informationssignal eine herkömmliche D/A-Pegelumwandlung um. Eine bevorzugte Art und Weise, auf welche die Amplitude der ersten und zweiten Informationssignale entsprechend den ersten und zweiten Dibits ändert, wird nachstehend im einzelnen beschrieben.
  • Durch Definition entspricht eine Bitfolge die "n"-Bits überspannt, einer Binärzahl "b" mit einem Wert zwischen 0 und (2n-1) . In der bevorzugten Ausführungsform hat jedes Informationssignal 2n mögliche Amplitudenwerte, welche nacheinander in gleichen Amplituden-Inkrementen überspannt werden. Jeder mögliche Amplitudenwert entspricht einem eindeutigen Bitmuster in einer Bitfolge. In der bevorzugten Ausführungsform ist die erste Bitfolge ein Dibit (d.h. n = 2), wie in der zweiten Bitfolge. Folglich hat jedes Informationssignal vier mögliche Amplitudenwerte in der bevorzugten Ausführungsform. Zu einem vorgegebenen Zeitpunkt entspricht die Spannungsamplitude jedes Informationssignals einer der Dibit-Folgen <00>, <01>, <10> oder <11>.
  • Der Fachmann erkennt, daß im allgemeinen die MSM 34 eine Zustandseinrichtung ist, welche die Funktion durchführt, Nachrichtensignale in ein erstes und eines Informationssignal umzuwandeln. Folglich versteht der Fachmann ohne weiteres, daß auch andere Ausführungen der MSM 34 möglich sind.
  • Der Modulator 32 moduliert das erste und zweite Systemreferenzsignal entsprechend den ersten und zweiten Informationssignalen, die von der MSM 34 erhalten worden sind. In der bevorzugten Ausführungsform weist der Modulator 32 einen in der Verstärkung geregelten Verstärker auf, um eine direkte Trägeramplitudenmodulation (AM) an dem ersten Systemreferenzsignal durchzuführen, und weist einen hinsichtlich der Verstärkung geregelten Verstärker auf, um eine direkte Träger-AM bei dem zweiten Systemreferenzsignal durchzuführen.
  • In 5A ist ein Blockdiagramm einer bevorzugten Ausführungsform eines ersten in der Verstärkung geregelten Verstärkers 1000 zum Modulieren des ersten Systemreferenzsignals dargestellt. Der Verstärker 1000 weist ein Vorspannungsnetz 1002, ein Referenzsignal-Skaliernetz 1004, ein Entkopplungsnetz 1006, ein Informationssignale-Skaliernetz 1008, einen ausgeglichenen (balanced) Modulator 1010, einen Widerstand 1012, ein Ausgangsnetzwerk 104 und einen Pegelverschiebe/Verstärkungsblock 1016 auf. Das Vorspannungsnetz 1002 und das Entkopplungsnetz 1004 sind mit einer positiven bzw. einer negativen Spannungsreferenz verbunden. Das Referenzsignal-Skaliernetz 1004 ist vorgesehen, um das erste Systemreferenzsignal aufzunehmen, und das Informationssignal-Skaliernetz 1008 ist vorgesehen, um das erste Informationssignal zu empfangen. Der ausbalancierte Modulator 1010 erhält ein Ausgangssignal des Entkopplungsnetzes 1006 sowie ein hohes und ein niedriges Trägersignal, das von dem Referenzsignal-Skaliernetz 1004 abgegeben worden ist und ein hohes und ein niedriges Modulationssignal, das von dem Informationssignal-Skaliernetz 1008 abgegeben worden ist. Der Modulator 1010 ist vorzugsweise ein herkömmlicher ausgeglichener bzw. ausbalancierter Modulator, um eine direkte Träger-Amplitudenmodulation (AM) an dem ersten Systemreferenzsignal durchzuführen. Bei der direkten Träger-AM wird die Amplitude des ersten Systemreferenzsignals entsprechend der Amplitude des ersten Informationssignals mit einer Rate codiert, die gleich der Periode des ersten Systemreferenzsignals ist. Eine direkte Träger-AM unterscheidet sich drastisch von einer herkömmlichen AM, bei welcher eine Trägersignal-Amplitude kontinuierlich mit Amplitudenänderungen moduliert wird, die über eine Periode des modulierenden Signals auf treten.
  • Der ausgeglichene Modulator 1010 gibt ein Modulationssummensignal und eine Modulationsdifferenzsignal an einen ersten und einen zweiten Eingang des Pegelverschie be/Verstärkungsblocks 1016 ab, wie es von dem Ausgangsnetz 1014 skaliert ist. Der Block 1016 schafft das erste Ausgangssignal des Modulators 32. In einer beispielhaften Ausführungsform ist der ausgeglichene Modulator 1010 ein ausgeglichener Motorola MC1596-Modulator und der Pegelschiebe/Verstärkungsblock 1016 ist mit Hilfe eines National Semiconductor LM6264-Operationsverstärker ausgeführt.
  • In der bevorzugten Ausführungsform weist der Modulator 32 auch einen zweiten (nicht dargestellten) hinsichtlich seiner Verstärkung geregelten Verstärker auf, um eine direkte Träger-AM an dem zweiten Systemreferenzsignal gemäß dem zweiten Informationssignal durchzuführen. Der zweite verstärkungsgeregelte Verstärker hat einen inneren Aufbau, welcher mit demjenigen des ersten Verstärkers 1000 identisch ist und ist vorgesehen, um das zweite Systemreferenzsignal und das zweite Informationssignal in einer weise aufzunehmen, welche für den Fachmann ohne weiteres zu verstehen ist.
  • Wie vorstehend beschrieben, sind die ersten und zweiten Informationssignale jeweils durch vier Amplitudenwerte in der bevorzugten Ausführungsform gekennzeichnet. Die möglichen Amplituden der ersten und zweiten modulierten Systemreferenzsignale sind 1Vm, 2VM, 3Vm und 4 Vm. Das Ampltituden-Inkrement für modulierte Systemreferenzsignale ist daher Vm.
  • In 13B ist zum besseren Verständnis ein Wellenformdiagramm eines bevorzugten Systemreferenzsignals-Modulationsprotokoll dargestellt. Die möglichen Amplituden der ersten und zweiten modulierten Systemreferenzsignale sind diskrete ganzzahlige Vielfache von Vm bis zu einem Maximum von 4Vm. Wie in 13A dargestellt, ist jedes Vielfache von Vm zum besseren Verständnis als eine Scheitelwert-zu-Scheitelwert-Amplitude dargestellt. Die Folge von in 13B dargestellten Amplitudenänderungen ist nur beispielhaft; d.h. für jedes der ersten und zweiten modulierten Systemreferenzsignale können Dibits irgendeiner Reihenfolge sequentiell angeordnet werden, um eine entsprechende Folge von Amplitudenänderungen zu erzeugen.
  • In der bevorzugten Ausführungsform sind die Werte von 1Vm, 2Vm, 3Vm und 4Vm als Energieverhältnisse definiert, die Werte von 0,91dBm, 6,93dBm, 10,4dBm und 13,0dBm haben. Der Fachmann erkennt, daß diese Energieverhältnisse 1Vm einer Amplitude von 0,25Vrms oder 0,70Vp-p, 2Vm mit einer Amplitude von 0,50Vrms oder 1,41Vp-p, 3Vm mit einer Amplitude von 0,75Vrms oder 2,12Vp-p und 4Vm mit einer Amplitude von 1,00Vrms oder 2,81Vp-p für die ersten und zweiten Leitungen 16 und 18 des Systembus 14 entsprechen, der durch eine 50 Ohm-Impedanz gekennzeichnet ist. Der Fachmann erkennt, daß in einer anderen Ausführungsform der exakte Wert von Vm unterschiedlich festgelegt sein könnte. Der Fachmann erkennt auch, daß die Erzeugung der ersten und zweiten modulierten Systemreferenzsignale vollkommen synchron mit den ersten bzw. zweiten Systemreferenzsignalen ist.
  • In der bevorzugten Ausführungsform hat das erste modulierte Systemreferenzsignal vier mögliche und unterschiedliche Zustände. Daher sind sechzehn mögliche Zustandskombinationen zwischen den ersten und zweiten modulierten Systemreferenzsignalen verwendbar, um einen Kennzeichnungsplan festzulegen, welcher anzeigt, wie Zustandskombinationen in jeder lokalen Zeitbasiseinheit 22 zu interpretieren sind. In 5B ist eine Tabelle dargestellt, die einen bevorzugten Kennzeichnungsplan der Erfindung festlegt.
  • In 5B sind sechzehn eindeutige Zustandskombinationen definiert. Eine bevorzugte Kennzeichnungsoperation ist auch durch jede derartige Zustandskombination festgelegt. Jede der bevorzugten Kennzeichnungsoperationen wird nunmehr im einzelnen anhand von 6 und B bis 12D beschrieben. Der Fachmann erkennt, daß die bevorzugte Ausführungsform der Erfindung entsprechend einer Quadratur-Amplituden-Modulation (QAM) mit einem 16-stufigen (QAM16) Modulationsschema arbeitet. Der Fachmann erkennt ferner, daß auch ein anderes QAM-Modulationsschema, wie QAM 4, QAM 16 oder QAM 256, in einer alternativen Ausführungsform benutzt werden könnte. Der Fachmann erkennt zusätzlich, daß ein unterschiedliches Bilden (mapping) von QAM-Zuständen zu Kennzeichnungsoperationen, d.h. eine verschiedene Kennzeichnungskonstellation, für eine alternative Ausführungsform festgelegt werden könnte.
  • Unabhängig von dem speziellen QAM-Modulationsschema oder der verwendeten QAM-Zustandsabbildung gibt der Modulator 32 vorzugsweise Signale mit Nicht-Null-Amplituden in der Zeit während einer normalen Systemoperation ab. Folglich ist während einer normalen Systemoperation ständig Strom auf dem Systembus 14 vorhanden.
  • Systemweite Signalverteilung
  • Das erste und das zweite modulierte Systemreferenzsignal werden an die erste und zweite Leitung 16 bzw. 18 des Systembus 14 über die ersten bzw. zweiten Verteilungsverstärker 36 und 38 abgegeben. Über die erste Leitung 16 und die zweite Leitung 18 werden die ersten und zweiten modulierten Systemreferenzsignale an jede lokale Zeitbasiseinheit 22 abgegeben. Der Leitungsabschluß ist gewählt, um die Impedanz des Systembus 14 in einer Weise anzupassen, was dem Fachmann ohne weiters geläufig ist. Vorzugsweise ist jede der ersten und zweiten Leitungen 16 und 18 durch einen integrierten Draht ausgeführt, der gemäß herkömmlichen Leiterplatten-Herstellungsprozessen hergestellt worden ist, um eine Streifenleitung oder eine Mikrostrip-Übertragungsleitung zu erzeugen. Da die ersten und zweiten Leitungen 16, 18 vorzugsweise in Form einer Übertragungsleitung ausgeführt sind, sind die beiden Leitungen 16 und 18 jeweils durch eine bekannte Impedanz pro Längeneinheit gekennzeichnet. Der Fachmann erkennt, daß die Erfindung in vorteilhafter Weise die Verwendung von Mehrfachverstärkungsstufen entlang einer der beiden Leitungen 16 oder 18 des Systembus 14 vermeidet. Das heißt, jede lokale Zeitbasiseinheit 22 ist im Gegensatz zu herkömmlichen Systemen und Verfahren, bei welchen ein oder mehrere Verstärkerstufen entlang des Signalverteilungswegs vorhanden sind, durch eine gesteuerte Impedanz passiv an die Master-Zeitbasiseinheit 16 gekoppelt. Da der Systembus 14 in der vorstehend beschriebenen Weise ausgeführt ist, kann die Eintreffzeit für ein Signal, das von der Master-Zeitbasiseinheit 12 zu einer lokalen Zeitbasiseinheit 22 in 1 gesendet worden ist, genau bestimmt werden, wobei ein Grad Phasengenauigkeit gleich einem kleinen Bruchteil einer Wellenlänge ist. Im allgemeinen nutzen Systeme und Verfahren, welche Zeitsteuersignale mit Hilfe von in Kaskaden angeordneten Taktverteilungsverstärkern verteilen, diese Eigenschaft nicht gemeinsam.
  • Der Systembus 14 ist durch eine gesteuerte Impedanz pro Längeneinheit gekennzeichnet. Daher kann der Systembus 14 normiert werden, um eine beliebige Anzahl von lokalen Zeitbasiseinheiten 22 unterzubringen, das von einer bis vielen tausend Zeitsteuereinheiten 22 reicht, indem die Länge des Systembus 14 vergrößert und der Leitungsabschluß 20 verschoben wird. Der Fachmann erkennt, daß Gruppen von lokalen Zeitbasiseinheiten 22 auf gesonderten Leiterplatten untergebracht sein können. Wenn eine große Anzahl von lokalen Zeitbasiseinheiten 22 vorhanden ist, wird bei der Erfindung vorzugsweise eine herkömmliche Energieteilungsschaltung mit einem gesteuerten Impedanznetz verwendet, um körperlich deutlich unterschiedliche Versionen des Systembus 14 zu schaffen, um dadurch Versionen der ersten und zweiten Leitung 16, 18 zu wiederholen, und um Signalweg-Übergänge von Leiterplatte zu Leiterplatte unterzubringen, ohne die elektrische Beschaffenheit des Netzwerks zu ändern. Der Fachmann erkennt, daß die ersten und zweiten Verteilungsverstärker 36, 38 vorzugsweise so eingestellt sind, um Signale höherer Leistung abzugeben, wenn eine solche Netz-Energieaufteilungsschaltung verwendet wird.
  • Lokale Zeitbasiseinheit
  • In 6 ist ein Blockdiagramm einer bevorzugten Ausführungsform der lokalen Zeitbasiseinheit 22 dargestellt. Die lokale Zeitbasiseinheit 32 weist vorzugsweise einen ersten und einen zweiten lokalen Pufferverstärker 232 bzw. 234, eine kohärente Empfangseinheit 200, eine Nachrichtenassemblereinheit 250, einen lokalen QRO 202, einen zweiten Phasendetektor 204, ein zweites Schleifenfilter 206, einen lokalen Zeitsteueroszillator (LTO) 208, einen Zeitsteuersignalmischer 210, ein Zeitsteuersignalfilter 212, einen Mischerabschluß 214, einen ersten und einen zweiten lgkalen Begrenzer 216 bzw. 218, einen ersten und einen zweiten Referenzteiler 220 bzw. 222 sowie einen Phasen- und Frequenzdetektor 230 auf.
  • Die ersten und zweiten lokalen Pufferverstärker 232, 234 sind mit den ersten bzw. zweiten Leitungen 16, 18 des Systembus 14 verbunden und erhalten daher die ersten und zweiten modulierten Systemreferenzsignale. Bei der bevorzugten Ausführungsform des Systembus 14, wie er vorstehend beschrieben ist, fordert die Skalierbarkeit bzw. die Normierbarkeit, daß jede lokale Zeitbasiseinheit 22 eine im wesentlichen oder sehr weitgehend reflexionsfreie Kopplung an den Systembus 14 erhält, so daß in dem System 10 der Erfindung eine entsprechende Anzahl lokaler Zeitbasiseinheiten 22 untergebracht werden kann. Folglich sind die ersten und zweiten lokalen Pufferverstärker 232, 234 jeweils vorzugsweise Verstärker mit hoher Impedanz und mit einer Verstärkung von eins. In der bevorzugten Ausführungsform wird einem im wesentlichen reflexionsfreien Kopplungszustand genügt, wenn die reine Parallelimpedanz, die von einem Zusammenschluß lokaler Zeitbasiseinheiten 22 herrührt, kleiner als eine 1%-Belastung bezüglich der Impedanz des Systembus 14 ist. In einer beispielhaften Ausführungsform werden die ersten und zweiten lokalen Pufferverstärker 232, 234 jeweils mit Hilfe eines National Semiconductor LM6261-Operationsverstärker ausgeführt. Der Fachmann erkennt, daß die lokalen Pufferverstärker 232, 234 die lokale Zeitbasiseinheit 24 vorteilhafter Weise bei einer Änderung des Impedanzpegels von einem konstanten niedrigen Pegel, wie er durch den Systembus 14 vorgesehen ist, zu einem höheren Pegel für eine lokale Benutzung schaffen. In einer alternativen Ausführungsform könnte einem im wesentlichen reflexionsfreien Kopplungszustand auch durch die Verwendung von parallelen Wandlerkopplungen bezüglich eines Systemgrundes in einer dem Fachmann bekannten Weise genügt werden. Das heißt, die lokalen Pufferverstärker 232, 234 würden durch Leitungswandler in dieser alternativen Ausführungsform ersetzt werden.
  • Der lokale QRO 202, der zweite Phasendetektor 204 und das zweite Schleifenfilter 206 dienen dazu, ein erstes und ein zweites lokales Referenzsignal zu erzeugen, die zu den ersten bzw. zweiten Systemreferenzsignalen phasenstarr sind. Der lokale QRO 202 ist vorzugsweise ein spannungsgeregelter Quadratur-Oszillator mit einem in Phase liegendem Ausgangssignal, einem um 90° phasenverschobenen Ausgangssignal und einem Steuersignal und ist durch einen dynamischen Frequenzbereich von weniger als oder gleich 2:1 gekennzeichnet. Der Fachmann erkennt, daß der lokale QRO 202 auch analog dem in 3D dargestellten Oszillator oder als ein herkömmlicher Quadratur-Oszillator ausgeführt sein könnte. Der lokale QRO 202 gibt die ersten und zweiten lokalen Referenzsignale ab, wobei diese Signale jeweils sinusförmig sind und eine 90° Phasen-Beziehung zueinander einhalten. Eine Spannung, die an dem Steuereingang des lokalen QRO erhalten worden ist, bestimmt vorzugsweise die Frequenz der ersten und zweiten lokalen Referenzsignale bezüglich des Betriebsfrequenzbereichs eines lokalen QRO in herkömmlicher Weise. Der Fachmann erkennt, daß in einer Ausführungsform, die entsprechend ausgelegt ist, um bei Frequenzen zu arbeiten, die auf etwa 300MHz begrenzt sind, die ersten und zweiten lokalen Referenzsignale mit Hilfe den inhärenten Kenndaten einer phasenstarren und um 90° verschobenen Signalisierung in einer Weise analog zu dem in 2B Dargestellten erzeugt werden könnten. In der bevorzugten Ausführungsform haben die ersten und zweiten lokalen Referenzsignale eine einheitliche Null-zu-Scheitelwert-Amplitude, (d.h. eine Null-zu-Scheitelwert-Amplitude von einem Volt). Der Fachmann erkennt, daß der lokale QRO 202 die ersten und zweiten lokalen Referenzsignale mit einer anderen Null-zu-Scheitelwert-Amplitude abgeben könnte.
  • Der zweite Phasendetektor 204 und das zweite Schleifenfilter 206 bilden eine herkömmliche phasenstarre Schleife, um eine Phasenangleichung zwischen dem zweiten lokalen Referenzsignal und dem zweiten Systemreferenzsignal aufrecht zu erhalten. Folglich ist der zweite Phasendetektor 204 entsprechend geschaltet, um das zweite modulierte Systemreferenzsignal von einem Ausgang des zweiten lokalen Pufferverstärkers 234 aufzunehmen, und erhält zusätzlich das zweite lokale Referenzsignal, das von dem lokalen QRO 202 abgegeben worden ist. Der zweite Phasendetektor 204 gibt ein erstes lokales Phasenfehlersignal an das zweite Schleifenfilter 206 ab, welches seinerseits vorgesehen ist, um ein erstes lokales Abstimmsignal an den lokalen QRO 202 abzugeben. Auf Grund der Phasenbeziehung zwischen jedem Systemreferenzsignal und jedem lokalen Referenzsignal wird eine Phasenanpassung zwischen dem ersten lokalen Referenzsignal und dem ersten Systemreferenzsignal aufrechterhalten. In der bevorzugten Ausführungsform ist der zweite Phasendetektor 204 ein Phasendetektor des Typs I, und das zweite Schleifenfilter 206 ist ein Tiefpaßfilter, die beide verwendet werden, um eine Phasenanpassung in herkömmlicher Weise durchzuführen, wie es dem Fach mann ohne weiteres geläufig ist. Der Fachmann erkennt auch, daß die möglichen Amplituden des zweiten modulierten Systemreferenzsignals, wie sie durch das bevorzugte Systemreferenzsignal-Modulationsprotokoll festgelegt sind, eine Phasenkopplung nicht beeinflußt.
  • In der lokalen Zeitbasiseinheit 22 wird ein lokales Zeitsteuersignal erzeugt und an die lokale Zeitsteuerleitung 24 abgegeben. Vorzugsweise dient das lokale Zeitsteuersignal als ein Takt für ein oder mehrere externe Komponenten in dem hier beschriebenen System 10. Bei der Erzeugung des lokalen Zeitsteuersignals erzeugt die LTO 208 ein versetztes Signal, welches mit dem zweiten lokalen Referenzsignal gemischt wird, was nunmehr im einzelnen beschrieben wird. In der bevorzugten Ausführungsform ist der LTO 208 ein herkömmlicher spannungsgesteuerter Oszillator (VCO) mit einem Ausgang und einem Steuereingang. Der LTO 208 ist folglich dadurch gekennzeichnet, daß er einem Bereich von Betriebsfrequenzen und eine Mittenfrequenz im Betriebsfrequenzbereich hat. In der bevorzugten Ausführungsform ist der dynamische Frequenzbereich des LTO 208 kleiner als oder gleich 2:1. Eine Spannung, die an den LTO-Steuereingang erhalten worden ist, bestimmt vorzugsweise die Frequenz des versetzten Signals bezüglich des LTO-Betriebsfrequenzbereichs in herkömmlicher Weise.
  • Mit der Erzeugung des versetzten Signals gibt der LTO 208 vorzugsweise ein sinusförmiges Signal ab, das eine höhere Frequenz als diejenige des zweiten lokalen Referenzsignals hat. Der Steuereingang des LTO 208 ist vorgesehen, um ein zweites lokales Abstimmsignal aufzunehmen, das von dem Phasen- und Frequenzdetektor 230 abgegeben worden ist. Folglich wird die exakte Frequenz des versetzten Signals durch das zweite lokale Abstimmsignal bestimmt, was später im einzelnen noch beschrieben wird. Der Zeitsteuersignal-Mischer 210 ist vorgesehen, um das versetzte Signal zu empfangen, und erhält auch das zweite lokale Referenzsignal, das von dem lokalen QRO 202 abgegeben worden ist. Der Mischer 210 ist vorzugsweise ein herkömmlicher Mischer, welcher das versetzte Signal und das zweite lokale Referenzsignal mischt oder multipliziert, um dadurch ein Zeitsteuermischsignal zu erzeugen. Wenn die Frequenz des zweiten lokalen Referenzsignals als f1 q und die Frequenz des Versatzsignals als f0 festgelegt ist, enthält das Zeitsteuer-Mischsignal vorzugsweise ein elementares Summensignal mit einer Frequenz, die durch (f0 + f1q) vorgegeben ist, sowie ein elementares Differenzsignal mit einer Frequenz aufweist, die durch (f0 – f1q) gegeben ist. Das Zeitsteuersignalfilter 212 ist vorzugsweise ein Diplexer, der vorgesehen ist, um das Zeitsteuermischsignal aufzunehmen. Das Filter 212 leitet das elementare Summensignal zu dem ersten lokalen Begrenzer 216 und leitet andere Frequenzkomponenten in dem Zeitsteuermischsignal zu dem Mischerabschluß 214. Der Mischerabschluß 214 weist vorzugsweise eine Impedanz auf, die gewählt worden ist, um die Energie von Frequenzkomponenten, die von dem Diplexer aus erhalten worden sind, zu absorbieren. Der Fachmann erkennt auch, daß das elementare Summensignal über eine herkömmliche Serrodyne-Aufwärtsumsetzung erzeugt wird. Der erste lokale Begrenzer 216 fühlt die Nulldurchgänge in dem elementaren Summensignal und gibt das lokale Zeitsteuersignal ab. Vorzugsweise ändert sich das lokale Zeitsteuersignal von einer Nullamplitude auf eine vorherbestimmte positive Amplitude, wenn das elementare Summensignal einen in positiver Richtung verlaufenden Nulldurchgang zeigt, und ändert sich von der positiven Amplitude in eine Nullamplitude, wenn das Summensignal einen in negativer Richtung verlaufenden Nulldurchgang aufweist. Das lokale Zeitsteuersignal ist eine Rechteckwelle in der bevorzugten Ausführungsform. Der Fachmann erkennt, daß in einer alternativen Ausführungsform das lokale Zeitsteuersignal auch eine sinusförmige Wellenform oder eine andere Art einer Wellenform haben könnte, die im allgemeinen von einer sinusförmigen Wellenform abgeleitet werden kann.
  • Die Frequenz des lokalen Zeitsteuersignals ist höher als die des zweiten lokalen Referenzsignals (oder äquivalent entweder des ersten oder des zweiten Systemreferenzsignals) oder des versetzten Signals. In den meisten digitalen Systemen wird ein einziges Master-Taktsignal über das gesamte digitale System verteilt, wobei das einzige Master-Taktsignal das Signal mit der höchsten Frequenz in dem digitalen System ist. Die Forderung nach fortlaufend zunehmender Rechenleistung führt bei digitalen Systemen dazu, daß sie mit ständig höheren Frequenzen arbeiten. Der Fachmann erkennt, daß eine Signalverteilung schwieriger wird, wenn die Signalfrequenz zunimmt, insbesondere da die Impedanz von Verteilungsleitungen mit zunehmender Frequenz komplexer wird. In der Erfindung sind die ersten und zweiten Systemreferenzsignale nicht die Signale mit der höchsten Frequenz in dem System 10. Stattdessen ist die Frequenz der ersten und zweiten Systemreferenzsignale niedriger als die eines vorgegebenen lokalen Zeitsteuersignals. Der Fachmann erkennt wiederum, daß die Frequenz der Systemreferenzsignale viel niedriger sein kann als diejenige eines lokalen Zeitsteuersignals. Folglich können bei der Erfindung in vorteilhafter Weise ein oder mehrere hochfrequente lokale Zeitsteuersignale erzeugt werden, ohne daß die systemweite Verteilung eines hochfrequenten Signals erforderlich ist.
  • Die Erzeugung des lokalen Zeitsteuersignals in der vorstehend beschriebenen Weise kann die Verwendung eines LTO 208 notwendig machen, der bei sehr hohen Frequenzen arbeiten kann. Der Fachmann erkennt wiederum, daß dieser Forderung in der beispielhaften Ausführungsform durch die Verwendung eines National Semiconductor LMX2325 Einzelchip mit einer phasenstarren Schleife bei 2,5GHz genügt werden kann.
  • Der zweite lokale Begrenzer 218, die beiden Referenzteiler 220 und 222 und der Phasen- und Frequenzdetektor 230 dienen dazu, eine Phasenanpassung zwischen einer frequenzgeteilten Version des lokalen Zeitsteuersignals und einer frequenzgeteilten Version des zweiten lokalen Referenzsignals aufrechtzuerhalten. Der erste Referenzteiler 220 ist vorgesehen, um das lokale Zeitsteuersignal zu erhalten, und schafft die frequenzgeteilte Version des lokalen Zeitsteuersignals an einem ersten Eingang des Detektors 230. Der zweite lokale Begrenzer 218 ist vorgesehen, um das zweite lokale Referenzsignal von dem lokalen QRO 202 zu erhalten. Analog zu dem ersten lokalen Begrenzer 216 fühlt der zweite lokale Begrenzer 218 Nulldurchgänge bei dem zweiten lokalen Referenzsignal und gibt vorzugsweise eine Rechteckwelle an den zweiten Referenzteiler 222 ab. Der zweite Referenzteiler 222 gibt die frequenzgeteilte Version des zweiten lokalen Referenzsignals an einen zweiten Eingang des Detektors 230 ab. Der Detektor 230 gibt das zweite lokale Abstimmsignal an den LTO 208 ab, um dadurch die Frequenz des Versatzsignals zu steuern. Der Detektor 230 gibt zusätzlich das erste Sperrsignal an die erste, eine Kopplung anzeigende Leitung 240 an den Ausgang der lokalen Zeitbasiseinheit ab. In der bevorzugten Ausführungsform ist der Detektor 230 ein Phasen- und Frequenzdetektor des Typs IV, der mit Hilfe einer herkömmlichen Schalttechnik ausgeführt ist.
  • Der erste Frequenzteiler 220 weist vorzugsweise eine herkömmliche Frequenzteilerschaltung auf und ist durch eine Teilerkonstante k1 gekennzeichnet. Der zweite Referenzteiler 222 weist vorzugsweise eine herkömmliche Frequenzteilerschaltung auf und ist durch eine zweite Teilerkonstante k2 gekennzeichnet. Der Fachmann erkennt, daß, wenn die frequenzgeteilten Versionen des lokalen Zeitsteuersignals und des zweiten lokalen Referenzsignals phasenstarr sind, der folgenden Gleichung genügt ist: f1q/k2 = (f1 q + f0)/k1 (1)
  • Der LTO 208 stellt die Frequenz des versetzten Signals f0 gemäß dem Wert des zweiten lokalen Abstimmsignals dar, das von dem Detektor 230 abgegeben worden ist. Der Wert des zweiten lokalen Abstimmsignals wird jedoch durch die Beziehung zwischen (f1q/k2) und (f1q + f0)/k1 bestimmt. Die Frequenz f1 q des zweiten lokalen Referenzsignals ist identisch mit derjenigen jedes Systemreferenzsignals. Die Werte von k1 und k2 werden durch die internen Strukturen der ersten und zweiten Referenzteiler 220 bzw. 222 festgelegt. Der Detektor 230 stellt den Wert des zweiten lokalen Abstimmsignals in einer Richtung ein, die zu der G1. (1) führt. Folglich ist, sobald eine Phasenanpassung hergestellt worden ist, die Frequenz des versetzten Signals gegeben durch: f0 = f1 q*((k1/k2) – 1) (2)
  • Da die Frequenz des versetzten Signals von den Werten von k1 und k2 abhängt, hängt die Frequenz des lokalen Teitsteuersignals, welche durch (f1 q + f0) gegeben ist, auch von den Werten k1 und k2 entsprechend der folgenden Gleichung ab: (f1 q + f0) = f1 q*(k1/k2) (3).
  • Folglich ist, sobald eine Phasenanpassung hergestellt worden ist, die Frequenz des lokalen Zeitsteuersignals gleich dem Verhältnis der ersten und zweiten Teilerkonstanten, die mit der Frequenz des Systemreferenzsignale multipliziert sind. In der bevorzugten Ausführungsform sind der erste und der zweite Referenzteiler 220 bzw. 222 jeweils mit Hilfe einer rekonfigurierbaren oder reprogrammierbaren logischen Vorrichtung, wie beispielsweise einer feldprogrammierbaren Logikvorrichtung (FPGA), ausgeführt. Eine derartige Ausführung sorgt für die programmierbare Spezifizierung von Werten von k1 und k2 zu einer vorgegebenen Zeit in einer Weise, die für den Fachmann ohne weiteres verständlich ist. Die Erfindung sorgt daher für die programmierbare Spezifizierung einer lokalen Zeitsteuersignalfrequenz in dem System 10. In der bevorzugten Ausführungsform wird die Frequenz eines individuellen lokalen Zeitsteuersignals entsprechend einem lokalen Frequenzplan bestimmt. Die Frequenzen aller lokalen Zeitsteuersignale sind über einen Systemfrequenzplan in Beziehung gebracht, was später noch beschrieben wird.
  • Wie vorstehend beschrieben, gibt das CRS 30 die ersten und zweiten Systemreferenzsignale ab, die jeweils eine Frequenz haben, welche mit derjenigen des ursprünglichen Frequenzreferenzsignals identisch ist, das von dem Kristallfrequenz-Referenzoszillator 70 der 2 abgegeben worden ist. In der bevorzugten Ausführungsform ist die Frequenz der ersten und zweiten Systemreferenzsignale durch den Einbau eines Referenzoszillators 70 mit einer gewünschten Frequenz festgelegt. Ein lokaler Frequenzplan spezifiziert lokale Zeitsteuersignalfrequenzen für eine feste Systemreferenzsignal-Frequenz.
  • In 7A ist eine Tabelle dargestellt, die einen bevorzugten lokalen Frequenzplan der Erfindung zeigt. In 7A ist die Frequenz des ursprünglichen Frequenzreferenzsignals und folglich die Frequenz, die von dem CRS 30 abgegeben worden ist, beispielsweise auf 25 MHz festgelegt. Der Fachmann erkennt, daß auch eine andere Frequenz, beispielsweise 50 MHz ohne irgendeinen Verlust an Allgemeingültigkeit gewählt werden könnte. In 7A ist in einer ersten Spalte die beispielhafte Frequenz von 25 MHz aufgeführt, die von dem CRS 30 abgegeben worden ist. In einer zweiten und einer dritten Spalte in 7A sind Werte für k1 bzw. k2 aufgeführt. In einer vierten Spalte in 7A sind die Frequenzen des versetzten Signals aufgeführt, die den ersten drei Spalten entsprechen, und in einer fünften Spalte sind die sich ergebenden Frequenzen des lokalen Zeitsteuersignals aufgeführt, daß über die vorstehend beschriebene Serrodyn-Aufwärtsumsetzung erhalten worden ist. In den bevorzugten lokalen Frequenzplan ist k2 konstant gehalten, während k1 verändert wird, um lokale Zeitsteuersignale zu erzeugen, die einen Frequenzbereich überspannen. Wie in 7A dargestellt, kann das lokale Zeitsteuersignal von 60 MHz bis 90MHz in Inkrementen von 2MHz reichen, wenn k1 in Schritten von 4 von 170 bis 230 geändert wird. Der Fachmann erkennt, daß in einem anderen lokalen Frequenzplan die Werte von k2 und/oder sowohl von k2 als auch von k1 in entsprechender Weise geändert werden könnten.
  • Die Erfindung schafft somit die Möglichkeit, individuell die Frequenz des lokalen Zeitsteuersignals zu spezifizieren, das von jeder der lokalen Zeitbasiseinheit 22 abgegeben wird. Folglich könnten in einer Rechenumgebung, welche durch eine Vielzahl von Verarbeitungselementen gekennzeichnet ist, Untergruppen von Verarbeitungselementen mit eindeutigen Frequenzen unter dem Pegel der einzelnen Verarbeitungselemente selbst getaktet werden. Ferner kann die Frequenz eines lokalen Zeitsteuersignals programmierbar zu einer vorgegebenen Zeit spezifiziert werden. Das System 10 der Erfindung kann daher ohne weiteres an sich ändernde Zeitsteuer-Notwendigkeiten in der Rechenumgebung angepaßt werden. Bekannte Systeme und Verfahren haben diese Eigenschaft nicht.
  • Die Frequenz der ersten und zweiten Systemreferenzsignale kann über einen Einbau eines Referenzoszillators 70 modifiziert werden, der eine gewünschte Frequenz hat. Folglich wird, um einen systemweiten Geschwindigkeitsausbau durchzuführen, ein Referenzoszillator 70 mit einer höheren Frequenz verwendet. Für eine Ausführung des Systems 10 mit einer niedrigen Geschwindigkeit, die möglicherweise vom Kostenstandpunkt her wünschenswert ist, wird ein Referenzoszillator 70 mit einer niedrigeren Frequenz verwendet. In 7B ist eine Tabelle dargestellt, die einen bevorzugten Systemfrequenzplan der Erfindung zeigt. Der bevorzugte Systemfrequenzplan sorgt für die Modifikation der Frequenz der ersten und zweiten Systemreferenzsignale, so daß eine Inkrementeinheit in der Systemreferenzsignal-Frequenz ein konstantes Inkrement in einer lokalen Zeitsteuersignalfrequenz erzeugt. In 7B und in einer ersten Spalte sind Frequenzen aufgelistet, die von dem CRS 30 abgegeben worden sind; in einer zweiten und einer dritten Spalte sind Werte für k1 bzw. k2 aufgelistet; in einer vierten Spalte sind LTO-Frequenzen aufgeführt, welche den Werten in den ersten drei Spalten entsprechen, und in einer fünften Spalte sind die sich ergebenden lokalen Zeitsteuersignalfrequenzen angegeben. Wie in 7B dargestellt, erzeugt jede Zunahme von 1MHz in der Systemreferenzsignal-Frequenz vorzugsweise eine Zunahme von 4MHz in der lokalen Zeitsteuersignalfrequenz, wobei die Werte von k1 und k2 entsprechend modifiziert werden.
  • Zusätzlich zu den ersten und zweiten Referenzteilern 220 und 222 ist auch der Phasen- und der Frequenzdetektor 230 mit Hilfe einer rekonfigurierbaren Logikeinrichtung ausgeführt. Eine Rekonfiguration von Logik in einer rekonfigurierbaren Logikeinrichtung erfordert eine vorgegebene Menge an Zeit, um es zu erledigen. Im allgemeinen kann bei Signalen, die mittels einer rekonfigurierbaren Logik erzeugt worden sind, nicht garantiert werden, daß sie gültig sind, bis ein vorherbestimmtes Zeitintervall im Anschluß an den Beginn einer Rekonfiguration verstrichen ist. In Wirklichkeit können ein oder mehrere Signale gültig sein, bevor das vorherbestimmte Zeitintervall verstrichen ist. Die Ausführung des Phasen- und Frequenzdetektors 230 mit Hilfe einer rekonfigurierbaren Logik stellt sicher, daß das erste Sperrsignal von externen Komponenten in dem System als ein Gatesignal verwendet werden kann, um anzuzeigen, daß 1) eine Rekonfiguration beendet worden ist, und daß 2) das lokale Zeitsteuersignal gültig ist. Das Erzeugen eines Gatesignals auf diese Weise ist insbesondere zweckdienlich, wenn einige oder alle externen Komponenten in einer rekonfigurierbaren logischen Vorrichtung ausgeführt sind. In einer beispielhaften Ausführungsform sind der erste und zweite Referenzteiler 220 bzw. 222 und der Phasen- und Frequenzdetektor 230 mit Hilfe einer rekonfigurierbaren Logik in einem einzigen Xilinx XC4013 FPGA (Xilinx, Inc., San Jose, CA) ausgeführt. Der Fach mann erkennt, daß auch ein anderer Typ einer rekonfigurierbaren logischen Vorrichtung verwendet werden könnte, um den ersten und zweiten Referenzteiler 220 bzw. 222 und den Phasen- und/oder Frequenzdetektor 230 auszuführen, beispielsweise eine löschbare, programmierbare logische Vorrichtung (EPLD).
  • Die kohärente Empfangseinheit 200 demoduliert die ersten und zweiten modulierten Systemreferenzsignale und erzeugt einen Satz Nachrichten, die auf der Demodulation basieren. In 8 ist ein Blockdiagramm einer bevorzugten Ausführungsform der kohärenten Empfangseinheit 200 dargestellt. Die kohärente Empfangseinheit 200 weist vorzugsweise einen ersten Mischer 400, einen ersten getasteten Integrator 412, eine erste Analog-Digital-Umsetzeinheit (ADCU) 414, ein erstes Flip-Flop 426 für das höchstwertige Bit (MSB) , ein erstes Flip-Flop 428 für das niedrigstwertige Bit (LSB), einen zweiten Mischer 402, einen zweiten getasteten Integrator 413, eine zweite ADCU 415, ein zweites MSB-Flip-Flop 427, ein zweites LSB-Flip-Flop 429, einen dritten F-V-Umsetzer 440 und einen Tastfolgegenerator 410 auf.
  • Der erste Mischer 400 ist vorgesehen, um das erste modulierte Systemreferenzsignal von einem Ausgang des ersten lokalen Pufferverstärkers 232 aufzunehmen, und erhält auch das erste lokale Referenzsignal, das von dem lokalen QRO 202 abgegeben worden ist. Das erste lokale Referenzsignal hat vorzugsweise eine Amplitude eins. Der erste Mischer 400 mischt oder multipliziert das erste modulierte Systemreferenzsignal und das erste lokale Referenzsignal und gibt ein erstes gleichgerichtetes Signal ab. Da das erste lokale Referenzsignal phasenstarr zu dem ersten modulierten Systemreferenzsignal ist, ist das erste gleichgerichtete Signal eine gleichgerichtete Vollwellenversion des ersten modulierten Systemreferenzsignals. Da das erste lokale Referenzsignal in der bevorzugten Ausführungsform eine Amplitude eins hat, ist darüber hinaus das erste gleichgerichtete Signal eine Rechteck-Sinuskurve mit einer Scheitelwertamplitude, die gleich derjenigen des ersten modulierten Systemreferenzsignals ist. Der zweite Mischer 402 ist vorgesehen, um das zweite modulierte Systemreferenzsignal und das zweite lokale Referenzsignal zu erhalten. Der zweite Mischer 402 erzeugt ein zweites gleichgerichtetes Signal, das eine gleichgerichtete Vollwellenversion des zweiten modulierten Referenzsignals analog derjenigen für den ersten Mischer 400 ist.
  • Der erste getastete Integrator 412 und die erste ADCU 420 demodulieren das erste gleichgerichtete Signal, um ein erstes MSB und ein erstes LSB eines in Phase liegenden Dibits zu erzeugen, das einem ersten Informationssignal entspricht, das ursprünglich von der MSM 34 von l abgegeben worden ist. Das erste MSB-Flip-Flop 426 hält das erste MSB, und das erste LSB-Flip-Flop 428 hält das erste LSB. In ähnlicher Weise modulieren der zweite getastete Integrator 412 und die zweite ADCU 421 das zweite gleichgerichtete Signal, um ein zweites MSB und ein zweites MSB eines um 900 phasenverschobenen Dibits zu erzeugen, das einem zweiten Informationssignal entspricht, das ursprünglich mittels der MSM 34 erzeugt worden ist. Das zweite MSB-Flip-Flop 427 hält das zweite MSP und das zweite MSE-Flip-Flop 429 hält das zweite LSE.
  • Die Art und Weise, in welcher die ersten und zweiten modulierten Systemreferenzsignale demoduliert werden, legt ein Systemreferenzsignal-Demodulationsprotokoll fest. In 13C ist zum besseren Verständnis ein Wellenform-Diagramm dargestellt, das ein bevorzugtes Systemreferenzsignal-Demodulationsprotokoll zeigt.
  • Wie in 13C dargestellt, ist das erste gleichgerichtete Signal ein "Doppel-Höcker" – (double-bump) oder eine Art gleichgerichtetes Vollwellensignal, das synchron mit dem ersten modulierten Systemreferenzsignal (oder äquivalent entweder mit dem ersten System-Referenzsignal oder dem ersten lokalen Referenzsignal) erzeugt worden ist. Basierend auf einer Integration und einer A/D-Umsetzung, die bei dem ersten gleichgerichteten Signal angewendet worden sind, wie im einzelnen unten noch beschrieben wird, wird ein in Phase liegendes Dibit erzeugt. Die Bitwerte in dem Dibit entsprechen vorzugsweise einem Integral des ersten gleichgerichteten Signals. Das zweite gleichgerichtete Signal ist ein "Doppel-Höcker"-Signal, das synchron mit dem zweiten modulierten Systemreferenzsignal erzeugt worden ist, aus welchem das um 90° phasenverschobene Dibit in einer Weise erzeugt worden ist, die derjenigen für das in Phase liegende Dibit analog ist. Die Art und Weise, in welcher die ersten und zweiten modulierten Systemreferenzsignale demoduliert werden, wird im einzelnen nachstehend beschrieben.
  • Der Tastfolgegenerator 410 ordnet sequentiell die Arbeitsweise der ersten und zweiten getasteten Integratoren 412, 413 der ersten und zweiten ABC-Einheiten 420, 421 und jede der ersten MSB-, ersten LSB-, zweiten MSB- und zweiten LSB-Flip-Flops 426, 428, 427 429 zu, um die vorerwähnten Demodulationen entsprechend dem Systemreferenzsignal-Demodulationsprotokoll zu erleichtern. In 9A ist ein Blockdiagram einer bevorzugten Ausführungsform des Tastfolgegenerators 410 dargestellt. Der Generator 410 weist vorzugsweise einen Quadratur-Null-Durchgang-Detektor (QZCD) 466, erste bis vierte Decodier-Gates 471, 473, 475, 477 und einen Flip-Flop-Baum 488 auf. Der QZCD 466 weist vorzugsweise einen Inphase-Vergleicher 450 und einen Quadratur-Phasenvergleicher 462 auf, die jeweils einen Eingang haben, der elektrisch mit Erde verbunden ist. Die Vergleicher 460 und 462 sind auch vorgesehen, um die ersten bzw. zweiten lokalen Referenzsignale aufzunehmen. Die Vergleicher 460 und 462 fühlen Signal-Null-Durchgänge und erzeugen Rechtecksignale in der vorstehend beschriebenen Weise, was dem Fachmann ersichtlich sein wird. Der Vergleicher 460 erzeugt ein in Phase liegendes Rechtecksignal an einem ersten Ausgang und ein komplementäres, in Phase liegendes Rechtecksignal an einem zweiten Ausgang. In 9A ist ein in Phase liegendes Rechtecksignal als C bezeichnet, und das komplementäre, in Phase liegende Rechtecksignal ist mit CBAR bezeichnet. Analog zu dem Inphase-Vergleicher 460 erzeugt der Quadratur-Phasen-Vergleicher 462 ein um 90° phasenverschobenes Rechtecksignal und ein komplementäres um 90° phasenverschobenes Rechtecksignal an einem ersten bzw. einem zweiten Ausgang. Die um 90°, phasenverschobenen und die komplementären um 90° phasenverschobenen Rechtecksignale sind in 9A mit S und SBAR bezeichnet. Die ersten bis vierten Decodier-Gates 471, 473, 475, 477 empfangen und decodieren C, CBAR, S und SBAR in herkömmlicher Weise, um erste bis vierte Strobe- bzw. Taktimpulse zu erzeugen. In 9A sind die ersten bis vierten Strobe-Impulse als DRN, ASN, BTN und CUN bezeichnet.
  • Wiederum in 13A sind Unterperioden R, S, T und U in einer einzigen Periode des ersten Systemreferenzsignals festgelegt, und Unterperioden A, B, C und D sind in einer einzigen Periode des zweiten Systemreferenzsignals festgelegt. Jede Unterperiode entspricht einem Phasenintervall von π/2. In 9B ist ein bevorzugtes Zeitsteuerdiagramm für Signale dargestellt, die von dem Tastfolgegenerator 410 erzeugt worden sind. 9B zeigt die Zeitsteuer- und Phasenbeziehungen zwischen dem ersten und zweiten lokalen Referenzsignal und Signalen, die in dem Tastfolgegenerator 410 erzeugt worden sind. Wie in 9B dargestellt, befindet sich der erste Strobe-Impuls während der Unterperiode D in einem niedrigen Zustand oder äquivalent hierzu während der Unterperiode R und befindet sich sonst in einem hohen Zustand. Der erste Strobe-Impuls ist folge ein aktiver Niedrigpuls, welcher exakt Unterperioden D und R entspricht. In ähnlicher Weise ist der zweite Strobe-Impuls ein aktiver Niedrigpuls, welcher exakt Unterperioden A und S entspricht. Der dritte Strobe-Impuls ist ein aktiver Niedrigpuls, welcher exakt den Unterperioden B und T entspricht, und der vierte Strobe-Impuls ist ein aktiver Niedrigpuls, welcher exakt Unterperioden C und U entspricht. Der Fachmann erkennt, daß irgendwelche oder alle Strobe-Impulse aktive hohe Impulse in einer anderen Ausführungsform sein könnten. Folglich zeigen die ersten bis vierten Strobe-Impulse genau an, in welcher π/2-Unterperiode sich die lokalen Referenzsignale zu einer ganz bestimmten Zeit befinden. Die ersten bis vierten Strobe-Impulse sind daher durch Informationssignalen zeitlich abgeglichen, die der Modulator 32 in 2 bei den ersten und zweiten Systemreferenzsignalen angewendet hat.
  • Die ersten bis vierten Strobe-Impulse werden an den Flip-Flop-Baum 488 über die ersten bis vierten Verteilungsleitungen 481, 492, 493 bzw. 494 angelegt. Der Flip-Flop-Baum 488 weist vorzugsweise eine Gruppe von SR-Flip-Flops auf, die ein Inphase-Rücksetz-Flip-Flop 470, ein Inphase-Tast-Flip-Flop 472, ein Inphase-Freigabe-Flip-Flop 474, ein Inphase-Vorschub-Flip-Flop 476, ein Quadraturphasen-Rücksetz-Flip-Flop 480, ein Quadraturphasen-TastFlip-Flop 482, ein Quadraturphasen-Freigabe-Flip-Flop 484 und ein Quadraturphasen-Voraus-Flip-Flop 484 enthalten, die jeweils einen ersten und einen zweiten Eingang sowie einen Ausgang ha ben. Der Eingang und Ausgang der Flip-Flops 470, 472, 274 und 476, 480, 482, 484, 486 in dem Flip-Flop-Baum 488 ist vorzugsweise in der in 9A dargestellten Weise mit den Verteilungsleitungen 481 bis 484 verbunden. In der bevorzugten Ausführungsform gibt der Flip-Flop-Baum 488 ein Inphase-Rücksetzsignal an den Ausgang des Inphase-Rücknetz-Flip-Flop 470, ein Inphase-Tastsignal an den Ausgang des Inphase-Flip-Flops 472, ein Inphase-Freigabesignal an den Ausgang des Flip-Flops 474, ein Inphase-Voreilsignal an den Ausgang den Inphase-Voraus-Flip-Flops, ein Quadraturphasen-Rücksetzsignal an den Ausgang des Quadraturphasen-Flip-Flops 482, ein Quadraturphasen-Tastsignal an den Ausgang des Quadratur-Phasen-Flip-Flops 484, eine Quadraturphasen-Freigabesignal an den Ausgang des Quadraturphasen-Freigabe-Flip-Flops 486 und eine Quadraturphasen-Voreilsignal an den Ausgang des Quadraturphasen-Voraus-Flip-Flops 486 ab. Der Ausgang jedes Flip-Flops 470, 472, 474, 476, 480, 482, 484, 486 in dem Flip-Flop-Baum 488 bildet einen Ausgang des Tastfolge-Generators 410.
  • Wie vorher erwähnt, ordnet der Generator 410 Demodulationsoperationen in der kohärenten Empfangseinheit 200. Das Anliegen der Inphase-Rücksetz-Gate, – Freigabe- und Voraus-Signalen für die Demodulation des ersten gleichgerichteten Signals wird nun in Verbindung mit 8 und 9b im einzelnen untersucht. Zu Beginn einer Phase D des ersten lokalen Referenzsignals gehen das Inphase-Rücksetzsignal und das Inphase-Freigabesignal von einem niedrigen in einen hohen Zustand über. Hierbei wird der niedrige Zustand als "0" und der hohe Zustand als "1" entsprechend einer herkömmlichen binären Datenstellung bezeichnet. Der erste getastete Integrator 412 erhält das Inphase-Rücksetzsignal an einem Rücksetzeingang. Folglich wird in der Phase D das Inphase-Rücksetzsignal an dem ersten Integrator 412 angelegt, und der Ausgang des Integrators 412 geht auf 0 über. Diese 0 läuft durch die erste ADC-Einheit 420, da diese (420) das Inphase-Freigabesignal erhält. Wenn das erste lokale Referenzsignal von der Phase D in die Phase A übergeht, geht das Inphase-Rücksetzsignal auf 0 über, und das Inphase-Gatesignal geht von 0 auf 1. Wie in 9B dargestellt, entspricht die Periode, während welcher das Inphase-Gatesignal hoch ist, der Periode, während welcher das zweite lokale Referenzsignal positiv ist oder gleichbedeutend sind dies die Phasen S und T. Folglich entsprechen die Phasen S und T einer Integrationsstufe für den ersten Integrator 412. Während der Phasen S und T integriert der erste Integrator 412 das erste gleichgerichtete Signal, wodurch ein erstes Durchschnittssignal erzeugt wird. Am Ende der Phase T hat das erste Durchschnittssignal vorzugsweise eine Amplitude, welche gleich der Amplitude des ersten gleichgerichteten Signals ist, welches durch das Integral einer rechteckigen Sinuskurve über eine Hälfte deren Periode oder über π/2 normiert wird. Der Fachmann erkennt, daß in einer alternativen Ausführungsform der erste Integrator 412 eine herkömmliche Schaltungsanordnung enthalten könnte, um einen zusätzliche Skalierung bzw. Normierung an der Amplitude des ersten gleichgerichteten Signals, beispielsweise durch einen Faktor 1/π oder 2/π vorzunehmen.
  • In der bevorzugten Ausführungsform gibt der dritte F-V-Umsetzer 440 einen Satz Demodulations-Referenzspannungen mit Amplituden ab, die von der Frequenz des zweiten lokalen Referenzsignals oder was gleich bedeutend ist, von der Frequenz den ersten und zweiten Systemreferenzsignalen abhängen. Der dritte F-V-Umsetzer 440 hat vorzugsweise einen internen Aufbau, der demjenigen entspricht, der für den ersten F-V-Umsetzer 134 in 3B dargestellt ist. Die erste ADC-Einheit 420 erhält die Demodulations-Referenzspannungen, vergleicht das erste Durchschnittssignal mit dem Demodulations-Referenzspannungen und erzeugt ein Inphase-Dibit, das ein erstes MSB und ein erstes LSB aufweist.
  • In 9C ist ein Blockdiagramm einer bevorzugten Ausführungsform der ersten Analog-Digital-Umsetzeinheit (ADC-Einheit) 420 dargestellt. Die erste ADC-Einheit 420 weist vorzugsweise erste bis vierte Vergleicher 450, 452, 454 bzw. 456 und einen Prioritätscoder 458 auf. Jeder der vier Vergleicher 450, 452, 454 und 456 hat einen ersten Eingang, der mit dem Ausgang des ersten getasteten Integrators 412 über eine erste Leitung 414 verbunden ist. Jeder der vier Vergleicher 450, 452, 454, 456 hat einen zweiten Eingang, der mit einer Demodulations-Referenzleitung 445 verbunden ist, so daß der erste Vergleicher 450 eine Spannung von (1Vm*π/2) erhält; der zweite Vergleicher 452 erhält eine Spannung von (2Vm*π/2); der dritte Vergleicher 454 erhält eine Spannung von (3Vm*π/2) und der vierte Vergleicher 456 erhält eine Spannung von (4Vm*π/2). Jeder der vier Vergleicher 450, 452, 454, 456 hat zusätzlich einen Ausgang, der mit einem entsprechenden Eingang des Prioritätscodierer 458 verbunden ist. Der Prioritätscodierer 458 hat auch einen Freigabeeingang, der vorgesehen ist, um das Inphase-Freigabesignal zu erhalten, und einen MSB- sowie einen LSB-Ausgang, der mit dem Eingang des ersten MSB-Flip-Flops 26 bzw. mit dem Eingang des ersten LSB-Flip-Flops 428 verbunden ist. Der MSB-Ausgang des Prioritätscodierer bildet einen MSB-Ausgang der ersten ADC-Einheit 420 und der LSB-Ausgang des Prioritätscodierer bildet einen LSB-Ausgang der ersten ADC-Einheit 420.
  • Während des Betriebs erhalten die vier Vergleicher 450, 452, 454 und 456 das erste Durchschnittssignal und vergleichen das erste Durchschnittssignal mit einer entsprechenden Spannung, welche über die Leitung 445 erhalten worden ist. Für einen vorgegebenen Vergleicher 450, 452, 454, 456 führt Spannungsgleichheit zu der Erzeugung einer 1 an dessen Ausgang, während Spannungsungleichheit zu der Erzeugung einer 0 führt. Folglich gibt für den Fall, daß das erste Durchschnittssignal gleich (1Vm*π/2) ist, der erster Vergleicher 450 ein 1 ab. Für den Fall, daß das erste Durchschnittssignal gleich (2Vm*π/2), (3Vm*π/2) oder (4Vm*iπ/2) ist, gibt der zweite, dritte oder vierte Vergleicher 452, 454 bzw. 456 eine 1 ab. Der Prioritätscodierer 458 erhält den Ausgang jeweils der ersten bis vierten Vergleicher 450, 452, 454, 456 und erzeugt ein entsprechendes Inphase-Dibit gemäß einem bevorzugten Signalisierplan, um dadurch ein Dibit zurückzugewinnen, so daß der Modulator 32 von 1 auf das erste Systemreferenzsignal codiert hat.
  • In 5B erzeugt in dem bevorzugten Kennzeichnungsplan der Erfindung für den Fall, daß das erste Durchschnittssignal gleich nVm*π/2) ist, der Prioritätscodierer 458 das Inphase-Dibit als <00>, wobei das Dibit-Format als <MSB,LSB> festgelegt ist. Dementsprechend erzeugt, wenn das erste Durchschnittssignal gleich (2Vm*π/2), (3Vm*π/2) oder (4Vm*π/2) der Prioritätscodierer 458 das Inphase-Dibit als <01>, <10> bzw. <11>. Am Ende der Unterperiode T oder dementsprechend am Ende der Unterperiode B geht das Inphase-Freigabesignal auf 0, wodurch das erste MSB-FIip-Flop 426 das erste MSB hält und das erste LSB-Flip-Flop 428 das erste LSB hält.
  • Für den Fachmann ist ohne weiteres einzusehen, auf welche Weise der erste F-V-Umsetzer und die ADC-Einheit 420 modifizieren würde, um eine richtige Erzeugung des Inphase-Dibits für den Fall sicherzustellen, daß der erste getastete Litegrator 412 eine Schaltungsanordnung enthält, um eine zusätzliche Skalierung an der Amplitude des ersten gleichgerichteten Signals, beispielsweise durch einen Faktor von 1/π oder 2/π vorzunehmen.
  • Die Inphase-Rücksetz-, -Gate- und -Freigabe-Signale werden bei der Erzeugung des Inphase-Dibits über eine Demodulation des ersten gleichgerichteten Signals verwendet. Der Fachmann erkennt, daß die zweite ADC-Einheit 421 einen internen Aufbau hat, der mit demjenigen der ersten ADC-Einheit 420 identisch ist, und daß sie mit dem dritten F-V-Umsetzer 440, dem Qudraturphasen-MSB-FlipFlop 427 und dem Quadraturphasen-LSB-Flip-Flop 429 in der in 8 dargestellten Weise verbunden ist. Darüber hinaus ist dem Fachmann ohne weiteres verständlich, daß die Demodulation des zweiten gleichgerichteten Signals in einer Weise durchgeführt wird, die analog derjenigen ist, die vorstehend in Verbindung mit dem ersten gleichgerichteten Signal beschrieben worden ist, und wird entsprechend den in 9B dargestellten Quadraturphasen-Signalen zugeordnet, um das Quadraturphasen-Dibit zu erzeugen. Der Fachmann erkennt auch, daß das Quadraturphasen-Dibit um eine Unterperiode oder das Zeitintervall H später erzeugt wird, als das Inphase-Dibit.
  • Wie vorstehend beschrieben, werden ein Inphase- und eine Quadraturphasen-Dibit basierend auf der Modulation, die bei den ersten bzw. zweiten Systemreferenzsignalen angewendet worden ist, in der Master-Zeitbasiseinheit 12 erzeugt. Hierbei ist die Art und Weise, in welcher die vorerwähnten Dibit erzeugt werden, vorzugsweise durch das in 13C dargestellte Systemreferenzsignal-Demodulationsprotokoll festgelegt.
  • Wenn die Erfindung dazu verwendet wird, ein oder mehr lokale Zeitsteuersignale und/oder Nachrichtensignale an externen Komponenten zu schaffen, können externe Signale mit der hier beschriebenen Schaltung ausgetauscht werden. Dies kann ein Ankoppeln von externen Rauschen in das System 10 der Erfindung zur Folge haben, so beispielsweise werden hochschnelle digitale Signale über einen elektrischen Erdungspfad quer gekoppelt. In dem System 10 der Erfindung mildert der Prozeß eines kohärenten Empfangs diese Rausch-Kopplungssituation im wesentlichen durch die Verwendung von synchronen Empfang und einer Signalintegration in dem vorstehend beschriebenen Dibit-Rückgewinnungsprozeß. Das heißt, ein Rückgewinnen von Information wird im Kontext mit der hier beschriebenen inhärent Rauschen abweisenden Schaltung durchgeführt.
  • Die MA-Einheit 250 empfängt über die zweite Nachrichteneinheit 310 die Inphase-Dibits, die Quadraturphasen-Dibits sowie die Inphasen- und Quadraturphasen-Voraussignale, die von der kohärenten Empfangseinheit 200 erzeugt worden sind und erzeugt dementsprechend Nachrichten und organisiert Daten. Der Fachmann erkennt, daß die Nachrichten entsprechend einem Kennzeichnungsplan erzeugt werden, welcher hier durch den bevorzugten Signalisierplan der 5B vorgegeben ist. In 10 ist ein Blockdiagramm einer bevorzugten Ausführungsform der Nachrichten-Assembler-(MA-)Einheit 250 dargestellt. Die MA-Einheit 250 weist vorzugsweise eine Zeitsteuersynchronisier- (TS-) Einheit 500, einen Signal-Listenspeicher 540, eine Synchronsystem-Rücksetz-(SSR) Einheit 560, eine SystemUnterbrechungs-(SI-) Zustandseinrichtung 570 und eine Systemereignis-(SE-)Zustandseinrichtung 580, eine Synchrondatenkanal(SDC-) Zustandseinrichtung 590, einen Datenaufbau(DA-) Speicher 595 und einen Datenselektor 598 auf.
  • Die TS-Einheit 500 ist mit der zweiten Nachrichtenleitung 310 verbunden und erhält folglich das Inphasendibit, das Quadraturphasen-Dibit, das Inphasen- und das Quadraturphasen-Voraussignal. Die TS-Einheit 500 richtet vorübergehend jedes Inphasen-/Quadraturphasen-Dibitpaar aus, das von der kohärenten Empfangseinheit erhalten worden ist. In 11A ist ein Blockdiagramm einer bevorzugten Ausführungsform einer Zeitsteuersynchronisier-(TS-)Einheit 500 dargestellt. Die TS-Einheit 500 weist vorzugsweise vier Synchronisier-Flip-Flops 670 bis 673 und einen Ausgangsverstärker 675 auf, welcher entsprechend geschaltet ist, um das Quadraturphasen-Voraussignal zu erhalten. Der Ausgangsverstärker 675 hat einen Ausgang, welcher das Quadraturphasen-Voraussignal zu der SI-Zustandseinrichtung 570, der SE-Zustandseinrichtung 580, der SDC-Zustandseinrichtung 590 und dem DA-Speicher 595 über eine Taktleitung 640 leitet. Das Verwenden des Quadraturphasen-Voraussignals in jeder der SI-, SE- und SDC-Zustandseinrichtungen 570, 580 und 590 und des DA-Speichers 595 wird anhand von 12A bis 12D im einzelnen beschrieben.
  • Das erste Synchronisier-Flip-Flop 650 erhält das MSB des Inphasen-Dibits, d.h. das erste MSB. Das Synchronisier-Flip-Flop 271 erhält das LSB des Inphasen-Dibits. In ähnlicher Weise erhalten die dritten und vierten Synchronisier-Flip-Flops 672 und 673 das MSB und das LSB des Quadraturphasen-Dibits. Jedes der vier Flip-Flops 670 bis 673 hat einen Freigabeeingang, der vorgesehen ist, um das Inphasen-Voraus-Signal zu erhalten. Das Inphasen-Voraussignal leitet das Laden der Inphasen- und Quadraturphasen-Dibits in den Satzsynchronisations-Flip-Flops 670 bis 673. In 9B geht das Inphasen-Voraussignal von 0 auf 1 entsprechend dem Nulldurchgang-Übergang des ersten lokalen Referenzsignals von der Unterperiode A zu der Unterperiode B über. Das Inphasen-Voraus-Signal geht anschließend von 1 auf 0 entsprechend dem Nulldurchgang-Übergang des zweiten lokalen Referenzsignals von der Unterperiode T zu der Unterperiode U über. Das Inphasen-Voraussignal ist folglich für die Dauer einer einzigen Unterperiode hoch, welche hier aus das Zeitintervall H definiert ist. In der bevorzugten Ausführungsform halten die vier Synchronisations-Flip-Flops 671 bis 674 ein Signal, das an ihren Ausgängen vorhanden ist, entsprechend einem Niedrig-Hoch- oder einem Anstiegsflanken-Übergang in dem Inphasen-Voraussignal. Wie aus 9B zu ersehen ist, gibt es eine Zeitverzögerung, die gleich 3H ist, zwischen dem Halten des Inphasen-Dibits in der kohärenten Empfangseinheit 200 und dem Halten des Inphasen-Dibits in der TS-Einheit 500. In ähnlicher Weise gibt es auch eine Zeitverzögerung, welche gleich 2H ist, zwischen dem Halten des Quadraturphasen-Dibits in der kohärenten Empfangseinheit 200 und dem Halten dieses Dibits in der TS-Einheit 500. Da die Halteverzögerung bei den Inphasen- und Quadraturphasen-Dibits sich um H unterschieden, eliminiert die TS-Einheit 500 die Phasendifferenz zwischen jedem Inphasen/Quadraturphasen-Dibitpaar, das von der kohärenten Empfangseinheit 200 erhalten worden ist. Die ersten vier Flip-Flops 671 bis 674 geben ein vorübergehend ausgerichtetes Inphasen/Quadraturphasen-Dibitpaar an den Signal-Listenspeicher 540 über eine Adressenleitung 600 ab.
  • Der Signal-Listenspeicher 540 erhält jedes vorübergehend ausgerichtete Inphasen/Quadraturphasen-Dibitpaar und erzeugt dementsprechend Zustandssteuersignale. Der Speicher 540 gibt zusätzlich ein Kanalauswahlsignal ab. In 11B ist ein Blockdiagramm einer bevorzugten Ausführungsform des Signal-Listenspeichers 540 dargestellt. Der Speicher 540 weist vorzugsweise erste bis vierte Speicher 680 bis 683 und einen Kanal-Auswählspeicher 685 auf. In dem Signal-Listenspeicher 540 ist die Adressenleitung 600 in eine erste bis vierte Adressen-Auswählleitung 660 bis 663 unterteilt.
  • Jeder der vier Speicher 680 bis 683 hat einen ersten bis vierten Eingang, der mit der ersten, zweiten, dritten und vierten Adressen-Auswählleitung 660, 661, 662 bzw. 663 verbunden ist. Die vier Speicher 680 bis 683 erhalten vorzugsweise das MSB in dem Inphasen-Dibit auf der vierten Leitung 663, das LSB des Inphasen-Dibits auf der dritten Leitung 662, das MSB des Quadraturphasen-Dibits auf der zweiten Leitung 661 und das LSB des Quadraturphasen-Dibits auf der ersten Leitung 660.
  • Die vier Speicher 680 bis 683 haben jeweils eine Gruppe von Ausgängen, die Zustandssteuersignale an der SSR-Einheit 560, der SI- und SE-Zustandseinrichtung 570 bzw. 580 bzw. der SCD-Zustandseinrichtung 590 schaffen. Basierend auf den Werten des MSB und des LSB jedes der Inphasen- und Quadraturphasen-Dibits ist jeder Speicher 680 bis 683 als eine Verweistabelle wirksam und leitet eine ganz bestimmte Gruppe von Zustandssteuersignalen zu deren Ausgangsgruppe. In der bevorzugten Ausführungsform gibt der erste Speicher 680 ein Rücksetzsignal ab. Der zweite Speicher 681 gibt ein SI-Toggle-Signal, ein SI-Lösch-Signal und ein I-Setz signal ab. Der dritte Speicher 682 gibt ein SE-Toggle-, ein SE-Lösch- und eine SE-Setzsignal ab. Schließlich gibt der vierte Speicher 683 ein SDC-Freigabesignal, ein erstes, zweites und drittes SDC-Signal ab. Die Zustandssteuersignale, die von den vier Speichern 680 bis 683 abgegeben worden sind, leiten direkt die Operation der SSR-Einheit 560 und der Zustandseinrichtungen 570, 580, 590 in der MA-Einheit 250, um die Funktionen durchzuführen, die durch den bevorzugten Signalisierplan der 5B spezifiziert sind.
  • Der Kanal-Auswählspeicher 684 ist vorzugsweise ein Speicher zum Speichern und Abgeben eines Kanal-Auswählsignals, das die Operation des Datenselektors 598 der 10 steuert, welcher im einzelnen unten noch beschrieben wird. In der bevorzugten Ausführungsform ist jeder Speicher 680 bis 683 in dem Signal-Listenspeicher 540 als ein Festwertspeicher (ROM) mit einer rekonfigurierbaren und einer reprogrammierbaren Logikvorrichtung, wie beispielsweise einer FPGA, ausgeführt. Eine solche Ausführung sorgt für die flexible Spezifikation jedes Speicher-Mappings von Inphasen- und Quadraturphasen-Dibit-LSBs und MSBs in Zustandssteuersignale an ihren Ausgängen. Das heißt, durch Reprogrammieren oder Rekonfigurieren eines oder mehrerer Speicher 680 bis 683 in dem Signal-Listenspeicher 540 können die Zustandssteuersignale, die durch jeden der vier Speicher 680 bis 683 abgegeben worden sind, sowie das Kanal-Auswählsignal, das von dem Speicher 684 abgegeben worden ist, wahlweise geändert werden. In der bevorzugten Ausführungsform werden die vier Speicher 680 bis 683 in dem Signal-Listenspeicher 540 so konfiguriert, daß die Zustandssteuersignale die SSR-Einheit 560, die SI-, die SE- und die SDC-Zustandseinrichtung 570, 589 bzw. 590, um die Funktionen durchzuführen, die in dem bevorzugten Signalisierplan von 5B definiert sind. Der Fachmann erkennt, daß ein oder mehrere Speicher 680 bis 683 in dem Signal-Listenspeicher 540 wahlweise rekonfiguriert werden können, um Funktionen außer denen durchzuführen, die in 5B defuiniert sind.
  • In der bevorzugten Ausführungsform zeigt das Rücksetzsignal, das von dem Signal-Listenspeicher 540 abgegeben worden ist, ob ein systemweites Rücksetzen erforder lich ist. Wenn ein systemweites Rücksetzen erforderlich ist, gibt die SSR-Einheit 560 ein SSR-Signal ab, welches als die Funktion SSR "Geltendmachen" in 5B angezeigt ist. In 12A ist ein Blockdiagramm einer bevorzugten Ausfüahrungsform der Synchronsystem-Rücksetz-(SSR-)Einheit 560 dargestellt. Die SSR-Einheit 560 weist ein erstes und ein zweites Flip-Flop 900 bzw. 902 auf. Die SSR-Einheit 560 ist vorgesehen, um das Rücksetzsignal aufzunehmen, das von dem Signal-Listenspeicher 590 an einen Freigabe-Eingang des ersten Flip-Flops 900 abgegeben worden ist. Jedes der beiden Flip-Flops 900, 902 hat einen Takteingang, welcher mit der Taktleitung 640 verbunden ist. Das erste Flip-Flop 900 hat einen Eingang, der an ein Hoch-Signal angekoppelt ist, und das zweite Flip-Flop 902 hat einen Eingang, der mit einem Ausgang des ersten Flip-Flops 900 verbunden ist. Der Ausgang des ersten Flip-Flops 900 stellt einen Ausgang der SSR-Einheit 560 dar, an welcher das SSR-Signal erzeugt wird. Schließlich hat das erste Flip-Flop 900 einen Rücksetzeingang, der mit einem Ausgang des zweiten Flip-Flops 902 verbunden ist. Für den Fall, daß das Rücksetzsignal auf einen hohen Zustand übergeht, wird das SSR-Signal über zwei Systemreferenzsignal-Perioden, d.h. ein Zeitintervall von 8H, was durch das Quadraturphasen-Voraussignal synchronisiert ist, auf einem hohen Zustand gehalten. Das SSR-Signal wird zu jeder der SI-, SE-, und SDC-Zustandseinrichtungen 570, 580 bzw. 590 und zu dem Datenselektor 598 über eine SSR-Leitung 650 geleitet.
  • Die SI-Toggle-, SI-Rücksetz- und SI-Setz-Signale, die von dem Signal-Listenspeicher 540 abgegeben worden sind, spezifizieren, daß ein System-Unterbrechungssignal SI entsprechend dem in 5B dargestellten Funktionen "SI-Kippen", "SI auf L setzen" und "SI auf H setzen" zu kippen, zurückzusetzen bzw. zu setzen ist. Die SI-Zustandseinrichtung 570 gibt das SI-Signal ab. In 12B ist ein Blockdiagramm einer bevorzugten Ausführungsform der Systemunterbrechungs-(SI-)Zustandseinrichtung 570 dargestellt. Die SI-Zustandseinrichtung 570 weist ein erstes J-K-Flip-Flop 570 auf, das vorgesehen ist, um das SI-Setzsignal an einem Setzeingang, das SI-Kippsignal jeweils an einem J-K-Eingang und jeweils das SR-Signal und das SI-Löschsignal an einem Rücksetzeingang über eine ODER-Funktion aufzunehmen. Das erste J-K-Flip-Flop 110 hat zusätzlich einen Takteingang, der mit der Taktleitung 640 verbunden ist und einen Ausgang, der einen Ausgang der SI-Zustandseinrichtung 570 bildet, an welcher das SI-Signal erzeugt wird. In der bevorzugten Ausführungsform sind die SI-Setz-, SI-Kipp- und die SI-Lösch-Signale an das erste J-K-Flip-Flop 960 angelegt, um das SI-Signal in einer Weise zu setzen, zu kippen und zurückzusetzen.
  • Die SE-Kipp-, SE-Rücksetz- und SE-Setz-Signale, die von dem Signal-Listenspeicher 540 abgegeben worden sind, spezifizieren, daß ein Systemereignis-Signal SE entsprechend den in 5B dargestellten Funktionen "SE Kippen", "SE auf L setzen" und "SE auf H setzen" zu kippen, zurückzusetzen bzw. zu setzen ist. Die SE-Zustandseinrichtung 570 gibt das SE-Signal ab. In 12C ist ein Blockdiagramm einer bevorzugten Ausführungsform der Systemereignis-Zustandseinrichtung 580 dargestellt, welche hinsichtlich ihres Aufbaus und ihrer Verbindungen vorzugsweise identisch mit den jenigen der SI-Zustandseinrichtung 590 ist, mit der Ausnahme, daß die SI-Setz-, SI-Lösch- und die SI-Kipp-Signale durch die SE-Setz-, SE-Lösch- und die SE-Kipp-Signale so zu ersetzen sind, wie dargestellt ist. Die Art und Weise, in welcher das SE-Signal erzeugt wird, ist für den Fachmann ohne weiteres verständlich.
  • In 10 ist der Datenselektor 598 vorgesehen, um jeweils das SSR-, SI- und das SE-Signal zu empfangen. Der Datenselektor 598 hat zusätzlich einen Steuereingang, um das Kanalauswählsignal aufzunehmen, das von dem Speicher 598 abgegeben worden ist. Der Datenselektor 598 ist vorzugsweise mit Hilfe einer Gruppe von herkömmlichen Datenselektoren ausgeführt. Basierend auf dem Kanalauswählsignal leitet der Datenselektor 598 die SSR-, die SI- und die SE-Signale zu dem ersten oder dem zweiten Signalisierkanal 320 bzw. 330. Die Erfindung erleichtert folglich den selektiven synchronen Transfer einer Vielzahl von Signalen zu einer Vielzahl Bestimmungsstellen. Selbstverständlich können in einer weiteren Ausführungsform auch zusätzliche oder weniger Kennzeichnungskanäle 320, 330 benutzt werden. Wenn die SSR-, SE- und SI-Signale zu dem ersten Kennzeichnungskanal 320 geleitet worden sind, schaffen sie ein Mittel zum Kennzeichnen eines ersten Satzes von externen Komponenten. In analoger Weise schaffen, wenn die SSR-, SE- und SI- Signale zu den zweiten Kennzeichnungskanal geleitet werden, diese ein Mittel zum Kenn zeichnen eines zweiten Satzes von externen Komponenten. Selbstverständlich kann jeder Satz externer Komponenten die SSR-, SI- und SE-Signale unterschiedlich interpretieren.
  • Die SDC-Zustandseinrichtung 590 steuert Daten-Assembler-Operationen, bei welchen die ersten, zweiten und dritten SDC-Signale, die von dem Signal-Listenspeicher 540 abgegeben worden sind, in dem DA-Speicher 595 in Datenworte gruppiert und an den Synchrondaten-Kanal 340 abgegeben werden. In 12D ist ein Blockdiagramm einer bevorzugten Ausführungsform der Synchrondatenkanal-(SDC-)Zustandseinrichtung 590 und der Daten-Assembler-(DA-)Speicher 595 dargestellt ist. Die SDC-Zustandseinrichtung 590 weist einen Mehrstufen-Puffer 930 und einen Folgezähler 940 auf. Der Mehrstufen-Puffer 930 ist vorgesehen, um die ersten bis dritten SDC-Signale sowie das SDC-Freigabesignal aufzunehmen, das von dem Signal-Listenspeicher 540 abgegeben worden ist. Der Puffer 930 ist zusätzlich vorgesehen, um das Quadraturphasen-Voraussignal über die Taktleitung 640 zu erhalten. In der bevorzugten Ausführungsform weist der Mehrstufenspeicher 930 D-Flip-Flops auf, die drei Stufen bilden. In einer vorgegebenen Stufe hat jedes D-FlipFlop einen Ausgang, der mit einem Eingang eines entsprechenden D-Flip-Flops in der nachfolgenden Stufe verbunden ist. Darüber hinaus hat jedes D-Flip-Flop in dem Mehrstufen-Puffer 930 einen Ausgang, der mit einem Ausgang des DA-Speicher 595 verbunden ist. Die Flip-Flops in jeder Stufe werden durch das Quadraturphasen-Voraussignal getaktet und durch das SDC-Freigabesignal freigegeben. Für den Fachmann ist selbstverständlich, daß, wenn der Mehrstufen-Puffer 39 freigegeben ist, jeder Quadraturphasen-Voraussignal-Impuls eine erste Gruppe der ersten bis dritten SDC-Signale von der zweiten in die dritte Stufe, eine zweite Gruppe der ersten bis dritten SDC-Signale von der ersten in die zweite Stufe und eine dritte Gruppe der ersten SDC-Signale, die von dem Signal-Listenspeicher 540 abgegeben worden sind, in die erste Stufe taktet. Folglich wird ein vorgegebener Satz der ersten bis dritten SDC-Signale von einer in die nächste Stufe entsprechend dem Quadraturphasen-Voraussignal übertragen.
  • Der Folgezähler 940 gibt ein periodisches Freigabesignal an den DA-Speicher 595 ab. Hierbei ist der Zähler 940 entsprechend geschaltet, um das Quadraturphasen-Voraussignal und das SDC-Freigabesignal zu erhalten. Der Folgezähler 940 weist vorzugsweise Flip-Flops auf, die entsprechend geschaltet sind, um eine binäre Folge so abzugeben, daß ein Laden des DA-Speichers 595 entsprechend einer periodischen Anzahl von Quadraturphasen-Voraussignal-Impulsen freigegeben wird. Für einen Mehrstufen-Puffer 940 mit einer Anzahl Stufen, die als S definiert sind, gibt der Folgespeicher 940 vorzugsweise das periodische Freigabesignal ab, so daß ein Laden des DA-Speichers 595 jeweils für jeden (S1)-ten Quadraturphasen-Voraussignalimpuls freigegeben wird.
  • Der DA-Speicher 595 weist vorzugsweise ein herkömmliches Register auf, das vorgesehen ist, um das Quadraturphasen-Voraussignal, das periodische Freigabesignal und Signale aufzunehmen, die von dem Mehrstufen-Puffer 930 abgegeben worden sind. Wenn das periodische Freigabesignal auf einen hohen Zustand übergeht, lädt der DA-Speicher 595 die Ausgänge jeder Stufe in den Puffer 930. In der bevorzugten Ausführungsform gibt der Mehrstufen-Puffer 930 neun Bits ab, welche als acht Datenbits plus einem Paritätsbit in der in 12D dargestellten Weise gruppiert sind. Für den Fachmann ist es selbstverständlich, daß der DA-Puffer 595 entsprechend ausgeführt werden könnte, um zusätzliche oder weniger Bits abzugeben. Der DA-Speicher 595 gibt die geladenen Bitdaten und das Paritätsbit an den Synchrondatenkanal 340 ab. Der Fachmann weilt, daß bei einer anderen Ausführungsform der DA-Speicher 595 ein oder mehr Bits an einen zusätzlichen (nicht dargestellten) Synchrondatenkanal abgeben könnte. Eine derartige Ausführungsform könnte gleichzeitig Untergruppen von Bits abgeben, um Synchron-Datenkanäle zu trennen oder um einen vorgegebenen Synchron-Datenkanal über einen Datenselektor oder eine umprogrammierbare Logik auszuwählen.
  • Über den Signal-Listenspeicher 540, die SDC-Zustandseinrichtung 590 und den DA-Speicher 595 erleichtert die Erfindung Datenübertragungsoperationen, in welchen Daten synchron von der Master-Zeitbasiseinheit 12 an jede lokale Zeitbasiseinheit 22 übertragen werden. Da die Daten über den Modulator 32 in die Systemreferenzsignale codiert werden, weiß der Fachmann, daß die Erfindung hochschnelle Datenübertragungsoperationen erleichtert, welche beim Stand der Technik nicht möglich sind.
  • Ferner erkennt der Fachmann, daß im allgemeinen die SI-, SE- und SDC-Zustandseinrichtung 570, 580 und 590 Zustandseinrichtungen sind, um Systemunterbrechungs-, Systemrücksetz- bzw. Synchrondaten-Operationen durchzuführen. Folglich weiß der Fachmann auch, daß andere Ausführungen der SI-, SE- und SDC-Zustandseinrichtungen 570, 580 und 590 möglich sind.
  • Verfahrensschritte
  • In 14A ist ein Ablaufdiagramm von bevorzugten Operationen der Master-Zeitbasiseinheit dargestellt. Diese Operationen der Master-Zeitbasiseinheit 12 beginnen beim Schritt 2000 mit der Erzeugung der ersten und zweiten Systemreferenzsignale durch das CRS 30, wobei die ersten und zweiten Systemreferenzsignale zu dem ursprünglichen Frequenz-Referenzsignal in der vorbeschriebenen Weise phasenstarr sind. In der bevorzugten Ausführungsform sind die ersten und zweiten Systemreferenzsignale sinusförmige Signale mit einer Quadraturphasen-Beziehung. Als nächstes erzeugt beim Schritt 2002 die MSM 34 Bitfolgen. und Informationssignale gemäß den Nachrichtenübermittlungssignalen, die an deren Eingang erhalten worden sind. Wie vorher beschrieben, verwendet die MSM 34 die ersten und zweiten Systemreferenzsignale, um synchron die Bitfolgen und Informationssignale zu erzeugen. Im Anschluß an den Schritt 2002 moduliert der Modulator 32 synchron die ersten und zweiten Systemreferenzsignale entsprechend den Informationssignalen, die von der MSM 34 Informationssignale beim Schritt 2004 erzeugt worden sind. Beim Schritt 2004 ist die Modulation vorzugsweise eine Direktträger-Amplitudenmodulation (AM) Nach dem Schritt 2004 werden die ersten bzw. zweiten modulierten Systemreferenzsignale auf jede lokale Zeitbasiseinheit 22 über die ersten und zweiten Verteilungsverstärker 36, 38 und die ersten und zweiten Leitungen 16, 18 des Systembus 14 beim Schritt 2006 verteilt, worauf dann das bevorzugte Verfahren beendet ist. Die bevorzugten, in 14A dargestellten Operationen der Master-Zeitbasiseinheit sind zum leichteren Verständnis als einzige Folge beschrieben worden. Der Fachmann weiß jedoch, daß jeder der vorerwähnten Schritte fortlaufend und synchron relativ zu jedem anderen Schritt während einer normalen Systemoperation durchgeführt werden kann.
  • In 14B ist ein Ablaufdiagramm von bevorzugten Operationen einer lokalen Zeitbasiseinheit dargestellt. Die bevorzugten Operationen der lokalen Zeitbasiseinheit 22 beginnen beim Schritt 2010 mit der Erzeugung der ersten und zweiten lokalen Referenzsignale durch den lokalen QRO 202, wobei die lokalen Referenzsignale zu den modulierten Systemreferenzsignalen über den zweiten Phasendetektor 204 und das zweite Schleifenfilter 206, wie vorstehend beschrieben, phasenstarr sind.
  • Die lokale Zeitbasiseinheit 22 erzeugt gleichzeitig ein lokales Zeitsteuersignal und demoduliert die ersten und zweiten Systemreferenzsignale nach dem Schritt 2010. Bei der Erzeugung des lokalen Zeitsteuersignals erzeugt der LTO 208 das versetzte Signal beim Schritt 2012. Als nächstes erzeugen der Zeitsteuersignal-Mischer 210 und das Zeitsteuersignalfilter das lokale Zeitsteuersignal über eine Frequenz-Aufwärtsumwandlung beim Schritt 2014 in der vorstehend beschriebenen Weise. Da das lokale Zeitsteuersignal über eine Frequenz-Aufwärtsumwandlung erzeugt wird, ist die Frequenz des lokalen Zeitsteuersignals höher als die der ersten und zweiten Sysfemreferenzsignale. Nach dem Schritt 2014 erzeugen die ersten und zweiten Referenzteiler 220, 222 eine frequenzgeteilte Version des lokalen Zeitsteuersignals bzw. eine frequenzgeteilte Version des zweiten lokalen Referenzsignals beim Schritt 2016. Die frequenzgeteilten Versionen des lokalen Zeitsteuersignals und des zweiten lokalen Referenzsignals sind dann beim Schritt 2018 phasenstarr verriegelt. Die Verwendung von umprogrammierbaren und rekonfigurerbaren Referenzteilern 220, 222 in Verbindung mit einer Phasenverriegelung erleichtert die programmierbare Spezifizierung der Frequenz des lokalen Zeitsteuersignals in einem Frequenzbereich.
  • Bei der Demodulation der ersten und zweiten modulierten Systemreferenzsignale demoduliert die kohärente Empfangseinheit 200 synchron die ersten und zweiten modulierten Systemreferenzsignale beim Schritt 2020, wodurch Bitfolgen zurückgewonnen werden, die in die ersten und zweiten Systemreferenzsignale durch den Modulator 32 in der Master-Zeitbasiseinheit 12 codiert wurden. Als nächstes decodiert die MA-Einheit 250 synchron die Bitfolgen, die von der kohärenten Empfangseinheit 200 abgegeben worden sind, entsprechend einem Kennzeichnungsplan beim Schritt 2022, um dadurch Nachrichten und/oder Daten zu erzeugen. Im Anschluß an den Schritt 2022 gibt die MA-Einheit 250 synchron Nachrichten an einen Kennzeichnungskanal 320, 330 beim Schritt 2024 ab. Die MA-Einheit 250 gruppiert zusätzlich Synchrondaten in einem oder mehreren Worten beim Schritt 2026, worauf dann die MA-Einheit 250 jedes Datenwort beim Schritt 2028 an den Synchrondatenkanal 340 abgibt. Im Anschluß an jeden der Schritte 2018 und 2028 endet das bevorzugte Verfahren. Die bevorzugten, in 13B dargestellten Operationen einer lokalen Zeitbasiseinheit sind zum leichteren Verständnis als eine nicht-wiederholbare Folge beschrieben. Der Fachmann weiß jedoch, daß jeder der in 14B dargestellten Schritte fortlaufend und synchron bezüglich jedes anderen Schrittes während einer normalen Systemoperation durchgeführt wird.
  • Im Unterschied zu nahezu allen bekannten Systemen und Verfahren zum Erzeugen und Verteilen eines Referenz-Zeitsteuersignals werden gemäß der Erfindung sinusförmige Signale und nicht Rechteckwellensignale erzeugt und verteilt. Der Fachmann weiß, daß die Erzeugung und Verteilung von Rechteckwellensignalen insbesondere bei hohen Frequenzen schwierig ist, da mehr Strom und erheblich mehr Verstärkung erforderlich ist, um zuverlässig schnelle, einen geringen Zeitversatz aufweisende Wellensignale als sich gleichmäßig ändernde sinusförmige Signale zu erzeugen. Zusätzlich sind Impulsreflexionen entlang eines Verteilungswegs viel stärker bei Rechteckwellensignalen, da die Größe jeder Reflexion proportional zu der Ableitung der Signalanstiegszeit ist. Bei der vorliegenden Erfindung sind somit in vorteilhafter Weise die Probleme vermieden, die mit der Erzeugung und einer systemweiten Verteilung eines Rechteckwellensignals zusammenhängen. Im allgemeinen können mit der vorliegenden Erfindung zuverlässig Signale mit einer viel höheren Frequenz auf einer systemweiten Basis als bei herkömmlichen Systemen und Methoden erzeugt und verteilt werden, die auf Rechteck(wellen)signalen basieren.
  • Die ersten und zweiten modulierten Systemreferenzsignale werden jeweils an die lokale Zeitbasiseinheit 22 mit Hilfe eines einzigen Verteilungsverstärkers 36, 88 und eines impedanzgesteuerten Systembus 14 verteilt, vorzugsweise über eine herkömmliche Streifenleitung oder Mikrostrip-Übertragungsleitungstechnologie (d. h eine Metall- und Erdungsebene) ausgeführt ist. In jeder lokalen Zeitbasiseinheit 22 ist ein einziger lokaler Pufferverstärker 232, 234 hoher Impedanz vorgesehen, um ein vorgegebenes moduliertes Systemreferenzsignal zu empfangen, um dadurch sicherzustellen, daß die lokale Zeitbasiseinheit 22 mit dem Systembus 14 im wesentlich reflexionsfrei verbunden ist. Das System 10 gemäß der Erfindung kann daher skaliert bzw. normiert werden, um zusätzliche lokale Zeitbasiseinheiten 22 unterzubringen, indem die Länge des Systembus 14 vergrößert und der Leitungsabschluß 20 verschoben wird.
  • Gemäß der Erfindung ist eine Frequenz-Aufwärtsumwandlung in jeder lokalen Zeitbasiseinheit 22 verwendet, um ein lokales Zeitsteuersignal mit einer höheren Frequenz als die der Systemreferenzsignale zu erzeugen. Im Gegensatz hierzu ist bei herkömmlichen Systemen und Verfahren für eine Verteilung von Zeitsteuersignalen ein Systemzeitsteuer-Referenzsignal entweder 1) direkt genutzt, 2) frequenzgeteilt oder 3) abwärtsgewandelt, um lokal genutzte Zeitsteuersignale zu erzeugen. Daher braucht bei der Erfindung ein hochfrequentes Signal nicht auf einer systemweiten Basis erzeugt und verteilt zu werden, um ein hochfrequentes lokal genutztes Zeitsteuersignal zu erzeugen. Ein gravierender Unterschied zu herkömmlichen Systemen und Verfahren besteht darin, daß die Systemreferenzsignale in der Frequenz viel niedriger sein können als ein vorgegebenes lokales Zeitsteuersignal. Darüber hinaus ist bei der Erfindung eine Einrichtung vorgesehen, um vielfache, aufwärtsumgewandelte Zeitsteuersignale parallel zu erzeugen, wobei jedes unabhängig von einem anderen, und trotzdem synchronisiert und synchronisierbar ist, ohne daß eine spezielle Synchronisierschaltung an jeder lokalen Zeitbasiseinheit 22 erforderlich ist. Ferner erfordert außer für POR-Situationen das Zeitsteuer-Nachrichtenübermittlungssystem 10, wie es hier beschrieben ist, keine Synchronisiereinheiten irgendwo an irgendeiner Bereichsgrenze in dem System 10. Herkömmliche Systeme und Verfahren weisen keine ähnlichen Vorteile auf.
  • In der bevorzugten Ausführungsform sind gemäß der Erfindung programmierbare oder rekonfigurierbare Frequenzteiler in jeder lokalen Zeitbasiseinheit 22 vorgesehen, so daß die lokalen Zeitsteuersignal-Frequenzen programmierbar auf einer individuellen Basis zu jeder vorgegebenen Zeit spezifiziert werden können. Herkömmliche Systeme und Verfahren für eine Zeitsteuersignal-Erzeugung haben diesen Vorteil nicht. Die Verwendung einer phasenstarren Verriegelung stellt sicher, daß die Erfindung in hohem Maße geschützt vor digitalem Rauschen ist. Der Fachmann erkennt, daß phasenstarre Schleifen äquivalent zu Filtern sind, welche durch Q-Werte, in den Millionen gekennzeichnet sind, wodurch das genaue Takten von Signalen beim Vorhandensein von Rauschen erleichtert ist.
  • Die Art und Weise, in welcher bei der Erfindung ein Quadratur-Kennzeichen in Verbindung mit phasenstarrer Verriegelung genutzt wird, erleichtert eine synchrone frequenzunabhängige Demodulation der Systemreferenzsignale. Dadurch wiederum ist ein Mittel geschaffen, um synchrone oder beinahe synchrone Kennzeichnungs- und Datenübertragungsoperationen auf einer systemweiten Basis durchzuführen. Herkömmliche Systeme oder Verfahren können auf diese Weise nicht betrieben werden.
  • Ferner könnte beispielsweise die vorliegende Erfindung entsprechend modifiziert werden, um bei Frequenzen über 1 GHz zu arbeiten. Als weiteres Beispiel könnte die vorliegende Erfindung dahingehend modifiziert werden, um mit Signalen zu arbeiten, die eine Nicht-Quadraturphasenbeziehung oder eine nicht-sinusförmige Wellenform haben. Als noch ein weiteres Beispiel können ein oder mehrere Teile der Erfindung in einer integrierten Schaltung verknüpft werden.
  • In 15 ist ein Blockdiagramm einer bevorzugten Ausführungsform eines Systems 3010 für ein skalierbares, paralleles, dynamisch rekonfigurierbares Berechnen dargestellt, das gemäß der Erfindung ausgeführt wird. Das System 3010 weist vorzugsweise zumindest eine S-Einrichtung 3012, eine T-Einrichtung 3014 entsprechend jeder S-Einrichtung 3012, eine universelle Verbindungsmatrix (GPIM) 3016, zumindest eine Ein-/Ausgabe-T-Einrichtung 3018, ein oder mehrere Ein-/Ausgabevorrichtungen 3020 und eine Master-Zeitbasiseinheit 3022 auf. In der bevorzugten Ausführungsform weist das System 3010 mehrere S-Einrichtungen 3012 und folglich mehrere T-Einrichtungen 3014 plus mehrere Ein-/Ausgabe-T-Einrichtungen 3018 und mehrere Ein-/Ausgabe-Vorrichtungen 3020 auf.
  • Jede der S-Einrichtungen 3012, der T-Einrichtungen 3014 und der Ein-/Ausgabe-T-Einrichtungen 3018 hat einen Master-Zeitsteuereingang, der mit einem Zeitsteuerausgang der Master-Zeitbasiseinheit 3022 verbunden ist. Jede S-Einrichtung 3012 hat einen Eingang und einen Ausgang, der mit der entsprechenden T-Einrichtung 3014 verbunden ist. Zusätzlich zu dem Eingang und dem Ausgang, der mit der entsprechenden S-Einrichtung 3012 verbunden ist, hat jede T-Einrichtung 3014 einen Leiteingang und einen Leitausgang, welche mit der GPI-Matrix 3016 verbunden sind. Dementsprechend hat jede Ein-/Ausgabe-T-Einrichtung 3018 einen Eingang und einen Ausgang, welcher mit einer Ein-/Ausgabe-Vorrichtung 3020 verbunden ist, und einen Leiteingang und einen Leitausgang, der mit der GPI-Matrix 3016 verbunden ist.
  • Wie unten im einzelnen noch beschrieben wird, ist jede S-Einrichtung 3012 ein dynamisch rekonfigurierbarer Rechner. Die GPI-Matrix 3016 stellt ein paralleles Punkt-zu-Punkt-Verbindungsmittel dar, welches eine Kommunikation zwischen T-Einrichtungen 3014 erleichtert. Der Satz T-Einrichtungen 3014 und die GPI-Matrix 3016 bilden ein paralleles Punkt-zu-Punkt-Verbindungsmittel für einen Datentransfer zwischen S-Einrichtungen 3012. In ähnlicher Weise bilden die GPI-Matrix 3016, der Satz T-Einrichtungen 3014 und der Satz Ein-/Ausgabe-T-Einrichtungen 3018 ein paralleles Punkt-zu-Punkt-Verbindungsmittel für einen Ein-/Ausgabe-Transfer zwi schen S-Einrichtungen 3012 und jeder Ein-/Ausgabevorrichtung 3020. Die Master-Zeitbasiseinheit 3022 weist einen Oszillator auf, der ein Master-Zeitsteuersignal zu jeder S-Einrichtung 3012 und jeder T-Einrichtung 3014 schafft.
  • In einer beispielhaften Ausführungsform ist jede S-Einrichtung 3012 durch Verwenden eines Xilinx C4013 (Xilinx, Inc., San Jose, CA) feldprogrammierbaren Gate-Array (FPGA) ausgeführt, das mit einem 64 Megabyte Randomspeicher (RAM) verbunden ist. Jede T-Einrichtung 3014 ist durch Verwenden von annähernd 50 der rekonfigurierbaren Hardware-Ressourcen in einem Xilinx XC4013 FPGA ausgeführt, ebenso jede Ein-/Ausgabe-T-Einrichtung 3018 ist. Die GPI-Matrix 3014 ist als ein ringförmiges Verbindungsmaschennetz ausgeführt. Die Master-Zeitbasiseinheit 3020 ist ein Taktoszillator, der vorgesehen ist, um eine Verteilungsschaltung zu takten, um eine systemweite Frequenzreferenz zu schaffen. Vorzugsweise übertragen die GPI-Matrix 3014 die T-Einrichtung 3012 und die Ein-/Ausgabe-T-Einrichtung 3018 Information entsprechend ANSI/IEEE-Standard 1596 bis 1992, wodurch ein skalierbares kohärentes Interface (SCI) definiert ist.
  • In der bevorzugten Ausführungsform weist das System 3010 mehrere S-Einrichtungen 3012 auf, welche parallel arbeiten. Der Aufbau und die Funktionalität jeder der einzelnen S-Einrichtungen 3012 wird im einzelnen anhand von 16 bis 26B beschrieben. In 16 ist ein Blockdiagramm einer bevorzugten Ausführungsform einer S-Einrichtung 3012 dargestellt. Die S-Einrichtung 3012 weist eine erste lokale Zeitbasiseinheit 3030, eine dynamisch rekonfigurierbare Verarbeitungs-(DRP-)Einheit 3032 zum Ausführen von Programmbefehlen und einen Speicher 3034 auf. Die erste lokale Zeitbasiseinheit 303 hat einen Zeitsteuereingang, welche den Master-Zeitsteuereingang der S-Einrichtung bildet. Die erste lokale Zeitbasiseinheit 3030 hat auch einen Zeitsteuerausgang, der ein erstes lokales Zeitsteuersignal oder ein Taktsignal an einem Zeitsteuereingang der DRP-Einheit 3032 und an einem Zeitsteuereingang des Speichers 3034 über eine erste Zeitsteuerleitung 3040 schafft. Die DRP-Einheit 3032 hat einen Steuersignal-Ausgang, der mit einem Steuersignaleingang des Speichers 3034 über eine Speichersteuerleitung 3042 verbunden ist, einen Adressen ausgang, der mit einem Adresseneingang des Speichers 3034 über eine Adressenleitung 3044 verbunden ist, und einen zweiseitig gerichteten Steuerport, der mit einem zweiseitig gerichteten Steuerport des Speichers 3034 über eine Speicher-Ein-/Ausgabeleitung 3046 verbunden ist. Die DPR-Einheit 3032 hat zusätzlich einen zweiseitig gerichteten Steuerport, der über einen zweiseitig gerichteten Steuerport der entsprechenden T-Einrichtung 3014 über eine externe Steuerleitung 3048 verbunden ist. Wie in 16 dargestellt, überspannt die Speichersteuerleitung 3042 X-Bits; die Adressenleitung 3044 überspannt M-Bits; die Speicherein-/Ausgabeleitung 3046 überspannt (N × k) Bits und die externe Steuerleitung 3048 überspannt Y-Bits.
  • In der bevorzugten Ausführungsform empfängt die erste lokale Zeitbasiseinheit 3030 das Master-Zeitsteuersignal bzw. Master-Taktsignal von der Master-Zeitbasiseinheit 3022. Die erste lokale Zeitbasiseinheit 3030 erzeugt das erste lokale Zeitsteuersignal auf dem Master-Zeitsteuersignal und gibt das erste lokale Zeitsteuersignal an die DRP-Einheit 3032 und den Speicher 3034 ab. In der bevorzugten Ausführungsform kann sich das erste lokale Zeitsteuersignal von einer S-Einrichtung 3012 zur anderen ändern. Folglich arbeiten die DRP-Einheit 3032 und der Speicher 3034 in einer vorgegebenen S-Einrichtung 3012 mit einer unabhängigen Taktrate bezüglich der DRP-Einheit 3032 und dem Speicher 3034 in einer anderen S-Einrichtung 3012. Vorzugsweise ist das erste lokale Zeitsteuersignal phasensynchronisiert mit dem Master-Zeitsteuersignal. In der bevorzugten Ausführungsform ist die erste lokale Zeitbasiseinheit 3030 durch Verwenden einer phasengekoppelten Frequenzumwandlungsschaltung ausgeführt, die eine phasengekoppelte Detektionsschaltung enthält, die mit Hilfe von rekonfigurierbaren Hardware-Ressourcen augeführt ist. Der Fachmann weiß, daß in einer alternativen Ausführungsform die erste lokale Zeitbasiseinheit 3030 auch als ein Teil eines Taktverteilungsbaums ausgeführt sein könnte.
  • Der Speicher 3034 ist vorzugsweise als ein RAM ausgeführt und speichert Programmbefehle, Programmdaten und Konfigurationsdatensätze für die DRP-Einheit 3032. Der Speicher 3034 einer vorgegebenen S-Einrichtung 3012 ist vorzugsweise für eine andere S-Einrichtung 3012 in dem System 3010 über die GPI-Matrix 3016 zugänglich. Darüber hinaus ist jede S-Einrichtung 3012 vorzugsweise dadurch gekennzeichnet, daß sie einen gleichförmigen Speicheradressenplatz hat. In der bevorzugten Ausführungsform enthalten Programmbefehle, die in dem Speicher 3040 selektiv gespeichert sind, Rekonfigurationsanweisungen, die in Richtung der DRP-Einheit 3032 gerichtet sind.
  • In 17A weist die beispielhafte Programmauflistung 3050 einen Satz Außenschleifenteile 3052, sowie erste bis fünfte Innenschleifenteile 3050 bis 3057 auf. Wie der Fachmann weiß, verweist der Begriff "Innenschleife" auf einen iterativen Teil eines Programms, das dafür verantwortlich ist, einen ganz bestimmten Satz verwandter Operationen durchzuführen, und der Begriff "Außenschleife" verweist auf die Teile eines Programms hin, die hauptsächlich dafür verantwortlich sind, universelle Operationen und/oder eine Übertragungssteuerung von einem Innenschleifenteil zu einem anderen durchzuführen. Im allgemeinen führen Innenschleifenteile 3054 bis 3058 eines Programms spezifische Operationen an möglicherweise großen Datensätzen durch. Bei einer Bildverarbeitungsanwendung kann der erste innere Schleifenteil 3054 Farbformat-Umsetzoperationen an Bilddaten durchführen, und die zweiten bis fünften Innenschleifenteile 3055 bis 3058 können eine lineare Filterung, eine Faltung, Mustersuch- und Kompressionsoperationen durchführen. Wie der Fachmann weiß, kann eine aneinanderhängene Folge von Innenschleifenteilen 3055 bis 3058 als eine Software-Pipeline betrachtet werden. Jeder Außenschleifenteil 3052 würde für eine Daten-Ein-/Ausgabe und/oder für ein Leiten der Datenübernagung und ein Steuern von dem ersten Innenschleifenteil 3054 zu dem zweiten Innenschleifenteil 3055 verantwortlich sein. Zusätzlich erkennt der Fachmann, daß ein vorgegebener Innenschleifenteil 3054 bis 3058 eine oder mehrere Rekonfigurationsanweisungen enthalten kann. Im allgemeinen werden für ein vorgegebenes Programm die Außenscheifenteile 3052 der Programmauflistung 3050 eine Vielfalt von universellen Befehlstypen enthalten, während die Innenschleifenteile 3054, 3056 der Programmauflistung 3050 aus verhältnismäßig wenigen Befehlstypen bestehen, die verwendet werden, um eine spezifische Menge an Operationen durchzuführen.
  • In einer beispielhaften Programmauflistung 3050 erscheint eine erste Konfigurationsanweisung am Anfang des ersten Innenschleifenteils 3054, und eine zweite Rekonfigurationsanweisung erscheint am Ende des ersten Innenschleifenteils 3054. Dementsprechend erscheint eine dritte Konfigurationsanweisung zu Beginn des zweiten Innenschleifenteils 3055; eine vierte Rekonfigurationsanweisung erscheint zu Beginn des dritten Innenschleifenteils 3056; eine fünfte Rekonfigurationsanweisung erscheint zu Beginn des vierten Innenschleifenteils 3057 und eine sechste und siebte Rekonfigurationsanweisung erscheint am Anfang bzw. am Ende des fünften Innenschleifenteils 3058. Jede Rekonfigurationsanweisung verweist vorzugsweise auf einen Rekonfigurationsdatensatz, welcher eine interne DRPU-Hardware-Organisation spezifiziert, die auf die Ausführung einer ganz bestimmen Befehlssatz-Architektur (ISA) gewidmet und dafür optimiert worden ist. Eine IS-Architektur ist ein Stamm- oder Kernsatz von Informationen, die verwendet werden können, um einen Rechner zu programmieren. Eine IS-Architektur definiert Befehlsformate, Operationscodes, Datenformate, Adressiermodes, Ausführungs-Steuerflags und programmzugängliche Register. Der Fachmann weiß, daß dies der herkömmlichen Definition einer IS-Architektur entspricht. In der vorliegenden Erfindung kann jede DRP-Einheit 3032 einer S-Einrichtung schnell laufzeit-konfiguriert werden, um direkt Mehrfach-IS-Architekturen durch die Verwendung eines eindeutigen Konfigurationsdatensatzes für jede gewünschte IS-Architektur auszuführen. Das heißt, jede IS-Achitektur wird mit einer eindeutigen internen DRPU-Hardware-Organisation durchgeführt, wie die durch einen entsprechenden Konfigurationsdatensatz spezifiziert ist. Folglich entsprechen in der vorliegenden Erfindung die ersten bis fünften Innenschleifenteile 3054 bis 3058 jeweils einer eindeutigen IS-Architektur, nämlich ISA 1, 2, 3, 4 bzw. k. Der Fachmann erkennt, daß jede nachfolgende IS-Architektur nicht eindeutig zu sein braucht. Folglich könnte ISA k ISA 1, 2, 3, 4 oder irgendeine andere ISA sein. Der Satz Außenschleifenteile 3052 entspricht auch einer eindeutigen ISA, nämlich ISA 0. In der bevorzugten Ausführungsform kann während einer Programmausführung die Auswahl von aufeinanderfolgenden Rekonfigurationsanweisungen datenabhängig sein. Bei Auswahl einer vorgegebenen Rekonfigurationsanweisung werden Programmbefehle nacheinander gemäß einer entsprechenden IS-Architektur über eine eindeutige DRPU-Hardware-Konfiguration ausgeführt, was durch einen entsprechenden Konfigurations-Datensatz spezifiziert ist.
  • In der Erfindung kann eine vorgegebene IS-Architektur als eine Innenschleifen-IS-Architektur oder als eine Außenschleifen-IS-Architektur entsprechend der Anzahl und den Typen von Befehlen, welche sie enthält, in Kategorien eingeteilt werden. Eine IS-Architektur, die mehrere Befehle enthält und die zum Durchführen genereller Operationen brauchbar ist, ist eine Außenschleifen-ISA, während eine ISA, die aus relativ wenigen Befehlen besteht und die darauf ausgerichtet ist, spezifische Operationstypen durchzuführen, eine Innenschleifen-ISA ist. Da eine Außenschleifen-ISA darauf gerichtet ist, generelle Operationen durchzuführen, ist eine Außenschleifen-ISA am zweckdienlichsten, wenn eine parallele Programm-Befehlsausführung wünschenswert ist. Die Wirksamkeit einer Ausführung einer Innenschleifen-ISA ist vorzugsweise hinsichtlich Befehlen gekennzeichnet, die pro Taktzyklus durchgeführt werden oder hinsichtlich rechten Ergebnissen gekennzeichnet, die pro Taktzyklus erzeugt worden sind.
  • Der Fachmann erkennt, daß die vorhergehende Erörterung einer sequentiellen Programmbefehlsausführung und einer parallelen Programmbefehlsausführung eine Programmbefehlsausführung mit einer einzigen DRP-Einheit 3032 betrifft. Das Vorhandensein von mehreren S-Einrichtung Rekonfigurationsanweisungen 3012 in dem System 3010 erleichtert die parallele Ausführung von mehreren Programmbefehlsfolgen in einer vorgegebenen Zeit, wobei jede Programmbefehlsfolge durch eine vorgegebene DRP-Einheit 3032 durchgeführt wird. Jede DRP-Einheit 3032 ist entsprechend konfiguriert, um eine parallele oder serielle Hardware zu haben, um eine ganz bestimmte Innenschleifen-ISA bzw. eine Außenschleifen-ISA in einer ganz bestimmten Zeit durchzuführen. Die interne Hardware-Konfiguration einer vorgegebenen DRP-Einheit 3032 ändert sich mit der Zeit entsprechend der Auswahl von einer oder mehreren Rekonfigurationsanweisungen, die in eine Folge von durchzuführenden Programmbefehlen eingebettet sind.
  • In einer bevorzugten Ausführungsform sind jede IS-Architektur und deren entsprechende interne DRPU-Hardware-Organisation entsprechend ausgelegt, um eine optimale Rechenleistung für eine ganz bestimmte Klasse von Rechenproblemen bezüglich einer Menge verfügbarer rekonfigurierbarer Hardware-Ressourcen zu schaffen. Wie vorher bereits erwähnt und wie nunmehr nachstehend im einzelnen näher beschrieben wird, ist eine interne DRPU-Hardware-Organisation, die einer Außenschleifen-ISA entspricht, vorzugsweise für eine sequentielle Programmbefehlsausführung optimiert, und eine interne DRPU-Hardware-Organisation, die einer Innenschleifen-ISA entspricht, ist vorzugsweise für eine parallele Programmbefehlsausführung optimiert.
  • Mit Ausnahme jeder Rekonfigurationsanweisung weist die beispielhafte Programmauflistung 3050 der 17A vorzugsweise herkömmliche Hochsprachenangaben auf, beispielsweise Angaben die entsprechend der C-Programmiersprache geschrieben sind. Der Fachmann erkennt, daß das Einbeziehen von einer oder mehreren Rekonfigurationsanweisungen in eine Folge von Programmbefehlen einen Compiler erfordert, der modifiziert ist, um für die Rekonfigurationsanweisungen verantwortlich zu sein.
  • In 17B ist ein Flußdiagramm von herkömmlichen Compilieroperationen dargestellt, die während des Compilierens bzw. Übersetzens einer Folge von Programmbefehlen durchgeführt worden sind. Hierbei entsprechen die herkömmlichen Compilieroperationen im allgemeinen denjenigen, die von dem GNU C Compiler (GCC) durchgeführt worden sind, der von der Free Software Foundation (Cambridge, MA) hergestellt worden ist. Der Fachmann weiß, daß die herkömmlichen Compilieroperationen, die unten beschrieben werden, ohne weiteres für andere Compiler verallgemeinert werden können. Die herkömmlichen Compilieroperationen beginnen beim Schritt 3500 mit dem Compiler-Frontende, das eine nächste Hochsprachen-Anweisung für eine Folge von Programmbefehlen auswählt. Als nächstes erzeugt das Compiler-Frontende beim Schritt 3502 einen Zwischencode, der der ausgewählten Hochsprachen-Anweisung entspricht, welche im Falle von GCC Register-Transferpegel-(RTL-)Angaben entspricht. Im Anschluß an den Schritt 3502 bestimmt das vordere Compilerende, ob eine andere Hochsprachen-Anweisung eine Beachtung beim Schritt 3504 erfordert. Wenn dem so ist, kehrt das bevorzugte Verfahren auf den Schritt 3500 zurück.
  • Wenn beim Schritt 3504 das vordere Compilerende bestimmt, daß keine andere Hochsprachenanweisung Beachtung erfordert, führt das hintere Compilerende als nächstes herkömmliche Registerzuordnungsoperationen beim Schritt 3605 durch. Nach dem Schritt 3506 wählt das hintere Compilerende eine nächste RTL-Angabe hinsichtlich einer aktuellen RTL-Anweisungsgruppe beim Schritt 3508 aus. Das hintere Compilerende bestimmt dann, ob eine Vorschrift, die eine Art und Weise spezifiziert, in welcher die aktuelle RTL-Anweisungsgruppe in einen Satz von Assemblersprachen-Anweisungen übersetzt werden kann, beim Schritt 3510 vorhanden ist. Wenn eine derartige Vorschrift nicht vorhanden ist, kehrt das bevorzugte Verfahren auf den Schritt 3508 zurück, um eine andere RTL-Anweisung für ein Einbeziehen in die aktuelle RTL-Anweisungsgruppe auszuwählen. Wenn eine Vorschrift, die der aktuellen RTL-Anweisungsgruppe entspricht, existiert, erzeugt das hintere Compilerende beim Schritt 3512 einen Satz Assemblersprachen-Anweisungen entsprechend der Vorschrift. Nach dem Schritt 3512 stellt das hintere Compilerende fest, ob eine nächste RTL-Anweisung Beachtung im Kontext mit einer nächsten RTL-Anweisungsgruppe erfordert. wenn dem so ist, kehrt das bevorzugte Verfahren auf Schritt 3508 zurück; andernfalls ist das bevorzugte Verfahren beendet.
  • Die vorliegende Erfindung enthält vorzugsweise einen Compiler für ein dynamisch rekonfigurierbares Berechnen. In 17C und 17D ist ein Flußdiagramm von bevorzugten Compilieroperationen dargestellt, die von einem Compiler für ein dynamisch rekonfigurierbares Berechnen durchgeführt worden sind. Die bevorzugten Compileroperationen beginnen beim Schritt 3600 mit dem vorderen Ende des Compilers, der eine nächste Hochsprachen-Anweisung in einer Folge von Programmbefehlen auswählt. Als nächstes bestimmt das vordere Ende des Compilers beim Schritt 3602, ob die ausgewählte Hochsprachen-Anweisung eine Rekonfigura tionsanweisung ist. Wenn dem so ist, erzeugt das vordere Ende des Compilers eine RTL-Regkonfigurationsanweisung beim Schritt 3604, worauf dann das bevorzugte Verfahren auf Schritt 3600 zurückkehrt. In der bevorzugten Ausführungsform ist die RTL-Rekonfigurationsanweisung eine nichtnormierte RTL-Anweisung, die einen ISA-Identifizierung erhält. Wenn beim Schritt 3602 die ausgewählte Hochprogramm-Anweisung nicht eine Rekonfigurationsanweisung ist, erzeugt das vordere Ende des Compilers als nächstes einen Satz RTL-Anweisungen in herkömmlicher Weise beim Schritt 3606. Nach dem Schritt 3606 bestimmt das vordere Ende des Compilers beim Schritt 3608, ob eine andere Hochsprachen-Anweisung Berücksichtigung erfordert. Wenn dem so ist, kehrt das bevorzugte Verfahren auf den Schritt 3600 zurück; anderenfalls geht das bevorzugte Verfahren auf Schritt 3610 über, um Operationen am Compilerende zu initiieren.
  • Beim Schritt 3610 führt das hintere Ende des Compilers für ein dynamisch rekonfigurierbares Berechnen Register-Zuordnungsoperationen durch. In der bevorzugten Ausführungsform der Erfindung ist jede ISA-Architektur so definiert, daß die Register-Architektur von einer IS-Architektur zur anderen folgerichtig ist; daher werden Register-Zuordnungsoperationen in herkömmlicher Weise durchgeführt. Der Fachmann erkennt, daß im allgemeinen eine folgerichtige Register-Architektur von einer ISA zur anderen keine absolute Forderung ist. Als nächstes wählt das hintere Ende des Compilers eine nächste RTL-Anweisung in einer aktuell in Betracht gezogenen RTL-Anweisungsgruppe beim Schritt 3612 aus. Das hintere Ende des Compilers bestimmt dann beim Schritt 3614, ob die ausgewählte RTL-Anweisung eine RTL-Rekonfigurationsanweisung ist. Wenn die ausgewählte RTL-Anweisung nicht eine RTL-Rekonfigurationsanweisung ist, bestimmt das hintere Ende des Compilers beim Schritt 3618, ob eine Vorschrift für die aktuell in Betracht gezogene RTL-Anweisungsgruppe existiert. Wenn dem nicht so ist, kehrt das bevorzugte Verfahren auf den Schritt 3612 zurück, um eine nächste RTL-Anweisung für ein Einbeziehen in die aktuell in Betracht gezogene RTL-Anweisungsgruppe zu wählen. In dem Fall, daß eine Vorschrift für die aktuell in Betracht gezogene RTL-Anweisungsgruppe beim Schritt 3618 existiert, erzeugt das hintere Ende des Compilers als nächstes einen Satz Assemblersprachen-Anweisungen beim Schritt 3620, welche der aktuell in Betracht gezogenen RTL-Anweisungsgruppe gemäß dieser Vorschrift entsprechen. Nach dem Schritt 3620 bestimmt das hintere Ende des Compilers beim Schritt 3622, ob eine andere RTL-Anweisung eine Berücksichtigung im Kontext mit einer nächsten RTL-Anweisungsgruppe erfordert. Wenn dem so ist, kehrt das bevorzugte Verfahren auf den Schritt 3612 zurück; anderenfalls endet das bevorzugte Verfahren.
  • Wenn beim Schritt 3614 die ausgewählte RTL-Anweisung eine RTL-Rekonfigurationsanweisung ist, wählt das hintere Ende des Compilers einen Vorschriftensatz beim Schritt 3616 aus, welcher der ISA-Identifizierung der RTL-Rekonfigurationsanweisung entspricht. In der vorliegenden Erfindung existiert vorzugsweise ein eindeutiger Vorschriftensatz für jede ISA. Jeder Vorschriftensatz schafft daher eine oder mehrere Vorschriften, um Gruppen von RTL-Anweisungen in Assemblersprachen-Anweisungen entsprechend einer ganz bestimmten IS-Architektur umzuwandeln. Nach dem Schritt 3616 geht das bevorzugte Verfahren auf Schritt 3618 über. Der Vorschriftensatz, der einer vorgegebenen IS-Architektur entspricht, enthält vorzugsweise ein Vorschrift, um die RTL-Rekonfigurationsanweisung in einen Satz Assemblersprachen-Befehle zu übersetzen, die eine Software-Unterbrechnung erzeugen, die auf eine Durchführung eines Rekonfigurations-Abwicklers (handler) hinausläuft, wie im einzelnen unten beschrieben wird.
  • In der vorstehend beschriebenen Weise erzeugt der Compiler für dynamisch rekonfigurierbares Berechnen selektiv und automatisch Assemblersprachen-Anweisungen entsprechend mehreren IS-Architekturen während Compileroperationen. Mit anderen Worten, während des Compilerprozesses übersetzt der Compiler einen einzigen Satz Programmbefehlen entsprechend einer variablen IS-Architektur. Der Compiler ist vorzugsweise ein herkömmlicher Compiler, der modifiziert worden ist, um bevorzugte Compileroperationen durchzuführen, die vorstehend unter Bezugnahme auf 17C und 17D beschrieben worden sind. Der Fachmann erkennt, daß, obwohl die geforderten Modifikationen nicht komplex sind, solche Modifikationen im Hinblick sowohl auf herkömmliche Compilertechniken als auch im Hinblick auf herkömmliche rekonfigurierbaren Berechnungsmethoden nicht offensichtlich und naheliegend sind.
  • In 18 ist ein Blockdiagramm einer bevorzugten Ausführungsform einer dynamisch rekonfigurierbaren Verarbeitungseinheit 3032 dargestellt. Die DRP-Einheit 3032 weist eine Befehlsabruf (IF-)Einheit 3016, eine Datenoperations-(DO-)Einheit 3062 und eine Adressenoperations-(AO-)Einheit 3064 auf. Jede der IF-Einheiten 3060, der DO-Einheiten 3062 und der AO-Einheiten 3064 hat einen Zeitsteuereingang, welcher mit der ersten Zeitsteuersignalleitung 3040 verbunden ist. Die IF-Einheit 3060 hat einen Speichersteuerausgang, welcher mit der Leitung 3042 verbunden ist, einen Dateneingang, der mit einer Leitung 3046 verbunden ist, und einen zweigerichteten Steuereingang, der mit der externen Steuerleitung 3048 verbunden ist. Die IF-Einheit 3060 hat zusätzlich einen ersten Steuerausgang, der mit einem ersten Steuereingang der DOEinheit 3062 über eine erste Steuerleitung 3070 verbunden ist, und einen zweiten Steuerausgang, der mit einem ersten Steuereingang der AO-Einheit 3064 über eine zweite Steuerleitung 3072 verbunden ist. Die IF-Einheit 3060 hat auch einen dritten Steuerausgang, der mit einem zweiten Steuereingang der DO-Einheit 3062 und mit einem zweiten Steuereingang der AO-Einheit 3064 über eine dritte Steuerleitung 3074 verbunden ist. Die DO-Einheit 3062 und die AO-Einheit 3064 haben jeweils einen zweigerichteten Dateneingang, der mit der Speicher-Ein-/Ausgabeleitung 3064 verbunden ist. Schließlich hat die AO-Einheit 3064 einen Adressenausgang, welcher den Adressenausgang der DRP-Einheit bildet.
  • Die DRP-Einheit 3032 ist vorzugsweise unter Verwendung einer rekonfigurierbaren oder umprogrammierbaren Logikvorrichtung, beispielsweise einer FPGA, wie einer Xilinx XC4013 (Xilinx, Inc., San Jose, CA) oder einer AT&T ORCATM 1C07 (AT&T Microelectronics, Allentown, PA) durchgeführt. Vorzugsweise schafft die umprogrammierbare Logikvorrichtung eine Anzahl von 1) selektiv umprogrammierbaren Logikblöcken oder konfigurierbaren Logikblöcken CLB), von 2) selektiv programmierbaren Ein-/Ausgabe-Blöcken (IOB), von 3) selektiv umprogrammier baren Verbindungsstrukturen, von 4) Datenspeicher-Ressourcen, von 5) Puffer-Ressourcen mit drei Zuständen und von 6) verdrahteten logischen Funktionsmerkmalen. Jeder CLB enthält vorzugsweise eine selektiv rekonfigurierbare Schaltungsanordnung zum Erzeugen logischer Funktionen, zum Speichern von Daten und zum Lenken von Signalen. Der Fachmann weiß, daß eine rekonfigurierbare Datenspeicherschaltung auch in einem oder mehreren Datenspeicherblöcken (DSB), die von der Gruppe CL-Blöcken getrennt ist, in Abhängigkeit von der genauen Bemessung der zu verwendenden umprogrammierbaren Logikvorrichtung enthalten sein kann. Hierbei ist angenommen, daß sich die rekonfigurierbare Datenspeicherschaltung in einer FPGA in den CL-Blöcken befindet; das heißt, das Vorhandensein von DS-Blöcken wird nicht angenommen. Der Fachmann erkennt ohne weiteres, daß ein oder mehrere der hier beschriebenen Elemente, die eine auf CL-Blöcken basierende, rekonfigurierbare Datenspeicherschaltung benutzen, eine auf DS-Blöcken basierende Schaltungsanordnung in dem Fall benützen können, daß DS-Blöcke vorhanden sind. Jeder IO-Block enthält vorzugsweise eine selektiv rekonfigurierbare Schaltungsanordnung, um Daten zwischen CL-Blöcken und einem FPAG-Ausgangsanschlußstift zu übertragen. Ein Konfigurationsdatensatz definiert eine DRPU-Hardware-Konfiguration oder Organisation durch Spezifizieren von Funktionen, die in W-Blöcken durchgeführt worden sind, sowie Verbindungen 1) in CL-Blöcken, 2) zwischen CL-Blöcken, 3) in IO-Blöcken, 4) zwischen IO-Blöcken und 5) zwischen CL- und IO-Blöcken. Der Fachmann erkennt, daß über einen Konfigurationsdatensatz, die Anzahl Bits jeweils in der Speichersteuerleitung 3042, der Adressenleitung 3044, der Speicherleitung 3046 und der externen Steuerleitung 3048 rekonfigurierbar ist. Vorzugsweise werden Konfigurationsdatensätze in einem oder mehreren Speichern 3034 der S-Einrichtung in dem System 3010 gespeichert. Der Fachmann erkennt, daß die DRP-Einheit 3032 nicht auf eine auf FPGA basierende Ausführung beschränkt ist. Beispielsweise könnte die DRP-Einheit 3032 als eine auf einem RAM basierende Zustandseinrichtung ausgeführt sein, die möglicherweise ein oder mehrere Hinweistabellen enthält. Alternativ hierzu könnte die DRP-Einheit 3032 mit Hilfe einer komplexen programmierbaren Logikvorrichtung (CPLD) ausgeführt sein.
  • Jedoch wird der Fachmann realisieren, daß einige der S-Einrichtungen 3012 des Systems 3010 DRP-Einheiten 3032 haben können, die nicht rekonfigurierbar sind.
  • In einer bevorzugten Ausführungsform sind die IF-Einheit 3060, die DO-Einheit 3062 und die AO-Einheit 3064 jeweils dynamisch rekonfigurierbar. Folglich kann deren interne Hardware-Konfiguration selektiv während einer Programmdurchführung modifiziert werden. Die IF-Einheit 3060 richtet Befehlsabruf- und Decodieroperationen, Zugriffsoperationen, DRPU-Rekonfigurationsoperationen aus und gibt Steuersignale an die DO-Einheit 3062 und die AO-Einheit 3064 ab, um eine Befehlsausführung zu erleichtern. Die DO-Einheit 3062 führt Operationen einschließlich einer Datenberechnung durch und die AO-Einheit 3064 führt Operationen einschließlich einer Adressenberechnung durch. Der innere Aufbau und die Arbeitsweise der IF-Einheit 3060, der DO-Einheit 3062 und der AO-Einheit 3064 wird nunmehr im einzelnen beschrieben.
  • In 19 ist ein Blockdiagramm einer bevorzugten Ausführungsform einer Befehlsabruf-(IF-)Einheit 3060 dargestellt. Die IF-Einheit 3060 weist einen Befehlszustands-Zuordner(ISS) 3100, einen Architekturbeschreibungsspeicher 3101, eine Speicherzugriffslogik 3102, einen Rekonfigurationslogik 3104, eine Unterbrechungslogik 3106, eine Abrufsteuereinheit 3108, einen Befehlspuffer 3110, eine Decodiersteuereinheit 3112, einen Befehlsdecodierer 3114, einen Operationscode-Speicherregistersatz 3116, einen Registerdatei-(RF-)Adressenregistersatz 3118, einen Konstanten-Registersatz 3120 und einen Prozeßsteuer-Registersatz 3122 auf. Der IS-Zuordner 3100 hat einen ersten und zweiten Steuerausgang, welcher die ersten und zweiten Steuerausgänge der IF-Einheit bildet und einen Zeitsteuereingang, welcher den Zeitsteuereingang der IF-Einheit bildet. Der IS-Zuordner 3100 hat auch einen Abruf/Decodier-Steuerausgang, der mit einem Steuereingang der Abrufsteuereinheit 3108 und einem Steuereingang der Decodiersteuereinheit 3112 über eine Abruf-Decodier-Steuerleitung 3130 verbunden ist. Der IS-Zuordner 3100 hat zusätzlich einen zweigerichteten Steuereingang, der mit einem ersten zweigerichteten Steuereingang jeweils der Speicherzugrifflogik 3102, der Rekonfigurationslogik 3104 und der Unterbrechungslogik 3106 über eine zweigerichtete Steuerleitung 3132 verbunden ist. Der IS-Zuordner 3100 hat auch einen Operationscode-Eingang, der mit einem Ausgang des Operationscode-Speicherregistersatzes 3116 über eine Operationscode-Leitung 3142 verbunden ist. Schließlich hat der IS-Zuordner 3100 einen zweigerichteten Dateneingang, der mit einem zweigerichteten Dateneingang des Prozeßsteuer-Registersatzes 3122 über eine Prozeßdatenleitung 3144 verbunden ist.
  • Jeweils die Speicherzugriffslogik 3102, die Rekonfigurationslogik 3104 und die Unterbrechungslogik 3106 haben einen zweiten zweigerichteten Steuereingang, welcher mit der externen Steuerleitung 3048 verbunden ist. Die Speicherzugriffslogik 3102, die Rekonfigurationslogik 3104 und die Unterbrechungslogik 3106 haben zusätzlich jeweils einen Dateneingang, der mit einem Datenausgang des Architektur-Beschreibungsspeichers 3101 über eine Steuerleitung 3138 verbunden ist. Die Speicherzugriffslogik 3102 hat zusätzlich einen Steuerausgang, welcher den Speichersteuerausgang der IF-Einheit bildet, und die Unterbrechungslogik 3106 hat zusätzlich einen Ausgang, der mit der Prozeßdatenleitung 3144 verbunden ist. Der Befehlspuffer 3110 hat einen Dateneingang, welcher den Dateneingang der IF-Einheit bildet, einen Steuereingang, der mit einem Steuerausgang der Abrufsteuereinheit 3108 über eine Abrufsteuerleitung 3134 verbunden ist, und einen Ausgang, der mit einem Eingang des Befehlsdecodierers 3114 über eine Befehlsleitung 3136 verbunden ist. Der Befehlscodierer 3114 hat einen Steuereingang, der mit einem Steuerausgang der Decodiersteuereinheit 3112 über eine Decodiersteuerleitung 3138 verbunden ist, und einen Ausgang, der über eine Befehlsleitung 3140 mit 1) einem Ausgang des Operationscode-Speichenegisters 3116, mit 2) einem Eingang des HF-Adressenregistersatzes 3118 und 3) mit einem Eingang des Konstanten-Registersatzes 3120 verbunden ist. Der HF-Adressenregistersatz 3118 und der Konstanten-Registersatz 3120 haben jeweils einen Ausgang, die zusammen den dritten Steuerausgang 3074 der IF-Einheit bilden.
  • Der Architektur-Beschreibungsspeicher 3101 speichert Architektur-Spezifikationssignale, welche die aktuelle DRPU-Konfiguration kennzeichnen. Vorzugsweise enthalten die Architektur-Spezifikationssignale 1) eine Referenz zu einem fehlerhaften Konfigurationsdatensatz, 2) eine Referenz zu einer Liste zulässiger Konfigurationsdatensätze, 3) eine Referenz zu einem Konfigurationsdatensatz, welcher der aktuell in Betracht gezogenen ISA entspricht, d.h. eine Referenz zu dem Konfiguration-Datensatz, welcher die aktuelle DRPU-Konfiguration definiert, 4) eine Verbindungs-Adressenliste, welche eine oder mehrere Verbindungs-Ein/Ausgabeeinheiten 3304 in der T-Einrichtung 3014 identifiziert, welche der S-Einrichtung 3012 zugeordnet ist, in welcher die IF-Einheit 3060 untergebracht ist, wie im einzelnen unten in Verbindung mit 27 noch beschrieben wird, 5) einen Satz Unterbrechungsansprechsignale, welche eine Unterbrechungslatenz und Unterbrechungspräzisions-Information spezifizieren, welche definiert, wie die IF-Einheit 3060 auf Unterbrechungen antwortet, und 6) eine Speicherzugriffskonstante, welche ein Speicheradressen-Inkrement definiert.
  • In der bevorzugten Ausführungsform implementiert jeder Konfigurations-Datensatz den Architektur-Beschreibungsspeicher 3101 als einen Satz von CL-Blöcken, die als ein Festwertspeicher (ROM) konfiguriert sind. Die Architektur-Spezifikationssignale, welche den Inhalt des Architekturbeschreibungsspeichers 3101 definieren, sind vorzugsweise in jedem Konfigurations-Datensatz enthalten. Folglich ändert sich, da jeder Konfigurations-Datensatz einer ganz bestimmten ISA entspricht, der Inhalt des Architektur-Beschreibungsspeichers 3103 entsprechend der aktuellen in Betracht gezogenen ISA. Für eine vorgegebene ISA wird ein Programmzugriff auf den Inhalt des Architektur-Beschreibungsspeichers 3101 vorzugsweise durch das Einbeziehen eines Speicherlesebefehls in dem ISA erleichtert. Dies ermöglicht einem Programm, die Information über die aktuelle DRPU-Konfiguration während einer Programmdurchführung wieder aufzufinden.
  • In der vorliegenden Erfindung ist die Konfigurationslogik 3104 eine Zustandseinrichtung, welche eine Folge von Rekonfigurationsoperationen steuert, welche eine Rekonfiguration der DRP-Einheit 3032 entsprechend einem Konfigurationsdatensatz erleichtern. Vorzugsweise initiiert die Rekonfigurationslogik 3104 die Rekonfigura tionsoperationen bei Empfang eines Rekonfigurationssignals. Wie unten noch im einzelnen beschrieben wird, wird das Rekonfigurationssignal von der Unterbrechungslogik 3106 entsprechend einer Rekonfigurationsunterbrechung, die auf der externen Steuerleitung 3048 erhalten worden ist, oder durch die ISS 3100 entsprechend einer Rekonfigurationsanweisung erzeugt, die in ein Programm eingebettet ist. Die Rekonfigurationsoperationen sorgen für eine anfängliche DRPU-Konfiguration, auf die eine Energieeinschalt/Rücksetzbedingung mit Hilfe des vorgegebenen Konfigurationsdatensatzes von dem Architektur-Beschreibungsspeicher 3101 folgt. Die Rekonfigurationsoperationen sorgen auch für eine selektive DRPU-Rekonfiguration, nachdem die anfängliche DRPU-Konfiguration eingerichtet worden ist. Bei Beendigung der Rekonfigurationsoperationen gibt die Rekonfigurationslogik 3104 ein Beendigungssignal ab. In der bevorzugten Ausführungsform ist die Rekonfigurationslogik 3104 eine nicht-rekonfigurierbare Logik, welche das Laden von Konfigurationsdatensätze in die umprogrammierbare Logikvorrichtung selbst steuert, und folglich ist die Folge von Rekonfigurationsoperationen von dem Hersteller der umprogrammierbaren Logikvorrichtung festgelegt. Die Rekonfigurationsoperationen sind daher dem Fachmann bekannt.
  • Jede DRPU-Konfiguration ist vorzugsweise durch einen Konfigurations-Datensatz gegeben, welcher eine ganz bestimmte Hardware-Organisation festlegt, die der Ausführung einer entsprechenden ISA zugeeignet ist. In der bevorzugten Ausführungsform enthält die IF-Einheit 3060 jeweils die vorstehend angegebenen Elemente unabhängig von der DRPU-Konfiguration. Bei einem Grundpegel ist die Funktionalität, die durch jedes Element in der IF-Einheit 3060 geschaffen ist, unabhängig von der aktuell in Betracht gezogenen ISA. Jedoch können sich in der bevorzugten Ausführungsform der detaillierte Aufbau und die Funktionalität eines oder mehrerer Elemente der IF-Einheit 3060 basierend auf der Beschaffenheit der ISA ändern, für welche sie konfiguriert worden ist. In der bevorzugten Ausführungsform bleiben der Aufbau und die Funktionalität des Architektur-Beschreibungsspeichers 3101 und der Rekonfigurationslogik 3104 vorzugsweise von einer DRPU-Konfiguration zur anderen konstant. Der Aufbau und die Funktionalität der anderen Elemente der IF-Einheit 3060 und der Art und Weise, in welcher sie sich entsprechend dem ISA-Typ ändern, wird nunmehr im einzelnen beschrieben.
  • Der Prozeßsteuerregister-(PCR-)Satz 3122 speichert Signale und Daten, die von dem ISS 3100 während einer Befehlsausführung verwendet worden sind. In der bevorzugten Ausführungsform weist der PCR-Satz 3122 ein Register zum Speichern eines Prozeßsteuerwarts, ein Register zum Speichern eines Unterbrechungsvektors und ein Register zum Speicher einer Referenz zu einem Konfigurationsdatensatz auf. Das Prozeßsteuerwort enthält vorzugsweise eine Anzahl von Bedingungsflags, die selektiv basierend auf Bedingungen gesetzt und rückgesetzt werden können, die während einer Befehlsausführung auftreten. Das Prozeßsteuerwort enthält zusätzlich eine Anzahl von Übergangssteuersignalen, die ein oder mehrere Arten festlegen, auf welchen Unterbrechungen verwaltet werden können, wie im einzelnen unten noch beschrieben wird. In der bevorzugten Ausführungsform ist der PCR-Satz 3122 als ein Satz von LC-Blöcken ausgeführt, die für eine Datenspeicher- und Ansteuerlogik konfiguriert sind.
  • ISS 3100 ist vorzugsweise eine Zustandseinrichtung, welche die Operation der Abrufsteuereinheit 3108, der Decodiersteuereinheit 3112, der DO-Einheit 3062 und der AO-Einheit 3064 steuert und Speicherlese- und -Schreibsignale an die Speicheradressenlogik 3102 abgibt, um eine Befehlsausführung zu erleichtern. In 20 ist ein Zustandsdiagramm dargestellt, das eine bevorzugte Menge von Zuständen zeigt, die von der ISS 3100 gestützt sind. Im Anschluß an eine Energieeinschalt- oder Rücksetzbedingung oder unmittelbar nachdem eine Rekonfiguration aufgetreten ist, beginnt die ISS 3100 eine Operation im Zustand P. Entsprechend dem Beendigungssignal, das von der Rekonfigurationslogik 3104 abgegeben worden ist, geht die ISS 3100 auf den Zustand S über, in welchem der ISS Programmzustandsinformation für den Fall initialisiert oder wieder speichert, daß eine Energieeinschalt/Rücksetzbedingung oder eine Rekonfiguration aufgetreten ist.
  • Die ISS 3100 rückt als nächstes auf einen Zustand F vor, in welchem Befehlsabrufoperationen durchgeführt werden. Bei den Befehlsabrufoperationen gibt ISS 3100 ein Speicherlesesignal an die Speicherzugrifflogik 3102 ab, gibt ein Abrufsignal an die Abrufsteuereinheit 3108 und ein Inkrementsignal an die AO-Einheit 3064 ab, um ein nächstes Befehlsprogranmadressen-(NIPA-)Register 3232 zu inkrementieren, wie im einzelnen unter Bezugnahme auf 25A und 25B nachstehend noch beschrieben wird. Nach dem Zustand F geht ISS 3100 auf einen Zustand D vor, um Befehlsdecodieroperationen zu initiieren. Im Zustand D gibt ISS 3100 ein Decodiersignal an die Decodiersteuerlogik 3112 ab, während beim Zustand D ISS 3100 zusätzlich einen Operationscode wiederfindet, der einem decodierten Befehl von dem Operationscode-Speicherregistersatz 3116 entspricht.
  • Basierend auf dem wiedergefundenen von dem Operationscode geht ISS 3100 auf einen Zustand E oder M über, um Befehlsausführungsoperationen durchzuführen. ISS 3100 geht auf den Zustand E in dem Fall vor, daß der Befehl in einem einzigen Taktzyklus ausgeführt werden kann; anderenfalls geht ISS 3100 auf den Zustand M für eine in Mehrzyklen durchzuführende Befehlsausführung vor. Bei den Befehlausführungsoperationen erzeugt ISS 3100 DOU und AOU-Steuersignale und/oder Signale, die auf die Speicherzugriffslogik 3102 gerichtet sind, um die Ausführung des Befehls zu erleichtern, der dem wiederaufgefundenen Operationscode entspricht. Im Anschluß entweder an den Zustand E oder M geht ISS 3100 auf einen Zustand W über.
  • Im Zustand W erzeugt ISS 3100 DOU-, AOU-Steuersignale und/oder Speicherschreibsignale, um ein Speichern eines Befehlsausführungsergebnisses zu erleichtern. Der Zustand W wird daher als ein Rückschreibzustand bezeichnet. Der Fachmann weiß, daß die Zustände F, D, E oder M und W einen vollständigen Befehlausführungszyklus aufweisen. Nach dem Zustand W geht die ISS 3100 auf den Zustand Y in dem Fall über, daß eine Suspension einer Befehlsausführung gefordert wird. Der Zustand Y entspricht einem Freizustand, welcher gefordert werden kann, beispielsweise in dem Fall, daß eine T-Einrichtung 3014 Zugriff auf den Speicher 3034 der S-Einrichtung fordert. Nach dem Zustand Y oder W geht in dem Fall, daß eine Befehlsausführung fortzusetzen ist, die ISS 3100 auf den Zustand F zurück, um wieder einen anderen Befehlsausführungszyklus aufzunehmen.
  • Wie in 20 dargestellt, weist das Zustandsdiagramm auch einen Zustand I auf, welcher als ein Unterbrechungsservice-Zustand definiert ist. Bei der Erfindung empfängt ISS 3100 Unterbrechungsankündigungssignale von der Unterbrechungslogik 3106. Wie im einzelnen unter Bezugnahme auf 21 auch beschrieben wird, erzeugt die Unterbrechungslogik 3106 Übergangssteuersignale und speichert diese Signale in dem Prozeßsteuerwort in dem PCR-Satz 3122. Die Übergangssteuersignale zeigen vorzugsweise an, welcher der Zustände F, D, E, M, W und Y unterbrechbar sind und zeigen einen Pegel einer Unterbrechungspräzision, die in jedem unterbrechbaren Zustand erforderlich ist, und für jeden unterbrechbaren Zustand einen nächsten Zustand an, bei welchem eine Befehlsdurchführung im Anschluß an den Zustand I fortzusetzen ist. Wenn ISS 3100 ein Unterbrechungsankündigungssignal erhält, während es sich in einem vorgegebenen Zustand befindet, geht ISS 3100 auf den Zustand I über, wenn die Übergangssteuersignale anzeigen, daß der aktuelle Zustand unterbrechbar ist. Andernfalls geht ISS 3100 weiter, wenn kein Unterbrechungssignal empfangen worden ist, bis ein unterbrechbarer Zustand erreicht wird.
  • Sobald ISS 3100 auf den Zustand I vorgerückt ist, greift ISS 3100 vorzugsweise auf den PCR-Satz 3122 zu, um ein Unterbrechungsabdeckflag zu setzen und einen Unterbrechungsvektor wieder aufzufinden. Nach dem Wiederauffinden des Unterbrechungsvektors verwaltet ISS 3100 vorzugsweise die aktuelle Unterbrechung über einen herkömmlichen Subroutine-Sprung zu einem Unterbrechungshandhabungsprogramm, wie es durch den Unterbrechungsvektor spezifiziert ist.
  • In der Erfindung wird eine Rekonfiguration der DRPU-Einheit 3032 entsprechend 1) einer Rekonfigurationsunterbrechung, die auf der externen Steuerleitung 3048 durchgesetzt oder 2) die Durchführung einer Rekonfigurationsanweisung in einer Folge von Programmbefehlen initiiert. In der bevorzugten Ausführungsform führen sowohl die Konfigurationsunterbrechung als auch die Durchführung einer Rekonfigurationsanweisung zu einem Subroutine-Sprung auf ein Rekonfigurations-Handhabungsprogramm. Vorzugsweise stellt das Rekonfigurations-Handhabungsprogramm eine Programmzustandsinformation sicher und gibt eine Konfigurationsdatensatz-Adresse und das Rekonfigurationssignal an die Rekonfigurationslogik 3104 ab.
  • Für den Fall, daß die aktuelle Unterbrechung nicht eine Rekonfigurationsunterbrechung ist, geht ISS 3100 auf einen nächsten Zustand über, was durch die Übergangssteuersignale angezeigt ist, sobald die Unterbrechung verwaltet worden ist, um dadurch einen Befehlsdurchführungszyklus wieder aufzunehmen, Befehle durchzuführen oder zu initiieren.
  • In der bevorzugten Ausführungsform ändert sich die Menge an Zuständen, welche durch ISS 3100 gestützt sind, entsprechend der Beschaffenheit der ISA, für welche die DRP-Einheit 3032 konfiguriert worden ist. Folglich ist der Zustand M für eine ISA nicht vorhanden, in welcher ein oder mehrere Befehle in einem einzigen Taktzyklus durchgeführt werden können, wie es der Fall bei einer typischen Innenschleifen-IS-Architektur ist. Wie beschrieben, definiert das Zustandsdiagramm der 20 vorzugsweise die Zustände, die von ISS 3100 gestützt worden sind, um eine generelle Außenschleifen-IS-Architektur durchzuführen. Für das Durchführen einer Innenschleifen-ISA trägt ISS 3100 vorzugsweise mehrere Sätze von Zuständen F, D, E und W parallel nebeneinander, um dadurch eine Pipeline-Steuerung einer Befehlsdurchführung in einer Weise zu erleichtern, die dem Fachmann ohne weiteres verständlich ist. In der bevorzugten Ausführungsform ist ISS 3100 als eine auf einem CL-Block basierende Zustandseinrichtung ausgeführt, welche die Zustände oder eine Untergruppe der vorstehend beschriebenen Zustände entsprechend einem aktuell in Betracht gezogenen ISA unterstützt.
  • Die Unterbrechungslogik 3106 weist vorzugsweise eine Zustandseinrichtung auf, welche Übergangssteuersignale erzeugt und Unterbrechungshinweis-Operationen entsprechend einem Unterbrechungssignal durchführt, das über die externe Steuerleitung 3048 erhalten worden ist. In 21 ist ein Zustandsdiagramm dargestellt, das einen bevorzugten Satz Zustände zeigt, die von der Unterbrechungslogik 3106 gestützt sind. Die Unterbrechungslogik 3106 beginnt eine Operation im Zustand P. Der Zustand P entspricht einer Energieeinschalt-Rücksetz- oder Rekonfigurationsbedingung. Entsprechend dem Beendigungssignal, das von der Rekonfigurationslogik 3104 abgegeben worden ist, geht die Unterbrechungslogik 3106 auf den Zustand A über und findet die Unterbrechungsantwortsignale aus dem Architekturbeschreibungsspeicher 3101 wieder. Die Unterbrechungslogik 3106 erzeugt dann die Übergangssteuersignale aus den Unterbrechungsantwortsignalen und speichert die Übergangssteuersignale in dem Prozeßsteuerregister-(PCR-)Satz 3122. In der bevorzugten Ausführungsform enthält die Unterbrechungslogik 3106 eine auf CLB basierende progammierbare Logikanordnung (PLA), um die Unterbrechungsantwortsignale zu empfangen und um die Übergangssteuersignale zu erzeugen. Im Anschluß an den Zustand A geht die Unterbrechungslogik 3106 auf den Zustand B über, um auf ein Unterbrechungssignal zu warten. Bei Empfang eines Unterbrechungssignals geht die Unterbrechungslogik 3106 auf einen Zustand C in dem Fall über, daß das Unterbrechungsabdeckflag in dem PCR-Satz 3122 rückgesetzt wird. Sobald sie im Zustand C ist, bestimmt die Unterbrechungslogik 3106 den Ursprung der Unterbrechung, eine Unterbrechungspriorität und die Unterbrechungs-Handhabungsadresse. In dem Fall, daß das Unterbrechungssignal eine Rekonfigurationsunterbrechung ist, geht die Unterbrechungslogik 3106 auf einen Zustand R über, und speichert eine Konfigurationsdatensatz-Adresse in dem PCR-Satz 3122. Nach dem Zustand R oder im Anschluß an den Zustand G für den Fall, daß das Unterbrechungssignal keine Rekonfigurations-Unterbrechung ist, geht die Unterbrechungslogik 3106 auf einen Zustand N über und speichert die Unterbrechungshandhabungsadresse in dem PCR-Satz 3122. Die Logik 3106 geht auf einen Zustand X über und gibt ein Unterbrechungshinweissignal an ISS 3100 ab. Im Anschluß an den Zustand X kehrt die Unterbrechungslogik 3122 auf den Zustand B zurück, um auf ein nächstes Unterbrechungssignal zu warten.
  • In der bevorzugten Ausführungsform ändert sich der Pegel einer Unterbrechungslatenz, wie sie durch die Unterbrechungsantwortsignale und folglich durch die Übergangssteuersignale spezifiziert ist, entsprechend einer aktuellen ISA, für welche die DRP-Einheit 3032 konfiguriert worden ist. Beispielsweise erfordert eine ISA, die einer Hochleistungs-Echtzeitbewegungssteuerung gewidmet ist, schnelle und vorhersehbare Unterbrechungsantwort-Fähigkeiten. Der Konfigurationsdatensatz, der einer solchen ISA entspricht, weist daher vorzugsweise Unterbrechungsanwortsignale auf, die anzeigen, daß eine Unterbrechung geringer Latenz erforderlich ist. Die entsprechenden Übergangssteuersignale wiederum identifizieren vorzugsweise mehrfache ISS-Zustände als unterbrechbar, um dadurch eine Unterbrechung zuzulassen, um einen Befehlsausführungszyklus vor der Beendigung der Befehlsausführungszyklus aufzuschieben. Im Gegensatz zu einer ISA für eine Realzeit-Bewegungssteuerung erfordert eine ISA für Bildfaltungsoperationen Unterbrechungsantwort-Möglichkeiten, die sicherstellen, daß die Anzahl Faltungsoperationen, die pro Zeiteinheit durchgeführt worden sind, maximiert ist. Der Konfigurationsdatensatz, welcher der Bildfaltungs-ISA entspricht, weist vorzugsweise Unterbrechungsantwortsignale auf, die eine hochlatente Unterbrechung erforderlichenfalls spezifizieren. Die entsprechenden Übergangssteuersignale identifizieren vorzugsweise einen Zustand W, wenn er unterbrechbar ist. Für den Fall, daß ISS 3100 Mehrfachsätze von Zuständen F, D, E und W in paralleler Form stützt, wenn konfiguriert wird, um die Bildfaltungs-ISA durchzuführen, identifizieren die Übergangssteuersignale vorzugsweise jeden Zustand W, wenn er unterbrechbar ist, und spezifizieren ferner, daß eine Unterbrechungsbedienung zu verzögern ist, bis jeder der parallelen Befehlsdurchführungszyklen, deren den Zustand W betreffenden Operationen beendet haben. Hierdurch ist sichergestellt, daß eine ganze Gruppe von Befehlen durchgeführt wird, bevor eine Unterbrechung vorgenommen wird, um dadurch vernünftige Pipeline-Durchführungs-Leistungspegel aufrechtzuerhalten.
  • Analog zu dem Unterbrechungslatenz-Pegel ändert sich auch der Pegel einer Unterbrechungspräzision, wie sie durch die Unterbrechungsantwortsignale spezifiziert ist, entsprechend der ISA, für welche die DRP-Einheit 3032 konfiguriert wird. Beispiels weise spezifizieren in dem Fall, daß der Zustand M als ein unterbrechbarer Zustand für eine Außenschleifen-ISA definiert ist, welche unterbrechbare Mehrzyklen-Operationen stützt, vorzugsweise die Unterbrechungsantwortsignale, daß genau Unterbrechungen gefordert werden. Die Übergangssteuersignale spezifizieren dann, daß Unterbrechungen, die beim Zustand M erhalten worden sind, als genaue Unterbrechungen behandelt werden, um sicherzustellen, daß Mehrzyklen-Operationen erfolglich wieder gestartet werden können. Bei einem anderen Beispiel spezifizieren für eine ISA, welche nicht-fehlerhafte, durch eine Pipeline verbundene Rechenoperationen stützt, die Unterbrechungsantwortsignale vorzugsweise, daß nicht genaue Unterbrechungen gefordert werden. Die Übergangssteuersignale spezifizieren dann, daß Unterbrechungen, die beim Zustand W erhalten worden sind, als ungenaue Unterbrechungen behandelt werden.
  • Für eine vorgegebene ISA werden die Unterbrechungsantwortsignale definiert oder durch einen Teil des entsprechenden Konfigurationsdatensatzes einer ISA programmiert. Über die programmierbaren Unterbrechungsantwortsignale und die Erzeugung von entsprechenden Übergangssteuersignalen erleichtert die Erfindung, die Durchführung eines optimalen Unterbrechungsschemas auf einer ISA-zu-ISA-Basis. Der Fachmann weiß, daß die große Mehrzahl von herkömmlichen Computer-Architekturen nicht für die flexible Spezifikation von Unterbrechungsmöglichkeiten, nämlich einer programmierbaren Zustandsübergangsfreigabe, einer programmierbaren Unterbrechungslatenz und einer programmierbaren Unterbrechungspräzision vorsorgen. In der bevorzugten Ausführungsform ist die Unterbrechungslogik 3106 als eine auf CLB basierende Zustandseinrichtung ausgeführt, welche die vorstehend beschriebenen Zustände stützt.
  • Die Abrufsteuereinheit 3108 richtet das Laden von Befehlen in den Befehlspuffer 3110 entsprechend dem Abrufsignal aus, das von ISS 3100 abgegeben worden ist und in der bevorzugten Ausführungsform ist die Abrufsteuereinheit 3108 als eine herkömmliche (one-hot) codierte Zustandseinrichtung mit Flip-Flops in einer Gruppe von CL-Blöcken ausgeführt. Der Fachmann erkennt, daß in einer alternativen Ausführungsform die Abrufsteuereinheit 3108 auch als eine herkömmliche codierte Zustandseinrichtung oder als eine auf ROM basierende Zustandseinrichtung konfiguriert sein könnte. Der Befehlsspeicher 3110 schafft eine vorübergehende Speicherung für Befehle, die aus dem Speicher 3034 geladen sind. Für die Durchführung einer äußeren Schleifen-ISA ist der Befehlspuffer 3110 vorzugsweise als ein herkömmlicher, auf RAM basierender FIFO-Puffer mit einer Vielzahl von CL-Blöcken ausgeführt. Für die Ausführung einer Innenschleifen-ISA ist der Befehlspuffer 3110 vorzugsweise als ein Satz von Flip-Flop-Registern mit einer Anzahl Flip-Flops in einer Gruppe von IOBs oder einer Vielzahl Flip-Flops sowohl in IOBs als auch CLBs ausgeführt.
  • Die Decodiersteuereinheit 3112 richtet die Übertragung von Befehlen von dem Befehlspuffer 3110 in den Befehlsdecodierer 3114 entsprechend dem Decodiersignal aus, das von der ISS 3100 abgegeben worden ist. Für eine Innenschleifen-ISA ist die Decodiersteuereinheit 3112 vorzugsweise als eine auf ROM-basierende Zustandseinrichtung mit einem auf CLB basierenden ROM ausgeführt, der mit einem auf CLB basierenden Register verbunden ist. Für eine Außenschleifen-ISA ist die Decodiersteuereinheit 3112 als eine auf CLB basierende codierte Zustandseinrichtung ausgeführt. Für jeden Befehl, der als Eingangssignal empfangen wird, gibt der Befehlsdecoder 3114 einen entsprechenden Operationscode eine Register-Dateiadresse und wahlweise ein- oder mehrere Konstanten in herkömmlicher Weise ab. Für eine Innenschleifen-ISA ist der Befehlsdecodierer 3115 vorzugsweise entsprechend konfiguriert, um eine Gruppe von Befehlen, die als Eingangssignal empfangen worden sind, zu decodieren. In der bevorzugten Ausführungsform wird der Befehlsdecodierer 3114 als ein auf CLB-basierender Decodierer ausgeführt, der entsprechend konfiguriert ist, um jeden der Befehle, die in der aktuellen in Betracht gezogenen ISA enthalten sind, zu decodieren.
  • Der Operationscode-Speicherregister-(OSR-)Satz 3113 schafft eine vorübergehende Speicherung für jeden Operationscodeausgang durch den Befehlsdecodierer 3144 und gibt jeden Operationscode an ISS 3100 ab. Wenn eine Außenschleifen-ISA in der DRP-Einheit 3032 durchgeführt wird, wird der OSR-Satz 3113 vorzugsweise mit Hilfe einer optimalen Anzahl von Flip-Flop-Registerbänken ausgeführt. Die Flip-Flop-Registerbänke erhalten Signale von dem Befehlsdecodierer 3114, welche Klassen- oder Gruppencodes darstellen, die von Operationscode-Literal-Bitfeldern aus Befehlen abgeleitet sind, die vorher den Befehlspuffer 3110 in Form einer Warteschlange durchlaufen haben. Die Flip-Flop-Registerbänke speichern die vorerwähnten Klassen- oder Gruppencodes gemäß einem Decodierschema, das vorzugsweise eine ISS-Komplexität minimiert. Im Falle einer Innenschleifen-ISA speichert der OSR-Satz 3113 vorzugsweise Operationscode-Anzeigesignale, die unmittelbar von Operationscode-Literal-Bitfeldern abgeleitet worden sind, die von dem Befehlsdecodierer 3114 abgegeben worden sind. Innenschleifen-ISAs haben notwendigerweise kleinere Operationscode-Literal-Bitfelder, um dadurch die Ausführungsanforderungen hinsichtlich Puffern, Decodierern und einer Operationscode-Anzeige für ein sequentielles Befehlszuordnen durch den Befehlspuffer 3110, den Befehlsdecodierer 3114 bzw. den OSR-Satz 3116 zu minimieren. Für Außenschleifen-ISAs wird der OSR-Satz 3116 vorzugsweise als ein kleiner Verbund von Flip-Flops-Registerbänken ausgeführt, die durch eine Bandbreite gekennzeichnet sind, die gleich der Operationscode-Literalgröße oder einem Bruchteil derer ist. Für Innenschleifen-ISAs ist der Operationscode-Speicherregister-(OSR-)Satz 3116 vorzugsweise eine kleinere und vereinheitlichtere Flip-Flop-Registerbank als für Außenschleifen-ISAs. Die reduzierte Flip-Flop-Registerbankgröße im Fall einer Innenschleife reflektiert die minimale Befehls-Zählcharakteristik von Innenschleifen-ISAs relativ zu Außenschleifen-ISAs.
  • Der HF-Adressenregister-Satz 3118 und der Konstanten-Registersatz 3120 schaffen eine vorübergehende Speicherung für jede Register Dateiadresse bzw. jeden konstanten Ausgang für den Befehlsdecodierer 3114. In der bevorzugten Ausführungsform sind der Operationscode-Speicherregistersatz 3116, der HF-Adressenregistersatz 3118 und der Konstanten-Registersatz 3112 jeweils als ein Satz von CL-Blöcken ausgeführt, die für eine Datenspeicherung konfiguriert sind.
  • Die Speicherzugriffslogik 3102 ist eine Speichersteuerschaltung, welche den Datentransfer zwischen dem Speicher 3034, der DO-Einheit 3062 und der AO-Einheit 3064 entsprechend der Speicheradressengröße ausrichtet und synchronisiert, die in dem Architektur-Beschreibungsspeicher 3122 spezifiziert ist. Die Speicherzugriffslogik 3102 richtet aus und synchronisiert den Datentransfer und Befehle zwischen der S-Einrichtung 3012 und einer vorgegebenen T-Einrichtung 3014. In der bevorzugten Ausführungsform stützt die Speicherzugriffslogik 3102 Stoßbetrieb-Speicherzugriffe und ist vorzugsweise als eine herkömmliche RAM-Steuereinheit mit CL-Blöcken ausgeführt. Der Fachmann erkennt, daß während einer Rekonfiguration die Eingangs- und Ausgangsanschlüsse der rekonfigurierbaren Logik für drei Zustände ausgelegt sind, so daß Widerstandsabschlüsse nicht bestehende Logikpegel definieren, und folglich nicht den Speicher 3034 stören. In einer anderen Ausführungsform könnte die Speicherzugriffslogik 3201 extern in der DRP-Einheit 3032 ausgeführt sein.
  • In 22 ist ein Blockdiagramm einer bevorzugten Ausführungsform einer Datenoperations-(DO-)Einheit 3062 dargestellt. Die DO-Einheit 3062 führt Operationen an Daten gemäß DOU-Steuersignalen, HF-Adressen und Konstanten durch, die von ISS 3100 erhalten worden sind. Die DO-Einheit 3062 weist einen DOU-Crossbar-Schalter 3150, eine Speicher/Ausrichtlogik 3152 und eine Datenoperationslogik 3154 auf. Der Crossbar-Schalter 3150, die Speicher/Ausrichtlogik 3152 und die Datenoperationslogik 3154 haben jeweils einen Steuereingang, der mit dem ersten Steuerausgang der IF-Einheit 3060 über die erste Steuerleitung 3070 verbunden ist. Der Crossbar-Schalter 3150 hat einen zweigerichteten Dateneingang, welcher den zweigerichteten Dateneingang der DO-Einheit bildet, einen konstanten Eingang, der mit der dritten Steuerleitung 3074 verbunden ist, einen ersten Datenrückkopplungseingang, der mit einem Datenausgang der Datenoperationslogik 3154 über eine erste Datenleitung 3160 verbunden ist, einen zweiten Datenrückkopplungseingang, der mit einem Datenausgang der Speicher/Ausrichtlogik 3152 über eine zweite Datenleitung 3164 verbunden ist, und einen Datenausgang, der mit einem Dateneingang der Speicher/Ausrichtlogik 3152 über eine dritte Datenleitung 3162 verbunden ist. Zusätzlich zu dem Datenausgang hat die Speicher/Ausrichtlogik 3154 einen Adresseneingang, welcher mit der dritten Steuerleitung 3074 verbunden ist. Die Datenoperationslogik 3154 hat zusätzlich einen Dateneingang, welcher mit dem Ausgang der Speicher/Ausrichtlogik über die zweite Datenleitung 3164 verbunden ist.
  • Die Datenoperationslogik 3154 führt Rechen-, Schiebe- und/oder logische Operationen an Daten, welche an deren Dateneingang empfangen worden sind, entsprechend den DOU-Steuersignalen durch, die an deren Steuereingang empfangen worden sind. Die Speicher/Ausrichtlogik 3152 weist Datenspeicherelemente auf, die für eine vorübergehende Speicherung von Operanden, Konstanten und Teilergebnissen sorgen, die Datenberechnungen zugeordnet sind, und zwar unter der Anordnung von HF-Adressen und DOU-Steuersignalen, die an deren Adressen- bzw. Steuereingang empfangen worden sind. Der Crossbar-Schalter 3150 ist vorzugsweise ein herkömmliches Crossbar-Steuernetz, welches das Laden von Daten aus dem Speicher 3034, dem Transfer von Ergebnissen, die von der Datenoperationslogik 3154 abgegeben worden sind, an die Speicher/Ausrichtlogik 3152 oder den Speicher 3034 und das Laden von Konstanten, die von der IF-Einheit 3060 abgegeben worden sind, in die Speicher/Ausrichtlogik 3152 entsprechend den DOU-Steuersignalen erleichtern, die an deren Steuereingang erhalten worden sind. In der bevorzugten Ausführungsform hängt der Aufbau der Datenoperationslogik 3154 im einzelnen von den Operationsarten ab, die von der aktuellen in Betracht gezogenen ISA gestützt sind. Das heißt, die Datenoperationslogik 154 weist eine Schaltung zum Durchführen der Rechen- und/oder logischen Operationen auf, welche durch die Datenoperationsbefehle in der aktuell in Betracht gezogenen ISA spezifiziert sind. Dementsprechend hängt auch der Aufbau der Speicher/Ausrichtlogik 3152 und des Crossbar-Schalters 3150 von der aktuell in Betracht gezogenen ISA ab. Der detaillierte Aufbau der Datenoperationslogik 3154, die Speicher/Ausrichtlogik 3152 und der Crossbar-Speicher 3150 gemäß dem ISA-Typ wird nachstehend anhand der 23A bis 23B beschrieben.
  • Für eine Außenschleifen-ISA ist die DO-Einheit 3062 vorzugsweise entsprechend konfiguriert, um serielle Operationen an Daten durchzuführen. In 23A ist ein Blockdiagramm einer ersten beispielhaften Ausführungsform der DO-Einheit 3061 dargestellt, die für die Ausführung einer generellen Außenschleifen-ISA konfiguriert ist. Die generelle Außenschleifen-ISA erfordert Hardware, die konfiguriert ist, um mathematische Operationen, wie Multiplikationen, Additionen und Subtraktionen, Boolsche Operationen, wie UND, ODER und NOT, sowie Verschiebe- und Drehoperationen durchzuführen. Folglich weist für die Durchführung einer generellen Außenscheifen-ISA die Datenoperationslogik 5154 vorzugsweise eine Arithmetik-Logik-(AL-)Einheit/Schiebeeinheit 3184 mit einem ersten und zweiten Eingang, einem Steuereingang und einem Ausgang auf. Die Speicher/Ausrichtlogik 3152 weist vorzugsweise einen ersten RAM 3180 und einen zweiten RAM 3182 auf, die jeweils einen Dateneingang, einen Datenausgang, einen Adressen-Auswähleingang und einen Freigabeeingang haben. Der DOU-Crossbar-Schalter 3150 weist vorzugsweise ein herkömmliches Crossbar-Schaltnetz mit sowohl zweigerichteten als auch einseitig gerichteten Crossbar-Verbindungen und mit den vorstehend in Verbindung mit 22 beschriebenen Eingängen und Ausgängen auf. Der Fachmann weiß, daß eine effiziente Ausführung des DOU-Crossbar-Schalters 3150 für ein Außenschleifen-ISA Multiplexer, Puffer mit drei Zuständen, eine auf CLB basierende Logik, eine direkte Verdrahtung oder Untergruppen der vorerwähnten Elemente enthalten kann, die in irgendeine Kombination durch eine rekonfigurierbare Verbindungseinrichtung verbunden sind. Für dein Außenschleifen-ISA ist der DUO-Crossbar-Schalter 3150 entsprechend ausgeführt, um eine serielle Datenbewegung in einer minimal möglichen Zeit durchzuführen, während auch eine maximale Anzahl von eindeutigen Datenbewegungs-Crossbar-Verbindungen geschaffen wird, um verallgemeinerte Außenschleifen-Befehlstypen zu stützen.
  • Der Dateneingang des ersten und zweiten RAM 3180 bzw. 3182 ist mit dem Datenausgang des Schalter 3150 über die dritte Datenleitung 3162 verbunden. Die Adressenauswähleingänge der beiden RAM 3180 und 3182 sind entsprechend verbunden, um Registerdatei-Adressen von der IF-Einheit 3060 über die dritte Steuerleitung 3074 aufzunehmen. In ähnlicher Weise sind Freigabe-Eingänge der beiden RAM 3180, 3182 entsprechend verbunden, um DOU-Steuersignale über erste Steuerleitun gen 3070 zu erhalten. Die Datenausgänge der beiden RAM 3180 und 3182 sind mit dem ersten und dem zweiten Eingang der ALU/Schiebeeinheit 3184 und auch mit dem zweiten Datenrückkopplungseingang des Schalters 3150 verbunden. Der Steuereingang der ALU-Schiebeeinheit 3184 ist entsprechend geschaltet, um DOU-Steuersignale über die erste Steuerleitung 3070 aufzunehmen, und der Ausgang der ALU-/Schiebeeinheit 3184 ist mit dem ersten Datenrückkopplungseingang des Schalters 3150 verbunden. Die Verbindungen zu den restlichen Eingängen und Ausgängen des Crossbar-Schalters 3150 sind identisch mit denen, die in Verbindung mit 22 vorstehend beschrieben worden sind.
  • Um das Ausführen eines Datenoperationsbefehls zu erleichtern, gibt die IF-Einheit 3060 DOU-Steuersignale, HF-Adressen- und Konstanten an die DO-Einheit 3061 während einer der ISS-Zustände E oder M ab. Die beiden RAM 3180, 3182 schaffen eine erste und zweite Registerdatei für ein vorübergehendes Datenspeichern. Einzelne Adressen in den beiden RAM 31801 3182 werden entsprechend den HF-Adressen ausgewählt, die an jedem RAM-Adressenauswähleingang empfangen worden sind. Dementsprechend wird ein Laden der beiden RAM 3180, 3182 durch die DOU-Steuersignale gesteuert, die der jeweilige RAM 3180, 3182 an seinem Schreib-Freigabeeingang erhält. In der bevorzugten Ausführungsform. weist zumindest ein RAM 3180, 3182 eine Durchgangsmöglichkeit auf, um den Datentransfer von dem DOU-Crossbar-Schalter 3150 unmittelbar in die ALU-Schiebeeinheit 3184 zu erleichtern. Die ALU/Schiebeeinheit 8134 führt arithmetische, logische oder Schiebeoperationen bei einem ersten Operanden, der von dem ersten RAM 3180 erhalten worden ist, und/oder bei einem zweiten Operanden, der von dem zweiten RAM 3182 erhalten worden ist, unter der Weisung der DOU-Steuersignale durch, die an deren Steuereingang erhalten worden sind. Der Crossbar-Schalter 3150 leitet selektiv 1) Daten zwischen dem Speicher 3034 und den beiden RAM 3180, 3182, 2) Ergebnisse von der ALU/Schiebeeinheit 3184 zu den beiden RAM 3180, 3182 oder dem Speicher 3034, 3) Daten, die in dem ersten oder zweiten RAM 3180, 3182 gespeichert sind, zu dem Speicher 3034, und 4) Konstante von der IF-Einheit 3060 zu den beiden RAM 3180 und 3182.
  • Wie vorstehend beschrieben, leitet für den Fall, daß entweder der erste oder der zweite RAM 3180, 3182 eine Durchgangsmöglichkeit enthält, der Crossbar-Schalter 3150 selektiv auch Daten von dem Speicher 3034 oder von dem Ausgang der ALU/Schiebeeinheit unmittelbar zurück in die ALU-Schiebeeinheit 3184. Der Crossbar-Schalter 3150 führt eine ganz bestimmte Schwenkoperation entsprechend den DOU-Steuersignalen durch, die an seinem Steuereingang empfangen worden sind. In einer bevorzugten Ausführungsform ist die ALU/Schiebeeinheit 3184 durch Verwenden von logischen Funktionsgeneratoren in einer Gruppe von LC-Blöcken und einer Schaltungsanordnung ausgeführt, die für mathematische Operationen in der rekonfigurierbaren Logikvorrichtung vorgesehen ist. Die beiden RAM 3180, 3182 sind jeweils vorzugsweise mit Hilfe der Datenspeicherschaltung ausgeführt, die in einer Gruppe von CL-Blöcken vorhanden ist, und der Crossbar-Schalter 3150 ist vorzugsweise in der vorstehend beschriebenen Weise ausgeführt.
  • In 23B ist ein Blockdiagramm einer zweiten beispielshaften Ausführungsform einer DO-Einheit 3063 dargestellt, die für die Ausführung einer Innenschleifen-ISA konfiguriert ist. Im allgemeinen stützt eine innere Schleifen-ISA verhältnismäßig wenig spezialisierte Operationen und wird vorzugsweise dazu verwendet, eine gemeinsame Menge von Operationen an möglichst großen Datensätzen durchzuführen. Eine optimale Rechenleistung für eine Innenschleifen-ISA wird daher durch Hardware erzeugt, die entsprechend konfiguriert ist, um Operationen parallel durchzuführen. Folglich sind in der zweiten beispielhaften Ausführungsform der DO-Einheit 3063 die Datenoperationslogik 3154, die Speicher/Ausrichtlogik 3152 und der DOU-Crossbar-Schalter 3150 entsprechend konfiguriert, um Pipeline-Berechnungen durchzuführen. Die Datenoperationslogik 3154 weist eine Pipeline-Funktionseinheit 3194 mit einer Anzahl Eingänge, einem Steuereingang und einem Ausgang auf. Die Speicher/Ausrichtlogik 3152 weist 1) eine Gruppe von herkömmlichen Flip-Flop-Anordnungen 3192, wobei jede Flip-FlopAnordnung 9132 einen Dateneingang und -ausgang sowie einen Steuereingang hat, und 2) einen Datenselektor 3190 auf, der einen Steuer- und einen Dateneingang sowie eine Anzahl Ausgänge hat, welche der Anzahl an vorhandenen Flip-Flops-Anordnungen 3192 entsprechen. Der DOU- Crossbar-Schalter 3150 weist ein herkömmliches Crossbar-Schaltnetz mit einseitig gerichteten Duplex-Crossbar-Verbindungen auf.
  • In der zweiten beispielhaften Ausführungsform der DO-Einheit 3063 enthält der Crossbar-Schalter 3150 vorzugsweise die Eingänge und Ausgänge, die vorher in Verbindung mit 22 beschrieben sind, mit Ausnahme des zweiten Datenrückkopplungseingangs. Analog zu dem Außenschleifen-ISA-Fall kann eine effiziente Ausführung des DOU-Crossbar-Schalters 3150 für eine Innenschleifen-ISA multipliziert, Puffer mit drei Zuständen, eine auf CLB-basierende Logik, eine direkte Verdrahtung oder eine Untergruppe der vorerwähnten Elemente enthalten, die in einer rekonfigurierbaren Weise verbunden sind. Über eine Innenschleifen-ISA ist der Schalter 3150 entsprechend ausgeführt, um parallele Datenbewegungen in einer minimalen Zeit zu maximieren, obwohl auch eine minimale Anzahl von eindeutigen Datenbewegungs-Crossbar-Verbindungen vorgesehen ist, um über eine Pipeline zugeführte Innenschleifen-ISA-Befehle zu stützen.
  • Der Dateneingang des Datenselektors 3190 ist mit dem Datenausgang des Schalters 3150 über die erste Datenleitung 3162 verbunden. Der Steuereingang des Datenselektors 3190 ist entsprechend verbunden, um HF-Adressen über die dritte Steuerleitung 3074 aufzunehmen, und jeder Ausgang des Datenselektors 3190 ist mit einem entsprechenden Dateneingang einer Flip-Flop-Anordnung verbunden. Der Steuereingang jeder Flip-Flop-Anordnung 3192 ist entsprechend geschaltet, um DOU-Steuersignale für die erste Steuerleitung 3070 aufzunehmen, und jeder Datenausgang der Flip-Flop-Anordnung ist mit einem Eingang der Funktionseinheit 3194 verbunden. Der Steuereingang der Funktionseinheit 3194 ist entsprechend geschaltet, um DOU-Steuersignale über die erste Steuerleitung 3070 zu erhalten, und der Ausgang der Funktionseinheit 3194 ist mit dem ersten Datenrückkopplungseingang des Crossbar-Schalters 3150 verbunden. Die Verbindungen der restlichen Eingänge und Ausgänge des Crossbar-Schalters 3150 sind identisch mit denjenigen, die vorher in Verbindung mit 22 beschrieben worden sind.
  • Während des Betriebs führt die Funktionseinheit 3194 Pipeline-Operationen an Daten, welche an deren Dateneingängen empfangen worden sind, entsprechend den DOU-Steuersignalen durch, die an deren Steuereingang erhalten worden sind. Der Fachmann erkennt, daß die Funktionseinheit 3194 eine Multiplizier-Addiereinheit, eine Schwellenwert-Bestimmungseinheit, eine Bilddreheinheit, eine Randvergrößerungseinheit oder eine Funktionseinheit ist, die sich dazu eignet, Pipeline-Operationen an aufgeteilten Daten durchzuführen. Der Datenselektor 3190 leitet Daten vom Ausgang des Schalters 3150 in eine vorgegebene Flip-Flop-Anordnung 3192 entsprechend den HF-Adressen, die an seinem Steuereingang empfangen worden sind. Jede Flip-Flop-Anordnung 3192 weist vorzugsweise eine Gruppe von fortlaufend verbundenen Datenhaltegliedern auf, um Daten relativ zu dem Dateninhalt der anderen Flip-Flop-Anordnung 3192 unter der Weisung der Steuersignale, die an deren Steuereingang erhalten worden sind, räumlich und vorübergehend auszurichten. Der Crossbar-Schalter 3150 leitet selektiv 1) Daten von dem Speicher 3034 zu dem Datenselektor 3190, 2) Ergebnisse von der Multiplizier-Addiereinheit 3194 zu dem Datenselektor 3190 oder dem Speicher 3034 und 3) Konstante von der IF-Einheit 3060 zu dem Datenselektor 3190. Der Fachmann erkennt, daß eine Innenschleifen-ISA eine Gruppe von "eingebauten" Konstanten haben kann. Bei der Durchführung einer solchen Innenschleifen-ISA enthält die Speicher-Ausrichtlogik 3154 vorzugsweise einen auf CLB basierenden ROM, welcher die "eingebauten" Konstanten enthält, um dadurch die Notwendigkeit zu beseitigen, Konstante von der IF-Einheit 3060 in die Speicher/Ausrichtlogik 3152 über den Schalter 3150 zu leiten. In der bevorzugten Ausführungsform ist die Funktionseinheit 3194 vorzugsweise unter Verwendung von logischen Funktionsgeneratoren und einer Schaltung ausgeführt, die für mathematische Operationen in einer Gruppe von CL-Blöcken vorgesehen ist. Jede Flip-Flop-Anordnung 3192 ist vorzugsweise unter Verwendung von Flip-Flops in einer Gruppe von CL-Blöcken ausgeführt, und der Datenselektor 3190 ist vorzugsweise unter Verwendung von logischen Funktionsgeneratoren und einer Datenauswählschaltung in einer Gruppe von CL-Blöcken ausgeführt. Schließlich ist die DOU-Crossbar-Schaltung 3150 vorzugsweise in der Weise ausgeführt, die vorher bezüglich der Innenschleifen-ISA beschrieben ist.
  • In 24 ist ein Blockdiagramm einer bevorzugten Ausführungsform einer Adressenoperation-(AO-)Einheit 3064 dargestellt. Die AO-Einheit 3064 führt Operationen an Adressen entsprechend AOU-Steuersignalen, HF-Adressen und Konstanten durch, die von der IF-Einheit 3060 erhalten worden sind. Die AO-Einheit 3064 weist einen AOU-Crossbar-Schalter 3200, eine Speicher/Zähllogik 3202, eine Adressen-Betriebslogik 3204 und einen Adressenmultiplexer 3206 auf. Der Schalter 3200, die Speicher-Zähllogik 3202, die Adressenbetriebslogik 3204 und der Adressenmultiplexer 3206 haben jeweils einen Steuereingang, der mit dem zweiten Steuereingang der IF-Einheit 3060 über die zweite Steuerleitung 3072 verbunden ist. Der Schalter 3200 hat einen zweigerichteten Datenzugang, welcher den zweigerichteten Datenzugang der AO-Einheit bildet, einen Adressenrückkopplungseingang, der mit einem Adressenausgang der Adressenoperationslogik 3204 über eine erste Adressenleitung 3210 verbunden ist, einen konstanten Eingang, der mit der dritten Steuerschaltung 3070 verbunden ist, und einen Adressenausgang, der mit einem Adresseneingang der Speicher/Zähllogik 3202 über eine zweite Adressenleitung 3212 verbunden ist. Außer dem Adressen- und Steuereingang hat die Speicher/Zähllogik 3202 einen H-Adresseneingang, der mir der dritten Steuerleitung 3074 verbunden ist, und einen Adressenausgang, der mit einem Adresseneingang der Adressenoperationslogik 3204 über eine dritte Adressenleitung 3214 verbunden ist. Der Adressenmultiplexer 3206 hat einen ersten Eingang, der mit der ersten Adressenleitung 3210 verbunden ist, einen zweiten Eingang, der mir der dritten Adressenleitung 3214 verbunden ist, und einen Ausgang, welcher dem Adressenausgang der AO-Einheit 3064 bildet.
  • Die Adressenoperationslogik 3204 führt Rechenoperationen an Adressen, die an deren Adresseneingang erhalten worden sind, unter der Anweisung von AOU-Steuersignalen durch, die an deren Steuereingang erhalten worden sind. Die Speicher/Zähllogik 3202 sorgt für eine vorübergehende Speicherung von Adressen und von Adressenrechenergebnissen. Der Crossbar-Schalter 3200 erleichtert das Laden von Adressen aus dem Speicher 3034, den Transfer von Ergebnissen, die von der Adressenoperationslogik 3204 abgegeben worden sind, an die Speicher/Zähllogik 3202 oder den Speicher 3004 und das Laden von Konstanten, die von der IS-Einheit 3060 abgegeben worden sind, in die Speicher/Zähllogik 3202 entsprechend den AOU-Steuersignalen, die an deren Steuereingang erhalten worden sind. Der Adressenmultiplexer 3206 gibt selektiv eine Adresse, die von der Speicher/Zähllogik 3202 oder der Adressenoperationslogik 3200 erhalten worden ist, an den Adressenausgang der AO-Einheit 3064 unter der Anweisung der AOU-Steuersignale ab, die an deren Steuereingang empfangen worden sind. In der bevorzugten Ausführungsform ist der detaillierte Aufbau des AOU-Crossbar-Schalters 3200, der Speicher/Ausrichtlogik 3202 und der Adressenbetriebseinheit 3204 abhängig von der Art der gerade in Betracht gezogenen ISA, was nachstehend unter Bezugnahme auf 25A und 25B beschrieben wird.
  • In 25 ist ein Blockdiagramm einer ersten beispielhaften Ausführungsform der AO-Einheit 6065 dargestellt, die für die Durchführung einer generellen Außenschleifen-ISA konfiguriert ist. Eine generelle Außenschleifen-ISA erfordert Hardware zum Durchführen von Operationen, wie einer Addition, einer Subtraktion, ein Inkrementieren und Dekrementieren bei dem Inhalt eines Programmzählers und von Adressen, die in der Speicher/Zähllogik 3202 gespeichert sind. In der ersten beispielhaften Ausführungsform der AO-Einheit 3065 weist die Adressenoperationslogik 3205 vorzugsweise ein das nächste Befehlsprogramm betrefffendes Adressenregister (NIPAR) 3232 mit einem Eingang, einem Ausgang und einem Steuereingang, eine Recheneinheit 3234 mit ersten bis dritten Eingängen, einem Steuereingang und einem Ausgang und einen Multiplexer 3230 mit einem ersten und einem zweiten Eingang, einem Steuereingang und einem Ausgang auf. Die Steuer/Zähllogik 3202 weist vorzugsweise einen dritten RAM 3220 und einen vierten RAM 3222 auf, die jeweils einen Eingang, einen Ausgang, einen Adressenwähleingang und einen Freigabeeingang haben. Der Adressenmultiplexer 3206 weist vorzugsweise einen Multiplexer mit einem ersten, zweiten und dritten Eingang, einen Steuereingang und einem Ausgang auf. Der Crossbar-Schalter 3200 weist vorzugsweise einen herkömmliches Crossbar-Schaltnetz mit einseitig gerichteten Duplex-Crossbar-Verbindungen und mit den Eingängen und Ausgängen auf, die vorher unter Bezugnahme auf 25 beschrieben worden sind. Eine effektive Ausführung des AOU-Crossbar-Schalters 3200 kann Multiplexer, Puffer mit drei Zuständen, eine auf CLB-basierende Logik, eine direkte Verdrahtung und eine Untergruppe solcher Elemente aufweisen, die durch rekonfigurierbare Verbindungen verbunden sind. Für eine Außenschleifen-ISA ist der Crossbar-Schalter 3200 vorzugsweise ausgeführt, um eine serielle Adressenbewegung in einer minimalen Zeit zu maximieren, während auch eine maximale Anzahl eindeutiger Adressenbewegungs-Crossbar-Verbindungen vorgesehen ist, um verallgemeinerte eine Außenschleifen-ISA betreffende Pressenoperationsbefehle zu stützen.
  • Der Eingang des dritten und vierten RAM 3220, 3222 ist jeweils mit dem Ausgang des Crossbar-Schalters 3200 über die zweite Adressenleitung 3212 verbunden. Die Adressenwähleingänge der dritten und vierten RAM 3220, 3222 sind entsprechend geschaltet, um HF-Adressen von der IF-Einheit 3060 über die dritte Steuerleitung 74 aufzunehmen und die Freigabeeinänge der ersten und zweiten RAM 3220, 3222 sind entsprechend geschaltet, um AOU-Steuersignale über die zweite Steuerleitung 3072 aufzunehmen. Der Ausgang des dritten RAM 3220 ist verbunden mit dem ersten Eingang des Multiplexers 3230, mit dem ersten Eingang der Recheneinheit 3234 und dem ersten Eingang des Adressenmultiplexers 3206. In ähnlicher Weise ist der Ausgang des vierten RAM 3222 verbunden mit dem zweiten Eingang des Multiplexers 3220, dem zweiten Eingang der Recheneinheit 3234 und dem zweiten Eingang des Adressenmultiplexers 3206. Die Steuereingänge des Multiplexers 3230, des NIPA-Registers 3232 und die Recheneinheit 3234 sind jeweils mit der zweiten Steuerleitung 3272 verbunden. Der Ausgang der Recheneinheit 3234 bildet den Ausgang der Adressenoperationslogik 3204 und ist folglich mit dem Adressenrückkopplungseingang des AOU-Crossbar-Schalters 3200 und dem dritten Eingang des Adressenmultiplexers 3206 verbunden. Die Verbindungen zu den restlichen Eingängen und Ausgängen des AOU-Crossbar-Schalters 3200 und des Adressenmultiplexers 3206 sind identisch mit denjenigen, die vorher unter Bezugnahme auf 24 beschrieben worden sind.
  • Um die Durchführung eines Adressen-Operationsbefehls zu vereinfachen, gibt die IF-Einheit 3060 AOU-Steuersignale, HF-Adressen und Konstanten an die AO-Einheit 3064 während entweder des ISS-Zustandes E oder M ab. Die dritten und vierten RAM 3220, 3222 schaffen eine erste bzw. zweite Registerdatei für ein vorübergehendes Adressenspeichern. Einzelne Speicherstellen in dem dritten und vierten RAM 3220, 3222 werden entsprechend dem HF-Adressen ausgewählt, die an jedem RAM-Adressenauswähleingang erhalten worden sind. Das Laden des dritten und vierten RAM 3220, 3222 wird durch die AOU-Steuersignale gesteuert, die der jeweilige RAM 3220, 3222 an seinem Schreib-Freigabeeingang erhält. Der Multiplexer 3230 leitet selektiv Adressen, die von dem dritten und vierten RAM 3220, 3222 abgegeben worden sind, zu dem NIPA-Register 3232 unter der Anweisung der AOU-Steuersignale, die an dessen Steuereingang erhalten worden sind. Das NIPA-Register 3232 lädt eine Adresse, die von dem Ausgang des Multiplexers 3230 erhalten worden ist, und inkrementiert deren Inhalt entsprechend den AOU-Steuersignalen, die an dessen Steuereingang erhalten worden sind.
  • In der bevorzugten Ausführungsform speichert das NIPA-Register 3232 die Adresse des nächsten durchzuführenden Programmbefehls. Die Recheneinheit 3234 führt Rechenoperationen einschließlich einer Addition, einer Subtraktion, eines Inkrementierens und Dekrementierens an Adressen, die von dem dritten und vierten RAM 3220, 3222 und/oder an Inhalten eines NIPA-Registers 3232 durch. Der Schalter 3200 leitet selektiv 1) Adressen von dem Speicher 3034 zu dem dritten und vierten RAM 3220, 3222 und 2) Ergebnisse von Adressenrechnungen, die von der Recheneinheit 3234 abgegeben worden sind, zu dem Speicher 3034 oder dem dritten und vierten RAM 3220, 3222. Der AOU-Crossbar-Schalter 3200 führt eine ganz bestimmte Lenkoperation gemäß dem AOU-Steuersignalen durch, die an dessen Steuereingang erhalten worden sind. Der Adressenmultiplexer 3206 lenkt selektiv Adressen, die von dem dritten RAM 3220 abgegeben worden sind, Adressen, die von dem vierten RAM 3222 abgegeben worden sind, oder Ergebnisse von Adressenrechnungen, die von der Recheneinheit 3234 abgegeben worden sind, zu dem AOU- Adressenausgang unter der Anweisung der AOU-Steuersignale, die an dessen Steuereingang erhalten worden sind.
  • In der bevorzugten Ausführungsform sind der dritte und vierte RAM 3220, 3222 jeweils durch Verwenden der Datenspeicherschaltung ausgeführt, die in einem Satz von CL-Blöcken vorhanden ist. Der Multiplexer 3230 und der Adressenmultiplexer 3206 sind jeweils durch Verwenden einer Datenauswahlschaltung ausgeführt, die in einem Satz von CL-Blöcken vorhanden ist, und das NIPA-Register 3232 ist vorzugsweise durch Verwenden einer Datenspeicherschaltung ausgeführt, die in einem Satz CL-Blöcken vorhanden ist. Die Recheneinheit 3234 ist vorzugsweise mit Hilfe von logischen Funktionsgeneratoren und einer Schaltung ausgeführt, die mathematischen Funktionen in einer Gruppe von CL-Blöcken zugeordnet ist. Schließlich ist der AOU-Crossbar-Schalter vorzugsweise in der vorstehend beschriebenen Weise ausgeführt.
  • In 25B ist ein Blockdiagramm einer zweiten beispielhafen Ausführungsform der AO-Einheit 3066 dargestellt, die für die Durchführung einer Innenschleifen-ISA konfiguriert ist. Vorzugsweise erfordert eine Innenschleifen-ISA Hardware zum Durchführen einer sehr begrenzten Menge von Adressenoperationen, und eine Hardware, um zumindest einen Quellenadressenzeiger und eine entsprechende Anzahl von Bestimmungsadressenzeigern aufrechtzuerhalten. Eine Innenschleifen-Verarbeitung, für welche eine sehr begrenzte Anzahl von Adressenoperationen oder sogar eine einzige Adressenoperation erforderlich sind, enthält Block- oder Serpentinenoperationen an Bilddaten, Bitumkehroperationen, Operationen an zirkularen Pufferdaten und Parsing-Operationen an Daten variabler Länge.
  • Nachstehend wird eine einzige Adressenoperation betrachtet, nämlich eine Inkrement-Operation. Der Fachmann erkennt, daß Hardware, welche Inkrement-Operationen durchführt, auch inhärent in der Lage ist, Dekrementier-Operationen durchzuführen, um dadurch eine zusätzliche Adressen-Operationsmöglichkeit zu schaffen. In der zweiten beispielhaften Ausführungsform der AO-Einheit 3076 weist die Speicher/Zähllogik 3202 zumindest auf ein Quellenadressenregister 3252 mit einem Eingang, einem Ausgang und einem Steuereingang, zumindest ein Bestimmungsadressenregister 3254 mit einem Eingang, einem Ausgang und einem Steuereingang und einen Datenselektor 3250 mit einem Eingang, einem Steuereingang und einer Anzahl Ausgänge, welche gleich der Gesamtanzahl an vorhandenen Quellen-Bestimmungs-Adressenregister 3252, 3254 ist. Hier werden ein einziges Quellenadressenregister 3252 und ein einziges Bestimmungsregister 3254 betrachtet und daher hat der Datenselektor 3250 einen ersten und einen zweiten Ausgang.
  • Die Adressenoperations-Logik 3204 weist ein NIPA-Register 3232 mit einem Eingang, einem Ausgang und einem Steuerausgang, wie einen Multiplexer 3260 auf, der eine Anzahl Eingänge, die gleich der Anzahl Datenselektorausgänge sind, einen Steuereingang und einen Ausgang hat. Hierbei hat der Multiplexer 3260 einen ersten Eingang und einen zweiten Eingang. Der Adressenmultiplexer 3206 weist vorzugsweise einen Multiplexer mit einer Anzahl Eingänge auf, welche um eins größer ist als die Anzahl an Datenselektorausgängen, einem Steuereingang und einem Ausgang auf. Folglich hat hier der Adressenmultiplexer 3201 einen ersten, einen zweiten und einen dritten Eingang. Der Crossbar-Schalter 3200 weist vorzugsweise ein herkömmliches Crossbar-Schaltnetz mit zweiseitig und einseitig gerichteten Crossbar-Verbindungen und mit den Eingängen und Ausgängen, die vorher in Verbindung mit 24 beschrieben worden sind. Eine effiziente Ausführung des AOU-Crossbar-Schalters 3200 kann enthalten Multiplexer, Puffer mit drei Zuständen, eine auf CLB basierende Logik, eine Direktverdrahtung oder eine Untergruppe solcher Elemente, die durch rekonfigurierbare Kopplungen verbunden sind. Für eine Innenschleifen-ISA ist der Schalter 3200 vorzugsweise ausgelegt, um eine parallele Adressenbewegung in einer minimal möglichen Zeit durchzuführen, während auch eine minimale Anzahl von eindeutigen Adressenbewegungs-Crossbar-Kopplungen vorgesehen sind, um Innenschleifen-Operationen zu stützen. Der Eingang des Datenselektors 3250 ist mit dem Ausgang des Schalters 3200 verbunden. Die ersten und zweiten Ausgänge des Datenselektors 3250 sind mit dem Eingang des Feldadressenregister 3252 bzw. des Bestimmungsadressen-Registers 3254 verbunden. Die Steuereingänge des Quel lenadressenregisters 3252 und des Bestimmungsadressenregister 3254 erhalten AO-Steuersignale über die zweite Steuerleitung 3072. Der Ausgang des Quellenadressenregisters 3252 ist mit dem ersten Eingang des Multiplexers 3260 und dem ersten Eingang des Adressenmultiplxers 3206 verbunden. Dementsprechend ist der Ausgang des Bestimmungsregisters 3254 mit dem zweiten Eingang des Multiplexers 3260 bzw. des Adressenmultiplexers 3206 verbunden. Der Eingang des NIPAR-Registers 3232 ist mit dem Ausgang des Multiplexers 3260 verbunden. Der Steuereingang des Registers 3232 erhält AOU-Steuersignale über die zweite Steuerleitung 3072, und der Ausgang des Registers 3232 ist sowohl mit dem Adressenrückkopplungseingang des Schalters 3200 als auch mit dem dritten Eingang des Adressenmultiplexers 3206 verbunden. Die Verbindungen zu den restlichen Eingängen und Ausgängen des Schalters 3200 sind identisch mit dem, die vorher bezüglich 24 beschrieben worden sind.
  • Beim Betrieb leitet der Datenselektor 3250 Adressen, die von dem AOU-Crossbar-Schalter 3200 erhalten worden sind, zu dem Quellenadressenregister 3252 oder dem Bestimmungsadressenregister 3254 entsprechend den HF-Adressen, die an dem Steuereingang erhalten worden sind. Das Quellenadressenregister 3252 lädt eine an dessen Eingang vorhandene Adresse entsprechend den an dessen Steuereingang vorhandenen AOU-Steuersignale. Das Bestimmungsadressenregister 3254 lädt eine an dessen Eingang vorhandene Adresse in analoger Weise. Der Multiplexer 3260 leitet eine Adresse, die er von dem Quellenadressenregister 3252 oder dem Bestimmungsadressenregister 3254 erhalten hat, zu dem Eingang des NIPA-Registers 3232 entsprechend der AOU-Steuersignalen, die er an dem Steuereingang erhalten hat. Das Register 3232 lädt eine an dessen Eingang vorhandene Adresse, inkrementiert oder dekrementiert dessen Inhalt entsprechend den an dem Steuereingang erhaltenen AOU-Steuersignalen. Der AOU-Crossbar-Schalter 3200 lenkt selektiv 1) Adressen von dem Speicher 3034 zu dem Datenselektor 3050 und 2) den Inhalt des Registers 3232 zu dem Speicher 3034 oder dem Datenselektor 3250. Der AOU-Crossbar-Schalter 3200 führt eine ganz bestimmte Leitoperation entsprechend den an dem Steuereingang erhaltenen AOU-Steuersignalen. Der Adressenmultiplexer 3206 leitet selektiv den Inhalt des Quellenadressenregisters 3252, des Bestimmungsadressenregisters 3254 oder des NIPA-Registers 3232 zu dem AOU-Adressenausgang unter der Anweisung der an dessen Steuereingang erhaltenen AOU-Steuersignalen.
  • In der bevorzugten Ausführungsform sind das Quellenadressenregister 3252 und das Bestimmungsadressenregister 3254 jeweils unter Verwendung der Datenspeicherschaltung ausgeführt, die in einem Sau von CL-Blöcken vorhanden ist. Das NIPA-Register 3232 ist vorzugsweise mit Hilfe einer Inkrementier/Dekrementier-Logik und Flip-Flops in einem Satz von CL-Blöcken ausgeführt. Der Datenselektor 3250, der Multiplexer 3220 und der Adressenmultiplexer 3206 sind jeweils vorzugsweise unter Verwendung einer Datenselektionsschaltung ausgeführt, die in einem Satz CL-Blöcken vorhanden ist. Schließlich ist der Schalter 3200 vorzugsweise in der Weise ausgeführt, die vorher für eine Innenschleifen-ISA beschrieben ist. Der Fachmann erkennt, daß in bestimmten Anwendungen es vorteilhaft sein kann, eine ISA zu benutzen, welche auf einer Innenschleifen-AOU-Konfiguration einer Außenschleifen-DOU-Konfiguration oder umgekehrt beruht. Beispielsweise würde eine assoziative String-Suchvorgang-ISA in vorteilhafter Weise eine Innenschleifen-DOU-Konfiguration zusammen mit einer Außenschleifen-AOU-Konfiguration ausnutzen. Ferner würde beispielsweise eine ISA zum Durchführen von Histogramm-Operationen in vorteilhafter Weise eine Außenschleifen-DOU-Konfiguration in Verbindung mit einer Innenschleifen-AOU-Konfiguration ausnutzen.
  • Begrenzte rekonfigurierbare Hardware-Ressourcen müssen zwischen jedem Element der DRPU-Einheit 3032 angeordnet werden. Da die rekonfigurierbaren Hardware-Ressourcen in ihrer Zahl begrenzt sind, beeinflußt die Art und Weise, in welcher sie der IF-Einheit 3060 beispielsweise zugeordnet werden, den maximalen Rechenleistungspegel, der von der DA-Einheit 3062 und der AO-Einheit 3064 erreichbar ist. Die Art und Weise, in welcher die rekonfigurierbaren Hardware-Ressourcen zwischen der IF-Einheit 3060, der DO-Einheit 3062 und der AO-Einheit 3064 zugeordnet werden, ändert sich entsprechend dem Typ von ISA, der in einem vorgegebenen Moment durchzuführen ist. Wenn die ISA-Komplexität zunimmt, müssen mehrere konfigurierbare Hardware-Ressourcen der IF-Einheit 3060 zugeordnet werden, umzunehmend komplexe Decodier- und Steueroperationen zu vereinfachen, die weniger rekonfigurierbare Hardware-Ressourcen übriglassen, die zwischen der DO-Einheit 3063 und der AO-Einheit 3064 verfügbar sind. Folglich nimmt die maximale Rechenleistung, die von der DO-Einheit 3062 und der AO-Einheit 3064 erreichbar ist, mit der ISA-Kpmplexität ab. Im allgemeinen hat eine Außenschleifen-ISA viel mehr Befehle als eine Innenschleifen-ISA, und daher ist deren Ausführung merklich komplexer hinsichtlich der Decodier- und Steuerschaltung. Beispielsweise würde eine Außenschleifen-ISA, die einen 64 Bit Universalprozessor definiert, viel mehr Befehle haben als eine Innenschleifen-ISA, die nur auf eine Datenkompression ausgerichtet ist.
  • In 26A ist ein Diagramm dargestellt, das eine beispielhafte Zuordnung von rekonfigurierbaren Hardware-Ressourcen zwischen IF-Einheit 3060, der DO-Einheit 3062 und der AO-Einheit 3064 für eine Außenschleifen-ISA zeigt. In der beispielhaften Zuordnung der rekonfigurierbaren Hardware-Ressourcen für die Außenschleifen-ISA sind der IF-Einheit 3060, der DO-Einheit 3062 und der AO-Einheit 3064 jeweils annäherend ein Drittel der verfügbaren rekonfigurierbaren Hardware-Ressourchen zugeordnet. Für den Fall, daß die DRP-Einheit 3032 zu rekonfigurieren ist, um eine Innenschleifen-ISA durchzuführen, werden weniger rekonfigurierbare Hardware-Ressourcen erfordert, um die IF-Einheit 3060 und die AO-Einheit 3064 infolge der begrenzten Anzahl von Befehlen und Arten von Adressenoperationen auszuführen, die von einer Innenschleifen-ISA getragen sind.
  • In 26B ist ein Diagramm dargestellt, das eine beispielhafte Zuordnung von rekonfigurierbaren Hardware-Ressourcen zwischen der IF-Einheit 3060, der DO-Einheit 3062 und der AO-Einheit 3064 für eine Innenschleifen-ISA zeigt. In der beispielhaften Zuordnung von rekonfigurierbaren Hardware-Ressourcen für die Innenschleifen-ISA ist die IF-Einheit 3060 unter Verwendung von annähernd 5 bis 10 % der rekonfigurierbaren Hardware-Ressourcen ausgeführt, und die AO-Einheit 3064 ist unter Verwendung von annähernd 10 bis 25 % der rekonfigurierbaren Hardware-Ressourcen ausgeführt. Folglich bleiben etwa 70 bis 80 % der rekonfigurierbaren Hardware-Ressourcen verfügbar, um die DO-Einheit 3062 auszuführen. Dies wiederum bedeutet, daß der innere Aufbau der DO-Einheit 3062, welche der Innenschleifen-ISA zugeordnet ist, komplexer sein kann und folglich ein deutlich höheres Leistungsvermögen bietet als der interne Aufbau der DO-Einheit 3062, welche der Außenschleifen-ISA zugeordnet ist.
  • Der Fachmann erkennt, daß die DRP-Einheit 3032 entweder die DO-Einheit 3062 oder die AO-Einheit 3064 in einer alternativen Ausführungsform enthalten kann. Beispielsweise braucht in einer alternativen Ausführungsform die DRP-Einheit 3032 nicht eine AO-Einheit 3064 zu enthalten. Die DO-Einheit 3062 würde dann dafür verantwortlich sein, Operationen sowohl bei Daten als auch bei Adressen durchzuführen. Ungeachtet der besonderen, in Betracht gezogenen DRPU-Ausführungsform muß eine endliche Anzahl rekonfigurierbarer Hardware-Ressourcen zugeordnet werden, um die Elemente der DRPU-Einheit 3032 auszuführen. Die rekonfigurierbaren Hardware-Ressourcen sind vorzugsweise so zugeordnet, daß eine optimale oder beinahe optimale Leistung für die aktuell in Betracht gezogene ISA relativ zu dem Gesamtraum an verfügbaren rekonfigurierbaren Hardware-Ressourcen erreicht wird.
  • Der Fachmann erkennt, daß der detaillierte Aufbau des Elements der IF-Einheit 3060, der DO-Einheit 3062 und der AO-Einheit 3064 nicht auf die vorstehend beschriebenen Ausführungsformen beschränkt ist. Für eine vorgegebene ISA ist der entsprechende Konfigurations-Datensatz vorzugsweise so definiert, daß der interne Aufbau jedes Elements in der IF-Einheit 3060, der DO-Einheit 3062 und der AO-Einheit 3064 eine Rechenleistung relativ zu den verfügbaren rekonfigurierbaren Hardware-Ressourcen maximiert.
  • In 27 ist ein Blockdiagramm einer bevorzugten Ausführungsform einer T-Einrichtung 3014 dargestellt. Die T-Einrichtung 3014 weist eine zweite lokale Zeitbasiseinheit 3300, eine gemeinsame Interface- und Steuereinheit 3302 und eine Reihe Verbindungs-Ein/Ausgabeeinheiten 3304 auf. Die zweite lokale Zeitbasiseinheit 3300 hat einen Zeitsteuereingang, welcher den Master-Zeitsteuereingang der T-Einrichtung bildet. Die gemeinsame Interface-Steuereinheit 3302 hat einen Zeitsteuereingang, der mit einem Zeitsteuereingang der zweiten lokalen Zeitbasiseinheit 3300 über eine zweite Zeitsteuersignalleitung 3310 verbunden ist, einen Adressenausgang, welcher mit der Adressenleitung 3344 verbunden ist, einen ersten zweigerichteten Dateneingang, der mit der Speicher-Ein/Ausgabe-Leitung 3044 verbunden ist, einen zweigerichteten Steuereingang, der mit einer externen Steuerleitung 3048 verbunden ist, und einen zweiten zweigerichteten Dateneingang, der mit einem zweigerichteten Dateneingang jeder vorhandenen Ein/Ausgabeeinheit 3304 über eine Nachrichtenübertragleitung 3312 verbunden ist. Jede Ein/Ausgabeeinheit 3304 hat einen Eingang, welcher mit der GPI-Matrix 3016 über eine Nachrichteneingangsleistung 3314 verbunden ist, und einen Ausgang, der mit der GPI-Matrix 3016 über eine Nachrichtenausgangsleitung 3316 verbunden ist.
  • Die zweite lokale Zeitbasis-Einheit 3300 in der T-Einrichtung 3014 erhält das Master-Zeitsteuersignal von der Master-Zeitbasiseinheit 3022 und erzeugt ein zweites lokales Zeitsteuersignal. Die zweite lokale Zeitbasiseinheit 3300 liefert das zweite lokale Zeitsteuersignal an die gemeinsame Interface-Steuereinheit 3302, um dadurch eine Zeitsteuerreferenz für die T-Einrichtung 3040 zu schaffen, in welcher sie untergebracht ist. Vorzugsweise ist die zweite lokale Zeitsteuereinheit phasensynchronisiert mit dem Master-Zeitsteuersignal. In dem System 1030 arbeitet jede zweite lokale Zeitbasiseinheit 33 der T-Einrichtung vorzugsweise auf derselben Frequenz. Der Fachmann erkennt, daß in einer alternativen Ausführungsform ein oder mehrere zweite lokale Zeitbasiseinheiten 3300 auch auf unterschiedlichen Frequenzen arbeiten können. Die zweite lokale Zeitbasiseinheit 3300 ist vorzugsweise mit Hilfe einer herkömmlichen phasenstarren Frequenzumwandlungsschaltung ausgeführt, die eine auf CLB basierende phasenstarre Detektionsschaltung enthält. Der Fachmann erkennt, daß in einer alternativen Ausführungsform die zweite lokale Zeitbasiseinheit 3300 als ein Teil eines Taktverteilungsbaums ausgeführt sein könnte.
  • Die gemeinsame Interface-Steuereinheit 3302 leitet den Nachrichtentransfer zwischen der entsprechenden S-Einrichtung 3012 und einer spezifizierten Ein-/Ausgabeeinheit 3304, wobei eine Nachricht einen Befehl und möglicherweise Daten enthält. In der bevorzugten Ausführungsform kann die spezifizierte Ein/Ausgabeeinheit 3304 in einer T-Einrichtung 3014 oder in einer Ein/Ausgabe-T-Einrichtung 3018 intern oder extern zu dem System 3010 untergebracht sein. In der vorliegenden Erfindung ist jede Ein/Ausgabeeinheit 3304 vorzugsweise einer Verbindungsadresse zugeordnet, die eindeutig die verbindende Ein/Ausgabeeinheit 3304 identifiziert. Die Verbindungsadressen für die Ein/Ausgabeeinheiten 3304 in einer vorgegebenen T-Einrichtung werden in dem entsprechenden Architektur-Beschreibungsspeicher 3101 der S-Einrichtung gespeichert.
  • Die gemeinsame Interface- und Steuereinheit 3302 erhält Daten und Befehle von der entsprechenden S-Einrichtung 3012 über die Speicher-Ein-/Ausgabeleitung 3064 bzw. die externe Steuersignalleitung 3048. Vorzugsweise enthält jeder empfangene Befehl eine Sollkopplungsadresse und einen Befehlscode, welcher eine ganz bestimmte durchzuführende Operationsart spezifiziert. In der bevorzugten Ausführungsform enthalten die Operationsarten, die eindeutig durch Befehlscodes codiert sind, 1) Datenleseoperationen, 2) Datenschreiboperationen und 3) einen Unterbrechungssignal-Transfereinschließ licheines Rekonfigurations-Unterbrechungstransfers. Die Sollkopplungsadresse identifiziert eine Sollkopplungs-Ein/Ausgabeeinheit 3304, an welcher Daten und Befehle zu übertragen sind. Vorzugsweise überträgt die gemeinsame Interface-Steuereinheit 3302 jeden Befehl und irgendwelche diesbezüglichen Daten als einen Satz auf einem Datenpaket basierender Nachrichten in herkömmlicher Weise, wobei jede Nachricht die Sollkopplungsadresse und den Befehlscode enthält.
  • Außer Daten und Befehle von der entsprechenden S-Einrichtung 3012 zu erhalten, erhält die gemeinsame Interface- und Steuereinheit 3302 Nachrichten von jeder der Ein/Ausgabeeinheit 3304, die mit der Nachrichtenübertragungsleitung 3312 verbunden sind. In der bevorzugten Ausführungsform wandelt die Interface- und Steuer einheit 3302 eine Gruppe von diesbezüglichen Nachrichten in eine einzige Befehls- und Datenfolge um. Wenn der Befehl an die DRP-Einheit 3032 in der entsprechenden S-Einrichtung 3012 gerichtet ist, gibt die Interface- und Steuereinheit 3302 den Befehl über die externe Steuersignalleitung 3048 ab. Wenn der Befehl an den Speicher 3034 in der entsprechenden S-Einrichtung 3012 gerichtet ist, gibt die Interface- und Steuereinheit 3302 ein entsprechendes Speichersteuersignal über die externe Steuersignalleitung 3048 und ein Speicheradressensignal über die Speicheradressenleitung 3044 ab. Daten werden über die Speicher-Ein/Ausgabeeinheit 3046 übertragen. In der bevorzugten Ausführungsform weist die Interface- und Steuereinheit 3302 eine auf CLB basierende Schaltung auf, um Operationen analog denjenigen auszuführen, die von einer herkömmlichen SCI-Schalteinheit ausgeführt worden sind, die durch ANSI-/IEEE-Norm 1596 bis 1992 definiert ist.
  • Jede Ein/Ausgabeeinheit 3304 erhält Nachrichten von der Interface- und Steuereinheit 3302 und überträgt Nachrichten an andere Ein/Ausgabeeinheiten 3304 über die GPI-Matrix 3016 unter Anweisung von Steuersignalen, die von der Interface- und Steuereinheit 3302 erhalten worden sind. In der bevorzugten Ausführungsform basiert die Ein/Ausgabeeinheit 3304 auf einem SCI-Knoten, wie er durch ASNI/IEEE-Norm 1596–1992 definiert ist. In 28 ist ein Blockdiagramm einer bevorzugten Ausführungsform einer Kopplungs-Ein/Ausgabeeinheit 3304 dargestellt. Die Einheit 3304 weist einen Adressendecodierer 3320, einen Eingabe-FIFO-Puffer 3322, einen Bypass-FIFO-Puffer 3324, einen Ausgangs-FIFO 3326, und einen Multiplexer 3328 auf. Der Adressendecodierer 3320 hat einen Eingang, welcher den Eingang einer Kopplungs-Ein/Ausgabeeinheit 3304 bildet, einen ersten Ausgang, der mit dem Eingabe-FIFO 3322 verbunden ist, und einen zweiten Ausgang, der mit dem Bypass-FIFO 3324 verbunden ist. Das Eingabe-FIFO 3322 hat einen Ausgang, welcher mit der Nachrichtenübertragungsleitung 3312 verbunden ist, um Nachrichten an die gemeinsame Interface- und Steuereinheit 3302 zu übertragen. Das Ausgangs-FIFO 3326 hat einen Eingang, welcher mit der Nachrichtenübertragungsleitung 2312 verbunden ist, um Nachrichten von dem gemeinsamen Interface und einer Steuerschaltung 3302 zu erhalten, und einen Ausgang, der mit einem ersten Eingang des Multiplexers 3328 verbunden ist. Der Bypass-FIFO 3326 hat einen Ausgang, der mit einem zweiten Eingang des Multiplexers 3328 verbunden ist. Schließlich hat der Multiplexer 3328 einen Steuereingang, welcher mit der Nachrichtenübertragungsleitung 3312 verbunden ist, und einen Ausgang, der den Ausgang der Kopplungs-Ein/Ausgabeeinheit bildet.
  • Die Ein/Ausgabeeinheit 3304 erhält Nachrichten an dem Eingang des Adressen-Decodierers 3312, welcher bestimmt, ob die Sollkopplungsadresse, die in der empfangenen Nachricht spezifiziert ist, identisch mit der Kopplungsadresse der Kopplungs-Ein/Ausgabeeinheit 3304 ist, in welcher sie untergebracht ist. Wenn dem so ist, leitet der Adressendecodierer 3320 die Nachricht zu dem Eingabe-FIFO 3322. Anderenfalls leitet der Adressendecodierer 3320 die Nachricht zu dem Bypass-FIFO 3324. In der bevorzugten Ausführungsform weist der Adressen-Decodierer 3320 einen Codierer und einen Datenselektor auf, die mit Hilfe IOBs und CLBs ausgeführt sind.
  • In 29 ist ein Blockdiagramm einer bevorzugten Ausführungsform der Ein/Ausgabe-T-Einrichtung 3018 dargestellt. Die Ein/Ausgabe T-Einrichtung 3018 weist eine dritte lokale Zeitbasiseinheit 3360, eine gemeinsame kundenspezifische Interface- und Steuereinheit 3362 und eine Kopplungs-Ein/Ausgabeeinheit 3304 auf. Die dritte lokale Zeitbasiseinheit 3360 hat einen Zeitsteuereingang, welche den Master-Zeitsteuereingang der Ein/Ausgabe-T-Einrichtung 3018 bildet. Die Ein/Ausgabe-Einheit 3304 hat einen Eingang, welcher mit der GPI-Matrix 3016 über eine Nachrichten-Eingabeleitung 3314 verbunden ist, und einen Ausgang, der mit der GPI-Matrix 3016 über eine Nachrichtenausgabeleitung 3316 verbunden ist. Die gemeinsame kundenspezifische Interface- und Steuereinheit 3362 hat vorzugsweise einen Zeitsteuereingang, der mit einem Zeitsteuerausgang des dritten lokalen Zeitbasiseinheit 3360 über eine dritte Zeitsteuersignalleitung 3370 verbunden ist, einen ersten zweigerichteten Dateneingang, der mit einem zweigerichteten Dateneingang der Kopplungs-Ein/Ausgabe-Einheit 3304 verbunden ist, und einen Satz Verbindungen zur Ein/Ausgabe-Vorrichtung 3020. In der bevorzugten Ausführungsform enthält der Satz Verbindungen zu der Ein/Ausgabe-Vorrichtung 3020 einen zweiten zweigerichteten Dateneingang, der mit einem zweigerichteten Dateneingang der Ein/Ausgabe-Vorrichtung 3020 verbunden ist, einen Adressenausgang, der mit einem Adresseneingang der Ein/Ausgabe-Vorrichtung 3020 verbunden ist, und einen zweigerichteten Steuereingang, der mit einem zweigerichteten Steuereingang der Ein/Ausgabe-T-Vorrichtung 3020 verbunden ist. Der Fachmann erkennt ohne weiteres, daß die Verbindungen zu der Ein/Ausgabe-Vorrichtung 3020 von der Art der Ein/Ausgabe-Vorrichtung 3020 abhängen, mit welcher die gemeinsame kundenspezifische Interface- und Steuereinheit 3362 verbunden ist.
  • Die dritte lokale Zeitbasiseinheit 3360 erhält das Master-Zeitsteuersignal von der Master-Zeitsteuereinheit 3025 und erzeugt ein drittes lokales Zeitsteuersignal. Die dritte lokale Zeitbasiseinheit 3360 gibt das dritte lokale Zeitsteuersignal an die Interface- und Steuereinheit 3362 ab, wodurch eine Zeitreferenz für die Ein/Ausgabe-T-Einrichtung 3018 geschaffen ist, in welcher sie untergebracht ist. In der bevorzugten Ausführungsform ist das dritte lokale Zeitsteuersignal phasensynchronisiert mit dem Master-Zeitsteuersignal. Jede dritte lokale Zeitbasiseinheit 3360 der T-Einrichtung arbeitet vorzugsweise auf einer identischen Frequenz. In einer alternativen Ausführungsform könnten jedoch auch ein oder mehr dritte lokale Zeitbasiseinheiten 3360 auf verschiedenen Frequenzen arbeiten. Die dritte lokale Zeitbasiseinheit 3360 ist vorzugsweise mit Hilfe einer herkömmlichen phasenstarren Frequenzumwandlungsschaltung ausgeführt, die eine auf CLB basierende phasenstarre Detektionsschaltung enthält. Analog zu den ersten und zweiten lokalen Zeitbasiseinheiten 3030 könnte auch die dritte lokale Zeitbasiseinheit 3360 als ein Teil eines Taktverteilungsbaums in einer alternativen Ausführungsform ausgeführt sein.
  • Der Aufbau und die Funktionalität der Ein/Ausgabe-Einheit 3304 in der T-Einrichtung 3018 ist vorzugsweise identisch mit derjenigen, die vorstehend für die T-Einrichtung 3014 beschrieben worden ist. Die Ein/Ausgabe-Einheit 3304 in der T-Einrichtung 3018 ist eine eindeutige Verbindungsadresse analog derjenigen für jede Verbindungs-Ein/Ausgabe-Einheit 3304 in jeder vorgegebenen T-Einrichtung 3014 zugeteilt.
  • Die gemeinsame kundenspezifische Interface- und Steuereinheit 3362 leitet den Nachrichtentransfer zwischen der Ein-Ausgabevorrichtung 3020, an welche sie gekoppelt ist, und der Verbindungs-Ein/Ausgabe-Einheit 3304, wobei eine Nachricht einen Befehl und möglicherweise Daten enthält. Die Interface- und Steuereinheit 3362 erhält Daten und Befehle von der entsprechenden Ein/Ausgabe-Vorrichtung 3020. Vorzugsweise enthält jeder Befehl, der von der Ein/Ausgabe-Vorrichtung 3020 empfangen worden ist, eine Sollkopplungsadresse und einen Befehlcode, der eine ganz bestimmte durchzuführende Operationsart spezifiziert. In der bevorzugten Ausführungsform enthalten die Operationsarten, die eindeutig durch Befehlcodes identifiziert sind, 1) Datenanforderung, 2) Datenübernagungsbestätigung und 3) einen Unterbrechungssignal-Transfer. Die Sollverbindungsadresse identifiziert eine Sollverbindungs-Ein/Ausgabe-Einheit 3304 in dem System 3010, in welche Daten und Befehle übertragen sind. Vorzugsweise überträgt die gemeinsame Interface- und Steuereinheit 3062 jeden Befehl und irgendwelche diesbezüglichen Daten als einen Satz auf einem Datenpaket basierender Nachrichten in herkömmlicher Weise, wobei jede Nachricht eine Sollverbindungsadresse und den Befehlscode enthält.
  • Zusätzlich zum Empfangen von Daten und Befehlen von der entsprechenden Ein/Ausgabe-Vorrichtung 3020 erhält die gemeinsame kundenspezifische Interface- und Steuereinheit 3362 Nachrichten von einer zugeordneten Verbindungs-Ein/Ausgabe-Einheit 3304. In der bevorzugten Ausführungsform wandelt die Interface- und Steuereinheit 3363 eine Gruppe von verwandten Nachrichten in eine einzige Befehl- und Datenfolge entsprechend den Kommunikationsprotokollen, die von der entsprechenden Ein/Ausgabe-Vorrichtung 3020 getragen sind. In der bevorzugten Ausführungsform weist die gemeinsame kundenspezifische Interface- und Steuereinheit 3362 eine Steuereinheit für die auf CLB-basierende Ein/Ausgabe-Einheit auf, die mit der auf CLB-basierenden Schaltung verbunden ist, um Operationen durchzuführen, welche analog denjenigen sind, die von einer herkömmlichen SCI-Schalt einheit durchgeführt worden sind, wie durch ANSI/IEEE-Norm 1596–1992 definiert ist.
  • Die GPI-Matrix 3016 ist ein herkömmliches Verbindungsnetz, welches eine parallele Punkt-zu-Punkt-Nachrichtenlenkung zwischen Verbindungs-Ein/Ausgabe-Einheiten 3304 erleichtert. In der bevorzugten Ausführungsform ist die GPI-Matrix 3016 ein auf einer Verdrahtung basierendes, statisches k-näres (k-ary-) Würfel-Verbindungsnetz. In 30 ist ein Blockdiagramm einer beispielhaften Ausführungsform einer universellen Verbindungs-GPI-Matrix 3016 dargestellt. In 30 ist die Verbindungs-GPI-Matrix 3016 ein toroid- bzw. ringförmiges Verbindungsmachennetz, über dem entsprechend ein k-närer 2 Würfel, der eine Anzahl erster Übertragungskanäle 3380 und eine Anzahl zweiter Übertragungskanäle 3382 aufweist. Jeder erste Übertragungskanal 3380 enthält eine Anzahl Knotenverbindungsstellen 3384, ebenso jeder zweite Übertragungskanal 3382. Jede Verbindungs-Ein/Ausgabeeinheit 3304 in dem System 3010 ist vorzugsweise mit der Verbindungs-GPI-Matrix 3014 verbunden, so daß die Nachrichten-Eingangsleitung 3314 und die Nachrichten-Ausgangsleitung 3310 aufeinanderfolgende Knotenverbindungsstellen 3384 in einem vorgegebenen Übertragungskanal 3380, 3382 verbinden. In der bevorzugten Ausführungsform enthält jede T-Einrichtung 3014 eine Verbindungs-Ein/Ausgabe-Einheit 3304, die mit dem ersten Verbindungskanal 3380 verbunden ist, und eine Verbindungs-Ein-/Ausgabeeinheit 3304, die mit dem zweiten Verbindungskanal 3382 in der vorstehend beschriebenen Weise verbunden ist. Die gemeinsame Interface- und Steuereinheit 3302 in der T-Einrichtung 3014 erleichtert vorzugsweise das Leiten von Information zwischen der mit dem ersten Verbindungskanal verbundenen Ein/Ausgabe-Einheit 3304 und der mit dem zweiten Verbindungskanal 3382 verbundenen Ein/Ausgabeeinheit 3304. Für eine T-Einrichtung 3014, die eine Verbindungs-Ein/Ausgabe-Einheit 3304 hat, die mit dem ersten als 3380c bezeichneten Übertragungskanal verbunden ist, und eine Verbindungs-Ein/Ausgabe-Einheit 3304 hat, die mit dem zweiten als 3382c bezeichneten Übertragungskanal in 30 verbunden ist, erleichtert diese gemeinsame Interface- und Steuereinheit 3302 der T-Einrichtung, ein Informations lenken zwischen dieser Gruppe von ersten und zweiten Übertragungskanälen 3380c, 3382c.
  • Die Verbindungs-GPI-Matrix 3016 erleichtert folglich das Leiten von vielfachen Nachrichten in paralleler Form zwischen Verbindungs-Ein/Ausgabeeinheiten 3304. Für die zweidimensionale GPI-Matrix 3016, die in 30 dargestellt ist, enthält jede T-Einrichtung 3014 vorzugsweise eine einzige Verbindungs-Ein/Ausgabe-Einheit 3304 für den ersten Übertragungskanal 3380 und eine einzige Verbindungs-Ein/Ausgabe-Einheit 3304 für den zweiten Verbindungskanal 3382. Der Fachmann erkennt, daß nur eine Ausführungsform, in welcher die Verbindungs-GPI-Matrix 3016 eine Anzahl Dimensionen hat, die größer als zwei ist, die T-Einrichtung 3014 vorzugsweise mehr als zwei Verbindungs-Ein/Ausgabe-Einheiten 3304 enthält. Vorzugsweise ist die Verbindungs-GPI-Matrix 3016 als eine k-närer 2-Würfel (k-ary 2-cube) mit einer 16 Bitdatenweggröße ausgeführt.
  • In der vorhergehenden Beschreibung sind verschiedene Elemente der vorliegenden Erfindung vorzugsweise unter Verwendung von rekonfigurierbaren Hardware-Ressourcen ausgeführt. Die Hersteller von umprogrammierbaren Logikvorrichtungen stellen üblicherweise veröffentliche Richtlinien zur Verfügung, um herkömmliche digitale Hardware mit Hilfe von umprogrammierbaren oder rekonfigurierbaren Hardware-Ressourcen auszuführen. Beispielsweise enthält das Xilinx-Buch "Programmierbare Logik-Daten" von 1994 (Xilinx, Inc., San Jose, CA) Anwendungshinweise, wie die folgenden: Anwendungshinweis XAPP 005.002 "Register-Based FIFO"; Anwendungshinweis XAPP 044.00 "High-Performance RAM-Based FIFO2"; Anwendungshinweis XAPP 013.001, "Using the Dedicated Carry Logic in the XC4000"; Anwendungshinweis XAPP 018.000 "Estimating the Performance of XC4000 Adders and Counters", Anwendungshinweis: XAPP 028.001, "Frequency/Phase Comparator for Phase-Locked-Loops"; Anwendungshinweis: XAPP31.000 "Using the XC4000 RAM Capability", Anwendungshinweis: XAPP 036.001 "Four-Port DRAM Controller...", und Anwendungshinweis XAPP 039.001 "18-Bit Pipelinded Accumulator". Zusätzliches Material, das von Xilinx veröffentlicht worden ist, enthält Merkmale in "XCELL, The Quaterly Journal for Xilinx Programmable Logic Users". Beispielsweise erscheint ein Artikel, der sich im einzelnen mit der Ausführung schneller ganzzahliger Multiplikatoren befaßt, in Ausgabe 14, der Ausgabe vom 3. Quartal 1994.
  • Das hier beschriebene System 3010 ist eine skalierbare, parallele Computerarchitektur, um dynamisch Mehrfach-ISAs auszuführen. Eine einzelne S-Einrichtung 3012 kann ein ganzes Computerprogramm selbständig ablaufen lassen, unabhängig von einer anderen S-Einrichtung 3012 oder von externen Hardware-Ressourcen, wie ein Host-Computer. Auf einer einzelnen S-Einrichtung 3012 werden mehrere ISAs zeitlich nacheinander während einer Programmdurchführung entsprechend Rekonfigurationsunterbrechungen und/oder ins Programm eingebetteten Rekonfigurationsanweisungen ausgeführt. Da das System 3010 vorzugsweise mehrere S-Einrichtungen 3012 enthält, werden vorzugsweise mehrere Programme gleichzeitig durchgeführt, wobei jedes Programm unabhängig sein kann. Folglich werden, da das System 3010 vorzugsweise mehrere S-Einrichtungen 3012 enthält, mehrere IS-Architekturen immer gleichzeitig (d.h. parallel) außer während der System-Initialisierung oder Rekonfiguration durchgeführt. Das heißt, in einer vorgegebenen Zeit werden mehrere Sätze von Programmbefehlen gleichzeitig durchgeführt, wobei jeder Satz von Programmbefehlen gemäß einer entsprechenden IS-Architektur durchgeführt wird. Jede derartige IS-Architektur kann eindeutig sein.
  • S-Einrichtungen 3012 kommunizieren miteinander und mit Ein/Ausgabevorrichtungen 3020 über die Gruppe von T-Einrichtungen 3014, die Verbindungs-GPI-Matrix 3016 und jede Ein/Ausgabe-T-Einrichtung 3018. Obwohl jede S-Einrichtung 3012 ein ganzer Computer in sich ist, der in der Lage ist, einen unabhängigen Betrieb durchzuführen, kann eine S-Einrichtung 3012 als eine Master-S-Einrichtung 3012 für andere S-Einrichtungen 3012 oder das ganze System fungieren, das Daten und/oder Befehle zu anderen S-Einrichtungen 3012, zu einer oder mehreren T-Einrichtungen 3016, einer oder mehreren Ein/Ausgabe-T-Einrichtungen 3018 und ein oder mehreren Ein/Ausgabe-Einrichtungen 3022 sendet.
  • Das System 3010 gemäß der Erfindung ist folglich insbesondere bei Problemen verwendbar, die sowohl räumlich als zeitlich in ein oder mehrere daten-parallele Unterprobleme aufgeteilt werden können, beispielsweise in eine Bildverarbeitung, eine medizinische Datenverarbeitung, eine kalibrierte Farbanpassung, eine Datenbasis-Berechnung, eine Dokumenten-Verarbeitung, assoziative Sucheinrichtungen und Netzwerk-Server. Für Rechenprobleme mit einem großen Array von Operanden ist eine Daten-Parallelität vorhanden, wenn Algorithmen angewendet werden können, um so eine effektive Rechenbeschleunigung durch parallele Rechentechniken anzubieten. Probleme bei der parallelen Datenverarbeitung besitzen eine bekannte Komplexität, nämlich O(nk) . Der Wert von k ist problem-abhängig, beispielsweise k = 2 für eine Bildverarbeitung und k = 3 für medizinische Datenverarbeitung. Bei der vorliegenden Erfindung werden die einzelnen S-Einrichtungen bzw. Geräte 3012 vorzugsweise verwendet, um eine Datenparallelität auf dem Niveau von Programmbefehlsgruppen auszunutzen. Da das System 3010 mehrere S-Einrichtungen 3012 enthält, wird das System 3010 vorzugsweise benutzt, um eine Datenparallelität auf dem Niveau von ganzen Programmsätzen auszunutzen.
  • Das System 3010 gemäß der Erfindung sorgt für sehr viel Rechenleistung, da es in der Lage ist, die Befehls-Verarbeitungshardware in jede S-Einrichtung 3012 vollständig zu rekonfigurieren, um die Rechenleistung solcher Hardware relativ zu Rechenerfordernissen zu einem vorgegebenen Zeitpunkt zu optimieren. Jede S-Einrichtung 3012 kann unabhängig von einer anderen S-Einrichtung 3012 rekonfiguriert werden. Das System 3010 behandelt in vorteilhafter Weise jeden Konfigurations-Datensatz, und folglich jede IS-Architektur, wie ein programmiertes Interface zwischen Software und der hier beschriebenen rekonfigurierbaren Hardware. Die Architektur der vorliegenden Erfindung erleichtert zusätzlich das Strukturieren von rekonfigurierbarer Hardware auf hohem Niveau, um selektiv die Angelegenheiten aktueller Systeme an Ort und Stelle zu adressieren, einschließlich Verhalten, bei welchen eine Unterbrechung eine Befehlsverarbeitung beeinflußt, die Notwendigkeit für eine deterministische Latenzantwort, um eine Echtzeit-Verarbeitung und Steuerfähigkeit zu erleichtern, und die Notwendigkeit für wählbare Antworten bei einer Fehler-Behandlung.
  • Im Unterschied zu anderen Computer-Architekturen lehrt die vorliegende Erfindung jederzeit die maximale Ausnutzung von Silizium-Ressourcen. Die vorliegende Erfindung sorgt für ein paralleles Computersystem, das jederzeit auf jede gewünschte Größe vergrößert werden kann, sogar auf Tausende von S-Einrichtungen 12. Eine derartige architektonische Skalierbarkeit ist möglich, da eine auf S-Geräten basierende Befehlsverarbeitung absichtlich von einer auf T-Einrichtungen basierenden Datenkommunikation getrennt ist. Dieses Paradigma-Befehlsverarbeitung Datenkommunikation-Trennung ist äußerst günstig für eine parallele Datenberechnung. Der interne Aufbau einer S-Geräte-Hardware ist vorzugsweise für den zeitlichen Durchlauf von Befehlen optimiert, während der interne Aufbau einer T-Geräte-Hardware vorzugsweise für eine effiziente Datenkommunikation optimiert ist. Die Menge an S-Einrichtungen bzw. -Geräten 3012 und die Menge an T-Einrichtungen bzw. Geräten sind jeweils eine trennbare, konfigurierbare Komponente in einer Raum-Zeitaufteilung einer daten-parallelen Rechenarbeit.
  • Mit Hilfe der vorliegenden Erfindung kann zukünftige rekonfigurierbre Hardware ausgenutzt werden, um Systeme mit noch größeren Rechenkapazitäten zu bauen, wobei der hier beschriebene Gesamtaufbau erhalten bleibt. Mit anderen Worten, das System 10 gemäß der Erfindung ist technologisch skalierbar. Praktisch brauchen alle gegenwärtig verfügbaren, rekonfigurierbaren Logik-Vorrichtungen auf speicherbasierender CMOS-(Komplementärer Metalloxid-Halbleiter)Technologie. In künftigen Systemen würde eine rekonfigurierbare logische Vorrichtung, die verwendet ist, um eine S-Einrichtung auszuführen, eine Aufteilung von internen Hardware-Ressourcen gemäß den hier beschriebenen Innenschleifen- und Außenschleifen-ISA-Parametriken haben. Größere rekonfigurierbare logische Vorrichtungen bieten einfach die Möglichkeit, mehr daten-parallele Rechenarbeit in einer einzigen Vorrichtung durchzuführen. Beispielsweise würde eine größere funktionelle Einheit 3194 in der zweiten beispielhaften Ausführungsform der DO-Einheit 3063, wie vorstehend anhand von 23B beschrieben ist, größere Abbildungs-Kerngrößen unterbringen. Der Fachmann erkennt, daß die technologische Skalierbarkeit, welche durch die vorliegende Erfindung geschaffen ist, weder auf auf CMOS-basierende Vorrichtungen noch auf FPGA basierende Ausführungen beschränkt ist. Folglich schafft die Erfindung eine technologische Skalierbarkeit ungeachtet der speziellen Technologie, die verwendet ist, um eine Rekonfigurierbarkeit oder Umprogrammierbarkeit zu schaffen.
  • In 31A und 31B ist ein Ablaufdiagramm eines bevorzugten Verfahrens für ein skalierbares, paralleles, dynamisch rekonfigurierbares Berechnen dargestellt. Vorzugsweise wird das in 31A und 31B dargestellte Verfahren in jeder der S-Einrichtungen 3012 in dem System 3010 durchgeführt. Das bevorzugte Verfahren beginnt beim Schritt 4000 in 31A mit der Rekonfigurationslogik 3104, die einen Konfigurations-Datensatz wieder auffindet, der einer ISA entspricht. Als nächstes konfiguriert beim Schritt 4002 die Rekonfigurationslogik 3104 jedes Element in der IF-Einheit 3060 der DO-Einheit 3062 und der AO-Einheit 3064 entsprechend dem wiederaufgefundenen Konfigurations-Datensatz beim Schritt 4002, wodurch eine DRPU-Hardware-Organisation für die Ausführung der aktuellen in Betracht gezogenen ISA erzeugt wird. Im Anschluß an den Schritt 4002 findet die Unterbrechungslogik 3106 die Unterbrechungsantwortsignale wieder, die in dem Architektur-Beschreibungsspeicher 3101 gespeichert sind, und erzeugt einen entsprechenden Satz von Übergangssteuersignalen, welche festlegen, wie die aktuelle DRPU-Konfiguration auf Unterbrechungen beim Schritt 4004 anspricht. Das ISS 3100 initialisiert anschließend beim Schritt 4006 eine Programm-Zustandsinformation, worauf das ISS 3100 einen Befehlausführungszyklus beim Schritt 4008 initialisiert.
  • Als nächstes bestimmt das ISS 3100 oder die Unterbrechungslogik 3106, ob Rekonfiguration erforderlich ist. Das ISS 3100 legt fest, daß Rekonfiguration in dem Fall erforderlich ist, daß eine Rekonfigurationsanweisung während einer Programmausführung gewählt wird. Die Unterbrechungslogik 3106 bestimmt, daß Rekonfiguration entsprechend einer Rekonfigurations-Unterbrechung erforderlich ist. Wenn Rekonfiguration erforderlich ist, geht das bevorzugte Verfahren auf Schritt 4012 über, bei welchem ein Rekonfigurations-Handhabungsprogramm Programmzustandsinformation rettet. Vorzugsweise enthält die Programmzustandsinformation eine Referenz zu dem Konfigurationsdatensatz, welcher der aktuellen DRPU-Konfiguration entspricht. Nach dem Schritt 4012 kehrt das bevorzugte Verfahren auf den Schritt 4000 zurück, um einen nächsten Konfigurations-Datensatz aufzufinden, auf den durch die Rekonfigurations-Anweisung oder die Rekonfigurations-Unterbrechung Bezug genommen ist.
  • Für den Fall, daß die Rekonfiguration beim Schritt 4010 nicht erforderlich ist, bestimmt die Unterbrechungslogik 3106, ob eine Nicht-Rekonfigurations-Unterbrechung eine Wartung beim Schritt 4014 erfordert. Wenn dem so ist, bestimmt das ISS 3100 als nächstes beim Schritt 4020, ob ein Zustandsübergang von dem aktuellen ISS-Zustand in dem Befehlsausführungszyklus in den Unterbrechungs-Servicezustand basierend auf den Übergangssteuersignalen zulässig ist. Wenn ein Zustandsübergang in den Unterbrechungs-Servicezustand nicht zulässig ist, geht das ISS 3100 in den nächsten Zustand in dem Befehlsausführungszyklus über und kehrt auf den Schritt 4020 zurück. In dem Fall, daß Übergangssteuersignale einen Zustandsübergang von dem aktuellen ISS-Zustand in dem Befehlsausführungszyklus in den Unterbrechungs-Servicezustand erlauben, geht ISS 3100 als nächstes beim Schritt 4024 in den Unterbrechungs-Servicezustand über. Beim Schritt 4024 stellt das ISS 3100 eine Programmzustandsinformation sicher und führt Programmbefehle für ein Warten der Unterbrechung aus. Im Anschluß an den Schritt 4024 kehrt das bevorzugte Verfahren auf den Schritt 4008 zurück, um den aktuellen Befehlsausführungszyklus wieder aufzunehmen, wenn er noch nicht beendet worden ist, oder um einen nächsten Befehlsausführungszyklus zu initiieren.
  • Für den Fall, daß keine Nicht-Konfigurations-Unterbrechung eine Wartung beim Schritt 4014 erfordert, geht das bevorzugte Verfahren auf den Schritt 4016 über und stellt fest, ob die Durchführung des aktuellen Programms beendet ist. Wenn die Durchführung des aktuellen Programms noch andauert, kehrt das bevorzugte Verfah ren auf den Schritt 4008 zurück, um einen anderen Befehlsausführungszyklus zu initiieren. Andererseits ist das bevorzugte Verfahren beendet.
  • Die Lehren der vorliegenden Erfindung unterscheiden sich deutlich von anderen Systemen und Verfahren für ein umprogrammierbares oder rekonfigurierbares Rechnen. Insbesondere ist die vorliegende Erfindung nicht äquivalent mit einer herunterladbaren Mikrocode-Architektur, da solche Architekturen im allgemeinen auf nicht-rekonfigurierbare Steuereinrichtung und eine nicht-rekonfigurierbare Hardware angewiesen sind. Die vorliegende Erfindung unterscheidet sich also deutlich von einem angeschlossen rekonfiguierbaren Prozessor-(ARP-)System, in welchem eine Gruppe von rekonfigurierbaren Hardware-Ressourcen mit einem nicht-rekonfigurierbaren Host-Prozessor oder Host-System verbunden ist. Die ARP-Einrichtung hängt von dem Host ab, um gewisse Programmbefehle durchzuführen. Daher wird eine Menge verfügbarer Silizium-Ressourcen nicht maximal über den Zeitrahmen der Programmdurchführung genutzt, da Silizium-Ressourcen bei der ARP-Einrichtung oder dem Host unbenutzt sind oder ineffizient genutzt werden, wenn der Host bzw. die ARP-Einrichtung mit Daten arbeitet. Im Unterschied hierzu ist jede S-Einrichtung 3012 ein unabhängiger Rechner, in welchem ganze Programme ohne weiteres ausgeführt werden können. Mehrere S-Einrichtungen 3012 führen vorzugsweise gleichzeitig Programme durch. Die vorliegende – Erfindung lehrt daher die ständige maximale Ausnutzung von Silizium-Ressourcen sowohl für einzelne Programme, die von einzelnen S-Einrichtungen 3012 durchgeführt werden oder von mehreren Programmen, die von dem gesamten System 3010 ausgeführt werden.
  • Eine ARP-Einrichtung stellt einen Rechenbeschleuniger für einen ganz bestimmten Algorithmus in einer ganz bestimmten Zeit zur Verfügung und ist als ein Satz von Verknüpfungsgliedern ausgeführt, die optimal bezüglich dieses spezifischen Algorithmus miteinander verbunden sind. Die Verwendung von rekonfigurierbaren Hardware-Ressourcen für universelle Operationen, wie eine verwaltende Befehlsausführung, ist bei ARP-System vermieden. Darüber hinaus behandelt ein ARP-System nicht eine vorgegebene Menge von miteinander verbundenen Verknüpfungsgliedern bzw. Gates als eine ohne weiteres wiederverwendbare Ressource. Im Gegensatz, die vorliegende Erfindung lehrt eine dynamisch rekonfigurierbare Verarbeitungseinrichtung, die für ein effizientes Management einer Befehlsausführung gemäß einem Befehlsausführungsmodells konfiguriert ist, das am besten für die Rechenerfordernisse zu einem ganz bestimmten Zeitpunkt ausgelegt ist. Jede S-Einrichtung 3012 weist eine Vielzahl ohne weiteres wiederverwendbarer Ressourcen, beispielsweise das ISS 3100, die Unterbrechungslogik 3106 und die Speicher/Ausrichtlogik 3152 auf. Die vorliegende Erfindung lehrt die Verwendung von rekonfigurierbaren logischen Ressourcen auf dem Niveau von LCBs- oder IOBs-Gruppen und rekonfigurierbarer Verbindungen, jedoch nicht auf dem Niveau von miteinander verbundenen Gates. Die vorliegende Erfindung lehrt folglich die Verwendung von rekonfigurierbaren höherwertigen logischen Designkonstrakts, die zum Durchführen von Operationen der ganzen Klassen von Rechenproblemen verwendbar sind, und lehrt nicht ein brauchbares Verbindungsschema, das für einen einzigen Algorithmus verwendbar ist.
  • Im Allgemeinen sind ARP-Systeme auf ein Übertragen eines ganz bestimmten Algorithmus in einen Satz von miteinander verbundenen Gates gerichtet. Einige ARP-Systeme versuchen, hochwertige Befehle in einer optimalen Hardware-Konfiguration zu compilieren, welches im allgemeinen ein hartes NP-Problem ist. Im Unterschied hierzu lehrt die Erfindung die Verwendung eines Compilers für ein dynamisch rekonfigurierbares Berechnen, das hochwertige Programmbefehle in Assembler-Sprachenbefehle gemäß einer variablen ISA auf sehr unkomplizierte Weise compiliert.
  • Eine ARP-Einrichtung ist im Allgemeinen nicht in der Lage, ihre eigenes HostProgramm als Daten zu behandeln oder es selbst zu kontextualisieren. Im Unterscheid hierzu kann jede S-Einrichtung in dem System 3010 ihre eigenen Programme als Daten behandeln, und folglich ohne weiteres selbst kontextualisieren. Das System 3010 kann ohne weiteres sich selbst durch die Ausführung seiner eigenen Programme simmulieren. Die vorliegende Erfindung hat zusätzlich die Fähigkeit, ihren eigenen Compiler zu compilieren.
  • In der vorliegenden Erfindung kann ein einziges Programm eine erste Gruppe von Befehlen, die zu einem ersten ISA gehören, eine zweite Gruppe von Befehlen, die zu einer zweiten ISA gehören, eine dritte Gruppe von Befehlen, die zu noch einer weiteren ISA gehören, usw. enthalten. Die hier beschriebene Architektur führt jede derartige Gruppe von Befehlen mit Hilfe von Hardware durch, die hinsichtlich Durchlaufzeit konfiguriert ist, um die ISA durchzuführen, zu welcher die Befehle gehören. Keine bekannten Systeme oder Methoden bieten ähnliche Lehren an.
  • Die Erfindung lehrt ferner ein rekonfigurierbares Unterbrechungsschema, bei welchem Unterbrechungslatenz, Unterbrechungspräzision und ein programmierbares Zustandsübergangs-Freigeben gemäß der aktuellen, in Betracht gezogenen ISA sich ändern kann. Keine anlogen Lehren werden in anderen Computersystemen gefunden. Die vorliegende Erfindung lehrt zusätzlich ein Computersystem mit einer rekonfigurierbaren Datenweg-Bitbreite, einer Adressen-Bitbreite und rekonfigurierbare Steuerzeilen-Breiten im Unterschied zu herkömmlichen Computersystemen.

Claims (61)

  1. Getaktete Datenverarbeitungseinrichtung, umfassend eine Master-Zeitbasiseinheit (12) und mindestens eine lokale Zeitbasiseinheit (22), die minder Master-Zeitbasiseinheit (12) verbunden ist, dadurch gekennzeichnet, daß die Master-Zeitbasiseinheit (12) einen Satz sinusförmiger Zeitreferenzsignale erzeugt und die mindestens eine lokale Zeitbasiseinheit (22) ein erstes lokales Zeitsteuersignal mit Hilfe eines ersten sinusförmigen Zeitreferenzsignals in dem Satz sinusförmiger Zeitreferensignale erzeugt.
  2. Datenverarbeitungseinrichtung nach Anspruch 1, bei welchem der Satz sinusförmiger Zeitreferenzsignale ein erstes und ein zweites sinusförmiges Zeitreferenzsignal aufweist, wobei das erste sinusförmige Zeitreferenzsignal einen festen Phasenversatz bezüglich des zweiten sinusförmigen Zeitreferenzsignals hat.
  3. Datenverarbeitungseinrichtung nach Anspruch 2, bei welchem der feste Phasenversatz 90° beträgt.
  4. Datenverarbeitungseinrichtung nach einem der vorhergehenden Ansprüche, bei welchem die Master-Zeitbasiseinheit (12) eine Phasenregelschleife (PLL) umfaßt.
  5. Datenverarbeitungseinrichtung nach Anspruch 4, bei dem die Master-Zeitbasiseinheit (12) einen Referenzoszillator (70) umfaßt, der einen Ausgang hat und der ein Originalfrequenz-Referenzsignal erzeugt und bei dem die Phasenregelschleife (PLL) umfaßt: – einen Phasendetektor (74) mit einem ersten und zweiten Eingang und einem Ausgang, wobei der erste Eingang des Phasendetektors (74) mit dem Ausgang des Referenzoszillators (70) verbunden ist; – ein Schleifenfilter (76) mit einem Eingang und einem Ausgang, wobei der Eingang des Schleifenfilters mit dem Ausgang des Phasendetektors (74) verbunden ist, und – einen System-Quadraturreferenz-Oszillator (72) mit einem Steuereingang und einer Gruppe von Ausgängen, wobei der Steuereingang des Sekundäroszillators mit dem Ausgang des Schleifenfilters verbunden ist und der Ausgang des System-Quadraturreferenz-Oszillators (72) mit dem zweiten Eingang des Phasendetektors (74) verbunden ist, und wobei der zumindest eine Ausgang des System-Quadraturreferenz-Oszillators (72) zumindest ein sinusförmiges Zeitreferenzsignal ausgibt.
  6. Datenverarbeitungseinrichtung nach Anspruch 5, bei welchem der System-Quadraturreferenz-Oszillator (72) einen Armstrong-HF-Oszillator (62) aufweist, der mit einer eine gemeinsame Basis aufweisenden Rückkopplungschaltung verbunden ist, der System-Quadraturreferenz-Oszillator (72) ein erstes sinusförmiges Signal an einem ersten Ausgang und ein zweites sinusförmiges Signal an einem zweiten Ausgang erzeugt, und die ersten und zweiten sinusförmigen Signale eine Quadratur-Phasenbeziehung haben.
  7. Datenverarbeitungseinrichtung nach einem der vorhergehenden Ansprüche, bei welchem die mindestens eine lokale Zeitbasiseinheit (22) einen Frequenzteiler aufweist.
  8. Datenverarbeitungseinrichtung nach einem der vorhergehenden Ansprüche, wobei die mindestens eine lokale Zeitbasiseinheit (22) eine Phasenregelschleife (204, 206, 202) zum Erzeugen eines lokalen Referenzsignals aufweist, welches zu einem sinusförmigen Zeitreferenzsignal in dem Satz sinusförmiger Zeitreferenzsignale phasenstarr ist.
  9. Datenverarbeitungseinrichtung nach Anspruch 1, wobei die mindestens eine lokale Zeitbasiseinheit (22) aufweist: einen Offset-Oszillator (208) mit einem Ausgang und einen Mischer (400) mit einem ersten und einem zweiten Eingang sowie einem Ausgang, wobei der erste Eingang (236) des Mischers (400) mit dem Ausgang der Master-Zeitbasiseinheit (12) verbunden ist, der zweite Eingang des Mischers (400) mit dem Ausgang eines lokalen Zeitsteueroszillators (208) verbunden ist, und der Ausgang des Mischers (400) mit einem Ausgang der lokalen Zeitbasiseinheit (22) verbunden ist.
  10. Datenverarbeitungseinrichtung nach Anspruch 9, wobei die mindestens eine lokale Zeitbasiseinheit (22) ferner einen Diplexer (212) mit einem Eingang und einem ersten sowie einem zweiten Ausgang aufweist, wobei der Eingang des Diplexers (212) mit dem Ausgang des Mischers (400) verbunden ist, der erste Ausgang des Diplexers (212) mit einem Eingang eines Mischerabschlusses (214) verbunden ist, und der zweite Ausgang des Diplexers (212) mit dem Ausgang (24) der lokalen Zeitbasiseinheit (22) verbunden ist, und wobei der Diplexer (212) ein niederfrequentes Mischproduktsignal (1p) an seinem ersten Ausgang und ein hochfrequentes Mischproduktsignal (hp) an seinem zweiten Ausgang (24) erzeugt.
  11. Datenverarbeitungseinrichtung nach Anspruch 9 oder 10, wobei die mindestens eine lokale Zeitbasiseinheit (22) ferner einen Begrenzer (216) mit einem Eingang und einem Ausgang aufweist, wobei der Eingang des Begrenzers (216) mit dem Ausgang des Diplexers (210) verbunden ist, und am Ausgang des Begrenzers (216) das erste lokale Zeitsteuersignal, vorzugsweise rechteckförmig, abgegeben wird.
  12. Datenverarbeitungseinrichtung nach einem der vorhergehenden Ansprüche, wobei die mindestens eine lokale Zeitbasiseinheit (22) ferner aufweist: einen Phasen- und Frequenzdetektor (230) mit einem ersten und einem zweiten Eingang und einem Ausgang, wobei der Ausgang des Phasen- und Frequenzdetektors (230) mit einem Steuereingang eines lokalen Zeitsteueroszillators (208) verbunden ist; einen ersten Frequenzteiler (220) mit einem Eingang, welcher mit dem Ausgang des Diplexers (212) verbunden ist und mit einem Ausgang, der mit dem ersten Eingang des Phasen- und Frequenzdetektors (230) verbunden ist, und einen zweiten Frequenzteiler (222) mit einem Eingang, der mit dem Ausgang der Master-Zeitbasiseinheit (12) verbunden ist, und mit einem Ausgang, der mit dem zweiten Eingang des Phasen- und Frequenzdetektors (230) verbunden ist.
  13. Datenverarbeitungseinrichtung nach Anspruch 12, wobei der Phasen- und Frequenzdetektor (230) einen Teil einer umprogrammierbaren Logikvorrichtung (FPGA) aufweist.
  14. Datenverarbeitungseinrichtung nach Anspruch 12 oder 13, wobei der erste und/oder zweite Frequenzteiler (220, 222) einen Teil einer umprogrammierbaren Logikvorrichtung (FPGA) aufweist.
  15. Datenverarbeitungseinrichtung nach einem der vorhergehenden Ansprüche, bei dem die lokalen Zeitbasiseinheiten (22) Vorgänge parallel ausführen können und jeweils ein RAM aufweisen.
  16. Datenverarbeitungseinrichtung nach einem der vorhergehenden Ansprüche, bei dem die lokalen Zeitbasiseinheiten (22) über eine universelle Verbindungsmatrix miteinander verbunden sind.
  17. Datenverarbeitungseinrichtung nach einem der vorhergehenden Ansprüche, bei dem zumindest eine lokale Zeitbasiseinheit (22) rekonfigurierbar ist.
  18. Getaktete Datenverarbeitungseinrichtung, bei der zur Datenübertragung ein Datenmodulationsverfahren eingesetzt wird, mit einer Master-Zeitbasiseinheit (12) und mindestens einer lokalen Zeitbasiseinheit (22), dadurch gekennzeichnet, daß die Master-Zeitbasiseinheit (12) einen Satz sinusförmiger Zeitreferenzsignale erzeugt und die Amplitude eines ersten sinusförmigen Zeitreferenzsignals in dem Satz sinusförmiger Zeitreferenzsignale zur Datenübertragung moduliert, und daß die mindestens eine lokale Zeitbasiseinheit (22) mit Hilfe eines sinusförmigen Zeitreferenzsignals in dem Satz sinusförmiger Zeitreferenzsignale ein erstes lokales Zeitsteuersignal erzeugt, um das modulierte erste sinusförmige Zeitreferenzsignal zu demodulieren.
  19. Datenverarbeitungseinrichtung nach Anspruch 18, bei welchem der Satz sinusförmiger Zeitreferenzsignale ein erstes und ein zweites sinusförmiges Zeitreferenzsignal aufweist, wobei das erste sinusförmige Zeitreferenzsignal einen festen Phasenversatz bezüglich des zweiten sinusförmigen Zeitreferenzsignals aufweist.
  20. Datenverarbeitungseinrichtung nach Anspruch 19, bei welchem der feste Phasenversatz 90° beträgt.
  21. Datenverarbeitungseinrichtung nach einem der Ansprüche 18 bis 20, bei der die mindestens eine lokale Zeitbasiseinheit (22) umfaßt: einen lokalen Zeitsteueroszillator (208) zum Erzeugen eines versetzten Signals, einen Mischer (210) zum Erzeugen eines lokalen Zeitsteuersignals (24) mit Hilfe des versetzten Signals und eines sinusförmigen Zeitreferenzsignals in der Gruppe sinusförmiger Zeitreferenzsignale, einen Phasen- und Frequenzdetektor (230) zum Steuern eines lokalen Zeitsteueroszillators (208) auf der Grundlage einer Frequenzdifferenz und einer Phasendifferenz zwischen dem lokalen Zeitsteuersignal und dem sinusförmigen Zeitreferenzsignal und eine kohärente Empfangseinheit (200) zum Demodulieren des modulierten ersten sinusförmigen Zeitreferenzsignals.
  22. Datenverarbeitungseinrichtung nach Anspruch 21, bei dem die mindestens eine lokale Zeitbasiseinheit (22) außerdem umfaßt: einen ersten Referenzteiler (220), um eine frequenzgeteilte Version des lokalen Zeitsteuersignals zu erzeugen, und einen zweiten Referenzteiler (222), um eine frequenzgeteilte Version eines sinusförmigen Zeitreferenzsignals in dem Satz sinusförmiger Zeitreferenzsignale zu erzeugen.
  23. Datenverarbeitungseinrichtung nach Anspruch 22, bei dem der erste Referenzteiler (220) und der zweite Referenzteiler (222) umprogrammierbar sind, um ein lokales Zeitsteuersignal mit variabler Frequenz zu erzeugen.
  24. Datenverarbeitungseinrichtung nach einem der Ansprüche 18 bis 23, bei dem die lokalen Zeitbasiseinheiten (22) Vorgänge parallel ausführen können und jeweils ein RAM aufweisen.
  25. Datenverarbeitungseinrichtung nach einem der Ansprüche 18 bis 24, bei dem die lokalen Zeitbasiseinheiten (22) über eine universelle Verbindungsmatrix miteinander verbunden sind.
  26. Datenverarbeitungseinrichtung nach einem der Ansprüche 18 bis 25, bei dem zumindest eine lokale Zeitbasiseinheit (22) rekonfigurierbar ist.
  27. Einrichtung zum Erzeugen eines kombinierten Zeitsteuer- und Nachrichtenübermittlungssignals in einer Datenverarbeitungseinrichtung, mit: einem kalibrierten Referenzsystem (30) mit einem Ausgang, um ein sinusförmiges Zeitreferenzsignal zu erzeugen, um als eine Zeitsteuerreferenz für die Datenverarbeitungseinrichtung zu dienen, und einem Modulator (32) mit einem Trägereingang, einem Steuereingang und einem Ausgang, um die Amplitude mindestens eines Trägersignals entsprechend mindestens einem Signal zu ändern, das an dessen Steuereingang erhalten worden ist, wobei der Trägereingang des Modulators (32) mit dem Ausgang des kalibrierten Referenzsystem (30) verbunden ist, wobei am Ausgang des Modulators (32) das kombinierte Zeitsteuer- und Nachrichtenübermittlungssignal vorliegt.
  28. Einrichtung nach Anspruch 27, bei welcher der Modulator (32) die Amplitude des sinusförmigen Zeitreferenzsignals mit einer Rate ändert, die gleich der Periode des sinusförmigen Zeitreferenzsignals ist.
  29. Einrichtung nach Anspruch 27 oder 28, bei welchem eine Scheitelamplitude des sinusförmigen Zeitreferenzsignals positiv gegenüber einer Periode des sinusförmigen Zeitreferenzsignals ist.
  30. Einrichtung nach einem der Ansprüche 27 bis 29, welche ferner eine Modulationssteuer Zeitbasiseinheit mit einem Eingang und einem Ausgang aufweist, um den Modulator (32) zu steuern, wobei der Ausgang der Modulationssteuer Zeitbasiseinheit mit dem Steuereingang des Modulators verbunden ist.
  31. Einrichtung nach Anspruch 30, bei welchem die Modulationssteuer Zeitbasiseinheit Nachrichten empfängt, und wobei die Modulationssteuer Zeitbasiseinheit den Modulator (32) steuert, um ein Signal aus einer Gruppe von Signalen, umfassend ein Rücksetzsignal, ein Unterbrechungssignal und ein Datensignal, in dem kombinierten Zeitsteuer- und Nachrichtenübertragungssignal bereitzustellen.
  32. Einrichtung nach Anspruch 31, bei welchem die Modulationssteuer Zeitbasiseinheit eine Modulationszustandseinrichtung (34) mit einem Eingang und einem Ausgang aufweist, um eine Nachricht in eine Gruppe von Bitfolgen umzuwandeln, wobei der Eingang der Modulationszustandseinrichtung (34) eine Nachricht erhält, und der Ausgang der Modulations-Zustandseinrichtung mit dem Steuereingang des Modulators (32) verbunden ist.
  33. Einrichtung zum Erzeugen eines Nachrichtenübermittlungssignals aus einem kombinierten Zeitsteuer- und Nachrichtensignal für eine Datenverarbeitungseinrichtung, mit: einer koherenten Empfangseinheit (200) mit einem Eingang und einem Ausgang, um ein kombiniertes Zeitsteuer- und Nachrichtensignal synchron relativ zu der Periode des kombinierten Zeisteuer- und Nachrichtensignals zu demodulieren, um eine Bitfolge zu erzeugen, und einer Nachrichtassemblereinheit (250) mit einem Eingang und einem Ausgang, wobei der Eingang der Nachrichtenassemblereinheit (250) mit dem Ausgang der koherenten Empfangseinheit (200) verbunden ist, um ein Nachrichtensignal aus einer Gruppe von Bitfolgen zu erzeugen, die von der koherenten Empfangseinheit aus erhalten worden sind.
  34. Einrichtung nach Anspruch 33, bei welcher die koherenten Empfangseinheit (200) einen Integrator mit einem Eingang und einem Ausgang aufweist, wobei der Eingang des Integrators mit dem Eingang der kohärenten Empfangseinheit und der Ausgang des Integrators mit dem Ausgang der kohärenten Empfangseinheit verbunden ist.
  35. Einrichtung nach Anspruch 33 oder 34, bei welcher die kohärenten Empfangseinheit (200) ferner mindestens einen Mischer (400, 402) mit einem Eingang und einem Ausgang aufweist, wobei der Eingang des Mischers mit dem Eingang der Demodulations Zeitbasiseinheit (200) und der Ausgang des Mischers mit dem Eingang des Integrators verbunden ist.
  36. Einrichtung nach einem der Ansprüche 33 bis 35, bei welchem die Nachrichten-Assembler Zeitbasiseinheit (250) eine Zustandseinrichtung aufweist, um ein Nachrichtensignal als ein Signal aus einer Gruppe von Signalen, umfassend ein Rücksetzsignal, ein Unterbrechungssignal und ein Datenwort, abzugeben.
  37. Einrichtung zum Erzeugen von in der Phase um 90° verschobenen sinusförmigen Signalen in einer Datenverarbeitungsvorrichtung, welche Einrichtung aufweist: einen Armstrong-HF-Oszillator (62) mit einem ersten Transistor (Q1) mit Basis, Emitter und Kollektor und mit einem Transformator (T1) mit einer ersten und einer zweiten Wicklung, wobei die erste Wicklung des Transformators mit der Basis des ersten Transistors (T1) und die zweite Wicklung des Transformators mit dem Kollektor des ersten Transistors und einer Referenzspannung (VCCI) verbunden ist und wobei der Kollektor des ersten Transistors einen ersten Ausgang (COS) der Einrichtung bildet; einen zweiten Transistor (Q2) mit Basis, Emitter und Kollektor, wobei die Basis des zweiten Transistors mit der Referenzspannung (VCCI) verbunden ist und wobei der Kollektor des zweiten Transistors mit der Referenzspannung verbunden ist und einen zweiten Ausgang (SIN) der Einrichtung darstellt, und eine Stromquelle mit einem Eingang und einem Ausgang, wobei der Emitter des ersten Transistors und der Emitter des zweiten Transistors mit dem Eingang der Stromquelle verbunden sind, und der Ausgang der Stromquelle elektrisch geerdet ist.
  38. Verfahren zum Takten einer Datenverarbeitungseinrichtung, welches die Schritte aufweist: Erzeugen eines Satzes von sinusförmigen Zeitreferenzsignalen in einer Master-Zeitbasiseinheit (12); Empfangen eines ersten sinusförmigen Zeitreferenzsignals in dem Satz sinusförmiger Zeitreferenzsignale in einer ersten lokalen Zeitbasiseinheit (22); und Erzeugen eines ersten lokalen Zeitsteuersignals mit Hilfe des ersten sinusförmigen Zeitreferenzsignals.
  39. Verfahren nach Anspruch 38, bei welchem der Satz sinusförmiger Zeitreferenzsignale ein erstes und ein zweites sinusförmiges Zeitreferenzsignal aufweist, wobei das erste sinusförmige Zeitreferenzsignal einen festen Phasenversatz zu dem zweiten sinusförmigen Zeitreferenzsignal aufweist.
  40. Verfahren nach Anspruch 39, bei welchem der feste Phasenversatz 90° beträgt.
  41. Verfahren nach einem der Ansprüche 38 bis 40, bei welchem zum Erzeugen des ersten lokalen Zeitsteuersignals ein lokales Zeitreferenzsignal erzeugt wird, das zu dem ersten sinusförmigen Zeitreferenzsignal phasenstarr ist.
  42. Verfahren nach einem der Ansprüche 38 bis 41, bei welchem zum Erzeugen eines ersten lokalen Zeitsteuersignals ein Offset-Signal erzeugt wird, und eine Frequenzkonversion mit Hilfe des Offset-Signals und des ersten sinusförmigen Zeitreferenzsignals durchgeführt wird.
  43. Verfahren nach Anspruch 42, bei welchem zum Erzeugen des ersten lokalen Zeitsteuersignals ferner ein hochfrequentes Mischproduktsignal an einen Begrenzer (216) angelegt wird, um das erste lokale Zeisteuersignal, vorzugsweise rechteckförmig, zu erzeugen.
  44. Verfahren nach einem der Ansprüche 38 bis 43, welches ferner die Schritte aufweist: Erzeugen einer frequenzgeteilten Version des ersten lokalen Zeitsteuersignals; Erzeugen einer frequenzgeteilten Version des ersten sinusförmign Zeitreferenzsignals; und Regeln der Phase der frequenzgeteilten Version des ersten sinusförmigen Zeitreferenzsignals auf die Phase der frequenzgeteilten Version des ersten lokalen Zeitsteuersignals.
  45. Verfahren nach Anspruch 44, bei welchem die Frequenz der frequenzgeteilten Version des ersten lokalen Zeitsteuersignals und/oder des ersten sinusförmigen Zeitreferenzsignals jeweils mit einer Frequenzteilerkonstante programmierbar ist.
  46. Verfahren nach einem der Ansprüche 38 bis 45, bei dem das erste sinusförmige Zeitreferenzsignal an jede lokale Zeitbasiseinheit (22) über eine einzelne skalierbare passive Signalverteilungseinrichtung (16, 18) verteilt wird.
  47. Verfahren nach einem der Ansprüche 38 bis 46, bei dem die lokalen Zeitbasiseinheiten (22) jeweils unter Verwendung eines RAM's Vorgänge parallel ausführen.
  48. Verfahren nach Anspruch 47, bei dem Signale zwischen den lokalen Zeitbasiseinheiten über eine universelle Verbindungsmatrix ausgetauscht werden.
  49. Verfahren nach Anspruch 47 oder 48, bei dem die lokalen Zeitbasiseinheiten (22) rekonfiguriert werden.
  50. Verfahren zum Takten und Nachrichtenübermitteln in einer Datenverarbeitungseinrichtung, welches die Schritte aufweist: Erzeugen eines Satzes von sinusförmigen Zeitreferenzsignalen in einer Master-Zeitbasiseinheit (12); Modulieren der Amplitude eines ersten sinusförmigen Zeitreferenzsignals gemäß einem ersten Steuersignal; Empfangen des modulierten ersten sinusformigen Zeitreferenzsignals an mindestens einer lokalen Zeitbasiseinheit (22); Erzeugen eines lokalen Zeitsteuersignals mit Hilfe eines sinusförmigen Zeitreferenzsignals in einem Satz sinusförmiger Referenzsignale, und Demodulieren des ersten sinusförmigen Zeitreferenzsignals, um ein Nachrichtenübermittlungssignal zu erzeugen.
  51. Verfahren nach Anspruch 50, bei welchem der Satz sinusförmiger Zeitreferenzsignale ein erstes sinusförmiges Zeitreferenzsignal und ein zweites sinusförmiges Zeitreferenzsignal aufweist, wobei die ersten und zweiten sinusförmigen Zeitreferenzsignale einen festen relativen Phasenversatz aufweisen.
  52. Verfahren nach Anspruch 51, bei welchem der Phasenversatz 90° beträgt.
  53. Verfahren nach einem der Ansprüche 50 bis 52, bei welchem das Nachrichtenübermittlungssignal ein Signal aus einer Gruppe von Signalen, umfassend ein Rücksetzsignal, ein Unterbrechungssignal und ein Datenwort, aufweist.
  54. Verfahren nach einem der Ansprüche 51 bis 53, welches ferner den Schritt aufweist: Modulieren der Amplitude des zweiten sinusförmigen Zeitreferenzsignals in dem Satz sinusförmiger Zeitreferenzsignale gemäß einem zweiten Steuersignal.
  55. Verfahren nach Anspruch 54, bei welchem die Amplitude des ersten sinusförmigen Zeitreferenzsignals die Amplitude des zweiten sinusförmigen Zeitreferenzsignals gemäß einer Quadratur-Amplitudenmodulation moduliert wird.
  56. Verfahren nach einem der Ansprüche 50 bis 55, bei welchem die Modulation mit einer Rate durchgeführt wird, welche gleich der Periode des ersten sinusförmigen Zeitreferenzsignals ist.
  57. Verfahren nach einem der Ansprüche 50 bis 56, bei welchem der Demodulierschritt die Schritte aufweist: Erzeugen einer gleichgerichteten Version des modulierten ersten sinusförmigen Zeitreferenzsignals, und Integrieren der gleichgerichteten Version des modulierten ersten sinusförmigen Zeitreferenzsignals über einen Teil von dessen Periode.
  58. Verfahren nach Anspruch 57, welches ferner den Schritt aufweist: Erzeugen einer Bitfolge, die auf einem Wert basiert, der während des Integrationsschritts erzeugt worden ist.
  59. Verfahren nach einem der Ansprüche 50 bis 58, bei dem die lokalen Zeitbasiseinheiten (22) Vorgänge jeweils unter Verwendung eines RAM's parallel ausführen.
  60. Verfahren nach einem der Ansprüche 50 bis 59, bei dem Signale zwischen den lokalen Zeitbasiseinheiten über eine universelle Verbindungsmatrix ausgetauscht werden.
  61. Verfahren nach einem der Ansprüche 50 bis 60, bei dem die lokalen Zeitbasiseinheiten (22) rekonfiguriert werden.
DE19655086A 1995-07-21 1996-07-19 Getaktete Datenverarbeitungseinrichtung, insbesondere mit Datenmodulations-Einrichtung zum Erzeugen eines Nachrichtenübermittlungssignals bzw. von Zeitsteuersignalen sowie eines kombinierten Zeitsteuer- und Nachrichtenübermittlungssignals, Verfahren zum Takten bzw. Takten und Nachrichtenübermitteln in einer Datenverarbeitungseinrichtung Expired - Fee Related DE19655086B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/501,970 US5805871A (en) 1995-07-21 1995-07-21 System and method for phase-synchronous, flexible-frequency clocking and messaging
US08/501970 1995-07-21
DE19629188A DE19629188C2 (de) 1995-07-21 1996-07-19 System zum Takten und zum kombinierten Takten und Nachrichtenübermitteln sowie Verfahren zum Erzeugen eines kombinierten Zeitsteuer- und Nachrichtenübermittlungssignals

Publications (1)

Publication Number Publication Date
DE19655086B4 true DE19655086B4 (de) 2004-07-15

Family

ID=32598129

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19655086A Expired - Fee Related DE19655086B4 (de) 1995-07-21 1996-07-19 Getaktete Datenverarbeitungseinrichtung, insbesondere mit Datenmodulations-Einrichtung zum Erzeugen eines Nachrichtenübermittlungssignals bzw. von Zeitsteuersignalen sowie eines kombinierten Zeitsteuer- und Nachrichtenübermittlungssignals, Verfahren zum Takten bzw. Takten und Nachrichtenübermitteln in einer Datenverarbeitungseinrichtung

Country Status (1)

Country Link
DE (1) DE19655086B4 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2810280C2 (de) * 1977-03-10 1984-10-11 Sony Corp., Tokio/Tokyo Oszillatorschaltung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2810280C2 (de) * 1977-03-10 1984-10-11 Sony Corp., Tokio/Tokyo Oszillatorschaltung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tietze, Schenk: Halbleiter-Schaltungstechnik, Springer, 1983, S. 446,447 *

Similar Documents

Publication Publication Date Title
DE19629188C2 (de) System zum Takten und zum kombinierten Takten und Nachrichtenübermitteln sowie Verfahren zum Erzeugen eines kombinierten Zeitsteuer- und Nachrichtenübermittlungssignals
DE112019004301T5 (de) Verbesserter prozess der programmierung von feldprogrammierbaren gate-arrays unter verwendung einer partiellen rekonfiguration
DE69826835T2 (de) Frequenzsynthetisierer
DE69430793T2 (de) Asynchrone serielle kommunickationsschaltung
EP0012186B1 (de) Einrichtung zur Erzeugung von Taktsteuersignalen
CN105915241B (zh) Fpga中实现超高速数字正交下变频及抽取滤波的方法与系统
CN107852379A (zh) 用于现场可编程门阵列的定向二维路由器和互连网络、以及所述路由器和网络的其他电路和应用
CN1909439B (zh) 可编程逻辑器件集成电路上用于高速串行数据接收机的解串器
DE19614991A1 (de) System und Verfahren zum skalierbaren, parallelen, dynamisch rekonfigurierbaren Rechnen
DE102018127751A1 (de) Einheitlicher Adressraum für mehrere Verbindungen
Perego et al. A scalable hardware and software control apparatus for experiments with hybrid quantum systems
DE60021983T2 (de) Taktsystem für mehrkomponentensystem
US6489817B1 (en) Clock divider using positive and negative edge triggered state machines
DE102017110821A1 (de) Halbleitervorrichtung
DE112021004377T5 (de) Systeme zum aufbau von datenstrukturen mit hoch skalierbaren algorithmen für eine verteiltelpm-implementierung
US7812659B1 (en) Clock signal circuitry for multi-channel data signaling
EP1927063A1 (de) Programmierung und layoutdesign von hardware
DE19655086B4 (de) Getaktete Datenverarbeitungseinrichtung, insbesondere mit Datenmodulations-Einrichtung zum Erzeugen eines Nachrichtenübermittlungssignals bzw. von Zeitsteuersignalen sowie eines kombinierten Zeitsteuer- und Nachrichtenübermittlungssignals, Verfahren zum Takten bzw. Takten und Nachrichtenübermitteln in einer Datenverarbeitungseinrichtung
DE602004007868T2 (de) Lokaloszillator für einen harmonischen Mischer mit Unterdrückung der Spiegelfrequenz
DE102005013497A1 (de) Steuerbare Frequenzteilerschaltung, Sende-Empfänger mit steuerbarer Frequenzteilerschaltung und Verfahren zur Durchführung eines Loop-Back-Tests
LU93300B1 (de) Austausch von Echtzeitdaten zwischen Programmmodulen
Xu et al. Phase transition in coupled star networks
EP1116129B1 (de) Konfigurierbarer hardware-block
DE10125155C1 (de) Programmierbarer fraktionaler Frequenzteiler
CN110515890A (zh) 多处理器片上系统mpsoc的数据解析方法及系统

Legal Events

Date Code Title Description
AC Divided out of

Ref document number: 19629188

Country of ref document: DE

Kind code of ref document: P

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee