Bernhard Fechner Transiente Fehler in Mikroprozessoren
VIEWEG+TEUBNER RESEARCH
Bernhard Fechner
Transiente Fehler ...
248 downloads
689 Views
3MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Bernhard Fechner Transiente Fehler in Mikroprozessoren
VIEWEG+TEUBNER RESEARCH
Bernhard Fechner
Transiente Fehler in Mikroprozessoren Mechanismen zur Erkennung, Behebung und Tolerierung
Mit einem Geleitwort von Prof. Dr. Jörg Keller
VIEWEG+TEUBNER RESEARCH
Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar.
Dissertation der FernUniversität Hagen, 2008
1. Auflage 2009 Alle Rechte vorbehalten © Vieweg +Teubner | GWV Fachverlage GmbH, Wiesbaden 2009 Lektorat: Christel A. Roß Vieweg+Teubner ist Teil der Fachverlagsgruppe Springer Science+Business Media. www.viewegteubner.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Umschlaggestaltung: KünkelLopka Medienentwicklung, Heidelberg Druck und buchbinderische Verarbeitung: STRAUSS GMBH, Mörlenbach Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier. Printed in Germany ISBN 978-3-8348-0714-4
Wenn ich nicht für mich bin, wer ist für mich? Und solange ich nur für mich bin, was bin ich? Und wenn nicht jetzt, wann? Ǥ"Ǥ
Geleitwort ¡
Ǧ ò
Ǥ ¡
Ǧ
òǡ
ò und ¡ òǤ
¡ǡ Ǥ
òǡ
é ò
Úǡ¡Ú
¡Ǥ ò
Ǥ
Ǧ
Ǧ
ǡÚ
ǡ ò
Ǧ
Ǥ ò
Úǡ
ǡ
Ǥ ǡͲͳǤͳͲǤʹͲͲͺ
ǤǤ Ú
Zusammenfassung
IX
Zusammenfassung
¡ Ǥ
Ú
ò
¡
Ǥ
Úǡ Ǧ
ǣ ͳǤ
Ǧǡ
Ǧ
Ǧ ȋdynamische MehrfädigkeitȌ
ȋǦǡ Ǧǡ
Ǧ Ȍ Ú
Ǥ ʹÚ ò
Ǥ
ʹǤ
Ú
¡ ¡ǡ History Voting
ǡ
ò ͻͺΨ Ǥ
͵Ǥ
Ǧ òǦ ò
Ǥ ¡ ͳ
¡ǡ
X
Zusammenfassung
ǡ ò
Ǧ Ǥ ͶǤ
ò
¡
Úǡ temporäre Speicher
Ǥ
ͶͺΨǡ
ͻͳΨǤ
ͷǤ
ͻ͵ǡͻΨ
Ǥ
Ǥ
ò
ò
¡ ò
ǦȀ
Ǥ ¡ ò
ǡ
Ǧ ò
ͳͻǡͻʹΨ Ǥ
Ǧ
Ú ò
Ǥ Ǧ ò Ǥ
¡ǡ
ÚǦ
¡ÚǤ ò Ǧ
Úé ¡
ǡ
ǡ ¡ ȋȌ ȋ Ȍ Ǧ
Ǥ ò
Ǥ
Inhaltsverzeichnis
XI
Inhaltsverzeichnis Geleitwort................................................................................................................ VII Zusammenfassung ..................................................................................................IX Inhaltsverzeichnis ..................................................................................................XI Abbildungsverzeichnis ......................................................................................XIII Tabellenverzeichnis.......................................................................................... XVII Liste der Symbole ................................................................................................ XIX Liste der SI-Einheiten ......................................................................................... XXI Liste der Abkürzungen .................................................................................... XXIII 1
2
Einleitung und Motivation .......................................................................... 1 ͳǤͳ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳ
ͳǤʹ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳʹ
Grundlagen ....................................................................................................15 ʹǤͳ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻ
ʹǤʹ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͺ ʹǤʹǤͳ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͻ ʹǤʹǤʹ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ʹ ʹǤʹǤ͵ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵Ͷ ʹǤ͵
¡òǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ͵
ʹǤͶ ¡ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ ʹǤͶǤͳ ʹͳͶͶȋÓȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͳ ʹǤͶǤʹ Ͷȋǡ
ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͳ ʹǤͶǤ͵ ͷǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷ͵ ʹǤͶǤͶ ʹȋ
ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͷ
XII 3
Inhaltsverzeichnis
Simulations- und Synthesemethodik ....................................................57 ͵Ǥͳ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͻ
͵Ǥʹ ò
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹ ͵ǤʹǤͳ Ǧ Ǥ͵ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ ͵ǤʹǤʹ Ǧ
ͷǤͲǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ
4
Dynamische Fehlerentdeckung und -behebung ................................71 ͶǤͳ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ ͶǤͳǤͳ ¡
òǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺͲ ͶǤͳǤʹ ¡
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺͺ ͶǤͳǤ͵ ¡
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲͳ ͶǤͳǤͶ ǦòòǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳʹ ͶǤͳǤͷ
ȋ
ȌǤǤǤͳͶ͵ ͶǤʹ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͶ ͶǤʹǤͳ
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͶ ͶǤʹǤʹ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺͺ ͶǤ͵ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲ͵ ͶǤ͵Ǥͳ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲͶ ͶǤ͵Ǥʹ
¡ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲ ͶǤ͵Ǥ͵
¡ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳͲ
5
Überblick und Fazit .................................................................................. 223
Anhang A: SPECint2006-Parameter .............................................................. 231 Anhang B: Felddaten (SGI Altix 4700) .......................................................... 235 Anhang C: Standardzellen-Makefile .............................................................. 242 Literaturverzeichnis .......................................................................................... 245 Index ....................................................................................................................... 262
Abbildungsverzeichnis
XIII
Abbildungsverzeichnis ͳǦͳǣ
ȋͳͻͲǦʹͲͲȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ ͳǦʹǣ
¡ȋʹͲͲͳǦʹͲͲͺȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷ ͳǦ͵ǣ
¡òȋʹͲͲȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ ʹǦͳǣ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺ ʹǦʹǣǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲ ʹǦ͵ǣ
ǤǤǤǤǤǤǤǤʹͳ ʹǦͶǣ ǦǦ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹ͵ ʹǦͷǣǦǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͶ ʹǦǣǦȋ Ͳα͵ǡτααͲǡͷǡτβαͲǡʹȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹ ʹǦǣ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶͲ ͵Ǧͳǣ Ǥ͵ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷ ͵Ǧʹǣ
ͷǤͲǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ ͶǦͳǣǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ ͶǦʹǣǦ
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺ ͶǦ͵ǣǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͻ ͶǦͶǣ ÚǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺͶ ͶǦͷǣ¡
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͻͷ ͶǦǣ¡
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͻͷ ͶǦǣ ¡
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͻ ͶǦͺǣ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͻͺ ͶǦͻǣȋΨȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲͲ ͶǦͳͲǣ¡ȋòȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ͵ ͶǦͳͳǣ¡ȋòȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ͵ ͶǦͳʹǣ ¡
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲͷ ͶǦͳ͵ǣ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ ͶǦͳͶǣ
ȂǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲͻ
XIV
Abbildungsverzeichnis
ͶǦͳͷǣ ǦȋφǡʹͲͲ̴ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳͲ ͶǦͳǣ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳͳ ͶǦͳǣò
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳͷ ͶǦͳͺǣò
òǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳ ͶǦͳͻǣò
ǦǦòǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳͻ ͶǦʹͲǣòòǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳʹͳ ͶǦʹͳǣȋ Ȍ¡ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳʹ͵ ͶǦʹʹǣÚȋ Ȍ¡ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳʹͶ ͶǦʹ͵ǣ ¡
Ȃǡòòȋǡ ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳʹͷ ͶǦʹͶǣ
Ȃǡòòȋǡ ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳʹ ͶǦʹͷǣȂǡòòȋǡ ȌǤǤǤǤǤͳʹ ͶǦʹǣΔȂǡòòȋǡ ȌǤͳʹͺ ͶǦʹǣ ¡
ȂǡòòȋλʹǡȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳʹͻ ͶǦʹͺǣÚȂǡòòȋǡȌǤǤǤͳ͵Ͳ ͶǦʹͻǣ¡Ȃǡòòȋ ǡȌǤǤǤǤǤǤǤǤǤͳ͵ͳ ͶǦ͵ͲǣÚ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ͵Ͷ ͶǦ͵ͳǣ ò
òȋΨȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ͵ ͶǦ͵ʹǣòȋΨȌǤǤǤǤǤǤǤǤͳ͵ ͶǦ͵͵ǣ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ͵ͻ ͶǦ͵Ͷǣ
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͶͲ ͶǦ͵ͷǣ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͶͺ ͶǦ͵ǣ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͶͻ ͶǦ͵ǣò¡
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͷͲ ͶǦ͵ͺǣ ò
ȋͳȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͷͶ ͶǦ͵ͻǣ ò
ȋʹȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͷ ͶǦͶͲǣǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͷ ͶǦͶͳǣ ò
ȋ͵ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͷͺ ͶǦͶʹǣ ǡ ò
ȋΨȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ ͶǦͶ͵ǣ
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ͵ ͶǦͶͶǣȋʹȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
Abbildungsverzeichnis
XV
ͶǦͶͷǣ òȋʹȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ ͶǦͶǣ
Ȃ Ȁȋ ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺ ͶǦͶǣ
Ȃ ȀȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻ ͶǦͶͺǣǦǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺͲ ͶǦͶͻǣ
ͳǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺͷ ͶǦͷͲǣ
ʹǦͳǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺ ͶǦͷͳǣ
ʹǦͳǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺ ͶǦͷʹǣ
ʹǦͳǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺ ͶǦͷ͵ǣǦ
ͳͻ͵ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺͻ ͶǦͷͶǣǦ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻͲ ͶǦͷͷǣ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻͺ ͶǦͷǣ
ȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲͲ ͶǦͷǣǦ
ʹǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲͺ ͶǦͷͺǣò¡
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳͳ ͶǦͷͻǣ
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳʹ ͶǦͲǣ
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳʹ ͶǦͳǣ
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳ͵ ͶǦʹǣ¡ǡ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳͷ ͶǦ͵ǣ
ȋ ͳȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳ ͶǦͶǣǦ ͳȋ Ȍǡ
ʹǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳͻ ͶǦͷǣo¡
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹʹͳ ͷǦͳǣǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹʹͶ ͷǦʹǣ
Ǧ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹʹͷ ͷǦ͵ǣ
Ȁ ¡
Ǧ
ȋ ȌǤǤǤǤǤǤǤǤʹʹ ͷǦͶǣǦ Ǧ
ȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹʹͺ
Tabellenverzeichnis
XVII
Tabellenverzeichnis ͳǦͳǣ¡¡ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺ ͳǦʹǣ¡ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺ ͳǦ͵ǣò¡ͳͲ͵ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͻ ʹǦͳǣòǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͶ ʹǦʹǣǦ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ͷ ͵Ǧͳǣ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ ͵ǦʹǣǦͳͲͲͲ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ ͵Ǧ͵ǣǦ ò ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ ͵ǦͶǣǦ ò
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͲ ͶǦͳǣȋ
ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺͻ ͶǦʹǣ ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͻʹ ͶǦ͵ǣ
¡
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͻ͵ ͶǦͶǣ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͻͻ ͶǦͷǣȋ
ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲʹ ͶǦǣȀǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲͶ ͶǦǣ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲͶ ͶǦͺǣ¡
ȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲͷ ͶǦͻǣ¡
ȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ ͶǦͳͲǣ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ ͶǦͳͳǣ¡
ȋΨȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ͵͵ ͶǦͳʹǣ
Ȃ ǦȀ Ǧȋ ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͶͳ ͶǦͳ͵ǣ
Ȃ ǦȀǦ ǦȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͶʹ ͶǦͳͶǣ
Ȃ ò
ȋΨȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳ ͶǦͳͷǣ
Ȃ
ȋ ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳʹ ͶǦͳǣ
Ȃ
ȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ͵ ͶǦͳǣǦòǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
XVIII
Tabellenverzeichnis
ͶǦͳͺǣǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺ ͶǦͳͻǣǦ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ ͶǦʹͲǣòǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͷ ͶǦʹͳǣoǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͺʹ ͶǦʹʹǣ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻͷ ͶǦʹ͵ǣ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻ ͶǦʹͶǣȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻ ͶǦʹͷǣ
Ȃȋ ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲͳ ͶǦʹǣ
ȂȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲʹ ͶǦʹǣ
Ȃ
Ǧȋ ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳͶ ͶǦʹͺǣ
Ȃ
ǦȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳͶ ͷǦͳǣÚéǦ ȋ ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹʹ ͷǦʹǣÚéǦ ȋȌǤǤǤǤǤǤǤǤǤʹʹ ͷǦ͵ǣ
Ǧ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹʹͻ ͷǦͶǣʹͲͲǦ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹ͵ͳ
Liste der Symbole
XIX
Liste der Symbole
τ
Ǧ
π
λ
φ ρ
ǡ òÚȋ Ȍ
ò
ò Ǧ
Λ
Σ
Π
ò
¢−1:0² ()2
¡ǡͲǦͳ ¡
Ο
ǡ
%
ǦȋȌ
||
&&
⊕
Ǧ
<=
Ǧ
++/−−
Ȁ
Liste der SI -Einheiten
XXI
Liste der SI1-Einheiten
μ
ǡͳͲǦǡò¡
ǡͳͲǦͻǡò¡
Ȁǡͳ≈ͳǡͲʹȉͳͲǦͳͻ ǡ
ǡò
ǡͳͲǦ͵ǡò¡
ǡͳͲǦ͵ǡò
ǡͳͲͻǡò
ǡͳͲǡò
ǡͳͲǦͻǡò
ǡͳͲǦͳʹǡò
ǡͳͲǦͳʹǡò
ǡͳͲǦͳʹ ǡò
¡
ͳ
ǦȋǤǣSystème
International d’unitésȌǤ
Liste der Abkürzungen
Liste der Abkürzungen μ
Ǧ
¡
ǡ¡ ȋǦǦ
Ȍ
Ǧ
Ǧ
Ǧ
Ǧ
Ǧ
Ǧ Ǧ
ǡ ͳͲͻ
XXIII
XXIV
Liste der Abkürzungen
Ǧ
Ǧ
Ǧ
Ǧ
Ǧ
Ǧ
Ǧ
Ǧ
Ǧ
Ǧ
Liste der Abkürzungen
Ȃ
XXV
1
Kapitel 1: Einleitung und Motivation
Auch eine Reise über tausend Kilometer muss mit einem einzelnen Schritt beginnen.
Kapitel
1
Einleitung und Motivation
2
Kapitel 1: Einleitung und Motivation
¡
Ǧ ǤǦǡ
¡ǡ Ǧ ¡ǡ ǡ ͵Ǧ¡
Ǧǡ ǡǦ ǡ ǡ ǡ Ǧ
Ǥ
¡ Ǥ ¡
Ú
¡Ǥ
ǡ
¡
Ǧ Ǥ ǡ
òǡ
ÚǤ ò
ǡ ò ¡
Ǧ
Y
Ǥ ¡
ÚǤ
Ͷǡ ȋʹͲͲȌ Ú
ȋʹͲͲȌͶͷòǤ ǡ Úé ǡ
Ǥ ¡
Ú
Ǥ
ǡ
ǡ ¡
Ǥ
Kapitel 1: Einleitung und Motivation
3
ǡ
Ú
ǡ Ȁ
Ú Ǧ
Ǥ ò ͵ͲͲǦǦǦ
ǡ Ú
Ǧ ¡
Ǥ
ȋ Ȍ ʹͲʹͲ
ͳͶȏʹͲͲȐǤ ͳǦͳ
ͳͻͲǦʹͲͲǤ ǡǦ ǡͳͻͻͷ¡
¡
ʹ ÚéȋμȌǤ
Abbildung 1-1: Technologieentwicklung (1970-2007)
4
Kapitel 1: Einleitung und Motivation
Ú
¡ȋȌȏͶͷȐǡ
Úé ǡ ǤǤ
Ǥ ͳǦʹ
Úé ȋȌǡ ȋǡ
Ǧ
ǡ Ȍ ǡ ʹ ȋ Ǧ
ǡ
Ȍ ò
ǡ
ȋʹͲͲͳǦʹͲͲͺȌ Ǥ
ȋ Ȍǡ
ǡ ǡ
ͺͷ ͳͳͲ ȋò ͳͳͲ
¡ȌǤ Ú
ǡ
Ǧ ¡ ¡ ǡ
¡
ȋǤȏͳͷȐǡǤʹͺͶȌǤ
ʹȋǦȌ
ʹȋǤ
ȌǤ
5
Kapitel 1: Einleitung und Motivation
Abbildung 1-2: Entwicklung mehrfädiger Mehrkernsysteme (2001-2008) òǦ
ȋǦ
Ȍ¡
ǡ
ȏͳͺȐ
= ʹ
α
¡ ǡ ααȋͳǦȌ Ǧ ¦ =ͳ
ǯͲǯǦǯͳǯǡ ǯͳǯǦǯͲǯ ȋ
¡Ȍ ǡ
ǡǯͳǯǡCi
6
Kapitel 1: Einleitung und Motivation
¡ ǡ f VDD Ǧ Ǥ ǡ Ȁ
ǯͲǯ ǯͳǯ Ǥ Ú Ǧ
Ǥ¡
¡ Ǥ ͳͻͺ Ú
͵ͳǦ Ǧ Ǥ
αǦ
ǡ
Ǥ
ǡ
Úȏͳ͵ͷȐǤ
ò
Ǧ ǦǤ
αǦ
ȏͳͷʹȐǤ ͻͲ Ú ȏͳͷ͵Ȑ ǡ Ǧǣ
ǡ
ȋǦ Ȍ
ȏͳȐȏͳͷ͵ȐǤ Ú ͻʹΨ
ȏͻͻȐǤ Ú ͳͶͶͲͲ Ȁ
ʹȀ ȏͳͲͲȐǤ Ǧ ͳǦ͵
¡
ò ȋǦ ȏͳͶͻȐȌǤ
͵
ʹǤ
7
Kapitel 1: Einleitung und Motivation
Abbildung 1-3: Anzahl Neutroneneinschläge pro Stunde für Kiel (2007)
ò ¡ Ǥ ȏʹ͵Ȑ
Ǥ Ǥ Ǧ ¡
Ú
¡Ǥ
8
Kapitel 1: Einleitung und Motivation
ͳǦͳ ò ǡ ȏʹ͵Ȑ ¡ ò Ǥ
Tabelle 1-1: Strahlungsintensität einiger Städte
Geografische Lage
Berlin Leadville, CO, USA
Höhe
Druck
(ü. NN)
(g/cm2)
Intensität
ͳ͵ιʹͷǮ
ͷʹι͵ͳǯ
͵ͶǦͳͳͷ
ͳͲ͵ʹ
ͳǡͲ
ͳͲιͳǮ͵͵ǮǮ
͵ͻιͳͶǮͷͲǮǮ
͵ͳͲͻ
Ͳͷ
ͳʹǡͺ
ͳǦʹ
ȋ
ʹȀȌ¡ òǤ¡
ͳǡͷ ⋅ e
§ ǦͷǡʹͷʹǦʹǡͲͶ͵⋅ E ǦͲǡͷͻͺͷȋ ⋅ E Ȍʹ · ¨ ¸ ⋅ E Ȍ͵ +ͲǡͲͲ͵ͻͶ⋅ȋ E ȌͶ ¹ © ǦͲǡͲͺͻͳͷȋ
Ǥ
Tabelle 1-2: Neutronenfluss in Abhängigkeit von der Energie in MeV E(MeV)
Neutronenfluss (cm2/h)
ʹ
ͲǡͲͲͲͻͳͻͲͻͲͻͺ
͵
ͲǡͲͲͲͳͺͻͶͶ͵Ͷͷͳ
Ͷ
ͲǡͲͲͲͲͷͳͺͳͺͺͶʹ
ͷ
ͲǡͲͲͲͲͳͻͺͷͷͶ
9
Kapitel 1: Einleitung und Motivation
Ú ͵Ǧ ͳͲǦ
ǡ ͳǡ͵ ͳͲͲͲ é ȋ͵ͲͶǡͻ Ȍ ȏͳͲͶȐǤ ǤȏͳͺͲȐ
̱ͳͲͷ ͳͻͻʹ ʹͲͳͳǤ ò ¡
ȋεʹͲͳͲȌ ͳͲͶ ǡ ͳͳǡͶͳͷͷ ǡ ͳͲǦͷȀ
Ǥ Úé
ǡ Ǥ ǡ
Úé
¡
Ǥ
Ǧ ǡ ͳǦ͵
ͳͲ͵Ǧò
ȋȏʹͲͶȐȌǤ
Tabelle 1-3: Kosten pro Stunde für Systemausfälle in 103 US-Dollar
Industrie
Geschäftszweig
Betriebskosten
Systemausfall
¡
ͷͲͲǦ͵ͲͲ
ͶͷͲ
ʹʹͲͲǦ͵ͳͲͲ
ʹͲͲ
ͳʹǦͳ
ͳͶǡͷ
ò
Ǧͳͳʹ
ͺͻǡͷ
ʹͶǦ͵ʹ
ʹͺ
ͲǦͳʹͲ
ͻͲ
ͷǦͺʹ
ͻ
10
Kapitel 1: Einleitung und Motivation
ʹͲͲͲ ȋȌǡ
ǡ Ú
¡ò
Ǥ
¡ ʹǦ
ȋ
Ȍ ͵ͲͲͲ ͳͲͲͲͲǦ
ǡ
ò
ȏͳͷȐȏͶȐǤ ʹͲͲͳ
é
Ǥ Ǧ
ǡ Ƿ[…] a single soft fail […] was causing an interleaved system farm to crashdzǡ ǡ é Ǧ
Ǧ ȏʹ͵Ȑ Ǥ
ǡ ʹͲͶͺ Ǧ
Ǧ ȋ ͶͷȌ
¡ ǡ ¡ ¡
ȏͳ͵ͻȐǤ ͳͺǤʹͲͲ͵
Ǧ
¡
ͶͲͻò ¡ ¡ǡ
ȏ͵ͳȐǤ
11
Kapitel 1: Einleitung und Motivation
1.1 Aufgabenstellung ¡
¡
ò
ȋ ǡ
ǡ ǡ
ǤȌ
ǡ é ȏͳͶȐȏ͵ʹȐǤǡǦ ¡
¡ Ǧ Ǧ Ú ò
Ǥ ¡
ǡ
Ú
Ǧ
Ú
Ǧ
¡Ǥ ò
Ǧ Úéǡ Ú Ǣ Ǧ ¡
ò
Ú
Ǥ ǡ ò
¡
¡Ǥ ò Ú
ǡǤǦǢ ò
Ǥ
òǣ •
Fehlertoleranz soll ohne großen Aufwand (einfache Systemintegration, Implementierungszeit, Flächenverbrauch, Beeinflussung des kritischen Pfades) erreichbar sein.
12
Kapitel 1: Einleitung und Motivation
ǡ
ǣ •
Für den Befehlssatz existierender Objektcode darf nicht verändert werden. Binärkompatibilität wird vollständig gewährleistet.
•
Wenn sich der Prozessor im fehlertoleranten Betrieb befindet, soll dies für alle Anwendungen transparent geschehen.
1.2 Gliederung ʹ ò ¡
¡ǡ Ǧ
òǤ
Ǧ ǡ
ǡ ǡ Ǥ
é Ǥ
ǡ
é Ǧ Ǧ
Ǥ
ǡǤǤǤ
Ǧ
ȋ Ȍ ͵
Ǧ
Ǥ
ò Ǥ Ͷ Ǥ
13
Kapitel 1: Einleitung und Motivation
¡
ò
ǡ ¡ ¡ Ǧ
Ǥ
Ǧòò
Ǥ
Ǥòò ǡ Ǥ
¡
ǦÚ
Ǥ Ǧ
Ú Ǧ ò
Ǥ
ò
Ǧ ¡ ¡ Ǥ
Ǧ
Ǧ
òǦ
ǡò ǡ ò Ǥ ¡
Ǧ ǡ
Ǥ ͷ o
ǡ Ǧ
Ǥò
Ǥ
15
Kapitel 2: Grundlagen
Die schlimmsten Fehler macht man in der Absicht, einen Fehler gutzumachen.
Kapitel
2
Grundlagen
16
Kapitel 2: Grundlagen
ò¡
Ǥ Ú é
Ǥ
Ǧ
Ǥ
¡
Ǥ
¡
Ǧ
é ¡ ǡǤǤǡ
ǦǦ Ǧ
Ǥ
ǡ Ǧ
ȋǡ ǡ
Ȍ Ǥ
ÚȋdisturbanceȌ ȋmistakeȌǤ ȋfaultȌ
Ǥ ǡ òò (error)Ǥ
ȋ
Ȍ
ȋfailureȌ
Ǥ
Ǥ
Ú Ǧ Ǥ ǡ
ǡ ¡ Ǥ
17
Kapitel 2: Grundlagen
¡ Ǧ
ǦǤ ʹͺ Ú ͳͲͲ
Ǥ Ǧ
ȏͺȐǤ ͳͻͻͶ
Eine Patriot-Rakete beim Start.
Ǧ
Quelle: [8]
ͶǦ ȏͺȐ Ǧ ò ò
Ǧ
Ǥ Ͷͷ Ǧ ȏʹʹȐǤ
ò ò
ȏͻȐ ͳͲͲͲͲ ȏʹ͵ͲȐǤ
ǡ
ò
ǡ ǡ
Ǧ ǡ
ò
ǡ ÚǦ ǡ Ú
¡
ǡ
ò
¡
ǡ
Ǥ
Ͷ
ȋ Ȍǡȋ¡ Ȍ
ȋ ȌǤ
18
Kapitel 2: Grundlagen
ʹǦͳ ȋȏͳͷȐȌǤ
Diskontinuität zwischen mehreren Leitern
Ein Kurzschluss zwischen zwei Leitern
Abbildung 2-1: Beispiele typischer Fertigungsfehler
19
Kapitel 2: Grundlagen
2.1 Charakterisierung von Fehlerursachen
ȏͶʹȐ
ǡ¡
Ǧ
Ǥ Ǧ Ú ȋǤǤ
¡é
ǡ
Ǧ ò ȏʹͳͷȐȌ
éǤ
ǡ Ǧ ò
o Ú
¡ Ǥ Ǧ
ǡ oò
ȋfail-safe shutdownȌǤ¡Ú
ò ͷͳͲͲ¡ ȏͳ͵ȐȏͳͺͳȐǤ dynamischen Fehlers temporären störungsbedingten Betriebsfehlers Ǧ ȋintermittierende FehlerȌò
ȋtransiente FehlerȌǦ Ǥ
ǤǤ
¡ ȋ¡ o
ǤȌǤ ͺͲͻͲΨ ȏ͵ͷȐ
òͻͲΨȏͳͳ͵ȐǤÚǤǤ
ǡ o
ǡ ǡ
ǡ ǡ
ǡ
ǡ ¡ǡ ò
20
Kapitel 2: Grundlagen
ȋǡ
ǡ Ȍǡ Hot Carrier Injection5 ȏʹȐ Ú Ǥ Ú Ǧ
ȋǤǤ
¡
Ǧ
Ȍ
Ǥ ʹǦʹ
ȋȏͳͷȐȌǤ
Abbildung 2-2: Elektromigrationseffekt einer Verdrahtung ͳ
ǡ
Ú ǡ
Úé ȏʹȐ Ǥ Ǥ ʹǦ͵
ǡ ǤǤ ȏͻʹȐǤ ͷ Ȁ Ú
ǡ
ǡ
Ǧ
ÚǤ
21
Kapitel 2: Grundlagen
Abbildung 2-3: Klassifizierung von Strahlungsarten nach Anwendungsbereich Temporäre destruktive Ú kumulative Single-Event Effekte (SEE)ionisierendenicht-ionisierende Ǥ Ǧ
Ǥ
ǦÚ
ǡ
ǡ Ǥ Ǧ ¡ ͳͲͲ ǡ òòòǡéǤ
22
Kapitel 2: Grundlagen
¡
Ǧ ȋǤǤ αǦǡ βǦ Ȍ
ÚǦ Ǥ ò ǡ òǡǤǤ
ò
ÚǤ
ǡ
Úé Ǥ ò
Ú
ȏͳȐǤ Ǧò
Úé
Ú
Ǥ
Ǧ ¡
é òǡ Ǥ ¡
Ǧ ǤʹǦͶ¡
Ǧ
ȏȐ ȋǦǣ Ǧ ȌǤ θǡ
Ǧ
ÚǤ
de Broglie
Ǥ
ǡ ¡ ɉ
Ǧ ɉȉαȋ
αͶǡͳ͵ͷͶ͵ȉͳͲǦͳͷȉȌǤ
ÚǦ
Ǥ
ǣ ȋMateriewelleȌǡ ǣȀȀǤǤȀȀ ǡʹ͵ǤͲͳǤʹͲͲͺǤ
Kapitel 2: Grundlagen
23
Abbildung 2-4: Ionen-Einzelimpuls in der p-n Sperrschicht Ǧ Ǧ
Ǧ
ǦǤ
Ȁ Ȁμǡ ȋαȀȡǡȡ
Ȍ
ʹΫͳ ¡ȋȀρȌ ȏͻʹȐǤ
ò
ǦǦ
ǡ
Ǥ Single-Event Upset ȋSEUȌ Ǧ
Ǥ ʹǦͷ Ǧ Ǧ ȋ
ǡ Ǧ òȌǤ "
¡Ǥ
24
Kapitel 2: Grundlagen
a) Partikeleinschlag
b) Nach Partikeleinschlag
Abbildung 2-5: Effekt eines Single-Event Upsets in einer SRAM-Zelle ʹǦͳ Ǧ ȋ ȏͳȐȏͶͳȐȏͷͲȐ ȏʹʹ͵ȐȌǤ
ò
¡
ȏͳʹȐǤ
Tabelle 2-1: Beispiele für Single-Event Strahlungseffekte Temporäre Effekte
Name
Beschreibung und Effekt
Ǧ
¡
Ǧ
¡
Ǧ
Ú
Ǧ
¡
Destruktive Effekte
Ǧ
Ǧ δͲ
25
Kapitel 2: Grundlagen
¡
ò
ȏͳͻȐ Ǥ Single-Event Transients ȋSETsȌ
Ǥ Single-Event Disturbances ȋSEDsȌ ǡ
¡
òǤ Ǧ Ǧ
ǡ Ú
òǡ
ò
Ǧ ȋȌ òǤ
ǡ
Ǥ
ȏͶͻȐ ȏͳͷȐ Ǧ
ȋȋͳͲͲȌȌ ȋȋȌȌǤ ȏʹʹͲȐ ò
ǣ ǷThe prompt charge is collected in much less than 1 ns, which is shorter than the response time of most MOS transistor.Dz
ȏͻͻȐǤ ͲǡμǦ Ǧǡ τα Ǧ εͲǡͷȋͲǡͷȌ
τβ
≤Ͳǡʹò͵Ǥ
26
Kapitel 2: Grundlagen
ȏͳ͵ͺȐ
ǣ
§ Ǧ ɒ Ǧ ɒ ሺሻ ൌ Ͳ ¨ Ƚ Ǧ Ⱦ ¨ ©
· ¸ Ǥ ¸ ¹
ʹǦ
òǡ¡ ȋ ȏͻͻȐ Ͳα͵ ǡ τβαͲǡʹǡ τααͲǡͷȌǤ 1
Ip(t) in mA
0,8
0,6
0,4
0,2
0 0
1
2
t(ns)
3
4
Abbildung 2-6: Partikel-Stromimpuls (I0=3 mA, τα=0,5 ns, τβ=0,2 ns) ò ʹ
ò ǡ Ǥ ǡ Ú
Ǧ
Kapitel 2: Grundlagen
27
Ǥ Ú
ͶǤͳǤͶǤ
Ǥ ȏʹ͵ͷȐ ò ͳͷ
ǤǦ ò ͳͻͺͻò
Ǥ Ǧ ǦǦ
Úȏͻ͵Ȑ
Ǥ ò
ǦȏȐǤ
28
Kapitel 2: Grundlagen
2.2 Effektabbildung physikalischer Fehler
ò
ǡ
òǡ
ǡ
Ǥ ǡ
òǤ ǡ
Ǧ ¡
ò ǡ
ò ÚǤ
Ǧ
ͷͲ ȏͶȐǤ òǡ
ǡ ¡
¡ ò òǤ ǡò
ǡ
Ǥ ¡
Ǥ
¡é ò
ò
òǡ¡
Ǧ
Ǥ Fehlerüberdeckungsgrad
ǡ ǡ Ǧ é ò ¡ Ǥ Ǧ
Ǧ Ǧ Ǧ
Kapitel 2: Grundlagen
29
ǤǤȋ
Ǧ
Ȍ ǡ
Ǥ
ǡ ò ò
ǡ
ò Ǧ
Ǥ
Ú
Ǥ ¡
ò Úǡ¡
Ǧ
Ǧ Ǥ 2.2.1
Auswahl realistischer Fehlermengen
ǣ •
ǫ •
ȋǤǤ ǡ ǡ
Ȍǫ •
ǫ •
ǫ
ǡ zu weichǡ Ǥ
ǡ Ǥ ǡ zu hart Ǥ ò ¡ ȋǤǤ Ȍ
30
Kapitel 2: Grundlagen
ò
¡ òǤ ǡ ò Ǧ
Ǥ
ǡ
ǡ Úé Ǥ ò ¡
Ǥ ȏͳʹͺȐ¡ȏͳʹȐ
¡ǡ
Ǧ Ǥ
ǡ ¡ ¡
Ǥ ò Ǧ
ǡ ò ǤǤ ¡ǡ
Ǧ ¡Ǥ ¡
ǡ
ȋAVF Ǧ Architectural Vulnerability FactorȌ ȏͳͶȐȏͳͶȐǤ Ǥ ȏͳͶȐ ʹͲͲͲǦ
ʹǦ¡
ǡ ʹͺΨ
ͻΨ ò Ǥ ¡
Ǧ
Ǧ
ǡ Ǥ
Ǧ Ǥ
Kapitel 2: Grundlagen
31
ǡ òǣ •
ȏͲȐ ò
Ǥ ¡
Ú
Ǧ
<
ǡ
ȋǤǤ
Silicon-on-InsulatorȌǤ éǦ ¡ Ǧ
òǤ
•
ǤǤǤ Ǧ ¡ǯͳǯǡ ǡ
¡Ǥ
•
¡
ȋȌ
òǡ
ò Ǥ ǡ
ǡ
Ǥ
ȏͳȐ Ǧ
ǣ •
Überschrieben: ǡ ò ǡ ¡
ò
ȋ
ȌǡǤ
•
Latent: ǡ ò ǡ ǤǤ
ǡ
ǡ
Ǥ
32 •
Kapitel 2: Grundlagen
Effektiv: ǡ
¡
ǡ ǤǤ ¡ò Ú¡Ǥ
ò
ineffektiv
. 2.2.2
Das Fehlermodell auf Gatterebene
•
Ǧ
ʹǤʹǤ͵
•
Ǥ
Ǥ ¡
é Ǥ
2.2.2.1
Permanente Fehler durch konstante logische Werte
¡¡ ǡ
ǡ
ǯͲǯ ǯͳǯ Ǥ
ǡ ¡ Ǥ
¡
Ǥ
Kapitel 2: Grundlagen
33
ò ò ȋ
òȌ
Ǥ Ǧ Ǧ single Stuck-At ȋ multiple Stuck-AtȌ Ǥ ò
single Stuck-At Stuck-At Ǥ Stuck-At-0 Stuck-At-1
Ǥ ¡ ǡǤǤ
ǡ
ò Ú ò
Ǥ ȏʹͳͺȐ ¡
ǡ Ǥ
Ǥ
2.2.2.2
Transiente Fehler durch Single-Event Upsets
Ǧ
ǤÚ
ǤȏͻͺȐǦǦͲǡ ǦǦͳǡ Ǧǡ Ǧ Ǥ o
ȓͲ→ͳȔ ȓͳ→ͲȔ
Ǥ ± Ǥ ȏͳʹͲȐ ¡Ǥ
34 2.2.3
Kapitel 2: Grundlagen
Das Fehlermodell auf Komponentenebene
¡ Ǧ
Ǥ Ǧ
Ǥ
ȋ Ȍǡ Ǥ ¡ ǡ Ǥ Ǧ
ȏ͵ͶȐǤ ¡ ȋ¡ǡ
ǡ ¡ǡ Ȍ ǡ
Ǥ ʹǦʹǦ òǤ Ǧ Ǥ
Ǧ Ú
òǤ
35
Kapitel 2: Grundlagen
Tabelle 2-2: Variablen und Operatoren im Komponenten-Fehlermodell
Variablen Name
Bedeutung
τ
Ǧ
π
ǡ
∈ȓͲǡǥǡʹǦͳȔ∈ȓͳǡǥǡτȔ
∈ȓͲǡǥǡʹǦͳȔǡη
¡∈ȓͳǡǥǡτȔ
ρ
¡
∈ȓͳǡǥǡτȔ
Ǧ
¡ ȋȌ ȋȌ
ò
ȋǦȌ
¡ ò Ǥ
ω
∈ȓͳǡǥǡπȔȋȌ
ȋȌ
ȋȌ
ȋȌ
ȋȌ
Operatoren ←
Ǧ
Ǧ
⊕
ǦǦ
͓
̷
Ǥ
36 2.2.3.1
Kapitel 2: Grundlagen
Programmzähler und Speicheradressregister
ȏ͵ͶȐ
¡ ȋȌ
Ǧ ȋȌ
ǡǦ
Ǥ ò ǡ
ǡ Ǥ
Ǥ òǡͳǡǥǡ
Ǧ ò ǡ
Ǥ ¡
òǤ Zeit:
¡òȀ
Ort:
Ȁ
Modellierung: ∀t ∈ {1,...,τ } : PCt ← expr PCt ← (expr ⊕ ( mask y − 1 : 0 ))
Anwendung:
∀t ∈ {1,...,τ } : SARt ← expr SARt ← (expr ⊕ ( mask y − 1: 0 ))
ͶǤͳǤͳǡͶǤͳǤͶ
37
Kapitel 2: Grundlagen
2.2.3.2
Registersatz und Registerumbenennung
¡
Ǥ ¡Ǧ
¡òǤ Zeit:
¡ò
Ort:
Ȁ
Modellierung:
ǣ
∀t ∈ {1,...,τ }.∀m ∈ {0,..., 2 a − 1} : Rm ,t ← expr Rm ,t ← (expr ⊕ ( mask x − 1: 0 ))
ǣ
∀ m ∈ {0,..., 2 b − 1} . b ≥ a :
Anwendung:
tRm ← expr tRm ← ( expr ⊕ ( mask x − 1 : 0 ))
ͶǤͳǤͳǡͶǤͳǤͶ
2.2.3.3
Registerauswahl bei Schreib-/ Leseoperationen
Ǥ ò
ò
Ǥ ¡ ¡¡Ǥ Zeit:
¡ò
Ort:
ǦȀ
38
Kapitel 2: Grundlagen
Modellierung:
òLesen¡ǡǤǤ
∀t ∈{1,...,τ }.∀m, i, j, x ∈{0,..., 2a − 1}.∃( x ≠ i ) :
( Rm,t ← Ri ,t op R j ,t ) ( Rk ,t ← Rx,t op R j ,t ), ∀t ∈{1,...,τ }.∀m, i, j, x ∈{0,...,2a −1}.∃( x ≠ j ) :
( Rm,t ← Ri ,t op Rj ,t ) (Rk ,t ← Ri,t op Rx,t )
¡
mem_read(PCi)
ȋlǦ
Ȍǣ ∀ t ∈ {1, ..., τ } : mem _ read ( PC t ) mem _ read ( PC t ) ⊕
((( x − a − l ) @ 0) # mask ( l + a − 1) : l #( l @ 0))
òSchreiben¡ǣ
∀t ∈{1,...,τ }.∀m, i, j, x ∈{0,..., 2a − 1}.∃( x ≠ m) :
( Rm,t ← Ri ,t op R j ,t ) ( Rx,t ← Ri ,t op R j ,t )
ȋj
¡Ȍǣ ( PC ) ⊕ ∀t ∈{1,...,τ }: mem _ read ( PCt ) mem _read t
Anwendung:
((( x − a − j)@0) # mask ( j + a − 1) : j #( j @0))
ͶǤͳǤͳǡͶǤͳǤͶ
39
Kapitel 2: Grundlagen
2.2.3.4
Befehlsdecodierung
ǡ
òǡ
òǤ ¡ò
Zeit:
ǡ ò Ǧ
Ort:
¡
Modellierung: ¡
ȋkǡc
Ȍǣ ∀ t ∈ {1,..., τ } : mem _ read ( PC t ) mem _ read ( PC t ) ⊕
Anwendung:
(( x − c − k ) @ 0) # mask ( k + c − 1) : k #( k @ 0))
ͶǤͳǤͶ
2.2.3.5
Mikrocode-ROM
Ǧ
ò ȋȌǦ
Ǥ ͺǦ ò
ò Ú
Ǧ
ȏͺ͵ȐǤ Ǧ ¡
ǡ
ÚǤ ȋʹͳͶȌ ǡǤǤ ò
ȏ͵ͻȐǤ ǦͺͺͲͲ
40
Kapitel 2: Grundlagen
ȋȌ ¡
ȏ͵ȐǤ
¡ ǡ
Ǥ
Ǧ Ú Ú
ǡ
Ǧ Ǥ ʹǦ Ǥ
Abbildung 2-7: Format eines Mikrobefehls Ǧ Ǥ ǡ òÚǤ
ǡ ¡ ȋρȌ ȋͳȌ ǡȋʹȌǤ
Ǧ Úé ¡ Ǥ Ǧ ¡
¡
ò Ǥ ò Ǧ ¡
¡ǡ
Ǧ ¡ Ǥ
41
Kapitel 2: Grundlagen
Ǥ¡ Ǥ
ʹǦ
ǡ Ǧ
Ǥ Zeit:
¡ò
Ort:
Modellierung: ¡ Flussinformation microcode(b) microcode(b) ⊕ ((( mw − f − fw) @ 0) # mask ( f + fw − 1) : f #( f @ 0))
¡ Kontrollinformation ȋ
ǣǡ
ǣȌ ∀ i ∈ [ 0, mw − 1] \ [ f , f + fw ) ∩ ` 0 :
microcode (b ) microcode (b ) ⊕ ((( mw − cpi − 1) @ 0) # ci #( cpi @ 0))
Anwendung:
ͶǤͳǤͷ
2.2.3.6
Pipeline-Auffangregister
Ǧ Ǥ ò Ǧ ǡǤǤ •
¡Ȁ¡Ǣ
•
¡Ȁ
•
¡ò
ȋȌǤ ò
Ǥ
42
Kapitel 2: Grundlagen
¡
Ǥ¡òǡò
Ǥ
ǡ Ǥ ¡
ǡ
¡Ǧ ¡ ò
Ǥ ¡ Ú ò
¡ ǡ Ǧ
ò Ǥ ¡ ò ǡ
Ǧ ¡
Ǥ Zeit:
¡ò
Ort:
( pipe _ reg (i ) )
Modellierung: pipe _ reg (i) pipe _ reg (i) ⊕ mask ωi − 1: 0 ǡ ω̴ȋȌ∈ȓͳǡǥǡπȔ Anwendung:
ͶǤͳǤͳǡͶǤͳǤͶ
43
Kapitel 2: Grundlagen
2.2.3.7
Adressbus
ǡ ǮͲǮ ǮͳǮ ǡ ¡ ȋmem_readȌ
Ǥ
Zeit: Ort:
Modellierung: ȋ
ǦǦͲǡ ∀ t ∈ {1, ..., τ } Ȍǣ
mem _ read ( PCt ) mem _ read ( PCt ∧ mask y − 1 : 0 )
ȋ
ǦǦͳǡ ∀ t ∈ {1, ..., τ } Ȍǣ mem _ read ( PCt ) mem _ read ( PCt ∨ mask y − 1: 0 )
Anwendung:
ͶǤͳǤʹǤͳ
2.3 Mehrfädige Programmausführung
ȋ
Ǧ Ȍ
ǡ
Ǧ ȏͶȐ
ò òǤ
¡ Ǥ Ǧ
Ú
Ú é ¡
ÚǤȋHyperpipeliningȌ ǡ ò
ǡ
ǡ
ÚǤòʹͲǦǡ Ǥ͵ͳǦ ͶNorthwood-ǤPrescottǦ ȏʹȐǤ
ò Ǧ
44
Kapitel 2: Grundlagen
¡ ǤǤ
Ǧ ǡ Ǧ
ǦǡǦǦ ȏͶȐȏʹͲʹȐǤ é ò
ǡ
Ǧ Úé
ǡ
Ǧ ǡǤ ¡
é
ǣ •
òȏʹͲͳȐȏʹͳͻȐȋinstruction level parallelism, ILPȌǤ
¡
ǡ
Ú ȋ¡ȌǤ ò
ȋout-oforderȌǡ
Ǥ
•
ȋsingle instruction multiple dataǡSIMDȌǤ
•
ò Ú
ȋmulticoreȌ Ǧ ȋmultithreading, thread level parallelismǡTLPȌǤ
Kapitel 2: Grundlagen
45
¡ ȏ͵Ȑǡ
ǡ
¡Úǣ •
Ǧ ȋȌ Ǧ Ǥ
Ǧ Ǥ ǤǤ ǡ ǡǡ ȏͻȐǤ
•
¡ ȋmultithreaded, MTȌ ò Ǥ Hardware-Thread
ǡ ȋȌ ¡ ȋǤǤ ¡ǡ ȌǤ Kontextwechsel
ǦǤ Ǧ Ǧ ǡ ǡ Ǧ Ǥ
ǡ Ǧ
ThreadǦǤ
¡ò
ͳͻͷ ò
Ǥ
Ǧʹ ͵ʹ ¡ǡòǤ
Ǧ
ò
ȀǦ ȏʹͻȐǤ ͻͲ ¡
Ǧ ǡ
ǡ
ǡ
Úǡ
ǣ
46
Kapitel 2: Grundlagen
•
Úȋcycle-by-cycle multithreadingȌǣ ǡǤ
Ǥ
ȋ
Ȍǡ ͲͲ ǦȀǡ ͳ ȏͳͲͷȐ ȏͺͳȐ
ǡ Ú ò ǡ Ǧ ¡ ǡ
Die CDC 6000er-Serie. Quelle: Control Data: 6400/6500/6600 Computer Systems Reference Manual.
¡
Ǥ
ǡ Ú òǤ Ú ǡǤ •
Ú ȏʹȐȋblock-multithreadingȌǣǦ òǡ ǡ ò ò
òǤ ȏͳȐ
ȏ͵Ȑ
Ǧ ǡ
òͺǤ
ͺ
ǦȋǤǤNEXTFò
ȌǤ
47
Kapitel 2: Grundlagen
ò
Ǧ
ȏͳͶͲȐǡ Multithreaded Architecture ȋMTAȌ ȏ͵͵Ȑ ͶǦ ȋȌǤ
ȋ ò Ȍ
ò
ȏͳͳȐǤ o
ò¡ȏͺͳȐȏʹͳʹȐǤ ò¡ǡ
ǣ • ǡǤ ¡
òÚ
ȋ ¡Ȍ ǡ Úǡ Ǥ ȋǦ ¡Ȍ Ǥ Ǧ ¡
Ǧ ò
ǡǦ Ú
ò
Ǥ
¡
Ǥ
ǡ
ò¡ Ǧ ¡Ǥ¡
HelperThread ȋǣ
Ǧǡ ǣ ǦȌ ȏʹͺȐȏͳȐȏͳͻʹȐǤ ǡ ǤǤ
Ǥ •
ȋȀ Ǧ ȀȀȌ • ȋǡÚ
Ȍ ȋ ǡ ȏʹͳ͵ȐȌ
ȋȌǤ
48
Kapitel 2: Grundlagen
ǡ ò ǡ
Ǧ
Ǥ ¡
Ǧ Ú ¡ Ǧ
Ǥ
ͳͶ ò
ȏ͵ȐǤ
ò
ȏȐ ȏͳͳͲȐ ò Ǧ Ǧǡ
Ǧ
òǤ
ò
ǡ
¡
Ǥ
ͻͲ
¡ ǡ
Ú òǡéǦ ¡ǦǤ Ǥ ȏͳȐȏʹʹͻȐ ǡ Ú
òǤ
ȏͳͷͲȐ ò Ú Ǧ Ǥ ǡ ȏʹͲͺȐȏʹͳͲȐ ¡ Simultaneous MultithreadingȋSMTȌǤ ȏʹͳͲȐ ò
Ǥ Ǧ ǡ ¡ ȏʹͲͻȐ ¡
Ú ò
Ǥ
Kapitel 2: Grundlagen
49
ȏͳͷͲȐǡ
Ǥ Úǡ ǤǤ
Ǧ
ò
ò Ǥ ò
Ǥ ȏʹͲͻȐ
Ǥ¡
Ǧ Ǧ ȏͶͲȐ
ȏȐǤ¡
ǦǦ
Ǧ
ǡ
ȏͶͷȐȏͳʹͷȐ ȏʹͲͻȐ
¡
ȋǦ ¡
Ȍ ¡ Ǥ Tags òǡ ͺ Ǧ
Ǥ
¡ Ǧ ȋͺȌ ò ȋǤ
ʹǤͶǤͳȌǤ
ǡ ȏʹͳͲȐ ȏͳʹȐ Ú¡ǤǦ ǡ ǤǤ
ǡ ǡ
ò
Ǧ òǤ
ǡ
ȋ Ȍ Ǥspeculative multithreaded ȏͳ͵͵Ȑǡ
ǡ
50
Kapitel 2: Grundlagen
òǡ
Ǧ
Ǥ
ǦȀ¡
òǤ
ȏͳʹͷȐ Ǥ Ǧ
ȏͳʹͶȐǡ ȏͳ͵ͳȐ Ǧ Ǥ ȏͷȐ ȏȐ
Ǧ¡ ȋdynamic multithreading Ǧ DMTȌ
Ǥ
Ǧ Ǧ
Ǧ Ǥ
2.4 Industriell gefertigte mehrfädige Prozessoren
ȏʹͺȐȏȐȏͳͶͲȐȏͳͺʹȐ ȏͳͺͶȐȏʹͲͷȐ
¡
Ǥ Ǧ ͶȏͺͷȐòòǦ ȋȌǡ ȋͻͷǡ ͻͷͷͺͶͲȌǡʹͳ͵ͶȏͳͳȐǡ ǦͷʹͲͲȏʹͲ͵Ȑǡ
ȋͶǦǦ Ȍ ȏͳͻȐǡ ͳ ȏͶȐ ȋ ȏͺǡ͵ʹȐȀ ȏͺ ǡ Ͷ ȐȀ
ȏͳ ǡ ͳʹͺ ȐȌ ȏͳͲͷȐǡ Ͷ ȋȌǡ Ͷ Ϊ ȋ Ȍ Der UltraSPARC T1. Quelle: Sun.
Ͷ Ȁ Ǥ Ǧ
¡Ǥ
Kapitel 2: Grundlagen
2.4.1
51
Alpha 21464 (Araña)
¡ òǤ Ǧ¡ȋʹͳͶͶǡͺȌȏ͵ͺȐ òǤ ͺǦ
ʹͳͶͶ ò ò ȋͶǦǦȌ
Ǥ
ȋthread processing unitȌ
Ǥ Ǧ
Ǧ
ǡ
òǤ ȏ͵ͺȐ ǡʹͳͶͶ͵ǦʹǦ
Ǥ òÚ¡Ψ¡
ȏͳʹȐǤ
Ȁ Ǧ
Ǥ 2.4.2
Intel Pentium 4 (Northwood, Prescott)
ò ʹǦǦ Ͷ ȋȌ ȏͷȐ Ǧ
Hyperthreading ȏͳͲͺȐȏͳ͵ͶȐ Ǥ
¡
ͷΨǤ
ǡǦ
¡ Ú
Ǥ
ò Ǧ ò ȏͳͳͳȐǤ
Ú
52
Kapitel 2: Grundlagen
Ǥ
ǡ
Ǥ
ρǤtrace cache ȋTCȌȏͳͳȐǡͳǦ
Ǥ ¡
Ǥ
ȋcache-lineȌ¡
ǡ
Ǧ Ǥ ρ
Ǧ Ǥ ρ
ǡ ¡ ¡ Ǥ
Ú
ǡ Ǧ Ú ò Ǥ ǡ ò
ò Ǥ Ǥ
ò
Ǧ ¡ μ
òǦ Ǥ Ú μ μ
Ǧ ò Ǥ Ͷ ρ ò òǤ
Ǧ
ò ȋregister alias tableȌ Ǥ
ò Ǧ
ò
Ǧ
Ǥǡ¡ ¡ Ǥ
¡
ǡ
Kapitel 2: Grundlagen
53
ǡ
ò
Ǥ
é ͳǦ
ǡ
Ǥ
ǡ Ǥ Ǥ ¡Ǥ
ǡ òǡ Ǥ
¡ ¡
ǡ ȋǤǤ ¡ȌǤ
ȏʹͲȐȏʹȐȏͺͶȐǤ
2.4.3
IBM POWER59
ͷ ȋ
Ȍ ȏͻͷȐ Ǧ ȋͶȌ Ǥ ͵ʹ ǦǦÚ
Ǧ Ǥ
translation lookaside bufferȋͳʹͺ¡ȌǤ ǡ Ǧ Ǥ ͷ Ͷ ò
ȋstreaming buffersȌǤ
Ǧ ò ǡ ͷ
ò
Ǥ ͶÚ ͻ ÚȏͳͳͺȐ
Ǥ
54
Kapitel 2: Grundlagen
¡ ȋͲǦȌ Ǥ ¡ Ǧ ǡ
Ǧ òǤ ¡ Ǧ òǤ ¡ ǡ
Ǧ ò
ǡ Ǥ ¡ ò òǡ
Ǥ ò Ǧ ǡ ¡ Ǥ ¡
Ǥ ǤǤ Ǧ
Ú¡
ǡ ǡ
ò Ǧ ǡǤ
¡ǡ
ǡ
Ǧ ò
Ǥ òʹͲ ͷ global completion table ȋGCTȌ
Ǥ
ò
Ǧ ò
ǡǡ
Ǥ¡ͳǦ
Ͷ Ǥ
Úé Ǧ ¡ Ͷ Ǧ ͵ʹ
Ǥ
ͷ
ȋ
ʹǤͲʹȌ
¡
Ǧ
ȏʹʹȐ
ȋȌ ǦǤ ȏͻͶȐǤ
55
Kapitel 2: Grundlagen
2.4.4
Intel Itanium 2 (Montecito)
Ǧ
ʹͲͲ
ʹòòͶǦǦǤ ͻͲͳͷǡ ͻͲʹͲǡ ͻͲͶͲ ͻͲͷͲ Ǥ Ǧ ¡ò ʹò ͶǦǤ
Explicitly Parallel Instruction ComputingǦ
ȋEPICȌ ȏͳȐ ¡
Ǥ ʹ ò ͳǡʹ ǡ ʹ ͳͲͲ
ȏʹʹȐǤ
Úéǡ
Ǥ
ȋͻͲͷͲȌͳʹǦ
ͳʹ͵Ǧ
Ǥ ò ȏͷȐ
ȏͶȐȏͳȐȏͳͺͷȐ Ǥ
Die-Foto des Montecito. Quelle: HP.
ȏͳ͵ȐǤ
Kapitel 3: Simulations- und Synthesemethodik
57
Spielen ist experimentieren mit dem Zufall.
Kapitel
3
Simulations- und Synthesemethodik
58
Kapitel 3: Simulations- und Synthesemethodik
ǡ
Ǥ ¡Ǥ
ǡ
ǤǤǦǡǦ ¡Ǥ
ǡ
ǤǤòǦ
ÚǤǡǤǤ Ǧ
¡
ǡò
Ǧ
¡ò Ǥ¡ ǡ
ÚǦ Ǥ ǤǤ
Ǧ
ò
ǡò
Ǥ Ú ȋAnfälligkeitȌǤ ȋȌ ȋ
Ȍ
ȏͶʹȐ Ǥ
Ǥ
ȋFehlerüberdeckungȌ
ǡ Ǥ
Ǧ
Ǥò ȏʹȐȏͶͶȐ ȏͺȐǤ
Kapitel 3: Simulations- und Synthesemethodik
59
3.1 Fehlerinjektion Ǧ
ȏʹȐ
ǣ 1. Verifikation und Validierung
¡
Ǥò
Ǥ¡ ¡
Ú
Ǥ 2. Erhöhen des entgegengebrachten Vertrauens
Ǥ
ò Ǧ
Ǧ Ǥ 3. Bestimmung von Kenngrößen ǡ Ǧ ȏͶͶȐ ǡ Úé Ǧ
Ǥ Úéǣ •
•
•
ò
Fehlerinjektionstechniken
éǡ
ǡ
Ǥ
ȏͺȐ ǡ
60
Kapitel 3: Simulations- und Synthesemethodik
Ǧ
Ǥ Ú
ǡ
Ǥ
"
ò
Ǥ
¡
ǡ ǤǤ
Úò ȋǤǤ
Ȁò
ǡ
ȏͻȐǡ
ȌǤ
¡
Ǧ Ǥ
ǡ
Ǥ o
ȏͷͺȐǤ Ǧ
ȏͳȐ¡ȏͳȐǤ
ǡòǦ
Ǥ ȏͳͺȐ ǡ
Ǧ ͻǦͳʹΨ ͻͺΨ ͻͻΨ
Ǧ ÚǤ ò Ǧ Ǥ Ǧ ò
ò
Kapitel 3: Simulations- und Synthesemethodik
61
Ǥ
Ǧ
ǡ Ǥ
Ǧ ò
¡
Ǥ Ȃ
Ȃ ͵ǦͳòǤ
Tabelle 3-1: Verwendete Fehlerinjektionsparameter
Parameter
Wert
λαͳͲǦͷ
¡ȋͲǡʹȀͲǡͷȌ
ǡ
ǡ ʹͲͲ̴ǦȋǤȌ
Ͷͺ ǡȏͳͲ͵Ȑ
ͳͲ
¡
ͳͲ
Ǧ
Ǧ Ǧ
ǡ Ǧ Ǧǡ
¡
62
Kapitel 3: Simulations- und Synthesemethodik
3.2 Synthese für unterschiedliche Entwurfsstile
ȋ Ȍ
¡
Ú
Ǥ
ǣ •
ǡ
•
¡
ȋ
Ȍ
•
¡
ǡ ȋ Ȍ¡ȋȌǤ
ǡòǦ ǡ ò
Ǧ¡ȋͷͳʹȌ
Ú
Ǥ
ǡ
ȋò ǡǡ
ǤȌ ÚǤ Ǥ ò
Xilinx ISEȋIntegrated Software EnvironmentȌ Ǥ͵ ȋ Ȍ Alliance 5.0 ȋȌ ¡
Ǥ Ǧ ò
ǡòǤ
63
Kapitel 3: Simulations- und Synthesemethodik
3.2.1
FPGA-Entwurf mit Xilinx ISE 6.3
Ǧ
Ǧ
ǦǦ
ȋ
ȋ Ȍ ¡ òȌǤ Ǧ ͳͲͲͲͷͲ ȋ ǦͺȌ ȏʹʹͺȐǤ Ǧ
UNISIM.VComponentsǤ ͵Ǧʹ Ǥ
Tabelle 3-2: Elemente im Xilinx Virtex-E XCV1000 FPGA
Abkürzung
Bezeichnung
Anzahl
ȀǦ
ͷͳʹ
ʹǤͶͺ
ͳ͵ͳͲʹ
Ͷ
Ͷ
Ǧ
ͳǤͷͻǤͳͺ
Ǧ
͵͵ͳǤ
Ǧ
ȀǦ
ͶͲͶ
͵Ǧͳ Ǥ͵Ǥ
ǣ
ǡǦ
ȋȌ Core Ǧ
Ǥ ȋ
ȌǦǤ
ȋ Ȍ
64
Kapitel 3: Simulations- und Synthesemethodik
ȋ Ȍ Ǧ ȋȌǡ ¡
Ǧ ȋ Ȍ ngdbuild ȋ Ȍ ò ò Ǧ ȋmapȌ
par
òǤ Ú
ȋȌǡ ǤǤ
Ȁ Ǥ
Ǧ ȋTiminganalyseȌBitfilesȋbitȌ bitGenǡiMPACT Ǥ
Ǥͳ òǤ òǣ •
ǣ
•
ǣ
•
ǣ
•
Ƭǣ
Ǧ
Ȃ
Ȃ
Place and RouteǤ ¡
ȋGate CountȌ
¡ Ǥ ò Ǧ¡
òǤ
Kapitel 3: Simulations- und Synthesemethodik
65
Abbildung 3-1: Entwurfsablauf mit Xilinx ISE 6.3
66
Kapitel 3: Simulations- und Synthesemethodik
͵Ǧ͵
Ǧ Ǧ ǡé
ǤǤ ¡
Ǥ
Tabelle 3-3: Synthese- und Implementierungsparameter für Xilinx ISE Synthese
Ǧ
Ǧ Implementierung
Ǧ
ȋ
Ȁ ¡
Ȍ
Ƭ
Ǧ
ȂǦ
Kapitel 3: Simulations- und Synthesemethodik
3.2.2
67
Standardzell-Entwurf mit Alliance 5.0
̵ ȋ Ȍ
Ǧ
ͷǤͲ ȏʹͷȐ ò Ǧ¡Ǥ ͵Ǧʹ Ǧ Ǥ
Abbildung 3-2: Entwurfsablauf mit Alliance 5.0
68
Kapitel 3: Simulations- und Synthesemethodik
ǦǦ Ú vasy
ȋǤȌ Ǥ
ǡ ǤǤ ¡
ͳͲǡ ò Ǧ
ǤÚ
Ǧ
ȋǤȌ genlib Ǥ ¡
Ǧ
ǤǦ ǤǦ ¡ Ǥ boom Ǥ boom
òǤ ǤǦ
boog Ǥ Ǥ sxlib ȏͳͷͻȐǡ Ǥ ǤǦ
loon xyagle11 Ǥ ò Ǧ ¡
Ǥ Ú genpat Ǥ Ǧ ǤǦ asimut
Ǥ yagle
Ǧ ǡ
ò ÚǤ ͳͲǤǤ
Ȁ
Ǥ ͳͳhitasò
ǡò
Ǧ
òȋǤ
Ǥ
ǡòʹʹǤͲͳǤʹͲͲͺȌǤ
Kapitel 3: Simulations- und Synthesemethodik
69
ocp
nero
ǡ
ò
Ǥ
ȋǤȌǡ Úé Ǥ ¡ Ǧ graal Ǥ
é druc
Ǧ ǡ Ǥ
¡ ¡
cougarǡ lvx Ǧ
Ǥ
òǦ hitas ÚǤ
Ǧ
s2r Ǧ
ȋǤȌ
Ǧȏͳ͵Ȑ
ȋǤȌǤ ¡ Ǥ ¡
λ2 Ǥ
70
Kapitel 3: Simulations- und Synthesemethodik
͵ǦͶ
Ǧ Ǧ ò
ͷǤͲǤ
ò Ǧ ÚǤ
Tabelle 3-4: Synthese- und Implementierungsparameter für Alliance Synthese ǡ
ȋ Ȍ
ȀǦ
ò
ȋȌ
͵ȋͲ͵Ȍ
ȋȌ
ÚȀ ¡
ȋͷͲΨȌ
Implementierung
ò
ͳ͵Ͳ ǡ Ǥ
Ͳͳ͵Ǥ
ͶǤͶǡ Ͳιǡ αͳǡͲͺ
71
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Erst durch die Vereinigung von Zeit und Raum erwächst die MaterieȏǤǤǤȐ
Kapitel
4
Dynamische Fehlerentdeckung und -behebung
72
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ò
ǡǦ ¡
¡ Úǡ
ǡ
¡
¡
Ǧ Ǥ ¡
ȏͳͳͶȐ
Ǧ ¡
Ǥ •
¡ ȏ͵Ȑ ȋreliableǡ dependableȌǡ Ǧ ¡ ȏͲǡ Ȑ Ǥ
ò Ǧ ò ܸ ൌ
ாሺሻ ாሺሻାாሺሻ
ൌ
ெ்்ி ெ்்ிାெ்்ோ
ǡ
ǡ
Ǥ ஶ
ܧሺܮሻ ൌ ିஶ ݂ݐ ሺݐሻ݀
ݐt Ú
ȋ Ȍǡ ¡
Ǧ ஶ
Ǥ ܧሺܤሻ ൌ ିஶ ݂ݐ ሺݐሻ݀ ݐǡ
Ú ȋȌǤ ݂ ሺݐሻ݂ ሺݐሻ Ǧ
ǤǤ •
ȏͶʹȐǡ
Ǧ Ǥ
¡Ǧ Ǥ
¡ǡ
ǡ Ǥ
ȋFail-Safe
Ȍǡ ǤǤ
òò Ǥ Ǧ ͳͷͲͺ ȏͺͺȐ Safety Integrity Levels ȋ ͳ Ǧ ǡ Ͷ Ǧ Ȍ Ǥ ǤǤ é Ǥ ò
ǡ
¡ Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
73
Úé Ǥ
ͳʹǣ •
fail-operational ȋȌǣ Ǣ
¡Ǥ
•
fail-safeȋ
Ȍǣ
Ǥ
ȋ Ǧ Ȍ
ȋactive fail-safe ȌǤ oò
ǦǦ
ȋshutdownȌǤ
fail-operationalactive fail-safe òǤ
4.1 Fehlererkennung in Hardware
Ǧ Ǥ
ǡ ¡ Ǧ Ǥ ǡ
ǡ ǡ òǦ¡
Ǧ òǤ ͳʹ¡fail-silent ȋȌǦ¡ Ǥ
Ǥ
74
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǧ ǣ •
ò Ú
¡ ǡ ¡
¡ Ǧ
Ǥ ò
ǡ
Ú
Ǥ
•
Ǥ
Ú
Ú
ǡ
Ǥ
Ú
ǡ¡
¡ ò Ǧ Ǥ Ú Ǥ
Ú ǡ
¡ ò ¡ ¡
ǡ
¡ ȋ Ȍ
Ǥ Ǧ
ȏͶʹȐǤ Ǧ
ǡ
Ǧ
ò Ǧ Ú ȏȐǤ
Ǧ
75
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ȏͶʹȐȏͻͳȐǡ
Ǧ
ǡ ò
Ǧ Ǧ ͳ͵ǡ ¡ ò Ǥ ǡ ≤ò
òȋǦǦǦȌǤ Space-Shuttle ȋ ò
Ǧ two version programmingȌȏͳͺȐǡAirbus A320/330/340ȋǦǦǦȌȏʹͶȐ Boing 777 ȏʹ͵ͳȐǤ
HP/Stratus Continuum 400ȏʹʹͷȐIntegrity S2 TandemȏͻͲȐǤ
ȏͳͲȐǤ ǦǦǦ ǡ n-m+1 n Ǧ ݊ Ǥ ቀ ቁ Ú
ǡ ݊െ݉ͳ nn-m+1Ǥ òò ǦǦǦ
ò ݊ ܷ௩ ൌ σୀିାଵ ቀ ቁ ܷ ሺͳ െ ܷሻି Ǥ ݇ ¡ ȋ ò ǦǦǦ ܸ௩ ሺݐሻ ൌ ͳ െ ܷ௩ ሺݐሻ
Ȍ
Ǧ
ஶ
ܧሺܮሻ ൌ ܸሺݐሻ݀ݐǡܨ ሺݐሻ ൌ ܷሺݐሻܸሺݐሻ ൌ ͳ െ ܨ ሺݐሻ ൌ ݁ ିఒ௧ λ Ǥ
ǦǦǦ
Ǧ ȋTriple Modular Redundant – TMRȌ
Ǧ ȋǦ
ͳ͵ǤǤǦ
ȋǦȌǤ
76
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǡDouble Modular Redundant – DMRȌǤͶǦͳ Ǥ¡ͳʹǤ
Abbildung 4-1: Das Duplexsystem
ȋKͳ α KʹȌ ¡ ȋKͳ ζ KʹȌ
Ǧ ͳ ʹ E=E1=E2∈{0,1}nǤ ¡¡Ú
ǡ
ȋVͳαVʹȌ ¡ ȋVͳζVʹȌ Ǧ ǡ f
Ǥ Ǧ f1=K1(V1(E1)) f2=K2(V2(E2))
Ǥ fͳαfʹαfǡ fͳ,ʹ α f, ǤǤ f
Ǥ
Ú Ǧ ò
Ú ¡ Ǥ
Ǧ ǡ ÚǤ
Ú ò
ǡ ǤǤ ò
Ǧ Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
77
Ǧǡ Ǥ ò
ò Ǥ ¡
Ǥ
Ǧ Ǥ
ǡ Ǥ
Ǥ
òǡȀ ȋǦȏͳͲͻȐǡȏʹʹȐ ͻͲͲ ȏͳͺȐȏͳͻͶȐȌǤ Ȁ
Ǥ Ǧ ǡ ¡
Ǥ
Ǧ ǡ
ǡ
Ǧ
ò ÚǤ
Ǥ Ǧ ò
Ú
ȏͳͳʹȐǤ Ͷ Ǧ òǡ
Ǧ Ǥ
Ǧ ǡ millicode ȋ ͶǦ ǡ
78
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͻͲͲǡ ͻͻͲȌ ò
ǡ ò
Ǧ òǤ ò ò ǡ Ǥ
Ȁ Ǧ
Úǡ
Ǧ
ǦͳͶǤ¡ò ǤͶǦʹMaster-Checker-Ǥ
WatchdogǦ ȏͳ͵ʹȐ¡Master-CheckerǦǤ
Abbildung 4-2: Das Master-Checker-System Master Checker EǤ Checker Masters f
Ǥ
ǡ Ǧ Ǥ
Ǧ ò Master- Ǥ Checkerbetrieb ȏͺʹȐȏͳͶ͵ȐǤ ǡMaster-CheckerǦ ò
ǦǤ ͳͶǦ
Ǧ
¡Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
79
ȏͶ͵Ȑ ò Ǧ Ǧ Ǥ ͶǦ͵ Ǧ ǤȋȌǤ
Abbildung 4-3: Das virtuelle Duplexsystem
Vͳ Vʹ
òfͳ fʹ
Ǥ fͳ≠fʹ ǡǤǦ ¡
ò¡ ǡ
ǡ ò Vͳ
Vʹ òǦ
Ǥ Ú
Ú Ǧ
ȏͳʹͺȐǤ
ò Ǧ «ȏͳʹͺȐò VͳVʹǤ é
ò
Ǥ oǦ
ͶǤͳǤͳǤ
80 4.1.1
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Temporärer Speicher für redundantes Multithreading15
ȏͺͷȐ
ʹͳǡΨ ʹǦǦ Ͷ
Ǥ ȏͳͲͳȐ Ǧ¡
Ǥ Ǧ Ú ʹͺΨ Ǥ
ȏͳͺ͵Ȑ
¡
ʹΨ ͷͲΨ
Ͷǡ Ǥ Ǧ
ǡÚǦ ò Ú
Ǧ
Ǥ
ȏͳͺ͵Ȑ ǡ
Ǧ ȋdeadlinesȌ Ú
ÚǦ
Ǧ Ǥò
ǡ ǡ ȋǦͳȌǦ
Ǧ ȋǦͳȌǦ
ǦǦǦò Ǥ Ǧ ¡
ò Ǧ Ú
Ǥ ò
Ǥ ò
Slackǡ
Ǥ ¡ò ͳͷ
ǦʹͲͲȏͷʹȐǤ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
81
Ǧ Ǥ
ʹǤͶ ͳǡòǦ
Ǥ Ú
Ǧ ¡
Ǥ ¡¡
ǡ
Ǧ ò ȋ ǣ Ǧ
òȌ ȋȌ
ȋȌ
ò ȋ ǣ
Ǧ Ȍ
̴ Ǥ
•
ò ȋ¡
ǡ
ͶǤͳǤʹȌǡ Ǧ Ǧ
•
ȋ¡
ǡ
ͶǤͳǤ͵Ȍ Ǥ
ǡ
Ǧ Ȁ ò
ȋ Ǧ
Ȍ ¡
Ǥ
Ǥ Ú¡Ǥ
82 4.1.1.1
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Verwandte Arbeiten
Ǥ
ȏͳͻͳȐ
ò Ǧ Ǧ Ǧͳǡ
Ǧ
ò ȋ
Ǧ ȌǤ
¡ ȏͷͻȐ
ȋ
Ǧ ¡Ȍ ò
ò Ǧ Ǥ ǡ ¡
ǡ ȋReliability Obtained By Adaptive ReconfigurationȌǦ ȏͳͶȐǤ é
Ǧ ǡǦ
Ǥ ò Ǥ ò ò Ǧ
Ǥ Ǧ ò
Ψ ò ¡Ǧ Ǧ Ǥ
ȋtracesȌ ͳ Ǧ ò ǡ ȋprocessing element - PEȌ ò Ǥ
òǦ ǡ
Ú
Ǧ òǤ Ǥ Ú
ò
ǤǦȏͳͲȐ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
83
Ǧ ȏͳʹȐǤ Ǧ
Ǥ Ú führenden,aktiven ȋǦȌnachlaufenden, redundanten Befehlsstroms ȋǦȌ Ǥ Ǧ Ǧ òéaktiverA-ThreadǡǦò ¡ redundanter R-Thread16Ǥ Ú
ò Ú ȋdelay-bufferȌǡ Ǧ ¡ǡ ò ò
ǡ ǤǤ ǡ
ǡ
Ǥ
Ǥ¡
¡
Ǧ Ǧ Ǥ Ǧ ÚǦ
Ȁ ǡ
ò Ǥ ȏͳͲȐ
òǦ
òǤ
Ú
ǡ
Ú
Ǥ òͻͷ
Ǥǡ òǡ Ú Ǧ ͳʹΨ ʹͻΨ
Ǧ ò ǢͺͷΨʹΨǤͶǦͶ ÚǦ Ǧ
ͳ Ǧǡǡ
òǦǡ
Ǧ Ǥ
84
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǤǦÚǡǦ
¡
Ǥ
ǡ
Ú ÚéǤ
SMT Prozessorkern
R-Strom
A-Strom
Abbildung 4-4: Integration des Verzögerungspuffers bei AR-SMT Slipstreamȏͳ͵ȐǦǦ¡
éò Ǥ ò
òǡ
òǤ Ǥ
Ǧ ǡ Ǥ ȏͳȐ
Simultaneous and Redundant ThreadingȋSRTȌǤ Sphere of Replication ȋȌ òǢ
Ǥ é
Ǥ Úé ǡ ¡ Ú ò
Ǧ
Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
85
¡
Ǥ ȏͳͶȐòÚ
Ǥé Ǧ
Ǥ
ȏͳͷͷȐǡȏͳͻͲȐǦ ȏͷȐ
¡
ǡ
Ǧ
Ú
. Ǧ ȋleadingtrailingȌǡò Ǥ Slack ǡ ǦǤ ͶǦͳȏͳͶͷȐȏͳȐǤ Ǧ
Ǥ ǡ ò ¡ǡ
òǤ
òǤbranch outcome queue
ǡ Ǧ ÚǤ ͳͳ
ò
¡ ͻͷ
ȋ Ȁ Ȍ ǡ Ú
ͳΨǡ ʹͻΨ Ǥ ò Ú
ǡ ȏͳͶͷȐ Chip-level Redundantly Threaded MultiprocessorȋCRTȌǤò
ǤÚ
ò ǡ
Ǧ ǡ
86
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǥ ò Ǧ ǡ oò
ò Ǥ SRTRȋSimultaneous and Redundantly ThreadedȌ ǤȏʹͳȐ òǤ ò
ò ǡ ò ǤǦ ò ò
ò
¡
ǡ Ǧ
Ǥ¡
ǡ register value queue ȋRVQȌ òǤ
òǤ ¡
dependence-based checking elision ȋDBCEȌ Ǧ
Ǥ Ǥ ǡ
¡ÚǤ ǡ¡òǡòòǡ ò͵ͷΨǤ
ǤͳͺΨǤ
Ǧ
ʹͳΨ Ǧ ʹΨ é
Ǥ ȏͳͶͶȐ Ǥ ǤȏͶȐ
ǦȋCRTR, Chip-level Redundantly Threaded Multiprocessors with RecoveryȌǤǦ ò ò
Ǧ
ò ȋ
Ȍǡ
Ú
Ǥ
Ǧ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
87
ǡ ò Ǧ ò Ǥ
ǡ death- and dependence-based checking elisionȋDDBCEȌǤǦ
ǡ ¡Ǥ ǤȏͶȐǡǦ
ò Ú Ǥ
ʹͲͲͲ
Ǥ ȋǦȌ Ǧ ò Ú ͵Ͳ Ǥ Ǧ ͷǡʹ Ǥ ǡͳ Ǥ ȏͳͺȐ Ϊ Ǥ register value queue ò
ǡ
ò Ǥ Ǥ ȏͳͺȐ
¡ǡ
ǡ
ò¡
Ǥ ȏͳ͵ͲȐ
ǡ ǦǦ Ǥ
ͶʹΨǡʹʹΨǤ ȏͳʹͻȐ ǡ ͺͶΨ ȋǤ ȏͳͺȐȌ ǡ ǤǤ
Ǥ lifetime-based checking elision ȋLBCEȌ
ǡ ò
Ǥ ȏͳͺȐ register value queue
ȋRVQ_FȌǤ
88
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
òǤò
ǡǤ òò ̴
Ϊǡ¡ǡ
òǤ ò Ǧ ǡ ò ΪǤ 4.1.2
Der temporäre Sprungzielspeicher
ò Ú redundantes MultithreadingȋȌǤ
ò
Ǥ
Ú
ǡ
ǡ
Ǥ ¡
ȏͳͲȐǤ
ò ò ǡ
ò
Ǧ Ǥ Ú
ǡ òò
ǤÚ
Ǧ ǡò
Ǥ ȋ Ȍ Ǧ
Ǧ ÚǤ¡
Ǧ
Ú Ǥ
Ú Ǥ
ǡ
ǤͶǦͳ
89
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ò
ȋ¡ȋȌǡȋ Ȍ ǡȋΪȌȌǤ ò
Ǥ
Tabelle 4-1: Kommunizierte Daten (Sprungzielspeicher)
Typ
Grund für die Speicherung
Gespeicherte Daten
ǡΪ
Úò
Ǧǡ
ǡΪ
Ǧ
Ϊ
Ǥ ǡ¡Ǧ
Ǥ
Ǧ
Ǥ¡
startup entry-point
¡ò¡ȋFREE@accȌǤ Ú
ǣ ͳǤ
Ǧ ȋ
ͶǤͳǤʹǤͳȌ
ʹǤ
Ǧ ȋ
ͶǤͳǤʹǤ͵Ȍ
90 4.1.2.1
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Startup-Modus des temporären Sprungzielspeichers
Ǧ
ǦǦ Ǥ ¡
ȋ¡Ȍǡ¡
ǦǤò
¡
ȋstartup entrypointsȌ
¡¡ ǤÚUEFIǦȏʹͳͳȐ Ǥ
ò
Ǥ¡ ̷
Ǥ
Ǥ
ǡ
̷
ΪΪ
Ǥ
ǡ ò
Ǥ
̷
Ǥ ̷
¡ ¡
ǡ Ǧ ǦòǤ
91
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.1.2.2
Theoretische Ergebnisse (Startup)
ò
Ǧ¡
Úéǡ
Ȁ Ǥ
ȏͲǡʹǦͳȐǡ ݊ אԳ Ǥ Ȁ
ȏʹǦʹǡ ʹǦͳȐ ȋܾ אԳ ȌǤ
ǡ
¡ Ǥ
Ǧ a ȋǤǤ
ǦǦͲ Ȍ ǡ ¡ ǡ
a
Ǥ
ǦǦ ǡ
ǡòȋǦȌͷͲΨǤ ò
¡ ܲ ൌ
ଵ ି ଶ
Ǥ ò α͵ʹǡ
αͳ ¡ ò
ͷΨǡ ò α͵ʹǡ αʹͳǣ ͺ͵ΨǤ ò¡
ǡ Ǧ bochsȏͳͳȐȋrombios.cǡͶ ÚéȌǤ ͶǦʹǤ ͺǦ
Ǧ ¡ǤǦ
ͶǦʹ¡ͳ͵ ȋ
ͲͲͲͲǡͲͲͲͲǣ͵ȌǤͳͻ¡
Ǥ ¡ ¡
ò
ͲǡʹͻͺͷΪͲǡͶͲʹͷαͲǡͲ͵ͳʹͷ
Ǥ
92
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Tabelle 4-2: BIOS-Eintrittspunkte
Nr.
Adresse
Beschreibung, Eintrittspunkt
Ͳͳ
ͲͲͷ
ȋǦȌ
Ͳʹ
Ͳʹ
͵
ȋǦ Ȍ
Ͳ͵
Ͳ͵
ͳ͵
ͲͶ
Ͳʹ
ͳͻ
Ͳͷ
Ͳ͵ͻ
ͳͶ
Ͳ
Ͳͺʹ
ͳ
Ͳ
Ͳͻͺ
Ͳͻ
Ͳͺ
Ͳ
ͷͻ
ͳ͵
Ͳͻ
Ͳͷ
Ͳ
ͳͲ
ͲͲͶͷ
ͳͲ
ͲǦ
ͳͳ
ͲͲͷ
ͳͲ
ͳʹ
ͲͺͶͳ
ͳʹ
ͳ͵
ͲͺͶ
ͳͳ
ͳͶ
Ͳͺͷͻ
ͳͷ
ͳͷ
Ͳ
ͳǦǦ
ͳ
Ͳͷ
Ͳͺ
ͳ
Ͳͷ͵
ͳͺ
ͲͲ
Ǧ
93
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.1.2.3
Lookup-Modus des temporären Sprungzielspeichers
̷
Ǧ ¡ ¡
ǡ Ǧ Ǥ
ǦǤ
ȋ¡Ȁò
¡Ȍǡ
ȋnearȌ ȋfarȌ ǡ Ǥ ͺǦ
ͶǦǦ
Ǥ
Ǥ
òǤ
¡
ͶǦͳͳ ȋǡ Ȍ
ò ò ͳǡͻΨ
Ǥ
Ú
òǡ Ǧ
Ǥ ͶǦ͵ ǡ
Ǧ ò
Ǥ
Tabelle 4-3: Speichertypen im temporären Sprungzielspeicher
ID
Distanz
Richtung
Typ
Ͳ
¡
Ȁ
ͳ
ò
¡
ʹ
¡Ȁò
¡
Ȁ
94
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǤǤ
ǡ ò
¡
ò Ǥ
αͳ Ǥ ¡ Ǧ
ò
αͲ
Ǥ Ǧ
αͲǤ ò
¡
¡ Ǧ
Ǥ Ǧ ǡ Ȁ Ǧ
αʹ
Ǥ ͶǦͷ ò
Ǧ ȋ ¡ ǡ ¡ȌǤ ǡ Ǧ Ú ȋ
̴̴
ǡ ʹ
Ǧ
ͶǤʹǤͳȌ Ǥ ò Ǧ
Ǥͳ òǡ
¡
αʹǡ
Ǥ òǡ δͳͷǣͲε Ǥ¡
ȋ αͲȌ
Ǥ αͳ
¡Ǥ
¡Ǧ ǡ Ǥ òǤ ò
αͲǤ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
95
Abbildung 4-5: Auswahl des temporären Sprungzielspeichers
¡
ǤͶǦǤ
Abbildung 4-6: Zugriff auf den temporären Sprungzielspeicher
96
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ò
Ǥ ò
∈ȓͲǡʹȔ ǡ
αͳǤ
Ǧ
ǡ
¡ȋ αͳȌ ¡ Ǥ ȋ αͲǡ αʹȌ ¡ ò ¡ ̷
ǡ
ȋ ȌǤ ̷
ò
ȋ̴̴ǡ ̴̴Ȍǡ
ò ̷
Ǥ
¡
Ǥ Ǧ
Ȁ
Ǥ ǡ
¡ Ǥ αͳ
Ǥ
ǡ Ǥ
αͳ ǡ ̷
αͲ
̷
ò ò
ǡ
Ǥ
97
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦǡ¡
Ǥ
Abbildung 4-7: Integration des temporären Sprungzielspeichers
4.1.2.4
Synchronisierung von Interrupts
¡
ǡ
Ǥ Ú
ò Ǥ ͶǦͺ
ȋȌ ͳ ȋȌǡ Ǥ ʹȋȌ Ǥ
98
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Abbildung 4-8: Interruptsynchronisierung bei RMT ȋ Ȍ
ǡ
Ǥ ȋ Ȍ ¡ ¡
ȋ αʹȌ Ǥ ò c ȋȌ Ǧ
Ǥ ò d ȋ ͶǦͺǡ
Ȍǡ
ʹ Ǧ òǤ
e
ǡ òǤ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.1.2.5
99
Experimentelle Ergebnisse
¡
Ǥ ͺǦͶǦ
Ǧ ȏʹ͵ʹȐ
ʹͲͲ̴Ǧ
òǤ ͺǦ
¡¡ǤͶǦͶ
Ǧ ǡȋooocore.h, dcache.hȌǤ Ǧ
òǤ
Tabelle 4-4: Grundlegende Parameter der Simulation mit ptlsim Parameter
Wert
ò
ͳʹͺ¡
ȀǦ
ͶͺȀ͵ʹ¡
¡
ͳʹ
ǡ ǡ
ǡǡ
Ǧ
Ͷ
ò
Ͷȋʹ ǡͳ ǡͳȌ
ò
ò
ͳͲ
ͳʹͺ
ͳǦǦȀ
ͳȀ͵ʹǡͶǦǡͶ
ǡʹ
ʹǦǦȀ
ʹͷǡͶǦǡͶ
ǡ
ͳͳʹ
͵ʹ¡
¡Ǧ
ͳ¡
ȋ
ͶǤͳǤͳȌ ʹͲͲ̴ǡǤ
100
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦͻǤ
Ú
ò αʹͻΨǡ αͳͻͷǡͶΨ αͲ ͺͳǡΨ Ǥ Ǧ
ǡ ò Ǥ
Abbildung 4-9: Wiederverwendungsgrad (%) von Sprungzielen αͲ
Ǧ Ǥ Ú Ǧ Ǥ
òǦ Ǥ
ò¡
ͻͳΨǤ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.1.3
101
Der temporäre Datenspeicher
ò ǡ Ú
ǡ
ò
Ǥ ¡ ǡ Ú
Ǥ ȏʹ͵ͶȐ Ǧ òǤ Ú
é
Ǥ
Ú ǡ Ú
Ǧ
Ú Ǥ
¡ Ǥ Ú ò A
ǡòA
Bǡ
AǦ ¡Ǥ Ǧ ȏͳͲȐ memory disambiguation unit
ǡ Ǥ Ú ǡ
ǡ
ǡ ¡
ǡ
Ǧ Ǥ
¡
Ǧ ǡ ¡
¡
Ǧ Ú
Ú
ò
Ǥ
Ǥ
102
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦͷ
ò
Ǥ
Tabelle 4-5: Kommunizierte Daten (Datenspeicher)
Typ
Grund für die Speicherung
Gespeicherte Daten
Ȁ
ǡǡ
Ȁ
ǡ
ǡǡ
ǡ
Ǧ
Ǧ
Ú
ǡ
Ǧ
Ǥǡ ò
ȏͳͷͳȐǦͳ ¡ ò ʹͲͲ̴Ǧ
òǤ ͶǦͳͲ ͶǦͳͳ ¡ ȋ ȏ ȐͺǡǥǡͶǡǦ
ȌòǡǤǤ
ͳ͵ǤʹǤ͵ǡlackeyǤǣȀȀǤǤǤ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
103
Abbildung 4-10: Häufigkeit der Operandenbreite (in Bit für Loads)
Abbildung 4-11: Häufigkeit der Operandenbreite (in Bit für Stores)
104
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
¡Ǧ ͶǦòǤ
Tabelle 4-6: Prozentualer Anteil von Load/Store-Operationen I8
I16
I32
I64
Load
ͳͲǡ͵ͲͶͲ
ͳǡ͵Ͳͻͺͺ
ͺͺǡʹͻͶ
ͲǡͲͲͲͺʹ
Store
͵ǡʹͷͶͷͻͶͷͻ
Ͳǡ͵ͷͻʹ͵ͳͳͶ
ͻǡ͵ͺʹ͵ͳͳ
ͲǡͲͲ͵ͺͳ͵ʹͳ
ͶǦ
Ǧ ǡͶ¡Ǥ
Tabelle 4-7: Gesparter Speicherplatz in Prozent I8
I16
I32
Load
ͻǡͲΨ
ͳǡͲʹΨ
ͶͶǡͳͶΨ
Store
ʹǡͺͷΨ
ͲǡʹΨ
ͶͺǡͳͻΨ
ǡ Ͷ
Ǥ
ǡ
Ǧ
Ǥ ¡
ǡ
Ǥ òͳǡ ǤͶ
ǡ ȋǤͶǦȌǤͶǦͳʹǡ ¡
Ǧ ò Ǥ ò o
¡
105
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǥ Ǧ
Ǥ
Abbildung 4-12: Integration des temporären Datenspeichers ¡
ȋͺǡ ͳǡ ͵ʹ ͶȌ
ò
Ǥ ͶǦͺ Ǧ
òǤ
Tabelle 4-8: Ein Eintrag im temporären Wertespeicher (Loads)
Feld
Beschreibung
106
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦͻ
òǤ
Tabelle 4-9: Ein Eintrag im temporären Wertespeicher (Stores)
Feld
Beschreibung
ͶǦͳͲ
Ǥ ¡ ȋȌ
Ǥ
Tabelle 4-10: Ein Eintrag im Attributspeicher
Feld
Beschreibung ¡
ò
òmultiple
4.1.3.1
Zugriff auf den temporären Datenspeicher
¡
ò
ǤǤ ͶǦͳ͵
ȋȌ òȋȌ¡
ǤǦ ȋȌ αͳ ȋȌ αʹ
Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
107
Abbildung 4-13: Ablauf verschiedener Zugriffe auf den Datenspeicher ò
ǡ
Ǥ ¡ ̷
̴̴ȓͳǡǤǤǤǡȔ ¡ ̷
̴ ò
Ǥ ¡
Ǥ multipleǡ ò multiple ¡
ȋ ̷
̴̴ȓͳǡǤǤǤǡȔȌ Füllstand
Ǥ
é ȋȌò
ȋȌ multiple ¡
̷
̴ ȋ òǦ
Ȍ ̷
̴ ȋ ò Ǧ
Ȍ Ǥ ¡ Ǧ
108
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ú ǡ
Ǥ
multipleǦ ò
ò
ǡmultipleǦ
Ǥ
Ǥ ̷
̴
Ǥ
multipleǦ ¡ Ǧ
ǡ Füllstand ¡
Ǥ
ȋǡ Ȍ
ò
Ǥ " Ú
ò
̷
̴Ǥ
4.1.3.2
Experimentelle Ergebnisse
¡
ǡ
outcome-queueǦ ò ȋǦ ͵ʹ ǡ ͳͲ ¡ǡ
ǦȀȌǤOutcome-queue
Ǧ Ǥ ͶǦͳͶ
Ǧ
ǡ
Ǧ
Ǥ Ú
ǡ
ǡǤǡ
ÚǤ
¡
ǡ
ǡ
¡Ǥ
109
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Abbildung 4-14: Ressourcen – Weiterleitungsverfahren ò ò
Ǧ
ǡ
ͺǤ
ȋǤͶǦͳͳȌǤ ò Ȃ ǡ Ǧ
ò ǦǦ
Ȃ ò φ≥ͳ ϒ = Λ ⋅ φ Ǥ Π
ϒ =
Σ ⋅ φ
¡ Ǥ Λ
ò Π
ǡΣ
òΠ
ò òǤ
110
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
φǡͶǦͳͷ
ȏʹ͵ʹȐ Ǧ ʹͲͲ̴Ǧ
Ǥ
ǡǡρ ǡǤ ρ ǡ Ǥ Ǥ ρ ¡Ǥ
Abbildung 4-15: IPC-Werte (φ, SPECint2006_base)
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
111
ͶǦͳ ǡ
ȋǦ
Ȍ
¡
ȋòǡ ǦǦȌ ò ʹͲͲ̴Ǧ
ͷͲΨ ÚǤ
Abbildung 4-16: Maximale Durchsatzsteigerung
112 4.1.4
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Thread-Prüfsummenkalkül18
ǡ é ǡ
ǡ
Ǥ
¡ Ǧ
Ǥ Ǧ
ǡǦ
Ǧòò ò
ȋȌ ȏͳʹʹȐȏͳͷͺȐ
Ǥ ò ¡ ò ò Ǧ
Ǥ
Ú ò
Ǧ ò
Ǥ
Ǥ
ǡ ǡǦ ǡ ò Ǥ Ǧ
Ǧ ¡
ͶǤͳǤͶǤͶ ͶǤͳǤͶǤͷ ǡ
ȋȌ ȋȌǡ ǤǤ
ǡ
¡ Ǧ ¡ Ú Ǥ
ǤȀ ÚǡǤǤ
ò Ǥ
¡ǣ òòǤ ͳͺ
ǦʹͲͲȏͷ͵ȐÚ
Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.1.4.1
113
Verwandte Arbeiten
òò ò
ȋ Ȍ ȏͳͲȐȏʹʹͶȐǤ ò
ͶǤͳǤͷǤͳ Ǥ o
ȏͳͳͻȐȏͳͶͳȐǤ ǦȏͳȐǦ ȏͳͻͷȐȏͳͻȐ ¡
òǡ Ǧ
Ǥ
Macroinstruction control-flow monitoring ȏͳͶͺȐ Ǧ Ú
Ǥ
Ȃ ò Ȃ
Ǥ Ú ȋ Ȍ ȏͳͻȐ ò
òǤ
ò
Ǥ ǡ ò
Ǥ
Úé
Ǧ
Ú ͳͲΨ ʹͷΨǤ ò ò ǡ Ú
ȋ Ú ¡
ǡ ȌǤ¡
ò
òÚǤ
ͺͲͲͲ ȏͳͻͷȐ Ǥ
Ǧ ȋò
Ȍ ò
Ǧ ʹͷΨ Ǥ ȏͳͺͻȐ
114
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǤǤ
Ǧ ǡ Ǧ
ȋǦǡ ͳǦ
Ǧ
ǡ
ò ǡ Ǧ
ò
Ǧ Ȍ ò
ò
Ǥ Ǥ
TRUSSǦȋTotal Reliability Using Scalable ServersȌǡ ǡ Ǥ òǦ
¡ ¡ òǦ Ǥ λαͳͲǦͷ ൌ
ଵ
ͷ ȉ ͳͲ଼
ǡ ò
ଶሺଵିେሻ
ͻͻǡͻͻΨ
Ǥ ò Ǧ ò ò
ǡ ǡ
Ǥ
Ǧ òò
ǡ ǡ
Ǧ
¡Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.1.4.2
Kompressionsbehaftetes Prüfsummenkalkül
v = vω
k
v = v( x) =
−1
,..., v0
115
ωǦ¡Ǥ
ωk −1
¦vx i
i
¡
i =0
∈ȓͲǡǥǡπǦͳȔ ¡ πǡ πǦͳ Ǥ
ηȋȌǡ∈ȓͲǡǥǡǦͳȔ
¡ ò
Ǧ
ǡ
Ǥ
¡
Ǧǡ ǦǦ òǤ ͶǦͳ ò
ò ò
Ǥ ò
Ǧ
π −1
g ( x) = ¦ gi xi Ǥ i =0
ͶǦͳπα͵ͲαͳǡͳαͲǡʹαͳǡȋȌαʹΪͳǤ ǣ ò
ò ȋȌ ò ȋȌǤ
Ǧ ȋȌ
Ǥ
Abbildung 4-17: Parallele Prüfsummenberechnung
116
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
¡
ò Ǥ Ú
ǡ
ò
Ǥ Ú Ǧ
ǡ Ú
Ǧ
Ǥ πǦͳ Ǧ
¡ ò
Ǥ
ò
ΔǦ
òǤ ò ò ǡ ΔǤǡΔ¡ǣ ȋʹȌǡ ǡ ò
ȋ͵Ȍ ȋͳȌǤ òǡ ¡ȋ∈ȓͲǡͳȔȌǣ
Δ : {0 ,1} × {0 ,1} × {0 ,1} →
{0 ,1}
1) Δ( x1 , x2 , x3 ) = Δ( x1 , x2 , x3 ) = b, 2) Δ( x1 , x2 , x3 ) = Δ( x1 , x2 , x3 ) = Δ( x1 , x2 , x3 ) = b, 3) Δ( x1 , x2 , x3 ) = Δ( x1 , x2 , x3 ) = Δ( x1 , x2 , x3 ) = b.
ǡ òǣ falls r=0 ° x1 ⊕ x2 Δ ( x1 , x2 , x3 ) = ® und x ⊕ x ⊕ x falls r=1 °¯ 1 2 3 ° x1 ⊕ x2 falls r=0 Δ '( x1 , x2 , x3 ) = ® °¯ x1 ⊕ x2 ⊕ x3 falls r=1.
αͲ ò
ǡ αͳ
ò
Ǥ ͵ αͲ
ò
Ǥ òò
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
117
ȓωͲǡǥǡωπǦͳȔ Ǥ Ú
ǡ ∈ȓͳǡǥǡπǦʹȔ ǡ ωΪͳ≥ωǦͳεω Ǥ Ú ωǦͳǦω Ǧͳ Ϊͳ Ǥ ͶǦͳͺ ͶǦͳ ò
ò Ǧ ηǮȋȌαηȋȌǤ ò
ò ÚǤ¡¡ ò Ǥ Ǧ ȋ Ȍ Ǥǡ Ǥ ò
ò
òǦ Ǥ
Abbildung 4-18: Prüfsummenberechnung für zwei Threads ò
Ú
ǡ Ú òǦ
118
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǥ ͶǦͳͺ
ǡ
òǤ ȏͷ͵ȐÚ
ò
ò ǡ Ǧ Ǥ
ÚǡÚé
ǡ
ͶǦͳͺǦ ¡Ǥ
ǦǦ Ǧ òǤ ÚÚ
ǣ ͳǤ
ǦǦòò
ò
Ǥ ò
Ǧ
Ǥ
ʹǤ
ò
ǡΔǦ ǡ
ò Ǥ ò Ǧ ǦǦ ò ò ò Úǡ ò Ǧ ¡כǤ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
119
ÚÚ
Ǥ
òǡ
ò Úǡ
כ Ǥ αͳǥ ǦǦ Ǧ ò αͳǥπǦͳ ǡ αͳǥͳǥπǦͳ αͳǥπǦͳͳǥǤ
ò ǦǦò
כ ǦòǤ ؔכȟǤ ͶǦͳͻ Ǧ
òǦǦò òǤ
Abbildung 4-19: Prüfsummenberechnung bei out-of-order Ausführung
120 4.1.4.3
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Kompressionsloses Prüfsummenkalkül
ò
Úǡ
Ȃ
Ǥ
ǡǤǤ Ǥò
òǡǦ ǡ
ò Ǥ ò Ǥ
ò ǡ
ǡ
π
Ǧ Ǥπǡò ¡ǤÚ
ͳͻò
Ǥ ò
ò ò
¡
Ǥ
Ǧ ¡ǡ
ò
Ǥ ò
ò ò Ǥ
ǡ ò ǡ ò
ǡ
ǤÚ ò ò ò
Ǧ ͳͻ ¡ǡò
Ú
Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
121
Ǥ ò ò
π ǡ
Ǥ ͶǦʹͲ ò ǦǦ ò òǤ Ǧ ò ò
ò Ǥ
Ǧ
ͶǦʹͲ ǡ ȗǤ
Abbildung 4-20: Kompressionsloses Prüfsummenkalkül
122 4.1.4.4
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Theoretischer Vergleich mit Paritybäumen
ò ¡ Ú Ǧ Ú ȋ Ȍ Ǥ
Ǧ ȋfaninȌ Ǥ ò Ǧ ݂ǣ Գ ՜ Գ ȋȌ ¡ ݂ሺͲሻ ൌ ቒ
ே
ቓ ݐൌ ቒ
ே
Ǥ Ú ݂ሺ݊ሻ ൌ ቒ ¡ ݂ሺ݊ሻ ൌ ቒ
ே
ቓቀ
ଵ
ቓ
ሺିଵሻ
ቓ ǡ ቁ Ǥ ò
ǡ
௧ିଵ
݂ሺͲሻ ȉ ݂ܽ݊݅݊ ȉ ሺሺͳȀ݂ܽ݊݅݊ሻ௧ െ ͳሻ ቝ ܥሺݐሻ ؔ අ ݂ሺ݅ሻඉ ൌ െ ቜ ݂ܽ݊݅݊ െ ͳ ୀ
ȋǦ ȌǤ ͶǦʹͳ ò ∈ȓͺǡ ͳǡ ͵ʹǡ ͶȔ Ǧ ∈ȓʹǡǥǡȔ Ǧ Ǥ ò
ȋ
ȌǤ Ǧ Úé¡
Ǥ Ǧ ¡
Ǥ Ǧ ͶǦʹʹÚ ¡ȋǦ
Ȍ ò ∈ȓͺǡ ͳǡ ͵ʹǡ ͶȔ Ǧ ∈ȓʹǡǥǡȔǤ
Ú Ǧ Ǥ Ú ò Ǧ Ǥ
ǡ ò ò
ȋ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
123
Ȁ
ȌǤ é
òǡ
Ǥ ǤȏʹʹʹȐ
ǡ Ǧ òʹͲͲͲǦ
ͺͺΨ Ǥò
ò
ǡ ¡
Ǥ
Abbildung 4-21: Kosten (in Gattern) von Paritybäumen
124
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Abbildung 4-22: Verzögerung (in Gattern) von Paritybäumen
4.1.4.5
Experimenteller Vergleich mit Paritybäumen
ǦÚ Ǧ ò ǡ
Ǧ Ú nero Ǥ ͶǦʹ͵ ¡
ȋǦ
ǡ Ȍ
ȋǦ
ǡ ∈ȓͺǡǥǡͷͳʹȔȌ ǦǤ ¡
Ǧ
¡ͳͶòǤ
125
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Abbildung 4-23: Fläche – Parity, Prüfsummenkalkül (LUTs, FPGA) ǡ
ͷͳʹǤ
ǡ
Ú
ǡ
Ǥ
ͳʹͺ
¡Ǥ
126
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦʹͶ
ȋǦ
ǡ∈ȓͺǡǥǡͳʹͺȔȌòǦò ǦǤ
ò Ͷ
òǤ ¡ Ǧ Úò
Ǥ
òÚ òǡ Ǥ
Abbildung 4-24: Kritischer Pfad – Parity, Prüfsummenkalkül (ns, FPGA)
127
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦʹͷȋȌ òò ¡ ¡ ȋǦ
ǡ Ȍ ò
∈ȓͳǡ ͵ʹǡ ͶȔ ǦǤ
Abbildung 4-25: Leistungsaufnahme – Parity, Prüfsummenkalkül (mW, FPGA)
128
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦʹ Δ
ò ¡ ò
ȋǦ
ǡȌ
∈ȓͳǡ͵ʹǡͶȔǤ
Abbildung 4-26: Δ Leistungsaufnahme – Parity, Prüfsummenkalkül (mW, FPGA) ò
Ǥ ͷͲ
òǦ Ǧ Ǥ ò
ò Úé Ǧ
Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
129
ͶǦʹ ¡
ȋ λʹǡ Ǧ
ǡ ∈ȓͺǡǥǡͷͳʹȔȌ Ǧ òò ǦǤ
Ǧ
¡
ȋDifferenzȌǤ òò ǡ Ͷ Ǧ Ǥ
Abbildung 4-27: Fläche – Parity, Prüfsummenkalkül (λ2, Standardzellen)
130
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦʹͺ Ú ò ǦǤ
Ǧ
∈ȓͺǡǥǡͷͳʹȔ Ǥ
ò
Ǥ
Kritischer Pfad (ps)
10000
1000
100 8
16
32
64
128
256
512
Parity
1230
1655
2079
2504
2928
3352
3777
Prüfsumme
602
602
602
602
602
602
602
Abbildung 4-28: Verzögerung – Parity, Prüfsummenkalkül (ps, Standardzellen)
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
131
ͶǦʹͻ¡ Ǧò ò
ȋǦ
ǡ ∈ȓͺǡǤǤǤǡͷͳʹȔȌ ò Ǧ Ǥ
Abbildung 4-29: Kapazität – Parity, Prüfsummenkalkül (pF, Standardzellen) ò ͺ ͳʹͺ ¡ òòǤ ò ʹͷ ¡ ò Ǥ
ǡ ò Ǧ ʹͷ ǡò Ǥ
132 4.1.4.6
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Experimentelle Ergebnisse
òǦ
Ǧ ǡ
Ǥ ò
Ú ͵ʹǦǦ ǡ¡ͳͲǡǤ Ǧ Ǥ ò worst-case- Ǧ
Ǧ ǡ Ǧ ¡ ¡Ǥ
Κ Ǥ ò Κ Ú ͶǦͳͳ Ǥ ¡
Ǥ ò Κ ǡ òǦ
ǡ
ȋʹͲͲ̴Ȍ ǡ Ǥ
ͺǦͶǦǦ ptlsim ȏʹ͵ʹȐ Ǧ òǡ ͳͲ ȋ ͶǦͶȌǤò
br,cc
ǡ
bruǡ Ǥ jmpǤ Chk
Ǧ òǤ
ǦÚȋΛǦǡΠ ǦòΣǦȌǤ
ȋ∅ȌǤ
ʹʹǡͳ
Ͳǡͺ
Ͳǡͺ
ͳͶǡʹ
Ͳǡ
ͳǡ͵
25,1
6,7
ǡ
ld
st
Ͳǡͳ
ͳǡ
Ͳ
Ͳǡͳ
Ͳ
Ͳ
Ͳǡͺ
͵
12,5
17,3
Ͳǡ͵
Ͳǡͳ
ͻǡ͵
Ͳǡ
Ͳǡ͵
ͳǡͳ
Ͳ
ͳǡ
ͳǡͷ
6,9
Ͳ
Ͳǡͳ
Ͳǡ͵
ͳ
13,9
25,2 8,8
Ͳǡ
Ͳǡ͵
ͳʹǡ ͳͷǡͻ
Ͳǡ
ǡͷ
ͳǡͻ ͵ͳǡ
ͳͷǡ
ͲǡͶ
Ͳǡͳ
Ͳǡʹ
ͳ
11,4
21
ͳǡ
ͳǡͺ
ͳͶǡͷ
Ͳǡͻ
ͳǡͶ
ʹͺǡ
ͳͶǡʹ
ʹͶ
Ͳǡ͵
Ͳǡʹ
Ͳǡʹ
Ͳǡ
13,8
18,7
ͳǡ
ͳǡͳ
ͳʹǡ͵
ͲǡͶ
Ͳǡͷ
͵ͳǡͶ
ͳ͵ǡ͵
ͷǡ
Ͳ
ͷǡͺ
Ͳǡͺ
8,1
19,7
ͲǡͶ
Ͳǡʹ
ͳͲǡ
Ͳǡʹ
ͷǡͻ
ͳͻǡͻ
ʹʹǡͶ
Ͳǡͷ
Ͳǡ͵
Ͳǡʹ
ͳ
13,1
27,8
ʹǡ͵
ͳǡʹ
ͳ͵ǡͷ
Ͳǡ
Ͳǡ
ʹͶǡͶ
ͳͶǡ͵
Ͳ
Ͳ
ͳǡ
ʹǡͻ
6,7
25,1
ͳǡͶ
Ͳǡ
ͳͶǡͳ
Ͳǡͻ
Ͳǡͺ
ʹʹǡʹ
ʹ͵ǡ͵
ͳǡͳ
Ͳǡͳ
ͳǡͳ
ͳǡͶ
10,4
23,7
ͳǡͺ
ͳǡͶ
ͳ͵ǡ͵
Ͳǡ
ͳǡ͵
ʹǡͷ
ͳͷǡͶ
Ͳ
Ͳ
͵ǡͷ
ͳǡ͵
10,9
17,8
Ͳǡ͵
Ͳǡʹ
ͺ
Ͳǡͳ
ͳͺǡͶ
ʹͲǡͻ
ͳǡ͵
Ͳǡͻ
Ͳǡͳ
Ͳǡͻ
ͳǡͳ
10,7
23,2
ͳǡͺ
ͳǡ͵
ͳ͵ǡͺ
Ͳǡ
ͳǡͷ
ʹͺǡͷ
ͳͶǡ
ͲǡͺͶ
ͲǡͲͺ
ͳǡͶͶ
ͳǡ͵ͺ
10,43
21,12
ͳǡͳͺ
Ͳǡͺ
ͳ͵ǡͳͶ
Ͳǡͷʹ
͵ǡͻͶ
ʹǡͳͷ
ͳǡ͵
∅
Ͳǡʹ
ͳͶǡͺ
Ͳǡͳ
Ͳǡʹ
͵ͺǡͺ
ʹͶ
ʹ͵ǡͶ
ͳͶǡͻ
ʹ
Benchmark (SPECint2006_base)
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
133
Tabelle 4-11: Relative Häufigkeit von Operationscodes (%)
134
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǡ ò
Ǧ
ǤÚé¡Ǧ ȋǤ
ͶǤʹǤͳȌǤ ʹ Ú Ǧ ò ò ¡ ò
Ǥ ÚǤ ͶǦ͵ͲÚ
ȋòÚǡǦ
Ȍ ò ò Ǧ ʹ ͳȀͷ
ò
Ǥ
òǤ
Verzögerung in Befehlen
30
24
18
12
6
0
Zeit Abbildung 4-30: Verzögerung in Befehlen bis zur Fehlerentdeckung
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
135
Ú¡
¡ǤǦ ò¡
τǡ Ǥ Κ∈ȐͲǡͳȐ
ǡ¡
1½ ϑ = τ ⋅ max ®π , ¾ Ǥ ¯ Κ¿ Ǧ ¡Ǥ ò
Ú Ǧ
Ǧ
1½ Ú εδπǤ
τ ⋅ max ®ε , ¾ Ǧ ¯ Κ¿ Ǥ ¡
òǦ
Ǥò Ú
¡ ¡ Ǥ Ǧ ͶǦ͵ͳ
ò
ȋΨ ǡ Ǧ
Ȍ
ò
ȋǦ
ȌǤ
ò
ʹͲ
ͳȀȋͳͲΪ⋅ͳͲͲͲȌǡαͲǡǥǡͳͲǡ¡
Ǥǡ ò
Ǥ
ʹͲ
òΚÚͶǦͳͳǤ
ǤǤΠαͲǡͳ͵ΛαͲǡʹͳǤ
136
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Fehlerüberdeckung(%)
100
80
60
40
20
0 0,00010
0,00011
0,00012
0,00014
0,00017
0,00020
0,00025
0,00033
0,00050
0,00099
0,10000
Wahrscheinlichkeit eines Kontextwechsels
Abbildung 4-31: Fehlerüberdeckung des Prüfsummenverfahrens (%) ͶǦ͵ͳǡǦ
ͳȀͳͲ òǦ
Ǥǡ ȋǦ ȌǤ ͶǦ͵ʹ ȋͳͲ ǡ Ǧ
Ȍ
ȋǦ
ͳȀȋͳͲΪ⋅ͳͲͲͲȌǡ αͲǡǥǡͳͲȌǡ Ǧ ÚǤ¡
Ǥ ǡ
137
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǥ
ͳͲͲͳͲòÚ
ͺͲΨ
Ǥ
Lokalisierungsgenauigkeit (%)
100
80
60
40
20
0 0,00010
0,00011
0,00012
0,00014
0,00017
0,00020
0,00025
0,00033
0,00050
0,00099
0,10000
Wahrscheinlichkeit eines Kontextwechsels
Abbildung 4-32: Lokalisierungsgenauigkeit des Prüfsummenverfahrens (%)
ͳȀͳͲȋ Ȍ Ǥ
ò ǡ ¡
Ǥ
ò
Ú
138
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǥ
Ǥ ò ǡ ò ȋ Ȍ ǡ Ǧ ¡ ¡ Ǥ
ͶǤ͵Ǥʹò Ǧ
ǡ
Ǧ Ú
Ǥ
ǡ
Ǧ Ú
Ǥ 4.1.4.7
Der Fail-Safe Modus
Ǧ ǡ ǡ
ǡǤ Ǧ ǡ
ò Ǥ ò ò
ǣ Ǥ ǡ ò INTFAULT ȋǤǤ Ȍ
ǡ
¡Ǥ ò o
Ú
Ǥ
ͶǤʹǤʹ
òǤ ǡ ¡ ǡ ǡ ò EXTFAULT Ǧ
139
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
éǤ EXTFAULT INTFAULT Ǧ ǡ ò Ǥ
INTFAULT EXTFAULT Ǥ
ò Ǥ
Ǧ òǡǦ ǡ
Ǧ òǤ ͶǦ͵͵ǡ
Ǧ ʹͳǤ Ǧ ǡ Ǥ
Abbildung 4-33: Abschaltung der Pipelinekommunikation
¡ǡ ¡
Ǧ Ǥ ͶǦ͵Ͷ
òǤ
ͶǦͳʹǡ ʹͳǦǡòǦ
ò
Ǥ
140
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǡ
Ǥ
Abbildung 4-34: Abschaltung mit Dreifach-Redundanz
Ǧ ǡ
Ǧ ͶǦ͵͵ ͶǦͳʹ ͶǦͳ͵ Ǥ
Ǧ ¡ǡ ǡ ǷDz ǤȋǦȌǡ ͶǦͳʹ Úé
¡
Ǧ Ǥ ʹͲͲ ò Ǧ ¡Ǥ
141
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ò
ǦȀ ¡
ȋ Ȍͳȋ̴Ȍǡʹȋ̴ ȌǡͶ ȋ Ȍǡ ʹ ȋ Ȍ Ǥ
Ǧ Ǧ ͻǡ͵ͺΨ ȋȌǡ Ǥ ͻǡͳΨ ȋȌ Ú Ǥ
ò ǡ
Ǥ Ǧ Ú ǡ
Ǧ
Ǥ
Tabelle 4-12: Ressourcen – Fail-Safe/ Fail-Safe TMR (FPGA) Kritischer Pfad (ns) Fail-Safe Nach Synthese/ Mapping/
Fail-Safe TMR
ǡͺͺͻȀǡͶͳȀǡ͵
Platzierung& Routing Fläche Slices
ͳ
Slice-FFs
Ͳ
4-Input LUTs
ͳ
IOBs
Ͷ
Gate Count
Energieverbrauch (bei 200 MHz Takt)
Spannungsversorgung 1,8 V
ʹǡʹͶ
ͶǡͲͶ
ʹǡͶͷ
ͶǡͶͳ
142
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦͳ͵
Ǧ Ǥ Ǧ
¡
Ǥ boom
òǡò
¡Ǥ
Tabelle 4-13: Ressourcen – Fail-Safe/ TMR-Fail-Safe (Standardzellen) Kritischer Pfad (ps) Transistoren 2
Flächenverbrauch (λ ) Kapazität (pF)
Fail-Safe
Fail-Safe TMR
Unterschied (%)
ͳͳ
͵Ͷͷ
ʹͻǡͶ
ͺ
ͷͶ
ͷ
͵ͷͷͲ
ͳͶͲͳͲͲ
ͺͲͲ
ͲǡͲ
Ͳǡͳ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.1.5
143
Mikrocode mit eingebetteten Zeitvorgaben (Mikrocode Timing)22
òò
Ǧ
Ú ǡ ǤǤ
Ǥ
Ǧ
ò
òǦ ÚǤ
Ǧ
Ǥ
Úé¡
ǡ ò ò Ǥ ǡ ò
Ǥòò Ǥ ò
Ǧ ¡
ǦǤ 4.1.5.1
Verwandte Arbeiten
ǡ
ȋȌ Ǧ ÚǤ
Ǥ Ǧ Ǧͺͺ ȀͳͲͲͲ ȏʹʹͺȐǤ
¡ǡ Ǧ ʹʹ
ǦʹͲͲÚ
ȏͷͶȐǤ
144
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǥ ¡ ǡ
òǤ ¡
ǡ Ú Ǥ ¡ ò ¡
Ǧ ò
ǡ
ǤǤ
ǡ
ò
ò
òǤ ò ¡ ¡ ¡
ǡǤǤé¡
Ǥ Ǥ ȏʹʹʹȐ
ǡ ò
Ǧ
Ǧ
ò
Ǥ ͳͲͲ ò
ǡ Ǥ
ò Ǧ Ǥ
Ǥ ǡ Ǥ ǡ Ú ǡ Ǥ Ǥ ȏͲȐ Ǧ
Ǧ
ǡ
ǡ Ǥ ǦȀǦ Ǧ
¡
¡
Ǧ Ǧ
Ǥ ȏʹȐ ò
Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
145
¡Ǧ ǡ Ǧ
Ǥ Dynamic Implementation Verification Architecture ȋDIVAȌ ȏͳͲȐȏʹʹͶȐ Ǥ ǡ
¡Ǥ Ǧȋcheckcomm checkcompȌ
ǡò
ò ǤCheckcommò
Ǧ checkcomp ò
Ǥ Ǧ ǡ
Ǥ ¡
ò
òǡ Ǧ
ò
Ǧ
Ǥ
ò
Ǧ
ǤǤ ̱ͳͶΨ¡
Ǧ¡Ǥ Ú
͵Ψ ¡
ȏͻȐǤ
Ǧ
performance counter ȏͺȐ ǡ ¡ Ǥ ÚǡǦ ǤPerformance counterÚ
Ǧ
ǦǤ Ú ¡ ¡Ǧ
ǣ ͳǤ
¡ǫ
ʹǤ
¡Ǧ ǡ Úǫ
146
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ȏʹͳȐ Ú
ǡ Ǧ
òǤ ¡ ǤǤ Ǧ
ǡ ǤǦ Ǧ Ǥ
ǡ òǤ
¡
òǤ ¡ ò ò ǡ Ǧ ¡ Ú ȋǤ
ͶǤͳǤͶǤͷȌǤ ¡
é
òǡǦ ʹ͵Ǥ ò
ǡ
ǡ
ǡ ǤǤ
Ǧ
òǡ Ǥ ¡Ǧ
ò ò Ǥ
ò
Ǧ
ò
Ǥ
ʹ͵ǡé ¡ ǡ ¡ǡ
òǤ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.1.5.2
147
Mikrocode Timing
ǡòǦ Ȁ
Ǧ Ǧ Ǥ ò
Ǧ Ú
ǡǤǤò ǡ
Ǧ
ò
Ǥ
Ú
ǡ Ǥ Ǧ
Ǧ Ǧ ȋaccurateȌ Ǥ ¡ Ǧ
ò Ǧ Ǥ
Ǥ
ȋ¬accurateȌǡǡ cmaxi Ǧ Ȁ Ǥ mlen ¡
ǦǤ ǡ ∈ȓͳǡǥǡmlenȔ
Ǧ
ǣ ݁ ؔ ሼͲǡͳሽȁ௧ ȁ ሼͲǡͳሽȁ௧ ȁ ሼͲǡͳሽȁ௨௧ȁ Ǥ ሼͲǡͳሽȁ௧ȁ ò
Ǧǡȁȁ ¡ ¡ Ǥ Ú ¡ǡ
Ǧ
Ǥaccurateǡǡ ȀtimingiòǤ timingi=cmaxi Ǥ
148
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦ͵ͷ
Ǧ Ǥ Ú ò ¡ Ǥ
Abbildung 4-35: Integration von Mikrocode Timing ò ǡ ¡ ò ȋ ǡ∈ȓͳǡǤǤǤǡȔȌǤǡ ò ȋ Ȍ Ǧ ò
Ǥ ǤǦ ǤǦ mcodeval=timingi
ò
Ǧ ǡ ò
ǡ ȋȌǤ
ò
¡ ǡ ò ȋȌ Ǥ ¡ ¡ǡ ò ¡
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
149
mcodeval
ǡ Ǥ ò
ǡ Ǧ Ǧ
Ǧȋ ǡ
òǦ Ȁ Ȍ
ȋǡ Ǧ òȌ Ǥ mcodeval ¡ ¡ òǡ Ú
Ǥ ͶǦ͵
Ǥ
Abbildung 4-36: Signalisierung von Fehlern durch Mikrocode Timing
150
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
¡ͳǡʹ͵Úò
òǦ
òǣ •
S1 (Laden):
ò FUj ¡ ȋ
αͲȌǤ Ǧ Ǥ
mcodeval
Ǥ
éʹǤ
•
S2 (Ausführung): ccountval ¡ ǤÚ
ǣ ⋅
ǦǣǦFUj ȋ Ǧ ȌǤ ¡ mcodeval
Ǥ ȋ αͳȌ ͵ Ǧ
Ǥ
⋅
Ǧǣ ȋȌǡαͲ ͵òǤ
•
S3 (Stopp): Ǧ ccountval mcodeval
Ǥò accurateǡ ǡ Ǧ
ǡccountval>mcodevalǤ
ͶǦ͵ò¡
Ǥ
Abbildung 4-37: Zustandsübergänge bei Mikrocode Timing
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.1.5.3
151
Theoretische Erkenntnisse
ǡ ò
¡ Ǥ ܯൌ ሺܵǡ ܺǡ ܻǡ ȭǡ ܣሻ ͷǦǡ
¡ǤǡǡΣǦ
ǡ ¡ǡ ∈Σ Ǧ ǡ ∈Σ Σ∈ȓͲǡͳȔ Ǧ Ǧ Ǥαȁȁ≥ͳǡȋȌαǡ
݅ǡ ݆ אሼͳǡ ǥ ǡ ܰሽǤ ܣ אሾͲǡͳሿ ò ò¡ ¡Ǥ Ǧ Ǥ¡ ò ȋȋȌαͲȌǤ א ݆ሼͳǡ ǥ ǡ ܰሽǤ σே ୀଵ ܣ ൌ ͳǤ
ȋǡȌ
ǡ Ǥ
¡ ǡ
¡
ò ò
Ǧ ò
Ǥ ܸ א ݏ Anfangsknoten, ܸ א ݐEndknoten ǡ Ǥ Ǧ Ǥ ܸ א ݒÚé
ǡ Ǧ ʹͶé Verzweigungsknotenǡ Úé é Ver ʹͶ
¡ǡÚ
ǡòòǡò
òǤ
152
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
einigungsknotenǤ Teilpfad ⊂ǡ ò
ǡǦ
ǦǦ Ǥ Ǧ
ȋǦ ȌǤ
ȋtimedȌ ȏ͵ͲȐ Ǥ ò¡
òȋȌǤ
Ú
Ǥ
ò ȋguardȌΪͳ
Ǧ ǡ
Ǥ
ǡ
¡
ǡ
ǡǦ
ǤǦ
òǡ Ú
Ǧ
ò Ǧ Ǥ ò
ǣ •
Ȁ
•
•
ͳǦǦ
153
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
•
ȋͳȌρ ȋʹȌρ ȋǤ
ʹǤʹǤ͵ǤͷȌ
•
•
ǡò ȋͳȌρ ¡
Fehlerüberdeckung im besten Fall ò
ǡ ò ÚéǤ Fallbeispiel 1: Mikroprogramm mit gleich langen Teilpfaden
Ǧ ǡ
Ǥ
ò
Ǧ
ʹǤʹǤ͵Ǥͷ ܭൌ ʹܰ െ ʹǤ
ǡ Ǧ ଵ
Ǥ
òǡ
¡ ȋ ¡ ȋͳȌʹȌǤǦ ଵ
ڿ
మ ேۀ
Ǥ
Pne ே
ଵ
ଶ
ଶڿమ ேۀ
ǣ ܲ ሺܰሻ ൌ ʹ ቀ െ ͳቁ ேିଶ
Ǥ
ସڿమ ேۀሺேିଵሻ
ൌ
154
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦ͵ͺ ò
ȋ1-Pneǡ Ǧ
Ȍ ò Ǧ ȋǦ
ȌǤ 1
Fehlerüberdeckung
0,99 0,98 0,97 0,96 0,95 0,94 0,93 0,92 0,91 2
4
6
8
10
12
14
16
18
Knoten N Abbildung 4-38: Fehlerüberdeckung von Mikrocode Timing (Beispiel 1) ȋͲȌʹ ¡
ò
Ǥé Ǧ ò
ǡ¡Ǥ
155
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Fallbeispiel 2: Fehlerüberdeckung im Extremfall
ò
ò Ǧ
ǡ
¡Ǥǡ òǤ ≥ͳ ǡ ¡ ܭൌ ʹ ȉ ሺʹ்ାଵ െ ͳሻȋ≥ͶȌܰ ൌ ʹ்ାଵ Ǥ
ǡ ଵ
Ǥ
ǡ
Ǧ
ò¡ ଵ
ǣ ܲா ൌ Ǥ ¡ ǡ Ǧ ଶ
ȋͳȌʹǡ ȋͲȌʹ Ǧ
ǡ ¡
òò
௧
Ϊͳǣ ்ܲ ൌ ڿ
మ ேۀ
ൌ
௧ ்ାଵ
Ǥ ò
Pne
ܲ ሺܶሻ ൌ భ మ ൫் ା்൯ మ ሺ்ାଵሻଶȉ൫ଶశభ ିଶ൯
ൌ
்
ଵ ሺ்ାଵሻ
ାଵ σ்ିଵ ୀ ʹ
ାଵ ଶೖశభ
ൌ
Ǥ ͶǦ͵ͻ ò
ସ൫ଶశభ ିଵ൯
ȋ1-PneǡǦ
Ȍ ò∈ȓͶǡǥǡͶͲͻȔȋǦ
ȌǡǤ ∈ȓͳǡǥǡͳͳȔǤ ò
¡ ͻͳǡതΨǤ
156
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Fehlerüberdeckung
1
0,95
0,9 4
8
16
32
64
128 256 512 1024 2048 4096
Knoten N
Abbildung 4-39: Fehlerüberdeckung von Mikrocode Timing (Beispiel 2)
Fallbeispiel 3: Fehlerüberdeckung für ein komplexes Mikroprogramm ò
Ǧ
ͶǦͶͲ Ǥ Ǥ ¡ ¡ Ǥ ݉ אԳ
Ǥ αȓͳǡǥǡǡǥǡȔǡ ݅ אԳǡ ͳdd
ǡ ǡαȓͳǡʹǡǥȔ
ǡ Ǧ Ǥ
157
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Abbildung 4-40: Knotengraph eines komplexen Mikroprogramms αͳ͵ Ǥ
¡ òǦ
ǡ
Ǥκ ȋ Ȍ Ǥ κͳαʹǡ κʹα͵ǡ κ͵αʹǡ κͶαʹǡ κͷαͳǤ o¡
òǡ
κͳαͳǡκʹαʹǡκ͵αͳǡκͶαͳǡκͷαͲǤ
158
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
o
ò
ǤȋκʹȌò o ȋͳͲͳͲȌʹ ȋͳͲͲͲȌʹǡ ȋͳͲͲͲȌʹ ȋͳͲͳͲȌʹ ȋͳͲͲͳȌʹ ȋͳͲͲͳȌʹȋͳͲͲͲȌʹǤ
ǣ
κ1 = κ 3 = κ 4 : {0} °
½ 1 2 1 p1 , (1 − p1 ) p 2 , (1 − p1 )(1 − p 2 ) °¾ Ǥ ª« log 2 N º» ª« log 2 N º» °¯ ª« log 2 N º» °¿
κ2 :ο = ®
Ǧ ò
Ǥ òǦ
ǣ ͳǦȋοȌǡ ò
ǣ ͳǦ ȋοȌǤ ͶǦͶͳ Ǧ ò
ò ͶǦͶͲ ¡
ͳʹǤ
a) Minimale Fehlerüberdeckung
b) Maximale Fehlerüberdeckung
Abbildung 4-41: Fehlerüberdeckung von Mikrocode Timing (Beispiel 3)
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.1.5.4
159
Experimentelle Ergebnisse
ò
Ǧ Ú
Ǥ
Ǥ ǡ ¡ǡ ǡ ǡ Úé
ǦȋǦ ȌǤ
Úò
ò Ǥ Ú
¡ ò
Ǧ
ȏͷͷȐ
Ǥ ȋ ǡòǦ
¡ ¡Ȍǡ ȋ ǡ ò
ǡ
ò Ȍ ò
ȋ ǡ
Ǧ
ǡ Ȍ Ǧ Ǥ ͶǦͶʹ ò
ǡ ȋǦ
ǡȌ Ǧ ǡ ò
ǡ
Ǧ
ȋǦ
ǡ ΦǡǥǡͳȀͳͻȌ Ǧ Ǥ Ǧ ò
160
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
¡λαͳͲǦʹ ¡
ǡ ¡ Ǥ
ǡ
Ǧ ǡ
ò¡ Ǧ ¡Ǥ ͳͲ ò ¡
¡
Ǥ Ǧ ͶǦͶʹ
ǡ
ò ò
Ǥ
Abbildung 4-42: Fehlerarten, Fehlerüberdeckung (%)
161
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǡ ò
Ǥ
ǡò
ǡ
Ǧ
ò
ͶǦͳͶ Ǥ òǦ
Úǡ òǦ
Fehlerhafter einen
in
Úé
einem
Ǥ
Übergang
Knoten
auf
längeren Teilpfad.
ò
ȋ
ò ȌǤ
ǡ Ǥ
Tabelle 4-14: Mikrocode Timing – Fehlerüberdeckung (%)
Arithmetisches Mittel
Latent
Effektiv
Überschrieben
Fehlerüberdeckung
ǡͻΨ
ͳǡͺͳΨ
ͶǡͷʹΨ
ͻ͵ǡͻΨ
ò
Úǡ Ǧ ǡ Ǥ ¡ ò
162
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǡò
Ǥ ≠ òǡ Ǥ Ú
ǡ ¡
òò ȋǤ
ȌǤ
ǡ Ǥ ͶǦͳͷ Ǧ
Ǥ ò ò Ȁ ͳ Ǥ
ǡ
ò ò ÚǤ Úé Ú ¡
ǡ
Ǥ
Ǧǡ
ǡǤ
Tabelle 4-15: Ressourcen – Mikrocode Timing (FPGA) Platzierung und Trassierung ͷǡʹͳ
Kritischer Pfad (ns)
Energieverbrauch (bei 200 MHz Takt)
Spannungsversorgung 1,8 V
ͺǡ
ͳͷǡͷͻ
Fläche Slices
ͳʹ
Slice-FFs
ͺ
4-Input LUTs
ʹʹ
IOBs
ͳʹ
Gate Count
ͳͻ͵
163
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦͳ
ò
ǦǤ
Tabelle 4-16: Ressourcen – Mikrocode Timing (Standardzellen) Platzierung und Trassierung Zähler
Logik
Kritischer Pfad (ps)
ͷʹ͵
ͷͲͺ
Transistoren
ͳͳͲ
ʹͲͶ
ʹͶͲʹͲͲ
ͳͲͳͷͲ
Ͳǡʹ
Ͳǡͳ
Flächenverbrauch (λ2) Kapazität (pF)
ǡ ¡ ò
¡ Ǥ Ǧ ¡ òǤ¡ ǦǤ
164
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.2 Dynamische Mechanismen 4.2.1
Dynamischer Befehlshole-Algorithmus25
Ǧ Ȁ ÚǤ
Ǧòǣ ͳǤ
ǡ
Ȁ
ʹǤ
ò
͵Ǥ
ǡ
Ǧ
4.2.1.1
Verwandte Arbeiten
Ǧ ò Ǧ ¡ȏͶͷȐȏͶͺȐȏʹͲȐȏʹͲͻȐȏʹͳͲȐ
ǡǦ
Ú Ǧ ò Ǥ ǡ
Ǥ Ǧ é
ǡ òǡ é
òǤ
Ǧ òǦǤ ȏʹͲͻȐ
ǡ ¡ Ǥ ȏͳͻȐǤ
Round-Robin ȋRRȌ
ʹͷ
ǦʹͲͲȏͷͳȐ¡Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
165
¡Ǥ ò
Ǧ
ò
Ǥ
¡é ¡
ȏͺȐǤò ǡ Ú ò Ǥ
ȋͶȌǦ ȏͷȐǡ Ǥ
Ǧ ǡ
ȏͳͷͶȐǤ Ǧ Ǧ ȋǦ
ǡ ȌǦ
Ǥ ¡
ȏͳʹͳȐǤ ȏʹͲͻȐǡǦ
Ǥ ǤͳǤͺ ǦǦ ȋǤ ͶǦͳȌÚ
ͺǤ Ú
Ǧ Ǥ
ǡ Ǧ Ǥ ȏͶȐ ǡ ͷͲΨòǤȏͳͷͶȐ
ǡ Ú
ǡ Ǥ
166
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦͳ Ǧ ò Ǧ Ǥ
Tabelle 4-17: Befehlshole-Strategien für SMT-Prozessoren
Strategie
Beschreibung
Ú¡ǡ
òǤ
Ǥ
ǡ¡Ǥ
Ǥ
ǡ¡Ǥ
Ú¡ǡ
Ǧ Ǥ
Ú¡ǡ
ǦǡǦ
Ǥ
¡ǡ
¡ Ǧ Ǧ
Ǥ
Ǥ
ÚǡÚ¡Ǥ ǦǤ
ǡ¡Ǥ Ǧǡ
Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
167
ò
ȏͶȐȏͳʹͳȐ ȏͳͷͶȐ
¡ȋ
Ȍ ǦǤ ò
ǡ
Ǧ
ǡ ¡
Ǧ ò
Ǥ Ǧ
ȋʹͲͲǣ ͶͷȌ
Ǧ Ǥ
ͶǤʹǤͳǤ
Ǧ
Ǧ òǤ ͶǦͳͺ
ǡ ò ȋfehlertolerantȌ ȋThreadsȌ Ǧ òȋSchedulingȌ¡òȋǤ ͶǦͶ͵Ȍ
ò
Ǥ
¡
Ú
Ǥ Ƕǯ
Ǧ Ǥ
168
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Tabelle 4-18: Konfiguration des Befehlshole-Algorithmus
F
S
T
Beschreibung
Ͳ
ͳ
Ͳ
Ú
ͳ
Ú
Ͳ
ò
ͳ
Konfiguration
Ͳ
Ͳ ͳ
ͳǣ
¡ǡ
ʹǣ ¡ǡ
ͳ
Ͳ
ͳ
ͳ
ͳ
ʹǣ Ǧòǡ
ͳ
Abschnitt
ʹǣ Ǧǡ
ͶǤʹǤͳǤʹ ͶǤʹǤͳǤ͵ ͶǤʹǤͳǤͶ ͶǤʹǤͳǤͷ
Ǧ òǣ ͳǤ
ȋͳǡ
ͶǤʹǤͳǤʹȌ
ʹǤ
ȋʹǡ
ͶǤʹǤͳǤ͵Ȍ
͵Ǥ
Ǧȋ
ǡʹǡ
ͶǤʹǤͳǤͶȌ
ͶǤ
ȋ
ǡʹǡ
ͶǤʹǤͳǤͷȌ
169
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
αͳǡǦ
Ȁ
ò¡
ò Ǥ ¡ ò Ǧ
ò
ǡ ò
Ǧ ÚǡÚ Ú ò
Ǥ 4.2.1.2
Einfädiger Betrieb (1T)
αͲ ȋταͳȌ ò ò Ǧ Ǥ
Ǥò∈ȓͲȁͳȔ
ǡ Ú
τ=1 Ǧ
Ǥ ͶǦͳͻ
òǡ
Ǧ
ȋ αͳȌ
ȋ ȌǤ
ȋ
ͶǤ͵ǤʹͶǤ͵Ǥ͵Ȍ αͳ
òǤ ȋǶFEǮǦ Ȍ ǡ
ȋȌ Ǧ Ǧ ȋǶRǮȌ ȋǶAǮȌ ȋǤ Ǧ
ͶǤͳȌǤ
ȋǶAbschnittǯȌ ȋǶLiteraturǯȌÚ
ǤǦ ǡ ǡ
¡
Ǧ Ǧ é Ǥ éòȋǶǦǮǶFEǮȌǤ
170
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Tabelle 4-19: Zuordnung Modus - Fehlertoleranzmechanismen
FT-Mechanismus
S=0:T=0 Name
1T
Modus (F=1) S=0:T=1 S=1:T=0 AR2T
FE
Abschnitt
Literatur
ͶǤʹǤͳ
ȏͷͳȐ
Ǧ
ͶǤͳǤͶ
ȏͷ͵Ȑ
Ǧ òò
ͶǤͳǤͷ
ȏͷͶȐ
A
-
A
-
-
RM2T
S=1:T=1 UM2T
-
R
Temporärer Speicher Ǧ ʹ ͶǤͳǤͳ
ȏͷʹȐ
Ǧ
ͶǤʹǤʹ
ȏͷȐ
ȋȌ
ͶǤͳǤͶǤ
Ǧ
R
ʹ ¡
¡
¡ ò ȋͳǡ ʹȌ Ǥ
ǡ Ǧ
ʹǡʹǤ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.2.1.3
171
Unabhängiges Multithreading zweier Threads (UM2T)
αͲǡ αͳ ¡ ò ǤǤ¡
Ǥò αͲǦǡαͳÚ¡Ǥ
Ǥ Ǧ
ǡ
Ǥ
4.2.1.4
Alternierend-redundante Ausführung (AR2T)
αͳǡ αͲǡ αͳ Ǧ ò ǡ
ǡ
ò Ǥ
ȋ
Ȍ
ǦǤ
ͶǤͳǤͳ
Ǧ
Ǥ Ǧ Ú ǤǤ
Ǥ ȏͳͶȐ
Instruction Replicator ò
Ǧ
ǡ ǡ Ú
Ǥ
172 4.2.1.5
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Redundant-simultanes Multithreading (RM2T)
ȏͳͶͷȐ ȋȌ ʹ Ǧ
òǤ ʹÚǤ ʹòȋleadingȌǡ
Ǧ ȋtrailingȌ Ǥ
ͶǤͳǤͳ¡
Ǥ
¡
òò
Ǥ
òǦ ǡò
Ǧ
ǡ ò Ǧ Ǥʹ
αͳǡαͳǡαͳǤ
4.2.1.6
Schilderung des Befehlshole-Algorithmus
ͶǦͶ͵
Ǧ ȋȌǤ Ǧ
ò ǡ
Ǧ
ǡ
ò ȏͷȐǤ
Ǥ
Ǧ
Ú ȋǤǤ Ú ǡ ǡ
ǡ ǤǤ
ȏͳͳȐȌǤͶǦͶ͵
ǡ
òȋ̴̴ȋȌǡ ȌǤ ȋǣ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
173
ȋȋͳȌǡǣȋʹȌȌǡǦ
Ǥ
ò Ú ¡ ò o
Ǥ
Abbildung 4-43: Dynamischer Befehlshole-Algorithmus
ͶǤʹǤʹ
History Voting γͳ γʹ Ǥ γͳ γʹ
ȋ Ȍ ȋ Ȍ ǡ Ǧ òǡ òǡ
ρ Ǥ
ȋʹȌǡ
ȋʹȌ Ǥ
ͶǤͳǤͶ ǡ òǦ
ò
ʹ
ʹ
Ǥ ʹ ò
Ǥ ʹ Úé ¡
Ǧ
174
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǥ
ͶǤʹǤͳǤ
Ǧ
ò ǡ ʹǡ
Ǥ ʹʹÚ
òǦ
ǣ ͳǤ
ò¡
ʹǤ
ò̴ Ǥ
¡
ò
ȋ̴̴Ȁ̴̴Ȍǡ Ȁ
ȋδαͳȀδαʹȌǡ òǡ Ǧ ò
ȋ̴ȌǤ
ǡÚǡǦ
ȋδαȋΪͳȌΨτǡ Ψ Ǧ ȌǤǡò
Ǥ 4.2.1.7
Experimentelle Ergebnisse
ͶǦͶͶ Ǧ ȋSlack, ¡ǦȌ ò ȋ ͳȌ
ȋ ʹȌ ͶǦͶ͵Ǥ
Ǧ
¡Ǧ ʹ ò ȋǦ
ǡ Ȍ Ǥ ò
ò
Ú ¡
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
175
ǤòͶǦͶͶͶǦͶͷ ͶǦʹͲǤ
Tabelle 4-20: Parameter für die Software-Simulation Parameter
ǦȀ
¡ǡ ¡¡
Ú
Wert
ͷ
ͳͲ ȋ
Ȍ ʹͲ¡
ǡ ͶǦͳͳ
ò
ǡ
ò òò
ǡ Ǥ
176
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Programmzählerstand/ Differenz
100
10
1
Zeit
Abbildung 4-44: Abstand einzelner Threads in Befehlen (RM2T) ¡Ǧǡ ò
ǡ ¡¡
Ǧ Ǥ ͶǦͶͷ ò ò ȋʹǡǦ
ȌòȋǡǦ
ǡ Ȍ Ǥ ¡ Ǥ ¡
ò¡ǡÚ
ʹ Ǥ ǡ ͳ ò ò
ǡ
Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
177
Abbildung 4-45: Füllstand der Befehlsstrompuffer (RM2T)
Ǧ ò Ǥ Ǧ ǡ ¡ Ǧ ǡ
Ǥ
¡ǡ ¡ ò ¡
Ǧ Ǥ
ò ò ò Ǥ Ǧ ǡ
178
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
¡ Ú
òǤ Ú
Ǧ ¡
ǡ Ǥ
ǡ
ǤͶǦͶͶǦͶ
ò Ǥ
Abbildung 4-46: Ressourcen – ICOUNT/ DBHA (FPGA)
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
179
Ǧ ò Ǥ¡ ¡
Ǧ ò
ǦǦ¡ òǤò Ǧ
ò
¡
Ǥ
Abbildung 4-47: Ressourcen – ICOUNT/ DBHA (Standardzellen)
180 4.2.1.8
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Theoretische Erkenntnisse
ò
ò
Ǧ ǡ ¡
Ú
òǦ ¡
ǡ Ǧ oǦ
λǡ ∈ȓͳǡǥǡͳͲȔǤ
Ǧ
ȏͳͲʹȐ
òǤ ò¡ ͶǦͶͺǤ ¡ òǡ o Ǧ
Ǥ
Abbildung 4-48: Markov-Kette - DBHA
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
181
Ǧ ∈ȓʹǡ ʹǡ ʹȔ ∈ȓͳǡ ʹȔ ǣ Ǥ
ò
ȋ ¡ ͳǡ ʹǡͶȌǤ
ͳȋͳȌʹȋʹǡ͵Ȍ λͳ ʹ ȋͶȌ òǡ
Ǥ ʹȋʹȌλʹͳ ʹǡ λ͵ ʹ ͳ òǤ ʹ λͶǡ Ǥ λͷ
Ǥ λ o ʹ ʹ ȋͷȌ ͳ ʹ ȋȌ ǡ Ǧòò ȋǤ
ͶǤͳǤͶȌ
ʹǤ ʹǦ òǤλαͳȀʹ
Ǥ ȋȌ ǡ
ǡλͻ ¡ ȋǡȌ ȋͶȌ
Ǥ
Ǧ λͺǡ Ǥ λͳͲ ȋȌ Ǥ ȋȌ ʹ Ǧ ȋͺȌ òǦ Ǥ ò
ͶǦʹͳǦ o ǡ
Ǥ
182
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Tabelle 4-21: Übergangsraten der Markov-Kette Variable
Rate
Bemerkung
λͳ
ͳȀͳͲ⋅ͳȀͳͲͷ
λʹ
ͳȀͳͲΪͳȀͷ
λ͵
ͲǡͳͳΪͲǡʹͳ
λͶ
ͳȀͳͲΪͳȀͷ
λͷ
ͳȀͳͲΪͳȀͷ
λ
ȀͳͲ⋅ͳȀͳͲ
λ
Φ
λͺ
ͻȀͳͲ⋅ͳȀͳͲ
λͻ
ͳȀͳͲͻ
λͳͲ
ͻȀͳͲ⋅ͳȀͳͲ
Transition ȋͳȌǦȋʹȌ
ͳǡʹ oʹǡ
ȋʹȌǦȋ͵Ȍ
ͳǦʹ oʹǡ
ȋ͵ȌǦȋʹȌ
ʹǦͳ oʹǡ
ȋͶȌǦȋͷȌ
ͳǦʹ oʹǡ
ȋͷȌǦȋͶȌ
ʹǦͳ ͷ
ʹ
ȋͷȌǦȋȌ
ȋʹȌ oʹǡ
ȋȌǦȋȌǦȋȌ
ͳǦʹǦͳȋȌ ͷ
ʹ
ȋȌǦȋͺȌ
ȋʹȌǡ Ǧo oʹȂʹ
ȋȌǦȋͶȌǦȋȌ
ȋȌ ͷ
ʹ
ȋȌǦȋͺȌ
ȋͳȌǡ Ǧo
o ò λʹǡ͵ǡͶǡͷ Ú ͶǦͳͳ Ǥ ǡ
Ǧ
Ǧ Ǧǡȋé
ò ǦǦȌ Ǥ òǡ
Ǧ
183
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǡ
¡ ȋ
ȏͳͲʹȐȌǤ
ǦǦǣ ͶǦͶͺǣ 0 0 §1− λ1 ¨ 0 1 − λ + λ π λ ( 1 2) 2 3 ¨ ¨ 0 λ2π2 1− ( λ1 + λ3 ) ¨ λ λπ λ1 1 2 Q := ¨¨ 1 0 0 0 ¨ 0 0 0 ¨ ¨ 0 0 0 ¨ ¨ 0 0 0 ©
0 0 0
(1− λ5 ) λ5 0 0 0
0 0
0 0
0 0
0
0
0
λ4 λ9 λ9 1− ( λ4 + λ6 ) 0 0 λ6 λ7 1− ( λ7 + λ9 + λ10 ) λ7 0 1− ( λ7 + λ8 + λ9 ) λ10 λ8 0
0· ¸ 0¸ 0¸ ¸ 0¸ 0¸ ¸ 0¸ 0¸ ¸ 1¸¹
T P := Q . ò n
∀j ∈ {1,..., n} : ¦ Pij = 1 ǡ
¡ i =1
Ǧ ȋȌααͺ Ǥ
òǡ Ǧ òòǤ ¡ȋȌαǡ ȋȌα ȋȌαΪͳǡΪͳ Ǥ
Ǯ ǮαǦǡ ǣαȋǮȁȌǤ Ú
⋅Ɏα ¡ π = ( 0, 0,0, 0, 0, 0,0,1) ǤǤ Ǧ T
Ǧ
Ǥ
184
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǣ
ͶǦͶͺ Ǧ ¡Ǥπǣ °(1, 0, 0, 0, 0, 0, 0, 0 )T , ( 0,1, 0, 0, 0, 0, 0, 0 )T π =® T T °¯( 0, 0, 0,1, 0, 0, 0, 0 ) , ( 0, 0, 0, 0, 0,1, 0, 0 )
, ½° ¾. °¿
Ǧ ò ȋαͲȌǤ
òπǯ∈παπǮ⋅ǤòǦ π ' = (1,0,0,0,0,0,0,0) ͶǦͶͻǤ T
ͶǦͶͻǡ ͶǦͷͲ ȋ π ' = ( 0,1,0,0,0,0,0,0) Ȍǡ T
ͶǦͷͳ
ȋ π ' = ( 0,0,0,1,0,0,0,0) Ȍ T
ͶǦͷʹ
ȋ π ' = ( 0,0,0,0,0,1,0,0) Ȍ Ǧ
Ǧ T
ǡ Ǧ
ȋ ǡ ȓͳǡ ͳͲǡ ͳͲͲǡ ͳͲͲͲǡ ͳͲͲͲͲǡ ͳͲͲͲͲͲǡ ͳͲͲͲͲͲͲǡ ͳͲͲͲͲͲͲͲȔȌ Ǧ Ǥ ͳ ȋ ͶǦͶͻȌ Ǧ
ò ͳ ͳͲͲͲͲͲ Ǥ
Ǥ
o ʹ
ʹ
Ǥ
Ǧ λ͵ǦλʹαͲǡͲʹ
Ǧ
ʹ ȋ ͶǦͷͲȌ
Ǥ ͳ
ʹ ʹ òǤ ʹ ȋ ͶǦͷͳȌ
Ǧ Ǧ
Ǥ
¡ Ǧ
ǡ o
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
185
ʹǤ ʹ ȋ ͶǦͷʹȌ
Ǧ
Ǥ Ǧ
Ǧ
Ǥ
ʹǦͳʹǦͳ ǡò ¡
ǡ
Ǥ
Abbildung 4-49: Zustandswahrscheinlichkeit bei Startzustand 1T
186
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Abbildung 4-50: Zustandswahrscheinlichkeit bei Startzustand UM2T-1T
Abbildung 4-51: Zustandswahrscheinlichkeit bei Startzustand RM2T-1T
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
187
Abbildung 4-52: Zustandswahrscheinlichkeit bei Startzustand AR2T-1T
188 4.2.2
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
History Voting27
¡
Ǥ
ǡ Ǥ ò Ǧ
ȏͳ͵Ȑ ÚǤ
Ǥ ǣ •
temporären Speicher ȋǤ
ͶǤͳǤͳȌ
ò
¡ Ǥ
ȋ Ȁ
ȌǤ
•
ò Ǧ
ò Ǧòò Ǧ
ͶǤͳǤͶǤ
History Voting
Ǥ Ǥ
ʹ
ȏͷȐǤ
189
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
4.2.2.1
Beobachtungen
ͶǦͷ͵ Ǧ
ȋǦ
Ȍ ò ͳͻ͵ȋǦ
ȌòǦ
ͳ ȏ͵ʹȐǤ Ǧ ǤÚ ǡ
é¡Ǥ
Abbildung 4-53: Anzahl von ein-Bit Speicherfehlern bei 193 Systemen
190
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦͷͶ ¡
Ǧ
ȋȏ͵ʹȐȌǤ
Abbildung 4-54: Anzahl transienter ein-Bit Speicherfehler eines Systems Ǧ Ǥé ò
ǡ
é ¡Ǥ Ǥ¡
ͳͻ
ͶͲͲǦ
Ǧ ¡ ò
ǡ ǡ
ÚéͳǦ͵Ǧ
òǤͶͲͲ Ú ȋʹͲͲȌ ¡
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
191
ȋͷͲͲʹͺ ȌǤ Ǧ
ȋʹͶǤͲǤǦ͵ͳǤͲͺǤʹͲͲǡ Ǧ
Ȍ ͵ͳ͵ǡ ȋǦ
Ȍ Ǥ
éòǡÚ¡Ǥ ò ¡
Ǥ ʹǡͷǡͻǡͳͲͳͶ ¡ ǡ
Ú
¡
Ǥ ȏ͵ʹȐ
ǡ ǣ ǡ ò
Ǥ 4.2.2.2
Verwandte Arbeiten
¡
ò Ǧ é
Ǥ ͵Ͳͺͳ ȏͳͻͻȐǤ ȏʹͲȐ Ǧ ǡ
ǡ ǤȀͻͲͲͲ ǡ ͻͲͲ ȏͳͻ͵Ȑ Ǧ
Ǧ ʹͺǤͷͲͲǤ
192
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǡ Ǥ ȏͺͻȐ ǡ Ǥ
͵Ͳͺͳ Ǧ "
ǡ ÚǤ ȏͳͳͷȐ
Ǧ ǡ Ǥ ȏͳʹ͵Ȑ
Ǧ ǦǤ Ǧ
Ǥ
Ǧ
ǡ ǦǦ ǡ ǡ Ǥ "
ȏͳͶʹȐǤ ò ò Ǥ ȏʹͳȐ ǡ
ò α-count
ÚǤ
¡ ò
α
Ǥ ǡ
Ǥ Ǧ
Ǧ
ȏͳͳͷȐ ¡
Ǥ
Ǧ ǡ
¡ Ǥ ȏͶȐ ò
ǡ
¡
¡Ǥ ǤǤ ò Ǧ
ò ò
Ǥ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
193
ȏʹͳȐ
ǡéǡ ǤǤ
ǤǤ 4.2.2.3
Diagnose und Vorhersage
ò
ǡ
Ú
Ǥ
¡Ǧ ¡ Ǥ
ò éǡ Ǧ ǡ
¡ ò Ǥ
ǣ •
ǡ
ǡ
ò
•
Ǥ
Úǡ
¡ Ǧ
Ú
History Voting òȋ
Ȍ ¡Ǥ ǡÚ Ǧ Ǥ ǤǦ ¡ Ǥ
ǡ
194
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǥ¡
γ ǡ Ǥ ǡ
ò Ǧ
Ǥ ǡ Ǧ ǡ ǤǤ Ú
¡
Ǥ ǡòǣ ͳǤ
ʹǤ
¡
Anpassung der Schwellwertean die Einsatzumgebung
Ǧ Ǥ
ǡ Ǥ
òǣ ϕιǡ ϕτ ϕπǤ ¡
ò ȋϕπȌǡ ȋϕιȌ ȋϕτȌ Ǥ ϕπ
ò
Ǥ ò
Ǧ
¡ Úǡ
Ǥ ¡
195
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ǡ
ȋǡȌ
Ǥ ȋǡȌ
ǣ i : ` × ` → {0,1} 0 falls ϕι < Δ (a, b) ≤ ϕτ i ( a, b) := ® mit Δ : ` × ` → `, Δ (a, b) := a − b . ¯ 1 falls ϕπ < Δ (a, b) ≤ ϕι ͶǦʹʹ
ȋγȌǤγεε
γ
ȋȌǡ γΪΪ γ ǡ
Ǥ ǡȋȌ
Ǥ
Tabelle 4-22: Codierung der Fehlerraten
Codierung i(a,b)
Fehlerrate
Konsequenz
Ͳ
γΪΪ
ͳ
γεε
Úé
߮ఛ ǡǡ
Ǥ
ò ǡ
éǤ
196
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Vorhersage, Berechnung des Vertrauens und der Qualität
ǡ ǡ
ǡ ò ǡ ȋǤǤ
¡ Ȍ
Ǥ
ò òǡ
ȋHistorieȌǡ
i(a,b)Ǧ ¡Ǥ ͶǦʹʹ Ǥ
òǡ ¡ηÚǡǤ ò Ú ǤǤ ò Ǥ
Ǥ
ͶǦʹ͵ Ǥ
ò Ǥ ò
¡Ǥ ò ȋȏͳȐȏʹȐȏ͵ȐȌ Ǧ ò
Ǥ
Ǥ
197
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Tabelle 4-23: Historie und daraus vorhergesagte Fehlerrate H[1][2][3] Ͳ
Ͳ
Ͳ
Ͳ
Ͳ
ͳ
Ͳ
ͳ
Ͳ
Ͳ
ͳ
ͳ
ͳ
Ͳ
Ͳ
ͳ
Ͳ
ͳ
ͳ
ͳ
Ͳ
ͳ
ͳ
ͳ
Fehlerrate
Vorhersage Ͳ Ͳ Ͳ ͳ Ͳ ͳ Ͳ ͳ
ͶǦʹͶǤ
Tabelle 4-24: Verwendete Symbole (History Voting)
Symbol γ ϕτ ϕι ϕπ η υ Δ ȏȐ
Beschreibung ò
ǣ
ǣÚ
ǣ ¡ ηευǡǡ
ȋ¡Ǧ
Ȍ ¡Ǧ Ǧ ¡
ȋǤͶǦʹ͵Ȍ
ȋǤͶǦʹ͵Ȍ
198
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦͷͷ
ǡ ǡ ¡ Ǧ òǤ òo
Ǥ
Prediction<=0
Prediction_Last<=Prediction
N
J
Fehler?
N
Prediction<= Predict(H[n,n-1,n-2])
Prediction_Last=H[n]?
J
J
Fail-Safe Modus
i
Fehlerrate in Historie eintragen Anpassung von
H[(n++)%entries]<=i(a,b)
J
INTFAULT||EXTFAULT
Vorhersage und Berechnung der Steigung
N
Qualität der letzten Vorhersage setzen
N
Qualität OK? Nein: Kein Einfluß auf Systemverhalten Ausnahme: permanenter Fehler
Anpassung des Vertrauens
i(a,b)=0: i(a,b)=1:
Anpassung der Schwellwerte J
i>( i-1>>1)|| i
(
i-1>>1)?
N
J
INTFAULT
J
i
N
i
N N
N
i
J
i
J
i
i
Abbildung 4-55: Berechnung des Vertrauens und Vorhersage òǡ Ǥǡ Ǧ òǡ òǡ
Ǥ
ǡ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
199
¡ΔÚǤ ǡ ȋǡȌ ò Predict ȋPredictionȌ Ǥ
Ǥ ηÚǡ Ǥ ηευ γǤ
ǡǤ Úé ǡ Ú
ǡ ò Ǥ ǡ
ǡ
¡¡é
Ǥ Ǧ
¡ ò Ǧ
Ǥ ȟ୧ିଵ ǡ
ȟ୧
Ǥ ¡ ͷͲΨ ൫ȟ୧ ሺȟ୧ିଵ ͳ بሻ൯ǡ ൫ȟ୧ ሺȟ୧ିଵ ͳ بሻ൯ǡ Ú
ÚȀ
Ǥ Ú
ǣ ͳǤ
γLòȋǦ Ȍ
ʹǤ
Δ
ϕπ Ú
Ǧ
Ú
ͳ
Ǧ
ͶǤʹǤͳ òǤ
200 4.2.2.4
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Experimentelle Ergebnisse
Ǥ Ǧ ͶǦͷ
ȋ λαͳͲǦͷȌǤ ¡
ǤǦ
Úé Fehler über die Zeit Ǥ Ǧ
Ǥ ¡
ȋ ͳͲͲ Ȍ Ǧ ò ϕι ϕτ ¡ǡ ¡ Ǧ Ǥ ǡ
Ǥ
ϕπ ȋͳͲͲ Ȍ ǡ Ǧ
Ǥ
Abbildung 4-56: Erfolgreiche Anpassung der Schwellwerte (Anstieg)
201
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
¡
òϕτϕι Ǥ
ͻͺΨ Ǥ ͶǦͷ ǡ¡
¡ Ǧ
éȋͳͲͲΨȌ¡Ǥ ͶǦʹͷ
ò ǦǤ
Tabelle 4-25: Ressourcen – History Voting (FPGA) Platzierung und Trassierung ͻǡͻʹ
Kritischer Pfad (ns)
Energieverbrauch (bei 200 MHz Takt)
Spannungsversorgung 1,8 V
ǡͺͺ
ͳʹǡ͵ͻ
Fläche Slices
ͳͺͺ
Slice-FFs
ʹͲͲ
4-Input LUTs
ʹ͵͵ Ͷ
IOBs
͵ͳ
Gate Count
202
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦʹ
òò ǦǤ
Tabelle 4-26: Ressourcen – History Voting (Standardzellen) Platzierung und Trassierung Kritischer Pfad (ps) Flächenverbrauch
(λ2)
͵͵Ͳͺ ͳͳͷ ͳʹͲͲ
Transistoren
ͷͺͶ
Kapazität (pF)
ͺǡͺ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
203
4.3 Fehlerbehebung in Hardware
ǡ
òǡ
ǡ Ǥ òǣ •
Die Fehlermaskierung ȋfault maskingȌ ǡ ¡
¡ Ǥ Úǡ ǡ ǤǤ ò ǤÚǤ
Ǧ
ȋmajority votingȌ ǡ
Ǧ ¡
ǡ
ǡǤ
•
Die Fehlerbehebung ȋfault recoveryȌ ǡ
Ǥ
Ǧ Ǥ ¡ǡ
ǡ Ǥ Ǧ
ǡǤ
Ǧ ǤǤǡ
¡Ǥ
ǡ
¡
ʹͻǤ é PrüfpunkteǤ
ʹͻ
ǡ Ǧ
¡Ǧ
òǤ
204
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ȏͳͷȐǡ Úǡò ȋretryȌ Ǥ Rollback Ú
Ǧ ȏͳͲȐǡ Ǥ ȏͳͻȐ ò Ǥ
¡ Ǧ ǡ
òǤ
òòÚ
¡ òǡ
Ǧ
Ǥ
ǡ ¡
ǤǤ ¡ Úé Ǧ
ǡ
ǡ
Ǥ Ǥò
Ǧ ǡò
¡
¡Ǥ 4.3.1
Verwandte Arbeiten
òǦ ¡ ¡Ǧ
ȏʹ͵ͺȐ Ǧ
Ǥǡò Ǧ ¡Úǡ
¡Ǥ ¡ Ǧ
Ǧ
Ǥ
Ǧ
¡
ǡ ǤǤ Ǧ ǡ Ú ò ò ¡ Ǥ
ǡ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
205
ǡ ȏ͵Ȑ ǡ òǦ ͵Ͳ Ǥ
òǤ
ò
Ǥ ò
Ǥ
ȏʹ͵ͺȐ
òǦ
Ǥ
é ¡ storeǦ ò
Ǥ
ǡ
Ǥ
storeǦ ò compareǦò ǡ Ǧ
ǡ
Ǥ compareǦò
ǡ ò ȏͳͳȐ Ǧ
ǡ
Ú
òǤ
ò
Ú
òǤ ò Ǧ
Ú
ǡ òòǤ ȏʹͳͶȐǦ
ǡò
ò
Ǥ òǡ ò
ǡ ò
Ǥ ò ¡ ò
ǡ ͵Ͳ ¡ǦǦ
Ǥ
206
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǥ
Ú
ò ò
ǣ
Ǧ Ǥ ò
ò
¡
ǡ
ò ò
¡Ǧ
ò Ǥ
ǡ ò
ò ò Ǥ
ò
ò ȏͳͺͺȐȏʹʹͳȐǤ Checkpoint Repair ȏͺͲȐ
ǡ ¡
¡Ǥ
ò ò Ǥ
Ǧ òǤ ò
ǡ
Ǧ
Ǥ
ǦǤ
ǡ ò
Ǧ
Ú Ǥ
History BufferͺͺͳͳͲ ȏͳͺͺȐ Ú
ò ò
Ǧ ò
Ǥ ¡ ǡ ¡ ¡ Ǥ History Buffer
ǡ Ǧ ò Ǥ ò
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
207
ÚǤ ȏͳͻȐ
ȋȌ
Ǧ
ǤMicro-Rollback ȏͳͻͺȐ
Ǧ Ǧ òǤ ǡ
Ǧ
Úȋdelayed writeȌǤ ¡
ͶǤͳǤͳ
ǡ
Ǥ ȏͳͻȐ
Ǥ ȏͳͲȐ Mikro-Rollback Masters Checkers ȋTrailersȌ ò
Ǧ
Ǥ ò ¡ ǤMaster
oò
Ǧ Ǥ
ͶǤͳǤͳ ǡ ò Ǧ ¡
ǡ
Ǥ
ȏͳͲȐ
ȏͳͻȐ¡ǡǤ
Ǥ 4.3.2
Fehlerbehebung architekturell nicht fixierter Zustände
òò
¡ ǡ ò òò
ͶǤʹǤͳǤͶ ȋ ʹȌ ò Ǧ
Ǥ
Ǧ
Ǥ
Ǧ ò
208
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ʹ
ͶǤʹǤͳǤͶǤͶǦͷǦ
ʹ ò Ǧ Ǥ ò
ǡ ǤǤ
Ǧ
ǡ
Ǥ
Abbildung 4-57: Mikro-Rollback im Modus AR2T ò
Ǧ
¡
Ǥ
ͳ ¡ ò Ǧ
Ǥ
é
ǡʹòǡ ò
ͳ
Ǥ " ò ͳ ǡ
òǦ Ǧͳ
ȋ ʹȌ
òǤ Ǥ Ú ò
ò Ǥ
òǦ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
209
Ȁ Ǥ
é
¡ȋͳǣǡ ʹǣòǦͳǡ͵ǣòȌǤ ǡ
Ǥ
ǡ
òǦ Ǥ ò ǡ ǡ Ǧ
Ǧ
ò
Ǥ
ò
òǤ o ʹ ǡ ͳ òǦ ʹòǤ ʹ Ǥ ò ò Ǧ Ǥ ǡ ò ò Ǥ
ȏʹ͵͵Ȑ Ǧ direct-load
ǡ
Ǧ ¡Ǥ
210 4.3.3
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Fehlerbehebung architekturell fixierter Zustände
òÚ
ò Ǥ ¡
ǡ ò
ǡ
ȀǤ ǡ ò
Ǥò
ǡ
γ ȋǤ
ͶǤʹǤʹȌǤ ò ò
Ǧ
Ǥ ò
¡¡ ¡ ¡ ¡
¡ ȋmodified, regfileȌ Ǥ ò ¡ ǡ
¡¡
ò
Ǥ Modified
ò ò ò
Ǥ regfileǦ ǡ
¡
Ǥ ͶǦͷͺ ò¡ Ǥ
ͶǦͷͺ
modified regfileǤ
¡
Wǡ
R ò ò ò
valid CPǡ Ǥ invalid CP
Ǥ ò ò ò
Ǥ
211
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Abbildung 4-58: Zustandsübergänge beim Rollback-Protokoll
ò
modified=0, regfile=0 ȋͲǡ ͲȌ Ǥ
ȋȌ
ò modifiedǦ regfileǦ Ǧ ȋͳǡ ͳȌ
Ǥ
Ǧ
òǤ
ǦȀ modifiedǦ ò Ǧ ¡Ǥ ȋͲǡ ͲȌǡ ȋͲǡ ͳȌ ȋȌ ǡ Ȁ ò ò ȋvalid CPȌ ǡ ¡Ǥ
ò ò regfileǦ Ǥ
¡
Ǥ ò ò ȋinvalid CPȌ ò
Ǥ modified=1 Ǧ
regfileǦ Ǥ ò ò ò
modified=1
modified=0ǤǦ ͶǦͷͻ
212
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
Ǥ ȋͳȌ Ǧ ȋͲǡͲȌǡ ȋʹȌ ȋͳǡͳȌǤ
Abbildung 4-59: Lesen von Registern beim Rollback-Protokoll
ȋȌ ͶǦͲǤ ǡ
regfile Ǧ ǡǡ
¡ȋͲǡͲȌǦȋͳǡͳȌǤ
Abbildung 4-60: Schreiben von Registern beim Rollback-Protokoll
213
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦͳ
Ǥ ȋmodified, regfileȌmodifiedαͳregfileǤ
Re gis ter sa
tz T
hre a
d1
Abbildung 4-61: Rollback nach einem Fehler mit dem RollbackProtokoll òȀò
ǡ
Ǧ
Ǧ Ǥò¡
ÚǤ
214
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ͶǦʹͶǦʹͺ
ò
Ǧò ǤǤ
Tabelle 4-27: Ressourcen – Rollback-Protokoll (FPGA) Platzierung und Trassierung ͷǡͺͷ
Kritischer Pfad (ns)
Energieverbrauch (bei 200 MHz Takt)
Spannungsversorgung 1,8 V
ͺǡ
ͳͷǡͻ
Fläche Slices
Slice-FFs
ͻ
4-Input LUTs
ͳʹ
IOBs
ͷ ͳ͵ʹ
Gate Count
Tabelle 4-28: Ressourcen – Rollback-Protokoll (Standardzellen) Platzierung und Trassierung Kritischer Pfad (ps)
ͷͳ͵
Transistoren
ͳ͵
Flächenverbrauch Kapazität (pF)
(λ2)
ʹͲͷʹͲͲ Ͳǡʹ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
215
ǡ ¡ ò
Ǧ ǡ
Ǧ
ȋmodified=0Ȍ͵ͳǤ
ρ ¡ ǡ
Ǧ ͶǦʹǤ ptlsim ò ʹͲͲ̴Ǧ
ȋǦ
Ȍ ȋǦ
Ȍ ¡ ȋwaitingȌ ρ
Ǧǡ ò Ǧ ȋbypassȌǡ
ȋwrittenȌ
ȋarchȌǤ
Abbildung 4-62: Prozentualer Anteil von Abhängigkeiten, Dispatch
͵ͳ
ǡmodifiedαͳǤ
216
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ò Ǧ Ǧ
ȋarchȌǡ ¡ǡǤÚǤ
ò waiting, bypass, written, arch arch bypassǤ ¡
ͳͻǡͻʹΨò
Ǧ ǡ ¡
ǡ Ǥ Ǥ
ȀǦ Ǥ
4.3.3.1
Rollback beider Threads
Ǧ òǡ γ ȋγζρȌ Ǥ regfileǦ modified=1
¡ Ǧ modified=0 Ǥ ¡
ò
Ǧ ǡ
ò ¡
Ǧ¡ Ǧ Ǥ ͶǦ͵ ȋ
Ȍ ǡ ¡òͳǤ
Abbildung 4-63: Rollback beider Threads (Fehler in Thread 1)
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
217
òòχǤ Ú
ǣ ͳǤ
ò
Ǧ ¡òòǤ
ʹǤ
ò òǦ Ǧ
Ǧ
ò Ǥ " ò
Ǧ Ǥ ȋ Ȍ
Ú
ǣ •
ǡ
¡Ǥ Ǧ ò
òǦ
ò
Ǥ
•
ò
Ǧ ǡ ò Ǧ Ǥ
4.3.3.2
Rollback/ Roll-Forward
ȋγερȌǡ Ǧ Ȁ
Ǧ Ǥ Roll-Forward
ò
Ǥòò
Ǥ
ò òǦ Ǥ
χǡòò ȋ ¡
ȋRBȌǡ
218
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
ò
ȋFǡ NȌ ¡òȌǤò
ǡÚ ò
ͶǤͳǤͶ
Ǥ F≠N ¡
Ǥ •
N≠(RB=F):
Ǥ ò ȋǦ Ȍ
ȋ
ȌòǤǦ ò
ǡ
ǡ ò
Ǥ
ǡòχ
òǤ
RB=FǡǦ
Ǥ
Ǥ
•
F≠(RB=N): òǤ ò
Ǥ
ò ò Ǧ Ǥ
•
F≠RB≠N: Ǥ
Ǧ ò ò ò
ǡ òǤ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
219
ͶǦͶ
ǦȀ Ǧ ǦǤ ò ͳ Ǥ ͳ òǦ ò¡
ò ǡ ʹ
é
òǤ
Abbildung 4-64: Roll-Forward Thread 1 (Fehler), Rollback Thread 2 4.3.3.3
Übertragung von Zuständen zwischen Threads
¡òo¡ò
Ǥ ͳǤ
N≠(RB=F): o ò
ǡ Ǧ ò ò Ǥ
ò ò
ò ǡ ò ¡ ò Ǥ
ò ¡
Ǧ χ Ǥ ò
220
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
¡ȋmodifiedαͳȌ¡ò
ò Ǥ modifiedαͳ
ò Ǧ
é
ǡmodifiedαͲ
Ǧ
òǤ ʹǤ
F≠(RB=N): o
ò χǤ ¡
Ǧ ò
ȋ modifiedαͲȌǤ ò
ò Ǥ
ò
òǤ
Ǧòò ǡ ¡ o ¡
ǡ ò
Ǥòò
ǡò¡
ò modified=0
òòǤ
Kapitel 4: Dynamische Fehlerentdeckung und -behebung
221
ǡ ȋo ò Ǧ òǡ Ȁò
Ȍ¡
ÚǤ ͶǦͷ Ǥ ò
ȋoαͳǡ ȀαͲǡ
ȌǤ
o
òȋoαͳǡ Ȁαͳǡ òȌǤ
Abbildung 4-65: Übertragen von Zuständen zwischen Threads
Überall und zu allen Zeiten ist die Mauer ein Sinnbild der Abgeschlossenheit. Wo Mauern stehen, umschließen sie eine Welt innerhalb der Welt. Sie umgrenzen einen Staat innerhalb des Staates, eine besondere Ordnung innerhalb der gewöhnlichen Ordnung. Sie scheiden Gut nicht von Böse und Freude nicht von Leid, sondern Menschen von Menschen. Und deshalb sollten sie nie unübersteigbar sein.
Ǧ
Kapitel
5
Überblick und Fazit
224
Kapitel 5: Überblick und Fazit
ǡ
Ǧ Ǧ
Úé Ǥ éò
Ǧ Ǥ ¡
Ǧ
Ȃ
ǡ Ǥ
òǡ ò Ú
Ǥ
ǡͷǦͳǤ
Abbildung 5-1: Zusammenwirken aller Verfahren
225
Kapitel 5: Überblick und Fazit
¡ ò
ȋ
ͶǤͳǤͷȌò
ǡ ¡
ȋ
ͶǤͳǤͳȌ
Ǥ
ò ò Ǥ
ǡ
ò
¡
ǡ ȋ Ȍ ¡ Ǥ γ≤ ǡ Ǧ ǡ γ≤ρ ʹ
ǡòγερÚȋʹȌǦ Ǥ ͷǦʹ
Ǧ
Ǥ " òò
Ǥ
Abbildung 5-2: Blockdiagramm einer erweiterten SMTMikroarchitektur
226
Kapitel 5: Überblick und Fazit
Ǧ
ǡ
Ú ¡
Ǧ
ǤͷǦͳͷǦʹǦ Úé ò Ǥ
Tabelle 5-1: Kenngrößen einiger CPU-Implementierungen (FPGA)
68hc05
68hc08
8051
Kritischer Pfad (ns)
ʹͶǡʹ
͵ͳǡͺͶʹ
͵ͺǡ͵ͳ
Slices
ͳ͵ͻͲ
ʹͳ͵Ͷ
ͳͶͲ
Slice-FFs
ʹͲ͵
ͳͻ
ͶͳͲ
4-Input LUTs
ʹͷ
Ͷͳͷͳ
ʹͲͷ
͵ͻ
͵ͻ
ͳͲͻ
ͳͺͻͻ
ʹͻͶͲ
ͷͳ͵Ͷͷ
IOBs Gate Count
Tabelle 5-2: Kenngrößen einiger CPU-Implementierungen (Standardzellen)
MIPS R3000 [96]
AMD2901
Kritischer Pfad (ps)
Ͷʹͷ
Ͷͺ
Transistoren
ͷͶͺʹͻ
ͳ͵
Ͷ͵͵Ͳ͵ͻͲͲ
ͳ͵ͳͲͳ͵ͷͲ
͵ͷͶͳǡͶ
ͳʹǡͷ
Flächenverbrauch (λ2) Kapazität (pF)
227
Kapitel 5: Überblick und Fazit
ͷǦ͵
¡
ò Ǧǡ Ǧ ͷǦͶ ò Ǧ ȋǦ
ȌǤ
Ǧ ȋ ¡
Aλʹǡ
Tǡ¡C Ȍ¡ǡ Ǥ
Abbildung 5-3: Kritischer Pfad/ Flächenverbrauch FT-Mechanismen (FPGA)
228
Kapitel 5: Überblick und Fazit
Abbildung 5-4: ATC-Produkt FT-Mechanismen (Standardzellen) ͷǦ͵ ͷǦͶ
ͷǦ͵ Ǧ ǡ
ȋǡ ǡ Ȍ ò
Ǧ
Ǥ ¡
Ú Ǧ
ò
ǤǦò¡
Ǥ ¡
Ǧ ǡ ǡ Ǧòò
229
Kapitel 5: Überblick und Fazit
ò ¡
Ǥ
Tabelle 5-3: Empfehlung Architektur - Fehlertoleranzverfahren
Architektur Verfahren Eingebettet
Fail-Safe Modus Dynamischer Befehlshole-Algorithmus
Superskalar
Mikrocode Timing
Superskalar/MT
History Voting
Rollback-Protokoll
ThreadPrüfsummenkalkül
Weiterleitungsstrukturen
Ǥ¡
ǤǤ
Navigation mithilfe von Satellitenȋ Ȃ ǡ Ȍ ǡ
òé Ǥ ǡ ǤǤ Ǧ Ú ¡
Ǥ Weltraummissionen ȋ Ȍȋò ȌÚ
Ǧ
Ǧ
230
Kapitel 5: Überblick und Fazit
ǡ ǡ ǤǤ Ǧ
Kernkraftwerkenǡ
Eisenbahnen,
¡
.
Ǧ ¡
¡
Ǧ ǤǤ Ǧ Ǥ
231
Anhang A: SPECint2006-Parameter
Anhang A: SPECint2006-Parameter ͷǦͶʹͲͲǦǦ
Ǥ
Tabelle 5-4: SPECint2006-Benchmarks
Nr.
Name
Anwendungsgebiet
Beschreibung
ͳ
ͶͲͲǤ
ͷǤͺǤǤȋǣǡ
Ȍ
ʹ
ͶͲͳǤʹ
̵ʹͳǤͲǤ͵
͵
ͶͲ͵Ǥ
͵Ǥʹǡ
Ͷ
ͶʹͻǤ
Ú ȋÚ
Ȍ
Ǧ
ͷ
ͶͶͷǤ
ò
ǣ
Ǧ
ͶͷǤ
ͶͷͺǤ
ò
ǣ
ͺ
ͶʹǤ
ǣ
ͻ
ͶͶǤʹͶ
ǤʹͶȀ
ͳͲ
ͶͳǤ
ȋΪΪȌ éǦ
ͳͳ
Ͷ͵Ǥ
ò
ʹǦ ȗǦ
ͳʹ
Ͷͺ͵Ǥ
Ǧ Ǧ ǦΪΪòò
̵
ò ptlsim ǦȀ
Ǥ valgrind Ǥ
232
Anhang A: SPECint2006-Parameter
400.perlbenchȋINT,͵Ȍ
Ǧ ǤȀ
ǤʹͷͲͲͷʹͷͳͳͳͷͲͳͳͳͳε
ǤǤ
Ǥʹε
ǤǤ
Ǥ
Ǧ ǤȀǤͶͺͲͲͳͲͳͳͻ͵ͲͲε
ǤǤǤʹε
ǤǤǤ
Ǧ ǤȀǤͳͲͲͳʹʹͳͶͷͲͲε
ǤǤǤʹε
ǤǤǤ 401.bzip2ȋINT, Ȍ ʹǤ
ʹͺͲεʹǤǤ
ǤʹεʹǤǤ
Ǥ ʹ
Ǥ͵ͲεʹǤǤ
ǤʹεʹǤǤ
Ǥ ʹǤ͵ͲεʹǤǤǤʹεʹǤǤǤ ʹǤʹͺͲεʹǤǤǤʹεʹǤǤǤ ʹǤʹͺͲεʹǤǤǤʹεʹǤǤǤ ʹǤ
ʹͲͲεʹǤǤ
ǤʹεʹǤǤ
Ǥ 403.gccȋINT, ͻȌ
ͳǤǦͳǤε
ǤǤͳǤʹε
ǤǤͳǤ
ʹͲͲǤǦʹͲͲǤε
ǤǤʹͲͲǤʹε
ǤǤʹͲͲǤ
Ǧ
ǤǦ
Ǧ
Ǥε
ǤǤ
Ǧ
Ǥʹε
ǤǤ
Ǧ
Ǥ
Ǧ
ǤǦ
Ǧ
Ǥε
ǤǤ
Ǧ
Ǥʹε
ǤǤ
Ǧ
Ǥ
ǤǦǤε
ǤǤǤʹε
ǤǤǤ
ʹǤǦʹǤε
ǤǤʹǤʹε
ǤǤʹǤ
ʹ͵ǤǦʹ͵Ǥε
ǤǤʹ͵Ǥʹε
ǤǤʹ͵Ǥ
ͲͶǤǦͲͶǤε
ǤǤͲͶǤʹε
ǤǤͲͶǤ
ǤǦ
Ǥε
ǤǤ
Ǥʹε
ǤǤ
Ǥ
Anhang A: SPECint2006-Parameter
233
429.mcfȋINTǡͳȌ
Ǥε
ǤǤʹε
ǤǤ 445.gobmkȋINT, ͷȌ ǦǦǦǦδͳ͵ͳ͵ǤεǤǤͳ͵ͳ͵ǤʹεǤǤͳ͵ͳ͵Ǥ ǦǦǦǦδǤεǤǤǤʹεǤǤǤ ǦǦǦǦδ
ʹǤεǤǤ
ʹǤʹε ǤǤ
ʹǤ ǦǦǦǦδ
ǤεǤǤ
Ǥʹε ǤǤ
Ǥ ǦǦǦǦδǤεǤǤǤʹε ǤǤǤ 456.hmmerȋINT, ʹȌ ͵ǤͶͳεǤǤ͵ǤʹεǤǤ͵Ǥ ǦǦͲǦǦͷͲͲǦǦͷͲͲͲͲͲǦǦ͵ͷͲǦǦͲǤε ǤǤǤʹεǤǤǤ 458.sjengȋINT, ͳȌ ǤεǤǤʹεǤǤ 462.libquantumȋINT, ͳȌ ͳ͵ͻͺεǤǤʹεǤǤ
234
Anhang A: SPECint2006-Parameter
464.h264refȋINT, ͵Ȍ ʹͶǦ̴̴
̴Ǥ
εʹͶǤǤ̴Ǥʹε ʹͶǤǤ̴Ǥ ʹͶǦ̴̴
̴Ǥ
εʹͶǤǤ̴Ǥʹε ʹͶǤǤ̴Ǥ ʹͶǦ̴
̴Ǥ
εʹͶǤǤǤʹεʹͶǤǤǤ 471.omnetppȋINT, ͳȌ ǤεǤǤʹεǤǤ 473.astarȋINT, ʹȌ ʹͲͶͺǤ
εǤǤʹͲͶͺǤʹεǤǤʹͲͶͺǤ Ǥ
εǤǤǤʹεǤǤǤ 483.xalancbmkȋINT, ͳȌ ǦͷǤ
Ǥε
ǤǤʹε
ǤǤ
235
Anhang B: Felddaten (SGI Altix 4700)
Anhang B: Felddaten (SGI Altix 4700)
Úé ͶͲͲǦ Ǧ
Ǧ ¡ò
ȋ Ǧ ȌǤ
òȏʹ͵ȐǤ
Ausbaustufe 1 (bis 03/2007)
Ausbaustufe 2 (seit 04/2007)
Anzahl der Kerne
ͶͲͻ
ͻʹͺ
Anzahl der Partitionen
ͳ
ͳͻ
Kerne pro Partition
ʹͷ
ͷͳʹ
Anzahl Kerne pro Sockel
ͳ
ʹ
Prozessor ʹ ͻ ͳǤ
Typ Taktfrequenz
ʹ
ͳǤ
Speicher Ͷ
Speicher pro Kern
Ͷ
Cache L1-Datencache
ͳ
ͳ
L2-Datencache (pro Kern)
ʹͷ
ʹͷ
L2-Befehlscache (pro Kern)
Ȁ
ͳ
L3-Cache (pro Kern)
ͻ
236
Anhang B: Felddaten (SGI Altix 4700)
¡ ȋǦ
Ȍ ò ͳͻ Ǥ
ȋsalinfoȌ Ǥ ʹͶǤͲǤʹͲͲ͵ͳǤͲͺǤʹͲͲ
ȋǦ
ȌǤ Ǧ
͵ͳ͵
ǡò
Ǥ Partition 1
3
11
Partition 2
10 9 8
2
7 6 5 4
1
3 2 1
0
0 31.08.2007 29.08.2007 27.08.2007 25.08.2007 23.08.2007 21.08.2007 19.08.2007 17.08.2007 15.08.2007 13.08.2007 11.08.2007 09.08.2007 07.08.2007 05.08.2007 03.08.2007 01.08.2007 30.07.2007 28.07.2007 26.07.2007 24.07.2007
31.08.2007
29.08.2007
27.08.2007
25.08.2007
23.08.2007
21.08.2007
19.08.2007
17.08.2007
15.08.2007
13.08.2007
11.08.2007
09.08.2007
07.08.2007
05.08.2007
03.08.2007
01.08.2007
30.07.2007
28.07.2007
26.07.2007
24.07.2007
0 1
31.08.2007 29.08.2007 27.08.2007 25.08.2007 23.08.2007 21.08.2007 19.08.2007 17.08.2007 15.08.2007 13.08.2007 11.08.2007 09.08.2007 07.08.2007 05.08.2007 03.08.2007 01.08.2007 30.07.2007 28.07.2007
0
0
26.07.2007
Partition 5
24.07.2007
31.08.2007 29.08.2007 27.08.2007 25.08.2007 23.08.2007 21.08.2007 19.08.2007 17.08.2007 15.08.2007 13.08.2007 11.08.2007 09.08.2007 07.08.2007 05.08.2007 03.08.2007 01.08.2007 30.07.2007 28.07.2007 26.07.2007 24.07.2007
2 5
Partition 6 3 7
Partition 4 3
Partition 3 10000
237 Anhang B: Felddaten (SGI Altix 4700)
1000
2
100
10
1
6
4
3
2
1
1
31.08.2007
29.08.2007
27.08.2007
25.08.2007
23.08.2007
21.08.2007
19.08.2007
17.08.2007
15.08.2007
13.08.2007
11.08.2007
09.08.2007
07.08.2007
05.08.2007
03.08.2007
01.08.2007
30.07.2007
28.07.2007
26.07.2007
24.07.2007
31.08.20…
29.08.20…
27.08.20…
25.08.20…
23.08.20…
21.08.20…
19.08.20…
17.08.20…
15.08.20…
13.08.20…
11.08.20…
09.08.20…
07.08.20…
05.08.20…
03.08.20…
01.08.20…
30.07.20…
28.07.20…
26.07.20…
24.07.20…
Anhang B: Felddaten (SGI Altix 4700)
238
0 0
31.08.2007 29.08.2007 27.08.2007 25.08.2007 23.08.2007 21.08.2007 19.08.2007 17.08.2007 15.08.2007 13.08.2007 11.08.2007 09.08.2007 07.08.2007 05.08.2007 03.08.2007 01.08.2007 30.07.2007 28.07.2007
0
0
26.07.2007
1 2
24.07.2007
31.08.2007 29.08.2007 27.08.2007 25.08.2007 23.08.2007 21.08.2007 19.08.2007 17.08.2007 15.08.2007 13.08.2007 11.08.2007 09.08.2007 07.08.2007 05.08.2007 03.08.2007 01.08.2007 30.07.2007 28.07.2007 26.07.2007 24.07.2007
3 7
Partition 10 4
Partition 9 9
Partition 8 4
Partition 7 3
2
3
2
1
1
8
6
5
4
2
3
1
31.08.2007
29.08.2007
27.08.2007
25.08.2007
23.08.2007
21.08.2007
19.08.2007
17.08.2007
15.08.2007
13.08.2007
11.08.2007
09.08.2007
07.08.2007
05.08.2007
03.08.2007
01.08.2007
30.07.2007
28.07.2007
26.07.2007
24.07.2007
31.08.2007
29.08.2007
27.08.2007
25.08.2007
23.08.2007
21.08.2007
19.08.2007
17.08.2007
15.08.2007
13.08.2007
11.08.2007
09.08.2007
07.08.2007
05.08.2007
03.08.2007
01.08.2007
30.07.2007
28.07.2007
26.07.2007
24.07.2007
0 0
31.08.2007 29.08.2007 27.08.2007 25.08.2007 23.08.2007 21.08.2007 19.08.2007 17.08.2007 15.08.2007 13.08.2007 11.08.2007 09.08.2007 07.08.2007 05.08.2007 03.08.2007 01.08.2007 30.07.2007 28.07.2007
0
1
26.07.2007
3 10
24.07.2007
31.08.2007 29.08.2007 27.08.2007 25.08.2007 23.08.2007 21.08.2007 19.08.2007 17.08.2007 15.08.2007 13.08.2007 11.08.2007 09.08.2007 07.08.2007 05.08.2007 03.08.2007 01.08.2007 30.07.2007 28.07.2007 26.07.2007 24.07.2007
6 100
Partition 14 9
Partition 13 1000
Partition 12 4
Partition 11 3
239 Anhang B: Felddaten (SGI Altix 4700)
2
3
2
1
1
8
7
5
4
2
1
31.08.2007
29.08.2007
27.08.2007
25.08.2007
23.08.2007
21.08.2007
19.08.2007
17.08.2007
15.08.2007
13.08.2007
11.08.2007
09.08.2007
07.08.2007
05.08.2007
03.08.2007
01.08.2007
30.07.2007
28.07.2007
26.07.2007
24.07.2007
31.08.2007
29.08.2007
27.08.2007
25.08.2007
23.08.2007
21.08.2007
19.08.2007
17.08.2007
15.08.2007 13.08.2007
11.08.2007
09.08.2007
07.08.2007
05.08.2007
03.08.2007
01.08.2007
30.07.2007
28.07.2007
26.07.2007
24.07.2007
Anhang B: Felddaten (SGI Altix 4700)
240
3
3
2
2
1
1
0
0
0
0
31.08.2007 29.08.2007 27.08.2007 25.08.2007 23.08.2007 21.08.2007 19.08.2007 17.08.2007 15.08.2007 13.08.2007 11.08.2007 09.08.2007 07.08.2007 05.08.2007 03.08.2007 01.08.2007 30.07.2007 28.07.2007 26.07.2007 24.07.2007
31.08.2007 29.08.2007 27.08.2007 25.08.2007 23.08.2007 21.08.2007 19.08.2007 17.08.2007 15.08.2007 13.08.2007 11.08.2007 09.08.2007 07.08.2007 05.08.2007 03.08.2007 01.08.2007 30.07.2007 28.07.2007 26.07.2007 24.07.2007
2 1
Partition 18 7
Partition 17 3
Partition 16 4
Partition 15 4
6
2
5
4
3
1
31.08.2007
29.08.2007
27.08.2007
25.08.2007
23.08.2007
21.08.2007
19.08.2007
17.08.2007
15.08.2007
13.08.2007
11.08.2007
09.08.2007
07.08.2007
05.08.2007
03.08.2007
01.08.2007
30.07.2007
28.07.2007
26.07.2007
24.07.2007
31.08.2007
29.08.2007
27.08.2007
25.08.2007
23.08.2007
21.08.2007
19.08.2007
17.08.2007
15.08.2007
13.08.2007
11.08.2007
09.08.2007
07.08.2007
05.08.2007
03.08.2007
01.08.2007
30.07.2007
28.07.2007
26.07.2007
24.07.2007
31.08.2007 29.08.2007 27.08.2007 25.08.2007 23.08.2007 21.08.2007 19.08.2007 17.08.2007 15.08.2007 13.08.2007 11.08.2007 09.08.2007 07.08.2007 05.08.2007 03.08.2007 01.08.2007 30.07.2007 28.07.2007 26.07.2007 24.07.2007
Partition 19 4
241 Anhang B: Felddaten (SGI Altix 4700)
3
2
1
0
242
Anhang C: Standardzellen-Makefile
Anhang C: Standardzellen-Makefile # /*------------------------------------------------------------\ # | File
:
Makefile
# | Author :
Bernhard Fechner
| |
# \------------------------------------------------------------*/ ALLIANCE_BIN=$(ALLIANCE_TOP)/bin VASY
= $(ALLIANCE_BIN)/vasy
ASIMUT = $(ALLIANCE_BIN)/asimut BOOM
= $(ALLIANCE_BIN)/boom
BOOG
= $(ALLIANCE_BIN)/boog
LOON
= $(ALLIANCE_BIN)/loon
OCP
= $(ALLIANCE_BIN)/ocp
NERO
= $(ALLIANCE_BIN)/nero
COUGAR = $(ALLIANCE_BIN)/cougar LVX
= $(ALLIANCE_BIN)/lvx
DRUC
= $(ALLIANCE_BIN)/druc
S2R
= $(ALLIANCE_BIN)/s2r
DREAL
= $(ALLIANCE_BIN)/dreal
GRAAL
= $(ALLIANCE_BIN)/graal
XSCH
= $(ALLIANCE_BIN)/xsch
XPAT
= $(ALLIANCE_BIN)/xpat
XFSM
= $(ALLIANCE_BIN)/xfsm
TOUCH
= touch
TARGET_LIB
= $(ALLIANCE_TOP)/cells/sxlib
RDS_TECHNO_SYMB = $(ALLIANCE_TOP)/etc/techno-symb.rds RDS_TECHNO
= $(ALLIANCE_TOP)/etc/sx013.rds
SPI_MODEL
= $(ALLIANCE_TOP)/etc/spimodel.cfg
METAL_LEVEL
= 6
# /*------------------------------------------------------------\ # |
Environment
|
# \------------------------------------------------------------*/ ENV_BOOM = MBK_WORK_LIB=.; export MBK_WORK_LIB; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME ENV_BOOG = MBK_WORK_LIB=.; export MBK_WORK_LIB; MBK_IN_LO=vst; export MBK_IN_LO; MBK_OUT_LO=vst; export MBK_OUT_LO; MBK_TARGET_LIB=$(TARGET_LIB); export MBK_TARGET_LIB; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME ENV_LOON = MBK_WORK_LIB=.; export MBK_WORK_LIB; MBK_IN_LO=vst; export MBK_IN_LO; MBK_OUT_LO=vst; export MBK_OUT_LO; MBK_TARGET_LIB=$(TARGET_LIB); export MBK_TARGET_LIB;
243
Anhang C: Standardzellen-Makefile MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME ENV_ASIMUT_VASY = MBK_WORK_LIB=.; export MBK_WORK_LIB; MBK_CATAL_NAME=CATAL_ASIMUT_VASY; export MBK_CATAL_NAME; MBK_IN_LO=vst; export MBK_IN_LO; MBK_OUT_LO=vst; export MBK_OUT_LO ENV_ASIMUT_SYNTH = MBK_WORK_LIB=.; export MBK_WORK_LIB; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME; MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; MBK_IN_LO=vst; export MBK_IN_LO; MBK_OUT_LO=vst; export MBK_OUT_LO ENV_OCP =
MBK_WORK_LIB=.; export MBK_WORK_LIB; MBK_IN_LO=vst; export MBK_IN_LO;
MBK_OUT_LO=vst; export MBK_OUT_LO; MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; MBK_IN_PH=ap; export MBK_IN_PH; MBK_OUT_PH=ap; export MBK_OUT_PH; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME ENV_NERO =
MBK_WORK_LIB=.; export MBK_WORK_LIB; MBK_IN_LO=vst; export MBK_IN_LO;
MBK_OUT_LO=vst; export MBK_OUT_LO; MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; MBK_IN_PH=ap; export MBK_IN_PH; MBK_OUT_PH=ap; export MBK_OUT_PH; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME ENV_COUGAR_SPI =
MBK_WORK_LIB=.; export MBK_WORK_LIB; MBK_IN_LO=spi; export MBK_IN_LO;
MBK_OUT_LO=spi; export MBK_OUT_LO; MBK_SPI_MODEL=$(SPI_MODEL); export MBK_SPI_MODEL; MBK_SPI_ONE_NODE_NORC="true"; export MBK_SPI_ONE_NODE_NORC; MBK_SPI_NAMEDNODES="true"; export MBK_SPI_NAMEDNODES; RDS_TECHNO_NAME=$(RDS_TECHNO); export RDS_TECHNO_NAME; RDS_IN=cif; export RDS_IN; RDS_OUT=cif; export RDS_OUT; MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; MBK_IN_PH=ap; export MBK_IN_PH; MBK_OUT_PH=ap; export MBK_OUT_PH; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME ENV_COUGAR =
MBK_WORK_LIB=.; export MBK_WORK_LIB; MBK_IN_LO=al; export MBK_IN_LO;
MBK_OUT_LO=al; export MBK_OUT_LO; RDS_TECHNO_NAME=$(RDS_TECHNO); export RDS_TECHNO_NAME; RDS_IN=cif; export RDS_IN; RDS_OUT=cif; export RDS_OUT; MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; MBK_IN_PH=ap; export MBK_IN_PH; MBK_OUT_PH=ap; export MBK_OUT_PH; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAMEENV_LVX =
MBK_WORK_LIB=.; export MBK_WORK_LIB;
MBK_IN_LO=vst; export MBK_IN_LO; MBK_OUT_LO=vst; export MBK_OUT_LO; MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME ENV_DRUC = MBK_WORK_LIB=.; export MBK_WORK_LIB; RDS_TECHNO_NAME=$(RDS_TECHNO_SYMB); export RDS_TECHNO_NAME; MBK_IN_PH=ap; export MBK_IN_PH; MBK_OUT_PH=ap; export MBK_OUT_PH; MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME ENV_S2R
= MBK_WORK_LIB=.; export MBK_WORK_LIB;
RDS_TECHNO_NAME=$(RDS_TECHNO); export RDS_TECHNO_NAME; RDS_IN=cif; export RDS_IN; RDS_OUT=cif; export RDS_OUT; MBK_IN_PH=ap; export MBK_IN_PH; MBK_OUT_PH=ap; export MBK_OUT_PH; MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME
244
Anhang C: Standardzellen-Makefile
all: $(ENV_ASIMUT_VASY); $(ASIMUT) -b -c $1 $(ENV_BOOM); $(BOOM) -V -l 3 -d 50 $1 $1_boom $(ENV_BOOG); $(BOOG) $1_boom $(ENV_LOON); $(LOON) $1_boom $1_loon $(ENV_OCP); $(OCP) -v -gnuplot -ring $1_loon $1 $(ENV_NERO); $(NERO) -V -$(METAL_LEVEL) -p $1 $1_loon $1 $(ENV_COUGAR_SPI); $(COUGAR) -v -ac $1 $1_e $(ENV_COUGAR_SPI); $(COUGAR) -v -ar $1 $1_erc $(ENV_COUGAR); $(COUGAR) -v -ar $1 $1_erc $(ENV_COUGAR); $(COUGAR) -v -ac $1 $1_e $(ENV_COUGAR); $(COUGAR) -v -ac -t $1 $1_et $(ENV_COUGAR_SPI); $(COUGAR) -v -ac -t $1 $1_et $(ENV_COUGAR); $(ENV_S2R); $(COUGAR) -v -ac $1 $1_real $(ENV_COUGAR); $(ENV_S2R); $(COUGAR) -v -t -ac $1 $1_real_t $(ENV_LVX); $(LVX) vst al $1_loon $1_e -f $(ENV_DRUC); $(DRUC) $1 $(ENV_S2R); $(S2R) -v $1
transistors: @echo "Number of transistors";\ grep -c "^T" $1_real_t.al capacity: $(ENV_COUGAR); $(ENV_S2R); $(COUGAR) -v -t -ac $1 $1_real_t
# /*------------------------------------------------------------\ # |
Clean
|
# \------------------------------------------------------------*/ realclean : clean
clean
: $(RM) -f
*.vst *.spi *.boom *.done *.xsc *.gpl \ *.ap *.drc *.dat *.gds *.cif *.rep \ *.log *.out *.raw *.al
Literaturverzeichnis
245
Literaturverzeichnis ȏͳȐ ǡǤǤThe MIT Alewife Machine: Architecture and PerformanceǤ
Ǥ ʹʹ ǯǤǤ
ȋ ǯͻͷȌǡǤʹȂͳ͵ǡͳͻͻͷǤ ȏʹȐ ǡ Ǥ Performance Tradeoffs in Multithreaded ProcessorsǤ Ǥ ǡ͵ǡͷǡǤͷʹͷȂͷ͵ͻǡͳͻͻʹǤ ȏ͵Ȑ ǡǤǡ
ǡ ǤǤSparcle: An Evolutionary Processor Design for MultiprocessorsǤ
ǡͳ͵ǡ͵ǡǤͶͺǦͳǡͳͻͻ͵Ǥ ȏͶȐ ǡ Ǥ Fault Tolerance in Multiprocessor Systems Without Dedicated RedundancyǤ Ǥǡ͵ǡ͵ǡǤ͵ͷͺǦ͵ʹǡͳͻͺͺǤ ȏͷȐ ǡǤA Dynamic Multithreading Processor. ǡ
ǡȋǦǦͳͻͻͺͳͳȌǡͳͻͻͺǤ ȏȐ ǡ Ǥǡ
ǡ ǤǤ A dynamic multithreading processorǤ
Ǥ ͵ͳ ǯǤ Ǥ
ȋ Ǧ͵ͳȌ,ǤʹʹǦʹ͵ǡͳͻͻͺǤ ȏȐ
ȋ Ȍǣ Zuverlässigkeitsbegriffe im Hinblick auf komplexe Software und Hardwareȋ Ǧ͵ͲͲͶȌǢ
Ǧ
ǡ͵ͷǡǤͷǡǤ͵ʹͷǦ͵͵͵ǡͳͻͺʹǤ ȏͺȐ ǡǤǤǡ
ȋ ȌǤThe Patriot Missile FailureǤǣȀȀǤǤǤȀ̱ȀȀǤǤ ʹ͵ǤͲͺǤʹͲͲͲȀ͵ͲǤͳͳǤʹͲͲǤ ȏͻȐ ǡǤǤ DIVA: A Dynamic Approach to Microprocessor Verification.
Ǧ ǡʹǡʹͲͲͲ. ȏͳͲȐ ǡ ǤǤ DIVA: A Reliable Substrate for Deep Submicron Microarchitecture DesignǤ
Ǥ͵ʹ ǤǤ
ȋ Ǧ͵ʹȌǡǤͳͻǦʹͲǡͳͻͻͻǤ ȏͳͳȐ ǡǤAlpha 21364:A Scalable Single-Chip SMPǤͳͳ
ǡͳͻͻͺǤ ȏͳʹȐ ǡ ǤApplying Computer Simulation Tools to Radiation Effects ProblemsǤ
Ǥ
ǤȋǯͻȌǡǡͳͻͻǤ ȏͳ͵Ȑ ǡ ǤǤǡǦǡ ǤǡǡǤExperimental Comparison of Voting Algorithms in Cases of DisagreementǤ
Ǥʹ͵
ǡǤͷͳǦͷʹ͵ǡͳͻͻǤ ȏͳͶȐ ǡǤSilicon Amnesia: A Tutorial on Radiation Induced Soft ErrorsǤ
Ǥ ǯǤ
ǤǡǤʹͲͲͳǤ
246
Literaturverzeichnis
ȏͳͷȐ ǡ Ǥ Soft errors in commercial semiconductor technology: Overview and scaling trendsǤ
ǡ ǡ Ǥ ͳʹͳ̴ͲͳǤͳ Ǧ ͳʹͳ̴ͲͳǤͳͶǡʹͲͲʹǤ ȏͳȐ ǡ Ǥǡ ǡ Ǥ Neutron-induced boron fission as a major source of soft errors in deep submicron SRAM devicesǤ
Ǥ͵ͺ ǯǤ
ǤǡǤͳͷʹǦ ͳͷǡʹͲͲͲǤ ȏͳȐ ǡǤDevelopment and Characterisation of a Radiation Hard Readout Chip for the LHCb-ExperimentǤǡǦ¡ǡʹͲͲ͵Ǥ ȏͳͺȐ ǡ Ǥǡ ǡ Ǥ Ǥ Low power digital VLSI design: circuits and systemsǤ
ǤǤǡ ͲǦͻʹ͵ǦͻͷͺǦͷǡͳͻͻͷǤ ȏͳͻȐ ǡǤǤSatellite Anomalies from Galactic Cosmic RaysǤ Ǥ
Ǧ
ǡʹʹǡǡǤʹͷǦʹͺͲǡͳͻͷǤ ȏʹͲȐ ǡ Ǥǡ ǡ Ǥ Ǥ The Microarchitecture of the Intel® Pentium® 4 Processor on 90nm TechnologyǤ
ǡͺǡͳǡǤͶǦͳͷǡʹͲͲͶǤ ȏʹͳȐ ǡǤǤThreshold-Based Mechanisms to Discriminate Transient from Intermittent FaultsǤ ǤǡͶͻǡ͵ǡǤʹ͵ͲǦʹͶͷǡʹͲͲͲǤ ȏʹʹȐ ǡǤVon Zellen und ProzessorenǤ
̵ò
ǡǡǤ ͳͺǡͷȀʹͲͲͷǤ ȏʹ͵Ȑ ǡǤǡǡǤǡǡǤǡǦ
ȋȌ
ǡHardware Description of HLRB IIǡǣȀȀǤǦ
ǤȀ
Ȁ
ȀȀǤʹͻǤͲ͵ǤʹͲͲȀ ͵ͲǤͳͳǤʹͲͲǤ ȏʹͶȐ °ǡ Ǥǡ ǡ Ǥ AIRBUS A320/A330/A340 Electrical Flight Controls: A Family of Fault-Tolerant SystemsǤ
Ǥ ʹ͵ ǯǤ Ǥ Ǧ ȋ Ǧʹ͵ȌǡǤͳǦʹ͵ǡͳͻͻ͵Ǥ ȏʹͷȐ Ǧ Ȁ Ȁ Ǥ Alliance
CAD
SystemǤ
Ǧ
̷ǤǤǡǡ±ǤǤǡǤͳͻͻͳǦʹͲͲǤ ȏʹȐ ǡ Ǥǡǡ Ǥ Ǥ Why do Some (weird) People Inject Faults? ǡʹ͵ǡͳǡǤͶʹǦͶ͵ǡͳͻͻͺǤ ȏʹȐ ǡǤǤǡǡǤǤULSI TechnologyǤ
Ǧǡ ͲǦͲǦͲ͵ͲʹǦ͵ǡͳͻͻǤ ȏʹͺȐ ǡ ǤǤǡ ǡ Ǥǡ ǡ ǤǤǡ ǡ ǤǤǡ ǡ Ǥ Simultaneous Subordinate Microthreading (SSMT).
Ǥ ʹ ǯǤǤ
ȋ ǦʹȌǡ ǤͳͺǦͳͻͷǡͳͻͻͻǤ
Literaturverzeichnis
247
ȏʹͻȐ ǡǤǤThe Lincoln TX-2 Computer DevelopmentǤ
Ǥ Ǧ
ȋ ȌǡǤͳͶ͵ǦͳͶͷǡͳͻͷǤ ȏ͵ͲȐ ǡǤǤǡ ǡǤǡǡǤǤModel CheckingǤ ǡ ͲǦʹʹǦͲ͵ʹͲǦͺǡ ʹͲͲͲǤ ȏ͵ͳȐ °̵
±
Ø°± ±ǡ
±
ͳͺͳͲͲ͵ȋ
ͷǤ͵ǤȌǡ ǣȀȀǤǤȀ ȀȀʹͲͲ͵ǤǤͲʹǤͲǤʹͲͲ͵Ȁ ͳͺǤͲͳǤʹͲͲͺǤ ȏ͵ʹȐ
ǡǤTrends and Challenges in VLSI Circuit ReliabilityǤ
ǡʹ͵ǡ ͶǡǤͳͶǦͳͻǡʹͲͲ͵Ǥ ȏ͵͵Ȑ
Ǥ
ǤCRAY MTA-The Promise of Parallelism RealizedǤ ǡǣȀȀǤ
Ǥ
Ȁ
ȀȀȀǤǡʹͲͲͲȋò ͵ͲǤͳͳǤʹͲͲȌǤ ȏ͵ͶȐ ǡ Ǥǡ ǡ Ǥǡ ǡ Ǥ Generic Processor Fault ModelǤ
ǦǦǦͲͲͶǡ ǡ Ǧ
ǡ ʹͲͲ͵Ǥ ȏ͵ͷȐ
ǡǤǤǡǡǤǤEffects of Transient Gate-Level Faults on Program Behavior.
ǤʹͲ ǯǤǤ Ǧȋ ǦʹͲȌǡǤʹ͵ǦʹͶ͵ǡͳͻͻͲǤ ȏ͵Ȑ
ǡ ǤǤ ǡǡǤ ǤUsing Simulation to Develop and Port SoftwareǤ
Ǧ
ǡͶǡͶǡ
ǡͳͻͻʹǤ ȏ͵Ȑ
òǤZuverlässigkeit; BegriffeǤ ͶͲͲͶͳǣͳͻͻͲǦͳʹǤ ȏ͵ͺȐ ǡǤCompaq Chooses SMT for AlphaǤ
ǡͳ͵ǡͳǡ ͳͻͻͻǤ ȏ͵ͻȐ ǡ Ǥ Ǥ A 200-MHz 64-b Dual-Issue CMOS MicroprocessorǤ Ǧ
ǡʹǡͳͳǡǤͳͷͷͷǦͳͷǡͳͻͻʹǤ ȏͶͲȐ ǡǤǡ
ǡǤThe El’brus-3 and MARS-M: recent advances in Russian highperformance computingǤ
ǡǡͳǡǤͷǦͶͺǡͳͻͻʹǤ ȏͶͳȐ ǡ Ǥ Ǥǡ ǡ Ǥ Ǥ ȋǤȌǤ Ionizing Radiation Effects in MOS Devices and Circuitsǡ
ǡ ͲǦͶͳͺǦͶͺͻ͵ǦǡͳͻͺͻǤ ȏͶʹȐ
ǡ Ǥ FehlertoleranzverfahrenǤ ǡ Ǧǡ ͵Ǧ ͷͶͲͷǦʹͺͲǦ͵ǡͳͻͻͲǤ ȏͶ͵Ȑ
ǡǤǡǡǤǡǡǤOn Hardware Fault Diagnosis by Diverse SoftwareǤ
Ǥ ͳ͵ ǯǤ
Ǧ
ǡǤ͵ʹȂ͵ǡͳͻͻͲǤ
248
Literaturverzeichnis
ȏͶͶȐ
ǡ Ǥǡ ǡ Ǥ Ǥ Fehlerinjektion – ein Mittel zur Bewertung der Maßnahmen gegen Fehler in komplexen RechensystemenǤ ʹͳǡ ǡ Ǥ ͵ʹͺǦ͵͵ǡ ͳͻͻͺǤ ȏͶͷȐ ǡǤǡǡ ǤǡǡǤǡǡ ǤǡǡǤǡǡǤSimultaneous Multithreading: A Platform for Next-Generation ProcessorsǤ
ǡͳǡͷǡǤͳʹȂͳͻǡͳͻͻǤ ȏͶȐ ǡǤǤTest Routines Based on Symbolic Logic StatementsǤ ǡ ǡǤ͵͵Ǧ͵ǡͳͻͷͻǤ ȏͶȐ ǦǡǤǡǡǤǤFront-End Policies for Improved Issue Efficiency in SMT Processors.
Ǥ ͻ ǯǤǤǦ
ȋǦ ͻȌǡǤ͵ͳǦ͵ͻǡʹͲͲ͵Ǥ ȏͶͺȐ ǡ ǤǤMultiplying Alpha PerformanceǤͳʹ
ǡͳͻͻͻǤ ȏͶͻȐ
ǡ ǤǤSEU effects in registers and in a Dual-Ported Static RAM designed in a 0.25 μm CMOS technology for applications in the LHCǡȀȀͻͻǦ͵͵ǡǤͷͳǡͳͻͻͻǤ ȏͷͲȐ
ǡ ǤRadiation Effects in the Electronics for CMOSǡ
ǡǡͳͻͻͻǤ ȏͷͳȐ
ǡ Ǥ A Fault-Tolerant Dynamic Fetch Policy for SMT Processors in Multi-Bus EnvironmentsǤ
Ǥ ͷ ǯǤ Ǥ
ȋǦͷȌǡǤ͵ͳǦ͵ǡʹͲͲǤ ȏͷʹȐ
ǡǤA Result Propagation Scheme for Redundant Multithreaded SystemsǤ
Ǥ ʹͲͲ ǯǤǤ
ȋ̵ͲȌ,ǤͶǦͻǡʹͲͲǤ ȏͷ͵Ȑ
ǡ Ǥ Analysis of Checksum-Based Execution Schemes for Pipelined ProcessorsǤ
ǤͳͳǡǦ
Ǧ ȋǦͳͳȌǡʹͲͲǤ ȏͷͶȐ
ǡǤMicrocode with Embedded Timing ConstraintsǤ
Ǥ̵ͲǦ
ǡǤͶͷǦͷͳǡʹͲͲǤ ȏͷͷȐ
ǡǤǡǡǤPorting a portable computer architecture platformǤʹͲǦ
ǡʹͲͲǤ ȏͷȐ
ǡǤǡ ǡ Ǥ A Fault-Tolerant Voting Scheme for Multithreaded Environments.
ǤͶ ǯǤǤ
ȋǦͶȌǡǤ ʹ͵Ǧʹ͵ͻǡʹͲͲͶǤ ȏͷȐ ǡ ǤǤǡ
ǡǤǡǡǤEmbedded Computing. A VLIW Approach to Architecture, Compilers, and toolsǡǡ ͳǦͷͷͺǦͲǦͺǡʹͲͲͷǤ
Literaturverzeichnis
249
ȏͷͺȐ ǡǤAssessment and Comparison of Physical Fault Injection TechniquesǤǦ ǡ
ǡ Úǡ
ǡͳͻͻͻǤ ȏͷͻȐ ǡ Ǥ A study of time redundant fault tolerance techniques for superscalar processorsǤ
Ǥ ǯǤ
ǡ ͳͻͻͷǡǤʹͲǦʹͳͷǤ ȏͲȐ ǡǤǤCritical charge calculations for a bipolar SRAM arrayǤ Ǧ
ǡͶͲǡͳǡǤͳͳͻǦͳʹͻǡͳͻͻǤ ȏͳȐ
ǡǤAn Evaluation of the Error Detection Mechanisms in MARS Using Software Implemented Fault InjectionǤ
Ǥ ʹ
ȋǦʹȌǡǤ͵ǦͻͲǡͳͻͻǤ ȏʹȐ ǡǤǤPrescott Pushes Pipelining LimitsǤ
ǡʹͲͲͶǤ ȏ͵Ȑ ǡǤǡ ǡǤSpeculative sequential consistency with little custom storageǤ
Ǥ ͳͲ ǯǤ
ȋǦ ͳͲȌǡǤͳͻǦͳͺͺǡʹͲͲʹǤ ȏͶȐ ǡǤǡ
ǡǤǡǡǤǤǡǡ ǤTransient fault recovery for chip multiprocessorsǤ
Ǥ ͵Ͳ ǯǤ Ǥ
ȋ Ǧ͵ͲȌǡ Ǥ ͻͺǦͳͲͻǡʹͲͲ͵Ǥ ȏͷȐ ǡǤǡǡǤǤOpportunistic transient-fault detectionǤ
Ǥ͵ʹ ǯǤǤ
ȋ Ǧ͵ʹȌǡǤͳʹǦͳͺ͵ǡʹͲͲͷǤ ȏȐ òǡ Ǥǡ ǡ Ǥ Towards Extremely Fast Context Switching in a Blockmultithreaded ProcessorǤ
Ǥʹʹ
ǡǤͷͻʹǦͷͻͻǡͳͻͻǤ ȏȐ òǡǤǡǡǤ A Multithreaded Processor Designed for Distributed Shared Memory SystemsǤ
Ǥ
Ǧ ȋ̵ͻȌǡǤʹͲȂʹͳ͵ǡͳͻͻǤ ȏͺȐ ǡǤǡǡǤPerformance Study of a Multithreaded Superscalar MicroprocessorǤ
Ǥ ǯǤǤ
ȋǯͻȌǡ ǤʹͻͳǦ͵Ͳͳǡ ǤͳͻͻǤ ȏͻȐ ǡǤǡ Ǥǡǡ ǤEvaluation of Error Detection Schemes Using Fault Injection by Heavy-ion RadiationǤ
Ǥͳͻ ǯǤǤ Ǧ ȋ ǦͳͻȌǡǤ͵ͶͲǦ͵ͶǡͳͻͺͻǤ ȏͲȐ ǡǤǤǡǡǤǡǡǤSelf Recovering Controller and Datapath CodesignǤ ǡȋȌǡǤͷͻǦͲͳǡͳͻͻͻǤ
250
Literaturverzeichnis
ȏͳȐ ǡ Ǥǡ ǡ Ǥ Ǥǡ ǡ ǤǤ Doctor: An Integrated Software Fault-Injection Environment for Distributed Real-Time SystemsǤ
Ǥʹ ǯǤ
Ǥȋ ǦʹȌǡǤʹͲͶǦʹͳ͵ǡͳͻͻͷǤ ȏʹȐ ǡǤǡ
ǡǤAn Efficient Procedure for the Synthesis of Fast Self-Testable Controller StructuresǤ
Ǥ ǯǤ Ǥ Ǧ ǡ Ǥ ͳͳͲǦͳͳǡ ͳͻͻͶǤ ȏ͵Ȑ ǡ ǤNew Directions in Processor DesignǤͳʹ
ǡ ͳͻͻͻǤ ȏͶȐ ǡ ǤǡǡǤComputer Architecture - A Quantitative ApproachǤͶǤǤǦ ǡ ͲǦͳʹ͵ǦͲͶͻͲǦͳǡʹͲͲǤ ȏͷȐ ǡ ǤǤThe Microarchitecture of the Pentium 4 ProcessorǤ
Ǧ ǡͳȋͻȌǡʹͲͲͳǤ ȏȐ ǡǤǤElementary Processor with Simultaneous Instruction Issuing from Multiple ThreadsǤ
Ǥͳͻ ǯǤǤ
ȋ ǦͳͻȌǡǤͳ͵Ǧ ͳͶͷǡͳͻͻʹǤ ȏȐ ǦǡǤǡǡǤHandbook of Radiation EffectsǤǡ ͲǦͳͻǦͺͷ͵ͶǦǡͳͻͻ͵Ǥ ȏͺȐ ǡǤǤǡǡǤǤǡ ǡǤǤFault Injection Techniques and ToolsǤ Ǥ ǡ͵ͲǡͶǡǤͷǦͺʹǡͳͻͻǤ ȏͻȐ ò
ǡ Ǥ Multicore-Techniken im Vergleich. Krieg der Kerne. ò
ǡǡǤͶǡͶȀʹͲͲǤ ȏͺͲȐ ǡ ǦǤǡ ǡ Ǥ Checkpoint Repair for High-Performance out-of-order Execution MachinesǤ Ǥǡ͵ǡͳʹǡǤͳͶͻǦͳͷͳͶǡͳͻͺǤ ȏͺͳȐ
ǡǤǤȋǤȌǤMultithreaded Computer Architecture. A Summary of the State of the ArtǤ
ǤǤǡ ͲǦͻʹ͵ǦͻͶǦͳǡͳͻͻͶǤ ȏͺʹȐ ǤPentium Processor User’s Manual, Vol. 3: Architecture and Programming Manualǡͳͻͻ͵Ǥ ȏͺ͵Ȑ ǤPentiumPro BIOS writer’s guideǤǤʹǤͲͳǡ ǡͳͻͻǤ ȏͺͶȐ ǤHyperthreading Technology Architecture and MicroarchitectureǤ
ǡǤͳǦͳʹǡͳǡʹͲͲʹǤ ȏͺͷȐ Ǥ Hyperthreading TechnologyǤ
ǡ ǡ ͳǡ ʹͲͲʹǤ
Literaturverzeichnis
251
ȏͺȐ Ǥ Ǧ͵ʹ Intel Architecture Optimization. Reference ManualǤ
ǣʹͶͺͻǦͲͲͻǡʹͲͲ͵Ǥ ȏͺȐ ǤStatistical analysis of floating point flaw in the Pentium processor.
Ǧ
ǡ ǡǤͳͻͻͶǤ ȏͺͺȐ
ȋ ȌǤ IEC 61508 Functional Safety of electrical/ electronic/ programmable electronic safety-related Systems - Part 1 to Part 7Ǥ ǡ ʹͲͲͳǤ ȏͺͻȐ ǡ ǤǤ Ǥ Automatic Recognition of Intermittent Failures: An Experimental Study of Field DataǤ Ǥǡ͵ͻǡͶǡǤͷʹͷǦͷ͵ǡͳͻͻͲǤ ȏͻͲȐ ǡ Ǥ ȋ ȌǤ Integrity S2: A Fault-Tolerant Unix Platform.
Ǥ ʹͳ ǯǤǤ Ǧȋ ǦʹͳȌǡǤͷͳʹǦͷͳͻǡͳͻͻͳǤ ȏͻͳȐ ǡ ǤǤ Design and Analysis of Fault-Tolerant Digital SystemsǤ Ǧǡ ͲǦʹͲͳͲǦͷͲǦͻǡͳͻͺͻǤ ȏͻʹȐ ǡǤScaling and Technology Issues for Soft Error RatesǤ
ǤͶ
ǤǡʹͲͲͲǤ ȏͻ͵Ȑ ǡ Ǥ Die Soft-Error-Rate von Submikrometer-CMOS-LogikschaltungenǤ ǡ ¡
ǡ
¡ǡʹͲͲ͵Ǥ ȏͻͶȐ ǡ ǤǤǤIntroduction to the Cell multiprocessorǤ
Ǧ ǡͻǡͶȀͷǡǤͷͺͻǦͲͶǡʹͲͲͷǤ ȏͻͷȐ ǡǤǡǡǤǡǡ ǤǤIBM POWER5 Chip: a Dual-Core Multithreaded ProcessorǤ
ǡʹͶǡʹǡǤͶͲǦͶǡʹͲͲͶǤ ȏͻȐ ǡ Ǥǡ
ǡ ǤǡMIPS RISC Architecture.ʹǤǤ
ǡǡ ͲǦͳ͵ͷͻǦͲͶʹǦʹǡͳͻͻʹǤ ȏͻȐ ǡǤSGI stock falls following downgrade, recall announcementǤǡǤͳͻͻǤ ȏͻͺȐ ǡ Ǥǡ±ǡǤTransient Fault Effects in the MC6809E 8 Bit Microprocessor: A Comparison of Results of Physical and Simulated Fault Injection ExperimentsǤ
ͻǡǤǡ
ǡ
ÚǡǡͳͻͻͲǤ ȏͻͻȐ ǡ Ǥ Ǥ Characterization of Soft Errors caused by Single-Event Upsets in CMOS ProcessesǤ Ǥ
ǡͳǡʹǡǤͳʹͺǦͳͶ͵ǡ ʹͲͲͶǤ ȏͳͲͲȐ ǡ ǤǤǡ ǡ Ǥǡ ǡ Ǥ Fault-Tolerance Techniques for SRAM-based FPGAsǤ Ǧǡ ͲǦ͵ͺǦ͵ͳͲͺǦͳǡʹͲͲǤ
252
Literaturverzeichnis
ȏͳͲͳȐ ǡǤǡǡ ǤǡǡǤǤǡǡǤComparing Power Consumption of an SMT and a CMP DSP for Mobile Phone Workloads.
ǤʹͲͲͳ ǯǤ
ǡ
ǡȋȌǡǤʹͳͳǦʹʹͲǡʹͲͲͳǤ ȏͳͲʹȐ
ǡǤQueueing Systems. Volume 1: TheoryǤ Ƭǡ ͲǦͶͳͶǦͻͳͳͲǦͳǡ ͳͻͷǤ ȏͳͲ͵Ȑ ǡ Ǥ The Art of Computer Programming. Volume 2 (Seminumerical Algorithms)Ǥ ͵Ǥ ǤǦǡ ͲǦʹͲͳͲǦ͵ͺʹʹǦǡͳͻͻǤ ȏͳͲͶȐ ǡǤǤSoft Errors in SRAM Devices Induced by High Energy Neutrons, Thermal Neutrons and Alpha Particles. ǯǤ
ȋ ǯͲʹȌǡǤ͵͵Ǧ͵ͶͲǡ ʹͲͲʹǤ ȏͳͲͷȐ ǡǤǡǡǤǡǡǤNiagara: A 32-Way Multithreaded Sparc ProcessorǤ
ǡʹͷǡʹǡǤʹͳǦʹͻǡʹͲͲͷǤ ȏͳͲȐ ǡ Ǥǡ ǡ Ǥ Checkpointing and Rollback-Recovery for Distributed SystemsǤ ǤǡǦͳ͵ǡǤʹ͵Ǧ͵ͳǡͳͻͺǤ ȏͳͲȐ ǡ ǤǡǡǤǤ Fault-Tolerant SystemsǤǡ ͲǦͳʹͲͺǦͺͷʹͷǦͷǡ ʹͲͲǤ ȏͳͲͺȐ ǡǤǡǡǤǤHyperthreading Technology in the Netburst MicroarchitectureǤ
ǡʹ͵ǡʹǡǤͷǦͶǡʹͲͲ͵Ǥ ȏͳͲͻȐ ǡ Ǥǡ ǡ ǤA New Direction for Computer Architecture ResearchǤ ǡ͵ͳǡͳͳǡǤʹͶǦ͵ʹǡͳͻͻͺǤ ȏͳͳͲȐ ǡ ǤǡǡǤǡǡǤThe Komodo Project: Thread-based Event Handling Supported by a Multithreaded Java MicrocontrollerǤ
Ǥʹͷ
ǡǤʹͶͺǦʹͷͳǡͳͻͻͻǤ ȏͳͳͳȐ ǡǤIntel's Hyperthreading Takes OffǤ
ǡʹͲͲʹǤ ȏͳͳʹȐ òǡ Ǥ Ein dynamisch fehlertolerantes, echtzeitfähiges und verteiltes RechnersystemǤ ǡ ¡ ǡ ¡ǡͳͻͻͻǤ ȏͳͳ͵Ȑ ǡǤǤDigital Circuit Testing and TestabilityǤ
ǡ ͲǦͳʹǦͶ͵Ͷ͵͵ͲǦͻǤ ȏͳͳͶȐ ǡ ǤǦǤȋǤȌǤDependability: Basic Concepts and TerminologyǤǦǡ ͲǦ͵ͺͺǦʹʹͻǦͺǡͳͻͻʹǤ ȏͳͳͷȐ Ǧǡ Ǥǡ ǡǤAdaptive Majority Voter: A Novel Voting Algorithm for RealTime Fault-Tolerant Control Systems.
Ǥ ʹͷ
ǡʹ, Ǥ ʹͳͳ͵ǡͳͻͻͻǤ
Literaturverzeichnis
253
ȏͳͳȐ ǡ Ǥǡ ǡǤǡǡǤInterleaving: A multithreading technique targeting multiprocessors and workstationsǤ
Ǥ ǯǤ Ǥ
ȋǦȌǡǤ͵ͲͺȂ͵ͳͺǡͳͻͻͶǤ ȏͳͳȐ ǡǤǤBochs: A Portable PC Emulator for Unix/XǤ ǡʹͻǡǦ ǡͳͻͻǤ ȏͳͳͺȐ ǡǤǤǤIBM POWER6 microarchitectureǤ
ǡ ͷͳǡǡǤ͵ͻǦʹǡʹͲͲǤ ȏͳͳͻȐ ǡǤǡ
ǡǤǡ
ǡ ǤDesign of Microprocessors with Built-In On-Line TestǤ
ǤʹͲ ǯǤǤ Ǧȋ ǦʹͲȌǡǤͶͷͲǦͶͷǡͳͻͻͲǤ ȏͳʹͲȐ ±ǡǤǡǡǤǡ ǡǤǡǡ ǤOn Latching Probability of Particle Induced Transients in Combinational NetworksǤ
ǤʹͶ ǯǤǤ Ǧ ȋ ǦʹͶȌǡǤ͵ͶͲǦ͵ͶͻǡͳͻͻͶǤ ȏͳʹͳȐ ǡǤStrategies for enhancing throughput and fairness in SMT processorsǤǦ ǡǡʹͲͲͶǤ ȏͳʹʹȐ ǡǤǡǡǤError Control Coding.
Ǧǡ ͲǦͳ͵ʹͺǦ͵ͻǦǡͳͻͺ͵Ǥ ȏͳʹ͵Ȑ ǡ ǤǦǤǤǡ ǡ ǤǤ Error Log Analysis: Statistical Modeling and Heuristic Trend AnalysisǤ Ǥǡ͵ͻǡǤͶͳͻǦͶ͵ʹǡͳͻͻͲǤ ȏͳʹͶȐ ǡ ǤǡǡǤǡǡǤǡ
ǡǤǡǡǤǡǡǤAn Analysis of Database Workload Performance on Simultaneous Multithreaded Processors.
Ǥ ʹͷ ǯǤ Ǥ
ȋ ǦʹͷȌǡǤ͵ͻǦͷͲǡͳͻͻͺǤ ȏͳʹͷȐ ǡ ǤǡǡǤǡǡ ǤǡǡǤǡǡǤǡǡǤConverting Thread-Level Parallelism Into Instruction-Level Parallelism via Simultaneous Multithreading. Ǥ ǡͳͷǡʹǡǤ͵ʹʹǦ͵ͷͶǡͳͻͻǤ ȏͳʹȐ ǡ Ǥǡ ǡ Ǥ A Fine-Grain Multithreading Superscalar ArchitectureǤ
Ǥ ͳͻͻ Ǥ
ȋ̵ͻȌǡǤͳ͵ǦͳͺǡͳͻͻǤ ȏͳʹȐ «ǡ Ǥ Fault-Design and Representative Sample Allocation for Software-Implemented Processor Fault InjectionǤ
ǤͺǦ ȋǦͺȌǡͳͻͻǤ ȏͳʹͺȐ «ǡ Ǥ Fehlererkennung durch systematische Diversität in entwurfsdiversitären zeitredundanten Rechensystemen und ihre Bewertung mittels FehlerinjektionǤ ǡ
ǡ¡ ǡͳͻͻǤ
254
Literaturverzeichnis
ȏͳʹͻȐ ǡǤǤǡ ǡ ǤǤExploiting short-lived variables in superscalar processorsǤ
Ǥ ʹͺ ǯǤǤ
ȋ ǦʹͺȌǡǤʹͻʹǦ͵ͲʹǡͳͻͻͷǤ ȏͳ͵ͲȐ ǡǤǡǡǤǤPowerEfficient Approaches to Redundant MultithreadingǤ ǤǡͳͺǡͺǡǤͳͲǦͳͲͻǡʹͲͲǤ ȏͳ͵ͳȐ ǡǤǡ
ǡǤǡǡǤA Study of a Simultaneous Multithreaded Processor ImplementationǤ
Ǥ ͷ ǯǤ Ǧ Ǥ
ǡ Ǥ ͳǦʹǡ ͳͻͻͻǤ ȏͳ͵ʹȐ ǡǤǡ
ǡǤ ǤConcurrent Error Detection using Watchdog Processors – A Survey. Ǥǡ͵ǡʹǡǤͳͲǦͳͶǡͳͻͺͺǤ ȏͳ͵͵Ȑ
ǡǤǡ ǡǤǡǡ ǤSpeculative Multithreaded ProcessorsǤ
Ǥ ǯǤǤ
ȋ ǯͻͺȌǡǤǦͺͶǡͳͻͻͺǤ ȏͳ͵ͶȐ ǡ ǤǤ Ǥ Hyperthreading Technology Architecture and MicroarchitectureǤ
ǡǡʹǡǤͳǦͳʹǡʹͲͲʹǤ ȏͳ͵ͷȐ ǡ ǤǤǡ ǡ ǤǤ Alpha-Particle-Induced Soft Errors in Dynamic Memories. Ǥ
ǡʹǡͳǡǤʹȂͻǡͳͻͻǤ ȏͳ͵Ȑ
ǡ ǤǤǡ ǡ ǤǤǡ ǡ ǤǤ The Measurement and Analysis of Transient Errors in Digital SystemsǤ
Ǥ ͻ ǯǤ Ǥ Ǧ ȋ ǦͻȌǡǤǦͲǡͳͻͻǤ ȏͳ͵Ȑ
ǡǤǡǡǤMontecito: A Dual-Core, Dual-Thread Itanium ProcessorǤ
ǡ ʹͷǡʹǡǤͳͲǦʹͲǡʹͲͲͷǤ ȏͳ͵ͺȐ ǡ ǤǤ Collection of Charge on Junction Nodes from Ion TracksǤ Ǥ
ǡǦʹͻǡǤʹͲʹͶǦʹͲ͵ͳǡͳͻͺʹǤ ȏͳ͵ͻȐ
ǡǤǤǤPredicting the number of fatal soft errors in Los Alamos National Laboratory’s ASC Q computerǤ Ǥ
ǡͷǡ͵ǡǤ ͵ʹͻȂ͵͵ͷǡʹͲͲͷǤ ȏͳͶͲȐ
ǡǤǡǡǤMSparc: A Multithreaded SparcǤ
ǤʹǦǦ
ǡͳͳʹͶȀͳͻͻǡǡǤͶͳȂͶͻǡͳͻͻǤ ȏͳͶͳȐ ǡ Ǥǡǡ Ǥǡ±ǡǤǡǡ ǤUse of Time and Address Signatures for Control Flow CheckingǤ
Ǥ ͷ ǯǤǤ
ȋǦͷȌǡǤʹͲͳǦʹʹͳǡͳͻͻͷǤ ȏͳͶʹȐ ǡ Ǥ Dependable Computing for Railway Control Systems.
Ǥ ͵ Ǧ
ȋǦ͵ȌǡǤʹͷͷǦʹǡͳͻͻ͵Ǥ ȏͳͶ͵Ȑ
ǤMC88100 RISC Microprocessor User’s Manualǡ
Ǧǡͳͻͻ͵Ǥ
Literaturverzeichnis
255
ȏͳͶͶȐ ǡǤǤǤIncremental Checkpointing in a Multi-Threaded Architectureǡ ǡʹͶ͵ǡʹʹʹȋ
ʹͻǤͲͺǤʹͲͲ͵ǡͳͲǤͲǤʹͲͲȌǤ ȏͳͶͷȐ ǡ ǤǤǡ ǡ Ǥǡ ǡ ǤǤ Detailed Design and Evaluation of Redundant Multithreading AlternativesǤ
Ǥ ʹͻ ǯǤ Ǥ
ȋ ǦʹͻȌǡǤͻͻǦͳͳͲǡʹͲͲʹǤ ȏͳͶȐ ǡǤǤǡǡǤǡǡ ǤǡǡǤǤǡǡǤMeasuring Architectural Vulnerability FactorsǤ
ǡʹ͵ǡǡǤͲǦͷǡʹͲͲ͵Ǥ ȏͳͶȐ ǡǤǤǡǡǤǡǡ ǤǡǡǤǤǡǡǤA Systematic Methodology to Compute the Architectural Vulnerability Factors for a High-Performance MicroprocessorǤ
Ǥ͵ ǯǤǤ
ȋ Ǧ͵ȌǡǤʹͻǦͶͲǡʹͲͲ͵Ǥ ȏͳͶͺȐ ǡǤTechniques for Concurrent Testing of VLSI Processor OperationǤ
Ǥ ͳʹ ǯǤǤ ǦǦȋ ǦͳʹȌǡǤͶͳǦͶͺǡͳͻͺʹǤ ȏͳͶͻȐ
ȋ ȌǤCosmic Ray Neutron MonitorȋȌǤ ǣȀȀǤ
ǤǤȀȀ̴Ȁ ̴ȀǤͲǤͳʹȀʹͲͲȀ ʹͳǤͲͳǤʹͲͲͺǤ ȏͳͷͲȐ ǡǤǡǡ ǤǡǡǤDISC: Dynamic Instruction Stream ComputerǤ
Ǥ ʹͶ ǯǤǤ
ȋ ǦʹͶȌǡǤͳ͵ǦͳͳǡͳͻͻͳǤ ȏͳͷͳȐ
ǡǤǡǡ ǤValgrind: a framework for heavyweight dynamic binary instrumentationǤ
Ǥ ʹͲͲǤ ȋ ʹͲͲȌǡǤͺͻǦͳͲͲǡʹͲͲǤ ȏͳͷʹȐ ǡǤCorrelation of in-flight neutron dosimeter and SEU measurements with atmospheric neutron modelǤ Ǥ
ǡ Ͷͺǡ ǡ Ǥ ͳͻͻǦʹͲͲ͵ǡ ʹͲͲͳǤ ȏͳͷ͵Ȑ ǡǤSingle-Event Upset at Ground LevelǤ Ǥ
ǡͶ͵ǡ ǡͳǡǤʹͶʹǦʹͷͲǡͳͻͻǤ ȏͳͷͶȐ ǡ Ǥǡ ǡ Ǥǡ ǡ Ǥ Simultaneous Multithreading and Multimedia. Ǧ
ǡ
ȋ ̵ͻͻȌǡ ͳͻͻͻǤ ȏͳͷͷȐ ǡǤǡ ǡǤǡǡǤA complexity-effective approach to alu bandwidth enhancement for instruction-level temporal redundancyǤ
Ǥ͵ͳ ǯǤǤ
ȋ Ǧ͵ͳȌǡǤ͵Ǧ͵ͺǡʹͲͲͶǤ ȏͳͷȐ
ǡ Ǥ Ǥǡ
ǡ Ǥ ǡ ǡ Ǥ Guidebook for Managing Silicon Chip Reliabilityǡ ǡ ͲǦͺͶͻͻ͵ǦͻʹͶǦǡͳͻͻͺǤ
256
Literaturverzeichnis
ȏͳͷȐ ǡ ǤǤ Single-Event Analysis and Prediction.
ȋǯͻȌǡǡͳͻͻǤ ȏͳͷͺȐ ǡǤǡǡǤ ǤError-CorrectingCodesǤ ǡʹǤǤǡ ͲǦʹʹͳǦͲ͵ͻǦ ͲǡͳͻʹǤ ȏͳͷͻȐ ǡ ǤASIC Standard Cell Design LibraryǤ ǣȀȀǤ
ǤȀȀ̴
ǤǤͳʹǤͲͳǤʹͲͲͺȀ ʹʹǤͲͳǤʹͲͲͺǤ ȏͳͲȐ ǡǤ On-Line Error Detection and Fast Recover Techniques for Dependable Embedded ProcessorsǡʹʹͲǡǦǡ ͵ǦͷͶͲǦͶ͵͵ͳͺǦǡʹͲͲʹǤ ȏͳͳȐ ǡǤǤǡǡǤǤRoll-Forward and Rollback Recovery: Performance-Reliability Trade-OffǤ ǤǡͶǡ͵ǡǤ͵ʹǦ͵ͺǡͳͻͻǤ ȏͳʹȐ ǡǤǤǤDesign of an 8-wide Superscalar RISC Microprocessor with Simultaneous MultithreadingǤ
ǤʹͲͲʹ ǯǤǦ
Ǥȋ ǦʹͲͲʹȌǡǤ͵͵ͶǦ ͵͵ͷǡʹͲͲʹǤ ȏͳ͵Ȑ ǡ Ǥǡ ǡ Ǥ Slipstream Processors: Improving Both Performance and FaultToleranceǤ
Ǥͻ ǯǤǤ
Ǧ ȋǦͻȌǡǤʹͷǦʹͺǡʹͲͲͲǤ ȏͳͶȐ ǡ Ǥǡǡ ǤǤǡ ǡǤDual use of superscalar datapath for transient fault detection and recoveryǤ
Ǥ͵Ͷ ǯǤǤ
ȋ Ǧ͵ͶȌǡǤʹͳͶǦ ʹʹͶǡʹͲͲͳǤ ȏͳͷȐ ǡ Ǥǡ ǤǤǡ
ǡ Ǥǡ ǡ Ǥ Soft-error Detection through Software Fault-Tolerance techniquesǤ ǯǤ Ǥ
ǡǤʹͳͲǦʹͳͺǡͳͻͻͻǤ ȏͳȐ ǡ ǤǤǡ ǡ ǤǤ Transient Fault Detection via Simultaneous MultithreadingǤ
Ǥʹ ǯǤǤ
ȋ ǦʹȌǡǤʹͷȂ͵ǡʹͲͲͲǤ ȏͳȐ ±ǡǤǡǡ ǤA Study of the Error Behavior of a 32 Bit RISC Subjected to Simulated Transient Fault InjectionǤ
Ǥʹʹ ǯǤ
ǡǤͻǦͲͶǡͳͻͻʹǤ ȏͳͺȐ ±ǡǤǡǡ Ǥǡǡ ǤOn Microprocessor Error Behavior ModelingǤ
Ǥ ʹͶ ǯǤǤ Ǧǡ ǦʹͶǡͳͻͻͶǡǤǦͺͷǤ ȏͳͻȐ ǡǤǡǡǤǡǡǤǡǡǤ Thread-Sensitive Instruction Issue for SMT ProcessorsǤ
ǡ͵ǡͳǡǤͷǡʹͲͲͶǤ ȏͳͲȐ ǡǤAR-SMT - A Microarchitectural Approach to Fault Tolerance in Microprocessors.
ǤʹͻǤ Ǧȋ ǦʹͻȌǡǤͺͶǦͻͳǡͳͻͻͻǤ
Literaturverzeichnis
257
ȏͳͳȐ ǡ Ǥǡ ǡ Ǥǡ ǡ ǤǤ Trace cache: a low latency approach to high bandwidth instruction fetchingǤ
Ǥ ʹͻ ǯǤǤ
ȋ Ǧ ʹͻȌǡǤʹͶǦ͵ͷǡͳͻͻǤ ȏͳʹȐ ǡǤǡ
ǡǤǡǡǤǡǡ ǤTrace Processors.
Ǥ͵Ͳ ǯǤ Ǥ
ȋ Ǧ͵ͲȌǡǤͳ͵ͺǦͳͶͺǡͳͻͻǤ ȏͳ͵Ȑ ǡǤǤComputer Aids for VLSI DesignǤǦǡ ͲǦʹͲͳǦͲͷͺʹͶǦ͵ǡͳͻͺǤ ǣȀȀǤǤ
Ȁ
ǡͳͲǤͲͳǤʹͲͲͺǤ ȏͳͶȐ ǡǤǤǡ
ǡǤ ǤDependable Adaptive Computing Systems – The ROAR ProjectǤ
Ǥͳͻͻͺ ǯǤǤǡǡ
ǡǤʹͳʹǦʹͳȋ͵Ȍǡ ͳͻͻͺǤ ȏͳͷȐ
ǡ Ǥǡ
ǡ Ǥ Technische Informatik – Grundlagen der DigitalelektronikǤ ʹǡ͵ǤǤǡͳͻͻͺǤ ȏͳȐ
ǡǤǡǡǤEPIC: Explicitly Parallel Instruction ComputingǤ Ǥ ǡ͵͵ǡʹǡǤ͵ǦͶͷǡʹͲͲͲǤ ȏͳȐ ǡǤ ǤǡǡǤǡǡǤǤǡǡǤǤA Model for Performance Estimation in a Multistreamed Superscalar ProcessorǤ
Ǥ ǯǤǤǦ
ǡ
ǡǤʹͳ͵Ǧʹ͵ͲǡͳͻͻͶǤ ȏͳͺȐ ǡ Ǥ Ǥ Ǥ Trade-Offs in Transient Fault Recovery Schemes for Redundant Multithreaded ProcessorsǤ
ȋʹͲͲȌǡǤͳ͵ͷǦͳͶǡʹͲͲǤ ȏͳͻȐ ǡ ǤǤǡ
ǡǤǤOn-Line Self-Monitoring Using Signatured Instruction StreamsǤ
Ǥͳ͵ ǯǤ
ǡǤʹͷǦʹͺʹǡͳͻͺ͵Ǥ ȏͳͺͲȐ ǡǤǡǡǤǡ
ǡǤǤǡǡǤǡǡǤModeling the effect of technology trends on thesoft error rate of combinational logicǤ
Ǥ ǯǤ
ȋǯͲʹȌǡǤ͵ͺͻȂ͵ͻͺǡʹͲͲʹǤ ȏͳͺͳȐ ǡǤǤǡǡǤǤReliable Computer Systems: Design and EvaluationǤ͵ǤǤǡ ǡǤǡ ͳǦͷͺͺǦͳͲͻʹǦǡͳͻͻͺǤ ȏͳͺʹȐ ǡǤEntwurf und Evaluierung mehrfädig superskalarer Prozessortechniken im Hinblick auf MultimediaǤǡ ¡ò ǡ¡ǡʹͲͲͲǤ ȏͳͺ͵Ȑ ǡǤǡǡǤǡǡǤOn Performance, Transistor Count and Chip Space Assessment of Multimedia enhanced Simultaneous Multithreaded Processors. Ͷ Ǧ
ǡ
ȋǦͶȌǡʹͲͲͲǤ ȏͳͺͶȐ ǡǤǡǡǤIdentifying Bottlenecks in a Multithreaded Superscalar MicroprocessorǤ
Ǥʹ ǯǤǦ
ǡʹǡǤͻǦͺͲͲǡͳͻͻǤ
258
Literaturverzeichnis
ȏͳͺͷȐ ǡǤǡ ǡǤǡ
ǡǤAdvanced Computer Architectures- A Design Space ApproachǤǤǡͳͻͻǤ ȏͳͺȐ ǡ ǤRedundancy Management Technique for Space Shuttle ComputersǤ
ǡʹͲǡͳǡǤʹͲǦʹͺǡͳͻǤ ȏͳͺȐ ǡ Ǥ Ǥǡ Ǥ IBM’s S/390 G5 Microprocessor DesignǤ
ǡ ͳͻǡ ʹǡ Ǥ ͳʹȂʹ͵ǡͳͻͻͻǤ ȏͳͺͺȐ ǡ ǤǤǡǡǤǤImplementation of Precise Interrupts in Pipelined RISC ProcessorsǤ Ǥǡ͵ǡͷǡǤͷʹǦͷ͵ǡͳͻͺͺǤ ȏͳͺͻȐ ǡ Ǥ Ǥ Ǥ Fingerprinting: Bounding Soft-Error-Detection Latency and BandwidthǤ
ǡʹͶǡǡǤʹʹȂʹͻǡʹͲͲͶǤ ȏͳͻͲȐ ǡ Ǥǡǡ Ǥǡǡ ǤǤǡ ǡǤEfficient resource sharing in concurrent error detecting superscalar microarchitectureǤ
Ǥ͵ ǯǤǤ
ȋ Ǧ͵ȌǡʹͲͲͶǤ ȏͳͻͳȐ ǡ Ǥǡ ǡǤǡǡǤǤAstudy of time-redundant fault tolerance techniques for high-performance pipelined computersǤ
Ǥ ͳͻ ǯǤ Ǥ Ǧ ǡ Ǧͳͻǡͳͻͺͻ,ǤͶ͵ǦͶͶ͵Ǥ ȏͳͻʹȐ ǡǤǡǡǤ Assisted Execution.
͓ ͻͺǦʹͷǡ ǦǡǡͳͻͻͺǤ ȏͳͻ͵Ȑ ǡǤǤDesign for Fault-Tolerance in System ES/9000 Model 900Ǥ
Ǥ ʹʹ ̵Ǥ Ǧȋ ǦʹʹȌǡǤ͵ͺǦͶǡͳͻͻʹǤ ȏͳͻͶȐ ǡǤǡ ǡǤǤG4: A Fault-Tolerant CMOS Mainframe.
Ǥʹͺ ǯǤ Ǥ Ǧȋ ǦʹͺȌǡǤͶ͵ʹǦͶͶͲǡͳͻͻͺǤ ȏͳͻͷȐ ǡǤǡǡǤǤConcurrent Checking of Program Flow in VLSI ProcessorsǤ
Ǥ ͳʹ ǯǤ
ǡǤͳͻͳǦͳͻͻǡͳͻͺʹǤ ȏͳͻȐ ǡǤParallelweltenǡ
̵ò
ǡǡǤʹͲǡͳͷȀʹͲͲͶǤ ȏͳͻȐ ǡ Ǥǡ ǡ Ǥ High-Performance Fault-Tolerant VLSI Systems Using Micro RollbackǤ Ǥǡ͵ͻǡͶǡǤͷͶͺǦͷͷͶǡͳͻͻͲǤ ȏͳͻͺȐ ǡǤǡǡǤǡǡǤǡǡǤThe UCLA Mirror Processor.A Building Block for Self-Checking Self-Repairing Computing NodesǤ
Ǥ ʹͳ ǯǤ Ǥ Ǧ ȋ ǦʹͳȌǡǤͳͺǦͳͺͷǡͳͻͻͳǤ ȏͳͻͻȐ ǡǤǤǡǡǤǤAutomated Diagnostic Methodology for the IBM 3081 Processor ComplexǤ
ǡʹǡǤͺǦͺͺǡͳͻͺʹǤ
Literaturverzeichnis
259
ȏʹͲͲȐ
ȋ ȌǤFront End ProcessesǤ ǣȀȀǤǤȀȀʹͲͲͷ Ȁ ʹͲͲͷǤǡʹͲͲͷȀ ͳͺǤͲͳǤʹͲͲͺǤ ȏʹͲͳȐ ǡ ǤǤǡ ǡǤ ǤDetection and parallel execution of independent instructionsǤ ǤǡͳͻǡͳͲǡǤͺͺͻǦͺͻͷǡͳͻͲǤ ȏʹͲʹȐ ǡǤǤAn Efficient Algorithm for Exploiting Multiple Arithmetic UnitsǤ Ǧ
ǡͳͳǡͳǡǤʹͷȂ͵͵ǡͳͻǤ ȏʹͲ͵Ȑ ǡǤMAJC-5200. A VLIW Convergent MPSoCǤͳʹ
ǡͳͻͻͻǤ ȏʹͲͶȐ ǡǤǤǡ
ǡǡ Software Aging and Rejuvenation.ȋʹͲͲʹȌǤ ǣȀȀǤǤǤȀͲʹ̴
ǤǤʹ͵ǤͲǤʹͲͲʹȀ ͵ͲǤͳͳǤʹͲͲǤ ȏʹͲͷȐ ǤǡǤThe Superthreaded Architecture: Thread Pipelining with Run-Time Data Dependence Checking and Control SpeculationǤ
Ǥ
Ǧ
ȋȌǡǤ͵ͷǦͶǡͳͻͻǤ ȏʹͲȐ ǡǤǤǡǡǤǤTrend Analysis on System Error FilesǤ
Ǥͳ͵ ̵ Ǥ Ǧȋ Ǧͳ͵ȌǡǤͳͳǦͳͳͻǡͳͻͺ͵Ǥ ȏʹͲȐ
ǡ Ǥǡ ǡ ǤInitial Observations of the Simultaneous Multithreading Pentium 4 ProcessorǤ
Ǥͳʹ ǯǤǤ
Ǧ ȋǦͳʹȌǡǤʹǡʹͲͲ͵Ǥ ȏʹͲͺȐ ǡǤǡǡǤǡǡǤRetrospective: Simultaneous Multithreading: Maximizing OnChip ParallelismǤ ʹͷ ǯǤ
ȋ
ȌǡǤͳͳͷǦͳͳǡͳͻͻͺǤ ȏʹͲͻȐ ǡǤǡǡǤǡǡ ǤǡǡǤǡǡ ǤǡǡǤExploiting Choice: Instruction Fetch and Issue on an Implementable Simultaneous Multithreading ProcessorǤ
Ǥ ʹ͵ ǯǤǤ
ȋ Ǧʹ͵ȌǡǤͳͻͳǦʹͲʹǡͳͻͻǤ ȏʹͳͲȐ ǡǤǡǡǤǡǡǤSimultaneous Multithreading: Maximizing On-Chip ParallelismǤ
Ǥ ʹʹ ǯǤ Ǥ
ȋ ǦʹʹȌǡ Ǥ ͵ͻʹ Ǧ ͶͲ͵ǡ ͳͻͻͷǤ ȏʹͳͳȐ ǤUnified Extensible Firmware Interface (UEFI) Specification 2.1ǡǣȀȀǤǤǡ ʹǤͳǡ ǤʹͲͲǡ͵ͲǤͳͳǤʹͲͲǤ ȏʹͳʹȐ ǡǤǡ«ǡǤǡe
ǡ Ǥ Multithreaded ProcessorsǤ ǡͶͷǡ ͵ǡǤ͵ʹͲǦ͵ͶͺǡʹͲͲʹǤ
260
Literaturverzeichnis
ȏʹͳ͵Ȑ ǡ Ǥǡ e
ǡ Ǥǡ «ǡ Ǥ A Survey of Processors with Explicit MultithreadingǤ ǡ͵ͷǡͳǡǤʹͻǦ͵ǡʹͲͲ͵Ǥ ȏʹͳͶȐ ǡǤǤA Case for Two-Level Recovery SchemesǤ ǤǡͶǡ ǡǤͷǦǡͳͻͻͺǤ ȏʹͳͷȐ Ǧ
ȋ ͵ͺʹʹȌǡͳǦͶǡ ͳͻͺͶȋȌǤ ȏʹͳȐ ǡ ǤǤǡ ǡ Ǥǡ ǡ Ǥ Transient-Fault Recovery Using Simultaneous MultithreadingǤ
Ǥʹͻ ǯǤǤ
ȋ ǦʹͻȌǡʹͲͲʹǤ ȏʹͳȐ ǡǤǡǡǤError Detection in Fault Secure Controllers using State EncodingǤ
ǤͳͻͻǤǡǤʹͲͲǦʹͲͶǡͳͻͻǤ ȏʹͳͺȐ
ǡǤǤFault Modeling and Logic Simulation in CMOS and MOS Integrated CircuitsǤ
ǡͷǡǤͳͶͶͻǦͳͶͶǡͳͻͺǤ ȏʹͳͻȐ ǡǤǤLimits of Instruction-Level ParallelismǤ
ͻ͵ȀǡǦ ǡͳͻͻ͵Ǥ ȏʹʹͲȐ ǡ Ǥǡ
ǡǤȋǤȌǡ
Ǧ
ǤThe NASA ASIC Guide: Assuring ASICs for SpaceǤͲǤǡǣȀȀǤǤǤȀ
Ȁ
Ǥ͵ǤͶǤ͓͵ǡͳͻͻ͵ǡ ͳͺǤͲͳǤʹͲͲͺǤ ȏʹʹͳȐ ǡǤǦ Ǥǡǡ ǤImplementing Precise Interrupts in Pipelined RISC-ProcessorsǤ
ǡͳ͵ǡͶǡǤ͵ǦͶ͵ǡͳͻͻ͵Ǥ ȏʹʹʹȐ ǡǤ ǤǤCharacterizing the Effects of Transient Faults on a High-Performance Processor PipelineǤ
ǤʹͲͲͶ ǯǤǤ ȋǯͲͶȌǡͲͲǡǤͳǦͲǡʹͲͲͶǤ ȏʹʹ͵Ȑ ǡǤFrom Carriers to Contacts.A Review of SEE Charge Collection Processes in DevicesǤ
ȋǯͲʹȌǡǡ ʹͲͲʹǤ ȏʹʹͶȐ ǡǤǡǡǤA Fault Tolerant Approach to Microprocessor DesignǤ
Ǥ ǯǤǤȋǦʹͲͲͳȌǡǤͶͳͳǦͶʹͲǡʹͲͲͳǤ ȏʹʹͷȐ ǡ Ǥǡ ǡ Ǥ The Stratus Architecture.
Ǥ ʹͳ ǯǤ Ǥ Ǧ ȋ ǦʹͳȌǡǤͻǦͺͷǡͳͻͻͳǤ ȏʹʹȐ ǡǤFor Intel, it’s a case of FPU all over againǤǡͲͷȀͳͻͻǤ ȏʹʹȐ ǡ Ǥǡ Data Integrity Concepts, Features, and Technologyǡ ǡ Ǧ ǡǤ
Literaturverzeichnis
261
ȏʹʹͺȐ ǤVirtex-E 1.8 V Field Programmable Gate ArraysǤ ǣȀȀ
ǤǤ
Ȁ
Ȁ
ȀͲʹʹǤǤʹǤ͵ͳǤͲǤʹͲͲʹȀ ͵ͲǤͳͳǤʹͲͲǤ ȏʹʹͻȐ ǡǤǡǡ Ǥ Ǥǡ
ǡǤǤǡǡǤǤǡǡ ǤPerformance estimation of multistreamed, superscalar processorsǤ
Ǥʹ ǯǤǤ
ǡǤͳͻͷȂʹͲͶǡͳͻͻʹǤ ȏʹ͵ͲȐ ǡǤǤMIPS R10000 Superscalar MicroprocessorǤ
ǡͳǡʹǡǤʹͺǦ ͶͲǡͳͻͻǤ ȏʹ͵ͳȐ ǡǤTriple-triple redundant 777 primary flight computerǤ
ǤͳͻͻǦ
ǡͳǡǤʹͻ͵Ǧ͵ͲǡͳͻͻǤ ȏʹ͵ʹȐ ǡǤǤPTLsim: A Cycle Accurate Full System x86-64 Microarchitectural Simulator.
Ǥ ǯǤǤ
ȋ ̵ͲȌǡǤ ʹ͵Ǧ͵ͶǡʹͲͲǤ ȏʹ͵͵Ȑ ǡǤFault Tolerance in Adaptive Real-Time Computing SystemsǤȋ ͵Ͳ͵ͺͳȌǡ¡ǡʹͲͲʹǤ ȏʹ͵ͶȐ ǡ Ǥ A Case for Fault Tolerance and Performance Enhancement using ChipMultiprocessorsǤ
ǡͷǡͳǡǤʹʹǦʹͷǡʹͲͲǤ ȏʹ͵ͷȐ ǡ ǤǤIBM Experiments in Soft Fails in Computer ElectronicsǤ Ǧ
ǡͶͲǡͳǡͳͻͻͺǤ ȏʹ͵Ȑ ǡ Ǥ Terrestrial cosmic ray intensitiesǤ
ǡ ͶʹǡͳǡǤͳͳǡͳͻͻͺǤ ȏʹ͵Ȑ ǡ Ǥǡ
ǡ Ǥ SER - History, Trends, and Challenges: A Guide for Designing with Memory ICs,ʹͲͲͶǤ ȏʹ͵ͺȐ ǡ Ǥ Performance Optimization of Checkpointing Schemes with Task DuplicationǤ ǤǡͶǡͳʹǡǤͳ͵ͺͳǦͳ͵ͺǡͳͻͻǤ
262
Index
Index μOP ............................................................ XXII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
Befehlshole-Strategie
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
ͳ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
ȀͶͲͲǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷ
ʹǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
ͳͲͲͲͲǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
͵ͲͲͲǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
ͺͺͲͲȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶͲ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
CRC ............................................................ XXII
ʹǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳʹ
CRT ............................................................ XXII
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
CRTR ......................................................... XXII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
Death- und Dependence-Based
ʹǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳ
Checking Elision ................................ 87
Betriebsfehler ........................................... 19
Dependence-based checking elision . 86
Block-Multithreading ............................. 46
Disturbance ............................................... 16
BOQ ............................................................ XXII
DIVA .......................................................... XXII
BSP ............................................................. XXII
DMS ........................................................... XXII
BTAC .......................................................... XXII
DMT ........................................................... XXII
CDC............................................................. XXII
Dynamic Multistreaming ...................... 48
Chip-Multiprozessor ............................... 45
ECC ............................................................. XXII
CIF .............................................................. XXII
EDIF ........................................................... XXII
CLB ............................................................. XXII
EFI .............................................................. XXII
CMP ............................................................ XXII
Entwurfsfehler ......................................... 16
Computer
Error ............................................................ 16
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ
eV ................................................................. XX
ͲͲǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
Fail-operational ....................................... 73
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ
Fail-Safe ...................................................... 73 ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵
263
Index ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻǡ͵
FPGA .........................................................XXIII
Fail-silent .................................................... 73
Global Completion Table ....................... 54
Failure ......................................................... 16
Global Positioning System .................. 230
Fault.............................................................. 16
GPS ............................................................XXIII
Fehler
Hardware-Thread ................................... 45
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲͶ
Hot carrier injection ............................... 20
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻ
Hyperpipelining ....................................... 43
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ʹ
ILP .............................................................XXIII
ǦǦͲǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵͵
Instruction Level Parallelism (ILP) ... 44
ǦǦͳǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵͵
IOB ............................................................XXIII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ʹ
IPC .............................................................XXIII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻ
Kritische Ladung ...................................... 31
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ͳ
Linearer Energietransferwert ............. 23
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲͶ
Lockstepping ............................................. 77
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͺ
LUT ...........................................................XXIII
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵͵
Master-Checker ........................................ 78
ÚǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻ
MIPS .........................................................XXIII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻ
Mistake ........................................................ 16
o
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ͳ
Mittlere Lebensdauer............................. 72
éǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͻ
MOSFET ...................................................XXIII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͺ
MT .............................................................XXIII
Fehlererkennung
MTBF ............................................................... 9
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵
MTTF .................................................XXIII, 72
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
MTTR ................................................XXIII, 72
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
Multithreading
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ͵ Fehlerinjektion
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺʹ ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺ͵
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͲ
ǦǤǤǤǤǤͺ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͲ
Ǧ
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͲ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺͷ
Fertigungsfehler....................................... 17
ǦǦ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
FIFO ........................................................... XXII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
FIT (Failure In Time) .................................9
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
264
Index
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
ͷǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷ͵
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷ͵
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶͺ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳʹ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺʹ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺͶ
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺ͵
Ͷ ȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶͺ
Ͷ Ϊȋ ȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺ ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺͶ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶͻ ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺ͵
mW ................................................................ XX
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲ
PCF ........................................................... XXIII
ͳȀʹǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
PCI ............................................................ XXIII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
Prozessor
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͳ
ʹͳ͵ͶǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
Redundanz
ʹͳͶͶǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͳ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͶ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͺͶ
ͶȀ ͷǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤ
ͶǦ ȋȌǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
RMT ..........................................................XXIII
ʹǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͷ
SED............................................................XXIII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶͺ
SEDF .........................................................XXIII
ǦͷʹͲͲǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
SEE ............................................................XXIII
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶͻ
SEFI ...........................................................XXIII
¡ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶͷ
SEGR .........................................................XXIII
ͳͲͲͲͲǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ
SET ............................................................XXIII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͲͺ
SEU ............................................................XXIII
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͷ
SIA ........................................................ XXIII, 3
ͺͲͲͲǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͳ͵
SIMD ......................................................... XXIV
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶ
Simulator
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͶͷ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳ͵ʹ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͳͲʹ
ͶǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤͷͲ
Index Single Instruction – Multiple Data
265 ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͶ
(SIMD) ................................................... 44
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͶ
SIS .............................................................XXIV
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͶ
Slack .......................................................... 174
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳ
SMT ...........................................................XXIV
Superskalarität ........................................ 44
SPARC .......................................................XXIV
Thread Level Parallelism (TLP).......... 44
SPEC ..........................................................XXIV
TLP............................................................ XXIV
SRT ............................................................XXIV
TMR .......................................................... XXIV
SSMT .........................................................XXIV
Trace Cache ............................................... 52
Strahlung
TRUSS ........................................................ 114
αǡβǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹʹ
UCF............................................................ XXIV
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹʹ
UEFI .......................................................... XXIV
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹʹ
UEFI-Standard........................................... 90
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳ
Unkritisches Ausfallverhalten ............ 72
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹʹ
Validierung ................................................ 59
ǦǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳ
VAX ........................................................... XXIV
Strahlungseffekt
Verifikation ............................................... 59
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͷ
VHDL ........................................................ XXIV
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͳ
Virtuelles Duplexsystem ....................... 79
ǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤǤʹͶ
VLSI........................................................... XXIV
ǤǤǤǤǤʹͶ
VOQ........................................................... XXIV