Searching...
Deutsch
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Structured Computer Organization

Structured Computer Organization

von Andrew S. Tanenbaum 1976 813 Seiten
4.03
500+ Bewertungen
Hören
Listen to Summary
Try Full Access for 7 Days
Unlock listening & more!
Continue

Wichtige Erkenntnisse

1. Computer sind hierarchisch strukturiert, wobei jede Ebene eine spezifische Funktion erfüllt.

Die ersten drei Ausgaben dieses Buches basierten auf der Idee, dass ein Computer als eine Hierarchie von Ebenen betrachtet werden kann, von denen jede eine klar definierte Funktion erfüllt.

Schichtweise Abstraktion. Ein Computersystem ist kein monolithisches Gebilde, sondern besteht aus einer Reihe von Schichten, die jeweils auf der darunterliegenden aufbauen. Dieser schichtweise Ansatz vereinfacht das Design und das Verständnis, sodass Ingenieure sich auf spezifische Ebenen konzentrieren können, ohne das gesamte System auf einmal erfassen zu müssen. Jede Ebene bietet eine virtuelle Maschine, die die Komplexität der unteren Ebenen abstrahiert.

Ebenen der Hierarchie. Das Buch hebt zentrale Ebenen hervor:

  • Digitales Logikniveau: Die Grundlage, die sich mit Toren und Schaltungen befasst.
  • Mikroarchitektur-Ebene: Implementiert die ISA unter Verwendung von Datenpfaden und Steuersignalen.
  • Instruction Set Architecture (ISA) Ebene: Definiert die Maschinensprache.
  • Betriebssystemebene: Verwaltet Ressourcen und bietet Dienste für Anwendungen.
  • Assemblersprachebene: Eine für Menschen lesbare Darstellung von Maschinencode.
  • Problemorientierte Sprachebene: Hochsprachen wie Java oder C++.

Vorteile des hierarchischen Modells. Diese Struktur ermöglicht Modularität, was es einfacher macht, Komponenten auf einer Ebene zu aktualisieren oder zu ersetzen, ohne andere zu beeinträchtigen. Sie ermöglicht auch eine Arbeitsteilung, bei der verschiedene Teams sich auf unterschiedliche Aspekte des Systems konzentrieren. Diese Abstraktion ist entscheidend für das Management der Komplexität moderner Computer.

2. Die Computerarchitektur hat sich durch verschiedene Generationen entwickelt, die jeweils durch technologische Fortschritte gekennzeichnet sind.

Die moderne Computerhistorie beginnt hier.

Mechanische Anfänge. Die frühesten Versuche der Berechnung umfassten mechanische Geräte, wie Babbages analytische Maschine (1834), die, obwohl nie vollständig realisiert, den Grundstein für digitale Computer legte. Diese Maschinen verwendeten Zahnräder und Hebel zur Durchführung von Berechnungen und stellten einen bedeutenden konzeptionellen Sprung dar.

Die Vakuumröhren-Ära. Die erste Generation elektronischer Computer (1945-1955) basierte auf Vakuumröhren. Der COLOSSUS (1943) und der ENIAC (1946) waren wegweisende Beispiele, aber sie waren groß, energiehungrig und anfällig für Ausfälle. Der EDSAC (1949) markierte einen entscheidenden Schritt, indem er das Konzept des gespeicherten Programms implementierte.

Transistoren und integrierte Schaltungen. Die zweite (1955-1965) und dritte (1965-1980) Generation sah die Einführung von Transistoren und integrierten Schaltungen. Diese Innovationen führten zu kleineren, zuverlässigeren und energieeffizienteren Computern. Der IBM 360 (1964) war ein Meilenstein, der das Konzept einer Produktlinie als Familie etablierte.

VLSI und darüber hinaus. Die vierte Generation (1980-heute) ist durch Very Large Scale Integration (VLSI) gekennzeichnet, die die Schaffung von Mikroprozessoren und Personal Computern ermöglicht. Moores Gesetz sagte das exponentielle Wachstum der Anzahl von Transistoren auf einem Chip voraus und trieb kontinuierliche Fortschritte in der Rechenleistung voran.

3. Der Computer "Zoo" umfasst ein breites Spektrum an Geräten, die jeweils auf spezifische Bedürfnisse und wirtschaftliche Rahmenbedingungen zugeschnitten sind.

Das aktuelle Spektrum der verfügbaren Computer. Die Preise sollten mit einer Prise (oder besser gesagt, einer Tonne) Salz betrachtet werden.

Vielfältige Landschaft. Der Computermarkt ist kein Monolith; er ist ein vielfältiges Ökosystem mit Geräten, die von Einwegcomputern in Grußkarten bis hin zu Multimillionen-Dollar-Supercomputern reichen. Jeder Typ bedient spezifische Bedürfnisse und balanciert Leistung, Kosten und Größe.

Beispiele für Computerarten:

  • Eingebettete Computer: Zu finden in Uhren, Autos und Haushaltsgeräten.
  • Spielcomputer: Heimvideospielkonsolen.
  • Personal Computer: Desktop- und tragbare Computer.
  • Server: Netzwerkserver für Unternehmen.
  • Großrechner: Werden für die Batch-Datenverarbeitung in großen Organisationen verwendet.
  • Supercomputer: Bewältigen komplexe wissenschaftliche und ingenieurtechnische Probleme.

Technologische und wirtschaftliche Kräfte. Die Evolution des Computer "Zoos" wird durch technologische Fortschritte und wirtschaftliche Überlegungen vorangetrieben. Moores Gesetz, das den exponentiellen Anstieg der Transistordichte vorhersagt, hat die Schaffung zunehmend leistungsfähiger und erschwinglicher Geräte ermöglicht. Marktnachfragen und Wettbewerbsdruck gestalten weiter die Landschaft.

4. Prozessoren führen Anweisungen durch Pipelines aus, um die Leistung durch Parallelität zu steigern.

Der Datenpfad einer typischen von-Neumann-Maschine.

Anweisungsausführungszyklus. Prozessoren führen Anweisungen in einem Zyklus aus, der das Abrufen, Dekodieren, Abrufen von Operanden, Ausführen und Zurückschreiben umfasst. Moderne Prozessoren verwenden Techniken wie Pipelining und Parallelität, um die Leistung zu verbessern.

Pipelining. Pipelining unterteilt den Anweisungsausführungszyklus in Phasen, sodass mehrere Anweisungen gleichzeitig verarbeitet werden können. Dies erhöht den Durchsatz, aber die Pipeline kann durch Abhängigkeiten oder Verzweigungen gestoppt werden.

Parallelität. Moderne Prozessoren erreichen Parallelität durch:

  • Instruction-Level Parallelism (ILP): Ausführung mehrerer Anweisungen gleichzeitig.
  • Processor-Level Parallelism: Verwendung mehrerer Prozessoren, um an verschiedenen Teilen einer Aufgabe zu arbeiten.

RISC vs. CISC. Reduced Instruction Set Computing (RISC)-Architekturen bevorzugen einfache Anweisungen, die schnell ausgeführt werden können, während Complex Instruction Set Computing (CISC)-Architekturen komplexere Anweisungen verwenden, die mehr Arbeit pro Anweisung leisten können. Moderne Prozessoren kombinieren oft Aspekte beider.

5. Der Speicher ist hierarchisch organisiert und balanciert Geschwindigkeit, Kosten und Kapazität.

Eine fünfstufige Speicherhierarchie.

Die Speicherhierarchie. Der Computerspeicher ist als Hierarchie strukturiert, wobei jede Ebene ein unterschiedliches Gleichgewicht zwischen Geschwindigkeit, Kosten und Kapazität bietet. Diese Hierarchie umfasst typischerweise:

  • Register: Schnellste, teuerste und kleinste.
  • Cache-Speicher: Schnell, relativ teuer und klein.
  • Hauptspeicher (RAM): Mäßig schnell, mäßig teuer und mittelgroß.
  • Sekundärspeicher (Festplatte): Langsam, kostengünstig und groß.
  • Tertiärspeicher (Band, optische Disk): Sehr langsam, sehr kostengünstig und sehr groß.

Cache-Speicher. Cache-Speicher ist ein kleiner, schneller Speicher, der häufig verwendete Daten speichert und so die Notwendigkeit verringert, auf den langsameren Hauptspeicher zuzugreifen. Die Leistung des Caches hängt von Faktoren wie Größe, Assoziativität und Ersetzungsrichtlinie ab.

Speicherverpackung und -typen. Speicher wird in verschiedenen Formen verpackt, wie SIMMs und DIMMs. Verschiedene RAM-Typen, einschließlich SRAM und DRAM, bieten unterschiedliche Leistungsmerkmale.

6. Eingabe-/Ausgabesysteme (I/O) erleichtern die Kommunikation zwischen dem Computer und der Außenwelt.

Physische Struktur eines Personal Computers.

Busse. I/O-Geräte verbinden sich über Busse mit dem Computer, die gemeinsame Kommunikationswege sind. Moderne Systeme verfügen oft über mehrere Busse, darunter Hochgeschwindigkeitsbusse wie PCI und USB sowie langsamere Busse wie ISA.

Controller. Jedes I/O-Gerät hat einen Controller, der die Kommunikation mit dem Bus und dem Gerät selbst verwaltet. Controller können Direct Memory Access (DMA) verwenden, um Daten direkt in den Speicher zu übertragen oder von diesem zu empfangen, ohne dass die CPU eingreifen muss.

Häufige I/O-Geräte:

  • Terminals: Tastaturen und Monitore für die Benutzerinteraktion.
  • Mäuse: Zeigegeräte für grafische Benutzeroberflächen.
  • Drucker: Ausgabegeräte zur Erstellung von Ausdrucke.
  • Modems: Geräte zur Übertragung von Daten über Telefonleitungen.

Zeichencodes. Zeichencodes wie ASCII und Unicode werden verwendet, um Textzeichen in einem standardisierten Format darzustellen.

7. Digitale Logikgatter und Boolesche Algebra bilden die Grundlage der Computerhardware.

Ein Transistor-Inverter.

Gatter. Digitale Schaltungen bestehen aus Logikgattern wie AND-, OR-, NOT-, NAND- und NOR-Gattern. Diese Gatter führen grundlegende Boolesche Operationen auf binären Eingaben aus.

Boolesche Algebra. Die Boolesche Algebra bietet einen mathematischen Rahmen zur Analyse und Gestaltung digitaler Schaltungen. Sie verwendet Operatoren wie AND, OR und NOT, um binäre Werte zu manipulieren.

Grundlegende digitale Logikschaltungen. Kombinatorische Schaltungen, wie Addierer und Multiplexer, werden aus miteinander verbundenen Logikgattern aufgebaut. Sequenzielle Schaltungen, wie Flip-Flops und Register, verwenden Rückkopplung, um den Zustand zu speichern.

CPU-Chips und Busse. CPU-Chips enthalten komplexe digitale Logikschaltungen, einschließlich ALUs, Steuereinheiten und Registern. Computerbusse bieten Kommunikationswege zwischen der CPU, dem Speicher und den I/O-Geräten.

8. Die Mikroarchitektur implementiert die Instruction Set Architecture (ISA) unter Verwendung von Datenpfaden und Steuersignalen.

Der Datenpfad der Beispiel-Mikroarchitektur, die in diesem Kapitel verwendet wird.

Datenpfade. Die Mikroarchitekturebene implementiert die ISA unter Verwendung von Datenpfaden, die die physischen Wege sind, durch die Daten fließen. Ein typischer Datenpfad umfasst Register, eine ALU und einen Schieber.

Mikroanweisungen. Mikroanweisungen steuern den Betrieb des Datenpfades. Jede Mikroanweisung gibt an, welche Register gelesen, welche ALU-Operation ausgeführt und in welches Register das Ergebnis geschrieben werden soll.

Mikroanweisungssteuerung. Die Mikroanweisungssteuerung kann durch Mikroprogrammierung implementiert werden, bei der ein in ROM gespeichertes Mikroprogramm die Ausführung der Mikroanweisungen steuert.

Entwurfsabwägungen. Das Design der Mikroarchitektur umfasst Abwägungen zwischen Geschwindigkeit und Kosten. Techniken wie Pipelining und Caching können die Leistung verbessern, erhöhen jedoch auch die Komplexität und die Kosten.

9. Die Instruction Set Architecture (ISA) definiert die Maschinensprache und ihre Eigenschaften.

Eigenschaften der ISA-Ebene.

ISA-Eigenschaften. Die ISA-Ebene definiert die Maschinensprache, einschließlich des Befehlssatzes, des Speichermodells, der Register und der Datentypen. Sie bietet eine Abstraktion der zugrunde liegenden Hardware, die es Programmierern ermöglicht, Code zu schreiben, ohne die Details der Mikroarchitektur zu kennen.

Speichermodelle. Die ISA definiert das Speichermodell, einschließlich der Art und Weise, wie der Speicher adressiert und organisiert wird. Häufige Speichermodelle sind lineare Adressierung und segmentierte Adressierung.

Register. Die ISA legt die Anzahl und Typen der Register fest, die den Programmierern zur Verfügung stehen. Register werden verwendet, um Daten und Adressen während der Programmausführung zu speichern.

Befehlsformate. Die ISA definiert das Format der Maschinenanweisungen, einschließlich des Opcodes und der Operanden. Befehlsformate können feste oder variable Längen haben.

10. Betriebssysteme verwalten virtuellen Speicher, I/O und parallele Verarbeitung.

Positionierung der Betriebssystem-Maschinenebene.

Virtueller Speicher. Betriebssysteme implementieren virtuellen Speicher, der es Prozessen ermöglicht, auf mehr Speicher zuzugreifen, als physisch verfügbar ist. Virtueller Speicher verwendet Techniken wie Paging und Segmentierung, um virtuelle Adressen auf physische Adressen abzubilden.

Virtuelle I/O-Anweisungen. Betriebssysteme bieten virtuelle I/O-Anweisungen, die es Prozessen ermöglichen, auf I/O-Geräte auf eine geräteunabhängige Weise zuzugreifen. Dies umfasst die Verwaltung von Dateien, Verzeichnissen und Gerätetreibern.

Virtuelle Anweisungen für parallele Verarbeitung. Betriebssysteme bieten Mechanismen zur Erstellung und Synchronisierung von Prozessen, die parallele Verarbeitung ermöglichen. Dazu gehören die Prozessgenerierung, die Vermeidung von Wettlaufbedingungen und die Prozesssynchronisation mithilfe von Semaphoren.

Beispielbetriebssysteme. UNIX und Windows NT sind zwei weit verbreitete Betriebssysteme, die diese Dienste bereitstellen.

11. Assemblersprache bietet eine für Menschen lesbare Schnittstelle zu Maschinencode.

Eine Auswahl der Integer-Anweisungen des Pentium II.

Grundlagen der Assemblersprache. Die Assemblersprache ist eine niedrigstufige Programmiersprache, die eine symbolische Darstellung von Maschinencode bietet. Sie verwendet Mnemonics zur Darstellung von Anweisungen und Labels zur Darstellung von Speicheradressen.

Anweisungen der Assemblersprache. Anweisungen in der Assemblersprache bestehen typischerweise aus einem Label, einem Opcode und Operanden. Pseudoinstruktionen werden verwendet, um den Assemblierungsprozess zu steuern.

Makros. Makros sind eine Möglichkeit, wiederverwendbare Code-Sequenzen in der Assemblersprache zu definieren. Sie können verwendet werden, um das Programmieren zu vereinfachen und die Lesbarkeit des Codes zu verbessern.

Der Assemblierungsprozess. Der Assemblierungsprozess umfasst zwei Durchgänge: Durchgang eins, der die Symboltabelle erstellt, und Durchgang zwei, der den Maschinencode generiert.

12. Parallele Computerarchitekturen adressieren die Leistung durch verschiedene Kommunikationsmodelle und Verbindungsnetzwerke.

Flynns Taxonomie paralleler Computer.

Entwurfsfragen. Das Design paralleler Computer umfasst Überlegungen zu Kommunikationsmodellen, Verbindungsnetzwerken, Leistung und Software. Kommunikationsmodelle können gemeinsamen Speicher oder Nachrichtenübertragung sein.

Verbindungsnetzwerke. Verbindungsnetzwerke verbinden die Verarbeitungselemente in einem parallelen Computer. Häufige Topologien sind Sterne, Ringe, Gitter und Hyperwürfel.

SIMD-Computer. Single Instruction, Multiple Data (SIMD)-Computer, wie Array-Prozessoren und Vektorprozessoren, führen dieselbe Anweisung gleichzeitig auf mehreren Datenelementen aus.

Shared-Memory-Multiprozessoren. Shared-Memory-Multiprozessoren haben mehrere CPUs, die einen gemeinsamen Speicher teilen. Speichersemantiken, Cache-Kohärenz und busbasierte Architekturen sind wichtige Überlegungen.

Nachrichtenübertragende Multicomputer. Nachrichtenübertragende Multicomputer haben mehrere CPUs, von denen jede über ihren eigenen privaten Speicher verfügt. Die Kommunikation zwischen den CPUs erfolgt durch das Übertragen von Nachrichten über ein Verbindungsnetzwerk.

Zuletzt aktualisiert:

Rezensionen

4.03 von 5
Durchschnitt von 500+ Bewertungen von Goodreads und Amazon.

Strukturierte Computerorganisation erhält überwiegend positive Bewertungen mit einer durchschnittlichen Bewertung von 4,03/5. Die Leser schätzen den Humor, die klaren Erklärungen und die umfassende Abdeckung der Computerarchitektur. Viele empfinden es als hervorragende Einführung für Anfänger und loben die Organisation und Lesbarkeit des Buches. Einige kritisieren es als veraltet oder gelegentlich verwirrend bei tiefergehenden Themen. Das Buch ist bekannt für seinen Ansatz, das Verständnis von Transistoren bis hin zu Software aufzubauen. Während einige das Material als trocken empfinden, schätzen andere Tanenbaums Fähigkeit, es ansprechend zu gestalten.

Über den Autor

Andrew S. Tanenbaum ist ein renommierter Informatiker und Autor, der für seine Beiträge zur Informatikbildung und zu Betriebssystemen bekannt ist. Er hat mehrere einflussreiche Lehrbücher verfasst, darunter "Structured Computer Organization", das in vielen Bachelor-Studiengängen der Informatik weit verbreitet ist. Tanenbaums Schreibstil wird für seine Klarheit, seinen Humor und seine Fähigkeit, komplexe Konzepte verständlich zu erklären, geschätzt. Er hat ein Talent dafür, technische Inhalte so zu präsentieren, dass sie die Leser fesseln und ein Verständnis von grundlegenden Prinzipien aufbauen. Tanenbaums Arbeiten haben einen bedeutenden Einfluss auf die Informatikbildung ausgeübt und unzähligen Studierenden und Fachleuten geholfen, die Feinheiten der Computerarchitektur und der Betriebssysteme zu begreifen.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Home
Library
Get App
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Recommendations: Personalized for you
Ratings: Rate books & see your ratings
100,000+ readers
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on May 8,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
100,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Scanner
Find a barcode to scan

Settings
General
Widget
Appearance
Loading...
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →