DE60307798T2 - Arbitrierung von gemeinsamen Speicher - Google Patents

Arbitrierung von gemeinsamen Speicher Download PDF

Info

Publication number
DE60307798T2
DE60307798T2 DE60307798T DE60307798T DE60307798T2 DE 60307798 T2 DE60307798 T2 DE 60307798T2 DE 60307798 T DE60307798 T DE 60307798T DE 60307798 T DE60307798 T DE 60307798T DE 60307798 T2 DE60307798 T2 DE 60307798T2
Authority
DE
Germany
Prior art keywords
data
memory
read
unit
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60307798T
Other languages
English (en)
Other versions
DE60307798D1 (de
Inventor
Thomas Agilent Technologies Deutsc D-71034 Henkel
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.)
Verigy Singapore Pte Ltd
Original Assignee
Agilent Technologies 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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE60307798D1 publication Critical patent/DE60307798D1/de
Application granted granted Critical
Publication of DE60307798T2 publication Critical patent/DE60307798T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft eine Prioritätszuweisungseinheit, einen Kanal und ein Verfahren zur Zuweisung von Prioritäten für Zugriffe auf einen gemeinsam genutzten Speicher.
  • Ein elektrisches oder elektronisches System kann Funktionseinheiten umfassen, welche Daten ausgeben, die in eine beliebige Art Speicher geschrieben werden müssen. Für die Ausgabedaten der verschiedenen Funktionseinheiten kann es unterschiedliche Latenzzeitanforderungen geben. Darüber hinaus können die Funktionseinheiten verschiedene Bandbreiten von Ausgabedaten erzeugen. Alternativ oder zusätzlich kann das System Funktionseinheiten umfassen, welche mit Eingabedaten versorgt werden müssen, die von einer beliebigen Art Speicher gelesen werden müssen. Bei manchen dieser Funktionseinheiten kann ein Lesezugriff mit kurzer Latenzzeit erforderlich sein. Bei anderen Funktionseinheiten kann eine lange Latenzzeit zulässig sein. Manche Funktionseinheiten erfordern möglicherweise eine große Bandbreite für die Lesedaten, während bei anderen eine geringe Bandbreite ausreichend sein kann.
  • Um den Anforderungen seitens der verschiedenen Funktionseinheiten gerecht zu werden, kann ein elektrisches oder elektronisches System mit mindestens zwei verschiedenen Speichern bereitgestellt werden. Diese Lösung ist jedoch nicht sehr effizient.
  • In der US-Patentanmeldung US 2002/0046261 wird eine Speichersteuereinheit mit einer Zeitmultiplex-Schnittstelle zu Datenquellen und -zielen und einer Streaming-Schnittstelle zu einem Speicher beschrieben. Jede Quelle und jedes Ziel wird durch einen kontextabhängigen Code gekennzeichnet. Eine Prioritätszuweisungseinheit ermittelt den Kontext mit der dringendsten Anforderung nach einem Speicherzugriff.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der Erfindung besteht darin, eine verbesserte Prioritätszuweisung zur Steuerung von Zugriffen auf einen gemeinsam genutzten Speicher eines Testkanals einer automatischen Testapparatur bereitzustellen. Die Aufgabe wird durch die Hauptansprüche gelöst. Bevorzugte Ausführungsarten werden durch die Unteransprüche dargestellt.
  • Die Prioritätszuweisungseinheit gemäß einer Ausführungsart der vorliegenden Erfindung ist zur Steuerung von Zugriffen auf einen gemeinsam genutzten Speicher eingerichtet. Die Prioritätszuweisungseinheit umfasst einen Satz Schnittstellen, die eine Vielzahl von Einheiten mit der Prioritätszuweisungseinheit verbinden. Abgehende Datenströme werden von der Prioritätszuweisungseinheit über entsprechende der Schnittstellen an mindestens eine der Einheiten übertragen, und ankommende Datenströme werden von mindestens einer der Einheiten über entsprechende der Schnittstellen an die Prioritätszuweisungseinheit übertragen. Die Prioritätszuweisungseinheit umfasst ferner eine Steuerlogik, die mit jeder der Schnittstellen verbunden ist. Die Steuerlogik ist dafür eingerichtet, Schreibdaten von ankommenden Datenströmen zu segmentieren, um Schreibzugriffe auf den gemeinsam genutzten Speicher zu organisieren, eine Folge von mindestens Schreibzugriffen oder Lesezugriffen auf den gemeinsam genutzten Speicher zeitlich einzuordnen (scheduling) und die während der Lesezugriffe erhaltenen Lesedaten auf abgehende Datenströme zu verteilen.
  • Die Prioritätszuweisungseinheit kann z.B. einen Strom von Schreibdaten von einer der Einheiten empfangen. Ein über eine der Schnittstellen empfangener Schreibdatenblock wird in eine Vielzahl kleinerer Datenpakete aufgeteilt, wobei die Datenpakete so groß sind, dass sie während eines einzigen Schreibzugriffs in den gemeinsam genutzten Speicher geschrieben werden können. Außerdem muss die Prioritätszuweisungseinheit möglicherweise Leseanforderungen bearbeiten, die durch eine oder mehrere der Einheiten ausgegeben werden. Entsprechend den Leseanforderungen kann die Prioritätszuweisungseinheit Lesezugriffe auf den gemeinsam genutzten Speicher ausführen. Die Prioritätszuweisungseinheit ordnet eine Folge von mindestens Schreibzugriffen oder Lesezugriffen auf den gemeinsam genutzten Speicher zeitlich ein, wobei unter „zeitlich einordnen" (scheduling) das Festlegen der zeitlichen Reihenfolge der Schreib- und Lesezugriffe zu verstehen ist. Die während der Lesezugriffe vom Speicher abgerufenen Daten können wieder zu Datenblöcken zusammengesetzt werden. Die Datenblöcke können über eine der Schnittstellen an eine entsprechende Einheit übertragen werden, um die Leseanforderung der Einheit zu erfüllen.
  • Die Prioritätszuweisungseinheit gemäß einer Ausführungsart der vorliegenden Erfindung kann in vielerlei Hinsicht an die Eigenschaften der Einheiten angepasst werden. Den seitens der Einheiten gestellten Anforderungen kann z.B. durch die zeitliche Einordnung der Speicherzugriffe entsprechend Rechnung getragen werden. Die Prioritätszuweisungseinheit kann die zeitliche Reihenfolge der Speicherzugriffe in Abhängigkeit von den geforderten Eigenschaften der ankommenden oder abgehenden Datenströme, d.h. in Abhängigkeit von der für einen bestimmten Datenstrom geforderten Bandbreite oder Latenzzeit, wählen. Zum Beispiel muss ein Lesezugriff mit kurzer Latenzzeit möglicherweise sofort ausgeführt werden. Zum Ausführen eines Schreibzugriffs mit hohem Datendurchsatz ist es möglicherweise erforderlich, eine Reihe aufeinander folgender Schreibzugriffe auszuführen.
  • Um Speicherzugriffe mit kurzer Latenzzeit zu ermöglichen, darf jeder einzelne Lese- oder Schreibzugriff nicht zu lange dauern. Die Größe der während eines einzigen Schreibzugriffes übertragenen Datenpakete wird so gewählt, dass Latenzzeit und Datendurchsatz aufeinander abgestimmt sind.
  • Gemäß einer bevorzugten Ausführungsart der Erfindung umfassen eine oder mehrere der Schnittstellen Puffer zum Puffern mindestens der ankommenden oder abgehenden Datenströme. Vorzugsweise werden die Puffer als FIFO-Puffer (First In First OUT, Silospeicher) organisiert. Zum Beispiel können in einem Puffer, der einer bestimmten Schnittstelle entspricht, über diese Schnittstelle empfangene Schreibdaten gepuffert werden. Die Schreibdaten können selbst dann sofort empfangen werden, wenn der entsprechende Schreibzugriff nicht sofort ausgeführt werden kann. Wenn eine Leseanforderung bearbeitet wird, können desgleichen die vom Speicher abgerufenen Lesedaten in einem Puffer gepuffert werden, um einen kontinuierlichen Datenstrom an die entsprechende Einheit sicherzustellen, welche die Daten angefordert hat.
  • Bei einer anderen Ausführungsart der vorliegenden Erfindung ist jede der Schnittstellen mit einer entsprechenden der Funktionseinheiten verbunden. Somit ist jede der Schnittstellen einer bestimmten der Funktionseinheiten zugewiesen, und die entsprechenden Eigenschaften der Funktionseinheit können berücksichtigt werden. Ankommende Datenströme, die von einer bestimmten Funktionseinheit über die Schnittstelle empfangen werden, können entsprechend den durch die Funktionseinheit gestellten Anforderungen verarbeitet werden. Desgleichen werden abgehende Datenströme über die Schnittstelle an eine bestimmte Funktionseinheit weitergeleitet und können entsprechend den Anforderungen der Funktionseinheit verarbeitet werden.
  • Gemäß einer anderen bevorzugten Ausführungsart der Erfindung senden eine oder mehrere der Einheiten Leseanforderungen an die Prioritätszuweisungseinheit, wobei mindestens einige der Leseanforderungen eine Startadresse und eine Größe eines Datenblocks angeben, der vom gemeinsam genutzten Speicher gelesen werden soll. Desgleichen können eine oder mehrere der Funktionseinheiten Schreibanforderungen an die Prioritätszuweisungseinheit senden, bevor ein entsprechender Strom von Schreibdaten von der entsprechenden Funktionseinheit an die Prioritätszuweisungseinheit gesendet wird, wobei mindestens eine der Schreibanforderungen die Größe des Blocks der Schreibdaten und eine Startadresse angeben kann. Die Prioritätszuweisungseinheit wandelt jede der Lese- oder Schreibanforderungen in eine Anzahl entsprechender Lese- oder Schreibzugriffe um. Sobald die Prioritätszuweisungseinheit eine entsprechende Leseanforderung oder Schreibanforderung empfangen hat, kann sie mit der zeitlichen Einordnung der entsprechenden Lese- oder Schreibzugriffe beginnen. Diese eine bestimmte Zeit lang vorher empfangenen Anforderungen unterstützen die Erzeugung einer optimierten Folge von Lese- und Schreibzugriffen.
  • Gemäß einer anderen bevorzugten Ausführungsart der Erfindung werden die Lese- und Schreibzugriffe auf den gemeinsam genutzten Speicher gemäß den Prioritäten zeitlich eingeordnet, die mindestens einigen Schnittstellen der Prioritätszuweisungseinheit oder mindestens einigen der ankommenden und abgehenden Datenströme zugewiesen sind. Die zeitliche Reihenfolge der Lese- und Schreibzugriffe wird durch die Steuerlogik der Prioritätszuweisungseinheit festgelegt. Wenn einem ankommenden Datenstrom eine hohe Priorität zugewiesen wird, werden die diesem ankommenden Datenstrom entsprechenden Schreibzugriffe schneller als andere Lese- und Schreibzugriffe bearbeitet. Wenn eine sehr hohe Priorität vorliegt, können die dem ankommenden Datenstrom entsprechenden Schreibzugriffe sogar sofort an die Reihe kommen. Wenn eine Leseanforderung mit hoher Priorität empfangen wird, werden die entsprechenden Lesezugriffe bevorzugt ausgeführt, während Schreib- und Lesezugriffe mit niedriger Priorität warten müssen. Erst wenn die Zugriffe mit hoher Priorität bearbeitet worden sind, kommen die Zugriffe mit niedriger Priorität an die Reihe.
  • Wenn ein ankommender oder abgehender Datenstrom mit kurzer Latenzzeit verarbeitet werden muss, wird diesem Datenstrom vorzugsweise eine entsprechend hohe Priorität zugewiesen. Durch das Zuweisen einer hohen Priorität kann erreicht werden, dass die entsprechenden Lese- oder Schreibzugriffe schneller als andere Lese- und Schreibzugriffe ausgeführt werden. Auf diese Weise kann ein Speicherzugriff mit kurzer Latenzzeit erfolgen. Somit erlaubt die Steuerlogik der Prioritätszuweisungseinheit die Erfüllung von Latenzzeitanforderungen unterschiedlicher Art seitens der Funktionseinheiten.
  • Gemäß einer anderen bevorzugten Ausführungsart werden die Prioritäten so geändert, dass die Anzahl der Wechsel zwischen Lese- und Schreibzugriffen so gering wie möglich bleibt. Bei jedem Wechsel tritt eine zusätzliche Verzögerung ein. Um solche zusätzlichen Verzögerungen zu vermeiden, wird vorzugsweise zuerst eine Gruppe von Schreibzugriffen, dann eine Gruppe von Lesezugriffen usw. bearbeitet. Wenn gerade ein Lesezugriff bearbeitet wird, ist es besonders günstig, wenn der nachfolgende Speicherzugriff ebenfalls ein Lesezugriff ist. Das kann z.B. dadurch erreicht werden, dass die Prioritäten der Leseanforderungen erhöht werden, während die Prioritäten der Schreibzugriffe unverändert bleiben. Wenn hingegen gerade ein Schreibzugriff ausgeführt wird, ist es besonders günstig, als Nächstes eine Schreibanforderung zu bearbeiten. In diesem Fall können z.B. die den Schreibanforderungen zugewiesenen Prioritäten erhöht werden, während die Prioritäten der Leseanforderungen unverändert bleiben.
  • Gemäß einer anderen Ausführungsart werden die den Leseanforderungen und den Schreibanforderungen zugewiesenen Prioritäten so geändert, dass eine kontinuierliche Datenübertragung unterstützt wird. Wenn mehrere Speicherzugriffe bearbeitet werden müssen, die für benachbarte Adressbereiche gelten, sollten die Speicherzugriffe vorzugsweise direkt nacheinander ausgeführt werden, um zeitliche Verzögerungen durch Neuadressierung zu vermeiden. Wenn also ein Speicherzugriff bearbeitet wird, der sich auf einen bestimmten Adressbereich bezieht, werden deshalb die Prioritäten für Speicherzugriffe erhöht, die sich auf benachbarte Adressbereiche beziehen, sodass diese Speicherzugriffe folglich höchstwahrscheinlich als nächste ausgeführt werden. Dies führt dazu, dass eine ununterbrochene Datenübertragung unterstützt und die Anzahl der zusätzlichen Verzögerungen infolge der Neuadressierung so gering wie möglich gehalten wird.
  • Gemäß einer anderen bevorzugten Ausführungsart wird die einer bestimmten Schnittstelle zugewiesene Priorität in Abhängigkeit vom Füllungsgrad des der Schnittstelle entsprechenden Puffers geändert. Je stärker der Füllungsgrad des Puffers zunimmt, desto höher wird die Priorität des entsprechenden Datenstroms. Durch Erhöhung der Priorität des gepufferten Datenstroms in Abhängigkeit vom Füllungsgrad kann erreicht werden, dass die dem Datenstrom entsprechenden Speicherzugriffe auf bevorzugte Weise zeitlich eingeordnet werden. Das hat zur Folge, dass der Füllungsgrad des entsprechenden Puffers abnimmt und ein Überlauf verhindert werden kann.
  • Bei einer bevorzugten Ausführungsart der Erfindung wird die Prioritätszuweisungseinheit in einem Kanal einer automatisierten Testapparatur (Automated Test Equipment, ATE) verwendet. Der Kanal ist für mindestens eine der folgenden Aktivitäten zuständig: Liefern von Auslösedaten an mindestens eine zu testende Einheit (Device Under Test, DUT) und Empfangen von Antwortdaten von der mindestens einen DUT. Die Prioritätszuweisungseinheit des Kanals ist für die Koordinierung der Speicherzugriffe auf einen gemeinsam genutzten Speicher zuständig. Der gemeinsam genutzte Speicher kann z.B. zum Speichern von Anweisungen und/oder Ablaufsteuerdaten eingerichtet sein. Die Anweisungen und die Ablaufsteuerdaten können zum Erzeugen eines Stroms von Testdaten genutzt werden. Der gemeinsam genutzte Speicher kann ebenso zum Speichern von Ergebnisdaten genutzt werden, die durch Auswertung der von der mindestens einen DUT empfangenen Antwortdaten erhalten wurden.
  • Bei Lösungen nach dem Stand der Technik beinhaltet ein Kanal einer automatisierten Testapparatur mindestens zwei verschiedene Speicher, einen SRAM mit kurzer Latenzzeit zum Bereitstellen eines Anweisungsstroms für eine Ablaufsteuereinheit und einen DRAM mit langer Latenzzeit zum Speichern von Ablaufsteuerdaten sowie Ergebnisdaten. Durch die Verwendung von zwei verschiedenen Speichern mit völlig unterschiedlichen Eigenschaften war es möglich, die Anforderungen der Funktionseinheiten des Kanals an die Latenzzeit und die Bandbreite zu erfüllen.
  • Gemäß einer Ausführungsart der vorliegenden Erfindung werden die mindestens zwei verschiedenen Speicher durch einen gemeinsam genutzten Speicher ersetzt, der durch eine Prioritätszuweisungseinheit gesteuert wird. Der gemeinsam genutzte Speicher kann z.B. zum Speichern mindestens von Anweisungen, Vektordaten oder Ergebnisdaten verwendet werden. Somit vereinfacht sich die Struktur des Kanals. Ein Kanal gemäß einer Ausführungsart der vorliegenden Erfindung ist preiswerter und kleiner als ein Kanal nach dem Stand der Technik.
  • Vorzugsweise umfassen die Einheiten des Kanals mindestens eine Ablaufsteuerung, eine Ergebnisverarbeitungseinheit, ein Schnittstellenmodul oder einen Mikroprozessorkern. Die Ablaufsteuereinheit liest Anweisungen und Ablaufsteuerdaten aus dem gemeinsam genutzten Speicher und erzeugt einen Strom von Ausgabedaten, die z.B. auf einen Steuerpfad und/oder Empfangspfad des Kanals übertragen werden können. Die Ergebnisverarbeitungseinheit ist für die Auswertung der von der mindestens einen DUT empfangenen Antwortdaten zuständig. Die Ergebnisverarbeitungseinheit kann einen Strom von Ergebnisdaten erzeugen, der in den gemeinsam genutzten Speicher geschrieben wird. Das Schnittstellenmodul ist so beschaffen, dass es eine Datenleitung zwischen dem Kanal und einer Zentraleinheit herstellt. Über das Schnittstellenmodul können Daten zwischen dem gemeinsam genutzten Speicher der Kanals und der Zentraleinheit ausgetauscht werden. Darüber hinaus kann der Kanal einen Mikroprozessorkern umfassen.
  • Gemäß einer bevorzugten Ausführungsart werden abgehende Datenströme von der Prioritätszuweisungseinheit zur Ablaufsteuereinheit übertragen, wobei die abgehenden Datenströme mindestens Anweisungen und/oder Ablaufsteuerdaten umfassen können. Vorzugsweise wird einem abgehenden Datenstrom, der Anweisungen für die Ablaufsteuereinheit umfasst, eine höhere Priorität zugewiesen. Auf diese Weise wird sichergestellt, dass der Anweisungsstrom nicht unterbrochen wird.
  • Gemäß einer anderen bevorzugten Ausführungsart ist die Prioritätszuweisungseinheit zum Empfangen eines ankommenden Datenstroms von der Ergebnisverarbeitungseinheit eingerichtet, wobei der ankommende Datenstrom Ergebnisdaten umfassen kann. Die Ergebnisdaten können z.B. durch Vergleichen der von der mindestens einen DUT empfangenen Antwortdaten mit erwarteten Daten erzeugt werden.
  • Gemäß einer anderen Ausführungsart der Erfindung tauscht die Prioritätszuweisungseinheit Datenströme mit hoher Priorität mit dem Schnittstellenmodul aus. Insbesondere wenn es keine Quittungssignale (Handshake-Signale) gibt, müssen die zwischen dem Schnittstellenmodul und der Prioritätszuweisungseinheit ausgetauschten Daten sofort verarbeitet werden.
  • Vorzugsweise ist der gemeinsam genutzte Speicher ein dynamischer RAM. Ein dynamischer RAM (DRAM) ist preiswerter und kleiner als ein SRAM. Vorzugsweise wird ein RDRAM verwendet, der eine synchron getaktete Schnittstelle umfasst.
  • Infolge der getakteten Schnittstelle kann ein Datenaustausch mit einer großen Bandbreite erfolgen.
  • Ferner umfasst die Prioritätszuweisungseinheit vorzugsweise eine Speicherdiagnoseeinheit, wobei die Speicherdiagnoseeinheit Diagnoseanforderungen an den gemeinsam genutzten Speicher weiterleitet. Bei Verwendung eines DRAM können die Diagnoseanforderungen zum Beispiel Anforderungen zur Speicheraktualisierung umfassen.
  • Die Erfindung kann zum Teil oder vollständig durch ein oder mehrere geeignete Softwareprogramme realisiert oder unterstützt werden, die auf einem beliebigen Datenträger gespeichert oder anderweitig durch diesen bereitgestellt werden kann. Softwareprogramme oder -routinen werden vorzugsweise zur zeitlichen Einordnung der Folge von Schreib- und Lesezugriffe auf den gemeinsam genutzten Speicher eingesetzt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Weitere Aufgaben und viele der mit der vorliegenden Erfindung verbundenen Vorteile werden unter Bezug auf die folgende detaillierte Beschreibung und in Verbindung mit den beiliegenden Zeichnungen verdeutlicht und verständlicher gemacht. Merkmale, die im Wesentlichen oder in ihrer Funktion gleich oder ähnlich sind, werden durch dieselben Bezugszeichen gekennzeichnet.
  • 1 zeigt einen Kanal einer automatisierten Testapparatur (ATE);
  • 2 zeigt eine Speichereinheit, die einen gemeinsam genutzten Speicher und eine Prioritätszuweisungseinheit umfasst; und
  • 3 zeigt die Struktur einer Segmentfolge, die Abschnitte von Lesedaten und Schreibdaten umfasst.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • 1 zeigt einen Kanal 1 einer automatisierten Testapparatur (Automated Test Equipment, ATE), wobei der Kanal 1 für mindestens eine der folgenden Aktivitäten zuständig ist: Bereitstellen von Auslösedaten für eine DUT und Analysieren der von der DUT erhaltenen Antwortdaten. Bei dem Kanal 1 braucht es sich nicht um einen Kanal einer automatisierten Testapparatur zu handeln; dies kann ebenso ein Kanal innerhalb einer beliebigen Mehrkanalstruktur sein. Der Kanal 1 umfasst eine Ablaufsteuereinheit 2, welche Ablaufanweisungen 3 und Ablaufdaten 4 von einem gemeinsam genutzten Speicher 5 empfängt, der vorzugsweise als RDRAM ausgeführt ist. Gemäß den Ausführungsarten der vorliegenden Erfindung erfolgt der Zugriff auf den gemeinsam genutzten Speicher 5 über eine Prioritätszuweisungseinheit 6. Wenn die DUT mindestens einen DRAM-Speicher umfasst, kann die Ablaufsteuereinheit 2 vom gemeinsam genutzten Speicher 5 auch Aktualisierungsdaten 7 empfangen. Die Aktualisierungsdaten 7 sind für das periodische Auslösen einer Aktualisierung mindestens eines DRAM-Speichers in der DUT zuständig.
  • Entsprechend den Ablaufsteueranweisungen 3 erzeugt die Ablaufsteuereinheit 2 einen Ausgabedatenstrom 8, der sowohl Steuerdaten als auch erwartete Daten umfassen kann. Der Ausgangsdatenstrom 8 wird sowohl dem Steuerpfad 9 als auch der Vergleichseinheit 10 des Empfangspfades 11 zur Verfügung gestellt. Der Steuerpfad 9 umfasst eine Signalverlaufstabelle, welche eine zum Umwandeln der Vektoren des Ausgangsdatenstroms 8 in eine entsprechende Folge von Signalverläufen geeignete Referenztabelle ist. Jeder Signalverlauf umfasst mehrere Flanken zusammen mit Zeitinformationen für diese Flanken. Am Ausgang des Steuerpfades 9 liegt ein Strom von Auslösedaten 12 vor, der zum Anschlusskontakt 13 der DUT geleitet wird.
  • Alternativ oder zusätzlich kann vom Anschlusskontakt 13 der DUT ein Strom von Antwortdaten 14 empfangen werden. In der Vergleichseinheit 10 werden die Antwortdaten 14 mit erwarteten Daten verglichen, die als Teil des Ausgangsdatenstroms 8 übertragen werden. Aus diesem Grund wird der Ausgangsdatenstrom 8 auch zur Vergleichseinheit 10 des Empfangspfades 11 geleitet. Die Vergleichseinheit 10 erzeugt einen Strom von Ergebnisdaten 15, welche die Ergebnisse des Vergleichs umfassen. Der Ergebnisdatenstrom 15 wird zur Ergebnisverarbeitungseinheit 16 weitergeleitet. Die Ergebnisverarbeitungseinheit 16 umfasst einen Zähler 17, der die Fehlerzahl überwacht. Außerdem erzeugt die Ergebnisverarbeitungseinheit 16 eine Fehlertabelle 18, in der sie die Ergebnisse als Funktion des entsprechenden Zyklus aufzeichnet. Die Daten 19 der Fehlertabelle werden über die Prioritätszuweisungseinheit 6 in den gemeinsam genutzten Speicher 5 geschrieben. Darüber hinaus erzeugt die Ergebnisverarbeitungseinheit 16 eine Übersichtstabelle 20, wobei ein Bit der Übersichtstabelle 4 kB der Ergebnisdaten 15 abbildet.
  • Wenn eine DUT getestet wird, können gleichzeitig unterschiedliche Fehler auftreten. Wenn nur ein Teil der Fehler überwacht und analysiert werden soll, müssen alle anderen Fehler ausgeblendet werden. Zu diesem Zweck werden der Ergebnisverarbeitungseinheit 16 Zyklusmaskendaten 21 zur Verfügung gestellt, die aus dem gemeinsam genutzten Speicher 5 gelesen werden. Die Zyklusmaskendaten 21 definieren diejenigen Teile des Ergebnisdatenstroms 15, der ausgeblendet werden soll.
  • Bis zu diesem Stand der Beschreibung enthält der gemeinsam genutzte Speicher 5 Ablaufsteueranweisungen, Ablaufsteuerdaten und Zyklusmaskendaten. Außerdem enthält der gemeinsam genutzte Speicher 5 Ergebnisdaten, die er von der Ergebnisverarbeitungseinheit 16 empfängt. Zum Austauschen des Inhaltes des gemeinsam genutzten Speichers mit einem Arbeitsplatzrechner umfasst der Kanal 1 eine Arbeitsplatzrechnerschnittstelle 22 zum Herstellen einer Datenverbindung 23 zum Arbeitsplatzrechner. Über die Arbeitsplatzrechnerschnittstelle 22 können Daten 24 zwischen dem Arbeitsplatzrechner und dem gemeinsam genutzten Speicher 5 ausgetauscht werden. Die Daten 24 werden über die Prioritätszuweisungseinheit 6 geleitet. Darüber hinaus umfasst der Kanal 1 einen eingebetteten Mikroprozessorkern 25. Zwischen dem Mikroprozessorkern 25 und dem gemeinsam genutzten Speicher 5 können auch Daten 26 ausgetauscht werden, wobei diese Daten ebenfalls über die Prioritätszuweisungseinheit 6 geleitet werden.
  • Gemäß den Ausführungsarten der vorliegenden Erfindung teilt die Prioritätszuweisungseinheit 6 Schreibdaten in entsprechende Datenpakete ein, um Schreibzugriffe auf den gemeinsam genutzten Speicher 5 vorzubereiten. Die ankommenden Datenströme können Ströme von Ergebnisdaten 19 von über die Arbeitsplatzrechnerschnittstelle 22 ausgetauschten Daten 24 und von mit dem eingebetteten Mikroprozessorkern 25 ausgetauschten Daten 26 umfassen. Die Prioritätszuweisungseinheit 6 legt eine zeitliche Reihenfolge von Schreib- und Lesezugriffen auf den gemeinsam genutzten Speicher 5 fest. Währen der Lesezugriffe erhaltene Lesedaten werden auf die abgehenden Datenströme verteilt. Die abgehenden Datenströme können die Ablaufsteueranweisungen 3, die Ablaufsteuerdaten 4, die Aktualisierungsdaten 7 und die Zyklusmaskendaten 21 umfassen. Die abgehenden Datenströme können auch Daten 24 für die Arbeitsplatzrechnerschnittstelle 22 und Daten 26 für den eingebetteten Mikroprozessorkern 25 umfassen.
  • In 2 ist die Speichereinheit des Kanals dargestellt. Die Speichereinheit umfasst einen RDRAM-Speicher 28, eine RAM-Steuereinheit 29 und eine Prioritätszuweisungseinheit 30. Die Prioritätszuweisungseinheit 30 umfasst eine Reihe von Schnittstellen 31 bis 37 für die verschiedenen ankommenden und abgehenden Datenströme. Über eine erste Schnittstelle 31 werden Daten mit der in 1 gezeigten Arbeitsplatzrechnerschnittstelle 22 ausgetauscht. Der Arbeitsplatzrechner kann in den gemeinsam genutzten Speicher schreiben und aus ihm lesen, sodass die entsprechende Anforderung req eine Schreib- oder Leseanforderung sein kann. Eine Schreibanforderung ist so beschaffen, dass sie die Startadresse für den Schreibzugriff und die Größe des Datenblocks angibt, der in den gemeinsam genutzten Speicher geschrieben werden soll. Entsprechend werden bei einer Leseanforderung die Startadresse und die Größe des aus dem gemeinsam genutzten Speicher zu lesenden Datenblocks angegeben.
  • Bei einem Schreibzugriff werden die Schreibdaten Dw in einem FIFO-Puffer (First In First Out) 38 gepuffert. Der FIFO-Puffer 38 gibt so genannte Segmentanforderungen sreq an die Prioritätszuweisungseinheit 30 aus. Dort werden den Segmentanforderungen der verschiedenen Schnittstellen Prioritäten zugewiesen, und die Segmentanforderungen werden entsprechend den ihnen zugewiesenen Prioritäten bearbeitet.
  • Bei dem in 2 gezeigten Beispiel werden den verschiedenen Segmentanforderungen Prioritäten im Bereich von „1" bis „9" zugewiesen. Die Prioritäten, die einem über eine der Schnittstellen übertragenen Datenstrom zugewiesen wurden, werden in Abhängigkeit vom Füllungsgrad des entsprechenden FIFO-Puffers geändert. Wenn zum Beispiel der FIFO-Puffer 38 leer ist, wird einer Segmentanforderung, die der ersten Schnittstelle 31 entspricht, eine Priorität „7" zugewiesen. Wenn der Füllungsgrad des FIFO-Puffers 38 zunimmt, nimmt die Dringlichkeit zur Bearbeitung des entsprechenden Datenstroms zu. Entsprechend wird die der Segmentanforderung sreq der ersten Schnittstelle 31 zugewiesene Priorität in Abhängigkeit vom Füllungsgrad des FIFO-Puffers 38 von „7" auf „8" oder „9" erhöht.
  • Die Arbeitsplatzrechnerschnittstelle 22 kann auch eine Leseanforderung an den FIFO-Puffer 38 übertragen. Eine oder mehrere Segmentanforderungen sreq, die der Leseanforderung entsprechen, werden zur Prioritätszuweisungseinheit 30 weitergeleitet, wo ihnen Prioritäten im Bereich von „7" bis „9" zugewiesen werden.
  • Die Prioritätszuweisungseinheit 30 empfängt Segmentanforderungen sreq von allen mit der Prioritätszuweisungseinheit 30 verbundenen Schnittstellen. Die Prioritätszuweisungseinheit 30 legt die zeitliche Reihenfolge der Schreib- und Lesedatensegmente fest, wobei jedes der Datensegmente eine feste Größe hat. Zum Beispiel kann jedes der Datensegmente 256 Datenbits umfassen. Die Schreibdaten Dw eines über die Schnittstelle 31 empfangenen Datenblocks werden in eine Anzahl Datensegmente aufgeteilt, wobei jedes Datensegment 256 Bit der Schreibdaten umfasst. Die Datensegmente werden entsprechend ihrer jeweiligen Priorität zeitlich eingeordnet. Dann werden die Datensegmente als Teil einer Datensegmentfolge 39 von der Prioritätszuweisungseinheit 30 zur RAM-Steuereinheit 29 übertragen. Die Datensegmentfolge 39 umfasst auch Datensegmente, die aus dem gemeinsam genutzten Speicher gelesen worden sind, wobei jedes der Datensegmente ebenfalls 256 Bit der Lesedaten umfasst. Die RAM-Steuereinheit 29 tauscht mit dem RDRAM-Speicher 28 Lese- und Schreibdaten 40 aus.
  • Es sei beispielsweise angenommen, dass die Arbeitsplatzrechnerschnittstelle 22 eine Leseanforderung an die erste Schnittstelle 31 ausgegeben hat. Dann werden Datensegmentanforderungen, die der Leseanforderung entsprechen, zur Prioritätszuweisungseinheit 30 übertragen. Die Prioritätszuweisungseinheit 30 legt für die Datensegmente die zeitliche Reihenfolge fest, und die entsprechenden Lesezugriffe werden durch die RAM-Steuereinheit 29 ausgeführt. Die gelesenen Datensegmente werden innerhalb der Datensegmentfolge 39 von der RAM-Steuereinheit 29 zur Prioritätszuweisungseinheit 30 übertragen. Dort werden Datensegmente, die verschiedenen abgehenden Datenströmen entsprechen, empfangen und auf die FIFO-Puffer der entsprechenden Schnittstellen verteilt. Die Datensegmente, die sich auf von der Arbeitsplatzrechnerschnittstelle 22 ausgegebene Leseanforderung beziehen, werden der Reihe nach in den FIFO-Puffer 38 geschrieben. Der FIFO-Puffer 38 umfasst einen Puffer zur Pufferung ankommender Daten sowie einen Puffer zur Pufferung abgehender Daten. Die Arbeitsplatzrechnerschnittstelle 22 kann den angeforderten Datenblock der Lesedaten Dr aus dem FIFO-Puffer 38 abrufen.
  • Über die zweite Schnittstelle 32 werden der in 1 gezeigten Ablaufsteuereinheit 2 Ablaufsteueranweisungen zugeführt. Die angeforderten Ablaufsteueranweisungen werden aus dem RDRAM-Speicher 28 gelesen und als Bestandteil der Datensegmentfolge 39 zur Prioritätszuweisungseinheit 30 übertragen. Die Prioritätszuweisungseinheit 30 schreibt die Ablaufsteueranweisungen in den FIFO-Puffer 41.
  • Die dritte Schnittstelle 33 ist dafür zuständig, der Ablaufsteuereinheit 2 Ablaufsteuerdaten zuzuführen. Aus dem gemeinsam genutzten Speicher gelesene Ablaufsteuerdaten werden in einem entsprechenden FIFO-Puffer 42 gepuffert.
  • Die vierte Schnittstelle 34 dient dazu, der Ablaufsteuereinheit 2 Aktualisierungsdaten 7 zuzuführen. Aus dem gemeinsam genutzten Speicher gelesene Aktualisierungsdaten werden im FIFO-Puffer 43 gepuffert.
  • Die Fehlertabelle 18, welche Teil der in 1 gezeigten Ergebnisverarbeitungseinheit 16 ist, liefert einen Strom von Ergebnisdaten an die fünfte Schnittstelle 35 der Prioritätszuweisungseinheit 30. Die Ergebnisdaten werden in einem FIFO-Puffer 44 gepuffert.
  • Der Strom der Zyklusmaskendaten ist ein abgehender Datenstrom, welcher der Ergebnisverarbeitungseinheit 16 von 1 zugeführt wird. Die aus dem RDRAM-Speicher 28 gelesenen Zyklusmaskendaten werden im FIFO-Puffer 45 gepuffert. Die Zyklusmaskendaten werden über die sechste Schnittstelle 36 zur Ergebnisverarbeitungseinheit 16 weitergeleitet.
  • Die siebente Schnittstelle 37 dient zum Datenaustausch mit dem eingebetteten Mikroprozessorkern 25 von 1. Der entsprechende FIFO-Puffer 46 umfasst einen Puffer zur Pufferung ankommender Daten sowie einen Puffer zur Pufferung abgehender Daten.
  • In 2 sind die entsprechenden Prioritäten dargestellt, welche den ankommenden und abgehenden Datenströmen der verschiedenen Schnittstellen zugewiesen wurden. Die drei für jede einzelne der Schnittstellen 31 bis 37 gezeigten Prioritäten entsprechen unterschiedlichen Füllungsgraden der entsprechenden FIFO-Puffer 38, 41 bis 46. Die höchste Priorität wird den Daten zugewiesen, die über die Schnittstelle 31 mit dem Arbeitsplatzrechner ausgetauscht werden. Die vom Arbeitsplatzrechner gelieferten Daten müssen sofort verarbeitet werden, da es zwischen der Prioritätszuweisungseinheit, der Arbeitsplatzrechnerschnittstelle und dem Arbeitsplatzrechner keine Quittungssignale gibt.
  • Aus 2 ist zu ersehen, dass dem Strom der aus dem gemeinsam genutzten Speicher gelesenen Ablaufsteueranweisungen Prioritäten im Bereich von „6" bis „8" zugewiesen werden. Dadurch kann erreicht werden, dass der Strom der Ablaufsteueranweisungen nicht unterbrochen wird. Dem Strom der über die Schnittstelle 35 empfangenen Ergebnisdaten werden Prioritäten im Bereich von „5" bis „7" zugewiesen. Aufgrund dieser vergleichsweise hohen Priorität kann der Strom der von der Fehlertabelle 18 empfangenen Ergebnisdaten ohne Unterbrechung in den RDRAM-Speicher 28 geschrieben werden. Den Datenströmen, die mit dem Mikroprozessorkern 25 des Kanals ausgetauscht werden, wird eine niedrige Priorität im Bereich von „1" bis „3" zugewiesen. Folglich ist die Latenzzeit für Zugriffe auf den Speicher des Mikroprozessorkerns ziemlich groß.
  • Die RAM-Steuereinheit 29 erzeugt Diagnoseanforderungen 47, die sich auf die Verwaltung des RDRAM-Speichers 28 beziehen. Die Diagnoseanforderungen 47 können zum Beispiel Anforderungen zum Ausführen einer Aktualisierung des RDRAM-Speichers 28 umfassen. Die Diagnoseanforderungen 47 werden zur Diagnoseeinheit 48 weitergeleitet. Zum Festlegen der zeitlichen Reihenfolge der Diagnoseanforderungen werden von der Diagnoseeinheit 48 Datensegmentanforderungen zur Prioritätszuweisungseinheit 30 übertragen. Die erste einer Diagnoseanforderung zugewiesene Priorität ist „1". Nach einer bestimmten Zeitspanne wird geprüft, ob die Diagnoseanforderung verarbeitet worden ist. Wenn die Diagnoseanforderung noch nicht verarbeitet wurde, wird die Priorität der Diagnoseanforderung auf „5" erhöht. Nach Ablauf einer weiteren Zeitspanne wird noch einmal geprüft, ob die Diagnoseanforderung verarbeitet worden ist. Wenn die Diagnoseanforderung immer noch nicht verarbeitet wurde, wird die Priorität möglicherweise sogar auf „14" erhöht, um die entsprechende Diagnoseanforderung in der zeitlichen Reihenfolge zu bevorzugen. Dadurch kann sichergestellt werden, dass eine periodische Aktualisierung des RDRAM-Speichers 28 durchgeführt wird.
  • 3 zeigt, wie eine Vielzahl von Lese- und Schreibanforderungen in eine Folge 49 von Datensegmenten umgewandelt wird, wobei die vergangene Zeit von links nach rechts angegeben ist. Zum Zeitpunkt 50 wird über eine Schnittstelle A eine erste Leseanforderung 51 empfangen, wobei die Leseanforderung sowohl die Startadresse („0") als auch die Größe („96 Byte") des aus dem Speicher zu lesenden Datenblocks bezeichnet. Bei der ersten Leseanforderung 51 kann es sich zum Beispiel um eine Leseanforderung zum Lesen von Ablaufsteuerdaten aus dem Speicher handeln, sodass der ersten Leseanforderung 51 die Priorität „3" zugewiesen werden kann.
  • Eine Schnittstellen-Datensegmentanforderung 52 wird von der Schnittstelle A ausgegeben, um der Steuerlogik der Prioritätszuweisungseinheit anzuzeigen, dass eine Anforderung mit der Priorität „3" von der Schnittstelle A verarbeitet worden ist. In 3 sind unterhalb der Datensegmentfolge 49 die Schnittstellen-Datensegmentanforderungen von den Schnittstellen A, B und C dargestellt. Zum Zeitpunkt 53 muss das nächste Datensegment der Datensegmentfolge 49 ausgewählt werden. Da zum Zeitpunkt 53 nur eine Schnittstellen-Datensegmentanforderung 52 vorliegt, werden gemäß der Schnittstellen-Datensegmentanforderung 52 32 Byte von den Adressen 0 bis 32 des RDRAM-Speichers 28 gelesen. Die erhaltenen Daten werden als Datensegment 54 vom Speicher zur Prioritätszuweisungseinheit übertragen.
  • Die erste Leseanforderung 51 betrifft einen Datenblock der Größe 96 Byte. Nach der Übertragung des Datensegments 54 bleiben noch 64 Byte übrig, die noch verarbeitet werden müssen. Aus diesem Grund bleibt eine Schnittstellen-Datensegmentanforderung 55 von der Schnittstelle A aktiv. Die Priorität der Schnittstellen-Datensegmentanforderung 55 wird von 3 auf 3 + 1 + 1 = 5 erhöht.
  • Der erste Grund für die Erhöhung der Priorität der Schnittstellen-Datensegmentanforderung 55 besteht darin, dass bei jeder Übertragung eines Lesedaten umfassenden Datensegments alle Prioritäten von Schnittstellen-Datensegmentanforderungen erhöht werden, die Lesezugriffen entsprechen, während die Prioritäten von Schnittstellen-Datensegmentanforderungen konstant bleiben, die Schreibzugriffen entsprechen. Bei jeder Übertragung eines Schreibdaten umfassenden Datensegments werden die Prioritäten von Schnittstellen-Datensegmentanforderungen erhöht, die Schreibzugriffen entsprechen, während die Prioritäten von Schnittstellen-Datensegmentanforderungen konstant bleiben, die Lesezugriffen entsprechen. Auf diese Weise lässt sich die Anzahl der Wechsel zwischen Schreibzugriffen und Lesezugriffen verringern. Jeder Wechsel zwischen Schreibzugriffen und Lesezugriffen führt zu einer zusätzlichen zeitlichen Verzögerung, die im Folgenden als „Lese-Schreib-Lücke" oder als „Schreib-Lese-Lücke" bezeichnet. Durch Verringerung der Anzahl der Wechsel zwischen Schreibzugriffen und Lesezugriffen werden die zusätzlichen zeitlichen Verzögerungen verringert, sodass die Zugriffe auf den RDRAM-Speicher effizienter ausgeführt werden können.
  • Der zweite Grund für die Erhöhung der Priorität der Schnittstellen-Datensegmentanforderung 55 besteht darin, dass nach der Übertragung eines bestimmten Datensegments die Priorität von Datensegmenten, die einen benachbarten Adressbereich betreffen, erhöht wird, um kontinuierliche Lese- und Schreiboperationen zu unterstützen. Nachdem das Datensegment 54 aus dem gemeinsam genutzten Speicher gelesen wurde, ist es von Vorteil, ein benachbartes Datensegment aus dem gemeinsam genutzten Speicher zu lesen, da in diesem Fall keine Neuadressierung erforderlich ist. Um kontinuierliche Lese- und Schreiboperationen zu unterstützen, können die Prioritäten von aufeinander folgenden Datensegmenten z.B. um eins erhöht werden. Auf diese Weise lassen sich zusätzliche zeitliche Verzögerungen aufgrund von Neuadressierungen, die im Folgenden als „Neuadressierungs-Lücken" bezeichnet werden, verringern.
  • Aus diesen beiden Gründen wird die Priorität der Schnittstellen-Datensegmentanforderung 55 von „3" auf „4" erhöht, um jeglichen Wechsel zwischen Lese- und Schreiboperationen zu vermeiden, und es wird die Priorität noch weiter von „4" auf „5" erhöht, um die Übertragung von benachbarten Datenblöcken zu unterstützen.
  • Zum Zeitpunkt 56 ist nur die Schnittstellen-Datensegmentanforderung von der Schnittstelle A aktiv. Demzufolge werden die von den Adressen 32 bis 64 gelesenen 32 Byte der Lesedaten als Datensegment 57 vom Speicher zur Prioritätszuweisungseinheit übertragen.
  • Zum Zeitpunkt 58 wird eine Schreibanforderung 59 über eine Schnittstelle B von der Prioritätszuweisungseinheit 30 empfangen. Die Schreibanforderung 59 zeigt an, dass 64 Byte Schreibdaten, beginnend bei der Adresse 256, aus dem Speicher gelesen werden sollen. Bei den Schreibdaten kann es sich z.B. um einen Block Ergebnisdaten handeln, und demzufolge kann den Schreibdaten eine Priorität „5" zugewiesen werden. Zum Zeitpunkt 58 wird von der Schnittstelle B eine Schnittstellen-Datensegmentanforderung 60 ausgegeben.
  • Zum Zeitpunkt 62 wird eine zweite Leseanforderung 61 empfangen, und die zweite Leseanforderung 61 zeigt an, dass 32 Byte Lesedaten, beginnend mit der Adresse 512, aus dem Speicher gelesen werden sollen. Zweck der Leseanforderung 61, die über die Schnittstelle C empfangen wird, kann zum Beispiel das Abrufen von Anweisungen aus dem Speicher sein, sodass der Leseanforderung zu Anfang eine Priorität „6" zugewiesen werden kann. Zum Zeitpunkt 63, da die zweite Leseanforderung 61 empfangen wird, wird gerade ein Lesezugriff bearbeitet. Um jeglichen Wechsel von einem Lesezugriff zu einem Schreibzugriff zu vermeiden, wird die Priorität der zweiten Leseanforderung 61 von „6" auf „7" erhöht. Zum Zeitpunkt 62, da die zweite Leseanforderung 61 empfangen wird, wird von der Schnittstelle C die Schnittstellen-Datensegmentanforderung 63 ausgegeben.
  • Die Übertragung des Datensegments 57 ist zum Zeitpunkt 64 beendet. Zum Zeitpunkt 64 ist die Schnittstellen-Datensegmentanforderung 65 von der Schnittstelle A noch aktiv, da die Verarbeitung der ersten Leseanforderung 51 noch nicht abgeschlossen ist. Es muss noch ein drittes Datensegment übertragen werden, das der ersten Leseanforderung 51 entspricht. Zum Zeitpunkt 64 ist die Priorität „7" der Schnittstellen-Datensegmentanforderung 63 höher als die entsprechenden Prioritäten der Schnittstellen-Datensegmentanforderungen 60 und 65. Demzufolge kommt als Nächstes ein Datensegment 67 an die Reihe, welches der zweiten Leseanforderung 61 entspricht. Nach einer durch Neuadressierung hervorgerufenen zeitlichen Verzögerung 66 wird das Datensegment 67 übertragen, wobei das Datensegment 67 32 Byte Lesedaten von den Adressen 512 bis 544 umfasst. Durch die Übertragung des Datensegments 67 ist die Verarbeitung der Leseanforderung 61 abgeschlossen und demzufolge wird die Schnittstellen-Datensegmentanforderung 63 von der Schnittstelle C auf null zurückgesetzt.
  • Zum Zeitpunkt 68 sind zwei Schnittstellen-Datensegmentanforderungen von den Schnittstellen A und B aktiv. Die Priorität der Schnittstellen-Datensegmentanforderung 69 ist von „5" auf „4" geändert worden, weil jetzt zur Verarbeitung der Datensegmentanforderung eine Neuadressierung erforderlich wäre. Zum Zeitpunkt 68 weist die Schnittstellen-Datensegmentanforderung 70 die höchste Priorität auf, und demzufolge wird als Nächstes die Schreibanforderung 59 verarbeitet. Nach einer durch eine „Lese-Schreib-Lücke" verursachten Zeitverzögerung 71 wird ein Datensegment 72 übertragen, der 32 Byte Schreibdaten umfasst. Die über die Schnittstelle B empfangenen Schreibdaten werden auf die Speicheradressen 256 bis 288 geschrieben. Um eine kontinuierliche Übertragung von Schreibdaten von der Prioritätszuweisungseinheit zum gemeinsam genutzten Speichers zu unterstützen, wird die Priorität der Schnittstellen-Datensegmentanforderung 73 von „5" auf „7" geändert. Zum Zeitpunkt 74 während der Übertragung des Datensegments 72 kann der Füllungsgrad des der Schnittstelle A entsprechenden FIFO-Puffers einen bestimmten vorgegebenen Wert überschreiten, und demzufolge wird die Priorität der Schnittstellen-Datensegmentanforderung 75 von „3" auf „4" erhöht.
  • Zum Zeitpunkt 76 wird entschieden, ein anderes Datensegment 77 zu übertragen, welches der Schreibanforderung 59 entspricht. Die über die Schnittstelle B empfangenen Schreibdaten werden auf die Speicheradressen 288 bis 320 des gemeinsam genutzten Speichers geschrieben. Durch das Übertragen des Datensegments 77 ist die Verarbeitung der Schreibanforderung 59 abgeschlossen und demzufolge wird die Schnittstellen-Datensegmentanforderung 73 auf null zurückgesetzt.
  • Zum Zeitpunkt 78 ist nur die Schnittstellen-Datensegmentanforderung 79 von der Schnittstelle A aktiv, da die Verarbeitung der ersten Leseanforderung 51 noch nicht abgeschlossen ist. Nach einer durch eine „Schreib-Lese-Lücke" verursachten Zeitverzögerung 80 wird vom gemeinsam genutzten Speicher ein drittes Datensegment 81 zur Prioritätszuweisungseinheit übertragen, welcher der ersten Leseanforderung 51 entspricht. Das Datensegment 81 umfasst 32 Byte Lesedaten, die von den Speicheradressen 64 bis 96 gelesen wurden.

Claims (22)

  1. Speichereinheit in einem Testkanal, welche Folgendes umfasst: einen gemeinsam genutzten Speicher (5, 28); eine Prioritätszuweisungseinheit (6, 30) zum Steuern der Zugriffe auf einen gemeinsam genutzten Speicher (5, 28), wobei die Prioritätszuweisungseinheit Folgendes umfasst: einen Satz Schnittstellen (31 bis 37) zum Verbinden einer Vielzahl von Einheiten mit der Prioritätszuweisungseinheit (6, 30), wobei abgehende Datenströme von der Prioritätszuweisungseinheit (6, 30) über entsprechende der Schnittstellen an mindestens eine der Einheiten gesendet werden, während ankommende Datenströme von mindestens einer der Einheiten über entsprechende der Schnittstellen an die Prioritätszuweisungseinheit (6, 30) übertragen werden; eine mit jeder der Schnittstellen (31 bis 37) verbundene Steuerlogik, welche in der Lage ist, Schreibdaten der ankommenden Datenströme zu segmentieren, um Schreibzugriffe auf den gemeinsam genutzten Speicher auszuführen, eine Folge (49) von mindestens einem Schreibzugriff und/oder Lesezugriff auf den gemeinsam genutzten Speicher (5, 28) zeitlich einzuordnen und die während der Lesezugriffe erhaltenen Lesedaten auf die abgehenden Datenströme zu verteilen, und mindestens einen Puffer, vorzugsweise mindestens einen FIFO-Puffer (38, 41 bis 46) zum Puffern eines oder mehrerer der ankommenden und abgehenden Datenströme.
  2. Speichereinheit nach Anspruch 1, bei welcher mindestens eine der Schnittstellen mindestens einen Puffer, vorzugsweise mindestens einen FIFO- Puffer (38, 41 bis 46), zum Puffern eines oder mehrerer der ankommenden und abgehenden Datenströme umfasst.
  3. Speichereinheit nach Anspruch 1 oder einem der vorangehenden Ansprüche, bei welcher jede der Schnittstellen mit einer bestimmten der Einheiten verbunden ist.
  4. Speichereinheit nach Anspruch 1 oder einem der vorangehenden Ansprüche, bei welcher mindestens eine der Einheiten in der Lage ist, mindestens eine der Schreibanforderungen (59) oder Leseanforderungen (51, 61) an die Prioritätszuweisungseinheit zu senden, wobei mindestens eine Schreibanforderung eine Startadresse und eine Größe des Datenblocks anzeigt, der in den gemeinsam genutzten Speicher geschrieben werden soll, und wobei mindestens eine Leseanforderung eine Startadresse und eine Größe des Datenblocks anzeigt, der aus dem gemeinsam genutzten Speicher gelesen werden soll.
  5. Speichereinheit nach Anspruch 1 oder einem der vorangehenden Ansprüche, bei welcher die Steuerlogik in der Lage ist, die Lesezugriffe und die Schreibzugriffe anhand von Prioritäten zeitlich einzuordnen, die mindestens einigen der verschiedenen Schnittstellen oder mindestens einigen der verschiedenen ankommenden und abgehenden Datenströmen zugewiesen werden.
  6. Speichereinheit nach Anspruch 1 oder einem der vorangehenden Ansprüche, bei welcher die Steuerlogik in der Lage ist, für einen ankommenden oder abgehenden Datenstrom eine kurze Latenzzeit vorzusehen, indem sie dem betreffenden Datenstrom eine entsprechend hohe Priorität zuweist.
  7. Speichereinheit nach Anspruch 5 oder einem der vorangehenden Ansprüche, bei welcher die Steuerlogik in der Lage ist, die Prioritäten so ändern, dass die Anzahl der Wechsel von Schreib- auf Lesezugriffe und umgekehrt gering gehalten wird.
  8. Speichereinheit nach Anspruch 5 oder einem der vorangehenden Ansprüche, bei welcher die Steuerlogik in der Lage ist, die Priorität so zu ändern, dass eine kontinuierliche Übertragung mindestens eines der Datenströme unterstützt wird.
  9. Speichereinheit nach Anspruch 5 oder einem der vorangehenden Ansprüche, bei welcher die Steuerlogik in der Lage ist, die Prioritäten so zu ändern, dass die Priorität des entsprechenden gepufferten Datenstroms umso höher wird, je stärker der Füllungsgrad eines Puffers zunimmt.
  10. Speichereinheit nach Anspruch 1 oder einem der vorangehenden Ansprüche, bei welcher die Prioritätszuweisungseinheit in einem Kanal einer automatisierten Testapparatur zum Koordinieren der Speicherzugriffe auf den gemeinsam genutzten Speicher verwendet werden kann, wobei der Kanal mindestens für eine der folgenden Aufgaben zuständig ist: Bereitstellen von Auslösedaten an mindestens eine zu testende Einheit (Device Under Test, DUT) und Empfangen von Antwortdaten von der mindestens einen DUT.
  11. Speichereinheit nach Anspruch 1 oder einem der vorangehenden Ansprüche, bei welcher die mindestens eine der Einheiten mindestens eine der folgenden Einheiten darstellt: eine Ablaufsteuereinheit (2), eine Ergebnisverarbeitungseinheit (16), ein Schnittstellenmodul (22) zum Herstellen einer Datenleitung (23) zwischen dem Kanal und einer Zentraleinheit und einen Mikroprozessorkern (25).
  12. Speichereinheit nach Anspruch 11, bei welcher die Prioritätszuweisungseinheit in der Lage ist, abgehende Datenströme an die Ablaufsteuereinheit (2) zu senden, wobei die abgehenden Datenströme mindestens Anweisungen (3) und/oder Ablaufsteuerdaten (4) umfassen.
  13. Speichereinheit nach Anspruch 12, bei welcher die Steuerlogik in der Lage ist, einem abgehenden Datenstrom eine hohe Priorität zuzuweisen, welcher Anweisungen für die Ablaufsteuereinheit umfasst.
  14. Speichereinheit nach Anspruch 11 oder einem der vorangehenden Ansprüche, bei welcher die Prioritätszuweisungseinheit in der Lage ist, einen ankommenden Datenstrom von der Ergebnisverarbeitungseinheit (16) zu empfangen, wobei der ankommende Datenstrom Ergebnisdaten (19) umfasst, die in den gemeinsam genutzten Speicher geschrieben werden sollen.
  15. Speichereinheit nach Anspruch 11 oder einem der vorangehenden Ansprüche, bei welcher die Prioritätszuweisungseinheit in der Lage ist, Datenströme (24) mit dem Schnittstellenmodul (22) auszutauschen, wobei den Datenströmen (24) eine hohe Priorität zugewiesen wird.
  16. Speichereinheit nach Anspruch 1 oder einem der vorangehenden Ansprüche, bei welcher der gemeinsam genutzte Speicher (5, 28) ein dynamischer RAM, vorzugsweise ein RDRAM, ist.
  17. Speichereinheit nach Anspruch 1 oder einem der vorangehenden Ansprüche, welche ferner eine Speicherdiagnoseeinheit (48) zum Ausgeben von Diagnoseanforderungen an den gemeinsam genutzten Speicher umfasst.
  18. Kanal (1) zum Verwenden in einer automatisierten Testapparatur, wobei der Kanal Folgendes umfasst: eine Speichereinheit nach einem der vorangehenden Ansprüche; eine Ablaufsteuereinheit (2) zum Lesen von Daten von der Speichereinheit und zum Ausgeben von Auslösedaten an mindestens eine DUT; und eine Ergebnisverarbeitungseinheit (16) zum Auswerten der von der mindestens einen DUT empfangenen Ergebnisdaten (19) und zum Schreiben von Daten in die Speichereinheit.
  19. Kanal nach Anspruch 18, welcher ferner ein Schnittstellenmodul (22) zum Herstellen einer Datenleitung (23) zwischen dem Kanal (1) und einer Zentraleinheit umfasst.
  20. Automatisierte Testapparatur zum Testen mindestens einer DUT, wobei die automatisierte Testapparatur Folgendes umfasst: mindestens einen Kanal (1) nach Anspruch 18 oder Anspruch 19; und eine Zentraleinheit zum Koordinieren des mindestens einen Kanals.
  21. Verfahren zum Zuweisen von Zugriffsoperationen auf einen gemeinsam genutzten Speicher (5, 28) in einer Speichereinheit eines Testkanals, wobei eine Vielzahl von Einheiten auf den gemeinsam genutzten Speicher (5, 28) zugreifen und das Verfahren die folgenden Schritte umfasst: Segmentieren der Schreibdaten von ankommenden Datenströmen, um entsprechende Schreibzugriffe auf den gemeinsam genutzten Speicher (5, 28) auszuführen; zeitliches Einordnen einer Folge (49) von Schreib- und Lesezugriffen auf den gemeinsam genutzten Speicher (5, 28); Verteilen der während der Lesezugriffe erhaltenen Lesedaten auf abgehende Datenströme.
  22. Softwareprogramm oder -produkt, das vorzugsweise auf einem Datenträger gespeichert ist, zum Ausführen des Verfahrens nach Anspruch 21, wenn es auf einem Datenverarbeitungssystem, wie beispielsweise einem Computer oder einem digitalen Signalprozessor, läuft.
DE60307798T 2003-05-30 2003-05-30 Arbitrierung von gemeinsamen Speicher Expired - Lifetime DE60307798T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP03101577A EP1482412B1 (de) 2003-05-30 2003-05-30 Arbitrierung von gemeinsamen Speicher

Publications (2)

Publication Number Publication Date
DE60307798D1 DE60307798D1 (de) 2006-10-05
DE60307798T2 true DE60307798T2 (de) 2006-12-14

Family

ID=33104179

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60307798T Expired - Lifetime DE60307798T2 (de) 2003-05-30 2003-05-30 Arbitrierung von gemeinsamen Speicher

Country Status (4)

Country Link
US (1) US7216182B2 (de)
EP (1) EP1482412B1 (de)
JP (1) JP2004362567A (de)
DE (1) DE60307798T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE491291T1 (de) * 2004-01-30 2010-12-15 Ericsson Telefon Ab L M Paketablaufsteuerung zur datenstromübertragung
JP4012167B2 (ja) * 2004-03-31 2007-11-21 株式会社東芝 無線通信システム
JP4181093B2 (ja) * 2004-07-16 2008-11-12 株式会社東芝 無線通信システム
JP4275085B2 (ja) * 2005-02-17 2009-06-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、およびデータストリーム生成方法
JP4847036B2 (ja) * 2005-03-30 2011-12-28 キヤノン株式会社 バスアクセスを調停する制御装置およびデータ処理装置の制御方法
US20080059672A1 (en) * 2006-08-30 2008-03-06 Irish John D Methods and Apparatus for Scheduling Prioritized Commands on a Bus
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
JP4752882B2 (ja) * 2008-07-24 2011-08-17 ソニー株式会社 メモリアクセスシステム、メモリ制御装置、メモリ制御方法、および、プログラム
WO2010085256A1 (en) * 2009-01-23 2010-07-29 Hewlett-Packard Development Company, L.P. System and methods for allocating shared storage resources
US8713248B2 (en) * 2009-06-02 2014-04-29 Nokia Corporation Memory device and method for dynamic random access memory having serial interface and integral instruction buffer
US10048884B2 (en) 2011-12-29 2018-08-14 Memory Technologies Llc Method for erasing data entity in memory module
US10536565B2 (en) * 2013-03-14 2020-01-14 International Business Machines Corporation Efficient centralized stream initiation and retry control
JP6146128B2 (ja) * 2013-05-20 2017-06-14 ヤマハ株式会社 データ処理装置
WO2015089488A1 (en) 2013-12-12 2015-06-18 Memory Technologies Llc Channel optimized storage modules
JP5911548B1 (ja) 2014-10-23 2016-04-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US10048963B2 (en) * 2016-05-23 2018-08-14 International Business Machines Corporation Executing system call vectored instructions in a multi-slice processor
FR3057970B1 (fr) * 2016-10-26 2019-12-13 Zodiac Aero Electric Architecture de communication pour l'echange de donnees entre des unites de traitement
JP2022057224A (ja) 2020-09-30 2022-04-11 株式会社デンソー 共用ストレージ管理装置及び共用ストレージ管理方法
JP2022163404A (ja) * 2021-04-14 2022-10-26 キヤノン株式会社 メモリ制御回路、情報処理システム及びメモリ制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5117486A (en) * 1989-04-21 1992-05-26 International Business Machines Corp. Buffer for packetizing block of data with different sizes and rates received from first processor before transferring to second processor
CA2080608A1 (en) * 1992-01-02 1993-07-03 Nader Amini Bus control logic for computer system having dual bus architecture
US5530838A (en) * 1993-06-10 1996-06-25 Ricoh Company, Ltd. Method and apparatus for controlling access to memory which is common to plural, priority-ordered central processing units and which is indirectly accessible via a transfer control unit
US5630096A (en) * 1995-05-10 1997-05-13 Microunity Systems Engineering, Inc. Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order
US5809538A (en) * 1996-02-07 1998-09-15 General Instrument Corporation DRAM arbiter for video decoder
US5905876A (en) * 1996-12-16 1999-05-18 Intel Corporation Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system
US5950229A (en) * 1997-03-12 1999-09-07 Micron Electronics, Inc. System for accelerating memory bandwidth
US6088772A (en) * 1997-06-13 2000-07-11 Intel Corporation Method and apparatus for improving system performance when reordering commands
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US6442628B1 (en) * 1998-05-01 2002-08-27 Adaptec, Inc. Method and system for automatically determining maximum data throughput over a bus
US20020046251A1 (en) * 2001-03-09 2002-04-18 Datacube, Inc. Streaming memory controller
US6622272B1 (en) * 2000-03-10 2003-09-16 Teradyne, Inc. Automatic test equipment methods and apparatus for interfacing with an external device
US6901500B1 (en) * 2000-07-28 2005-05-31 Silicon Graphics, Inc. Method and apparatus for prefetching information and storing the information in a stream buffer
JP2004280926A (ja) * 2003-03-14 2004-10-07 Renesas Technology Corp 半導体記憶装置

Also Published As

Publication number Publication date
JP2004362567A (ja) 2004-12-24
US20040243900A1 (en) 2004-12-02
EP1482412A1 (de) 2004-12-01
DE60307798D1 (de) 2006-10-05
EP1482412B1 (de) 2006-08-23
US7216182B2 (en) 2007-05-08

Similar Documents

Publication Publication Date Title
DE60307798T2 (de) Arbitrierung von gemeinsamen Speicher
DE69727721T2 (de) Rechnervorrichtung und Bussteuerungsschema
EP1720100B1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
DE60314347T2 (de) Betriebsmittelverwaltungsgerät
DE102007004044B4 (de) Verfahren und Anlage zur optimierten Übertragung von Daten zwischen einer Steuereinrichtung und mehreren Feldgeräten
DE60204687T2 (de) Speicherkopierbefehl mit Angabe von Quelle und Ziel, der in der Speichersteuerung ausgeführt wird
DE2350884C2 (de) Adreßumsetzungseinheit
DE60035774T2 (de) Arbitrierungsverfahren und systeme zur zugriffsarbitrierung auf einen speicher einer plattensteuerung
DE602004012492T2 (de) DMA-Steuerung mit Busbesetzungszeit-Beschränkung sowie DMA-Parametersätze für mehrere logische Prozessoren
DE60101253T2 (de) Arbiter für ein Warteschlangenverwaltungssystem
DE112005000219T5 (de) Verfahren und Vorrichtung zum Verwalten von Speicherzugriffsanforderungen
DE602005006338T2 (de) Vorrichtung und Verfahren zur Datenübertragungsverarbeitung
DE3241376A1 (de) Dma-steuereinrichtung zur uebertragung von daten zwischen einem datensender und einem datenempfaenger
DE2944419A1 (de) Digitalrechnersystem
DE102005048581B4 (de) Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle
DE112004002043B4 (de) Verfahren, System und Programm zum Aufbau eines Pakets
DE60009817T2 (de) Gemeinsamen Speicher verteilende Multiprozessorvorrichtung
DE602004008712T2 (de) Speicherbandbreiten-Steuereinrichtung
DE102007006508B4 (de) Mikrocontroller mit Speicher-Trace-Modul
DE60203785T2 (de) Netzschnittstelle
EP0409330B1 (de) Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher
DE60032805T2 (de) Vorrichtung zur arbitrierung eines speicherressources basiert auf zuteilung von zeitschlitzen
EP1548603B1 (de) Verfahren und Vorrichtung zum Steuern eines Speicherzugriffs
DE3247083A1 (de) Mehrprozessorsystem
EP1308846B1 (de) Datenübertragungseinrichtung

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: VERIGY (SINGAPORE) PTE. LTD., SINGAPORE, SG

8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1482412

Country of ref document: EP

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER & PARTNER