-
Die vorliegende Erfindung betrifft Halbleiterelemente und genauer Schnittstellen bildende Halbleiterelemente mit Verbindungsstrukturen auf Systemebene. Genauer gesagt betrifft die vorliegende Erfindung eine Vorrichtung mit einer Prozessorfassung, die einen auf einem Halbleiterchip angeordneten ersten Prozessorkern zum Ausführen von Befehlen, wobei der erste Prozessorkern eine erste digitale Schnittstellenschaltung umfasst, einen auf dem Halbleiterchip angeordneten zweiten Prozessorkern zum Ausführen von Befehlen, wobei der zweite Prozessorkern eine zweite digitale Schnittstellenschaltung umfasst, und eine analoge Schnittstelleneinrichtung aufweist, die über die erste digitale Schnittstellenschaltung mit dem ersten Prozessorkern und über die zweite digitale Schnittstellenschaltung mit dem zweiten Prozessorkern gekoppelt ist, wobei die analoge Schnittstelleneinrichtung zum Kommunizieren von Verkehr zwischen der Prozessorfassung und einer damit gekoppelten Verbindung gedacht ist. Außerdem betrifft die vorliegende Erfindung ein Verfahren, das Bereitstellen von Daten eines ersten Kerns einer Mehrkernprozessorbaugruppe für einen gemeinsamen Multiplexer und Bereitstellen von Daten eines zweiten Kerns der Mehrkernprozessorbaugruppe für den gemeinsamen Multiplexer aufweist.
-
Eine Vorrichtung und ein Verfahren der eingangs genannten Art sind aus der
US 2003/0103490 A1 bekannt.
-
Die
US 2002/0169938 A1 offenbart einen Mehrkernprozessor, dessen Kerne über einen gemeinsamen Bus mit einem sogenannten SHUB verbunden sind.
-
Die
US 4,698,753 trifft eine Multiprozessor-Schnittstelle zwischen zwei Prozessoren durch Verbindung mit deren Bussystemen. Die Schnittstelle weist einen Direktzugriffsspeicher auf, der durch die Prozessoren unter der Kontrolle eines Arbitrierungsregisters selektiv zugänglich ist. Daten und Adressregister für die beiden Prozessoren sind mit dem Direktzugriffsspeicher durch von dem Arbitrierungsregister gesteuerte Multiplexer selektiv verbindbar.
-
Heutige Halbleiterelemente besitzen ständig zunehmende Fähigkeiten der Verarbeitung in kleineren Baugruppen und arbeiten bei immer höheren Frequenzen. Höhere Verarbeitungsgeschwindigkeiten und verringerte Größe können zu verschiedenen Problemen führen, einschließlich energie- und temperaturbezogenen Probleme. Demgemäß werden nun viele Prozessoren hergestellt, die mehrere Kerne in einer einzelnen Baugruppe und sogar mehrere Kerne auf einem einzelnen Chip enthalten. Solche Prozessoren können Bearbeitungsaufgaben hoher Ebene bei niedrigeren Temperaturen durchführen, was die Wärmeableitung verringert. Weiterhin kann ein größerer Umfang an Verarbeitung bei niedrigeren Frequenzen durchgeführt werden, wenn mehrere Kerne verwendet werden.
-
Das Integrieren mehrerer Kerne in eine einzige Baugruppe jedoch, so wie eine Prozessorfassung, kann zu verschiedenen Problemen führen. Ein solches Problem ist die Wirkung mehrerer Kerne auf die elektrische Leistung. Insbesondere erzeugen mehrere Kerne, von denen jeder eine digitale Logikschaltung ebenso wie eine analoge Eingabe/Ausgabe(I/O – Input/Output)-Schnittstellenschaltung umfasst, eine wesentliche elektrische Last auf ein Verbindungsmedium, über das die Prozessorfassung mit einem System gekoppelt ist. Zum Beispiel umfassen viele Computersysteme einen oftmals als einen Front Side Bus (FSB) bezeichneten Systembus, der ein Multidrop-Bus ist, welcher verwendet wird, um den Prozessor mit anderen Systemkomponenten zu koppeln, so wie einem Memory Controller Hub (MCH), einem Systemspeicher und anderen Systemkomponenten. Um negative Probleme mit elektrischer Leistung zu vermeiden, kann der FSB so gesteuert werden, dass er bei einer niedrigeren Frequenz läuft, was die Leistung beeinflusst. Eine solche niedrigere Busfrequenz kann die Leistung für Zweikern- oder andere Mehrkernelemente wesentlich beeinflussen, da die Nachfrage nach Bandbreite proportional zu der Anzahl der Kerne zunehmen kann.
-
Einige Gestaltungen von Prozessoren mit zwei Kernen verbinden Kerne in einer Baugruppe in einer Weise, die dem Routing zwischen mehreren Prozessorfassungen in einem Mehrprozessorsystem ähnlich ist. Eine solche Gestaltung verschlechtert jedoch die elektrische Leistung des FSB. Insbesondere ist die Spurenlänge der Baugruppe wesentlich erhöht und die Kapazität ist ebenfalls erhöht, was die I/O-Frequenz wesentlich beschränken kann. Andere Arten des Verbindens von Kernen können wesentlichen Aufwand bei der Gestaltung verursachen, der die Komplexität erhöht und eine Basiskerngestaltung beeinflusst.
-
Aufgabe der Erfindung ist es, eine gemeinsame Schnittstelle für mehrere Prozessorkerne zu schaffen, bei der nur minimale oder gar keine Änderungen hinsichtlich der Basiskerngestaltung nötig sind.
-
Diese Aufgabe wird durch die Merkmale der unabhängigen Patentansprüche gelöst.
-
Die Unteransprüche betreffen vorteilhafte Weiterentwicklungen derselben.
-
Kurzbeschreibung der Zeichnungen
-
1 ist ein Blockschaubild eines Prozessors gemäß einer Ausführungsform der vorliegenden Erfindung.
-
2 ist ein schematisches Schaubild eines Prozessors gemäß einer Ausführungsform der vorliegenden Erfindung.
-
3 ist ein Blockschaubild eines beispielhaften prozessorbasierten Systems bei dem Ausführungsformen der Erfindung verwendet werden können.
-
Genaue Beschreibung
-
Bei verschiedenen Ausführungsformen können mehrere Kerne innerhalb einer Baugruppe mit minimalem Einfluss sowohl auf die Kerngestaltung als auch auf die I/O-Frequenz verbunden werden. Insbesondere, indem einem Systembus eine einzige Last vorgelegt wird, kann der Frequenzeinfluss mehrerer Kerne minimiert werden. Bei den hierin beschriebenen Ausführungsformen kann eine einzige Last erhalten werden, indem digital die Bussignale mehrerer Kerne auf einem einzelnen Chip (d. h. einer Prozessorfassung) kombiniert werden und die Kombination über eine gemeinsame analoge Schnittstelle hinaus zum Systembus getrieben wird. Um die Kombination zu erhalten, kann eine digitale Schnittstellenlogik, die zwischen die Kerne und die gemeinsame analoge Schnittstelle gekoppelt ist, tatsächlich als eine verdrahtete ODER-Schaltung wirken.
-
In manchen Systemen kann ein Systembus, der als Signalisierungstechnologie die Gunning-Transceiverlogik (GTL+) verwendet, eingesetzt werden, um die Systemkomponenten miteinander zu koppeln. Ein solcher Systembus kann logisch als ein verdrahteter ODER-Bus wirken. Indem die verdrahtete ODER-Logik in digitale Schaltung bewegt wird, welche die mehreren Kerne an eine gemeinsame analoge Schnittstelle einer Prozessorfassung koppelt, können verbesserte elektrische Leistung und einfache Implementierung verwirklicht werden. Das heißt, der Systembus sieht nur eine einzige elektrische Last, und bei einer Basiskerngestaltung sind minimale oder gar keine Änderungen nötig, um das Kombinieren von Kerneingängen und -ausgängen zu handhaben. Demgemäß gibt es einen minimalen Einfluss auf die Anschlussleitungen des Kerns, auf die Geschwindigkeitspfade (speed paths) oder die logische Operation.
-
Mit Bezug nun auf die 1 ist ein Blockschaubild eines Prozessors gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Genauer, wie in 1 gezeigt, kann eine Prozessorfassung 10 ein Zweikern-Prozessor sein, der einen ersten Kern 20a (d. h. den Kern Null) und einen zweiten Kern 20b (d. h. den Kern 1) umfasst. Gattungsgemäß kann ein Kern der Prozessorfassung 10 hierin als Kern 20 bezeichnet werden. Obwohl bei der Ausführungsform der 1 nur zwei Kerne gezeigt sind, soll verstanden werden, dass bei anderen Ausführungsformen in einem gegebenen Prozessor zusätzliche Kerne vorliegen können.
-
Jeder Kern 20 kann die gesamte Logik und alle Ressourcen für den gegebenen Kern umfassen, so wie Anschlussleitungsressource, Ausführungseinheiten, Cache-Speicher, Registerdateien und weitere derartige Strukturen. Weiterhin kann jeder Kern 20 seine eigene ihm zugeordnete digitale I/O-Schnittstelle umfassen, jeweils eine digitale I/O 25a und eine digitale I/O 25b (gattungsgemäß die digitale I/O 25). Wie hiernach weiter beschrieben wird, kann die digitale I/O 25 verschiedene Logikschaltungen umfassen, um eine Schnittstelle für Signale zwischen dem zugewiesenen Kern und einer analogen I/O-Schnittstelle eines Prozessors zu bilden. Bei verschiedenen Ausführungsformen kann die digitale I/O 25 die gesamte Bussteuerlogik für ihren zugeordneten Kern umfassen (so als wäre es der einzige vorhanden Kern). Mit anderen Worten ist jede digitale I/O 25 ein Buscontroller für ihren zugeordneten Kern 20. Somit, wie in 1 gezeigt, umfasst jeder Kern 20 die gesamte Kernlogik ebenso wie eine digitale Schnittstellenschaltung. Weiter soll verstanden werden, dass der erste Kern 20a und der zweite Kern 20b identisch oder wenigstens im Wesentlichen identisch sein können. Demgemäß kann eine Einzelkerngestaltung verwendet und verdoppelt werden, um eine Baugruppe zu erzeugen, die zwei oder mehr Kerne mit derselben Schaltung und Funktionalität hat. Bei weiteren Ausführungsformen können der erste Kern 20a und der zweite Kern 20b unterschiedliche Typen Kerne sein, so wie heterogene Kerngestaltungen. Auf diese Weise kann die Logik unterschiedlicher Kerne stark unterschiedlich sein, so lange die entsprechende digitale I/O 25 im Wesentlichen ähnlich ist. Solche heterogenen Kerne können beide ein kompatibles Busprotokoll implementieren, z. B. ein FSB-Protokoll.
-
Jedoch fehlt jedem Kern 20 eine ihm zugeordnete analoge Schnittstellenschaltung. Statt dessen kann eine gemeinsame analoge I/O-Schnittstelle (analoge I/O) 30 vorhanden sein und verwendet werden, um die Signale von beiden Kernen 20a und 20b zu und von einer Verbindung zu koppeln, an die die Prozessorfassung 10 angekoppelt ist. Diese gemeinsame analoge Schnittstelle zwischen mehreren Kernen und einer Verbindung, z. B. einem Bus, an den der Prozessor gekoppelt ist, kann die Signalgebungsverzögerung und Einfachheit der Gestaltung verbessern, wenn ein Mehrkern-Prozessor in ein System integriert wird, das einen gemeinsam genutzten Bus verwendet, so wie einen Front Side Bus. Obwohl es in der Ansicht der 1 auf hoher Ebene nicht gezeigt ist, soll verstanden werden, dass eine zusätzliche, d. h. gemeinsame) digitale Schnittstellenschaltung zwischen der digitalen I/O 25 und der analogen I/O 30 vorgesehen sein kann, um Signale zwischen einem gegebenen Kern und der analogen I/O 30 zu leiten.
-
Obwohl sie in 1 mit dieser bestimmten Implementierung beschrieben worden ist, können bei verschiedenen Ausführungsformen unterschiedliche Formen zugeordneter Prozessorschaltung für mehrere Kerne vorliegen, wobei ein einziger Satz einer analogen Schaltung vorliegt, um eine Schnittstelle zu einem Bus oder einer anderen Verbindung für die mehreren Kerne zur Verfügung zu stellen. Auf diese Weise wird die elektrische Last, die von der Verbindung gesehen wird, minimiert, d. h. entsprechend der eines einzelnen Kerns. Als ein Ergebnis kann die Verbindung mit derselben Frequenz arbeiten, wie sie es tun würde, wenn nur ein Einzelkern-Prozessor in einer Prozessorfassung vorliegen würde. Weiterhin wird die Komplexität der Gestaltung verringert, da keine zusätzliche logische Schaltung innerhalb der Kerne benötigt wird, um die Verbindung von mehreren Kernen zu ermöglichen. Darüber hinaus wird die gesamte Chip-Schaltung verkleinert, da nur ein einziger Satz analoger Schnittstellen implementiert wird.
-
Mit Bezug nun auf 2 ist ein schematisches Schaubild eines Prozessors gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Genauer, wie es in der 2 gezeigt ist, kann ein Prozessor 100 ein Zweikern-Prozessor sein, welcher die Kerne 20a und 20b umfasst. Man bemerke, dass das Verwenden derselben Bezugsziffern in den 1 und 2 das Vorhandensein derselben Komponenten anzeigt. Wie es mit den Bezugsziffern am oberen Bereich der 2 gezeigt ist, kann der Prozessor 10 in einen Kernbereich 20, einen digitalen I/O-Bereich (hierin auch als ein digitaler Bereich bezeichnet) 25 und in einen analogen I/O-Bereich (hierin auch als analoger Bereich bezeichnet) 30 aufgeteilt werden. Der Kernbereich 20 kann aus besonderen Teilen Logik und Schaltung bestehen, die verwendet werden, um die einzelnen Kerne zu bilden. Weiterhin kann der digitale I/O-Bereich 25 irgendeine Menge besonderer Schaltung in jedem der Kerne 20a und 20b umfassen und irgendeine Menge zusätzlicher Schnittstellenlogik, die zwischen die Kerne 20a und 20b und den analogen I/O-Bereich 30 gekoppelt ist. Wie es weiter in 2 gezeigt ist, kann der analoge Bereich 30 eine einzelne gemeinsame analoge Schnittstelle sein, um für das Koppeln zwischen mehreren Kernen 20a und 20b und einem Bus außerhalb des Chips oder einer anderen Verbindung zu sorgen.
-
Wie es in der 2 gezeigt ist, umfasst der Kern 20a verschiedene digitale Schaltung, die ein Teil des digitalen Bereichs 25 zur Verwendung beim Bilden einer Schnittstelle zwischen der Kernlogik und einem Routingkanal 120 sein kann. Verschiedene Schaltung kann für jede der mehreren Signalleitungen vorhanden sein, entsprechend Datensende-, Datenempfangs- und Abtastsignalen, zusätzlich zu Treibertakt-Signalleitungen. Insbesondere, wie in der 2 gezeigt, kann der Kern 20a ein Flip-Flop 110a umfassen, das von einem Signal mit gemeinsamen Takt (CCClock – Common Clock Signal) für jede Datenleitung mit gemeinsamen Takt für das Senden von Daten getaktet wird, und ein entsprechendes Flip-Flop 112a, das in ähnlicher Weise für jede Datenleitung mit gemeinsamen Takt, die empfangen werden sollen, getaktet werden. Bei manchen Ausführungsformen können 16 Signalleitung mit gemeinsamen Takt sowohl in der Sende- als auch in der Empfangsrichtung vorliegen. Wie es in der 2 gezeigt ist, können auslaufende Datenleitungen mit gemeinsamen Takt als CCTxData# benannt werden, während einlaufende Datenleitungen mit gemeinsamem Takt als CCRxData# bezeichnet werden können. Man bemerke, dass das Symbol # nach einem Signalnamen, der verwendet wird, um ein aktives niedriges logisches Signal anzugeben, ein Signal anzeigt, das in dem aktiven Zustand ist, wenn es in einen niedrigen Pegel getrieben wird, jedoch dienen solche aktiven niedrigen logischen Pegel veranschaulichenden Zwecken.
-
Der Kern 20a kann weiter einen Flip-Flop 114a umfassen, das so gekoppelt ist, dass er synchrone Quellendaten zur Verfügung stellt, die auf einer zugeordneten Sendeleitung für quellensynchrone Daten gesendet werden sollen (d. h. SSTxData#). In ähnlicher Weise können einlaufende quellensynchrone Daten entlang einer Empfangsleitung für quellensynchrone Daten (d. h. SSRxData#) über ein Speicherelement, so wie einen First-In-First-Out (FIFO) 116a empfangen werden. Man bemerke, das ein solcher quellensynchroner Pfad die Leistung verbessern kann, indem Daten mehrmals pro Bustakt (z. B. 4×) gesendet werden. Zusätzlich kann der Kern 20a ein Flip-Flop 118a umfassen, das so gekoppelt ist, dass es Daten an eine quellensynchrone Sendungsabtastleitung (d. h. SSTxStb#) liefert. Man bemerke, dass die Flip-Flops 114a und 118a entgegengesetzt zueinander von einem quellensynchronen Takt (d. h. SSClock) getaktet werden können. Der quellensynchrone Takt und ein Treiberkernsignal (DriveCore) können wiederum mit einem logischen Gatter 119 gekoppelt sein, das wiederum so gekoppelt ist, dass es ein Treibertaktsignal liefert, nämlich ein synchrones Quellentreibertaktsignal (d. h. SSDrvClk). Man bemerke, dass eine ähnliche Schaltung wie die oben diskutierte im Kern 20b vorhanden ist (mit denselben Bezugszeichen und der Bezeichnung „b” gezeigt).
-
Jede dieser oben diskutierten Signalleitungen kann mit dem Routingkanal 120 gekoppelt sein, der wiederum Signale zu und von zusätzlicher digitale Logik innerhalb des digitalen Bereiches 25 liefert. Der Routingkanal 120 kann Verstärker, Wiederholer und dergleichen umfassen. Eine solche zusätzliche Logik innerhalb des digitalen Bereiches 25 kann für die Auswahl eines aktiven der Kerne 20a und 20b für das Senden/Empfangen von Daten über die Signalleitungen sorgen. Demgemäß kann der Routingkanal 120 Schaltung umfassen, um Signale zu/von den Kernen 20a und 20b von/zu ausgewählten Signalleitungen im digitalen Bereich 25 zu leiten. In der Senderichtung können Sendesignale mit gemeinsamen Takt (d. h. c0CCTxData# oder c1CCTxData#) von beiden Kernen an einen Multiplexer 140 gekoppelt werden, der durch auf ein Steuerregister für Gestaltungsprüfung (DFT – Design for Test) bezogene Signale (in der 2 nicht gezeigt) gesteuert wird. Solche DFT-Signale können es ermöglichen, dass der Zweikern-Prozessor zu Prüf- oder Fehlerbeseitigungszwecken in einen einzelnen Kern umgewandelt wird. Standardmäßig jedoch und im normalen Betrieb kann der Multiplexer 140 den Ausgang des logischen Gatters 142 auswählen. Das logische Gatter 142 kann einen verdrahteten ODER-Bus, so wie einen auf GTL-Signalgebung basierenden Bus, emulieren oder als dessen logisches Äquivalent arbeiten, da das logische Gatter 142 in einer Umgebung mit aktiv niedriger Signalgebung als ein ODER-Gatter wirken kann. Wiederum kann die ausgewählte Datenleitung zum analogen Bereich 30 und genauer zu einem analogen Puffer 143 geleitet werden, der das digitale Signal auf einen geeigneten Pegel für das Senden entlang einer Verbindung, an die der Prozessor 100 gekoppelt ist, z. B. einen Bus, puffert. Demgemäß können die gewünschten Daten entlang einer gemeinsamen Taktdatenleitung des Bus (z. B. xxCCData#) gesendet werden. Einlaufende gemeinsame Taktdatensignale, die über xxCCData#-Leitungen empfangen werden, können über einen Eingangspuffer 141 gekoppelt werden und entlang einer Empfangsdatenleitung mit gemeinsamen Takt (d. h. CCRxData#) zum Routingkanal 120 geliefert werden. Vom Routingkanal 120 können die Daten entweder zum Flip-Flop 112a oder zum Flip-Flop 112b geleitet werden, basierend auf dem ausgewählten Kern. Als Alternative können einlaufende Signale zu allen Kernen geliefert werden, wobei die Kerne selbst entscheiden, ob sie die Signale verarbeiten sollen.
-
Weiter mit Bezug auf die 1 könne quellensynchrone Daten, die von einem der Kerne 20a und 20b gesendet werden sollen, durch den Routingkanal 120 geleitet und über eine Leitung eines gegebenen Kerns zu einem Multiplexer 144 gegeben werden (d. h. c0SSTxData# oder c1SSTxData#). Weiterhin sind diese Leitungen mit einem logischen Gatter 146 gekoppelt, das so arbeitet, wie es oben mit Bezug auf das logische Gatter 142 diskutiert ist. Die ausgewählten Daten von dem Multiplexer 144 werden z einem Signalspeicher (latch) 148 gegeben. Wenn mit einem quellensynchronen Treibertakt getaktet wird, gibt der Signalspeicher 148 die Daten aus dem digitalen Bereich 25 und in einen Puffer 149 des analogen Bereichs 30. Auf diese Weise kann auf einer gegebenen quellensynchronen Datenleitung (d. h. xxSSData#) ein Signal gesendet werden.
-
Für von einem Bus in den Prozessor 100 einlaufende quellensynchrone Daten werden die Daten durch einen Puffer 162 gekoppelt und an einen ausgewählten Signalspeicher 163 geliefert. Die Betriebsweise des Signalspeichers 163 kann durch ein einlaufendes quellensynchrones Abtastsignal (d. h. SSRxStb#) gesteuert werden. Wenn der Speicher durchlaufen wird, werden Daten an einen Multiplexer 165 gegeben und an den Routingkanal 120 als die quellensynchronen Empfangsdaten geliefert (d. h. SSRxData#). Wie in 2 gezeigt, kann der Multiplexer 165 basierend auf dem einlaufenden quellensynchronen Abtastsignal gesteuert werden, das durch einen Invertierer 173 mit variabler Verzögerung, einen Entzerr-Selektor 175 und einen weiteren Invertierer 180 mit variabler Verzögerung gegeben wird. Basierend auf dem Kern, für den die Daten gedacht sind, wird der Routingkanal 120 die quellensynchronen Empfangsdaten entweder zum FIFO 116a oder 116b weiterleiten. Als Alternative, und wie bei den Signalen mit gemeinsamen Takt, die zuvor beschrieben worden sind, können quellensynchrone Empfangsdaten zu beiden FIFOs 116a und 116b geliefert werden. Wie es in der 2 gezeigt ist, werden diese FIFOs durch das einlaufende quellensynchrone Empfangsabtastsignal gesteuert, das auch durch den Routingkanal 120 geleitet wird.
-
Noch mit Bezug auf 2 können quellensynchrone Sendeabtastsignale in den Kernen 20a und 20b erzeugt werden und durch den Routingkanal 120 an einen Multiplexer 150 und an ein zugeordnetes logisches Gatter 152 gegeben werden. Genau gesagt kann jeder Kern quellensynchrone Abtastsignale erzeugen, die über quellensynchrone Sendeabtastleitungen (d. h. c0SSTxStb# und c1SSTxStb#) an den Multiplexer 150 gegeben werden. Das ausgewählte Abtastsignal wird von dem Multiplexer 150 und einem Signalspeicher 154 zur Verfügung gestellt, der wiederum durch ein quellensynchrones Treibertaktsignal getaktet ist, das von einlaufenden quellensynchronen Treibertaktsignalen (d. h. c0SSDrvClk# und c1SSDrvClk#) von einem gegebenen Kern durch den Routingkanal 120 und durch ein ODER-Gatter 156 und einen Invertierer 158 mit variabler Verzögerung abgeleitet ist. Das ausgewählte quellensynchrone Abtastsignal wird durch den Signalspeicher 154 gespeichert und wird an einen Puffer 155 zum Senden entlang des Busses als ein quellensynchrones Abtastsignal (d. h. xxSStb#) gegeben. Wiederum werden einlaufende Abtastsignale entlang den quellensynchronen Abtastleitungen an einen Puffer 171 geliefert, der sie wiederum weiter durch einen Invertierer 173 mit variabler Verzögerung leitet und sie an den Routingkanal 120 entlang einer quellensynchronen Empfangsabtastleitung (d. h. SSRxStb#) gibt. Wiederum wird das quellensynchrone Abtastsignal durch den Routingkanal 120 zur Verfügung gestellt, um ein ausgewähltes der FIFOs 116a und 116b zu steuern. Weitere Implernentierungen, die eine gemeinsame analoge Schnittstelle fur mehrere Kerne eines Prozessors, so wie einem Zweikern-Prozessor, zur Verfügung stellen, können verwirklicht werden.
-
3 ist ein Blockschaubild eines beispielhaften prozessorbasierten Systems, bei dem Ausführungsformen der Erfindung verwendet werden können. Wie hierin verwendet, kann der Ausdruck „System” irgendein Typ eines prozessorbasierten Systems sein, so wie ein Großrechner, ein Desktop-Computer, ein Servercomputer, ein Laptop-Computer, ein tragbares Gerät, ein Zubehörgerät, eine Settop-Box oder dergleichen. Ein System 300 umfasst einen Prozessor 310, der ein universeller oder ein spezieller Prozessor sein kann. Bei einer Ausführungsform der vorliegenden Erfindung kann der Prozessor 310 ein Mehrkern-Prozessor sein, z. B. ein Zweikernkern-Prozessor. Weiterhin kann der Prozessor 310 eine gemeinsame analoge Schnittstelle umfassen, um eine verringerte elektrische Last zu ermöglichen, zusätzlich dazu, dass eine Einzelkerngestaltung einfach in einen Mehrkern-Prozessor portiert wird.
-
Bei einer Ausführungsform kann der Prozessor 310 über einen Front Side Bus 315 mit einem Memory Hub 330 gekoppelt werden, der wiederum über einen Speicherbus 325 mit einem Systemspeicher 320 gekoppelt werden kann, der bei einer Ausführungsform ein dynamischer Speicher mit wahlfreiem Zugriff (DRAM – Dynamic Random Access Memory) sein kann. Obwohl es in der Ausführungsform der 3 nicht gezeigt ist, soll verstanden werden, dass bei verschiedenen Ausführungsformen zusätzliche Mehrkern- oder weitere derartige Prozessoren an den Front Side Bus 315 gekoppelt werden können. Der Memory Hub 330 kann auch über einen Advanced Graphics Port(AGP)-Bus 333 mit einem Videocontroller 335 gekoppelt werden, der mit einer Anzeige 337 gekoppelt sein kann. Der AGP-Bus 333 kann der Accelerated Graphics Port Interface Specification, Überarbeitung 2.0, veröffentlicht am 4. Mai 1998 von der Intel Corporation, Santa Clara, Kalifornien, entsprechen.
-
Der Memory Hub 330 kann auch (über eine Hub-Verbindung 338) mit einem Eingabe/Ausgabe (I/O)-Hub 340 gekoppelt werden, der mit einem ersten Bus 342 und einem zweiten Bus 344 gekoppelt ist. Der erste Bus 342 kann an einen I/O-Controller 346 gekoppelt sein, der den Zugriff auf ein oder mehrere I/O-Elemente steuert. Wie es in der 3 gezeigt ist, können diese Elemente bei einer Ausführungsform Eingabegeräte umfassen, so wie eine Tastatur 352 und eine Maus 354. Der I/O-Hub 340 kann auch zum Beispiel mit einem Festplattenlaufwerk 356 gekoppelt werden. Es soll verstanden werden, dass andere Speichermedien ebenfalls in dem System 300 enthalten sein können.
-
Der zweite Bus 344 kann auch mit verschiedenen Komponenten gekoppelt werden, einschließlich zum Beispiel mit einem nicht flüchtigen Speicher 360, so wie einem Flash-Speicher, und einer drahtlosen Schnittstelle 362. Die drahtlose Schnittstelle 362 kann bei bestimmten Ausführungsformen verwendet werden, um mit entfernt stehenden Geräten zu kommunizieren. Wie es in der 3 gezeigt ist, kann die drahtlose Schnittstelle 362 eine Dipol- oder eine andere Antenne 363 (zusammen mit weiteren Komponenten, die in der 3 nicht gezeigt sind) umfassen. Natürlich können zusätzliche Geräte an den ersten Bus 342 und an den zweiten Bus 344 gekoppelt werden. Obwohl die Beschreibung Bezug auf bestimmte Komponenten des Systems 300 nimmt, wird in Betracht gezogen, dass zahlreiche Modifikationen und Abänderungen der beschriebenen und veranschaulichten Ausführungsformen möglich sein können.
-
Ausführungsformen können in Code implementiert werden und können auf einem Speichermedium gespeichert sein, auf dem Befehle gespeichert sind, die verwendet werden können, um ein System zu programmieren, das die Befehle ausführt. Das Speichermedium kann irgendeinen Typ einer Platte umfassen, einschließlich Floppydisks, optischer Disks, Nur-Lese-Speicher als Compact-Disk (CD-ROMs – Compact Disc Read-Only Memories), wiederbeschreibbare Compact-Disks (CD-RWs – Compact Disc Rewritables) und magnetooptische Disks, Halbleiterelemente, so wie Nur-Lese-Speicher (ROMs – Read-Only Memories), Speicher mit wahlfreiem Zugriff (RAMs – Random Access Memories), sowie dynamische Speicher mit wahlfreiem Zugriff (DRAMs), statische Speicher mit wahlfreiem Zugriff (SRAMs), löschbare programmiere Nur-Lese-Speicher (EPROMs – Erasable Programmable Read-Only Memories), Flash-Speicher, elektrisch löschbare programmierbare Nur-Lese-Speicher (EEPROMs – Electrically Erasable Programmable Read-Only Memories), magnetische oder optische Karten oder irgendein anderer Typ Medium, der zum Speichern elektronischer Befehle geeignet ist, umfassen, ist jedoch nicht darauf beschränkt.