Michael Abrash

Michael Abrash ist ein technischer Redakteur, der sich auf die Optimierung und 80x86 Zusammenbau-Sprachprogrammierung spezialisiert, ein vor seinem 1990 zementierter Ruf bestellt Zen des Zusammenbau-Sprachbands 1 vor: Kenntnisse. Der ursprüngliche 8086 Verarbeiter, der Fokus des Buches, war mehrere Generationen hinter dem Stand der Technik, als das Buch veröffentlicht wurde. Zusammenhängende Probleme wurden in seinem späteren Buch Zen der Grafikprogrammierung bedeckt. Er beginnt oft eine technische Diskussion mit einer Anekdote, die Parallelen zwischen einer wahren Erfahrung zieht, die er, und der Gegenstand des Artikels gehabt hat. Seine Prosa ermuntert Leser dazu, außerhalb des Kastens zu denken und sich behebenden technischen Problemen auf eine innovative Weise zu nähern.

Spielprogrammierer

Vor dem Kommen ins technische Schreiben war Abrash ein Spielprogrammierer, sein erstes kommerzielles Spiel 1982, Raumschlag für IBM PC geschrieben. Das Spiel war ein PC booter. Andere Spiele, die er geschrieben hat, waren Kosmischer Kreuzfahrer (1982) und Große Oberseite (1983) für dasselbe System. Nach dem Arbeiten an Microsoft auf der Grafik und Zusammenbau-Code für Windows NT 3.1 ist er zur Spielindustrie Mitte der 1990er Jahre zurückgekehrt, um am Beben für die id Software zu arbeiten. Mittlerweile hat Abrash auch am populären Spielschicksal gearbeitet. Etwas von der Technologie hinter dem Beben wird im Ramblings von Abrash im auf der Zeitschrift von Dr Dobb veröffentlichten Schritthaltenden dokumentiert. Nachdem Beben veröffentlicht wurde, ist Abrash zu Microsoft zurückgekehrt, um an der Forschung der natürlichen Sprache zu arbeiten, die dann zur Mannschaft von Xbox bis 2001 bewegt ist.

2002 ist Abrash für RAD Spielwerkzeuge zur Arbeit gegangen, wo er co-wrote die Software von Pixomatic renderer, der mit der Funktionalität von DirectX 7-Niveaus-Grafikkarte wetteifert und als die Software renderer in solchen Spielen wie Unwirkliches Turnier 2004 verwendet wird. Am Ende 2005 wurde Pixomatic von Intel erworben. Als sie Pixomatic entwickelt haben, haben er und Mike Sartain eine neue Architektur genannt Larrabee entworfen, der jetzt ein Teil des GPGPU-Projektes von Intel ist.

Gabe Newell, Direktor der Klappe, hat gesagt, dass er "versucht hat, Michael Abrash für immer anzustellen. [...] Über einmal ein Viertel gehen wir für das Mittagessen, und ich sage dass 'sind Sie bereit, hier noch zu arbeiten?'" 2011 hat Abrash die Bewegung gemacht, um sich Klappe anzuschließen.

Technischer Redakteur

Michael Abrash hat in den 90er Jahren mehrere einflussreiche Bücher und andere Veröffentlichungen geschrieben, die ihm einen Ruf als guter technischer Redakteur unter der Softwaretechnikgemeinschaft gegeben haben. Bestellen Sie seinen 1994 Zen der Codeoptimierung vor: Das Äußerste Handbuch zum Schreiben der Software Der Stoß-PCs zur Grenze, Abrash präsentiert Grundsätze und auf heutige Programmierer anwendbare Theorie. Der Stichpunkt des Buches war, dass Leistung immer gemessen werden muss, und das Buch ein Maß-Werkzeug eingeschlossen hat, hat den Zen-Zeitmesser genannt, um zu überprüfen, ob theoretische Codeoptimierungen wirklich gearbeitet haben. Die Präsentation der schrittweisen Programm-Verbesserung hat empirisch demonstriert, wie Algorithmus-Umgestaltung Leistung bis zu einem Faktor 100 verbessern konnte. Das Zusammenbau-Sprachwiedercodieren kann nur andererseits Leistung durch einen Faktor 10 verbessern. Abrash hat auch gezeigt, wie schwer erfassbare Leistungsverbesserung sein kann. Einfach die Besserung der Leistung in einem Unterprogramm würde nur Engpässe in anderen Routinen und so weiter ausstellen. Schließlich hat er vom Verarbeiter abhängige Zusammenbau-basierte Leistungsverbesserungen demonstriert, indem er Zusammenbau-Sprachoptimierungen über X86 Familienmitglieder verglichen hat.

Eine andere Lehre, die Abrash angeboten hat, war, wie sauer verdiente Leistungsbelohnungen durch solche Mikrooptimierungen verschwinden konnten oder sogar das Programm langsamer konnten durchführen lassen. Abrash ist im Stande gewesen, Leistung durch das sorgfältige Zählen von Uhr-Zyklen jeder Instruktion und die Einrichtung von Instruktionen auf solche Art und Weise zu gewinnen, dass sie eine minimale Zahl von Uhr-Zyklen verwendet haben. Jedoch, die Zahl von Uhr-Zyklen pro Instruktion, die mit neuen Durchführungen der x86 Architektur und infolgedessen geändert ist, wurden seine Leistungszunahmen von einer Generation gegen das folgende verloren. Zum Beispiel, das bitorientierte "XOR EAX, EAX" (Beispiel in der Assemblersyntax von Intel) war Instruktion die schnellste Weise, ein Register auf die Null in den frühen Generationen des x86 zu setzen, aber der grösste Teil des Codes wird durch Bearbeiter erzeugt, und Bearbeiter haben selten XOR Instruktionen erzeugt, so haben sich die IA Entwerfer dafür entschieden sich zu bewegen, decodieren erzeugte Instruktionen des oft vorkommenden Bearbeiters bis zur Vorderseite des combinational Logik, den Druckfehler "MOV EAX machend, 0" Instruktion führen schneller durch als die XOR Instruktion. Und doch, sorgfältig optimierter Handassemblercode wird im Allgemeinen auf später x86 Verarbeiter eine gute Leistung bringen, sogar ohne für die neue Architektur wiederzustimmen. Der Grund besteht darin, dass sich die Optimierungspolicen nur allmählich zwischen den Architekturen ändern, so dass viele Optimierungsannahmen, die für die ursprüngliche Architektur noch gültig sind, die neuen Architekturen festhalten, zum Beispiel "ist Arithmetik der ganzen Zahl bedeutsam schneller, als Schwimmpunkt-Arithmetik" oder "Speicherzugänge für den maximalen Register-Gebrauch minimiert".

Das Jahr 1997 hat Abrash die Grafik veröffentlicht, Schwarze Liste Programmierend, die in erster Linie auf seinen Erfahrungen und Optimierungen mit dem Beben 1 grafisches Subsystem gestützt ist.

</Verweisungen>

Links


Dilwale Dulhania Le Jayenge / Private militärische Gesellschaft
Impressum & Datenschutz