DE112007000443B4 - Vorrichtung mit einer gemeinsamen Schnittstelle fiir mehrere Prozessorkerne und Verfahren zur Steuerung der Kommunikation derselben mit einer damit gekoppelten Verbindung - Google Patents

Vorrichtung mit einer gemeinsamen Schnittstelle fiir mehrere Prozessorkerne und Verfahren zur Steuerung der Kommunikation derselben mit einer damit gekoppelten Verbindung Download PDF

Info

Publication number
DE112007000443B4
DE112007000443B4 DE112007000443.6T DE112007000443T DE112007000443B4 DE 112007000443 B4 DE112007000443 B4 DE 112007000443B4 DE 112007000443 T DE112007000443 T DE 112007000443T DE 112007000443 B4 DE112007000443 B4 DE 112007000443B4
Authority
DE
Germany
Prior art keywords
core
data
processor
common
multiplexer
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
DE112007000443.6T
Other languages
English (en)
Other versions
DE112007000443T5 (de
Inventor
Christopher Mozak
Jeffrey Gilbert
Ganapati Srinivasa
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112007000443T5 publication Critical patent/DE112007000443T5/de
Application granted granted Critical
Publication of DE112007000443B4 publication Critical patent/DE112007000443B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)

Abstract

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.

Description

  • 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.

Claims (10)

  1. Vorrichtung, mit einer Prozessorfassung (10), die aufweist: einen auf einem Halbleiterchip angeordneten ersten Prozessorkern (20a) zum Ausführen von Befehlen, wobei der erste Prozessorkern (20a) eine erste digitale Schnittstellenschaltung (25a) umfasst; einen auf dem Halbleiterchip angeordneten zweiten Prozessorkern (20b) zum Ausführen von Befehlen, wobei der zweite Prozessorkern (20b) eine zweite digitale Schnittstellenschaltung (25b) umfasst; und eine analoge Schnittstelleneinrichtung (30), die über die erste digitale Schnittstellenschaltung (25a) mit dem ersten Prozessorkern (20a) und über die zweite digitale Schnittstellenschaltung (25b) mit dem zweiten Prozessorkern (20b) gekoppelt ist, wobei die analoge Schnittstelleneinrichtung (30) zum Kommunizieren von Verkehr zwischen der Prozessorfassung (10) und einer damit gekoppelten Verbindung gedacht ist, wobei die analoge Schnittstelleneinrichtung (30) dazu dient, der Verbindung eine einzige elektrische Last von den ersten und zweiten Prozessorkernen (20a, 20b) zu zeigen; und eine gemeinsame digitale Schnittstellenlogik, die zwischen den ersten und zweiten Prozessorkernen (20a, 20b) und der analogen Schnittstelleneinrichtung (30) gekoppelt ist, wobei die gemeinsame digitale Schnittstellenlogik einen Multiplexer (140) aufweist, um den Busverkehr vom ersten Prozessorkern (20a) oder vom zweiten Prozessorkern (20b) zur Kommunikation auf der Verbindung auszuwählen, wobei der Multiplexer (140) einen ersten Eingang zum Empfangen von Daten von dem ersten Prozessorkern (20a), einen zweiten Eingang zum Empfangen von Daten von dem zweiten Prozessorkern (20b) und einen dritten Eingang zum Empfangen einer Ausgabe einer Auswahllogik (142) aufweist, die zum Empfangen der Daten des ersten Prozessorkerns (20a) und der Daten des zweiten Prozessorkerns (20b) gekoppelt ist und zum Emulieren eines verdrahteten ODER-Busses dient.
  2. Vorrichtung nach Anspruch 1, bei der der erste Prozessorkern (20a) und der zweite Prozessorkern (20b) heterogene Kerne aufweisen, wobei die erste digitale Schnittstellenschaltung (25a) und die zweite digitale Schnittstellenschaltung (25b) im wesentlichen gleich sind.
  3. Vorrichtung nach Anspruch 1, bei der die gemeinsame digitale Schnittstelle einen Router (120) aufweist, um den Verkehr entlang einem Datenpfad mit gemeinsamen Takt oder einem quellensynchronen Datenpfad zu leiten.
  4. Vorrichtung nach Anspruch 3, bei der die gemeinsame digitale Schnittstelle weiter einen Abtastpfad aufweist, wobei der Abtastpfad und der quellensynchronen Datenpfad durch ein Signal mit gemeinsamen Treibertakt gesteuert werden.
  5. Vorrichtung nach Anspruch 3, bei der der quellensynchrone Datenpfad aufweist: einen ersten Signalspeicher (163), um einlaufende Daten für den ersten Prozessorkern (20a) zu empfangen, und einen zweiten Signalspeicher (163), um einlaufende Daten für den zweiten Prozessorkern (20b) zu empfangen, wobei der erste und der zweite Signalspeicher durch ein einlaufendes Abtastsignal steuerbar sind; und einen Multiplexer (165), der mit dem ersten und dem zweiten Signalspeicher gekoppelt ist, wobei der Multiplexer durch einen Entzerr-Selektor (175) steuerbar ist, wobei der Entzerr-Selektor durch das einlaufende Abtastsignal steuerbar ist.
  6. Verfahren, das aufweist: Bereitstellen von Daten eines ersten Kerns (20a) einer Mehrkernprozessorbaugruppe für einen gemeinsamen Multiplexer (140); Bereitstellen von Daten eines zweiten Kerns (20b) der Mehrkernprozessorbaugruppe für den gemeinsamen Multiplexer (140); Auswählen, unter der Steuerung eines auf ein Design for Test(DFT)-Steuerregister bezogenen Steuersignals, der Daten des ersten Kerns (20a) oder der Daten des zweiten Kerns (20b) für die Ausgabe aus dem gemeinsamen Multiplexer (140); Auswählen, in einem normalen Betriebsmodus, der Daten des ersten Kerns (20a) oder der Daten des zweiten Kerns (20b), die von einem logischen Gatter (142) einer gemeinsamen digitalen Schnittstelleneinrichtung der Mehrkernprozessorbaugruppe ausgegeben sind, die zwischen den ersten (20a) und zweiten Kernen (25b) gekoppelt ist, und einer Ausgabe der Mehrkernprozessorbaugruppe, wobei das logische Gatter (142) einen Ausgang aufweist, der mit dem gemeinsamen Multiplexer (140) gekoppelt ist, und zum Emulieren eines verdrahteten ODER-Busses dient; und Leiten der ausgewählten Daten von dem gemeinsamen Multiplexer (140) zu einem gemeinsam genutzten Bus.
  7. Verfahren nach Anspruch 6, das weiter das Liefern der Daten des ersten Kerns (20a) an den gemeinsamen Multiplexer (140) über einen ersten Buscontroller des ersten Kerns (20a) und das Liefern der Daten des zweiten Kerns (20b) an den gemeinsamen Multiplexer (140) über den zweiten Buscontroller des zweiten Kerns (20b) aufweist.
  8. Verfahren nach Anspruch 6, bei dem das Auswählen der Daten das Durchführen einer verdrahteten ODER-Operation aufweist, um die Daten des ersten Kerns (20a) oder die Daten des zweiten Kerns (20b) aus dem gemeinsamen Multiplexer (140) auszugeben.
  9. Verfahren nach Anspruch 8, das weiter das Kombinieren der Daten des ersten Kerns (20a) und der Daten des zweiten Kerns (20b) in einem logischen Gatter (142), das mit dem gemeinsamen Multiplexer (140) gekoppelt ist, aufweist.
  10. Verfahren nach Anspruch 6, das weiter das Liefern von Daten eines dritten Kerns an den gemeinsamen Multiplexer und das Auswählen der Daten des ersten Kerns oder des zweiten Kerns oder des dritten Kerns für die Ausgabe aus dem gemeinsamen Multiplexer aufweist.
DE112007000443.6T 2006-03-14 2007-03-13 Vorrichtung mit einer gemeinsamen Schnittstelle fiir mehrere Prozessorkerne und Verfahren zur Steuerung der Kommunikation derselben mit einer damit gekoppelten Verbindung Expired - Fee Related DE112007000443B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/374,708 2006-03-14
US11/374,708 US7647476B2 (en) 2006-03-14 2006-03-14 Common analog interface for multiple processor cores
PCT/US2007/063924 WO2007106834A1 (en) 2006-03-14 2007-03-13 A common analog interface for multiple processor cores

Publications (2)

Publication Number Publication Date
DE112007000443T5 DE112007000443T5 (de) 2008-12-11
DE112007000443B4 true DE112007000443B4 (de) 2015-04-16

Family

ID=38509820

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112007000443.6T Expired - Fee Related DE112007000443B4 (de) 2006-03-14 2007-03-13 Vorrichtung mit einer gemeinsamen Schnittstelle fiir mehrere Prozessorkerne und Verfahren zur Steuerung der Kommunikation derselben mit einer damit gekoppelten Verbindung

Country Status (8)

Country Link
US (1) US7647476B2 (de)
JP (1) JP5232019B2 (de)
KR (1) KR101120241B1 (de)
CN (1) CN101385008B (de)
DE (1) DE112007000443B4 (de)
GB (1) GB2450281B (de)
RU (1) RU2417412C2 (de)
WO (1) WO2007106834A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734972B2 (en) * 2008-01-23 2010-06-08 Intel Corporation Common test logic for multiple operation modes
US8639885B2 (en) * 2009-12-21 2014-01-28 Oracle America, Inc. Reducing implementation costs of communicating cache invalidation information in a multicore processor
US8195883B2 (en) 2010-01-27 2012-06-05 Oracle America, Inc. Resource sharing to reduce implementation costs in a multicore processor
KR101121454B1 (ko) * 2010-07-26 2012-03-16 엠텍비젼 주식회사 블록간 분리 구조를 가지는 프로세서 칩
US8484642B2 (en) * 2010-11-17 2013-07-09 Intel Corporation Processor core selection based at least in part upon at least one inter-dependency
KR101104380B1 (ko) 2010-12-17 2012-01-16 한국과학기술원 반도체 칩 패키지, 이를 포함하는 반도체 모듈, 전자 시스템 및 반도체 칩 패키지의 제조 방법
EP2939114A1 (de) 2012-12-26 2015-11-04 Huawei Technologies Co., Ltd. Verfahren zur verarbeitung eines multicore-prozessors und multicore-prozessor
US9658642B2 (en) 2013-07-01 2017-05-23 Intel Corporation Timing control for unmatched signal receiver
CN105279007B (zh) * 2014-07-10 2018-12-25 龙芯中科技术有限公司 多核处理器的模拟方法及装置
CN105550140B (zh) * 2014-11-03 2018-11-09 联想(北京)有限公司 一种电子设备及数据处理方法
CN108572892B (zh) * 2017-03-14 2020-10-27 大唐移动通信设备有限公司 一种基于PowerPC多核处理器的离线测试方法和装置
KR102482896B1 (ko) 2017-12-28 2022-12-30 삼성전자주식회사 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
US11841776B2 (en) * 2019-06-12 2023-12-12 Intel Corporation Single chip multi-die architecture having safety-compliant cross-monitoring capability
US11689326B2 (en) * 2020-07-29 2023-06-27 Infineon Technologies Ag Diverse sensor measurement with analog output

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4698753A (en) * 1982-11-09 1987-10-06 Texas Instruments Incorporated Multiprocessor interface device
US20020169938A1 (en) * 2000-12-14 2002-11-14 Scott Steven L. Remote address translation in a multiprocessor system
US20030103490A1 (en) * 2001-12-05 2003-06-05 International Business Machines Corporation Integration of digital signal processor

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4389710A (en) * 1981-01-12 1983-06-21 Goodyear Aerospace Corporation Braking system test circuit
JPS59165540A (ja) * 1983-03-09 1984-09-18 Ricoh Co Ltd デ−タ伝送制御方式
JPS61166668A (ja) * 1985-01-19 1986-07-28 Panafacom Ltd 多重プロセツサ制御方式
JPH0731661B2 (ja) * 1986-10-20 1995-04-10 株式会社日立製作所 プロセツサ
US5038143A (en) * 1987-12-09 1991-08-06 Texas Instruments Incorporated Analog interface system
JP2517141B2 (ja) * 1990-02-19 1996-07-24 富士通株式会社 バストランシ―バ強制閉塞試験方式
GB9419246D0 (en) * 1994-09-23 1994-11-09 Cambridge Consultants Data processing circuits and interfaces
US7099949B1 (en) * 1995-10-23 2006-08-29 Imec Vzw Interprocess communication protocol system
US6090650A (en) * 1997-09-30 2000-07-18 Intel Corporation Method to reduce timing skews in I/O circuits and clock drivers caused by fabrication process tolerances
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
JP2000068801A (ja) * 1998-08-21 2000-03-03 Nec Kyushu Ltd 半導体集積回路装置
JP4179677B2 (ja) * 1998-09-04 2008-11-12 株式会社ルネサステクノロジ マルチプロセッサ装置
US6601104B1 (en) * 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
JP3769413B2 (ja) * 1999-03-17 2006-04-26 株式会社日立製作所 ディスクアレイ制御装置
WO2000062182A2 (en) * 1999-04-09 2000-10-19 Clearspeed Technology Limited Parallel data processing apparatus
US6725317B1 (en) * 2000-04-29 2004-04-20 Hewlett-Packard Development Company, L.P. System and method for managing a computer system having a plurality of partitions
US6892266B2 (en) * 2000-11-15 2005-05-10 Texas Instruments Incorporated Multicore DSP device having coupled subsystem memory buses for global DMA access
US6920572B2 (en) * 2000-11-15 2005-07-19 Texas Instruments Incorporated Unanimous voting for disabling of shared component clocking in a multicore DSP device
US20030120896A1 (en) * 2001-06-29 2003-06-26 Jason Gosior System on chip architecture
US6836813B1 (en) * 2001-11-30 2004-12-28 Advanced Micro Devices, Inc. Switching I/O node for connection in a multiprocessor computer system
US6880133B2 (en) * 2002-05-15 2005-04-12 Sonics, Inc. Method and apparatus for optimizing distributed multiplexed bus interconnects
US7155637B2 (en) * 2003-01-31 2006-12-26 Texas Instruments Incorporated Method and apparatus for testing embedded memory on devices with multiple processor cores
US7093147B2 (en) * 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
EP1475798A1 (de) * 2003-05-08 2004-11-10 Matsushita Electric Industrial Co., Ltd. Datenverarbeitungsvorrichtung, -verfahren und - program, und Aufzeichungsmedium für ein Program
US7117419B2 (en) * 2003-08-05 2006-10-03 Newisys, Inc. Reliable communication between multi-processor clusters of multi-cluster computer systems
US20050080999A1 (en) * 2003-10-08 2005-04-14 Fredrik Angsmark Memory interface for systems with multiple processors and one memory system
US7290169B2 (en) * 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
JP4241921B2 (ja) * 2004-06-10 2009-03-18 株式会社日立製作所 計算機システム及びその資源割当て方法
US7340541B2 (en) * 2004-08-16 2008-03-04 National Instruments Corporation Method of buffering bidirectional digital I/O lines
US7752426B2 (en) * 2004-08-30 2010-07-06 Texas Instruments Incorporated Processes, circuits, devices, and systems for branch prediction and other processor improvements
US8789896B2 (en) * 2004-10-08 2014-07-29 Cequent Electrical Products Brake control unit
US7624250B2 (en) * 2005-12-05 2009-11-24 Intel Corporation Heterogeneous multi-core processor having dedicated connections between processor cores

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4698753A (en) * 1982-11-09 1987-10-06 Texas Instruments Incorporated Multiprocessor interface device
US20020169938A1 (en) * 2000-12-14 2002-11-14 Scott Steven L. Remote address translation in a multiprocessor system
US20030103490A1 (en) * 2001-12-05 2003-06-05 International Business Machines Corporation Integration of digital signal processor

Also Published As

Publication number Publication date
RU2417412C2 (ru) 2011-04-27
US20070220233A1 (en) 2007-09-20
US7647476B2 (en) 2010-01-12
CN101385008B (zh) 2011-07-13
DE112007000443T5 (de) 2008-12-11
GB0818601D0 (en) 2008-11-19
JP2009527829A (ja) 2009-07-30
JP5232019B2 (ja) 2013-07-10
RU2008140511A (ru) 2010-04-20
CN101385008A (zh) 2009-03-11
KR20080094728A (ko) 2008-10-23
KR101120241B1 (ko) 2012-03-16
WO2007106834A1 (en) 2007-09-20
GB2450281B (en) 2011-04-06
GB2450281A (en) 2008-12-17

Similar Documents

Publication Publication Date Title
DE112007000443B4 (de) Vorrichtung mit einer gemeinsamen Schnittstelle fiir mehrere Prozessorkerne und Verfahren zur Steuerung der Kommunikation derselben mit einer damit gekoppelten Verbindung
DE102019122363A1 (de) Programmierbare doppelreihige arbeitsspeichermodul-beschleunigerkarte (dimm-beschleunigerkarte)
DE102004053801B4 (de) Dynamische Rekonfiguration von PCI-Expresslinks
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE102004009497B3 (de) Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
DE112007000862T5 (de) Multiplexieren einer Parallelbus-Schnittstelle und einer Flash Memory-Schnittstelle
DE69935852T2 (de) Host-Zugriff zu gemeinschaftlichem Speicher mit Hochprioritätsbetriebsart
DE102009036631B4 (de) Vorrichtung, Verfahren und System zum Überwachen eines internen Links über einen zweiten Link
DE69432401T2 (de) Vorrichtung zur Integrierung von Bus-Master-Besitzrecht von Lokalbuslast
DE112005002364T5 (de) Heterogene Prozessoren mit gemeinsamem Cache
DE112007003069T5 (de) Mit Hochgeschwindigkeit arbeitende, aufgefächerte Systemarchitektur und Eingabe/Ausgabe-Schaltungen für nicht flüchtigen Speicher
DE112013003733T5 (de) Adaptive Paketumlenkung, um angemessene, kostengünstige und/oder Energie-effiziente Dienstgüte im Netzwerk auf Chipvorrichtungen zu erreichen
DE10144247A1 (de) Halbleiterspeicherbauelement und zugehöriges Halbleiterspeichersystem
DE102005051478A1 (de) Flashdatenspeichervorrichtung
DE102008052466A1 (de) Speichersystem mit erweiterter Speicherdichtefähigkeit
DE102020108217A1 (de) Die-zu-Die-Verbindungsstruktur für modularisierte integrierte Schaltungsvorrichtungen
DE102013018135B4 (de) Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen
DE112007001135T5 (de) Gemeinschaftliche Nutzung von Daten durch Partitionen in einem partitionierbaren System
DE102020113949A1 (de) Interconnect von Fabric-Die zu Fabric-Die für modularisierte integrierte Schaltungsvorrichtungen
DE102019112628A1 (de) Dimm für speicherkanal mit hoher bandbreite
DE19828620A1 (de) Während des Betriebs aufteilbarer Computerbus für einen verbesserten Betrieb mit sich ändernden Bustaktfrequenzen
DE112011105543T5 (de) Verfahren zur Verbesserung des Datendurchsatzes in Open-Core-Protokoll-basierten Verbindungsnetzen unter Verwendung von dynamisch wählbaren redundanten physischen Pfaden mit gemeinsamem Link
DE112006003503T5 (de) Mehrfachanschluss-Speicher mit Banksätzen zugeordneten Anschlüssen
DE102016206170B4 (de) Serielle draht-debug-brücke
DE102008030514A1 (de) Verfahren und Vorrichtung zur Anbindung von Speichervorrichtungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee