DE102005041312A1 - Speicherzugriff auf virtuelles Targetgerät - Google Patents

Speicherzugriff auf virtuelles Targetgerät Download PDF

Info

Publication number
DE102005041312A1
DE102005041312A1 DE102005041312A DE102005041312A DE102005041312A1 DE 102005041312 A1 DE102005041312 A1 DE 102005041312A1 DE 102005041312 A DE102005041312 A DE 102005041312A DE 102005041312 A DE102005041312 A DE 102005041312A DE 102005041312 A1 DE102005041312 A1 DE 102005041312A1
Authority
DE
Germany
Prior art keywords
software
target
egprs
target system
host system
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.)
Withdrawn
Application number
DE102005041312A
Other languages
English (en)
Inventor
Michael Fiedler
Ralf Findeisen
Michael Grell
Matthias Lenk
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chronocloud Medtech (shanghai) Co Ltd Cn
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to DE102005041312A priority Critical patent/DE102005041312A1/de
Priority to US11/315,977 priority patent/US7672828B2/en
Publication of DE102005041312A1 publication Critical patent/DE102005041312A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Es wird eine Softwareentwicklungstechnik bereitgestellt, die Targetsystem-Virtualisierungssoftware benutzt, welche das Verhalten eines Targetsystems simuliert. Ein Targetgerätetreiber, der auf einem Host-System läuft, gibt Speicherzugriffsbefehle statt an eine Speicherschnittstelleneinheit des Host-Systems an die Targetsystem-Virtualisierungssoftware aus. Die Speicherschnittstelleneinheit kann eine SRAM- (statischer Speicher mit wahlfreiem Zugriff; "Static Random Access Memory") Schnittestelle sein. Das Targetsystem kann ein EGPRS- (verbesserter allgmeiner paketorientierter Funkdienst; "Enhanced General Packet Radio Service") Modem sein.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die Erfindung betrifft Softwareentwicklung im Allgemeinen und insbesondere die Entwicklung und das Testen von Gerätetreibern für Targetsysteme (Zielsysteme; target systems"), die in einem Host-System benutzt werden können.
  • Host-Systeme wie Personal Computer, Notebooks, Palmtops oder Ähnliches haben manchmal Targetsysteme eingebettet. Solche eingebetteten Targetsysteme können integrierte Schaltkreischips, Chipsätze, Prozessoren oder Leiterplatten (gedruckte Schaltungen; „printed circuit boards") oder andere Arten von Hardwareeinheiten sein. Die Targetsysteme fügen dem Host-System Funktionalität hinzu, welche dem Host-System ohne das eingebettete Targetgerät nicht verfügbare wäre.
  • Damit das eingebettete Targetsystem richtig arbeitet, kann das Host-System dedizierte auf dem Host-System laufende Treibersoftware erfordern. Dieser Gerätetreiber gibt Daten an das eingebettete Target aus und empfängt Daten von ihm in einem speziellen Format, das bestimmten Protokollen genügt.
  • Solche Targetgerätetreiber müssen auf dem Host-System entwickelt und getestet werden, um sicher zu sein, dass das Host-System, das das Targetsystem eingebettet hat, richtig arbeitet. Somit erfordert die Entwicklung von Gerätetreibern das Vorhandensein eines Targetgeräts in dem Host-System.
  • Wenn ein neues Hardware-Targetgerät entwickelt werden soll, werden die Entwicklung und das Testen der Treibersoftware verschoben, bis ein Targetsystem-Muster für die Softwareentwickler verfügbar ist. Selbst wenn für die Softwareentwicklung ein früher Pro totyp des Targetsystems benutzt wird, besteht eine Unsicherheit, dass die entgültige Hardware-Implementierung verändert wird. Das heißt. es können Situationen entstehen, in denen beispielsweise in einer Hardware-Simulationsumgebung bereits neue Hardware existiert, aber noch keine verlässlich arbeitende Treibersoftware verfügbar ist.
  • ÜBERSICHT ÜBER DIE ERFINDUNG
  • Es wird eine Softwareentwicklungs- und -testtechnik bereitgestellt, die verbesserte Verlässlichkeit und Effizienz aufweist, insbesondere, wenn ein Targetsystem neue Funktionalität herausbringt.
  • In einer Ausgestaltung wird ein computerlesbares Speichermedium bereitgestellt, welches Befehle speichert, die, wenn sie durch einen Prozessor eines Host-Systems ausgeführt werden, den Prozessor dazu veranlassen, eine Speicherschnittstelle, mit der das Targetsystem verbunden werden kann, zu simulieren, indem ein Softwaremodul eine virtuelle Speicherschnittstelleneinheit implementiert. Die virtuelle Speicherschnittstelleneinheit generiert eine Targetsystem-Registerkarte („target system register map") in einem Speicher des Host-Systems. Die Targetsystem-Registerkarte ist durch das Host-System adressierbar, wenn mit der Speicherschnittstelle kein Targetsystem verbunden ist.
  • Gemäß einer weiteren Ausgestaltung wird ein Verfahren zum Testen eines auf einem Host-System, an das ein Targetsystem gekoppelt werden kann, laufenden Target-Gerätetreibers bereitgestellt. Der Target-Gerätetreiber ist dazu konfiguriert, Speicherlese- und/oder -schreibbefehle an eine Speicherschnittstelleneinheit des Host-Systems auszugeben, um auf das Targetsystem zuzugreifen (anzusteuern, aufzurufen; „access"), wenn es an das Host-System gekoppelt ist. Das Verfahren umfasst das Ausführen (Betreiben, Laufen lassen; „running") mindestens eines ersten Teils einer Targetsystem-Virtualisierungssoftware, die das Verhalten des Targetsystems simuliert, wenn das Targetsystem nicht an das Host-System gekoppelt ist, und das Veranlassen des Target-Gerätetreibers, Speicherlese- und/oder -schreibbefehle an die Targetsystem-Virtualisierungssoftware anstatt an die Speicherschnittstelleneinheit auszugeben.
  • Eine wiederum weitere Ausgestaltung betrifft ein Softwareentwicklungssystem, das in der Lage ist, einem Benutzer zu erlauben, einen EGPRS- (verbesserter allgemeiner paketorientierter Funkdienst; „Enhanced General Packet Radio Service") Modemgerätetreiber zu entwickeln und zu testen, selbst wenn ein EGPRS-Modemgerät nicht verfügbar ist. Das Softwareentwicklungssystem ist in der Lage, ein virtuelles EGPRS-Modem zu implementieren und durch den EGPRS-Modemgerätetreiber vorgenommene Speicherzugriffe an das virtuelle EGPRS-Modem umzuleiten. Das virtuelle EGPRS-Modem ist in der Lage, auf die Speicherzugriffe in einer Weise zu antworten, die es dem EGPRS-Modemgerätetreiber erlaubt, zu arbeiten, als wenn die Speicherzugriffe an ein existierendes EGPRS-Modemgerät vorgenommen worden wären.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die beigefügten Zeichnungen sind in die Beschreibung eingefügt und bilden einen Teil derselben zum Zwecke der Erläuterung der Prinzipien der Erfindung. Die Zeichnungen sind nicht als die Erfindung auf nur die veranschaulichten und beschriebenen Beispiele, wie die Erfindung gemacht und benutzt werden kann, beschränkend zu verstehen. Weitere Merkmale und Vorteile werden aus der folgenden und genaueren Beschreibung der Erfindung ersichtlich werden, wie in den beigefügten Zeichnungen veranschaulicht, wobei:
  • 1 ein Blockdiagramm ist, das Komponenten eines Host-Systems gemäß einer Ausgestaltung veranschaulicht, welches ein Targetgerät eingebettet haben kann;
  • 2 Softwarekomponenten, die gemäß einer Ausgestaltung benutzt werden können, schematisch veranschaulicht;
  • 3 eine Anordnung gemäß einer weiteren Ausgestaltung veranschaulicht, welche in der Host-Software eine Intra-Modem-Verbindungs-Socketschnittstelle („intramodem link socket interface") enthält;
  • 4 Schnittstellen-Protokollsequenzen veranschaulicht, die in den Ausgestaltungen benutzt werden können;
  • 5 ein Flussdiagramm ist, das die Intra-Modem-Verbindungs-Socket-Softwareinteraktion in der Ausgestaltung der 3 veranschaulicht; und
  • 6 ein Zustandsdiagramm ist, das einen Überblick über die Host-Socket-Zustandsinteraktionen gibt, welche in den Ausgestaltungen auftreten können.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die veranschaulichenden Ausgestaltungen der vorliegenden Erfindung werden unter Bezugnahme auf die Zeichnungen beschrieben werden, wobei ähnliche Elemente und Strukturen durch ähnliche Bezugszeichen angegeben sind.
  • Wenn man sich zuerst auf 1 bezieht, so ist ein Host-System gemäß einer Ausgestaltung abgebildet, welches als ein Softwareentwicklungssystem benutzt werden kann. Wie man aus der Figur sehen kann, gibt es eine zentrale Verarbeitungseinheit 100, die mit einem Speicher 110 verbunden ist. Der Speicher des Host-Systems kann ein RAM- (Speicher mit wahlfreiem Zugriff; „Random Access Memory") Gerät sein, kann aber auch EEPROM- (elektrisch löschbarer, programmierbarer Nur-Lese-Speicher; „Electrically Eraseable Programmable Read Only Memory") oder andere Flash-Speicher oder Plattenlaufwerke enthalten.
  • Der Speicher 110 kann ein Betriebssystem 115 und andere Software enthalten.
  • Ferner hat das Host-System der 1 eine Netzkommunikationsschnittstelle 140, die es dem Host erlauben kann, sich mit externen Geräten über eine Netzverbindung wie Ethernet zu verbinden.
  • Wie man aus 1 sehen kann, kann das Host-System ein Targetgerät 17 eingebettet haben. Das Targetgerät 170 kann ein integrierter Schaltkreischip, ein Chipmodul, das mehr als einen Chip hat, oder eine Leiterplatte oder eine beliebige andere Hardwareein heit sein, die dem Host-System Funktionalität hinzufügen kann. In der vorliegenden Ausgestaltung ist das Targetgerät 170 ein EGPRS-Modemgerät.
  • Die Schnittstelle des Host-Systems mit dem eingebetteten Targetgerät 170 der vorliegenden Erfindung ist in eine SRAM- (statischer Speicher mit wahlfreiem Zugriff; „Static Random Access Memory") Busschnittstelle 170 und eine Interrupt- (Unterbrechung; „interrupt") Schnittstelle 150 aufgespalten. Die SRAM-Busschnittstelle 160 ist eine Host-System-Hardwareeinheit, die es dem Host-System erlaubt, das eingebettete Targetsystem zu steuern, indem es Speicherzugriffsbefehle über einen SRAM-Schnittstellenbus an das Targetsystem 170 ausgibt. Der Speicherzugriff kann Registerlese- und/oder -schreibbefehle enthalten.
  • Die Interrupt-Schnittstelle 150 erlaubt es dem eingebetteten Targetgerät 170, Interrupt-Bedingungen für das Host-System zu generieren. In einer weiteren Ausgestaltung kann die Interrupt-Schnittstelle 150 bidirektional sein, wodurch sie sowohl dem Host-System als auch dem Targetsystem 170 erlaubt, Interrupts für das jeweils andere System zu generieren.
  • Um einem Benutzer des Host-Systems zu erlauben, den Targetgerätetreiber 120, d. h. eine Host-System-Software zum Steuern des Targetsystems 170 zu entwickeln und zu testen, selbst in Situationen, in denen die entsprechende Hardware nicht verfügbar ist, benutzt die Ausgestaltung ein virtuelles Gerät 125. In einer Ausgestaltung simuliert das virtuelle Gerät 125 die SRAM-Busschnittstelle 160 für den Gerätetreiber 120 anstelle der realen Hardware-SRAM-Busschnittstelle 160. In anderen Worten, wenn es kein Targetgerät 170 in dem Host-System eingebettet gibt, benutzt das Host-System im Softwareentwicklungsprozess nicht die SRAM-Busschnittstelle 160, sondern vielmehr das virtuelle Gerät 125. Das virtuelle Gerät 125 kann deshalb als virtuelle SRAM-Schnittstelle gedacht werden.
  • Wenn es das virtuelle Gerät 125 als Simulation der SRAM-Busschnittstelle 160 benutzt, generiert das Host-System eine Targetsystem-Registerkarte 130 in dem Host-Speicher 110. Wenn das virtuelle Gerät 125 aktiv ist, werden alle Speicherzugriffe durch den Ge rätetreiber 120 an die SRAM-Busschnittstelle 160 umgeleitet an die Target-Registerkarte 130, die die Targetsystemregister darstellt.
  • Wie man ferner aus 1 sehen kann, benutzt die Ausgestaltung eine Kommunikations- und Register-Handhabungssoftware („register handling software") 135. Diese Software 135 kann die in 2 gezeigten Einheiten 220 und 230 umfassen und hat den Zweck, die simulierten Targetregister 130 mit Daten aus der Richtung des simulierten Targetsystems 240 zu speisen.
  • Wenn man auf 2 Bezug nimmt, so ist die Target-Registerkarte 130 in dem Host-System gezeigt, das sowohl mit dem virtuellen Gerät 125 als auch dem virtuellen Register-Handhabungsmodul 220 verbunden werden soll. Das virtuelle Gerät 125 greift auf die Target-Registerkarte 130 zu, so dass es dem SRAM-Gerätetreiber 120 den Eindruck vermittelt, es wirke über die Hardware-SRAM-Busschnittstelle 160 auf ein eingebettetes Targetgerät 170 ein. Die Daten in der Target-Registerkarte 130 kommen zumindest teilweise von dem virtuellen Register-Handhabungsmodul 220.
  • Die Kommunikations- und Register-Handhabungssoftware 135, 220, 230 kann ferner sicherstellen, dass das Host-System mit notwendigen, geeigneten oder möglichen Interrupt-Nachrichten oder -Sequenzen so beliefert wird, als ob Interupts von einem eingebetteten Targetsystem 170 generiert würden. In der Ausgestaltung kann die Kommunikations- und Register-Handhabungssoftware ferner für die entsprechende Interupt-Statusregisteraktualisierung („interrupt status register update") Sorge tragen, wenn solche Interrupts generiert oder geliefert werden.
  • Wie man aus 2 sehen kann, kann die Kommunikations- und Register-Handhabungssoftware eine TCP/IP-Socketverbindung mit einem simulierten Targetsystem benutzen, welches zu diesem Zweck eine TCP/IP-Register-Kommunikationsprotokolleinheit haben kann. Das simulierte Targetsystem kann vollständig in Software ausgestaltet sein, kann aber auch Hardwarekomponenten benutzen. Ferner kann das simulierte Targetsystem auf einem externen Computergerät 240 lokalisiert sein, das mit der Netzkommunikationsschnittstelle 140 des Host-Systems verbunden sein kann.
  • Im Falle, dass die virtuelle SRAM-Schnittstelle einer Ausgestaltung nicht den Datendurchsatz erreicht, welchen das Hardwaretarget auf Basis der SRAM-Busschnittstelle 140 zu erreichen in der Lage wäre, kann die Virtualisierungssoftware der Ausgestaltungen dazu eingerichtet sein, einem Register- und Interrupt-Handshake-Protokoll (Einigungsprotokoll; „handshake protocol") zu genügen, um den Host-Registerzugriff auf virtuelle Targetregister zu synchronisieren. Das Register- und Interrupt-Handshake-Protokoll kann auf einer Systemwarteschlange („system wait queue") basieren.
  • Wie aus den oben beschriebenen Ausgestaltungen ersichtlich, besteht aus Sicht der Host-Treibersoftware bezüglich der logischen Targetsystem-Handhabung kein Unterschied, ob der Target-Registerzugriff auf die virtuelle oder die Hardware-basierte SRAM-Geräteschnittstelle erfolgt. Somit werden Host-Treiberentwicklung und -testen, welche Hardwareressourcen wie die SRAM-Busschnittstelle für einen Registerzugriff auf die eingebettete Targetlösung auf Simulationsbasis erfordern, ermöglicht, selbst wenn ein Targetsystem 170 noch nicht verfügbar ist.
  • Es wird angemerkt, dass in den Ausgestaltungen die Virtualisierung in einer Weise implementiert sein kann, dass sie Software selektiv erlaubt, diese Funktionalität zu aktivieren oder deaktivieren. Das heißt, die Ausgestaltungen können Software erlauben, das virtuelle Gerät 125 zu aktivieren, so dass alle Speicherzugriffe auf die SRAM-Busschnittstelle 160 auf das virtuelle Gerät 125 umgeleitet werden. In einer Ausgestaltung wird die Virtualisierung immer aktiviert, wenn das Host-System detektiert, dass kein Targetsystem 170 verfügbar ist. Ferner kann das Host-System ein virtuelles Gerät 125 automatisch deaktivieren, sobald ein eingebettetes Targetgerät 170 verfügbar wird. In einer weiteren Ausgestaltung ist die Aktivierung oder Deaktivierung des virtuellen Geräts 125 unabhängig von dem Vorhandensein eines Targetsystems 170, so dass es dann möglich ist, ein virtuelles Gerät 125 zu benutzen, selbst wenn ein Hardware-Targetgerät 170 angeschlossen („plugged in") ist. Dies kann sinnvoll sein, um das richtige Funktionieren des simulierten Targetsystems 240 zu überprüfen.
  • Wenn man nun zu 3 übergeht, so ist eine weitere Ausgestaltung gezeigt. In der Software ist eine OS- (Betriebssystem; „Operating System") Hülle 300 bereitgestellt, die einen Kernel-Schnittstellenken (Kern-Schnittstellenkern; „kernel interface core") 350 und eine Anzahl von Softwaremodulen haben kann, welche den Kernel-Schnittstellenkern 350 dazu befähigen, mit einem Betriebssystem 115 zu kommunizieren. Diese Softwaremodule können Module 310 bis 325 enthalten, um Threads, Timer, Warteschlangen und Speicherressourcen zu behandeln.
  • Ferner kann es Softwaremodule gegen, um mit der Target-Hardwareschnittstelle 370 zu kommunizieren. Diese Module können ein SRAM-Modul 355, eine CF- („Compact Flash") Schnittstelle, ein SDIO- (sichere digitale Ein- und Ausgabe; „Secure Digital Input Output") Modul 335 und ein SPI- (serieller Datenbus; „Serial Peripheral Interface") Modul 340 enthalten.
  • Ferner zeigt 3, dass in dieser Ausgestaltung die OS-Hülle („OS wrapper") 300 ein virtuelles Gerät 125, einen Target-Registerspeicher 130 und eine virtuelle Targetschnittstelle 220 eingebaut haben kann, die im Wesentlichen wie die entsprechenden bezüglich der 2 diskutierten Module arbeiten können. Das heißt, die virtuelle Targetschnittstelle 220 stellt eine virtuelle Intra-Modem-Verbindungsschnittstelle bereit, die wie oben beschrieben zur Kommunikations- und Registerhandhabung benutzt werden kann.
  • In der vorliegenden Ausgestaltung wird ein Intra-Modem-Verbindungs-Socketschnittstellenprotokoll benutzt, um den Intra-Modem-Verbindungsregistersatz („intra-modem link register set") 130 auf transparente Weise über eine TCP/IP-Verbindung auf das Modem abzubilden. Es kann eine entsprechende Protokollimplementierung benutzt werden, um die Implementierungsanstrengungen zu reduzieren, indem das Intra-Modem-Verbindungs-Socketschnittstellenprotokoll auf eine UART- (universeller asynchroner Sender/Empfänger; „Universal Asynchronous Receiver Transmitter") Schnittstelle basiert wird.
  • In der Ausgestaltung werden Daten über die Verbindungen übertragen, indem ein einfaches Handshake-Protokoll benutzt wird. Eine Übertragung kann aus den folgenden Feldern zusammengesetzt werden: einem Übertragungsindexfeld, einem Nutzlastlängenfeld, einem Übertragungstypenfeld und einem Nutzlastfeld. Der Handshake kann dann unter Benutzung des Übertragungstypenfeldes implementiert werden. Dieses Feld kann Informtation darüber enthalten, ob die Übertragung ein Befehl oder eine Antwort auf einen Befehl war. Befehle können indiziert werden, indem das Übertragungsindexfeld benutzt wird, so dass eine Antwort mit einem Befehl abgestimmt (abgeglichen, angepasst; „matched") werden kann.
  • In einer Ausgestaltung kann die Targetsystem-Virtualisierungssoftware, welche alle der oben diskutierten Einheiten 125, 130, 220 bis 250 enthalten kann, einen Intra-Modem-Verbindungsschnittstellentunnel zwischen dem Anwendungsprozessor, d. h. den Anwendungsverarbeitungsmodulen in dem Host-System, und dem Targetsystem 170, welches ein EGPRS-Modemgerät sein kann, implementieren. Dieser Schnittstellentunnel kann einen CONFIG- (Konfigunerungs-) Befehl benutzen, der einen von mehreren Betriebsmodi bezüglich der Module 355, 330, 335 und 340 angeben kann und der auch ein Interrupt-Aktivierungsbit (Interrupt-Befähigungsbit; „interrupt enable bit") enthalten kann. Der CONFIG-Befehl kann auch als eine Initialnachricht vom Target an den Host benutzt werden, um anzugeben, dass der Host läuft. Der CONFIG-Befehl kann die aktuelle Hardwareschnittstellenkonfiguration in dem Nutzlastfeld liefern.
  • Ferner kann es READ- (Lese-) und WRITE- (Schreib-) Befehle geben, um das Lesen oder Schreiben eines Registers anzufordern.
  • Des Weiteren kann es DEVICE_RESET- (Geräterücksetz-) und CONNECTION_RESET(Verbindungsrücksetz-) Befehle geben, welche nicht Daten enthalten, sondern die Geltendmachung (Zusicherung; „assertion") des Geräterücksetzpins verursachen und die Verbindung zurücksetzen können.
  • Ein INTERRUPT:_POLL- (Interrupt-Abfrage-) Befehl kann verursachen, dass eine Interrupt-Nachricht gesandt wird. Dieser Befehl enthält keine Daten.
  • Des Weiteren kann es optionale RAW_DATA- (Rohdaten-) und RAW_DATA_POLL- (Rohdatenabfrage-) Befehle geben, um Rohdaten weiterzuleiten oder das Lesen von Daten anzufordern.
  • Jeder der obigen Befehle kann durch eine MESSAGE_ACK- (Nachricht-ACK-, Nachrichtenbestätigungs-) Antwort mit einem transportierten Nachrichtenidentifikator bestätigt werden. 4 ist ein Ablaufdiagramm, das die oben beschriebenen Socketverbindungsprotokollabläufe gemäß einer Ausgestaltung veranschaulicht.
  • Wenn man nun zu 5 übergeht, so ist die Softwarestruktur des Intra-Modem-Verbindungssockets gezeigt, um die Softwareinteraktion zwischen der OS-Hülle und der Host-Socketanwendung zu veranschaulichen.
  • In 5 ist der TCP/IP-Socketübertragungs-/-empfangsprozess gemäß einer Ausgestaltung gezeigt, wonach er Schritte 510 des Sendens eines Target-Registerübertragungsbehälters („target register transmission container"), wenn durch einen Nutzer angefordert und wenn der Socketstatus inaktiv (stilliegend, ungenutzt, nicht in Betrieb; „idle") ist, Schritt 515 des Empfangens eines Target-Registerübertragungscontainers, wenn der TCP/IP-Socket Daten verfügbar hat, und Schritt 520 des Sendens eines Target-Registerübertragungscontainers, wenn durch den Treiber angefordert und wenn der Socketstatus inaktiv ist, hat. Der Benutzerschnittstellenprozess 500 ist in erster Linie dazu gedacht, Testnachrichten zu initiieren, die von Hand für Entwicklungszwecke zusammengesetzt wurden. Schritt 510 kann einen Puffer 505 mit einem Benutzerschnittstellenprozess 500 teilen, welcher eine Target-Registerkonfiguration, Lese- und Schreibbefehle enthalten kann. In Schritt von 515 kann eingetreten werden, wenn von dem Target über den TCP/IP-Socket eine Intra-Modem-Verbindungsregisterantwort empfangen wird. Schritte 510 und 520 können zu Intra-Modem-Verbindungsregisterzugriffen auf das Target über den TCP/IP-Socket führen.
  • Wenn von dem Target in Schritt 515 eine Antwort empfangen wird, gelangen die Daten in Schritt 525 in das OS-I/O-Steuermodul 305 der OS-Hülle 300, in Schritt 530 in die virtuelle Targetschnittstelle 220 und in Block 535 in den Target-Registerspeicher 130. Auf Basis dieser Daten greift das virtuelle Gerät 125 in Schritt 540 auf das Register 130 zu und übermittelt in Schritt 545 die Daten an eine Hardwareabstraktionsschicht des Kernel-Schnittstellenkerns 350. Der Prozess wird dann mit Schritt 550 des Durchführens des Targetregisterzugriffs, des Interrupts und der Ressourcenhandhabungs-Testsoftware fortgesetzt.
  • In der anderen Richtung kann die Testsoftware einen Registerzugriff in Schritt 550 initiieren, und die Schritte 545, 540, 535, 530 und 525 werden dann in umgekehrter Reihenfolge durchgeführt. Schritt 520 sendet schließlich den Target-Registerübertragungscontainer, um einen Intra-Modem-Verbindungsregisterzugriff auf das Target über den TCP/IP-Socket durchzuführen.
  • Wenn man nun zu 6 übergeht, so ist ein Zustandsdiagramm gemäß einer Ausgestaltung abgebildet. Der INITIAL STATE (Anfangszustand) 600 ist der Zustand, in den nach dem Systemstart eingetreten wird. Zustand 610 ist der Zustand, in den nach einer Benutzereingabe eingetreten wird. Wie in 6 gezeigt, kann der Übergang vom Zustand 600 zum Zustand 610 auch auftreten, wenn ein CONFIG-Befehl auftritt.
  • In Schritt 620 wird immer dann eingetreten, wenn das System inaktiv ist. Das heißt, das System ist in diesem Zustand, wenn alle ausstehenden Antwort- und Bestätigungsnachrichten empfangen wurden.
  • Der DRIVER COMMAND STATE (Treibersteuerzustand) 630 ist der Zustand, in den eingetreten wird, wenn der Treiber eine Befehlsnachricht an den Targetsocket, z. B. eine Lese-, Schreib- oder Konfigurationsnachricht gesandt hat.
  • Der INTERRUPT POLL STATE (Interrupt-Abfragezustand) 650 ist der Zustand, in den eingetreten wird, wenn eine Interrupt-Abfragenachricht gesandt werden soll. Schließlich wird in den READ INTERRUPT FLAG STATE (Lese-Interrupt-Flag-Zustand) 640 eingetreten, nachdem eine Interrupt-Anhängig-Nachricht zum Lesen des Interrupt-Flags empfangen wurde.
  • Während die Erfindung mit Bezug auf die physikalischen Ausgestaltungen beschrieben wurde, die in Übereinstimmung mit ihr konstruiert worden sind, wird es Fachleuten klar sein, dass vielfache Modifikationen, Variationen und Verbesserungen der vorliegenden Erfindung im Lichte der obigen Lehren und innerhalb des Umfangs der beigefügten Ansprüche gemacht werden können, ohne vom Gedanken und beabsichtigten Umfang der Erfindung abzuweichen.
  • Während beispielsweise Ausgestaltungen im Kontext einer SRAM-Schnittstelle beschrieben wurden, können sich andere Ausgestaltungen auf andere speicherabgebildete („memory mapped") Schnittstellen wie CF-, SD- (sichere digitale; „Secure Digital") Karte, MMC- (MuItiMedia-) Karte, SPI oder Ähnliches beziehen.
  • Darüber hinaus wurden Bereiche, in denen davon ausgegangen wird, dass sich Fachleute auskennen, hierin nicht beschrieben, um die hierin beschriebene Erfindung nicht unnötig zu verschleiern. Dementsprechend ist zu verstehen, dass die Erfindung nicht durch die spezifischen veranschaulichenden Ausgestaltungen beschränkt werden soll, sondern nur durch den Umfang der beigefügten Ansprüche.

Claims (41)

  1. Computerlesbares Speichermedium, welches Befehle speichert, die, wenn sie durch einen Prozessor eines Host-Systems ausgeführt werden, den Prozessor dazu veranlassen, eine Speicherschnittstelle (160) zu simulieren, mit der ein Targetsystem (170) verbunden werden kann, indem ein Softwaremodul eine virtuelle Speicherschnittstelleneinrichtung (125) implementiert, wobei die virtuelle Speicherschnittstelleneinrichtung eine Targetsystem-Registerkarte (130) in einem Speicher (110) des Host-Systems generiert und wobei die Targetsystem-Registerkarte durch das Host-System adressierbar ist, wenn kein Targetsystem mit der Speicherschnittstelle verbunden ist.
  2. Computerlesbares Speichermedium nach Anspruch 1, weiterhin umfassend Befehle zum Aktivieren oder Deaktivieren der virtuellen Speicherschnittstelleneinrichtung, wobei durch das Host-System generierte Speicherzugriffsanforderungen an die Speicherschnittstelle gerichtet werden, wenn die virtuelle Speicherschnittstelleneinrichtung deaktiviert ist, und an die Targetsystem-Registerkarte umgeleitet werden, wenn die virtuelle Speicherschnittstelleneinrichtung aktiviert ist.
  3. Computerlesbares Speichermedium nach Anspruch 2, wobei die virtuelle Speicherschnittstelleneinrichtung aktiviert ist, wenn kein Targetsystem mit der Speicherschnittstelle verbunden ist.
  4. Computerlesbares Speichermedium nach Anspruch 1, weiterhin umfassend Befehle zum Implementieren eines Registerhandhabungs-Softwaremoduls (220, 230), das zum Schreiben von Daten an die Targetsystem-Registerkarte konfiguriert ist, wobei die Daten dazu geeignet sind, von dem Host-System als Registerdaten eines Targetsystems akzeptiert zu werden.
  5. Computerlesbares Speichermedium nach Anspruch 4, wobei die virtuelle Speicherschnittstelleneinrichtung und das Registerhandhabungs-Softwaremodul dazu konfiguriert sind, einem Handshake-Protokoll zu genügen, um mit Speicherzugriffen durch das Host-System auf die Targetsystem-Registerkarte synchronisiert zu werden.
  6. Computerlesbares Speichermedium nach Anspruch 4, wobei das Registerhandhabungs-Softwaremodul eine TCP/IP-Socketschnittstelle (230) umfasst, die benutzt wird, um die Daten bereitzustellen.
  7. Computerlesbares Speichermedium nach Anspruch 4, weiterhin umfassend Befehle zum Implementieren eines Kommunikations-Softwaremoduls (230, 250), das dazu konfiguriert ist, Interrupts zu generieren und sie an das Host-System zu liefern, wobei die Interrupts dazu geeignet sind, durch das Host-System als Interrupts eines Targetsystems akzeptiert zu werden.
  8. Computerlesbares Speichermedium nach Anspruch 1, weiterhin umfassend Befehle zum Implementieren eines Kommunikations-Softwaremoduls (230, 250), das dazu konfiguriert ist, Interrupts zu generieren und sie an das Host-System zu liefem, wobei die Interrupts dazu geeignet sind, durch das Host-System als Interrupts eines Targetsystems akzeptiert zu werden.
  9. Computerlesbares Speichermedium nach Anspruch 8, wobei das Kommunikations-Softwaremodul ferner dazu konfiguriert ist, eine Aktualisierung eines geeigneten Registers unter mehreren Interrupt-Statusregistern des Host-Systems zu verursachen, wenn es einen Interrupt an das Host-System liefert oder geliefert hat.
  10. Computerlesbares Speichermedium nach Anspruch 8, wobei das Kommunikations-Softwaremodul eine TCP/IP-Socketschnittstelle (230, 250) umfasst, die dazu benutzt wird, die Interrupts zu generieren.
  11. Computerlesbares Speichermedium nach Anspruch 8, wobei die virtuelle Speicherschnittstelleneinrichtung und das Kommunikations-Softwaremodul dazu konfiguriert sind, einem Handshake-Protokoll zu genügen, um die Interrupts mit dem Host-System zu synchronisieren.
  12. Computerlesbares Speichermedium nach Anspruch 1, wobei das Targetsystem ein EGPRS- (verbesserter allgemeiner paketorientierter Funkdienst; "Enhanced General Packet Radio Service") Modem ist.
  13. Verfahren zum Testen eines Targetgerätetreibers (120), der auf einem Host-System läuft, an das ein Targetsystem (170) gekoppelt werden kann, wobei der Targetgerätetreiber dazu konfiguriert ist, Speicherlese- und/oder -schreibbefehle an eine Speicherschnittstelleneinheit (160) des Host-Systems auszugeben, um auf das Targetsystem zuzugreifen, wenn es an das Host-System gekoppelt ist, wobei das Verfahren folgende Schritte umfasst, wenn das Targetsystem nicht an das Host-System gekoppelt ist: Ausführen mindestens eines ersten Teils (125, 130, 220, 230) einer Targetsystem-Virtualisierungssoftware (125, 130, 220 bis 250) auf dem Host-System, die das Verhalten des Targetsystems simuliert; und Veranlassen des Targetgerätetreibers, Speicherlese- und/oder -schreibbefehle statt an die Speicherschnittstelleneinheit an die Targetsystem-Virtualisierungssoftware auszugeben.
  14. Verfahren nach Anspruch 13, wobei die Targetsystem-Virtualisierungssoftware in der Lage ist, durch Software aktiviert oder deaktiviert zu werden, wobei die Aktivierung der Targetsystem-Virtualisierungssoftware dazu führt, dass Speicherlese- und/oder -schreibbefehle, die durch den Targetgerätetreiber ausgegeben wurden, statt an die Speicherschnittstelleneinheit an die Targetsystem-Virtualisierungssoftware umgeleitet werden.
  15. Verfahren nach Anspruch 14, wobei die Targetsystem-Virtualisierungssoftware aktiviert wird, wenn kein Targetsystem an das Host-System gekoppelt ist.
  16. Verfahren nach Anspruch 13, wobei die Targetsystem-Virtualisierungssoftware einen Satz von Targetsystemregistern (130) in einem Speicher (110) des Host-Systems generiert, wobei die an die Targetsystem-Virtualisierungssoftware ausge gebenen Speicherlese- und/oder -schreibbefehle umgeleitet werden, um auf den Satz von Targetsystemregistern zuzugreifen.
  17. Verfahren nach Anspruch 16, weiterhin umfassend: Ausführen von Registerhandhabungssoftware (220, 230) auf dem Host-System, die dazu konfiguriert ist, Daten in dem Satz von Targetsystemregistern zu speichern, wobei die Daten dazu geeignet sind, durch das Host-System als Registerdaten eines Targetsystems akzeptiert zu werden.
  18. Verfahren nach Anspruch 17, wobei die Targetsystem-Virtualisierungssoftware und die Registerhandhabungssoftware dazu konfiguriert sind, einem Handshake-Protokoll zu genügen, um mit Speicherzugriffen auf den Satz von Targetsystemregistern durch das Host-System synchronisiert zu werden.
  19. Verfahren nach Anspruch 17, wobei die Registerhandhabungssoftware eine TCP/IP-Socketschnittstelle (230) umfasst, die dazu benutzt wird, die Daten bereitzustellen.
  20. Verfahren nach Anspruch 17, weiterhin umfassend: Ausführen von Kommunikationssoftware (230) auf dem Host-System, die dazu konfiguriert ist, Interrupts zu generieren und sie an das Host-System zu liefern, wobei die Interrupts dazu geeignet sind, durch das Host-System als Interrupts eines Targetsystems akzeptiert zu werden.
  21. Verfahren nach Anspruch 13, weiterhin umfassend: Ausführen von Kommunikationssoftware (230) auf dem Host-System, die dazu konfiguriert ist, Interrupts zu generieren und sie an das Host-System zu liefern, wobei die Interrupts dazu geeignet sind, durch das Host-System als Interrupts eines Targetsystems akzeptiert zu werden.
  22. Verfahren nach Anspruch 21, weiterhin umfassend: Verursachen einer Aktualisierung eines Interrupt-Statusregisters des Host-Systems durch die Kommunikationssoftware, wenn sie einen Interrupt an das Host-System liefert oder geliefert hat.
  23. Verfahren nach Anspruch 21, wobei die Kommunikationssoftware eine TCP/IP-Socketschnittstelle (230) umfasst, die dazu benutzt wird, die Interrupts zu generieren.
  24. Verfahren nach Anspruch 21, wobei die Targetsystem-Virtualisierungssoftware und die Kommunikationssoftware dazu konfiguriert sind, einem Handshake-Protokoll zu genügen, um die Interrupts mit dem Host-System zu synchronisieren.
  25. Verfahren nach Anspruch 13, weiterhin umfassend: Ausführen eines zweiten Teils (240, 250) der Targetsystem-Virtualisierungssoftware zum Simulieren des Verhaltens des Targetsystems auf einem bezüglich des Host-Systems externen Computersystem, wobei das externe Computersystem und das Host-System gekoppelt sind, um miteinander unter Benutzung einer TCP/IP-Verbindung zu kommunizieren.
  26. Verfahren nach Anspruch 13, wobei die Speicherschnittstelleneinheit eine SRAM- (statischer Speicher mit wahlfreiem Zugriff; „Static Random Access Memory") Busschnittstelleneinheit ist.
  27. Verfahren nach Anspruch 13, wobei das Targetsystem ein EGPRS- (verbesserter allgemeiner paketorientierter Funkdienst; „Enhanced General Packet Radio Service") Modem ist.
  28. Softwareentwicklungssystem, das in der Lage ist, einem Benutzer zu erlauben, einen EGPRS- (verbesserter allgemeiner paketorentierter Funkdienst; „Enhanced General Packet Radio Service") Modemgerätetreiber (120) zu entwickeln und zu testen, selbst wenn ein EGPRS-Modemgerät (170) nicht verfügbar ist, wobei das Softwareentwicklungssystem in der Lage ist, ein virtuelles EGPRS-Modem (125) zu implementieren und Speicherzugriffe, die durch den EGPRS-Modemgerätetreiber vorgenommen werden, an das virtuelle EGPRS-Modem umzuleiten, wobei das virtuelle EGPRS-Modem in der Lage ist, auf die Speicherzugriffe in einer Weise zu antworten, die es dem EGPRS-Modemgerätetreiber erlaubt, zu arbeiten, als ob die Speicherzugriffe durch ein existierendes EGPRS-Modemgerät vorgenommen würden.
  29. Softwareentwicklungssystem nach Anspruch 28, das dazu angepasst ist, das virtuelle EGPRS-Modem zu aktivieren oder zu deaktivieren, wobei die Aktivierung des virtuellen EGPRS-Modems zu Speicherzugriffen an das virtuelle EGPRS-Modem führt, die durch den EGPRS-Modemgerätetreiber vorgenommen wurden.
  30. Softwareentwicklungssystem nach Anspruch 29, das dazu angepasst ist, das virtuelle EGPRS-Modem zu aktivieren, wenn dem Host-System ein EGPRS-Modemgerät nicht verfügbar ist.
  31. Softwareentwicklungssystem nach Anspruch 28, wobei das virtuelle EGPRS-Modem einen Satz von Targetsystemregistern (130) in einem Speicher des Softwareentwicklungssystems generiert, wobei die durch den EGPRS-Modemgerätetreiber an das virtuelle EGPRS-Modem vorgenommenen Speicherzugriffe umgeleitet werden, um auf den Satz von Targetsystemspeichern zuzugreifen.
  32. Softwareentwicklungssystem nach Anspruch 31, das Registerhandhabungssoftware (220-250) ausführt, die dazu konfigurert ist, Daten in dem Satz von Targetsystemregistern zu speichern, wobei die Daten dazu geeignet sind, als Registerdaten eines EGPRS-Modemgeräts akzeptiert zu werden.
  33. Softwareentwicklungssystem nach Anspruch 32, wobei das virtuelle EGPRS-Modem und die Registerhandhabungssoftware dazu konfiguriert sind, einem Handshake-Protokoll zugenügen, um mit Speicherzugriffen auf den Satz von Targetsystemregistern synchronisiert zu werden.
  34. Softwareentwicklungssystem nach Anspruch 32, wobei die Registerhandhabungssoftware eine TCP/IP-Socketschnittstelle (230, 250) umfasst, die dazu benutzt wird, die Daten bereitzustellen.
  35. Softwareentwicklungssystem nach Anspruch 32, das Kommunikationssoftware (230, 250) ausführt, die dazu konfigurier ist, Interrupts zu generieren, wobei die Interrupts dazu geeignet sind, als Interrupts eines EGPRS-Modemgeräts akzeptiert zu werden.
  36. Softwareentwicklungssystem nach Anspruch 28, das Kommunikationssoftware (230, 250) ausführt, die dazu konfiguriert ist, Interrupts zu generieren, wobei die Interrupts dazu geeignet sind, als Interrupts eines EGPRS-Modemgeräts akzeptiert zu werden.
  37. Softwareentwicklungssystem nach Anspruch 36, wobei die Kommunikationssoftware in der Lage ist, eine Aktualisierung eines Interrupt-Statusregisters zu verursachen, wenn sie einen Interrupt generiert oder generiert hat.
  38. Softwareentwicklungssystem nach Anspruch 36, wobei Kommunikationssoftware eine TCP/IP-Socketschnittstelle (230, 250) umfasst, die dazu benutzt wird, die Interrupts zu generieren.
  39. Softwareentwicklungssystem nach Anspruch 38, wobei das virtuelle EGPRS-Modem und die Kommunikationssoftware dazu konfiguriert sind, einem Handshake-Protokoll zu genügen, um die Interrupts zu synchronisieren.
  40. Softwareentwicklungssystem nach Anspruch 28, das in der Lage ist, mit externer EGPRS-Modem-Virtualisierungssoftware (240) zu kommunizieren, die dazu geeignet ist, das Verhalten des EGPRS-Modemgeräts zu simulieren, wobei die externe EGPRS-Modem-Virtualisierungssoftware und das Softwareentwicklungssystem gekoppelt sind, um miteinander unter Benutzung einer TCP/IP-Verbindung zu kommunizieren.
  41. Softwareentwicklungssystem nach Anspruch 28, wobei die Speicherzugriffe, die durch den EGPRS-Modemgerätetreiber vorgenommen werden, Zugriffe auf einen SRAM- (statischer Speicher mit wahlfreiem Zugriff; „Static Random Access Memory") Bus sind.
DE102005041312A 2005-08-31 2005-08-31 Speicherzugriff auf virtuelles Targetgerät Withdrawn DE102005041312A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102005041312A DE102005041312A1 (de) 2005-08-31 2005-08-31 Speicherzugriff auf virtuelles Targetgerät
US11/315,977 US7672828B2 (en) 2005-08-31 2005-12-21 Memory access to virtual target device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005041312A DE102005041312A1 (de) 2005-08-31 2005-08-31 Speicherzugriff auf virtuelles Targetgerät

Publications (1)

Publication Number Publication Date
DE102005041312A1 true DE102005041312A1 (de) 2007-03-15

Family

ID=37762867

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005041312A Withdrawn DE102005041312A1 (de) 2005-08-31 2005-08-31 Speicherzugriff auf virtuelles Targetgerät

Country Status (2)

Country Link
US (1) US7672828B2 (de)
DE (1) DE102005041312A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112015006117B4 (de) 2015-02-05 2019-02-07 Apple Inc. Halbleiterlaufwerk mit selbstaktualisierungsenergiesparmodus

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8160863B2 (en) 2000-03-28 2012-04-17 Ionipas Transfer Company, Llc System and method for connecting a logic circuit simulation to a network
US7266490B2 (en) 2000-12-28 2007-09-04 Robert Marc Zeidman Apparatus and method for connecting hardware to a circuit simulation
US20070016396A9 (en) * 2000-12-28 2007-01-18 Zeidman Robert M Apparatus and method for connecting a hardware emulator to a computer peripheral
US20080178143A1 (en) * 2006-10-05 2008-07-24 Cort Dougan System, Method and Computer Program Product for Developing, Configuring, Installing and Testing Software
CN101399696B (zh) * 2007-09-24 2011-09-21 国际商业机器公司 通过网络为客户机安装软件的方法、系统及相应的客户机
US8250573B2 (en) * 2007-12-27 2012-08-21 Intel Corporation Audio subsystem sharing in a virtualized environment
US20100318973A1 (en) * 2009-06-10 2010-12-16 Tino Rautiainen Method and apparatus for providing dynamic activation of virtual platform sub-modules
US10754575B2 (en) * 2018-07-16 2020-08-25 EMC IP Holding Company LLC Storage system with replication process utilizing simulated target responses
CN111221660B (zh) * 2018-11-26 2023-03-24 中兴通讯股份有限公司 堆叠系统中i2c器件管理的方法、设备和存储介质
GB2594269B (en) * 2020-04-21 2022-04-13 Cirrus Logic Int Semiconductor Ltd Emulation software and a method of emulating behaviour of a device containing one or more DSP cores

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071812A1 (en) * 2003-09-30 2005-03-31 Intel Corporation Combined emulation and simulation debugging techniques

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7036106B1 (en) * 2000-02-17 2006-04-25 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
TWI273397B (en) * 2004-07-01 2007-02-11 Winity Technology Inc Virtual memory device including a bridge circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071812A1 (en) * 2003-09-30 2005-03-31 Intel Corporation Combined emulation and simulation debugging techniques

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112015006117B4 (de) 2015-02-05 2019-02-07 Apple Inc. Halbleiterlaufwerk mit selbstaktualisierungsenergiesparmodus

Also Published As

Publication number Publication date
US7672828B2 (en) 2010-03-02
US20070067151A1 (en) 2007-03-22

Similar Documents

Publication Publication Date Title
DE102005041312A1 (de) Speicherzugriff auf virtuelles Targetgerät
DE102004038649B4 (de) Dauerspeichervorrichtung für Sicherungsprozess-Prüfpunktzustände
DE60117166T2 (de) Leistungsverwaltungszustandübergänge ohne agp-transaktionsstörungen
DE112013007743B4 (de) Steuern einer physischen Verbindung von einem ersten Protokoll unter Verwendung einer erweiterten Funktionsstruktur eines zweiten Protokolls
DE102012209016B4 (de) System und Verfahren zur Weiterleitung von Fibre-Channel-Eingangs- und Ausgangsdaten
DE102020120102A1 (de) Globale dauerhafte Speicherleerung
DE102004004796B4 (de) Vorrichtung zur Datenübertragung zwischen Speichern
DE102012208803B4 (de) System und Verfahren zur Weiterleitung von Fibre-Channel-Eingangs- und Ausgangsdaten
DE10213839B4 (de) DMA-Mechanismus für einen Hochgeschwindigkeitspaketbus
DE102005009021A1 (de) Vereinheitliche USB OTG-Steuerungseinheit
DE112012006227B4 (de) Systeme und verfahren für den remotezugriff auf den direkten speicher mit reduzierter latenzzeit
DE102012209011B4 (de) System und Verfahren zur Weiterleitung von Fibre-Channel-Eingangs- und Ausgangsdaten
DE112013000601T5 (de) Techniken für die Befehlsbestätigung für den Zugriff auf ein Speichergerät durch einen entfernten Client
DE10234991A1 (de) Hostcontrollerdiagnose für einen seriellen Bus
DE10234992A1 (de) Retry-Mechanismus für blockierende Schnittstellen
DE4417068A1 (de) Verfahren und Einrichtung zum Betreiben eines Einzel-Prozessor-Computersystems als Mehr-Prozessor-System
DE102012209009B4 (de) System und Verfahren zur Weiterleitung von Fibre-Channel-Eingangs- und Ausgangsdaten
DE60304455T2 (de) Usb host controller
DE112018007637T5 (de) Fehlermeldung in Verbindungsverlängerungsvorrichtungen
DE102013209643A1 (de) Mechanismus für optimierte Nachrichtenaustauschdatenübertragung zwischen Nodelets innerhalb eines Plättchens
DE102019129618A1 (de) Befördern früher hinweisinformationen für zustandsänderungen physikalischer verbindungsstrecken
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
DE60303162T2 (de) Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren
DE102022207043A1 (de) Netzwerkadapter mit effizienter speicherprotokollemulation
DE10214067B4 (de) Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R081 Change of applicant/patentee

Owner name: CHRONOCLOUD MEDTECH (SHANGHAI) CO., LTD., CN

Free format text: FORMER OWNER: ADVANCED MICRO DEVICES, INC., SUNNYVALE, CALIF., US

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee