PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Reviews für Bücher über Hardware


BlackBirdSR
2006-04-21, 21:45:08
Hi.
Es passt vielleicht nicht ganz hier rein, da Bücher zumindest momentan noch ohne Strom laufen. Allerdings finde ich, das Thema selbst passt hier am besten rein.

Es geht also um Bücher die sich mit Hardware beschäftigen. Viele würden vielleicht gerne dies und das lesen, finden aber keine guten Angaben ob das Buch überhaupt ihren Vorstellungen entspricht.

Anfangen möchte ich mit 2 Büchern, die unterschiedlicher nicht sein könnten.
Im Laufe der nächsten Tage werden sich die Infos dazu mehren. Bisher gibt es mal einen kurzen Überblick, damit andere Foren-Member vielleicht auch so etwas versuchen.

Das erste Buch das ich momentan neben mir liegen habe:


Tom Shanley - The Unabridged Pentium 4 IA32 Processor Genealogy
Mindshare INC. Addison Wesley
ISBN 032124656X
@Amazon (http://www.amazon.de/exec/obidos/ASIN/032124656X/qid%3D1145657316/302-6563169-9577661)

Dieses 1650 Seiten Monster (weitere Kapitel auf beiliegender CD) könnte als Nachschlagewerk für Intel Prozessoren vom 386 bis zum Pentium-M gelten. Dementsprechend ist es auch aufgebaut.
Behandelt wird die generelle Architektur von x86, und dann jeweils die spezielle Mikroarchitectur der IA32 Prozessoren. Dabei kann man Alles erfahren, was man schon immer wissen wollte, und zugleich den Rest, den man sonst auch nie zu Gesicht bekommen hätte.

Das Buch ist nicht gerade billig, und meiner Meinung nur für jemanden geeignet der es zum Nachschlagen braucht, oder seine Vorkenntnisse ausbauen will. Wer allerdings die IA32 Dokumente von Intel gelesen hat, dem kommt vieles sehr vertraut vor.

Leseprobe:
Hyperthreading Instruction Decode:
Refer to Figure 39-9 on Page 982. The instruction Decoder is a shared resource. The instructions requested by the two logical processors are deposited in the Instruction Streaming Buffers and are then forewarded to the instruction Decoder to be decoded into µops. Rather than alternating between the two Instruction Stream Buffers in each clock cycle, the designers made the decision to decode several instructions from one logical processor´s buffer. This decision was based on die size considerations and complexity.

L1 Data Cache:
The Pentium4 processor familiy´s L1 Data Cache has the following major characteristics.

It is a dedicated data Cache. Unlike a unified cache which caches both code and data, the Data Cache treats all information as data. If an instruction from the Code Segment is loaded into a register using a load µop, the processor treats it as a data access and performs a lookup in the Data Cache.

It is an 8KB, 4-way set associative, write through cache.
The L1 data cache is virtually-addressed and physically tagged
The cache line size is 64 bytes
It is a non-blocking cache (can handle up to four load misses before it stops servicing additional load µops)
It has a 128-bit (16 byte) path to the FPU to handle FP load operations
It has a 256-bit( 32 byte) path to the L2 ATC


Genauere Infos folgen in ein paar Tagen...

Das 2. Buch könnte unterschiedlicher nicht sein.

Bob Colwell - The Pentium Chronicles The People, Passion, and Politics Behind Intel's Landmark Chips
Wiley-IEEE Computer Society Press
ISBN 0471736171
@Amazon (http://www.amazon.de/exec/obidos/ASIN/0471736171/qid%3D1145657468/302-6563169-9577661)

Dieses ca 210 Seiten Buch stammt quasi vom Erfinder der P6-Mikroarchitektur selbst, und beschäftigt sich nicht mit technischen Details.
Vielmehr geht es um die verschiedenen Phasen der Entwicklung, des Werdegangs des gesamten Teams, wie wichtig funktionierendes Team Management ist und welche politischen und strategischen Entscheidungen in die Entwicklung mit eingeflossen sind.
Das Buch liest sich sehr flüssig und alles andere als trocken.
Man bekommt sehr interessante Einblicke in die Firma Intel und die Entwicklung der wohl erfolgreichsten Mikroarchitektur der heutigen Zeit.

Leseprobe:
In June 1990, I joined Intel Corporation's new Oregon microprocessor design division as a senior computer architect on a new project, the P6. This division would eventually grow to thousands of people but at the moment it had a population of exactly one - me. I spent my first day buried in forms, picking primary health-care providers mostly on basis of how much I liked their names. The second day, my boss stuck his head in my office and said, "Your job is to beat the P5 chip by a factor of two on the same process technology. Any questions?" I replied, "Three. What's a P5? Can you tell me more about Intel's process technology plans? And where's the bathroom?"

When I joined Intel in 1990 to start a new design team in Oregon, I was prepared to contend with some understandable hostility from the exisiting x86 Team in Santa Clara. After all, that team built Intel; they did the 286, the 386, and were finishing the 486. They were the chip design authorities in the company and if they had wanted to pick on the new kid on the block, they would have been within their rights.
But they didn't. Every time I called or visited the P5/Pentium team, they were the very model of professionalism: helpful, engaged, interested, and forthcoming.
Unfortunately, things always change, and if they are already good, there are few ways for them to get better and many ways for them to get worse. Intel found one of the many ways when it commissioned the Santa Clara team to conceive and implement a new 64-bit instruction set architecture (IA64), eventually known as the Itanium Processor Family (IPF), and then gave them (what I believe were) confused and conflicting project goals.


Mehr folgt ebenfalls in einigen Tagen...

GloomY
2006-04-22, 01:34:12
Autoren: John L. Hennessy, David A. Patterson
Titel: Computer Architecture - A Quantitative Approach, dritte Ausgabe (2003), englisch
ISBN: 1558607242
Link: Amazon (http://www.amazon.de/exec/obidos/ASIN/1558607242/qid=1145653283/sr=8-1/ref=pd_ka_1/302-0483447-2293605), Buch.de (http://www.buch.de/shop/bde_homestartseite/schnellsuche/any/;jsessionid=fdc-l7ly99xnvu3.fdc11?fq=1558607242&fc=ANY&submit.x=0&submit.y=0&submit=schnellsuche) und Bücher.de (http://www.buecher.de/verteiler.asp?Publica_ID=KNO_14313320621793155272&zz=6484&artikelnummer=000001453510&site=artikel.asp)

Die "Bibel der Computer-Architektur" fällt mit seinen 1128 Seiten (883 plus Anhang plus einige Kapitel online, die sonst das Buch gesprengt hätten) und nahezu 2 Kilogramm Gewicht definitiv auch in die Kategorie "Monster". Von den äußeren Erscheinungsformen mal abgesehen, ist es aber vor allem der Inhalt, der mich angesprochen hat.

Hennessy & Patterson schaffen es, dem Leser von Anfang an klarzumachen worum es geht, was wichtig ist und wo die Probleme und deren Ursachen liegen. Dabei ist der im Titel des Buchs erwähnte "quantitative Ansatz" eines ihrer Schlüsselprinzipien: Überall wird versucht, Daten, Messungen und Simulationsergebnisse als Grundlage ihrer Motivation für (Design-) Entscheidungen zu liefern. Das Buch wimmelt nur so von Diagrammen und Tabellen, bei denen man bei genauem Studieren und Interpretieren von Daten sehr viel Verständnis und Rückschlüsse über die Architektur und deren Vor- und Nachteile erlangen kann.
Darüber hinaus wird einem als Leser ganz nebenbei beigebracht, sich auf Daten und Fakten zu konzentrieren und auf Grund dessen Entscheidungen zu treffen. (*)

Das erste Kapitel ist eine Hinführung auf das Thema, bei dem insbesondere auf die Bedeutung von Technologie-Trends, Kosten, Leistungsmessung (Benchmarking), Stromverbrauch und die unterschiedlichen Anforderungen des Marktes (Embedded, Desktop, Server etc.) hingewiesen wird.
Ab Kapitel zwei geht es dann wirklich mit Prozessorarchitektur los: Befehlssätze und deren Klassifizierung, Addressierungsmodi, Steuerfluss- und SIMD-Befehle etc.
Kapitel drei und vier beschäftigen sich ausführlich mit der Ausnutzung von Instruction-Level-Parallism durch Pipelining, Superskalartechnik, spekulativer Ausführung, VLIW-Prozessoren, Datenabhängigkeiten und Sprungvorhersage.
In Kapitel fünf geht es ausschließlich um die Speicherhierarchie, also Caches und deren Organisation und Performance, aber auch Addressübersetzung durch virtuelle Speicherverwaltung (Segmentierung und/oder Paging).
Kapitel sechs widmet sich den Multiprozessor- und Multithreading-Ansätzen wie SMP, shared-memory Architekturen, Multithreading innerhalb von Prozessoren, Synchronisation und Cache-Cohärenz.

In den letzten beiden Kapiteln geht es nicht mehr um Prozessorarchitektur, schliesslich ist diese ja nur ein Teil von dem, was man als Computer-Architektur bezeichnet. In Kapitel sieben dreht sich alles um Datenspeicherung und I/O: Busse, RAS-Features, RAID (**), I/O-Performance und sogar etwas zur mathematischen Queuing-Theorie.
In Kapitel acht geht es um Verbindungsnetzwerke und Cluster: Netzwerk-Typen, -Topologie, -Protokolle und Performance-Messung sowie Skalierung und Entwurf von Clustern.

Als Mitbegründer und -Entwickler der RISC-Architektur ist es nicht verwunderlich dass Hennessy (MIPS) und Patterson (SPARC) ausführlich auf RISC verweisen und dessen Ideen ausführen. Der mehrere hundert Seiten lange Anhang beschäftigt sich ausführlichst mit Pipelinig in einem MIPS-Prozessor.

Was mir auch sehr gut gefallen hat, ist dass es am Ende von jedem Kapitel mindestens ein Fallbeispiel gibt, anhand dessen die gerade besprochene Thematik verdeutlicht wird. MIPS64 als Beispiel für einen einfachen Befehlssatz; die Vorstellung der P6-Mikroarchitektur als Beispiel für Pipelining und die dynamische Ausnutzung von ILP; Den Itanium bei softwareseitiger Ausnutzung von ILP; die komplette Cache- und TLB-Architektur der Alpha 21264 in Kapitel fünf sowie eine Betrachtung der Speicherhierarchie von Playstation2 und Suns Fire 6800 (UltrasparcIII); Eine Digitalkamera bei der Datenspeicherung; Der Google-Cluster und ein Mobiltelefon im Kapitel über Cluster und Interconnects...

Darüber hinaus sind am Ende von jedem Kapitel eine Reihe von Aufgaben gestellt. Die Lösungen der wichtigsten davon sind im Anhang beschrieben, so dass sich das Buch auch gut zum Lernen eignet.

Fazit: Ein rundum gelungenes Buch :) In vielen Universitätsvorlesungen über Rechnerarchitektur wird es als Referenzbuch genannt, meist sogar mit dem Hinweis, dass es mehr behandelt als die Vorlesung abdeckt ;) Sicherlich ist es durch seine Detailtiefe keine leichte Kost und damit für absolute Anfänger nicht geeignet. Für jeden, der aber wenigstens die grundlegenden Begriffe wie Pipelining und Caches versteht, kann aus dem Buch Nutzen ziehen.

(*) Das ist eine Einstellung, von der sich u.a. auch Robert Colwell (siehe ein Post weiter oben: "The Pentium Chronicles") beim Entwurf des P6 hat leiten lassen. Auch wenn Intuition und Erfahrung meist die richtige Entscheidung vorschlagen, gibt es immer wieder Fälle, in denen diese falsch liegt. Das Nachprüfen mit harten Fakten durch Messung/Simulation etc. verhindert Fehlentscheidungen und kann imho darüber hinaus sehr lehrreich sein. Daher ist Hennessy & Pattersons Ansatz imho zu begrüßen :)

(**) War ja klar, dass RAID in diesem Kapitel drankommen muss, wenn man bedenkt, dass David Patterson einer der Autoren ist ;)


edit: Zwei Seiten als Auszug:
http://img169.imageshack.us/img169/7864/pict00208th.th.jpg (http://img169.imageshack.us/my.php?image=pict00208th.jpg) http://img199.imageshack.us/img199/3396/pict00276dj.th.jpg (http://img199.imageshack.us/my.php?image=pict00276dj.jpg)