Informatik Computer-Hardware Seite 1
Aufbau von Computersystemen Zentraleinheit und Peripherie Zentraleinheit Zur Zentraleinheit zählen der Prozessor, der Arbeitsspeicher (RAM), die verschiedenen Bus- und Anschluss-Systeme sowie das Ein-/Ausgabesystem. Peripherie Zur Peripherie gehören die Komponenten, die an die Zentraleinheit angeschlossen werden, nämlich: Ausgabegeräte wie Bildschirme, Beamer, Drucker, Plotter Eingabegeräte wie Tastatur, Maus, Scanner, Mikrofon Ein- und Ausgabegeräte wie Festplatten-Laufwerke, CD-ROM- bzw. DVD-Laufwerke, Modems, Netzwerkkarten Seite 2
Aufbau von Computersystemen Das EVA-Prinzip und der von-neumann-rechner Eingabe Zuerst gelangen über eine Eingabeeinheit wie z.b. eine Tastatur, eine Maus, einen Memorystick usw. Daten in den Computer. Verarbeitung Die Verarbeitung dieser Daten findet dann in der Zentraleinheit statt. Ausgabe Schließlich erfolgt die Ausgabe über ein Ausgabegerät wie Bildschirm, Drucker, Festplatte usw. erfolgt. Seite 3
Aufbau von Computersystemen CPU Steuerwerk Rechenwerk Komponenten eines von-neumann-rechners Bussystem Prozessor (CPU) Speicher E/A-System Der Prozessor besteht aus Steuerwerk Das Steuerwerk liest die Befehle und deren Operanden nacheinander ein und interpretiert diese anhand seiner Befehlstabelle. Rechenwerk Das Rechenwerk führt die entsprechenden arithmetischen und logischen Operationen durch. Arbeitsspeicher Der Arbeitsspeicher enthält die Befehle von ablaufenden Programmen und die zugehörigen Daten. Bussystem Das Bussystem ist für den Transport von Daten zwischen den Einheiten wie dem Prozessor, dem Arbeitsspeicher und den Ein-/Ausgabeeinheiten zuständig. Ein- / Ausgabeeinheiten Die Ein-/Ausgabeeinheiten nehmen neue Programme und Daten entgegen und geben fertig verarbeitete Daten aus. Seite 4
Aufbau von Computersystemen Aufbau heutiger Rechner Der heutige Aufbau von Rechnern folgt weitgehend dieser klassischen von-neumann-architektur. Bei heutigen PCs befinden sich diese Grundeinheiten physikalisch auf der so genannten Hauptplatine (Mainboard) und sind dort elektrisch verschaltet. Die Funktionsweise des von-neumann-rechners beruht auf folgendem sehr einfachen Prinzip: Auf den Inhalt der in einem Programmbefehl angegebenen Speicherzelle wird die im Befehl angegebene Operation angewendet Speicher CPU 3 Befehl 1 Daten Daten 2 Befehl Befehl Befehl Daten Dasten Daten 4...... Seite 5 1. Befehl laden 2. Daten laden 3. Befehl ausführen 4. Daten speichern
Aufbau von Computersystemen Mainboard (auch Motherboard) (Mikro-) Prozessor (CPU = Central Processing Unit) führt die Programme aus (Anwender und Systemprogramme) RAM-Arbeitsspeicher (RAM = Random Access Memory) (Haupt-) Speicher enthält die Programme, die gerade ausgeführt werden sowie die dabei benötigten Daten. ROM-Speicher (ROM = Read-only-Memory) enthält meist ein Programm (BIOS bei IBM-PCs), das beim Einschalten die wichtigsten Hardwarekomponenten überprüft und dann das Booten des Betriebssystems von einem Speichermedium wie einer Festplatte oder einer CD veranlasst. Busse und Schnittstellen Kommunikation zwischen den Bestandteilen des Mainboards und Anschluss von Peripheriegeräten Chipsatz fest auf dem Mainboard untergebrachte Schaltkreise für die Steuerung für der Anschlüsse des Mainboards Seite 6
Zentraleinheit: Prozessor / Bus Steuerwerk ALU Register Prozessor Bus Ein Prozessor besteht aus: ALU (Arithmetic Logical Unit) RAM E/A-System Rechenwerk für mathematische / logische Operationen (Arbeits-) Register Speicherplätze für Daten innerhalb des Prozessors. Die ALU rechnet mit den Werten, die sich in den (Arbeits-) Registern befinden. Steuerwerk Kontrolle der Ausführung, nutzt dabei spezielle Register Befehlszählerregister Befehlsregister Bus / Datenleitung Busse verbinden die CPU mit anderen Komponenten auf dem Mainboard Datenbus: Austausch von Daten mit dem Arbeitsspeicher Adressbus: Übertragen der Speicheradressen. Steuerbus: Ansteuerung der Peripherie-Anschlüsse Seite 7
Zentraleinheit: Prozessor Register Prozessor-interne Speicherplätze für binäres Datum bestimmter Länge (z. B. 32-Bit) Arbeitsregister werden vom Speicher geladen mit arithm. / logischen Operationen manipuliert in den Speicher geschrieben Steuerregister Befehlszähler: Adresse des nächsten Befehls Befehlsregister: Befehl der gerade ausgeführt wird Registergröße (z.b. 32, 64 Bit) beeinflusst Leistungsfähigkeit des Prozessors Pro Befehl manipulierbare Datenmenge Größe des adressierbaren Speichers Seite 8 Programme bestehen im wesentlichen aus Aktionen auf/mit Registern.
Zentraleinheit: Prozessor Funktionsweise Prozessor 1. Das Befehlszählerregister des Steuerwerks enthält die Adresse des nächsten Maschinenbefehls. Die Adresse des Befehls wird über den Adressbus an den Arbeitsspeicher übermittelt. 2. Der Befehl wird aus dem Arbeitsspeicher über den Datenbus in das Befehlsregister geladen. Mittels Dekodierlogik wird der Befehl analysiert und die Ausführung angestoßen. 3. Der Befehl wird ausgeführt; abhängig vom jeweiligen Befehl wird dabei zusätzlich das Lesen von Daten aus dem Arbeitsspeicher, die Ansteuerung von Peripherieschnittstellen, das Rechnen in der ALU oder die Durchführung eines Sprungs im Programm erforderlich. Der Status der jeweiligen Operation wird im Statusregister (Flagregister) angezeigt. 4. Falls ein Sprung stattfand, wird das Befehlszählerregister auf die entsprechende neue Adresse gesetzt, ansonsten wird das Befehlszählerregister um 1 erhöht. 5. Der Prozessor fährt wieder mit dem 1. Schritt fort. Seite 9
Zentraleinheit: Prozessor Maschinencode / Assemblercode Maschinenbefehle: Bit-Folgen mit festgelegter Bedeutung (für Menschen unles- / unschreibbar) Spezifisch für jeden Prozessortyp Beschreiben (meist) Aktionen auf Registern Assembler (symbolischer Maschinencode) für Menschen les- / schreibbare Darstellung der Maschinen-Befehle Beispiel (Intel 80x86) 100000111100001000001111 Maschinenbefehl : addiere 0F zu Register EDX 83C20F Maschinenbefehl in Hex add edx,0fh entsprechender Assemblerbefehl Seite 10
Zentraleinheit: Prozessor Leistungsmerkmale eines Prozessors Wortbreite Datenregister Größe / Genauigkeit von Werten Datenbus wie viele Bits können gleichzeitig gelesen / geschrieben werden Adressregister / Adressbus maximale Größe von Speicheradressen, addressierbarer Speicherbereich Steuerbus Art der möglichen Peripherieanschlüsse Taktfrequenz Frequenz des Taktsignals das die CPU steuert IPC-Rate (Instructions per Cycle): Befehle pro Takt: <=1, durch Parallelverarbeitung: > 1 Leistungsaufnahme zunehmend wichtig (green IT) Seite 11
Zentraleinheit: Prozessor Leistungsmerkmale eines Prozessors Leistungsbewertung MIPS Million Instructions per Second Anzahl der Befehle, die ein Prozessor in einer Sekunde ausführen kann. Dieser Wert wird durch so genannte Benchmark-Tests gemessen. Benchmarks sind Programmpakete, die Befehlsfolgen enthalten, die reale Anwendungen widerspiegeln. FLOPS Floating Point Operations Per Second Anzahl der Gleitpunktoperationen, die ein Prozessor in einer Sekunde ausführen kann. Dieser Wert lässt sich ebenfalls Benchmark-Tests ermitteln. Seite 12
Zentraleinheit: Prozessor Einsatzbereiche von Prozessoren PC / kleine Server: X86-Architektur Z10 Prozessor Intel / AMD 32 / 64 Bit (IBM) Großrechner (Mainframe): Spezial-Architektur IBM / Sun Z80 Prozessor >= 64 Bit (Zilog) enthalten viele (vielkernige) Prozessoren und Spezialprozessoren in Form von vielen Prozessor-Einheiten : CPUs+Speicher besonders hohe Zuverlässigkeit eingebettete Systeme: X86-Architektur / Spezial-Architektur unüberschaubare Vielfalt an Spezial- und Standardprozessoren 4 128 Bit Einsatz weniger als 5% direkt in PCs, Workstations und Servern über 95% werden in Geräten, d.h. in so genannten Embedded Systemen eingesetzt. Hiervon sind etwa 90% der Prozessoren so genannte Mikrocontroller, die neben dem Prozessor zusätzliche weitere HW on Chip enthalten, wie z.b. Speicher (ROM, RAM), Timer, I/O-Ports, ADCs usw.. Seite 13
Zentraleinheit: Prozessor CPU Cache Zwischenspeicher Cache enthält RAM zwischen CPU und (Haupt-) Speicher (RAM) zuletzt verwendete Daten und Befehle Level-1-Cache direkt im Prozessorkern untergebracht wird mit derselben Taktrate betrieben wie der Prozessor selbst. Klein Level-2-Cache Entweder auf dem Mainboard untergebracht oder im Prozessor, aber nicht im Prozessorkern. Der Level-2-Cache ist schneller als der normale Arbeitsspeicher, jedoch langsamer als der Level-1-Cache, dafür größer Seite 14
Zentraleinheit: Prozessor Speicherhierarchie CPU: Zugriff nur auf Haupt-Speicher Hauptspeicher alle Daten und Befehle eines Programms in Ausführung Swapping / Paging Reicht der Haupt-Speicher nicht aus, dann muss ein Teil der Daten temporär auf die Festplatte ausgelagert werden. System wird sehr stark verlangsamt CPU Cache Nutzung beschleunigt Programmausführung RAM Programm in Ausführung cachen swappen Festplatte lesen/schreiben Nutzung verlangsamt Programmausführung Speicherhierarchie - Register - Level-1 Cche - Level-2 Cache - RAM (Speicher) - Platte - andere Datenträger CD Seite 15
Zentraleinheit: Arbeits- (Haupt-) Speicher Arbeitsspeicher Enthält alle Daten und Befehle eines Programms in Ausführung Direkter Zugriff auf Byte-Adressen CPU greift direkt auf einzelne Speicherstellen zu Byte-, Wort-/ Doppelwort lesen / schreiben (Von Platte kann nur in großen Blöcken gelesen werden) RAM Der Arbeitsspeicher besteht im Wesentlichen aus Speicherbausteinen, die man als RAM (Random Access Memory = Speicher mit wahlfreiem Zugriff ) bezeichnet. Bei allen RAM-Bausteinen gilt, dass ihr Inhalt flüchtig ist, d.h. dass sie nur so lange den gespeicherten Wert behalten, wie sie mit Strom versorgt werden. Nach Abschalten des Rechners sind Daten im Arbeitsspeicher verloren. Zwei Arten von RAM: DRAM (Dynamic RAM) langsam, kostengünstig SRAM (Static RAM) schnell, teurer (meist für Register und Cache-Speicher) Seite 16
Zentraleinheit: ROM ROM : Read only Memory Nicht-flüchtiger Speicher Ablage konstanter Daten Inhalt geht nicht verloren, wenn Strom abgeschaltet wird. Direkt Zugreifbar Wie RAM-Bausteine von der CPU direkt Byte-addressbar lesbar Code im ROM: Sofort ausführbar CPU kann nur Daten und Befehle von RAM/ROM lesen: ROM enthält Betriebssystem (Handy, etc., PCs der frühen 1980er) ROM enthält Code der Betriebssystem von Platte in RAM läd BIOS: ROM + (RAM mit Batterie): HW testen, Betriebssystem laden Eingebettete Systeme Eingebettete müssen oft ganz ohne Festplatte auskommen: Alle Daten im ROM Seite 17
Zentraleinheit: Busse und Schnittstellen Busse und Schnittstellen CPU Bus-System Datentransport auf dem Mainboard Prozessorbus AGP-Bus Systembus: CPU <~> Speicher A North-Bridge <~> Ein-/Ausgabe-Einheiten G P Erweiterungsbus: Anschluss von Ergänzungs- / Erweiterungskarten PCI-Bus Schnittstelle South-Bridge SpeicherBus R A M LAN Anschlusspunkt für Karten / Geräte PCI-Anschluss (Peripheral Component Interface) ISA USB IDE Standard-Kartenanschluss für PCs AGP-Anschluss (Accelerated Graphics Port) spezieller Anschluss für Grafikkarten Bridge: IDE / EIDE (Enhanced Integrated Device Electronics) Verbindung von Bus-Systemen SCSI (Small Computer System Interface) S-ATA (Serial-Advanced Technology Attachment) Nachfolgetechnolgie zu IDE / EIDE USB / Firewire Hot-Plug Schnittstellen Bluetooth: Funkanschluss Seite 18
Peripherie Peripherie alle Geräte, die an den Rechner angeschlossen sind Eingabe: Maus, Tastatur, Scanner, Ausgabe: Drucker, Graphikkarte / Bildschirm, Ein- und Ausgabegeräte: Netzkarte, Massespeicher Gerät, das zur Speicherung von Daten dient Magnetische Speicher Festplatten, floppy-disc Optische Speicher CD, DVD Halbleiter-Speicher USB-Stick SSD (solid state drive) Platte Festplatte in Halbleiterbausteinen Seite 19 Inneres einer Festplatte (aus Herold, et al. GdI)
Modell eines einfachen Prozessorsystems Registermaschine Modell eines Rechners entspricht dem Arbeitsprinzip eines Prozessors (von-neumann-rechner) Basis von Maschinen- / Assemblerprogrammen Komponenten Prozessor Speicher E/A-Einheiten Prozessor Akkumulator: Vor der Ausführung einer zweistelligen Operation befindet sich der eine Operand im Datenspeicher und der andere im Akkumulator. Danach befindet sich das Ergebnis im Akkumulator. Befehlsregister: Enthält immer den momentan auszuführenden Befehl. Befehlszähler: Enthält den momentan auszuführenden Befehl. Befehl Befehlsadresse, auszuführenden Operation der Operandenadresse Seite 20
Modell eines einfachen Prozessorsystems Registermaschine Arbeitsweise Die Registermaschine durchläuft für jeden Befehl den Befehlszyklus: 1. Befehl holen 2. Operand holen 3. Befehl dekodieren 4. Operation ausführen 5. Befehlszähler ändern Beispiel Assemblerprogramm (aus Herold, et al. GdI) Seite 21