-
Hintergrund
-
Ausführungsformen
der vorliegenden Erfindung betreffen Halbleiterelemente und genauer Schnittstellen
bildende Halbleiterelemente mit Verbindungsstrukturen auf Systemebene.
-
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 Kapazi tä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.
-
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 mitein ander
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 der Umfang der vorliegenden Erfindung nicht derart
beschränkt
ist und 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.
Stall 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, soll verstanden werden, dass der Umfang der vorliegenden Erfindung
nicht so beschränkt
ist. Das heißt,
es 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 gemeinsamen Taktsignal (CCClock – Common
Clock Signal) für
jede gemeinsame Taktdatenleitung für das Senden von Daten getaktet
wird, und ein entsprechendes Flip-Flop 112a, das in ähnlicher
Weise für
jede gemeinsame Taktleitung für
Daten, die empfangen werden sollen, getaktet werden. Obwohl der
Umfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist,
können
bei manchen Ausführungsformen 16 gemeinsame
Taktsignalleitungen sowohl in der Sende- als auch in der Empfangsrichtung
vorliegen. Wie es in der 2 gezeigt ist, können auslaufende
gemeinsame Taktdatenleitung als CCTxData# benannt werden, während einlaufende
gemeinsame Taktdatenleitungen 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, und der Umfang der vorliegenden
Erfindung ist in dieser Hinsicht nicht beschränkt.
-
Der
Kern 20a kann weiter ein Flip-Flop 114a umfassen,
das so gekoppelt ist, dass er synchrone Quellendaten zur Verfügung stellt,
die auf einer zugeordneten Sendeleitung für synchrone Quellendaten gesendet
werden sollen (d. h. SSTxData#). In ähnlicher Weise können einlaufende
synchrone Quellendaten entlang einer Empfangsleitung für synchrone Quellendaten
(d. h. SSRxData#) über
ein Speicherelement, so wie einen First-In-First-Out (FIFO) 116a empfangen
werden. Man bemerke, das ein solcher synchroner Quellenweg die Leistung
verbessern kann, indem Daten mehrmals pro Bustakt (z. B. 4x) gesendet
werden. Zusätzlich
kann der Kern 20a ein Flip-Flop 118a umfassen,
das so gekoppelt ist, dass es Daten an eine synchrone Quellensendungsabtastleitung
(d. h. SSTxStb#) liefert. Man bemerke, dass die Flip-Flops 114a und 118a entgegengesetzt
zueinander von einem synchronen Quellentakt (d. h. SSClock) getaktet
werden können.
Der synchrone Quellentakt 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 Quellentreiber taktsignal (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
gemeinsame Taktsendesignale (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 gemeinsamen
Taktempfangsdatenleitung (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 synchrone Quellendaten,
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 synchronen Quellentreibertakt
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 synchronen
Quellendatenleitung (d. h. xxSSData#) ein Signal gesendet werden.
-
Für von einem
Bus in den Prozessor 100 einlaufende synchrone Quellendaten
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 synchrones Quellenabtastsignal (d. h. SSRxStb#)
gesteuert werden. Wenn der Speicher durchlaufen wird, werden Daten
an einen Multiplexer 165 gegeben und an den Routingkanal 120 als
die synchronen Quellempfangsdaten geliefert (d. h. SSRxData#). Wie
in 2 gezeigt, kann der Multiplexer 165 basierend
auf dem einlaufenden synchronen Quellenabtastsignal 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 synchronen Quellenempfangsdaten
entweder zum FIFO 116a oder 116b weiterleiten.
Als Alternative, und wie bei den gemeinsamen Taktsignalen, die zuvor
beschrieben worden sind, können
synchrone Quellenempfangsdaten zu beiden FIFOs 116a und 116b geliefert
werden. Wie es in der 2 gezeigt ist, werden diese
FIFOs durch das einlaufende synchrone Quellenempfangsabtastsignal
gesteuert, das auch durch den Routingkanal 120 geleitet
wird.
-
Noch
mit Bezug auf 2 können synchrone Quellensendeabtastsignale
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 synchrone Quellenabtastsignale erzeugen,
die über
synchrone Quellensendeabtastleitungen (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 synchrones Quellentreibertaktsignal getaktet
ist, das von einlaufenden synchronen Quellentreibertaktsignalen
(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
synchrone Quellenabtastsignal wird durch den Signalspeicher 154 gespeichert
und wird an einen Puffer 155 zum Senden entlang des Busses
als ein synchrones Quellenabtastsignal (d. h. xxSStb#) gegeben.
Wiederum werden einlaufende Abtastsignale entlang den synchronen
Quellenabtastleitungen 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 synchronen Quellenempfangsabtastleitung
(d. h. SSRxStb#) gibt. Wiederum wird das synchrone Quellenabtastsignal durch
den Routingkanal 120 zur Verfügung gestellt, um ein ausgewähltes der
FIFOs 116a und 116b zu steuern. Obwohl diese besondere
Implementierung bei der Ausführungsform
der 2 beschrieben worden ist, soll verstanden werden,
dass der Umfang der vorliegenden Erfindung in dieser Hinsicht nicht
beschränkt
ist, und weitere Implementierungen, die eine gemeinsame analoge
Schnittstelle für
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.
-
Obwohl
die vorliegende Erfindung mit Bezug auf eine beschränkte Anzahl
von Ausführungsformen beschrieben
worden ist, werden die Fachleute zahlreiche Modifikationen und Abände rungen
daraus erkennen. Es ist beabsichtigt, dass die angefügten Ansprüche alle
derartigen Modifikationen und Abänderungen
abdecken, wie sie in den wahren Gedanken und Umfang dieser vorliegenden
Erfindung fallen.
-
Zusammenfassung
-
Bei
einer Ausführungsform
umfasst die vorliegende Erfindung einen Prozessor mit mehreren Prozessorkernen,
um Befehle auszuführen,
wobei jeder der Kerne eine ihm zugeordnete digitale Schnittstellenschaltung
umfasst. Der Prozessor umfasst weiter eine analoge Schnittstelle,
die über
die digitale Schnittstellenschaltung mit den Kernen gekoppelt ist. Die
analoge Schnittstelle kann verwendet werden, um Verkehr zwischen
einer Baugruppe, welche die Kerne umfasst, und einer Verbindung,
so wie einem gemeinsam genutzten Bus, der an diese gekoppelt ist,
zu kommunizieren. Weitere Ausführungsformen sind
beschrieben und beansprucht.