DE102016100584A1 - bus system - Google Patents
bus system Download PDFInfo
- Publication number
- DE102016100584A1 DE102016100584A1 DE102016100584.3A DE102016100584A DE102016100584A1 DE 102016100584 A1 DE102016100584 A1 DE 102016100584A1 DE 102016100584 A DE102016100584 A DE 102016100584A DE 102016100584 A1 DE102016100584 A1 DE 102016100584A1
- Authority
- DE
- Germany
- Prior art keywords
- bus system
- bus
- function block
- subscriber
- pci express
- 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.)
- Pending
Links
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
- 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
Abstract
Die Erfindung betrifft ein Bussystem mit einer Anzahl von Busteilnehmern (5), welche über ein PCI-Express-Protokoll Informationen austauschen, wobei wenigstens ein Busteilnehmer (5) eine Einfachfunktionseinheit (6) bildet. Dieser Busteilnehmer (5) weist einen Einfachfunktionsblock (7) mit einer Logik des PCI-Express-Protokolls auf. Dem Einfachfunktionsblock (7) sind Logikblöcke 12, 13, 14 zugeordnet, mittels derer ohne Änderung des Einfachfunktionsblocks (7) die Einfachfunktionseinheiten (6) zu einem Mehrfachteilnehmer (11) weitergebildet sind.The invention relates to a bus system with a number of bus subscribers (5) which exchange information via a PCI Express protocol, wherein at least one bus subscriber (5) forms a single functional unit (6). This bus subscriber (5) has a single function block (7) with logic of the PCI Express protocol. Logic blocks 12, 13, 14 are assigned to the simple function block (7), by means of which the simple function units (6) are developed further to a multiple participant (11) without changing the single function block (7).
Description
Die Erfindung betrifft ein Bussystem gemäß dem Oberbegriff des Anspruchs 1.The invention relates to a bus system according to the preamble of
Bei einem derartigen Bussystem handelt es sich um ein bidirektionales Hochgeschwindigkeitsbussystem, bei welchem zwischen einer CPU und weiteren Busteilnehmern eine Kommunikation gemäß dem PCI-Express-Protokoll efolgt. Das PCI Express Protokoll selbst wurde von der PCI Special Interest Group (PCISIG), einem US amerikanischem Konsortium, spezifiziert.Such a bus system is a bidirectional high-speed bus system in which a communication according to the PCI Express protocol takes place between a CPU and other bus subscribers. The PCI Express protocol itself was specified by the PCI Special Interest Group (PCISIG), a US American consortium.
Aufgrund der hohen Datenrate von 2.5 GBit pro Sekunde und höher, werden bei diesem Bussystem ausschließlich Punkt-zu-Punkt Verbindungen gebildet. Um mehrere Busteilnehmer über dieses Bussystem zu vernetzen, können sogenannte Switches, das heißt Datenpaketverteiler, vorgesehen sein, an die mehrere Busteilnehmer angeschlossen sind. Über derartige Switches können Datenpakete von der CPU jeweils dem richtigen Busteilnehmer zugeordnet werden. Nach dem Einschalten des Bussystems scannt die CPU über den PCI Express Zugang alle Busteilnehmer des Bussystems ab. Dabei vergibt die CPU während dieser Enumerierungsphase an jeden Busteilnehmer eine eindeutige Identifikations-ID. Nach der Enumerierungsphase ordnet das Betriebssystem der CPU jedem Busteilnehmer einen Software-Treiber zu, um die an den jeweiligen Busteilnehmer angeschlossenen Peripherieeinheit (z.B. serielle Schnittstelle, Ethernet Controller, Grafikkarte, etc) von Seite der Software ansprechen zu können. Anschließend wird die Kommunikation des Bussystems freigegeben, so dass die Busteilnehmer des Bussystems Daten austauschen können.Due to the high data rate of 2.5 GBit per second and higher, only point-to-point connections are made in this bus system. In order to network several bus subscribers via this bus system, so-called switches, that is to say data packet distributors, can be provided, to which several bus subscribers are connected. Using such switches, data packets from the CPU can be assigned to the correct bus subscriber. After switching on the bus system, the CPU scans all bus users of the bus system via the PCI Express access. During this enumeration phase, the CPU assigns each bus user a unique identification ID. After the enumeration phase, the CPU's operating system allocates a software driver to each bus user in order to be able to address the peripheral unit (for example, serial interface, Ethernet controller, graphics card, etc.) connected to the respective bus subscriber from the software side. Subsequently, the communication of the bus system is released, so that the bus users of the bus system can exchange data.
Derartige Bussysteme finden in Rechnersystemen aller Art, insbesondere in Desktop- oder Laptop-PC-Systemen Anwendung.Such bus systems find application in computer systems of all kinds, especially in desktop or laptop PC systems.
Bei dem PCI-Express-Bussystem kann ein Busteilnehmer als reiner Einfachteilnehmer vorgesehen sein, das heißt der Busteilnehmer koppelt eine einzige Peripherieeinheit an das Bussystem an. In diesem Ausprägungsfall des Einfachteilnehmers ist dem Busteilnehmer eine Identifikations-ID und ein Softwaretreiber auf Betriebssystem Seite zugeordnet.In the case of the PCI Express bus system, a bus subscriber can be provided as a simple single subscriber, that is to say the bus subscriber couples a single peripheral unit to the bus system. In this embodiment case of the simple subscriber, the bus subscriber is assigned an identification ID and a software driver on the operating system side.
Um Switches und damit Baukosten einzusparen, erlaubt es die PCI-Express-Spezifikation Busteilnehmer aufzubauen, die aus mehreren Unterteilnehmern bestehen. Jeder Unterteilnehmer des Mehrfachteilnehmers koppelt dabei eine eigene Peripherieeinheit an das PCI-Express Bussystem an. Jedem Unterteilnehmer des Mehrfachteilnehmers ist für den Betrieb im Bussystem eine eigene eindeutige Identifikations-ID und ein separater Software Treiber auf Betriebssystemseite zugeordnet. Diese Ausführungsform des Busteilnehmers wird im Folgenden als Mehrfachteilnehmer bezeichnet. Alle Unterteilnehmer des Mehrfachteilnehmers befinden sich dabei auf dem gleichen integrierten Schaltkreis (IC), der über eine Punkt zu Punkt Verbindung an das PCI Express Bussystem angekoppelt ist.In order to save switches and thus construction costs, the PCI Express specification allows to build bus subscribers, which consist of several subcontractors. Each subparticipant of the multiple subscriber thereby couples a separate peripheral unit to the PCI Express bus system. Each subparticipant of the multiple subscriber is assigned an own unique identification ID and a separate software driver on the operating system side for operation in the bus system. This embodiment of the bus subscriber is referred to below as a multiple subscriber. All sub-participants of the multiple subscriber are on the same integrated circuit (IC), which is coupled via a point-to-point connection to the PCI Express bus system.
Derartige PCI Express Busteilnehmer (Einfachteilnehmer, wie auch Mehrfachteilnehmer) werden sehr häufig mit FPGA(Fieldprogrammable Gate Array)-Bausteinen aufgebaut. Dabei verfügen Einfachteilnehmer über digitale Einfachfunktionseinheiten und Gigabit Transceiver, die als festverdrahtete Hardmacrozellen ausgeführt sind und die vorgefertigte, zertifizierte Einheiten innerhalb der FPGA-Struktur bilden. Such PCI Express bus subscribers (single subscribers, as well as multiple subscribers) are very often constructed with FPGA (field programmable gate array) modules. They have single-function digital units and Gigabit transceivers that are hard-wired hard macro cells that form pre-fabricated, certified units within the FPGA structure.
Nachteilig bei derartigen Hardmacrozellen ist, dass deren Funktion in weiten Teilen vordefiniert ist und nicht mehr nachträglich geändert werden kann. Für eine als Einfachteilnehmer ausgebildete Einfachfunktionseinheit mittels PCI-Express-Hardmacrozelle bedeutet dies, dass deren Begrenzung auf einen Einfachteilnehmer, nicht mehr nachträglich auf einen Mehrfachteilnehmer erweitert werden kann.A disadvantage of such Hardmacrozellen is that their function is predefined in large parts and can not be changed later. For a single-function unit designed as a simple user by means of a PCI-Express hard macro cell, this means that its limitation to a simple subscriber can no longer be subsequently extended to a multiple subscriber.
Prinzipiell wäre es möglich diese Einschränkung mit einem käuflichen sogenannten Soft-IP Core zu umgehen, indem die FPGA-Struktur so konfiguriert wird, dass die limitierende PCI-Express Hardmacrozelle der Einfachfunktionseinheit, nicht verwendet wird und der Mehrfachteilnehmer rein mit der programmierbaren Logik der FPGAs realisiert wird. Dies erfordert jedoch eine sehr hohe Zahl an programmierbaren FPGA Logikressourcen, was zu großen und kostenintensiven FPGA-Baugrößen führt. In principle, it would be possible to circumvent this restriction with a commercially available soft-IP core by configuring the FPGA structure such that the limiting PCI Express hard macro cell of the single-function unit is not used and the multiple subscriber realizes it purely with the programmable logic of the FPGAs becomes. However, this requires a very large number of programmable FPGA logic resources, resulting in large and expensive FPGA sizes.
Der Erfindung liegt die Aufgabe zugrunde mit minimalsten zusätzlichen Logikressourcen, einen reinen PCI Express Einfachteilnehmer auf einen PCI Express Mehrfachteilnehmer der eingangs genannten Art zu erweitern.The invention is based on the object with minimal additional logic resources to extend a pure PCI Express single subscriber to a PCI Express multiple subscriber of the type mentioned.
Zur Lösung dieser Aufgabe sind die Merkmale des Anspruchs 1 vorgesehen. Vorteilhafte Ausführungsformen und zweckmäßige Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen beschrieben. To solve this problem, the features of
Die Erfindung betrifft ein Bussystem mit einer Anzahl von Busteilnehmern, welche über das PCI-Express-Protokoll Informationen austauschen, wobei wenigstens ein Busteilnehmer einen Einzelteilnehmer bildet. Dieser Busteilnehmer weist einen Einfachfunktionsblock mit einer Logik des PCI-Express-Protokolls auf. Dem Einfachfunktionsblock sind neue Logikblöcke zugeordnet, mittels derer ohne Änderung des Einfachfunktionsblocks der Einzelteilnehmer zu einem Mehrfachteilnehmer weitergebildet wird. The invention relates to a bus system with a number of bus subscribers, which exchange information via the PCI Express protocol, wherein at least one bus subscriber forms an individual subscriber. This bus user has a single function block with logic of the PCI Express protocol. The simple function block is associated with new logic blocks, by means of which, without changing the simple function block, the individual subscriber is trained to form a multiple subscriber.
Der Grundgedanke der Erfindung besteht somit darin, eine Erweiterung eines Einzelteilnehmers zu einem Mehrfachteilnehmer nicht durch Ausschluss des Einfachfunktionsblocks und kompletter Neuprogrammierung der FPGA-Struktur zur Bereitstellung der Mehrfachteilnehmerfunktionalität herbeizuführen. Vielmehr wird erfindungsgemäß der Einfachfunktionsblock in seiner Struktur völlig unverändert zur Erzielung der Mehrfachteilnehmerfunktionalität mit einbezogen. Die Mehrfachteilnehmerfunktionalität wird durch eine spezifische Ansteuerung der Einfachfunktionseinheit durch zusätzliche Logikblöcke erreicht, die mit sehr wenig digitaler Logik realisiert werden. Insbesondere müssen zur Realisierung des Mehrfachteilnehmers dadurch keine größeren Baugrößen der FPGA-Struktur in Kauf genommen werden. Thus, the basic idea of the invention is not to extend an individual subscriber to a multiple subscriber by excluding the simple function block and completely reprogramming the FPGA structure to provide the multiple subscriber functionality. Rather, according to the invention, the single-function block is included in its structure completely unchanged in order to achieve the multiple subscriber functionality. The multiple subscriber functionality is achieved by specific control of the single functional unit through additional logic blocks that are implemented with very little digital logic. In particular, no larger sizes of the FPGA structure have to be accepted in order to realize the multiple subscriber.
Besonders vorteilhaft besteht der Einfachfunktionsblock aus einer fest verdrahteten PCI-Express Hardmacrozelle.Particularly advantageous is the simple function block of a hard-wired PCI-Express Hardmacrozelle.
Dabei ist die den Einfachfunktionsblock bildende Hardmacrozelle Bestandteil eines FPGA-Bausteins. The hard macrocell forming the single function block is part of an FPGA module.
In diesem Fall sind die Logikblöcke Bestandteil der rekonfigurierbaren Logik des FPGA-Bausteins.In this case, the logic blocks are part of the reconfigurable logic of the FPGA device.
Die Realisierung der vorgenannten Einheiten in FPGA-Strukturen ist keineswegs zwingend. Vielmehr können diese Einheiten auch in ASIC-Strukturen realisiert sein.The realization of the aforementioned units in FPGA structures is by no means mandatory. Rather, these units can also be realized in ASIC structures.
Ein wesentliches Element der Erfindung besteht darin, dass mittels zusätzlicher Logikblöcke – unter Nutzung der im Einfachfunktionsblock vorhandenen PCI Express Hardmacrozelle – eine konfigurierbare Anzahl von Unterteilnehmern generiert wird und dadurch ein Mehrfachteilnehmer entsteht.An essential element of the invention is that by means of additional logic blocks - using the present in the simple function block PCI Express Hardmacrozelle - a configurable number of sub-participants is generated, thereby creating a multiple participant.
Dabei wird mittels der zusätzlichen Logikblöcke – in bestimmten Grenzen frei wählbar – eine Anzahl von Adressbereichen des Einfachfunktionsblocks bestimmten Unterteilnehmern zugewiesen. In this case, by means of the additional logic blocks-within certain limits freely selectable-a number of address areas of the single-function block are assigned to certain sub-users.
Die im Einfachfunktionsblock vorhandenen Elemente, insbesondere Adressbereiche, werden durch die zusätzlichen Logikblöcke auf mehrere Unterteilnehmer verteilt, so dass allein durch die umprogrammierte Nutzung der Elemente des Einfachfunktionsblocks durch die Logikblöcke ein Mehrfachteilnehmer entsteht. Ein wesentlicher Aspekt der Logikblöcke im Sinne der Erfindung ist es insbesondere, dass diese Schreib- oder Leseanfragen auf den Konfigurationsbereich verändern können und damit auf vorgegebene Unterteilnehmer umleiten können. Dies ist möglich, da in einer eingehenden Schreib- bzw Leseanfrage die Ziel Identifikations ID und damit die Unterteilnehmernummer enthalten ist und durch die Logikblöcke verändert werden kann.The elements present in the simple function block, in particular address areas, are distributed by the additional logic blocks to a plurality of subunits, so that a multiple subscriber is created solely by the reprogrammed use of the elements of the simple function block by the logic blocks. An essential aspect of the logic blocks within the meaning of the invention is, in particular, that these write or read requests can change to the configuration area and thus can redirect to predefined sub-participants. This is possible because in an incoming write or read request, the destination identification ID and thus the sub-subscriber number is included and can be changed by the logic blocks.
Ein weiterer wesentlicher Aspekt der Erfindung besteht darin, dass Antwortpakete auf Schreib- oder Leseanfragen nur im Einfachfunktionsblock generiert werden, um den Platzbedarf der Logikblöcke so klein wie möglich zu halten.Another essential aspect of the invention is that response packets to write or read requests are only generated in the simple function block in order to minimize the space requirements of the logic blocks.
Ein weiterer Vorteil besteht darin, dass der Umleitungsmechanismus durch die Einbringung von zusätzlichen Informationen in die einlaufenden Datenpakete ohne aufwändige zusätzliche Speichertabellen bewerkstelligt werden kann, was wiederum zu einer deutlichen Einsparung an Fläche und damit zu einer sehr kleinen Lösung führt.Another advantage is that the redirection mechanism can be accomplished by the introduction of additional information in the incoming data packets without complex additional memory tables, which in turn leads to a significant saving in area and thus to a very small solution.
Die Funktionalität des von einem Einzelteilnehmer auf einen Mehrfachteilnehmer erweiterten Busteilnehmers kann weiter dadurch erhöht werden, dass mittels der Logikblöcke CRC-Fehler in der Datenübertragung erkannt werden und daraus quantitative und qualitative Güteaussagen zur Stabilität der PCI Express Busanbindung gemacht werden können.The functionality of the extended by a single subscriber to a multiple subscriber bus subscriber can be further increased by the fact that CRC errors in the data transmission are detected by the logic blocks and can be made of quantitative and qualitative statements on the stability of the PCI Express bus connection.
Gemäß einer vorteilhaften Ausgestaltung der Erfindung ist die Belegung des im Konfigurationsbereich befindlichen Revision-ID Registers, der neu hinzukonfigurierten Einfachteilnehmer, das zur Zuordnung des Software Treibers dient, auf zweierlei Weise möglich.According to an advantageous embodiment of the invention, the assignment of located in the configuration area revision ID register, the newly added simple subscriber, which serves to associate the software driver, in two ways possible.
Prinzipiell kann das Revision-ID-Register für die einzelnen Unterteilnehmern identische Werte aufweisen, so dass den einzelnen Unterteilnehmern jeweils derselbe Software-Treiber zugeordnet ist. In principle, the revision ID register can have identical values for the individual sub-users, so that the individual software sub-users are each assigned the same software driver.
Das Revision-ID Register kann aber auch für jeden einzelnen Unterteilnehmer des Mehrfachteilnehmers unterschiedliche Werte aufweisen. Damit wird als wesentlicher Vorteil der Erfindung erreicht, dass jedem Unterteilnehmer ein eigener Software-Treiber zugeordnet werden kann. Diese Software-Treiber weisen im Vergleich zu einem Software-Treiber, der mehreren Busteilnehmern zugeordnet ist, einen erheblich einfacheren Aufbau auf. Dies führt zu erheblich kürzeren Entwicklungszeiten bei der Erstellung von Software-Treibern. Zudem wird eine verbesserte und vereinfachte Wartung der Software-Treiber erzielt. However, the revision ID register can also have different values for each individual subunit user of the multiple subscriber. This is achieved as a significant advantage of the invention that each subcontractor own software driver can be assigned. These software drivers have a much simpler design compared to a software driver associated with multiple bus users. This leads to significantly shorter development times when creating software drivers. In addition, improved and simplified maintenance of the software drivers is achieved.
Gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung ist ein Logikblock vorgesehen, mittels dessen Interrupts von jedem Unterteilnehmern innerhalb des Mehrfachteilnehmers an die CPU abgesetzt werden können.According to a further advantageous embodiment of the invention, a logic block is provided, by means of which interrupts from each subunits within the multiple subscriber can be sent to the CPU.
Dies führt zu einer verbesserten Betriebssicherheit des Bussystems, da mit dem Logikblock Interrupts vorab den richtigen Unterteilnehmern zugeordnet werden, wodurch Fehlsteuerungen durch die Interrupts vermieden werden. This leads to an improved reliability of the bus system, since the logic block interrupts are assigned in advance to the correct sub-users, whereby incorrect control by the interrupts are avoided.
Die Erfindung wird im Folgenden anhand der Zeichnungen erläutert. The invention will be explained below with reference to the drawings.
An die CPU
Nach dem Einschalten des PCI-Express-Bussystems scannt die CPU
Weiterhin ist für eine Seriell-/ Parallelwandlung von über einer PCI-Express-Schnittstelle
Zwei der Logikblöcke bilden Umleitungsblöcke, nämlich eine RX-Umleitung
Mit den Logikblöcken wird die Funktion des Einfachfunktionsblocks
Über eine Managementschnittstelle
Der Einfachfunktionsblock
Zur Erweiterung einer Einfachfunktionseinheit
Dies ist in
Für die Bildung der drei Unterteilnehmer des Mehrfachteilnehmers wird der Adressbereich der Basisadressregister BAR0 bis BAR5 auf die drei Unterteilnehmer aufgeteilt. Wie aus
Da der Configuration-Space-Header insgesamt sechs Basisadressregister BAR0 bis BAR5 aufweist, können maximal sechs Unterteilnehmer innerhalb eines Mehrfachteilnehmers generiert werden. Da im vorliegenden Fall nur drei Unterteilnehmer generiert werden, kann die Anzahl und Zuordnung der Basisadressregister BAR0 bis BAR5 des Configuration-Space-Header zu den Unterteilnehmern frei gewählt werden. Since the Configuration Space header has a total of six base address registers BAR0 to BAR5, a maximum of six subcontractors can be generated within a multiple subscriber. Since only three subcontractors are generated in the present case, the number and assignment of the base address registers BAR0 to BAR5 of the Configuration Space header to the subcontractors can be freely selected.
Wie aus
Bei dem Diagramm gemäß
Die weiteren Unterteilnehmer 1 und 2 entsprechen zusätzlich generierten Busteilnehmern
Für die Konfigurationsschreib- und -leseanfragen, die per PCI-Express-Protokoll über das Bussystem eingehen, wird nur der eine physikalische vorhandene Configuration-Space-Header für alle Einfachteilnehmer innerhalb des Mehrfachteilnehmers verwendet. Trotzdem kann mit Konfigurationsschreib- und -leseanfragen gezielt auf einzelne Unterteilnehmer innerhalb des Mehrfachteilnehmers zugegriffen werden, wie die folgenden
Für eine Kommunikation mit dem ersten Busteilnehmer
Wird jedoch bei einer Anfrage, beispielsweise während der Enumerierungsphase, auf ein Basisadressregister BAR2 bis BAR5 des Configuration-Space-Header zugegriffen, wird diese Anfrage auf ein deaktiviertes Register umgeleitet, im vorliegenden Fall auf das Register R8, das den Adressbereich eines optionalen Expansion-ROM definiert, welches in den meisten Fällen deaktiviert ist und dasselbe Verhalten wie ein deaktiviertes Basisadressregister zeigt. Diese Umleitung ist in
Der Aufbau der Completer-ID ist in
Für den Configuration-Request wird überprüft, auf welchen Unterteilnehmer zugegriffen wird, indem die Bits 2:0 der Unterteilnehmernummer aus der Completer-ID eines einlaufenden Requests ausgewertet werden. Zeigen diese 3 Bits einen Wert ungleich 0 und signalisieren damit einen Zugriff auf einen der zusätzlich hinzukonfigurierten Unterteilnehmer, werden diese 3 Bits an die Position 7:5 der Busnummer des Requester-ID kopiert und die 3-Bit Unterteilnummer der Completer-ID gelöscht.The configuration request checks which sub-subscriber is accessed by evaluating bits 2: 0 of the sub-station number from the completer ID of an incoming request. If these 3 bits show a value other than 0 and thus signal access to one of the additionally configured subunits, these 3 bits are copied to position 7: 5 of the bus number of the requestor ID and the 3-bit subpart number of the Completer ID is deleted.
Dadurch werden alle Zugriffe auf den Unterteilnehmer 0 umgeleitet, damit der Einfachfunktionsblock
Da die Requester-ID mit der Information der ursprünglichen Unterteilnehmernummer (eingefügt durch den RX-Umleitungsblock) in der Antwort des Einfachfunktionsblocks
Durch Nutzung der Bits 7:5 in der Requester-ID ergibt sich die Einschränkung, dass kein anfordernder Busteilnehmer diese Bits benutzen darf, das heißt diese immer auf 0 stehen. Um diese Einschränkung so klein wie möglich zu machen, werden entsprechend der verwendeten Unterteilnehmeranzahl nur so viele Bits benutzt wie notwendig. Die nachfolgende Tabelle zeigt, wie viele Bits bei welcher Konfiguration tatsächlich verwendet werden:
Um die aktivierten und de-aktivierten Basisadressregister (BAR1 bis BAR5) aller Unterteilnehmer an den jeweilig richtigen Positionen in dem Configuration-Space-Header aller Unterteilnehmer erscheinen zu lassen, werden vom RX-Umleitungsblock
To make the activated and de-activated base address registers (BAR1 to BAR5) of all subscribers appear at the respective correct positions in the configuration space header of all subscribers, the RX redirection block is used
Die folgende Tabelle zeigt, welche Bedeutung der in diesen Bits enthaltene Code hat.
Durch Einbringen dieser zusätzlichen Informationen wird es nun möglich, eine einlaufende Konfigurationsanfrage, durch Änderungen der Adresse umzuleiten, und die Antwort aus dem Einfachfunktionsblock
Da die Bits der Device-Nummer innerhalb der Requester-ID anderweitig verwendet werden, ist es zwingende Voraussetzung, dass kein Busteilnehmer
Durch diesen Umleitungsansatz ist es nicht notwendig eine Liste an einlaufenden Anfragen zu führen und mit den später generierten Antworten des Einfachfunktionsblocks
Das PCl-Express-Bussystem unterscheidet zwei unterschiedliche Mechanismen der Interrupt Auslösung, den Legacy-Interrupt und den MSI Interrupt. The PCl-Express bus system distinguishes between two different mechanisms for interrupt triggering, the legacy interrupt and the MSI interrupt.
Im sogenannten Legacy-Interrupt Modus setzt jeder Unterteilnehmer den gleichen Interrupt ab, der vom Betriebssystem in Verbindung mit dem zugeordneten Software Treiber auf dem CPU-System als sogenannter "shared Interrupt" behandelt werden muss. In so-called legacy interrupt mode, each subcontractor issues the same interrupt, which must be treated by the operating system in conjunction with the associated software driver on the CPU system as a so-called "shared interrupt".
MSI-Interrupts bedürfen einer Spezialbehandlung. Da MSI-Interrupts durch Schreiben eines bestimmten Datenwortes ("Message-Dataregister") auf die zugewiesene Adresse des Interruptcontrollers ausgelöst werden, muss das sogenannte Message-Dataregister für jeden Unterteilnehmer gespeichert sein. Dies leistet die RX-Umleitung
Wird nun über das Benutzerinterface ein MSI-Interrupt ausgelöst, wird dieser zunächst vom MIF-Remap
BezugszeichenlisteLIST OF REFERENCE NUMBERS
- 11
- PCI Express Buszugang PCI Express bus access
- 22
- Speichereinheit storage unit
- 33
- CPU CPU
- 44
- Switch Switch
- 55
- Busteilnehmer bus users
- 66
- Einfachteilnehmer simply participants
- 77
- Einfachfunktionsblock Simple function block
- 88th
- PCI-Express-Schnittstelle PCI Express interface
- 99
- Gigabit-Transceiver Gigabit transceivers
- 1010
- Benutzerschnittstelle User interface
- 1111
- Mehrfachteilnehmer Multiple participants
- 1212
- RX-Umleitung RX redirection
- 1313
- TX-Umleitung TX redirection
- 1414
- MIF-Umleitung MIF redirection
- 1515
- Managementschnittstelle Management interface
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016100584.3A DE102016100584A1 (en) | 2016-01-14 | 2016-01-14 | bus system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016100584.3A DE102016100584A1 (en) | 2016-01-14 | 2016-01-14 | bus system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016100584A1 true DE102016100584A1 (en) | 2017-07-20 |
Family
ID=59255940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016100584.3A Pending DE102016100584A1 (en) | 2016-01-14 | 2016-01-14 | bus system |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102016100584A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7289125B2 (en) * | 2004-02-27 | 2007-10-30 | Nvidia Corporation | Graphics device clustering with PCI-express |
US20090276551A1 (en) * | 2008-05-05 | 2009-11-05 | International Business Machines Corporation | Native and Non-Native I/O Virtualization in a Single Adapter |
US8645594B2 (en) * | 2012-06-29 | 2014-02-04 | Intel Corporation | Driver-assisted base address register mapping |
-
2016
- 2016-01-14 DE DE102016100584.3A patent/DE102016100584A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7289125B2 (en) * | 2004-02-27 | 2007-10-30 | Nvidia Corporation | Graphics device clustering with PCI-express |
US20090276551A1 (en) * | 2008-05-05 | 2009-11-05 | International Business Machines Corporation | Native and Non-Native I/O Virtualization in a Single Adapter |
US8645594B2 (en) * | 2012-06-29 | 2014-02-04 | Intel Corporation | Driver-assisted base address register mapping |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60212626T2 (en) | FINAL NODE DISTRIBUTION BY LOCAL IDENTIFIERS | |
EP0951682B1 (en) | IO-AND MEMORY BUS SYSTEM FOR DFPs AND UNITS WITH TWO-OR MULTI- DIMENSIONALLY PROGRAMMABLE CELL STRUCTURES | |
DE102013208213B4 (en) | System for reducing hash collisions | |
EP1787204B1 (en) | Message administrator and method for controlling access to data of the message memory of a communications component | |
DE69736872T2 (en) | Data processing system | |
DE60027748T2 (en) | BUSARCHITECTURE AND DISTRIBUTED BUSARBITRATION PROCESS FOR A COMMUNICATION PROCESSOR | |
DE102004033445A1 (en) | Integrated circuit device has interface to convert advanced microcontroller bus architecture format into interface format e.g. static RAM format compatible to access resources of slave chip by master chip, according to request | |
DE102005048581B4 (en) | Subscriber interface between a FlexRay communication module and a FlexRay subscriber and method for transmitting messages via such an interface | |
DE102008055892A1 (en) | Storing sections of a data transfer descriptor in a cached and uncached address space | |
DE112011101039B4 (en) | Implement an improved connection bandwidth in a headless link chip | |
DE112013003733T5 (en) | Adaptive packet redirection to achieve reasonable, cost-effective, and / or energy-efficient network service quality on chip devices | |
WO2007039634A2 (en) | User interface which is between a microcontroller and a flexray-communication component, flexray-user and method for transmitting messages via said type of interface | |
DE19882975B4 (en) | Access a message exchange unit from a secondary bus | |
DE2645341C2 (en) | ||
EP0062141B1 (en) | Circuit arrangement for entering control commands into a microcomputer system | |
WO2006015908A1 (en) | Method for storing messages in a message memory and corresponding message memory | |
WO2002071248A2 (en) | Methods and devices for treating and/or processing data | |
DE60305560T2 (en) | Embedded system for overload control of broadcast traffic in a communication network | |
DE102006025133A1 (en) | Storage and storage communication system | |
DE602004008712T2 (en) | A memory bandwidth control device | |
DE102021108294A1 (en) | SYSTEM AND METHOD FOR SCALABLE HARDWARE COHERENT STORAGE NODES | |
EP1774434B1 (en) | Architecture of a network processor | |
DE102016100584A1 (en) | bus system | |
EP0141332A2 (en) | Arrangement with a plurality of buses for the connection of processors and memories in a multiprocessor system | |
DE3247083A1 (en) | MULTI-PROCESSOR SYSTEM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication |