-
HINTERGRUND
-
Gebiet der Erfindung
-
Das Gebiet der Erfindung ist die Datenverarbeitung oder insbesondere Verfahren, Vorrichtungen und Produkte zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (lowest point of coherency, LPC) mithilfe eines Dienstschichtadapters.
-
Beschreibung des Standes der Technik
-
Die Entwicklung des EDVAC-Computersystems von 1948 wird oft als der Beginn des Computerzeitalters bezeichnet. Seit dieser Zeit haben sich Computersysteme zu äußerst komplizierten Einheiten entwickelt. Die heutigen Computer sind den ersten Systemen wie beispielsweise dem EDVAC deutlich überlegen. Computersysteme enthalten üblicherweise eine Kombination aus Hardware- und Software-Komponenten, Anwendungsprogrammen, Betriebssystemen, Prozessoren, Bussen, Speichern, Eingabe/Ausgabe-Einheiten usw. Da Fortschritte in der Halbleiterverarbeitung und bei der Computerarchitektur die Leistungsfähigkeit des Computers immer weiter steigern, ist eine für höhere Ansprüche ausgelegte Computer-Software entstanden, die die höhere Leistungsfähigkeit der Hardware vorteilhaft nutzt, sodass es heute Computersysteme gibt, die weitaus leistungsstärker sind als noch vor ein paar Jahren.
-
KURZDARSTELLUNG
-
In dieser Beschreibung werden Verfahren, Systeme und Vorrichtungen zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters offenbart. Ein Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters, wobei der Adapter mit einem Prozessor und einem Beschleuniger in einem Host-Datenverarbeitungssystem verbunden ist, wobei der Prozessor so konfiguriert ist, dass er eine symmetrische Mehrfachverarbeitung durchführt, beinhaltet: Empfangen einer Speicherzugriffsanweisung vom Beschleuniger durch den Adapter; Abrufen einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter; Festlegen mithilfe von Basisadressregistern, dass die reale Adresse den LPC-Speicher als Zieladresse hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten in dem Host-Datenverarbeitungssystem übertragen; und Senden der Speicherzugriffsanweisung und der realen Adresse an eine Mediensteuereinheit für den LPC-Speicher durch den Adapter, wobei die Mediensteuereinheit für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter verknüpft ist.
-
Die vorstehenden und anderen Aufgaben, Merkmale und Vorteile der Erfindung gehen aus den folgenden ausführlichen Beschreibungen von beispielhaften Ausführungsformen der Erfindung hervor, die in den beigefügten Zeichnungen veranschaulicht sind, in denen gleiche Bezugszahlen im Allgemeinen gleiche Teile von beispielhaften Ausführungsformen der Erfindung darstellen.
-
Figurenliste
-
Im Folgenden werden Ausführungsformen der vorliegenden Erfindung lediglich als Beispiel mit Bezug auf die beigefügten Zeichnungen beschrieben, in denen:
- 1 ein Blockschaltbild eines beispielhaften Systems darstellt, das so konfiguriert ist, dass es gemäß Ausführungsformen der vorliegenden Erfindung einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters verwaltet.
- 2 ein Blockschaltbild zum Verwalten eines LPC-Speichers mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
- 3 einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten eines LPC-Speichers mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
- 4 einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten eines LPC-Speichers mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
- 5 einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten eines LPC-Speichers mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
- 6 einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten eines LPC-Speichers mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Beispielhafte Verfahren, Vorrichtungen und Produkte zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters werden gemäß der vorliegenden Erfindung mit Bezug auf die beigefügten Zeichnungen beschrieben, wobei mit 1 begonnen wird. 1 stellt ein Blockschaltbild einer automatisierten Datenverarbeitungsmaschine dar, die ein beispielhaftes System (152) aufweist, das so konfiguriert ist, dass es gemäß Ausführungsformen der vorliegenden Erfindung einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters verwaltet. Das Datenverarbeitungssystem (152) von 1 enthält mindestens einen Computerprozessor (156) oder „CPU“ sowie einen Direktzugriffsspeicher (168) („RAM“), der über einen Hochgeschwindigkeits-Speicherbus (166) und einen Busadapter (158) mit dem Prozessor (156) und anderen Komponenten des Datenverarbeitungssystems (152) verbunden ist.
-
Ein Betriebssystem (154) ist im RAM (168) gespeichert. Zu für Computer geeigneten Betriebssystemen, die so konfiguriert sind, dass sie gemäß Ausführungsformen der vorliegenden Erfindung einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters verwalten, gehören UNIX™, Linux™, Microsoft XP™, AIX™, iOS™ von IBM sowie sonstige Betriebssysteme, die Fachleuten geläufig sind. Das Betriebssystem (154) im Beispiel von 1 befindet sich laut Darstellung im RAM (168), viele Komponenten dieser Software werden jedoch üblicherweise auch in einem nichtflüchtigen Speicher wie beispielsweise auf einem Plattenlaufwerk (170) gespeichert.
-
Das Datenverarbeitungssystem (152) von 1 enthält einen Plattenlaufwerkadapter (172), der über den Erweiterungsbus (160) und den Busadapter (158) mit dem Prozessor (156) und anderen Komponenten des Datenverarbeitungssystems (152) verbunden ist. Der Plattenlaufwerkadapter (172) verbindet den nichtflüchtigen Datenspeicher in Form des Plattenlaufwerks (170) mit dem Datenverarbeitungssystem (152). Zu für Computer geeigneten Plattenlaufwerkadaptern, die so konfiguriert sind, dass sie gemäß Ausführungsformen der vorliegenden Erfindung einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters verwalten, gehören Integrated-Drive-Electronics(„IDE“)-Adapter, Small-Computer-System-Interface(„SCSI“)-Adapter sowie sonstige Plattenlaufwerkadapter, die Fachleuten geläufig sind. Nichtflüchtige Computerspeicher können auch als optisches Plattenlaufwerk, elektronisch löschbarer programmierbarer Nur-Lese-Speicher (sogenannter „EEPROM“- oder „Flash“-Speicher), RAM-Laufwerke usw. umgesetzt werden, die Fachleuten geläufig sind.
-
Das beispielhafte Datenverarbeitungssystem (152) von 1 enthält einen oder mehrere Eingabe-/Ausgabe(„E/A“)-Adapter (178). E/A-Adapter implementieren benutzerorientierte Eingaben/Ausgaben beispielsweise durch Software-Treiber und Computer-Hardware, um die Ausgabe auf Anzeigeeinheiten wie Computer-Anzeigebildschirmen sowie Benutzereingaben von Benutzereingabeeinheiten (181) wie Tastaturen und Mäusen zu steuern. Das beispielhafte Datenverarbeitungssystem (152) von 1 enthält einen Videoadapter (209), der ein Beispiel für einen E/A-Adapter darstellt, der speziell für die grafische Ausgabe auf einer Anzeigeeinheit (180) wie einem Anzeigebildschirm oder Computermonitor entwickelt wurde. Der Videoadapter (209) ist über einen Hochgeschwindigkeits-Videobus (164), Busadapter (158) und den Front-Side-Bus (162), bei dem es sich ebenfalls um einen Hochgeschwindigkeitsbus handelt, mit dem Prozessor (156) verbunden.
-
Das beispielhafte Datenverarbeitungssystem (152) von 1 enthält einen Datenübertragungsadapter (167) zum Austauschen von Daten mit anderen Computern (182) und zum Austauschen von Daten mit einem Datenübertragungsnetzwerk. Solche Datenübertragungen können seriell über RS-232-Verbindungen, über externe Busse wie zum Beispiel einen Universal Serial Bus („USB“), über Datenübertragungsnetzwerke wie zum Beispiel IP-Datenübertragungsnetzwerke und auf andere Weise durchgeführt werden, die Fachleuten geläufig sind. Datenübertragungsadapter implementieren die Hardware-Ebene von Datenübertragungen, über die ein Computer entweder direkt oder über ein Datenübertragungsnetzwerk Datenübertragungen an einen anderen Computer sendet. Zu Beispielen für in Computern geeigneten Datenübertragungsadaptern, die so konfiguriert sind, dass sie gemäß Ausführungsformen der vorliegenden Erfindung einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters steuern, gehören Modems für drahtgebundene Datenfernübertragungen, Ethernet-Adapter (IEEE 802.3) für drahtgebundene Datenübertragungen und 802.11-Adapter für drahtlose Datenübertragungen.
-
Das beispielhafte Datenverarbeitungssystem (152) von 1 enthält einen Datenübertragungsbus (190), der den Prozessor und den RAM (168) (über den Busadapter (158)) mit dem Dienstschichtadapter (192) und der Beschleunigerfunktionseinheit (194) verbindet.
-
2 stellt ein beispielhaftes Blockschaltbild eines Systems dar, das so konfiguriert ist, dass es einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters verwaltet. 2 enthält die Beschleunigerfunktionseinheit (194), den Speicher (216), eine Mediensteuereinheit (214), den Dienstschichtadapter (192), einen Datenübertragungsbus (190) und einen Prozessor (156). Der Dienstschichtadapter (192) enthält eine Übersetzungsdienstschicht (202), eine Kohärenzdienstschicht (204), eine Speicherschicht (206) und einen Verbindungsarbiter (210). Die Speicherschicht (206) enthält eine XTAG-Tabelle (208) und ein Basisadressregister (212).
-
Bei der Beschleunigerfunktionseinheit (BFE) (194) handelt es sich um einen Beschleuniger, der so konfiguriert ist, dass er die Funktionalität des Datenverarbeitungssystems erweitert. Die BFE (194) kann eine austauschbare Komponente des Datenverarbeitungssystems sein, die installiert wurde, um eine bestimmte Aufgabe oder Gruppe von Aufgaben durchzuführen. Zu Beispielen einer BFE (194) gehören zum Beispiel Netzwerkschnittstellenkarten, Grafikbeschleunigerkarten und Speicheradapterkarten.
-
Der Datenübertragungsbus (190) ist ein Medium, über das Daten zwischen den Hardware-Komponenten im Datenverarbeitungssystem weitergeleitet werden. Der Datenübertragungsbus (190) kann eine Bussteuereinheit enthalten, die auf dem Datenübertragungsbus (190) übermittelte Daten verwaltet. Zu beispielhaften Datenübertragungsbussen (190) gehören Peripheral-Component-Interconnect-Express(PCIe)-Busse.
-
Die BFE (194) kann so konfiguriert sein, dass sie auf Kohärenz beruhende Operationen und Speicherzugriffsanweisungen über den Datenübertragungsbus an andere Hardware-Elemente im Datenverarbeitungssystem sendet. Der Prozessor (156) kann einen kohärenten Beschleunigerprozessor-Proxy enthalten, der der BFE (194) den Zugriff auf den kohärenten symmetrischen Mehrfachverarbeitungsbus im Prozessor (156) bereitstellt. Bei dem Proxy kann es sich um eine kohärente Beschleuniger-Proxy-Schnittstelle handeln, die es der BFE (194) ermöglicht, an symmetrischen Mehrfachverarbeitungs-Kohärenzprotokollen teilzuhaben.
-
Der Dienstschichtadapter (192) passt die Datenübertragungen zwischen der BFE (194) und der kohärenten Beschleuniger-Proxy-Schnittstelle an. Die Datenübertragung zwischen dem Dienstschichtadapter (192) und dem Proxy ist in Paketen im Datenübertragungsbus zum Prozessor verkapselt. Der Dienstschichtadapter (192) kann auf einem externen Chip wie einer vor Ort programmierbaren Gatteranordnung oder einer anwendungsspezifischen integrierten Schaltung implementiert werden.
-
Der Dienstschichtadapter (192) kann so konfiguriert werden, dass er auf Kohärenz beruhende Operationen verarbeitet, die von der BFE (194) initiiert werden. Der Dienstschichtadapter (192) enthält eine Übersetzungsdienstschicht (202), eine Kohärenzdienstschicht (204) und eine Speicherschicht (206). Die Übersetzungsdienstschicht (202) kann Elemente und Logik zum Abrufen eines Kontextes für eine Operation und zum Übersetzen von effektiven Adressen in reale Adressen mithilfe einer Übersetzung von effektiven in reale Adressen (effective-to-real-address translation, ERAT) enthalten. Bei der effektiven Adresse handelt es sich um eine Adresse, die von Elementen und Prozessen im Datenverarbeitungssystem verwendet wird, um auf Speicherorte zu verweisen. Die effektive Adresse muss jedoch in eine reale Adresse übersetzt werden, um auf die angeforderten Daten zugreifen zu können. Effektive Adresse können als virtuelle Adressen bezeichnet werden, und reale Adressen als physische Adressen. Die Übersetzungsdienstschicht (202) kann auch einen Kontextzwischenspeicher enthalten, um Kontexte zu speichern, auf die häufig zugegriffen wird, sowie einen ERAT-Zwischenspeicher, um Übersetzungen in reale Adressen zu speichern, auf die häufig zugegriffen wird.
-
Die Kohärenzdienstschicht (204) kann Elemente und Logik enthalten, um auf Kohärenz beruhende Operationen durchzuführen. Die Kohärenzdienstschicht (204) empfängt (über eine Kohärenzschnittstelle) auf Kontext beruhende Datenübertragungen von der BFE (194) und tauscht mit den anderen Schichten im Dienstschichtadapter (192) Daten aus, um die Operationen zu verarbeiten. Die Kohärenzdienstschicht (204) kann auch einen Datenzwischenspeicher enthalten, um Daten zu speichern, auf die auf Kohärenz beruhende Operationen häufig zugreifen. Die Kohärenzdienstschicht (204) verarbeitet auch andere Aufgaben im Zusammenhang mit dem Aufrechterhalten der Datenkohärenz zwischen der BFE (194) und anderen Speicherorten im Datenverarbeitungssystem.
-
Der Dienstschichtadapter (192) stellt ferner einer Mediensteuereinheit (214) und einem Speicher (216) eine Speicherschnittstelle über eine Speicherschicht (206) bereit. Die Dienstschicht (206) stellt den Zugriff auf den Speicher (216) und die Mediensteuereinheit (214) bereit und verwaltet den Zugriff auf den Speicher (216) als Speicher mit niedrigstem Kohärenzpunkt (LPC). Das Verwalten des Speichers (216) als LPC-Speicher kann beinhalten, dass speicherverwaltungsähnliche Dienste für den Speicher bereitgestellt werden, so beispielsweise Überwachen, um die Kohärenz des Speichers (216) aufrechtzuerhalten, und Übertragen von Speicherzugriffsanforderungen zwischen dem LPC-Speicher (216) und Speichern an anderer Stelle im System.
-
Die Speicherschicht (206) kann der BFE (194) Zugriff auf den Speicher (216) bereitstellen. Das Zugreifen auf den Speicher (216), der mit dem Dienstschichtadapter (192) verknüpft ist, kann eine niedrigere Latenz aufweisen als das Zugreifen auf einen Speicher an anderer Stelle im System. Der Speicher (216) kann des Weiteren ganz oder teilweise anderen Elementen im System zugewiesen werden, die mehr Speicher benötigen oder davon profitieren. Der Prozessor (156) kann zum Beispiel für Aktivitäten verwendet werden, die viel Speicher benötigen. Der Speicher kann über die Speicherschnittstelle im Dienstschichtadapter (192) zu geringen Kosten oder als Teil eines Upgrades des Systems bereitgestellt werden.
-
Der Speicher (216) kann ferner zwischen der BFE (194) und anderen Elementen im System wie dem Prozessor (158) aufgeteilt werden. Dadurch erhält die BFE (194) einen Zugriff mit niedriger Latenz auf den Speicher, während die Speicherreserven des Prozessors (158) oder anderer Elemente verbessert werden, die zusätzlichen Speicher benötigen. Bei dem Speicher kann es sich um einen flüchtigen Speicher handeln, der sich vom RAM und anderen Speichern unterscheidet, die vom Prozessor und der Speicherverwaltungseinheit verwaltet werden.
-
Die Speicherschicht (206) enthält auch ein Basisadressregister (212). Das Basisadressregister (212) stellt eine Basisadresse bereit, anhand der eine Speicherabbildung beginnt. Das Basisadressregister (212) kann Speicheradressen in Speicherzugriffsanweisungen funktional an verschiedene Speicherorte im System übertragen, darunter an den Speicher (216), den Speicher im Prozessor (156) und Speicher, die mit anderen Dienstspeicheradaptern im Host-System verbunden sind.
-
Die Speicherschicht (206) tauscht über eine Speicherschnittstelle Daten mit einer Mediensteuereinheit (214) aus. Bei der Mediensteuereinheit (214) handelt es sich um eine Einheit, die so konfiguriert ist, dass sie die Datenübertragung zwischen der Speicherschicht (206) des Dienstschichtadapters (192) und dem Speicher (216) erleichtert. Die Mediensteuereinheit (214) kann für den Typ des damit verknüpften Speichers (216) spezifisch sein.
-
Die Mediensteuereinheit (214) kann über eine Speicherschnittstelle mit der Speicherschicht (206) Daten austauschen. Die Speicherschnittstelle in der Speicherschicht (206) kann eine von der Kohärenzschnittstelle in der Kohärenzdienstschicht (204) getrennte Datenübertragungsschnittstelle sein. Bei der Kohärenzschnittstelle und der Speicherschnittstelle kann es sich zum Beispiel um zwei getrennte Anschlussstifte auf dem Chip handeln, auf dem der Dienstschichtadapter (192) implementiert ist. Der Dienstschichtadapter (192) kann des Weiteren mehrere Anschlüsse enthalten, die für die BFE (194) frei sind. Die freien Anschlüsse können von der BFE (194) verwendet werden, um Speicherzugriffsanweisungen nach den Anforderungen der BFE (194) zu verteilen.
-
Die Speicherschicht (206) stellt mithilfe von Übersetzungskennzeichen (XTAGS) Übersetzungsdienste bereit. XTAGS werden der BFE (194) bereitgestellt und in der XTAG-Tabelle (208) gespeichert, die auf eine reale Adresse abgebildet wird. Die XTAG-Tabelle (208) bildet XTAGS auf interne Adressen wie beispielsweise reale Adressen ab, die vom Prozessor (156) und der Speicherschicht (206) verwendet werden. Die BFE (194) verwendet ein XTAG, um Speicherorte in Speicherzugriffsanweisungen zu identifizieren. Die BFE (194) hat möglicherweise keinen Zugriff auf oder Kenntnis von realen Adressen, die vom Prozessor (156) oder einer anderen Einheit des Datenverarbeitungssystems verwendet werden. Die XTAG-Tabelle (208) befindet sich in der Darstellung zwar in der Speicherschicht (206), die XTAG-Tabelle (208) kann sich jedoch an einer beliebigen Stelle im Dienstschichtadapter (192) befinden oder für den Dienstschichtadapter (192) zugreifbar sein.
-
Der BFE (194) kann Speicher vom Speicher (216) oder von anderer Stelle wie dem Speicher im Prozessor (158) oder sonstigem von der Speicherverwaltungseinheit verwaltetem Speicher im System zugewiesen werden. Die BFE (194) kennt den physischen Ort des Speichers möglicherweise nicht, auf den über den Dienstschichtadapter (192) zugegriffen werden kann. Die BFE (194) greift mit anderen Worten über den Dienstschichtadapter (192) auf den gesamten zugewiesenen Speicher zu und verwendet dabei denselben Anweisungssatz, unabhängig vom Speicherort. Der mit dem Dienstschichtadapter (192) verbundene Speicher kann jedoch einen Zugriff mit niedrigerer Latenz aufweisen als ein Speicher an anderer Stelle im System.
-
Der Verbindungsarbiter (210) stellt eine Übersetzungsschicht bereit, um die Datenübertragung zwischen dem Dienstschichtadapter (192) und anderen Hardware-Elementen wie den Prozessoren im Datenverarbeitungssystem zu erleichtern. Der Verbindungsarbiter (210) kann auch eine Schnittstelle bereitstellen, um im Falle eines Zwischenspeicherfehlers verschiedene Zwischenspeicher (z.B. Kontextzwischenspeicher, ERAT-Zwischenspeicher) im Dienstschichtadapter (192) zu aktualisieren.
-
3 stellt zur weiteren Erläuterung einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung dar. Das Verfahren von 3 beinhaltet ein Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192). Das Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192) kann durchgeführt werden, indem der Adapter (192) eine Anforderung vom Beschleuniger (194) empfängt, um eine Speicherzugriffsoperation mit einer effektiven Adresse zu initiieren; die effektive Adresse in die reale Adresse übersetzt wird; dem Beschleuniger (194) ein Übersetzungskennzeichen („XTAG“) vom Adapter (192) bereitgestellt wird, das der realen Adresse entspricht; und der Beschleuniger (194) die Speicherzugriffsanweisungen mit dem XTAG vom Adapter (192) empfängt.
-
Die Speicherzugriffsanweisung kann über die Kohärenzschnittstelle im Adapter vom Adapter empfangen werden. Die Speicherzugriffsanweisung kann alternativ von einer anderen Schnittstelle empfangen werden, die den Beschleuniger (194) und den Adapter (192) verbindet. Der Adapter (192) kann zum Beispiel spezialisierte Schnittstellen für Speicherzugriffsanweisungen wie eine Speicherdirektzugriffsschnittstelle bereitstellen.
-
Das Verfahren von 3 beinhaltet auch ein Abrufen (304) einer realen Adresse für die Speicherzugriffsanwendung durch den Adapter (192). Das Abrufen (304) einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter (192) kann durchgeführt werden, indem die reale Adresse von einer XTAG-Tabelle erhalten wird, wobei die reale Adresse auf das XTAG abgebildet wird, und das XTAG in der Speicherzugriffsanweisung vom Adapter durch die reale Adresse ersetzt wird. Die reale Adresse kann algorithmisch von der Speicherzugriffsanweisung abgeleitet werden. Der Adapter (192) kann zum Beispiel einen Algorithmus auf Elemente der Speicherzugriffsanweisung wie ein XTAG anwenden, um die reale Adresse zu erhalten.
-
Das Abrufen (304) einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter kann auch durchgeführt werden, indem festgelegt wird, dass der Adapter (194) befugt ist, auf den Zielspeicherort zuzugreifen. Die ERAT oder eine andere Struktur kann zum Beispiel angeben, ob der Beschleuniger (194) oder der dazugehörige Kontext über die Erlaubnis verfügt, auf den Speicher zuzugreifen, der durch die effektive Adresse oder die dazugehörige reale Adresse gekennzeichnet wird.
-
Das Verfahren von 3 beinhaltet weiterhin ein Festlegen (306) mithilfe von Basisadressregistern im Adapter (192), dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen. Das Festlegen (306) mithilfe von Basisadressregistern im Adapter (192), dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen, kann auch durchgeführt werden, indem eine Basisadresse für die reale Adresse festgelegt wird und die Basisadresse und die reale Adresse zusammen verwendet werden, um den Ort im System zu bestimmen, an dem sich der Speicher für die reale Adresse befindet. Bei dem Ort kann es sich um den Speicher handeln, der mit der Mediensteuereinheit (214) verknüpft ist, den Speicher im Prozessor, den von der Speicherverwaltungseinheit (wie einem System-RAM) gesteuerten Speicher oder den Speicher, der mit einem anderen Dienstschichtadapter im System verknüpft ist.
-
Das Verfahren von 3 beinhaltet weiterhin ein Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) vom Adapter (192) an eine Mediensteuereinheit (214) für den LPC-Speicher, wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist. Das Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) an eine Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192), wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist, kann durchgeführt werden, indem die Speicherzugriffsanweisung und die reale Adresse (326) in der Speicherschnittstelle platziert werden, die mit der Mediensteuereinheit (214) verknüpft ist. Das Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) an eine Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192), wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist, kann auch durchgeführt werden, indem die Mediensteuereinheit (214) die Speicherzugriffsanweisung in Anweisungen niedrigerer Ebene übersetzt, die geeignet sind, um die Speicherzugriffsanweisung durch den verknüpften Speicher zu verarbeiten.
-
4 stellt zur weiteren Erläuterung einen Ablaufplan mit einem beispielhaften Verfahren zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung dar, das beinhaltet: Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192); Abrufen (304) einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter (192); Festlegen (306) mithilfe von Basisadressregistern im Adapter (192), dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen; sowie Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) an eine Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (308), wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist.
-
Das Verfahren von 4 unterscheidet sich allerdings insofern vom Verfahren von 3, als 4 weiterhin ein Empfangen (402) einer nachfolgenden Speicherzugriffsanweisung vom Prozessor beinhaltet. Das Empfangen (402) einer nachfolgenden Speicherzugriffsanweisung vom Prozessor kann durchgeführt werden, indem ein Kern oder ein anderes Element im Prozessor eine nachfolgende Speicherzugriffsanweisung mit einer realen Adresse erzeugt, die einen Speicherort in dem Speicher als Ziel hat, der mit dem Dienstschichtadapter (192) verknüpft ist. Die Speicherzugriffsanweisung kann über ein Basisadressregister im Prozessor an den Dienstschichtadapter (192) übertragen werden.
-
Das Verfahren von 4 beinhaltet weiterhin ein Festlegen (404) mithilfe von Basisadressregistern im Adapter, dass die nachfolgende Speicherzugriffsanweisung den LPC-Speicher als Ziel hat. Das Festlegen (404) mithilfe von Basisadressregistern im Adapter, dass die nachfolgende Speicherzugriffsanweisung den LPC-Speicher als Ziel hat, kann durchgeführt werden, indem eine Basisadresse für die reale Adresse festgelegt wird und die Basisadresse und die reale Adresse zusammen verwendet werden, um festzulegen, dass die nachfolgende Speicherzugriffsanforderung einen Ort in dem Speicher als Ziel hat, der mit dem Adapter (192) verknüpft ist.
-
Das Verfahren von 4 beinhaltet weiterhin ein Senden (406) der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung (328) an die Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192). Das Senden (406) der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung (328) an die Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192) kann durchgeführt werden, indem die nachfolgende Speicherzugriffsanweisung und die reale Adresse (328) in der Speicherschnittstelle platziert werden, die mit der Mediensteuereinheit (214) verknüpft ist. Die nachfolgende Speicherzugriffsanweisung kann einen Teil desselben Speichers als Ziel aufweisen, der mit dem Adapter (192) verknüpft ist, auf den der Beschleuniger zugreift, obwohl der Prozessor und der Beschleuniger (194) auf Speicherorte beschränkt sein können, auf die sie zugreifen dürfen.
-
5 stellt zur weiteren Erläuterung einen Ablaufplan mit einem beispielhaften Verfahren zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung dar, das beinhaltet: Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192); Abrufen einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter (192); Festlegen (306) mithilfe von Basisadressregistern im Adapter (192), dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen; und Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) an eine Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192), wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist.
-
Das Verfahren von 5 unterscheidet sich allerdings insofern vom Verfahren von 3, als 5 weiterhin ein Empfangen (502) einer nachfolgenden Speicherzugriffsanweisung vom Beschleuniger (194) beinhaltet. Das Empfangen (502) einer nachfolgenden Speicherzugriffsanweisung vom Beschleuniger (194) kann durchgeführt werden, indem eine nachfolgende Speicherzugriffsanweisung mit einem XTAG empfangen wird. Das XTAG kann mithilfe der XTAG-Tabelle in eine reale Adresse übersetzt werden.
-
Das Verfahren von 5 beinhaltet des Weiteren ein Festlegen (504) mithilfe von Basisadressregistern im Adapter (192), dass die nachfolgende Speicherzugriffsanweisungen nicht den LPC-Speicher als Ziel hat. Das Festlegen (504) mithilfe von Basisadressregistern im Adapter (192), dass die nachfolgende Speicherzugriffsanweisung nicht den LPC-Speicher als Ziel hat, kann durchgeführt werden, indem eine Basisadresse für die reale Adresse festgelegt wird und die Basisadresse und die reale Adresse zusammen verwendet werden, um festzulegen, dass die nachfolgende Speicherzugriffsanforderung einen Speicherort als Ziel hat, der sich nicht in dem mit dem Adapter (192) verknüpften Speicher befindet.
-
Das Verfahren von 5 beinhaltet weiterhin ein Senden (506) der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung (328) an den Prozessor (156) durch den Adapter (192). Das Senden (506) der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung (328) an den Prozessor (156) durch den Adapter (192) kann durchgeführt werden, indem der Prozessor die nachfolgende Speicherzugriffsanweisung (328) empfängt und ermittelt, ob sich der Zielspeicherort im Prozessor oder einem anderen Adapter im System befindet (z.B. mithilfe eines Basisadressregisters). Wenn es sich bei dem Zielspeicher um einen Prozessorspeicher handelt, verarbeitet der Prozessor die nachfolgende Speicherzugriffsanforderung. Ist der Zielspeicher mit einem anderen Adapter verknüpft, kann die nachfolgende Speicherzugriffsanforderung an den Adapter weitergeleitet werden, der diesen Speicher verwaltet.
-
6 stellt zur weiteren Erläuterung einen Ablaufplan mit einem beispielhaften Verfahren zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung dar, das beinhaltet: Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192); Abrufen einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter (192); Festlegen (306) mithilfe von Basisadressregistern im Adapter (192), dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen; und Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) an eine Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192), wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist.
-
Das Verfahren von 6 unterscheidet sich allerdings insofern von 3, als das Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192) beinhaltet: Empfangen (602) einer Anforderung vom Beschleuniger (194) durch den Adapter (192), um eine Speicherzugriffsoperation mit einer effektiven Adresse zu initiieren; Übersetzen (604) der effektiven Adresse in die reale Adresse; Bereitstellen (606) eines Übersetzungskennzeichens („XTAG“), das der realen Adresse entspricht, für den Beschleuniger (194) durch den Adapter (192); und Empfangen (608) der Speicherzugriffsanweisung mit dem XTAG (332) vom Beschleuniger (194) durch den Adapter (192).
-
Das Empfangen (602) einer Anforderung vom Beschleuniger (194) durch den Adapter (192), um eine Speicherzugriffsoperation mit einer effektiven Adresse zu initiieren, kann durchgeführt werden, indem der Beschleuniger (194) die Anforderung zum Initiieren einer Speicherzugriffsoperation an eine Kohärenzschnittstelle in der Kohärenzdienstschicht des Adapters (192) übermittelt. Die Anforderung zum Initiieren einer Speicherzugriffsoperation kann eine Ortskennung, einen Prozessidentifikator und die Operationskennung beinhalten. Bei der Ortskennung handelt es sich um eine Adresse, die der Beschleuniger verwendet, um auf einen Speicherort im Prozessor, RAM oder einem anderen Hardware-Element im Datenverarbeitungssystem zu verweisen. Die Ortskennung kann zum Beispiel eine effektive Adresse sein. Bei dem Prozessidentifikator handelt es sich um eine Kennung des Kontexts für die Anforderung. Der Kontext wird vom Adapter (192) verwendet, um die Ortskennung in eine reale Adresse zu übersetzen, die von der Zieleinheit verstanden wird. Die Operationskennung kann die Art der Operation kennzeichnen, die die BFE (194) initiiert, wie beispielsweise eine Speicherzugriffsanweisung.
-
Das Übersetzen (604) der effektiven Adresse in die reale Adresse kann durchgeführt werden, indem die ERAT im Adapter verwendet wird, um die effektive Adresse in eine reale Adresse umzuwandeln. Das Bereitstellen (606) eines Übersetzungskennzeichens („XTAG“) (330), das der realen Adresse entspricht, für den Beschleuniger (194) durch den Adapter (192), kann durchgeführt werden, indem der Adapter (192) die reale Adresse für die Speicherzugriffsanweisung festlegt und die reale Adresse in einer XTAG-Tabelle im Adapter (192) gespeichert wird.
-
Das Empfangen (608) der Speicherzugriffsanweisung mit dem XTAG (332) vom Beschleuniger (194) durch den Adapter (192) kann durchgeführt werden, indem der Beschleuniger (194) die Speicherzugriffsanweisung mit dem XTAG (332) über die Kohärenzschnittstelle oder eine andere spezialisierte Schnittstelle wie eine Speicherdirektzugriffsschnittstelle an den Adapter (192) übermittelt.
-
Anhand der vorstehenden Erläuterungen erkennen Leser, dass zu den Vorteilen des Verwaltens eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung Folgendes gehört:
- • Verbessern der Funktion eines Computersystems, indem einer BFE eine offene Prozessorspeicherschnittstelle unabhängig von der Kohärenzschnittstelle bereitgestellt wird, wodurch die Wirksamkeit des Speicherzugriffs erhöht wird.
- • Verbessern der Funktion eines Computersystems, indem der BFE ein geschützter Zugriff auf einen LPC-Speicher bereitgestellt wird, der mit dem Adapter verknüpft ist, wodurch die Latenz verringert wird.
- • Verbessern der Funktion eines Computersystems, indem der Speicherzugriff durch die BFE auf im Adapter und außerhalb des Adapters befindliche Speicher verwaltet wird, wodurch die Speicherintegrität verbessert wird.
-
Beispielhafte Ausführungsformen der vorliegenden Erfindung werden umfassend im Zusammenhang mit einem vollständig funktionierenden Computersystem zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters beschrieben. Fachleute erkennen jedoch, dass die vorliegende Erfindung auch in einem Computerprogrammprodukt ausgeführt werden kann, das in einem durch einen Computer lesbaren Speichermedium für die Verwendung in einem geeigneten Datenverarbeitungssystem angeordnet ist. Bei einem solchen durch einen Computer lesbaren Speichermedium kann es sich um ein beliebiges Speichermedium für durch eine Maschine lesbare Informationen handeln, darunter magnetische Medien, optische Medien oder andere geeignete Medien. Zu Beispielen für solche Medien gehören magnetische Platten in Festplatten oder Disketten, Compact-Disks für optische Laufwerke, magnetische Bänder und andere, die Fachleuten geläufig sind. Fachleute erkennen sofort, dass ein beliebiges Computersystem mit geeigneten Programmiermitteln die Schritte des Verfahrens der Erfindung ausführen kann, wie dies in einem Computerprogrammprodukt ausgeführt ist. Zwar sind einige der in dieser Beschreibung vorgestellten beispielhaften Ausführungsformen auf installierte Software ausgerichtet und werden auf Computer-Hardware ausgeführt, Fachleute erkennen jedoch ohne Weiteres, dass alternative Ausführungsformen, die als Firmware oder Hardware ausgeführt sind, dennoch im Umfang der vorliegenden Erfindung liegen.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. einen Lichtwellenleiter durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Aus der vorstehenden Beschreibung versteht sich, dass Änderungen und Abwandlungen an verschiedenen Ausführungsformen der vorliegenden Erfindung vorgenommen werden können, ohne von ihren Grundgedanken abzuweichen. Die Beschreibungen in dieser Darlegung dienen lediglich zur Veranschaulichung und sind nicht in einem einschränkenden Sinn zu verstehen. Der Umfang der vorliegenden Erfindung ist nur durch die Formulierungen in den folgenden Ansprüchen beschränkt.