67 research outputs found

    Algorithmen, Architekturen und Technologie der optoelektronischen Rechentechnik

    Get PDF
    Der Einsatz optischer Verbindungen in der Rechentechnik verspricht viele der heute bei der Kommunikation zwischen Leiterplatten und zwischen integrierten Schaltkreisen auftretende EngpĂ€sse zu lösen. Optische Verbindungen moderaler ParallelitĂ€t (10-20 KanĂ€le) zwischen Baugruppen sind, wie die Ergebnisse dieser Arbeit zeigen, mittlerweile technisch machbar. Die effiziente Nutzung optischer Verbindungen im Bereich chip-to-chip zum Aufbau eines 3-dimensionalen optoelektronischen VLSI (3-D O E-VLSI) erfordert dagegen wesentlich stĂ€rkere Eingriffe in die Architektur derzeitiger VLSI-Systeme. Aufgabe der Informatik ist einerseits die Entwicklung geeigneter Architekturen und zugehöriger Algorithmen und andererseits der Nachweis der hardwaretechnischen Machbarkeit der entwickelten Architekturkonzepte. In der Arbeit werden eine Reihe von ArchitekturvorschlĂ€gen unterbreitet, die weitgehend bis auf die Hardwareebene spezifiziert sind und teilweise in ersten Demonstrator- und Testschaltkreisen realisiert wurden. Dies betrifft ein superskalares aus Superpipelinestufen aufgebautes optoelektronisches 3-D Rechenwerk fĂŒr Ganzzahlarithmetik, einen binĂ€ren neuronalen Assoziativspeicher, figurierbare Hardwarestrukturen, eine 3-D Architektur fĂŒr alle Prozessoren, systolische Addierer und ein Architekturkonzept fĂŒr einen digitalen optoelektronischen Bildverarbeitungsprozessor. Durch theoretische Vergleiche wird der Nachweis erbracht, daß fĂŒr die genannten Architekturen durch den Einsatz eines hochdichten optischen Verbindungssystems Steigerungen der Durchsatzrate von 1-3 GrĂ¶ĂŸenordnungen gegenĂŒber rein-elektronischen Systemen möglich sind. FĂŒr den Assoziativspeicher, die rekonfigurierbare Hardware und das 3-D Rechenwerk fĂŒr Ganzzahlarithmetik wurden erste einfache OE-VLSI-Schaltkreise auf der Basis optischer Modulatoren und PN-Detektoren realisiert. Da der Entwurf solcher Systeme neue rechnergestĂŒtzte Entwurfssysteme erfordert, werden ferner die im Rahmen der Arbeit durchgefĂŒhrten Entwicklungen fĂŒr ein Simulations- und Synthesewerkzeug fĂŒr 3-D OE-VLSI-Systeme dargestellt

    Effiziente externe Beobachtung von CPU-AktivitÀten auf SoCs

    Get PDF
    Die umfassende Beobachtbarkeit von System‐on‐Chips (SoCs) ist eine wichtige Voraussetzung fĂŒr das effiziente Testen und Debuggen eingebetteter Systeme. Ausgehend von einer Analyse verschiedener AnwendungsfĂ€lle ergibt sich ein Katalog von Anforderungen an die Beobachtbarkeit von SoCs. Ein wichtiges Kriterium ist hier die VollstĂ€ndigkeit der Beobachtung und umfasst die AktivitĂ€ten der CPU (ausgefĂŒhrte Instruktionen, gelesene und geschriebene Daten, Verhalten des Caches, AusfĂŒhrungszeiten), des Bussystems und von Umgebungsbedingungen. Weitere Kriterien sind die EchtzeitfĂ€higkeit und die KontinuitĂ€t der Beobachtung sowie die gleichzeitige DurchfĂŒhrung verschiedener Beobachtungsaufgaben. Dabei soll es zu einer möglichst geringen Beeinflussung des SoCs kommen. Weitere wichtige Aspekt sind die Kosten der Lösung, die UniversalitĂ€t, die Skalierbarkeit sowie die Latenz der VerfĂŒgbarkeit der Beobachtungsergebnisse. FĂŒr viele Anwendungen, besonders in sicherheitskritischen Bereichen, muss zudem nachgewiesen werden, dass das Beobachtungsverfahren kein Fehlverhalten des SoCs bewirkt bzw. ein solches maskiert. Eine besondere Herausforderung stellen Multiprozessor‐SoCs (MPSoCs) dar, da hier die Kommunikation zwischen den einzelnen CPUs im Inneren des SoC stattfindet und entsprechend schwierig fĂŒr einen externen Bobachter sichtbar zu machen ist. Der Stand der Technik zur Beobachtung von SoCs wird im Wesentlichen durch zwei Verfahren dargestellt. Bei der Software‐Instrumentierung wird zum funktionalen Programmcode zusĂ€tzlicher Code hinzugefĂŒgt, welcher zur Beobachtung des Programms dient. Diese Methode ist einfach und universell anwendbar, erfĂŒllt aber die genannten Kriterien nur sehr eingeschrĂ€nkt. Nachteilig ist hier der Ressourcenverbrauch im Falle des Verbleibs der Instrumentierung im fertigen Produkt. Wird die Instrumentierung nur temporĂ€r dem Code hinzugefĂŒgt, muss sichergestellt werden, dass das Beobachtungsergebnis auch fĂŒr den finalen Code anwendbar ist – was besonders bei ressourcen‐abhĂ€ngigen Integrationstests nur schwierig erfĂŒllbar ist. Eine alternative Lösung stellt eine spezielle Hardware‐UnterstĂŒtzung in SoCs („embedded Trace“) dar. Hier werden im SoC Zustandsinformationen (z.B. Taskwechsel, ausgefĂŒhrte Instruktionen, Datentransfers) gesammelt und mittels Trace‐Nachrichten an den Beobachter ĂŒbermittelt. Dabei stellt die Bandbreite, die zur Ausgabe der Trace‐Nachrichten vom SoC verfĂŒgbar ist, ein entscheidendes Nadelöhr dar ‐ im SoC sind viel mehr den Beobachter interessierende Informationen verfĂŒgbar als nach außen transferiert werden können. Damit haben beide dem gegenwĂ€rtige Stand der Technik entsprechende Beobachtungsverfahren eine Reihe von EinschrĂ€nkungen, die sich besonders bei der VollstĂ€ndigkeit der Beobachtung, der FlexibilitĂ€t, der KontinuitĂ€t und der UnterstĂŒtzung von MPSoCs zeigen. In dieser Arbeit wird nun ein neuer Ansatz vorgestellt, welcher gegenĂŒber dem Stand der Technik in einigen Bereichen deutliche Verbesserungen bietet. Dabei werden die Trace‐Daten nicht vom zu beobachtenden SoC direkt, sondern aus einer parallel mitlaufenden Emulation gewonnen. Die Bandbreite der fĂŒr die Synchronisation der Emulation erforderlichen Daten ist in vielen FĂ€llen deutlich geringer als bei der Ausgabe von umfassenden Trace‐Nachrichten mittels „embedded Trace“‐Lösungen. Gleichzeitig ist eine vollstĂ€ndige, Ă€ußerst detaillierte Beobachtung der VorgĂ€nge innerhalb des SoC möglich. Das neue Beobachtungsverfahren wurde mittels verschiedener FPGA-basierter Implementierungen evaluiert, hier konnte auch die Anwendbarkeit fĂŒr MPSoCs gezeigt werden
    • 

    corecore