-
HINTERGRUND
-
Technisches Gebiet
-
Diese Offenbarung betrifft allgemein das Testen einer Direktspeicher-Adressumsetzung und insbesondere betrifft sie ein effizientes Testen einer Direktspeicher-Adressumsetzung in einer integrierten Schaltung wie beispielsweise in einer Hochgeschwindigkeits-Übertragungsverbindung zwischen einem oder mehreren Prozessoren und Grafikverarbeitungsei nheiten.
-
Stand der Technik
-
Testwerkzeuge für integrierte Schaltungen versuchen, den gründlichsten und anspruchsvollsten Testfall für eine integrierte Schaltung zu erzeugen. In der Theorie sollen die erzeugten Testfälle eine maximale Testabdeckung bieten und in der Lage sein, verschiedene Taktungsszenarien und Operationen auf der integrierten Schaltung einem Belastungstest zu unterziehen. Das Testen kann während der Entwicklung und Herstellung durchgeführt werden. Der Aufbau von Testfällen, um eine komplizierte integrierte Schaltung gründlich zu testen, kann äußerst zeit- und ressourcenintensiv sein. Das Erstellen von einem effizienten Testcode ist ein wichtiges Ziel des Testens von integrierten Schaltungen.
-
Der direkte Speicherzugriff (DMA, direct memory access) ist ein Merkmal von Computersystemen, das es Hardware-Subsystemen ermöglicht, unabhängig von der zentralen Verarbeitungseinheit (CPU, central processing unit) auf den Hauptsystemspeicher zuzugreifen. In einigen Hochgeschwindigkeitssystemen wird eine Verbindungsverarbeitungseinheit verwendet, um zwischen Chips bzw. Teilen eines Chips eine Verbindung herzustellen, um einen DMA zwischen den Chips bereitzustellen, während gleichzeitig Hauptspeicherkohärenz sichergestellt wird. Eine beispielhafte Verwendung dieser Verbindungsverarbeitungseinheit wäre, einen CPU-Chip mit einem Cluster von Chips einer Grafikverarbeitungseinheit (GPU, graphics processing unit) zu verbinden. Die CPU und das GPU-Cluster verfügen über die Fähigkeit, den Hauptspeicher des jeweils anderen kohärent zu lesen und zu beschreiben. Die GPU kann (DMA-)Lese- und Schreiboperationen ohne Zwischenspeicherung für Datenbewegungen hoher Bandbreite zwischen dem GPU-Hauptspeicher und dem CPU-Hauptspeicher verwenden.
-
KURZDARSTELLUNG
-
Eine Schaltung und ein Verfahren stellen eine effiziente Belastungsprüfung von Adressumsetzungen in einer integrierten Schaltung wie beispielsweise einer Verbindungsverarbeitungseinheit bereit. Eine Zufalls-DMA -Modus-(RDM-)Schaltung stellt eine zufällige Eingabe für eine Indexierung in einer Umsetzungsprüfungstabelle (TVT, translation validation table) bereit, die zur Erzeugung der realen Hauptspeicheradresse verwendet wird. In einem veranschaulichten Beispiel ist die Eingabe in die Tabelle normalerweise eine partitionierbare Endpunktnummer (PE#), die einem bestimmten Busagenten entspricht, der mit dem System verbunden ist. Die RDM-Schaltung ermöglicht das Testen aller Einträge der TVT und somit aller DMA-Modi, ungeachtet dessen, welche Busagenten mit der Verbindungsverarbeitungseinheit verbunden sind. Die RDM-Schaltung kann einen Multiplexer verwenden, um zwischen einer Eingabe zur Laufzeit und einer zufälligen Testeingabe zu wählen, die von dem Zufallsbitgenerator bereitgestellt wird. Wenn sich die Verbindungsverarbeitungseinheit in einem Testmodus befindet, wird ein Modusauswahlbit bestätigt, um die zufällige Testeingabe auszuwählen.
-
Die vorstehenden und andere Merkmale und Vorteile gehen aus der folgenden ausführlicheren Beschreibung hervor, die in den beiliegenden Zeichnungen veranschaulicht ist.
-
Figurenliste
-
Die Offenbarung wird in Verbindung mit den beigefügten Zeichnungen beschrieben, in denen gleiche Bezeichnungen gleiche Elemente angeben, und:
- 1 ein Blockschaubild eines Systems mit einer Verbindungsverarbeitungseinheit ist, die über eine Zufalls-DMA-Modus-Schaltung zum effizienten Testen einer DMA-Adressumsetzung auf einer integrierten Schaltung verfügt;
- 2 ein Blockschaubild einer Verbindungsverarbeitungseinheit ist, die über eine Zufalls-DMA-Modus-Schaltung zum effizienten Testen einer DMA-Adressumsetzung verfügt;
- 3 ein vereinfachtes Blockschaubild eines Teils des in 2 gezeigten ATS-Blocks und eines spezifischen Beispiels der Zufalls-DMA-Modus-Schaltung zum effizienten Testen einer DMA-Adressumsetzung ist;
- 4 ein vereinfachtes Blockschaubild einer Ausführung für die Zufalls-DMA -Modus-(RDM-)Schaltung ist, die in den 1 bis 3 gezeigt ist;
- 5 ein Ablaufplan eines Verfahrens zum effizienten Testen einer DMA-Adressumsetzung auf einer integrierten Schaltung ist; und
- 6 ein Ablaufplan eines bestimmten Verfahrens für den Schritt 520 in 5 ist.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die Offenbarung und die Ansprüche hierin beziehen sich auf eine Schaltung und ein Verfahren für eine effiziente Belastungsprüfung von Adressumsetzungen in einer integrierten Schaltung wie beispielsweise einer Verbindungsverarbeitungseinheit. Eine Zufalls-DMA -Modus-(RDM-)Schaltung stellt eine zufällige Eingabe für eine Indexierung in einer Umsetzungsprüfungstabelle (TVT) bereit, die zur Erzeugung der realen Hauptspeicheradresse verwendet wird. In einem veranschaulichten Beispiel ist die Eingabe in die Tabelle normalerweise eine partitionierbare Endpunktnummer (PE#), die einem bestimmten Busagenten entspricht, der mit dem System verbunden ist. Die RDM-Schaltung ermöglicht das Testen aller Einträge der TVT und somit aller DMA-Modi, ungeachtet dessen, welche Busagenten mit der Verbindungsverarbeitungseinheit verbunden sind. Die RDM-Schaltung kann einen Multiplexer verwenden, um zwischen einer Eingabe zur Laufzeit und einer zufälligen Testeingabe zu wählen, die von dem Zufallsbitgenerator bereitgestellt wird. Wenn sich die Verbindungsverarbeitungseinheit in einem Testmodus befindet, wird ein Modusauswahlbit bestätigt, um die zufällige Testeingabe auszuwählen.
-
1 ist ein Blockschaubild eines Systems 100 mit einer Verbindungsverarbeitungseinheit (LPU, link processing unit) 120, die über eine Zufalls-DMA-Modus-(RDM-)Schaltung 110 verfügt, um DMA-Adressumsetzungen mit der Verwendung von DMA-Zugriffsmodi effizient zu testen, wie hierin beansprucht wird. Die Verbindungsverarbeitungseinheit 120 stellt eine Hochgeschwindigkeitsverbindung bereit, um eine oder mehrere zentrale Verarbeitungseinheiten (CPUs) mit einem Cluster von GPUs zu verbinden. In dem veranschaulichten Beispiel ist eine einzelne CPU 114 mit zwei GPUs 130A, 130B, die gemeinsam als GPU oder GPUs 130 bezeichnet werden, verbunden. In diesem Beispiel sind die LPU 120 und die CPU 114 zusammen integriert und befinden sich auf einem Prozessorchip 112. Die GPUs 130 befinden sich in diesem Beispiel auf einem getrennten Chip. Alternativ können sich die GPUs 130 auf dem Prozessorchip 112 befinden. Das veranschaulichte Beispiel enthält einen Hauptspeicher 116, in den Testsoftware 118 geladen wurde. Der Hauptspeicher 116 kann sich wie gezeigt auf dem Prozessorchip 112 befinden oder er kann sich außerhalb des Chips befinden. Die Testsoftware 118 kann die Umsetzungstabellen laden, wie nach dem Stand der Technik bekannt ist. Die Testsoftware testet den Hauptspeicher, während die RDM-Schaltung 110 die DMA-Zugriffsmodi in den Tests ungeachtet dessen, welche Agenten verbunden sind, randomisiert, wie nachstehend näher beschrieben wird.
-
Ein Beispiel einer LPU 120 ist die Power9-(P9)-NV-Link-Verarbeitungseinheit (NPU), die von der International Business Machines Corporation entwickelt wird. In den Beispielen hierin ist die LPU 120 mit Ausnahme der RDM-Schaltung 110, die hierin beschrieben wird, ähnlich der NPU. Die P9-NV-Link-Verarbeitungseinheit (NPU) verwendet die NV-Link™ -Verbindung, um den Chip 112 der zentralen Verarbeitungseinheit (CPU) mit dem Cluster der GPU-Chips 130 zu verbinden. NV-Link™ (nachstehend NV-Link) ist eine Hochgeschwindigkeitsverbindungsarchitektur im Eigentum der NVIDIA Corporation. NV-Link stellt Hauptspeicher-Cache-Kohärenz zwischen Chips bei sehr hoher Datenbandbreite bereit. Die CPU(s) und das GPU-Cluster verfügen über die Fähigkeit, den Hauptspeicher des jeweils anderen kohärent zu lesen und zu beschreiben. Die GPU kann (DMA-)Lese- und Schreiboperationen ohne Zwischenspeicherung für Datenbewegungen hoher Bandbreite zwischen dem GPU-Hauptspeicher und dem CPU-Hauptspeicher verwenden. Die NPU stellt die Transaktionsschicht-Funktionalität für den/die NV-Link(s) für den Prozessor bereit. Diese Funktionalität beinhaltet das Entgegennehmen von Befehlen von der NV-Link-Datenverbindungslogik, deren Umwandeln in Abfolgen von Busbefehlen und das anschließende Erzeugen von Antworten beruhend auf den Ergebnissen der Busbefehle. Die Antworten werden durch die Datenverbindungslogik zurück an den NV-Link gesendet. Zu den unterstützten Befehlen gehören Lese-, Schreib-, Test- und Löschoperationen. Dieselben Arten von Befehlen sowie Upgrade- und Downgrade-Befehle können von der NPU über den NV-Link an das GPU-Cluster gesendet werden.
-
2 ist ein vereinfachtes Blockschaubild der in 1 vorgestellten Verbindungsverarbeitungseinheit (LPU) 120. Zu den wichtigsten Blöcken der LPU 120 gehören drei gemeinsam zur NPU gehörende Warteschlangenblöcke (NPCQ) 210A, 210B, 210C, sechs NV-Link-Transaktionsschichtblöcke (NTL) 212A bis 212F, ein erweiterter Umsetzungsserviceblock (XTS) 214 und ein Adressumsetzungsblock (ATS) 216. Wie vorstehend einführend beschrieben wurde, enthält die LPU 120 eine Zufalls-DMA-Modus-(RDM-)Schaltung 110 für ein effizientes Testen von DMA-Zugriffsmodi. In diesem Beispiel ist die RDM 110 in den Adressumsetzungsblock (ATS) 216 integriert. Der ATS 216 stellt eine Adressverschiebung und Adressprüfung bereit, wenn nicht umgesetzte Adressen in Befehlen von der GPU verwendet werden. Die RDM-Schaltung 110 und die Funktion des ATS 216 werden nachstehend unter Bezugnahme auf 3 näher beschrieben.
-
Nochmals Bezug nehmend auf 2 enthält die LPU 120 sechs NV-Link-Transaktionsschichtblöcke (NTL) 212A bis 212F, die gemeinsam als NTL-Blöcke 212 bezeichnet werden. Jeder der NTL-Blöcke 212 weist eine als Baustein („brick“) bezeichnete Einheit auf. Jeder Baustein stellt einen getrennten Strom von Befehlen an den NV-Link bereit und jeder Baustein kann mit einem oder mehreren externen Chips verbunden werden. Alle Reihenfolgeanforderungen werden einzeln für jeden Baustein durchgesetzt. Die LPU 120 enthält des Weiteren drei gemeinsam zur NPU gehörende Warteschlangenblöcke (NPCQ) 210A, 210B, 210 C, die gemeinsam als NPCQ(s) 210 bezeichnet werden. Die NPCQs stellen drei PowerBus-Einheitenschnittstellen bereit, die in 2 als 218A, 218B und 218C gezeigt sind. Jede der PowerBus-Schnittstellen unterstützt zwei NV-Link-Bausteine (NTL-Blöcke 212).
-
Nochmals Bezug nehmend auf 2 enthält die LPU 120 des Weiteren einen erweiterten Umsetzungsserviceblock (XTS) 214. Der XTS 214 wird verwendet, um die Address Translation Services-Operationen des NV-Links zu unterstützen. Dieser Block nimmt Address Translation Requests von der GPU entgegen, sucht den notwendigen Umsetzungskontext und erstellt Umsetzungsanforderungen für die P9. Umsetzungskontexte werden in einer Tabelle in der XTS-Einheit festgehalten. Wenn die Nest MMU auf eine Umsetzungsanforderung antwortet, erstellt der XTS-Block eine Address Translation Response, die über den NV-Link an die GPU gesendet wird. Der XTS-Block erzeugt auch Address Shoot-down Requests beruhend auf dem Abhören von TLBie-Operationen auf dem PowerBus, wie nach dem Stand der Technik bekannt ist.
-
3 ist ein vereinfachtes Blockschaubild eines Teils des in 2 vorgestellten Adressumsetzungsblocks (ATS) 216. In diesem Beispiel ist die RDM-Schaltung 110 in den Adressumsetzungsblock (ATS) 216 integriert. Der ATS 216 stellt eine Adressverschiebung und Adressprüfung bereit, wenn nicht umgesetzte Adressen in Befehlen von der GPU verwendet werden. Zusätzliche Einzelheiten der Verschiebung und Prüfung sind in der Spezifikation „IO Device Architecture, Version 2 (IODA2)“ beschrieben, die sich im Eigentum der OpenPOWER Foundation befindet. Der Umsetzungsprozess des ATS 216 beginnt unten in 3 mit der Buseinheitenfunktion (BDF, bus device function) 310 und der DMA-Adresse 312 und wird nach oben fortgesetzt, um die reale Adresse 314 des Systems zu erstellen. Die Adressumsetzung in dem ATS 216 umfasst drei grundlegende Schritte. Im Schritt 1 wird einer jeden Adressumsetzungsoperation für eine DMA-Adresse 312, die von einem Agenten (GPU oder CPU) mit einer Buseinheitenfunktion 310 empfangen wird, eine partitionierbare Endpunktnummer (PE#) 318 zugewiesen. Die Funktionen der RDM-Schaltung 110 im Schritt 1 sind nachstehend näher beschrieben. Die Schritte 2 und 3 arbeiten in einer dem Stand der Technik ähnlichen Weise. Im Schritt 2 wird die PE# 318 für eine Indexierung in einer Umsetzungsprüfungstabelle (TVT) 320 verwendet, um einen Umsetzungsprüfungseintrag (TVE, translation validation entry) zu finden. Im Schritt 3 wird die reale Adresse 314 anhand von Informationen aus der TCE-Tabelle 330 festgelegt, wobei der TVE und die Bits 334 aus der DMA-Adresse 312 verwendet werden. Jeder dieser Schritte wird nachstehend näher beschrieben.
-
Nochmals Bezug nehmend auf 3 besteht der Schritt 1 des Prozesses zur Umsetzung von Adressen darin, einer jeden DMA-Operation eine partitionierbare Endpunktnummer (PE#) zuzuweisen. Normalerweise wird allen DMA-Operationen, die zu einer Buseinheitenfunktion (BDF) gehören, dieselbe PE# zugewiesen. Jede DMA-Operation hat einen oder mehrere zugehörige Agenten (GPU oder CPU). Die Buseinheitenfunktion (BDF) 310 gibt die Identität des oder der Agenten an, der bzw. die der aktuellen Hauptspeicher-Adressumsetzungsoperation entsprechen. Die Identität der durch die BDF 310 dargestellten Einheit wird dem Agenten üblicherweise in der Hardwareerkennungsphase zugewiesen, wenn das System gebootet wird. Die BDF 310 wird verwendet, um eine partitionierbare Endpunktnummer (PE#) auszuwählen, welche verwendet wird, um aus der PE#-Konfigurationstabelle (PCT, PE# configuration table) 316 auf die TVT 320 zuzugreifen. In einem Beispiel werden die Bits der BDF 310 mit einer Exklusiv-ODER-Operation hashverschlüsselt, um einen Vier-Bit-Index zu bilden, der für eine Indexierung in der PCT-Tabelle 316 verwendet wird. Die PCT 316 hat eine Breite von vier Bit und sechzehn Einträge. Jeder Eintrag der PCT enthält die PE#, die zu der BDF gehört, von der der DMA-Befehl empfangen wurde. Die PCT 316 gibt eine Vier-Bit-PE# 318A aus. Im Normalbetriebsmodus wird diese PE# 318A als PE# 318B durch die RDM-Schaltung 110 geleitet und der TVT für den Schritt 2 bereitgestellt, wie nachstehend beschrieben wird. In einem Testmodus ändert die RDM-Schaltung 110 die PE# 318B zufällig, wie nachstehend näher beschrieben wird.
-
Nochmals Bezug nehmend auf 3 verwendet der Schritt 2 des Prozesses zur Umsetzung von Adressen das PE#-318B-Signal für eine Indexierung in einer Umsetzungsprüfungstabelle (TVT) 320, um einen Umsetzungsprüfungseintrag (TVE) 322 zu finden. In diesem spezifischen Beispiel ist die TVT 320 eine Tabelle mit sechzehn Einträgen, mit einem Eintrag für jede PE#. Die Eingabe in die TVT ist das Vier-Bit-PE#-318B-Signal von der vorstehend beschriebenen RDM-Schaltung 110. Die Ausgabe der TVT 320 ist ein Umsetzungsprüfungseintrag (TVE) 322. Der TVE enthält einen Zeiger auf die Umsetzungssteuerungseintrag-(TCE-)Tabelle 330 (wobei TCE für „translation control entry“ steht), wie nachstehend beschrieben wird. In dem hierin beschriebenen Beispiel enthalten die Zeigerinformationen in der TVT 320 eine Umsetzungstabellenadresse (TTA, translation table address), eine Baumtiefe eines Umsetzungssteuerungseintrags (TCE), eine TCE-Tabellengröße und eine E/A-Seitengröße. Diese Felder des TVE 322 werden für eine Indexierung in der TCE-Tabelle verwendet, wie nachstehend näher beschrieben wird.
-
Der Schritt 2 des Prozesses fährt wie folgt fort. Ergebnisse der Decodierung des TVE 322 können „der TVE 322 ist ungültig“ oder „der TVE 322 ist gültig“ sein. Wenn der TVE 322 gültig ist, beinhalten die Zustände eine Angabe, ob die Umsetzung deaktiviert oder aktiviert ist und ob die DMA-Adresse außerhalb oder innerhalb des TCE-Tabellenbereichs liegt. Bits in dem TVE geben eine jede der vorstehenden Bedingungen an. Der TVE 322 wird an einen Prüfe-Adresse-Block 324 gesendet. Der TVE 322 wird von dem Prüfe-Adresse-Block 324 verwendet, um zu überprüfen, ob die DMA-Adresse innerhalb eines vordefinierten Bereiches liegt. Wenn die DMA-Adresse außerhalb dieses Bereichs liegt, schlägt die Umsetzungsoperation fehl. Wenn der Bereichstest erfolgreich verläuft, kann der TVE einen „Nicht Umsetzen“-Modus 326 angeben. In diesem Fall wird die DMA-Adresse als die Systemspeicheradresse verwendet. Wenn der „Umsetzen“-Modus angegeben wird, stellt der TVE die Basisadresse der TCE-Tabelle 330 bereit, die für den Schritt 3 des Umsetzungsprozesses verwendet wird. Der TVE gibt auch eine im Schritt 3 zu verwendende E/A-Seitengröße an.
-
Nochmals Bezug nehmend auf 3 erstellt der Schritt 3 des Prozesses der Adressumsetzung die reale Hauptspeicheradresse 314 aus Informationen, die er von der Umsetzungssteuerungseintrag-(TCE-)Tabelle 330 erhalten hat, wobei er die Basisadresse von dem TVE und die Bits 334 von der DMA-Adresse 312 verwendet. Die Bits 334 der DMA-Adresse 312, die verwendet werden, hängen von der E/A-Seitengröße ab. Die TCE-Tabelle 330 enthält einen Umsetzungssteuerungseintrag (TCE) für jede Umsetzung. Der TCE-Eintrag in der TCE-Tabelle 330 gibt die realen Seitennummernbits an, die die höherwertigen DMA-Adressbits beruhend auf der E/A-Seitengröße ersetzen, um die reale Hauptspeicheradresse 314 zu bilden. Der TCE-Tabelleneintrag gibt auch die Zugriffsarten (Lesen und/oder Schreiben) an, die für eine Adresse zulässig sind. Andere Umsetzungsmodusinformationen können ebenfalls in dem TCE gespeichert werden, wie nach dem Stand der Technik bekannt ist. Der ATS 216 enthält des Weiteren einen Cachespeicher mit TCEs 332 und führt eine Tabellensuchoperation durch, wenn ein Cachefehler auftritt.
-
In der Verwendung hierin handelt es sich bei Umsetzungsmodusinformationen um Informationen, die gespeichert und verwendet werden, um DMA-Adressen umzusetzen. In den veranschaulichten Beispielen gehören die Informationen in der TCE-Tabelle 300 und die Zeigerinformationen in der TVT 320 zu den Umsetzungsmodusinformationen, wie vorstehend beschrieben wurde. Es ist wünschenswert, alle Modi der DMA-Adressumsetzung während des Testens der LPU 120 (1) unter Verwendung der Umsetzungsmodusinformationen zu testen. Während eines Testmodus der LPU 120 (1) kann die TCE-Tabelle 330 mit Umsetzungsmodusinformationen geladen werden, um alle Modi der Adressumsetzung zu testen. Die RDM-Schaltung 110 ermöglicht das Testen von allen Modi für alle sechzehn Einträge der TVT 320, indem ein Eintrag der TVT zufällig ausgewählt wird, wie nachstehend näher beschrieben wird. Die TVT 320 stellt Zeiger für eine Indexierung in der TCE-Tabelle 330 bereit, wie vorstehend beschrieben wurde. Die Modusinformationen werden in einer nach dem Stand der Technik bekannten Weise von Software in die TCE-Tabelle 330 geladen, um die LPU 120 zu testen. Zum Beispiel kann die TCE-Tabelle 330 von einem Betriebssystem der CPU, einer Anwendung oder einer anderen Testsoftware geladen werden. Das Testen der Einheitenumsetzung kann dann durchgeführt werden, wenn eine einzelne mit der LPU verbundene GPU Zugriff auf den Hauptspeicher mit einer Adresse anfordert, die umgesetzt wird, wie hierin beschrieben wird. Verfahren zur Überprüfung der korrekten Umsetzung können auf eine geeignete Weise durchgeführt werden, wie nach dem Stand der Technik bekannt ist. Dazu könnten eine Chipfehlererkennung oder eine Testsoftwareerkennung gehören.
-
4 ist ein vereinfachtes Blockschaubild einer Zufalls-DMA -Modus-(RDM-)Schaltung 110. Die RDM-Schaltung 110 gibt die PE# 318B für eine Indexierung in der TVT 320 aus, die zur Erstellung einer realen Adresse 314 verwendet wird, wie vorstehend beschrieben wurde. 4 zeigt eine Beispielschaltung, um diese Operation bereitzustellen. In diesem Beispiel verwendet die RDM-Schaltung 110 einen Multiplexer 410 mit einem Modusbit 412, um zwischen einem Normalbetriebsmodus und einem Testbetriebsmodus zu wählen. Im Normalbetriebsmodus wählt das Modusbit 412 des Multiplexers 410 die von der PCT 316 (3) bereitgestellte PE#-318A-Eingabe aus. In einem Testbetriebsmodus wählt das Modusbit 412 die Ausgabe eines Vier-Bit-Zufallssignalgenerators 414 aus. Wenn sich die Verbindungsverarbeitungseinheit in einem Testmodus befindet, wird das Modusbit 416 bestätigt, um die Eingabe von dem Vier-Bit-Zufallssignalgenerator 414 auszuwählen, um sie an den Ausgang des Multiplexers 410 zu legen, der als das Signal PE# 318A gezeigt ist. Die RDM-Schaltung 110 ermöglicht somit das Testen von allen Einträgen der TVT ungeachtet dessen, welche Busagenten mit der Verbindungsverarbeitungseinheit verbunden sind, wo die Eingabe in die TVT von dem Vier-Bit-Zufallssignalgenerator 414 bereitgestellt wird. Das Modusbit kann durch ein entsprechendes Mittel für den Testmodus gesetzt werden. Zum Beispiel kann das Modusbit 412 vom Basic Input/Output System (BIOS) während des Bootens der integrierten Schaltung gesetzt werden.
-
Unter Bezugnahme auf 5 zeigt ein Verfahren 500 ein geeignetes Beispiel für eine effiziente Belastungsprüfung von Adressumsetzungen in einer integrierten Schaltung wie beispielsweise einer Verbindungsverarbeitungseinheit. Das Verfahren 500 wird vorzugsweise von der LPU 120 in 1 und der in 4 gezeigten Zufallsmodusschaltung 110 sowie der in 1 gezeigten Testsoftware 118 durchgeführt. Lade zuerst eine Umsetzungstabelle mit Umsetzungseinträgen, die über Umsetzungsinformationen für alle Umsetzungsmodi für alle Agenten verfügen (Schritt 510). Verwende dann einen einzelnen Agenten (GPU), um alle Umsetzungseinträge zu testen, indem ein Eintrag der Umsetzungstabelle zufällig ausgewählt wird, während eine DMA-Umsetzung ungeachtet dessen, welche Agenten verbunden sind, getestet wird (Schritt 520). Das Verfahren ist dann abgeschlossen.
-
6 zeigt ein geeignetes Beispiel eines Verfahrens zur zufälligen Auswahl von Umsetzungsarten für Test-DMA-Umsetzungen in einer integrierten Schaltung wie beispielsweise einer Verbindungsverarbeitungseinheit. Das Verfahren 600 zeigt somit geeignete Schritte zur Durchführung des Schritts 520 im Verfahren 500. Stelle zuerst ein zufälliges Signal an einem Eingang in einen Multiplexer bereit (Schritt 610). Wähle das aus dem Multiplexer auszugebende zufällige Signal unter Verwendung eines ausgewählten Eingangs des Multiplexers (Schritt 620) aus. Stelle das zufällige Signal von dem Multiplexer einer Umsetzungstabelle bereit, um während des Testens einen Eintrag der Umsetzungstabelle zufällig auszuwählen (Schritt 630). Das Verfahren ist dann abgeschlossen.
-
Die Offenbarung und die Ansprüche hierin beschreiben eine Schaltung und ein Verfahren für eine effiziente Belastungsprüfung von Adressumsetzungen in einer integrierten Schaltung mit einer Zufalls-DMA-Modus-(RDM-)Schaltung, die eine zufällige Eingabe für eine Indexierung in einer Umsetzungsprüfungstabelle bereitstellt. Die RDM-Schaltung ermöglicht das Testen aller Einträge der Umsetzungsprüfungstabelle und somit aller DMA-Modi, ungeachtet dessen, welche Busagenten verbunden sind, um die integrierte Schaltung effizienter zu testen.
-
Der Fachmann ist sich bewusst, dass viele Variationen innerhalb des Umfangs der Ansprüche möglich sind. Während die Offenbarung vorstehend im Einzelnen gezeigt und beschrieben wurde, versteht der Fachmann, dass diese und andere Änderungen an der Form und den Einzelheiten darin vorgenommen werden können, ohne vom Wesen und Umfang der Ansprüche abzuweichen.