DE102009022550B4 - Vorrichtung und System zum Bereitstellen eines PCI (Peripheral Component Interconnect)-kompatiblen Protokolls auf Transaktionsebene für ein Ein-Chip-System (SoC) - Google Patents
Vorrichtung und System zum Bereitstellen eines PCI (Peripheral Component Interconnect)-kompatiblen Protokolls auf Transaktionsebene für ein Ein-Chip-System (SoC) Download PDFInfo
- Publication number
- DE102009022550B4 DE102009022550B4 DE102009022550.1A DE102009022550A DE102009022550B4 DE 102009022550 B4 DE102009022550 B4 DE 102009022550B4 DE 102009022550 A DE102009022550 A DE 102009022550A DE 102009022550 B4 DE102009022550 B4 DE 102009022550B4
- Authority
- DE
- Germany
- Prior art keywords
- interface
- protocol
- shim
- interconnect
- core
- 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.)
- Active
Links
- 230000002093 peripheral effect Effects 0.000 title claims description 11
- 239000004065 semiconductor Substances 0.000 claims abstract description 16
- 238000012986 modification Methods 0.000 claims abstract description 7
- 230000004048 modification Effects 0.000 claims abstract description 7
- 230000008859 change Effects 0.000 claims abstract description 6
- 230000008878 coupling Effects 0.000 claims abstract 4
- 238000010168 coupling process Methods 0.000 claims abstract 4
- 238000005859 coupling reaction Methods 0.000 claims abstract 4
- 230000015654 memory Effects 0.000 claims description 13
- 238000013519 translation Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4045—Coupling between buses using bus bridges where the bus bridge performs an extender function
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
- Microcomputers (AREA)
- Information Transfer Systems (AREA)
Abstract
Vorrichtung (10), umfassend: einen Adapter (20), der an einen einzigen Halbleiterchip angepasst ist, um mit einer ersten Komponente gemäß einem PC(Personal Computer)-Protokoll zu kommunizieren und mit einer ersten Schnittstelle (30) gemäß einem zweiten Protokoll zu kommunizieren, das einem AXI(Advanced Extensible Interface)- oder OCP(Open Core Protocol)-Protokoll entspricht; die erste Schnittstelle (30), die an den einzigen Halbleiterchip angepasst und mit dem Adapter (20) über ein erstes Interconnect gekoppelt ist, wobei die erste Schnittstelle Dekodierlogik zur Durchführung von Adressendekodierung und zum Ermitteln eines Ziels von Transaktionen, die von der ersten Komponente empfangen sind, und zum Senden der Transaktionen zum Ziel enthält; eine erste physikalische Einheit (45), die zwischen der ersten Schnittstelle (30) und einem zweiten Interconnect (40) angeschlossen ist, um die Transaktionen zwischen der ersten Schnittstelle und dem zweiten Interconnect zu übertragen; und das zweite Interconnect (40), das an den einzigen Halbleiterchip angepasst ist, um die erste Schnittstelle (30) mit einer Vielzahl von heterogenen Ressourcen (50; 60; 70) zu koppeln, die an den einzigen Halbleiterchip angepasst sind, wobei jede der Vielzahl von heterogenen Ressourcen einen IP(Intellectual Property)-Kern (IP0; IP1; IP2) und einen Shim (55; 65; 75) enthält, wobei der Shim Steuerregisterfunktionalität enthält und zum Implementieren eines Kopfes des PC-Protokolls für den IP-Kern und Ermöglichen der Aufnahme des korrespondierenden IP-Kerns in der Vorrichtung ohne Modifikation dient, wobei die Vorrichtung zum Arbeiten gemäß dem PC-Protokoll dient und der IP-Kern zum Arbeiten gemäß dem zweiten Protokoll dient, wobei die erste Schnittstelle und der Shim ein Protokoll mit getrennter Transaktionsebene und physikalischer Ebene enthalten, so dass eine Transaktionsschicht von einer physikalischen Schicht getrennt ist und sich die physikalische Schicht unabhängig von der Transaktionsschicht ändern kann.
Description
- Hintergrund
- Gewisse Halbleiterarchitekturen, wie zum Beispiel AXI(Advanced Extensible Interface)- und OCP(Open Core Protocol)-gestützte Architekturen sind modular und ermöglichen eine schnelle Verbreitung durch schnelles Hinzufügen oder Entfernen von IP(Intellectual Property)-Blöcken zu bzw. von einem vorhandenen Design. Obwohl diese IP-Blöcke (auch als IPs bezeichnet) einen großen Satz von Funktionalität bieten, können sie nicht in einem PC(Personal Computer)-System verwendet werden, da ihnen Schlüsselmerkmale fehlen, die zur Kompatibilität mit PCI (Peripheral Component Interconnect) erforderlich sind. Zum Beispiel arbeiten diese IPs mit festen Adressen, was Plug-and-Play ausschließt; es gibt keinen Mechanismus für Discovery und Enumeration; PCI-artige Ordnung ist nicht implementiert; und PCI-artige Energiemanagementmerkmale fehlen.
- Für Peripheriegeräte zur Verwendung in PC-kompatiblen Systemen mixen Interconnect-Spezifikationen die Transaktionsebene mit der physikalischen Ebene für die Schnittstellen. Da diese Spezifikationen externe, physikalische Geräte abdecken, müssen in der Tat beide Ebenen definiert werden. Für ein System auf einem Ein-Chip-System (System an a chip (SoC)) begrenzt jedoch das Mischen der Transaktionsebene mit der physikalischen Ebene der Schnittstellendefinition die erneute Verwendung von Komponenten, wenn sich Siliciumprozesse ändern. Einige externe, nicht-PC-kompatible Systeme haben Schnittstellen auf Transaktionsebene für deren IP-Komponenten angenommen. Diese Systeme können jedoch nicht PC-kompatibel gemacht werden, weil zahlreiche Merkmale in deren Schnittstellen fehlen, die für PC-Kompatibilität notwendig sind.
- Die
US 6 816 938 B2 offenbart eine Vorrichtung, umfassend einen Adapter, der an einen einzigen Halbleiterchip angepasst ist, um mit einer ersten Komponente gemäß einem Personal Computer-Protokoll zu kommunizieren und mit einer ersten Schnittstelle gemäß einem zweiten Protokoll zu kommunizieren, die erste Schnittstelle, die an den einzigen Halbleiterchip angepasst und mit dem Adapter über ein erstes Interconnect gekoppelt ist, wobei die erste Schnittstelle zur Durchführung von Adressenübersetzung und zum Ordnen von Transaktionen dient, die von der ersten Komponente empfangen sind, eine erste physikalische Einheit, die zwischen der ersten Schnittstelle und einem zweiten Interconnect angeschlossen ist, und das zweite Interconnect, das an den einzigen Halbleiterchip angepasst ist, um die erste Schnittstelle mit einer Vielzahl von heterogenen Ressourcen zu koppeln, die an den einzigen Halbleiterchip angepasst sind, wobei jede der Vielzahl von heterogenen Ressourcen einen IP-Kern und einen Shim enthält, wobei die Vorrichtung zum Arbeiten gemäß dem PC-Protokoll dient und der IP-Kern zum Arbeiten gemäß dem zweiten Protokoll dient. - Aus der
US 2007/0067549 A1 - Die
US 2008/0043742 A1 - Die vorliegende Erfindung liefert eine Vorrichtung gemäß Anspruch 1 und ein System gemäß Anspruch 10.
- Die Unteransprüche betreffen vorteilhafte Weiterbildungen derselben.
- Kurzbeschreibung der Zeichnungen
-
1 zeigt ein Blockdiagramm eines Prozessors gemäß einer Ausführungsform der vorliegenden Erfindung. -
2 zeigt ein Blockdiagramm eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung. - Ausführliche Beschreibung
- Ausführungsformen verwenden eine Technik, die die Verwendung von heterogenen Ressourcen, wie zum Beispiel AXI/OCP-Technologien, in einem PC-basierten System, wie zum Beispiel einem PCI-basierten System ermöglicht, ohne irgendwelche Änderungen an den IP-Ressourcen selbst vorzunehmen. Genauer gesagt liefern Ausführungsformen ein modulares Interconnect auf Transaktionsebene für PC-kompatible SoC-Komponenten. Das heißt, da erneute Verwendung von Komponenten bei der Realisierung von schnellen Entwicklungen von SoC-Komponenten helfen kann, kann die Transaktionsebene von der physikalischen Ebene der Ausführungsdefinition für SoC-Komponenten in zahlreichen Ausführungsformen getrennt werden. Auf diese Weise können die folgenden Merkmale realisiert werden: die Fähigkeit, ein PCI-System (oder anderes Bus-gestütztes) auf ein Punkt-zu-Punkt (point-to-point(PtP))-Interconnect-System abzubilden; die Fähigkeit, Ziel-gestütztes Dekodieren für ein PtP-Interconnect-System zu liefern; und die Fähigkeit, durch Logik, existierende Komponenten zu verwenden, die nicht bereits Ziel-gestütztes Dekodieren und andere PC-kompatible Funktionen in einem PC-kompatiblen System liefern.
- Abbilden von PCI-Transaktionen, die durch ein PC-kompatibles System implementiert sind, auf einen nicht-PCI-Transaktionsraum, der durch ein SoC zur Aufnahme in das PC-kompatible System implementiert ist, bringt Probleme mit sich. Genauer gesagt ist das PCI typischerweise ein Ziel-gestütztes Dekodiersystem, was bedeutet, dass es, wenn ein Prozessor mit einem Peripheriegerät kommunizieren möchte, die Transaktion an alle Peripheriegeräte sendet und darauf wartet, dass ein Gerät ihn anfordert. Nach Anforderung durch eines der Geräte wird ein Kanal zwischen dem Prozessor und korrespondierenden Gerät aufgebaut, so dass sie kommunizieren können. Ein derartiges System arbeitet mit einem On-Die-System, wie zum Beispiel einem SoC, das typischerweise unter Verwendung von Quellen-gestütztem Dekodieren arbeitet, nicht gut. Stattdessen sendet in einem derartigen System ein Prozessor eine Adresse an ein Interconnect und ermittelt das Interconnect sein Ziel und sendet die Anfrage nur an das bestimmte Gerät, das Ziel der Anforderung bzw. Anfrage ist, statt dass er sie an alle Geräte sendet und auf eine Antwort wartet.
- In zahlreichen Ausführungsformen kann eine Schnittstelle oder ein Adapter verwendet werden, um all die unterschiedlichen Zieladressen in einem System zu verfolgen und Konfigurationsinformation zu sammeln und zu pflegen. Wenn ein Prozessor Anforderungen bzw. Anfragen sendet, werden sie somit nur an einen Adapter, der mit dem Zielgerät verbunden ist, gesendet, statt dass die Anfragen an alle Peripheriegeräte gesendet werden.
- Ausführungsformen liefern zwei sehr dünne Hardware-Blöcke, hierin als ein Yunit und ein Shim bezeichnet, die verwendet werden können, um einen AXI/OCP IP in eine Interconnect-Struktur zu stecken, um PCI-kompatible Systeme zu erzeugen. Wie unten beschrieben wird, ist in einer Ausführungsform eine erste (z. B. ein North) Schnittstelle des Yunit mit einem Adapterblock verbunden, der an einen PCI-kompatiblen Bus, wie zum Beispiel einen DMI(Direct Media Interface)-Bus, einen PCI-Bus oder einen PCIe(Peripheral Component Interconnect Express)-Bus anschließt. Eine zweite (z. B. South) Schnittstelle ist mit einem non-PC-Interconnect, wie zum Beispiel einem AXI/OCP-Interconnect, direkt verbunden. In zahlreichen Implementierungen kann dieser Bus ein OCP-Bus sein.
- Vorteilhafterweise können zwei Teile von PCI-Funktionalität können in dem Protokoll mit getrennter Transaktionsebene und physikalischer Ebene enthalten sein. Erstens kann der Yunit Dekodierlogik enthalten, um zu ermitteln, was das Ziel einer Anfrage ist, und um sicherzustellen, dass die Anfrage über das Interconnect richtig übergeben wird. Zweitens kann der Shim Steuerregisterfunktionalität, wie zum Beispiel Steuerinformation zum Abschalten des korrespondierenden Geräts, Erhalten von Zugang zu einer bestimmten Speicherregion und so weiter enthalten. Somit kann PCI-Kopf-Funktionalität in zwei Teile unterteilt werden, ein Teil für einen Shim, der speziell an bestimmte Funktionalität in dem Gerät selbst gebunden ist, und der andere Teil für den Yunit, weil er an das Routen von Befehlen in dem SoC gebunden ist. Als solches ist PCI-Inkrement-Funktionalität einer Komponente in zwei Teile aufgeteilt, nämlich den Shim, der neben dem IP-Kern sitzt, und den Yunit in Verbindung mit einem Anforderer, da die Adresse des Ziels unbekannt ist.
- Der Yunit implementiert PCI-Enumeration durch Übersetzen von PCI-Konfigurationszyklen in Transaktionen, die den Ziel-IP verstehen kann. Diese Einheit führt auch Adressenumwandlung von wieder ortbaren PCI-Adressen in feste AXI/OCP-Adressen und umgekehrt durch. Der Yunit kann ferner einen Ordnungsmechanismus implementieren, um einem Producer-Consumer-Modell (z. B. einem PCI-Producer-Consumer-Modell) zu genügen. Somit kann der Yunit mit Logik versehen sein, die normalerweise in einem Peripheriegerät enthalten sein würde, um eine bestimmte Anfrage (d. h. dekodiert) an den Yunit zu beanspruchen, und dann die Anfrage dekodieren, Ermitteln, welches Peripheriegerät das Ziel für die Anfrage ist, und dann die Anfrage nur an das spezielle Gerät senden. Somit kann in zahlreichen Ausführungsformen ein Adapter PCI-PtP-Umwandlung duchführen.
- Einzelne IPs sind wiederum mit dem Interconnect über dedizierte PCI-Shims verbunden. Jeder Shim kann gesamte PCI-Kopf-Funktionalität für den korrespondierenden IP implementieren, obwohl der Yunit Adressendekodierung durchführen kann. Als solches lenkt der Yunit alle Zugriffe auf den PCI-Kopf und den Gerätespeicherraum zum Shim. Der Shim verbraucht alle Kopflese/Schreibtransaktionen und leitet andere Transaktionen zum IP weiter. In einigen Ausführungsformen implementiert der Shim auch das gesamte Energiemanagement bezüglich von Merkmalen für den IP.
- In
1 ist ein Blockdiagramm eines Prozessors gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in1 gezeigt ist, kann der Prozessor10 ein Ein-Chip-System (System an a chip (SoC)) oder ein anderer integrierter Schaltkreis sein, der auf einem einzigen Halbleiterchip ausgebildet ist. In der Ausführungsform von1 kann der Prozessor10 zahlreiche heterogene Ressourcen enthalten, die mit einer Schnittstelle gekoppelt sein können, um die Fähigkeit zu bieten, mit diesen zahlreichen heterogenen Ressourcen unter Verwendung von Standard-PC-Signalisiermechanismen, wie zum Beispiel einem PC-Protokoll, zu kommunizieren und diese zu steuern, obwohl der Schutzbereich der vorliegenden Erfindung diesbezüglich nicht beschränkt ist. - Wie in
1 gezeigt, kann der Prozessor10 einen Adapter20 enthalten, der in einer Ausführungsform ein DMI-Adapter mit einer ersten Schnittstelle sein kann, die gemäß einem bestimmten Protokoll, z. B. einem DMI-Protokoll, kommunizieren kann. In anderen Ausführungsformen kann jedoch der Adapter20 unter Verwendung dieser ersten Schnittstelle gemäß einem PCI-, PCIe- oder einem anderen derartigen PC-gestützten Kommunikationsprotokoll kommunizieren. Dementsprechend kann Kommunikation mit einer Upstream-Komponente, die ein anderer Teil des SoC sein kann, oder einer anderen Komponente, wie z. B. einer Chipsatzkomponente eines PC, z. B. einem Eingabe/Ausgabe-Controller Hub (Input/output Controller Hub (ICH)) gemäß dem bestimmten PC-Protokoll, z. B. dem in1 gezeigten DMI-Protokoll, erfolgen. - Downstream-Kommunikation kann wiederum gemäß einem nicht-PC-Kommunikationsprotokoll, wie zum Beispiel dem in
1 gezeigten OCP-Protokoll erfolgen, obwohl andere Implementierungen sicherlich möglich sind. - Adapter
20 kommuniziert mit einem Yunit30 , der, wie oben beschrieben, zahlreiche PCI- oder andere derartige PC-gestützte Operationen handhaben kann. Auf seiner Downstream-Seite kann der Yunit30 mit einem Interconnect40 gekoppelt sein, das Verbindung und Routen von Kommunikation zwischen Yunit30 und einer Vielzahl von unterschiedlichen heterogenen Ressourcen liefern kann. In der in1 gezeigten Ausführungsform schließen derartige Ressourcen eine erste Ressource50 , eine zweite Ressource60 und eine dritte Ressource70 ein, von denen jede eine bestimmte heterogene Ressource, wie zum Beispiel einen bestimmten IP-Block von einer oder mehreren Dritten repräsentieren kann. Jede heterogene Ressource kann unterschiedlich konfiguriert sein, um eine oder mehrere spezialisierte Funktion(en) durchzuführen. - Weiterhin auf
1 Bezug nehmend, kann Interconnect40 mit jeder Ressource und Yunit30 über ein Interconnect, z. B. ein OCP-Interconnect, gekoppelt sein. Wie in1 dargestellt ist, kann eine physikalische Einheit45 a-c (jeweils zwischen einer korrespondierenden Ressource und einem Interconnect40 angeschlossen, und allgemein physikalische Einheit45 ) Logik, Schaltkreis und so weiter, enthalten, um als eine Schnittstelle für die Transaktionsschicht zu wirken und Transaktionen in aktuelle Bits und Bytes zu übersetzen, die auf physikalischen Verbindungsleitungen zu senden sind. Somit befindet sich zwischen jeder Ressource und Interconnect40 eine physikalische Einheit45 , um für Transaktionsschicht-zu-physikalische Schicht- und physikalische Schicht-zu-Transaktionsschicht-Übergänge zu sorgen. Während zur leichteren Darstellung als eine einzige Einheit gezeigt, versteht es sich, dass separate physikalische Einheiten an jedem Ende eines physikalischen Drahtes angeschlossen sein können. - Jede Ressource enthält einen Shim zum Verbinden der Ressource mit Interconnect
40 . Die Shims können verwendet werden, um alle PCI-bezogenen Operationen mit Ausnahme von Adressierdekodierfunktionalität, die durch Yunit30 durchzuführen ist, durchzuführen, so dass Kommunikation zwischen dem Shim und dem jeweiligen IP-Block der Ressource durch das zugrundeliegende Protokoll des IP-Blocks erfolgen kann. Wie in1 gezeigt ist, enthält somit die Ressource50 einen Shim55 , der mit einem IP-Block durch ein Interconnect, wie zum Beispiel ein OCP-gestütztes Interconnect, gekoppelt ist. In ähnlicher Weise enthält die Ressource60 einen Shim65 , der durch ein OCP-Interconnect mit einem IP-Block68 gekoppelt ist. In1 ist auch eine Ressource70 gezeigt, die einen Shim75 enthält, der durch ein OCP-Interconnect mit einem IP-Block78 gekoppelt ist. Während dies in dieser speziellen Implementierung in der Ausführungsform von1 gezeigt ist, soll der Schutzbereich der vorliegenden Erfindung diesbezüglich nicht beschränkt sein. - Statt eines monolithischen Kompatibilitätsblocks gehen somit Ausführungsformen, die einen Yunit implementieren, einen verteilten Ansatz. Funktionalität, die über alle IPs gemein ist, z. B. Adressenübersetzung und Ordnen, ist in dem Yunit implementiert, während IP-spezifische Funktionalität, wie z. B. Energiemanagement, Fehlerhandhabung und so weiter, in den Shims implementiert ist, die für den IP zugeschnitten sind.
- Auf diese Weise kann ein neuer IP mit minimalen Änderungen an dem Yunit hinzugefügt werden. Zum Beispiel können in einer Implementierung die Änderungen durch Hinzufügen eines neuen Eintrags in einer Adressenumleitungstabelle erfolgen. Während die Shims IP-spezifisch sind, ist einigen Ausführungsformen ein großes Maß der Funktionalität (z. B. mehr als 90%) über alle IPs gemein. Dies ermöglicht eine schnelle Neukonfigurierung eines bestehenden Shims für einen neuen IP.
- Ausführungsformen ermöglichen somit die Verwendung eines selbstgenerierten Interconnect-Strukturen ohne Modifikation. In einer Punkt-zu-Punkt-Busarchitektur kann das Entwerfen von Interconnect-Strukturen eine Herausforderung darstellen. Der oben beschriebene Yunit-Ansatz setzt ein Industrieökosystem in einem PCI-System mit minimaler Anstrengung und ohne erforderliche Modifikationen an Industrie-Standard-Werkzeugen wirksam ein.
-
2 zeigt ein Bockdiagramm eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung. System100 kann ein PC-gestütztes System, wie zum Beispiel ein PCI-gestütztes System, sein, das in unterschiedlichen Formfaktoren, von einem Desktop-System zu einem Laptop und zu einem ultramobilen PC, implementiert sein kann. Wie in2 gezeigt ist, enthält das System100 einen Prozessor105 , der mit einer Host-Schnittstelle110 gekoppelt ist, die wiederum mit einem Speicher115 , wie zum Beispiel einem DRAM (Dynamic Random Access Memory) und wiederum mit DMI-Adapter120 , z. B. über einen DMI-Bus, gekoppelt ist. Der DMI-Adapter120 kann auch mit einem SoC, wie zum Beispiel dem in1 gezeigten, als Komponenten130 –170 in der Ausführungsform von2 aufgezählt, gekoppelt sein. Der Prozessor105 kann in einigen Ausführungsformen ein Prozessor mit geringerer Leistung sein, der ein PC-gestützten Betriebssystem (Operating System (OS)), wie zum Beispiel ein WINDOWSTM- oder LINUXTM-OS, das ein PCI- oder anderes derartiges PC-Protokoll verwendet, ausführen kann, obwohl bestimmte Komponenten des Systems nach einem anderen Protokoll, wie z. B. AXI oder OCP, arbeiten können. - Somit können PCI-artige Transaktionen auf IP-Blöcke abgebildet werden, die in einer PtP-Art verbunden sein können. Somit können Interconnects, wie zum Beispiel basierend auf einem OCP- oder AXI-Protokoll, das grundlegende PtP-Kommunikation zwischen einem Anforderer und einem Ziel unterstützt, auf Unterstützen von PCI-Bus-Kopf-Funkionalität und Ziel-gestütztes Dekodieren erweitert werden.
- Zusätzlich kann erneute Verwendung von IP-Blöcken über unterschiedliche SoC-Geräte durch Trennen einer Transaktionsebene von einer physikalischen Ebene unterstützt werden. Das heißt, dass eine Transaktionsebene die Arten von Anfragen, die ein Interconnect handhaben kann, spezifiziert und die physikalische Ebene die Art beschreibt, in der die Transaktionen von einem Punkt zu einem anderen Punkt erfolgen. Durch Trennen dieser beiden Ebenen kann ein IP mehrere Generationen von Implementierungen überschreiten. Mit anderen Worten wird sich wahrscheinlich ein Interconnect selbst ändern, wenn unterschiedliche Generationen unterschiedlich dimensionierte Transistoren (z. B. von unterschiedlichen Halbleiterprozessen) oder unterschiedliche Implementierungen aufweisen, z. B. von einer SoC zu einer Implementierung, die Mehrfachchips (Multiple Die) enthält. Die Transaktionsschicht bleibt jedoch dieselbe, während sich die Interconnectschicht ändert. Auf diese Weise kann sich die physikalische Schicht unabhängig an der Transaktionsschicht ändern. Zum Beispiel kann die Transaktionsschicht über mehrere Generationen und über mehrere physikalische Schichten konsistent sein. Im Gegensatz dazu könnten wesentliche Änderungen, wenn eine physikalische Schicht in die IP-Blöcke aufgenommen würde, von Generation zu Generation auftreten, was eine effiziente Verwendung von IP-Blöcken verhindern würde.
- Die Ausführungsformen können in Code implementiert und auf einem Speichermedium gespeichert sein, auf dem Befehle gespeichert sind, die verwendet werden können, um ein System zur Durchführung der Befehle zu programmieren. Das Speichermedium kann, ohne aber darauf beschränkt zu sein, jede Art von Platte, einschließlich Floppy-Disks, optische Platten, CD-ROMs (Compact Disc Read-Only-Memories), CD-RWs (Compact Disk Rewritables), und magneto-optische Platten, Halbleitereinrichtungen wie zum Beispiel ROMs (Read-Only-Memories), RAMs (Random Access Memories), wie zum Beispiel DRAMs (Dynamic Random Access Memories), SRAMs (Static Random Access Memories), EPROMs (Erasable Programmable Read-Only Memories), Flash-Speicher, EEPROMs (Electrically Erasable Programmable Read-Only Memories), magnetische oder optische Karten oder irgendeine andere Art von Medium, das zum Speichern von elektronischen Befehlen geeignet ist, enthalten.
- Während die vorangehende Erfindung unter Bezugnahme auf eine begrenzte Anzahl von Ausführungsformen beschrieben worden ist, werden Fachleute auf dem Gebiet zahlreiche Modifikationen und Variationen derselben erkennen. Die beigefügten Ansprüche sollen alle derartigen Modifikationen und Variationen abdecken, die in den wahren Geist und Schutzbereich der vorliegenden Erfindung fallen.
Claims (14)
- Vorrichtung (
10 ), umfassend: einen Adapter (20 ), der an einen einzigen Halbleiterchip angepasst ist, um mit einer ersten Komponente gemäß einem PC(Personal Computer)-Protokoll zu kommunizieren und mit einer ersten Schnittstelle (30 ) gemäß einem zweiten Protokoll zu kommunizieren, das einem AXI(Advanced Extensible Interface)- oder OCP(Open Core Protocol)-Protokoll entspricht; die erste Schnittstelle (30 ), die an den einzigen Halbleiterchip angepasst und mit dem Adapter (20 ) über ein erstes Interconnect gekoppelt ist, wobei die erste Schnittstelle Dekodierlogik zur Durchführung von Adressendekodierung und zum Ermitteln eines Ziels von Transaktionen, die von der ersten Komponente empfangen sind, und zum Senden der Transaktionen zum Ziel enthält; eine erste physikalische Einheit (45 ), die zwischen der ersten Schnittstelle (30 ) und einem zweiten Interconnect (40 ) angeschlossen ist, um die Transaktionen zwischen der ersten Schnittstelle und dem zweiten Interconnect zu übertragen; und das zweite Interconnect (40 ), das an den einzigen Halbleiterchip angepasst ist, um die erste Schnittstelle (30 ) mit einer Vielzahl von heterogenen Ressourcen (50 ;60 ;70 ) zu koppeln, die an den einzigen Halbleiterchip angepasst sind, wobei jede der Vielzahl von heterogenen Ressourcen einen IP(Intellectual Property)-Kern (IP0; IP1; IP2) und einen Shim (55 ;65 ;75 ) enthält, wobei der Shim Steuerregisterfunktionalität enthält und zum Implementieren eines Kopfes des PC-Protokolls für den IP-Kern und Ermöglichen der Aufnahme des korrespondierenden IP-Kerns in der Vorrichtung ohne Modifikation dient, wobei die Vorrichtung zum Arbeiten gemäß dem PC-Protokoll dient und der IP-Kern zum Arbeiten gemäß dem zweiten Protokoll dient, wobei die erste Schnittstelle und der Shim ein Protokoll mit getrennter Transaktionsebene und physikalischer Ebene enthalten, so dass eine Transaktionsschicht von einer physikalischen Schicht getrennt ist und sich die physikalische Schicht unabhängig von der Transaktionsschicht ändern kann. - Vorrichtung (
10 ) nach Anspruch 1, dadurch gekennzeichnet, dass die erste Schnittstelle (30 ) zum Übersetzen von Konfigurationszyklen des PC-Protokolls in ein Format für das zweite Protokoll dient, wobei das PC-Protokoll einem PCI(Peripheral Component Inteconnect)-Protokoll entspricht. - Vorrichtung (
10 ) nach Anspruch 2, dadurch gekennzeichnet, dass die erste Schnittstelle (30 ) zum Durchführen der Adressenübersetzung und Übersetzen einer neu lokalisierbaren PCI-Adresse in eine AXI/OCP-Adresse dient. - Vorrichtung (
10 ) nach Anspruch 1, dadurch gekennzeichnet, dass die erste Schnittstelle (30 ) zum Durchführen von Operationen, die über die Vielzahl von heterogenen Ressourcen (50 ;60 ;70 ) gemein sind, dient und jeder Shim (55 ;65 ;75 ) zum Durchführen von Operationen dient, die speziell für den korrespondierenden IP-Kern sind. - Vorrichtung (
10 ) nach Anspruch 4, dadurch gekennzeichnet, dass die gemeinsamen Operationen die Adressenübersetzung und das Ordnen enthalten und die speziellen Operationen Niedrigenergiemanagement und Fehlerhandhabung enthalten. - Vorrichtung (
10 ) nach Anspruch 1, dadurch gekennzeichnet, dass das zweite Interconnect eine Interconnect-Struktur umfasst. - Vorrichtung (
10 ) nach Anspruch 6, ferner umfassend eine Vielzahl von zweiten physikalischen Einheiten, wobei jede zum Koppeln des zweiten Interconnects mit einer korrespondierenden der Vielzahl von heterogenen Ressourcen dient. - Vorrichtung (
10 ) nach Anspruch 2, dadurch gekennzeichnet, dass die erste Schnittstelle zum Routen von Zugriffen auf einen PCI-Kopf zu einem korrespondierenden Shim dient und der Shim zum Implementieren des PCI-Kopfes für den korrespondierenden IP-Kern dient, wobei die erste Schnittstelle ferner zum Routen von Zugriffen auf einen Gerätespeicherraum zum korrespondierenden Shim dient. - Vorrichtung (
10 ) nach Anspruch 8, dadurch gekennzeichnet, dass der korrespondierende Shim zum Verbrauchen aller Lese-Schreib-Operationen an dem PCI-Kopf und zum Übertragen anderer Transaktionen zum korrespondierenden IP-Kern dient. - System (
100 ), umfassend: einen Prozessor (105 ); eine Host-Schnittstelle (110 ), die mit dem Prozessor (105 ) gekoppelt ist, wobei die Host-Schnittstelle (110 ) zum Koppeln des Prozessors mit einem Speicher (115 ) und einem Adapter (120 ) dient; den mit der Host-Schnittstelle (110 ) gekoppelten Adapter (120 ) zum Kommunizieren gemäß einem PC(Personal Computer)-Protokoll und Kommunizieren mit einer zweiten Schnittstelle (130 ) gemäß einem zweiten Protokoll, das einem AXI(Advanced Extensible Interface)-, einem OCP(Open Core Protocol)-Protokoll oder einem dritten Protokoll entspricht; die mit dem Adapter (120 ) durch ein erstes Interconnect gekoppelte zweite Schnittstelle (130 ), wobei die zweite Schnittstelle Dekodierlogik zum Durchführen von Adressendekodierung zum Ermitteln eines Ziels von Transaktionen, die von dem Prozessor empfangen sind, und zum Senden der Transaktionen zum Ziel enthält; eine erste physikalische Einheit (145 ), die zwischen der zweiten Schnittstelle und einem zweiten Interconnect (140 ) zum Übertragen der Transaktionen zwischen der zweiten Schnittstelle und dem zweiten Interconnect angeschlossen ist; und den zweiten Interconnect (140 ) zum Koppeln der zweiten Schnittstelle mit einer Vielzahl von heterogenen Ressourcen (150 ;160 ;170 ), wobei jede der Vielzahl von heterogenen Ressourcen einen IP(Intellectual Property)-Kern (IP0; IP1; IP2) und einen Shim (Shim 0; Shim 1; Shim 2) enthält, wobei der Shim Steuerregisterfunktionalität enthält und zum Implementieren eines Kopfes des PC-Protokolls für den IP-Kern dient, um eine Aufnahme des korrespondierenden IP-Kerns in das System ohne Modifikation zu ermöglichen, wobei das System zum Arbeiten gemäß dem PC-Protokoll dient und der IP-Kern zum Arbeiten gemäß dem zweiten Protokoll dient, wobei die zweite Schnittstelle und der Shim ein Protokoll mit getrennter Transaktionsebene und physikalischer Ebene enthalten, so dass eine Transaktionsschicht von einer physikalischen Schicht getrennt ist und sich die physikalische Schicht unabhängig von der Transaktionsschicht ändern kann. - System (
100 ) nach Anspruch 10, dadurch gekennzeichnet, dass das System ein ultramobiles System aufweist, wobei der Prozessor zum Ausführen eines PC-Betriebssystems unter Verwendung des PC-Protokolls dient. - System (
100 ) nach Anspruch 11, dadurch gekennzeichnet, dass die zweite Schnittstelle (130 ) zum Übersetzen von Konfigurationszyklen des PC-Protokolls in ein Format für das zweite Protokoll dient, wobei das PC-Protokoll einem PCI(Peripheral Component Interconnect)-Protokoll entspricht und die zweite Schnittstelle zum Durchführen der Adressenübersetzung zum Übersetzen einer neulokalisierbaren PCI-Adresse in eine AXI/OCP-Adresse dient. - System (
100 ) nach Anspruch 12, dadurch gekennzeichnet, dass die zweite Schnittstelle (130 ) zum Durchführen von Operationen dient, die über die Vielzahl von heterogenen Ressourcen gemein sind, und jeder Shim zum Durchführen von Operationen dient, die speziell für den korrespondierenden IP-Kern sind, wobei die gemeinsamen Operationen die Adressenübersetzung und das Ordnen enthalten und die speziellen Operationen Niedrigenergiemanagement und Fehlerhandhabung einschließen. - System (
100 ) nach Anspruch 12, dadurch gekennzeichnet, dass die zweite Schnittstelle (130 ) zum Routen von Zugriffen auf einen PCI-Kopf zu einem korrespondierenden Shim dient und der Shim zum Implementieren des PCI-Kopfes für den korrespondierenden IP-Kern dient, wobei die zweite Schnittstelle ferner zum Routen von Zugriffen auf einen Gerätespeicherraum zum korrespondierenden Shim dient und wobei der korrespondierende Shim zum Verbrauchen aller Lese-Schreiboperationen an dem PCI-Kopf dient und zum Übertragen anderer Transaktionen zum korrespondierenden IR-Kern dient.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/156,320 | 2008-05-30 | ||
US12/156,320 US7861027B2 (en) | 2008-05-30 | 2008-05-30 | Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC) |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102009022550A1 DE102009022550A1 (de) | 2009-12-24 |
DE102009022550B4 true DE102009022550B4 (de) | 2016-02-25 |
Family
ID=40862771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102009022550.1A Active DE102009022550B4 (de) | 2008-05-30 | 2009-05-25 | Vorrichtung und System zum Bereitstellen eines PCI (Peripheral Component Interconnect)-kompatiblen Protokolls auf Transaktionsebene für ein Ein-Chip-System (SoC) |
Country Status (6)
Country | Link |
---|---|
US (6) | US7861027B2 (de) |
JP (2) | JP4668331B2 (de) |
CN (1) | CN101620585B (de) |
DE (1) | DE102009022550B4 (de) |
GB (2) | GB2460331B (de) |
TW (1) | TWI452470B (de) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386654B2 (en) * | 2008-03-25 | 2013-02-26 | Hewlett-Packard Development Company, L.P. | System and method for transforming PCIe SR-IOV functions to appear as legacy functions |
US7783819B2 (en) | 2008-03-31 | 2010-08-24 | Intel Corporation | Integrating non-peripheral component interconnect (PCI) resources into a personal computer system |
US7861027B2 (en) | 2008-05-30 | 2010-12-28 | Intel Corporation | Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC) |
US8395416B2 (en) * | 2010-09-21 | 2013-03-12 | Intel Corporation | Incorporating an independent logic block in a system-on-a-chip |
US9043665B2 (en) | 2011-03-09 | 2015-05-26 | Intel Corporation | Functional fabric based test wrapper for circuit testing of IP blocks |
KR101687273B1 (ko) * | 2011-08-22 | 2016-12-16 | 인텔 코포레이션 | 동적으로 선택 가능한 중복 공유된 링크 물리적 경로들을 사용하여 개방형 코어 프로토콜 기반 상호 접속 네트워크들에서 데이터 처리량 개선을 위한 방법 |
US9021156B2 (en) * | 2011-08-31 | 2015-04-28 | Prashanth Nimmala | Integrating intellectual property (IP) blocks into a processor |
US8930602B2 (en) | 2011-08-31 | 2015-01-06 | Intel Corporation | Providing adaptive bandwidth allocation for a fixed priority arbiter |
US8711875B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Aggregating completion messages in a sideband interface |
US8713240B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Providing multiple decode options for a system-on-chip (SoC) fabric |
US8713234B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Supporting multiple channels of a single interface |
US8929373B2 (en) | 2011-09-29 | 2015-01-06 | Intel Corporation | Sending packets with expanded headers |
US8775700B2 (en) | 2011-09-29 | 2014-07-08 | Intel Corporation | Issuing requests to a fabric |
US8874976B2 (en) | 2011-09-29 | 2014-10-28 | Intel Corporation | Providing error handling support to legacy devices |
US8805926B2 (en) | 2011-09-29 | 2014-08-12 | Intel Corporation | Common idle state, active state and credit management for an interface |
US8943257B2 (en) * | 2011-09-30 | 2015-01-27 | Intel Corporation | Protocol neutral fabric |
US9053251B2 (en) | 2011-11-29 | 2015-06-09 | Intel Corporation | Providing a sideband message interface for system on a chip (SoC) |
GB2511975B (en) * | 2011-12-21 | 2021-02-03 | Intel Corp | Incorporating access control functionality into a system on a chip (SoC) |
CN102609583B (zh) * | 2012-02-08 | 2013-09-18 | 福州瑞芯微电子有限公司 | 芯片寄存器信息管理方法 |
US8446903B1 (en) * | 2012-05-22 | 2013-05-21 | Intel Corporation | Providing a load/store communication protocol with a low power physical unit |
US9164938B2 (en) * | 2013-01-02 | 2015-10-20 | Intel Corporation | Method to integrate ARM ecosystem IPs into PCI-based interconnect |
CN104956347B (zh) * | 2013-02-28 | 2018-05-22 | 英特尔公司 | 将一种互连协议的枚举和/或配置机制用于不同的互连协议 |
US9396152B2 (en) * | 2013-03-15 | 2016-07-19 | Intel Corporation | Device, system and method for communication with heterogenous physical layers |
CN104281548A (zh) * | 2013-07-03 | 2015-01-14 | 炬芯(珠海)科技有限公司 | 一种基于axi总线传输数据的方法、装置及系统 |
CN103714034A (zh) * | 2013-12-26 | 2014-04-09 | 中国船舶重工集团公司第七0九研究所 | 片上系统(soc)应用于个人计算机(pc)系统 |
US9467526B2 (en) | 2014-01-15 | 2016-10-11 | Microsoft Technology Licensing, Llc | Network communication using intermediation processor |
US9720868B2 (en) * | 2014-07-07 | 2017-08-01 | Xilinx, Inc. | Bridging inter-bus communications |
US11281618B2 (en) * | 2014-10-31 | 2022-03-22 | Xlnx, Inc. | Methods and circuits for deadlock avoidance |
US9921768B2 (en) * | 2014-12-18 | 2018-03-20 | Intel Corporation | Low power entry in a shared memory link |
CN106201982A (zh) * | 2016-07-01 | 2016-12-07 | 深圳市紫光同创电子有限公司 | 一种PCI‑Express IP核 |
EP3508984B1 (de) * | 2016-08-31 | 2022-09-28 | Socionext Inc. | Bussteuerungsschaltung, integrierte halbleiterschaltung, schaltungssubstrat, informationsverarbeitungsvorrichtung und bussteuerungsverfahren |
US10911261B2 (en) | 2016-12-19 | 2021-02-02 | Intel Corporation | Method, apparatus and system for hierarchical network on chip routing |
US10846126B2 (en) | 2016-12-28 | 2020-11-24 | Intel Corporation | Method, apparatus and system for handling non-posted memory write transactions in a fabric |
FR3080198A1 (fr) * | 2018-04-16 | 2019-10-18 | Stmicroelectronics (Rousset) Sas | Procede de gestion du routage de transactions entre au moins un equipement source et au moins un equipement cible, par exemple une memoire multiports, et systeme sur puce correspondant |
US11030144B2 (en) | 2018-12-14 | 2021-06-08 | Texas Instruments Incorporated | Peripheral component interconnect (PCI) backplane connectivity system on chip (SoC) |
GB201900834D0 (en) * | 2019-01-21 | 2019-03-13 | Sumitomo Chemical Co | Organic thin film transistor gas sensor |
CN110913274B (zh) * | 2019-11-29 | 2021-08-27 | 四川长虹电器股份有限公司 | 一种电视机主芯片相关功能的兼容方法 |
CN114996201B (zh) * | 2022-07-28 | 2022-09-30 | 沐曦科技(成都)有限公司 | 一种基于Die互连的路由系统 |
CN118394696B (zh) * | 2024-06-28 | 2024-09-10 | 中国人民解放军国防科技大学 | 一种兼容多种芯粒互连接口的层次化链路管理方法及芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6816938B2 (en) * | 2001-03-27 | 2004-11-09 | Synopsys, Inc. | Method and apparatus for providing a modular system on-chip interface |
US20070067549A1 (en) * | 2005-08-29 | 2007-03-22 | Judy Gehman | Method for request transaction ordering in OCP bus to AXI bus bridge design |
US20080043742A1 (en) * | 2006-08-15 | 2008-02-21 | Broadcom Corporation | Transmission using multiple physical interface |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4229931C2 (de) * | 1992-09-08 | 1997-01-23 | Daimler Benz Ag | Verfahren zur Programmierung eines busfähigen elektronischen Kfz-Steuergerätes |
JP2536408B2 (ja) * | 1993-06-29 | 1996-09-18 | 日本電気株式会社 | デ―タ転送装置 |
US5761457A (en) * | 1996-10-21 | 1998-06-02 | Advanced Micro Devices Inc. | Inter-chip bus with fair access for multiple data pipes |
US5832242A (en) * | 1996-10-21 | 1998-11-03 | Advanced Micro Devices, Inc. | Inter-chip bus with equal access between masters without arbitration |
US6009488A (en) * | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
US6449679B2 (en) * | 1999-02-26 | 2002-09-10 | Micron Technology, Inc. | RAM controller interface device for RAM compatibility (memory translator hub) |
US6567883B1 (en) * | 1999-08-27 | 2003-05-20 | Intel Corporation | Method and apparatus for command translation and enforcement of ordering of commands |
US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
EP1204016B1 (de) | 2000-11-03 | 2007-04-11 | STMicroelectronics S.r.l. | Abschaltprotokoll für integrierte Schaltungen |
US6810460B1 (en) | 2001-02-15 | 2004-10-26 | Lsi Logic Corporation | AMBA bus off-chip bridge |
GB2373595B (en) * | 2001-03-15 | 2005-09-07 | Italtel Spa | A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol |
US6514795B1 (en) * | 2001-10-10 | 2003-02-04 | Micron Technology, Inc. | Packaged stacked semiconductor die and method of preparing same |
US6848057B2 (en) | 2002-05-28 | 2005-01-25 | Nvidia Corporation | Method and apparatus for providing a decoupled power management state |
US7072825B2 (en) * | 2003-06-16 | 2006-07-04 | Fortelink, Inc. | Hierarchical, network-based emulation system |
KR101034494B1 (ko) | 2004-02-11 | 2011-05-17 | 삼성전자주식회사 | 개방형 코어 프로토콜을 기반으로 하는 버스 시스템 |
US7073159B2 (en) * | 2004-03-31 | 2006-07-04 | Intel Corporation | Constraints-directed compilation for heterogeneous reconfigurable architectures |
TWI259354B (en) | 2004-06-25 | 2006-08-01 | Via Tech Inc | System and method of real-time power management |
US7707434B2 (en) | 2004-06-29 | 2010-04-27 | Broadcom Corporation | Power control bus for carrying power control information indicating a power supply voltage variability |
US8032676B2 (en) * | 2004-11-02 | 2011-10-04 | Sonics, Inc. | Methods and apparatuses to manage bandwidth mismatches between a sending device and a receiving device |
US7434182B2 (en) * | 2005-07-14 | 2008-10-07 | International Business Machines Corporation | Method for testing sub-systems of a system-on-a-chip using a configurable external system-on-a-chip |
GB0519981D0 (en) * | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
EP1773012A1 (de) * | 2005-10-05 | 2007-04-11 | Alcatel Lucent | Verfahren und Vorrichtung zum Transport leitungsvermittelter Dienste über ein Transportnetz im Paketmodus |
KR100675850B1 (ko) * | 2005-10-12 | 2007-02-02 | 삼성전자주식회사 | AXI 프로토콜을 적용한 NoC 시스템 |
WO2007073538A2 (en) * | 2005-12-21 | 2007-06-28 | Sandisk Corporation | Non-volatile memories and methods with data alignment in a directly mapped file storage system |
US7805621B2 (en) | 2006-09-29 | 2010-09-28 | Broadcom Corporation | Method and apparatus for providing a bus interface with power management features |
US7660912B2 (en) * | 2006-10-18 | 2010-02-09 | International Business Machines Corporation | I/O adapter LPAR isolation in a hypertransport environment |
US20080147858A1 (en) | 2006-12-13 | 2008-06-19 | Ramkrishna Prakash | Distributed Out-of-Band (OOB) OS-Independent Platform Management |
WO2008091575A2 (en) | 2007-01-22 | 2008-07-31 | Vast Systems Technology Corporation | Method and system for modeling a bus for a system design incorporating one or more programmable processors |
US7552241B2 (en) * | 2007-05-18 | 2009-06-23 | Tilera Corporation | Method and system for managing a plurality of I/O interfaces with an array of multicore processor resources in a semiconductor chip |
US8028185B2 (en) | 2008-03-11 | 2011-09-27 | Globalfoundries Inc. | Protocol for transitioning in and out of zero-power state |
US8286014B2 (en) * | 2008-03-25 | 2012-10-09 | Intel Corporation | Power management for a system on a chip (SoC) |
US7783819B2 (en) | 2008-03-31 | 2010-08-24 | Intel Corporation | Integrating non-peripheral component interconnect (PCI) resources into a personal computer system |
US7861027B2 (en) * | 2008-05-30 | 2010-12-28 | Intel Corporation | Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC) |
US8250280B1 (en) * | 2008-07-15 | 2012-08-21 | Marvell Israel (M.I.S.L.) Ltd. | Bus transaction maintenance protocol |
-
2008
- 2008-05-30 US US12/156,320 patent/US7861027B2/en active Active
-
2009
- 2009-05-21 GB GB0908769.3A patent/GB2460331B/en active Active
- 2009-05-22 TW TW098117076A patent/TWI452470B/zh active
- 2009-05-25 DE DE102009022550.1A patent/DE102009022550B4/de active Active
- 2009-05-27 JP JP2009127455A patent/JP4668331B2/ja active Active
- 2009-05-31 CN CN200910142602XA patent/CN101620585B/zh active Active
-
2010
- 2010-11-16 US US12/947,307 patent/US8037230B2/en active Active
-
2011
- 2011-01-12 JP JP2011003534A patent/JP5128683B2/ja active Active
- 2011-09-12 US US13/230,130 patent/US8205029B2/en active Active
-
2012
- 2012-02-13 GB GB1202442.8A patent/GB2485701B/en active Active
- 2012-05-30 US US13/483,237 patent/US8433841B2/en active Active
-
2013
- 2013-03-27 US US13/851,337 patent/US8751722B2/en active Active
-
2014
- 2014-04-25 US US14/262,158 patent/US9547618B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6816938B2 (en) * | 2001-03-27 | 2004-11-09 | Synopsys, Inc. | Method and apparatus for providing a modular system on-chip interface |
US20070067549A1 (en) * | 2005-08-29 | 2007-03-22 | Judy Gehman | Method for request transaction ordering in OCP bus to AXI bus bridge design |
US20080043742A1 (en) * | 2006-08-15 | 2008-02-21 | Broadcom Corporation | Transmission using multiple physical interface |
Also Published As
Publication number | Publication date |
---|---|
TWI452470B (zh) | 2014-09-11 |
US8751722B2 (en) | 2014-06-10 |
US20090300245A1 (en) | 2009-12-03 |
US20130297846A1 (en) | 2013-11-07 |
TW201003410A (en) | 2010-01-16 |
GB2485701B (en) | 2012-08-29 |
CN101620585B (zh) | 2013-03-27 |
US20120239839A1 (en) | 2012-09-20 |
US8037230B2 (en) | 2011-10-11 |
US7861027B2 (en) | 2010-12-28 |
JP4668331B2 (ja) | 2011-04-13 |
JP2009289264A (ja) | 2009-12-10 |
US20110078356A1 (en) | 2011-03-31 |
US20140237155A1 (en) | 2014-08-21 |
US20110320673A1 (en) | 2011-12-29 |
US8205029B2 (en) | 2012-06-19 |
JP2011138521A (ja) | 2011-07-14 |
JP5128683B2 (ja) | 2013-01-23 |
US8433841B2 (en) | 2013-04-30 |
US9547618B2 (en) | 2017-01-17 |
GB0908769D0 (en) | 2009-07-01 |
GB2485701A (en) | 2012-05-23 |
GB2460331B (en) | 2012-04-25 |
GB2460331A (en) | 2009-12-02 |
CN101620585A (zh) | 2010-01-06 |
GB201202442D0 (en) | 2012-03-28 |
DE102009022550A1 (de) | 2009-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102009022550B4 (de) | Vorrichtung und System zum Bereitstellen eines PCI (Peripheral Component Interconnect)-kompatiblen Protokolls auf Transaktionsebene für ein Ein-Chip-System (SoC) | |
DE112010001469B4 (de) | Flexible Integration von Endpunktlogik in unterschiedlichen Plattformen | |
DE68913914T2 (de) | Multiprozessorsystem mit Vervielfältigung von globalen Daten. | |
DE102020120102A1 (de) | Globale dauerhafte Speicherleerung | |
DE102018006756A1 (de) | Beschleuniger-Fabric | |
DE69421755T2 (de) | Initialisierung von Mehrfachbus-Netzwerken | |
US8745303B2 (en) | Integrating non-peripheral component interconnect (PCI) resources into a computer system | |
DE102020125353A1 (de) | Transaktionsschichtpaketformat | |
DE112016005910T5 (de) | Architechtur für Software-Definierten Interconnect-Switch | |
DE102018004327A1 (de) | Systeme und Verfahren zum Zugreifen auf Massenspeicher als Arbeitsspeicher | |
DE112017001148T5 (de) | Abflachende portalbrücke . | |
DE102018006797A1 (de) | Kohärente Speichereinrichtungen über PCIe | |
DE69717232T2 (de) | Fehlertolerantes Bussystem | |
DE112013003766T5 (de) | Schnelles Entzerren beim Verlassen eines Niedrigenergie-Teilbreite-Hochgeschwindigkeitsverbindungszustands | |
DE10234992A1 (de) | Retry-Mechanismus für blockierende Schnittstellen | |
DE112014006490T5 (de) | Verfahren, Vorrichtung und System zur Regelung von Leistung ungenutzter Hardware einer Linkschnittstelle | |
DE112008001957T5 (de) | Systeme und Verfahren zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks | |
DE112018001088T5 (de) | Anwendung von framing-regeln für eine hochgeschwindigkeitsdatenverbindung | |
DE112007000688B4 (de) | Fehlerverwaltungstopologien | |
DE112015006516T5 (de) | BUS-Einrichtung-Funktion-Adressraumabbildung | |
DE102020101958A1 (de) | Dynamisches spurzugriffswechseln zwischen pcie-wurzelräumen | |
DE19882975B4 (de) | Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus | |
DE102018213428A1 (de) | Techniken zum Reduzieren von Beschleuniger-Speicherzugriffskosten in Plattformen mit mehreren Speicherkanälen | |
DE102019129618A1 (de) | Befördern früher hinweisinformationen für zustandsänderungen physikalischer verbindungsstrecken | |
DE112021003094T5 (de) | System und verfahren zum planen von gemeinsam nutzbaren pcie-endpunktvorrichtungen |
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 | ||
R081 | Change of applicant/patentee |
Owner name: TAHOE RESEARCH, LTD., IE Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US |
|
R082 | Change of representative |
Representative=s name: DENNEMEYER & ASSOCIATES S.A., DE |