ebook img

Digitale Hardware/Software-Systeme: Synthese und Optimierung PDF

526 Pages·1997·15.42 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Digitale Hardware/Software-Systeme: Synthese und Optimierung

Springer-Lehrbuch Springer-Verlag Berlin Heidelberg GmbH Jü rgen Teich Digitale Ha rdwa re/Softwa re Systeme Synthese und Optimierung Mit 251 Abbildungen und 12 Tabellen ~Springer PD Dr.-Ing. Jürgen Teich Institut für Technische Informatik und Kommunikationsnetze (TIK) ETH Zürich, Gloriastraße 35 CH -8092 Zürich ISBN 978-3-540-62433-2 Die Deutsche Bibliothek-CIP-Einheitsaufnahme Teich, Jürgen: Digitale Hardware-, Software-Systeme: Synthese und Optimierung!Jürgen Teich. ISBN 978-3-540-62433-2 ISBN 978-3-662-06740-6 (eBook) DOI 10.1007/978-3-662-06740-6 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbe sondere die der übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbil dungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfalti gung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfaltigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der ge setzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Ur heberrechtsgesetzes. © Springer-Verlag Berlin Heidelberg 1997 Ursprünglich erschienen bei Springer-Verlag Berlin Heidelberg New York 1997 Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daß solche Namen im Sinne der Warenzeichen-und Markenschutzgesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Text, Abbildungen und Programme in diesem Buch wurden sorgfaltig erarbeitet. Ver lag und Autor können jedoch für eventuell verbliebene fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Umschlaggestaltung: design & production GmbH, Heidelberg Satz: Reproduktionsfertige Vorlagen vom Autor SPIN: 10559912 45/3142 543210 Gedruckt auf säurefreiem Papier Für Antonia Vorwort Einbettung Dieses Buch vermittelt den aktuellen Stand moderner Syntheseverfahren für digitale Systeme, die aus Hardware-und Softwarekomponenten bestehen, sog. Hardware/Software-Systeme. Die Grundlagen der hier beschriebenen Verfahren sind mittlerweile Gegen standzweiervom Autor an der ETH Zürich gehaltenen Vorlesungen, nämlich der Veranstaltung "Architektur und Entwurf eingebetteter Systeme" (erst malig SS 95, gehalten zusammen mit Prof. L. Thiele; ab SS 96 angeboten in abgeänderter Form als "Architektur und Entwurf eingebetteter Systeme Il" (zusammen mit Prof. A. Kündig und Prof. L. Thiele)) sowie der Vorlesung "Hardware/Software-Codesign" (J. Teich). Vom Charakter her ist das Buch damit für den Kreis von Studierenden der Informatik und Elektrotechnik im Hauptstudium konzipiert. Grundkenntnisse über Schaltungsentwurf und Mi krorechnertechnik werden dabei weitgehend vorausgesetzt. Im weiteren soll das Buch Entwicklungsingenieure in der Industrie ansprechen, die mit dem Entwurf und der Handhabung immer komplexer werdender technischer Sy steme konfrontiert sind. Im Vordergrund dieses Buches stehen Verfahren zur Synthese und Opti mierung von Hardware/Software-Systemen, die in einem technischen Kontext eingebunden sind, sog. eingebettete Systeme. Der Begriff Synthese wird hier in Abgrenzung zum Begriff Entwurf ver standen: Während der Entwurf eines Systems entweder von Hand durch geführt wird oder Teile des Entwurfs mit Hilfe von sog. CAD-Werkzeugen (engl. computer-aided design) unterstützt werden (z. B. Simulationswerkzeu gen (225]), impliziert Synthese einen vollautomatischen Entwurf, bei dem der Entwerfer nur noch mit den Aufgaben der anfänglichen Spezifikation, den Parametereinstellungen und der Exploration unterschiedlicher Lösungen be auftragt ist (21]. In diesem Zusammenhang werden schwerpunktmäßig Entwurfsmethoden behandelt, die zur Übersetzungszeit (engl. compile-time), also statisch, durch geführt werden können. Allerdings werden ebenfalls Modelle und Methoden zum Entwurf von reaktiven Systemen bzw. Echtzeitsystemen mit Betriebssy stemkernen vorgestellt, bei denen statische Verfahren nur teilweise eingesetzt werden können. VIII Vorwort Abgrenzend sei an dieser Stelle bemerkt, daß die für den Entwurf digi taler Hardware/Software-Systeme essentiellen Aspekte der Spezifikation, der Verifikation und der Interfacesynthese den Rahmen dieses Buches überschrei ten würden. Diese Themen können deshalb (zugunsten einer eingehenden Betrachtung von Synthese- und Optimierungsverfahren) nicht in der ihnen gebührenden Ausführlichkeit behandelt werden. Zusammenfassung Vom didaktischen Standpunkt her zielt das Buch darauf, die Verwandtschaf ten der Synthese von Hardwarekomponenten und Softwarekomponenten ei nes Systems in einer einheitlichen Notation und mit einem einheitlichen Satz von Syntheseverfahren darzustellen. Zum Beispiel beschäftigen sich neuere Lehrbücher zur Synthese digitaler Systeme, wie beispielsweise [49] oder [71], fast ausschließlich mit der Synthese von Hardware. Die Bedeutung von Soft warerealisierungen und entsprechende Syntheseprobleme werden nicht oder nur untergeordnet betrachtet. Hier wird versucht, die Grundaufgaben der Synthese einheitlich und un abhängig davon darzustellen, ob das Ergebnis der Synthese Software oder Hardware ist. Als Grundaufgaben der Synthese werden in diesem Zusam menhang die Allokation von Ressourcen, die Ablaufplanung von Aufgaben auf Ressourcen und die Bindung von Aufgaben an Ressourcen betrachtet. Aufgaben und Ressourcen weisen auf unterschiedlichen Ebenen der Synthese unterschiedliche Granularitäten auf, z. B. sind Aufgaben auf der System ebene Algorithmen, Prozesse, Tasks und Jobs, Ressourcen sind Prozessoren und ASICs (anwendungsspezifische integrierte Schaltungen); auf der Archi tekturebene stellen die Aufgaben beispielsweise elementare arithmetische und logische Operationen (z. B. Multiplikationen, Additionen etc.) und die Res sourcen funktionale Einheiten (z. B. ALUs, Multiplizierer etc.) dar. Es wird zu zeigen versucht, daß die Aufgaben der Synthese von Software und Hardware auf verschiedenen Abstraktionsebenen starke Verwandtschaf ten aufweisen (Kapitell). Unterschiedlich sind die Granularitäten der Auf gaben und Ressourcen, die Problemgrößen, die Zielfunktionen und zum Teil die Algorithmen zur Optimierung. Zunächst werden die Begriffe der Ablaufplanung, Allokation und Bindung auf einer Ebene erläutert, die unabhängig von der Implementierungsart und der Abstraktionsebene ist. Die wichtigsten Modelle zur Spezifikation, insbe sondere Kontroll-Datenflußgraphen und verwandte Modelle, werden in Kapi tel 2 vorgestellt. Dann werden die Syntheseprobleme formal definiert und eine Menge von Algorithmen vorgestellt, die die Syntheseprobleme auf Grundpro bleme der kombinatorischen Optimierung reduzieren (Kapitel3-5). Für diese Grundprobleme enthält der Anhang komplexitätstheoretische Analysen und eine Bibliothek von Algorithmen. Vorwort IX Zum einen werden die Verfahren danach unterschieden, ob sie konstruk tiv oder transformatarisch (iterativ verbessernd) sind. Zum anderen werden Bindungs- und Ablaufplanungsprobleme klassifiziert. Sowohl exakte Verfah ren als auch Heuristiken werden vorgestellt. Die Syntheseverfahren werden unabhängig von Implementierungsart und Abstraktionsebene betrachtet. Danach folgt jeweils ein Kapitel über Synthe severfahren bzw. Anpassungen, die speziell sind für die Abstraktionsebenen - Hardwaresynthese (auf Architekturebene, siehe Kapitel 6), - Softwaresynthese (Kapitel 7) bzw. - Systemsynthese (Kapitel 8). Diesen Kapiteln sind Abschnitte angegliedert, die Ergebnisse eigener For schungsarbeiten enthalten. Diese sowie Inhalte einer vertieften Betrachtungs weise bestimmter Themen sind mit dem Symbol ® gekennzeichnet: Sie würden den Rahmen einer einführenden Vorlesung überschreiten und sind aus zwei Gründen als "eigenständig" zu bezeichnen: - Der fachkundige Leser kann die Abschnitte unabhängig von den Grundla genkapiteln lesen. - Der (zunächst noch) nicht interessierte Leser kann entsprechende Abschnit te über_§pringen, ohne den "roten Faden" zu verlieren. Der Anhang enthält sämtliche Notationen, grundlegende mathematische Definitionen und eine Bibliothek an Algorithmen zur Optimierung. Danksagung Der vorliegende Text entstand im Rahmen meiner Tätigkeit als Oberassistent am Institut für Technische Informatik und Kommunikationsnetze (TIK) der ETH Zürich in den Jahren 1995 und 1996. Erste Konzepte zu diesem Werk entstammen einem einjährigen Forschungsaufenthalt (im Jahr 1994) an der UC Berkeley, wo ich im Ptolemy-Projekt bei Edward Lee und David Mes serschmitt als Postdoktorand der Deutschen Forschungsgemeinschaft (DFG) tätig sein durfte. Mein besonderer Dank gilt Herrn Prof. Lothar Thiele, dessen gute Ratschläge mich bereits seit 1989 begleiten. Ein Teil der hier ebenfalls be schriebenen eigenen Forschungsergebnisse sind aus einer intensiven Zusam menarbeit entstanden und entstammen meiner Habilitationsschrift [221]. In diesem Zusammenhang möchte ich an dieser Stelle auch Herrn Prof. Wolfgang Rosenstiel und Herrn Prof. Gerhard Tröster danken für ihre Kommentare und Ratschläge bei der Begutachtung meiner Arbeit. Der Ansatz zur Systemsynthese mit evolutionären Algorithmen entstand in Zusammenarbeit mit meinem Kollegen Tobias Blickle. Anregungen zu dem Verfahren zur Architektursynthese mit ganzzahligen linearen Programmen X Vorwort erhielt ich ferner durch Diskussionen und Zusammenarbeit mit meinem frühe ren Kollegen Li Zhang. Weiterhin möchte ich allen Mitarbeitern und Kollegen des Instituts für ihr Interesse danken, insbesondere Matthias Gries sowie den Studenten und wis senschaftlichen Hilfskräften, die bei den Vorlesungen und bei der Implemen tierung einiger Forschungsergebnisse im Projekt CodeSign1 beteiligt waren. Nicht zuletzt gilt mein Dank dem Springer-Verlag für die gute Zusammenar beit. Zürich, im Frühjahr 1997 J. Teich CODE SIGN 1 Das hier abgebildete Logo des Projektes entstammt der Titelseite der Schrift "Metamorphosis Logicae" von Nicolaus Reymers aus dem Jahre 1589, einem wenig bekannten Mathematiker und Astronom aus Dithmarschen. Das Logo soll im übertragenen Sinne das Händereichen der Hardwarewelt und der Softwarewelt darstellen. Inhaltsverzeichnis 1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Entwurfsmethodik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.1 Erfassen und simulieren . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.2 Beschreiben und synthetisieren.. . . . . . . . . . . . . . . . . . . . 6 1.2.3 Spezifizieren, explorieren und verfeinern . . . . . . . . . . . . . 8 1.3 Abstraktion und Entwurfsrepräsentationen . . . . . . . . . . . . . . . . 9 1.3.1 Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.2 Synthese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3.3 Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Übungen ................................................... 24 2. Spezifikation und Modeliierung........................... 31 2.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2 Klassifikation von Modellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3 Petri-Netzmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.3.1 Dynamische Eigenschaften von Petri-Netzen . . . . . . . . . 38 2.4 Kontrollflußmodelle............ . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.4.1 Endliche Automaten (FSMs)....................... 40 2.4.2 Erweiterte Zustandsmaschinenmodelle . . . . . . . . . . . . . . 41 2.4.3 Hierarchische, nebenläufige Zustandsmaschinen. . . . . . . 43 2.4.4 Statecharts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.5 Datenflußmodelle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.5.1 Datenflußgraphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.5.2 Markierte Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.5.3 Synchrone Datenflußgraphen (SDF)................. 51 2.6 Erweiterte Datenflußmodelle ® . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.6.1 Verklemmungen in SDF-Graphen........ . . . . . . . . . . . 55 2.6.2 Reduktion des SDF-Modells auf markierte Graphen... 56 2.6.3 Zyklostatischer Datenfluß. . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.6.4 Dynamische Datenflußmodelle . . . . . . . . . . . . . . . . . . . . . 59 2. 7 Strukturorientierte Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.7.1 Komponenten-Verbindungsdiagramm (CCD)......... 61

Description:
Diese erste systematische Einf?hrung in den Entwurf komplexer digitaler Systeme vermittelt den aktuellen Stand der Technik. Vorgestellt werden die modernen Verfahren f?r Entwurf und Optimierung von Hardware/Software-Systemen, die aus kooperativen Hardware- und Softwarekomponenten bestehen. Anwendung
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.