Computersysteme. Michael Zwick. Technische Universität München

Größe: px
Ab Seite anzeigen:

Download "Computersysteme. Michael Zwick. Technische Universität München"

Transkript

1 Computersysteme Michael Zwick Technische Universität München

2 Inhalt Motivation: Wie funktioniert ein Computer?.... Komponenten eines Computers..... Peripherie-Geräte und Netzteil... 3 Netzteil... 3 Grafikkarte... 6 DVD-ROM DVD-Brenner Festplatte Komponenten auf der Hauptplatine - Überblick Prozessor Arbeitsspeicher... 5 Busse GMCH = Graphics and Memory Controller Hub (B) ICH = Input/Output Controller Hub (C) SIO-Controller = Super Input/Output Controller (D) Von Neumann-Architektur Harvard-Architektur Vom Algorithmus zum Prozessor Abstraktionsebenen... 72

3 Inhalt Aufgaben Wie funktioniert ein Computer 8 Netzteil Grafikkarten Optische Laufwerke Festplatte Prozessor Bussystem Rechner-Architekturen Darstellung von Zahlen und Zeichen Bits, Byte, Datenworte und Logikpegel Zeichen Zahlen Codierung von Festkommazahlen Vorzeichenlose Festkommazahlen Vorzeichenbehaftete Festkommazahlen Vorzeichen und Betrag Einer-Komplement Zweier-Komplement Codierung von Gleitkommazahlen nach IEEE Format von Gleitkommazahlen Rechnen mit Gleitkommazahlen Arithmetische Schaltungen Schaltungselemente...27 Logikgatter Multiplexer Demultiplexer Decoder Speicherelemente: Flipflops und Register Halbaddierer (HA)...37

4 4 3.3 Volladdierer (VA) Ripple-Carry-Addierer/Subtrahierer Carry-Look-Ahead...4 Einstufige Carry-Look-Ahead-Schaltung Kaskadierung von Carry-Look-Ahead-Schaltungen Addition und Subtraktion von Gleitkommazahlen Kombinatorischer Multiplizierer Sequentieller Multiplizierer...57 Multiplexer-basierte Implementierung der Steuerung ROM-basierte Implementierung der Steuerung Multiplikation vorzeichenbehafteter Zahlen Multiplikation von Gleitkomma-Zahlen Subtraktion...7 Allgemein Halb-Subtrahierer Voll-Subtrahierer Ripple-Borrow-Subtrahierer Division...78 Allgemein Kombinatorischer Dividierer Sequentieller Dividierer Implementierung des Zustandsautomaten mit Multiplexern Implementierung des Zustandsautomaten mit Speicherbausteinen Prozessor-Datenpfad 9 4. Vom zu lösenden Problem abhängige Schaltung Universalrechner: Schaltung unabhängig vom Problem...92 Allgemein Beispiel-Schaltung Aufgaben Verständnisfragen Programmieraufgaben Quadratische Gleichung Kugelvolumen

5 5 4.3 Assembler...24 Assembler als leicht verständliche hardwarenahe Sprache Definition einer Assembler-Sprache für den Universalrechner Assembler als Übersetzer Befehlssätze und deren Klassifikation 25 Befehlssatz Klassifikation nach Komplexität CISC = Complex Instruction Set Architecture RISC = Reduced Instruction Set Architecture Klassifikation nach Verortung der Operanden Register-Speicher-Architektur Register-Register-Architektur/Load-Store-Architektur Klassifikation nach der Anzahl der Operanden Drei-Adress-Maschine Zwei-Adress-Maschine Ein-Adress-Maschine/Akkumulator-Maschine Null-Adress-Maschine/Stack-Maschine MMIX-Prozessor Programmiermodell Register...22 Allzweckregister Spezialregister Verständnisfragen/Aufgaben Allgemein Allzweckregister Spezialregister Speicher Wortbreiten Ausrichtung der Daten im Speicher - Alignment Big- und Little Endian Speicherorganisation Text-Segment: Programme und Interrupt-Vektoren Daten-Segment Pool-Segment Stack-Segment

6 6 Betriebssystem-Segment Virtueller Speicher Aufgaben Verständnis Speicher Alignment Big- und Little-Endian Speicherorganisation Virtueller Speicher MMIX-Programme Aufbau Assembler- und Loader-Befehle Der IS-Befehl Der GREG-Befehl Der LOC-Befehl Die Befehle BYTE, WYDE, TETRA und OCTA Aufgaben Übersetzungsprozess Befehlswort Aufgaben MMIX Befehle...26 Definitionen Register-Register-Befehle Hardware Arithmetische Befehle auf Festkommazahlen Direktoperand in Register schreiben Umwandlung Gleitkommazahl $ Festkommazahl Arithmetische Befehle auf Gleitkommazahlen Schiebe-Befehle Logische Operationen auf Bit-Ebene Register-Speicher-Befehle Daten vom Speicher in ein Register laden Daten vom Register in den Speicher schreiben (speichern) Adressen in ein Register laden Zugriff auf Spezialregister Verzweigungsbefehle Unbedingte Verzweigung Bedingte Verzweigungen

7 7 Befehle für Funktionsaufrufe Namensräume - der PREFIX-Befehl Funktionsaufrufe Wert-Übergabe und Referenz-Übergabe Aufrufkonventionen Parameterübergabe auf dem Stack beim MMIX Aufgaben Beispielprogramm: Quadratische Gleichung Pipelining Pipelining-Datenpfad Pipelining-Konflikte Datenkonflikte Erkennen von Datenkonflikten Auflösen von Datenkonflikten durch Einfügen von NOP-Befehlen.. 34 Auflösen von Datenkonflikten mittels Befehlsumstellung Auflösen von Datenkonflikten durch Stalls Auflösen von Datenkonflikten durch Forwarding-Pfade Strukturkonflikte Steuerungskonflikte Cache Motivation Speicher-Hierarchien Begriffsklärungen Cache-Hit, Hit-Time und Hit-Rate Cache-Miss, Miss-Time und Miss-Rate Verdrängungsstrategien Schreibstrategien Aufgaben Direkt-Abgebildeter Cache Voll-Assoziativer Cache Set-Assoziativer Cache...363

8 8

9 9

10

11 Motivation: Wie funktioniert ein Computer? In diesem Kapitel geben wir Ihnen eine kleine Einführung in den Vorlesungsstoff der Computertechnik. Dieses Kapitel ist jedoch mehr als nur eine Einführung. Es dient als Überblick über den Aufbau und die Funktionsweise gängiger Arbeitsplatzrechner. Während dieses Kapitel dabei einen kompletten PC betrachtet, fokussieren die restlichen Kapitel fast ausschliesslich auf den Prozessor. Ziel dieses Kapitel ist es, Ihnen das Umfeld von Prozessoren und die Interaktion von Prozessoren mit diesem Umfeld näherzubringen. Wenn Sie verstanden haben, welche Aufgabe Prozessoren in diesem Umfeld haben, dann kennen Sie automatisch auch das Funktionsvermögen von Prozessoren, wissen also, was so ein Prozessor eigentlich können muss. Dies ist die Voraussetzung für die restlichen Kapitel dieses Skripts, in denen wir uns einen eigenen Prozessor zusammenbauen werden.. Komponenten eines Computers In diesem Kapitel öffnen wir einen gewöhnlichen Arbeitsplatzrechner und schauen uns einmal an, was da alles drinnen steckt. Dabei werden wir die zutage tretenden Komponenten hinsichtlich Funktion und Aufbau untersuchen. Nachdem wir uns bis zu den auf der Hauptplatine befindlichen Komponenten vorgearbeitet haben, werden wir durch eine Abstraktion (Verstecken von Details) die prinzipielle Funktionsweise des PCs zu erläutern. Nach dieser Abstraktion werden wird wieder detailreicher, wenn wir das reale (nicht abstrahierte) Zusammenspiel der einzelnen Komponenten betrachten. Nachfolgende Abbildung zeigt den Arbeitsplatzrechner, den wir im Folgenden zerlegen werden. Abb. : Computer-Arbeitsplatz

12 Wir schrauben die Seitenverkleidung ab Abb. 2: Öffnen eines Computers und identifizieren die dann erscheinenden Komponenten. DR NT DB DL GK FP FW Abb. 3: Geräte in einem Computer 2

13 .. Peripherie-Geräte und Netzteil Netzteil Das mit NT gekennzeichnete Gerät ist das Netzteil. Es dient zur Stromversorgung des PCs. Abb. 4: Computer-Netzteil Computernetzteile wandeln die aus der Steckdose kommenden 23 V Wechselspannung in folgende Gleichspannungen um: - +3,3 V und +5 V für das Mainboard (die grosse grüne Platine) und die darauf befindlichen bzw. damit verbundenen elektrischen Bauteile V für die Motoren der Laufwerke und Lüfter V und -2 V, die heutzutage meist gar nicht mehr verwendet werden, sondern zumeist nur noch aus Gründen der Kompatibilität zu älteren Geräten vorhanden sind (z.b. -5 V und -2 V für den ISA-Bus, der in der heutigen Zeit fast nur noch in der Industrie zur Maschinensteuerung (z.b. CNC-Fräßmaschine) verwendet wird oder -5 V zur ±5 V-Versorgung älterer FloppyController, die zur Verstärkung des Lesesignals noch Operationsverstärker ohne Ladungspumpe einsetzen). Insbesondere der hohe Stromverbrauch des Hauptprozessors und der Grafikkarte erfordern die Bereitstellung hoher Ströme. Nachfolgende Abbildung zeigt eine typische Aufteilung der Leistung auf die +3,3 V, +5V und +2 V Leitungen. Die Leitung mit der Bezeichnung +5 VSB (SB = Standby) dient zur Versorgung bestimmter Rechner-Komponenten im Standby-Modus (z.b. Arbeitsspeicher). 3

14 Ausgangsspannung +3,3 V +5 V +5 VSB +2 V Strom (max.) 26 A 42 A 2,5 A 8 A Leistung (max.) 22 W 2,5 W 26 W max. Gesamtleistung 45 W Abb. 5: Typische Ausgangsleistung eines ATX-Netzteils Aufgrund dieser hohen Ströme erfolgt die Spannungsreduktion von 23 V auf die gewünschten Ausgangsspannungen nicht durch einen gewöhnlichen Transformator, sondern durch den Einsatz eines Schaltnetzteils. In PCs eingesetzte Schaltnetzteile haben oft folgenden Aufbau: 23 V ~ Gleichrichter Schalter Leistungs- = ~ HF-Trafo ~ = V = Gleichrichter Tiefpass- Filter Potentialtrennung Regler Abb. 6: Prinzip-Aufbau eines Schaltreglers 7 = 6 Eine mögliche Zuordnung der Komponenten ist in nachfolgender Abbildung angegeben Abb. 7: Identifizierung von Schaltregler-Komponenten 4

15 Der in Abb. 6 gezeigte Schaltregler funktioniert wie folgt: - Die Netzspannung (23 V Wechselspannung, 5 Hz) wird an einen Gleichrichter () angelegt, der daraus eine Gleichspannung generiert. - Über einen Leistungsschalter (2) wird diese Spannung der Primärseite eines HF-Trafos (3) zugeführt. Der Leistungsschalter sorgt durch permanentes Ein- und Ausschalten dafür, dass die am HF-Trafo angelegte Spannung mit einer Frequenz von ca. 2 2 khz ein- und ausgeschaltet wird. - Der HF-Trafo (3) überträgt die an der Primärseite angelegte Spannung auf seine Sekundärseite. - Der Gleichrichter (4) erzeugt aus der sekundärseitigen Wechselspannung wieder einen rein positiven Spannungsverlauf, der durch das Tiefpassfilter (5) auf einen Mittelwert gebracht wird. - Dieser Mittelwert entspricht der aktuellen Ausgangsspannung. - Die Ausgangsspannung dient als Eingang für den Regler (6), der zur Aufgabe hat, die Ausgangsspannung auf einem bestimmten Niveau zu halten. Dies erreicht der Regler durch Änderung des An-/Aus-Verhältnisses des Signals, das den Leistungsschalter steuert. Die Ausgangsspannung des Schaltnetzteils ist dabei lediglich abhängig vom Tastverhältnis (Verhältnis der An-/Aus-Zeit) des Signals, das den Leistungsschalter ein- bzw. ausschaltet. - Die Potentialtrennung (7), die in der Regel durch Optokoppler erreicht wird, verhindert, dass die 23 V Netzspannung über den Regelkreis zum Ausgang des Netzteils gelangt. Zwar müssen in Schaltreglern auch Trafos eingesetzt werden, diese können jedoch wesentlich kleiner gebaut werden, da sie durch die Verwendung einer hohen Frequenz (2 2 khz statt 5 Hz Netzfrequenz) wesentlich mehr Leistung (proportional zur Frequenz) übertragen können und die Windungsanzahl somit gering bleiben kann. Wenige Windungen auf der Sekundärseite Û geringer Innenwiderstand der Sekundärseite Û in der Sekundärseite wird wenig Leistung in Wärme umgewandelt Þ guter Wirkungsgrad. Nachfolgend angegebene Steckerbelegung eines ATX-Netzteils zeigt, dass aufgrund der hohen Strombelastung bei +3,3 V und +5 V diese Spannungen über mehrere Kontakte parallel übertragen werden. +3,3 V +3,3 V -2 V ,3 V GND 3 3 GND PS_ON V GND 5 5 GND GND V GND 7 7 GND -5 V 8 8 PW_OK +5 V VSB +5 V 2 +2 V Abb. 8: Steckerbelegung eines (ATX-) Netzteils Die Signale PS_ON und PW_OK haben folgende Funktion: - PS_ON ist die Abkürzung für Power supply on. Dieses Signal ist ein Eingangs-Signal und dient dazu, das Netzteil einzuschalten. Die Leitung PS_ON muss dabei auf Masse (GND für engl. Ground) gelegt werden. - PW_OK ist die Abkürzung für Power ok. Dieses Signal liegt beim Einschalten des Netzteils auf Masse und wechselt auf einen Pegel von etwa 5 V, wenn sich die vom Netzteil gelieferte Spannung nach dem Einschalten stabilisiert hat. PW_OK ist auf der Hauptplatine mit dem Taktgeber des Prozessors verbunden und sorgt über die Reset-Leitung dafür, dass der Prozessor erst dann mit der Abarbeitung von Befehlen beginnt, wenn sich die Versorgungsspannung stabilisiert hat. Auf diese Weise wird verhindert, dass der Prozessor in einen undefinierten Zustand gerät. 5

16 Grafikkarte Die in Abb. 3 auf Seite 2 mit GK gekennzeichnete Einsteck-Platine ist die Grafikkarte. Anschluss für den Stecker für zusätzliche Stromversorgung Monitor (DVI) Speicherchips mit Kühlkörper BIOS Anschluss für den Monitor (VGA) GPU mit Kühlkörper (GPU = Graphics AGP-Anschluss Processing Unit) (Verbindung zum Prozessor) Abb. 9: Grafikkarte Die Grafikkarte besteht aus folgenden Komponenten: - GPU (Graphics Processing Unit): Der Prozessor der Grafikkarte. Die GPU implementiert die von der Grafikkarte bereitgestellten Funktionen: + Kommunikation mit dem PC-Prozessor (hier über AGP) + Ansteuerung der Speicherchips + RAMDAC Wandlung der digitalen Bildinformationen in analoge Bildschirm-Signale (s.u.) + Kommunikation mit dem Monitor (über VGA oder DVI) + Beschleunigung von 3D-Funktionen - Speicherchips, um Bilddaten und sonstige anfallende Daten abspeichern zu können - BIOS (Basic Input Output System), um die Grafikkarte auch schon vor dem Laden von Grafikkartentreibern verwenden zu können (s.u.) - AGP-Anschluss (oder auch PCI-Express) zur Kommunikation mit dem PC-Prozessor - VGA- bzw. DVI-Anschluss zur Kommunikation mit dem Monitor 6

17 Die Grafikkarte hat im wesentlichen zwei Aufgaben: - Sie dient als Schnittstelle zwischen Computer und Bildschirm. - Sie beschleunigt grafikrelevante Berechnungen (insbesondere 3D-Berechnungen). Als Schnittstelle zwischen Computer und Bildschirm übersetzt die Grafikkarte die Daten, die der Prozessor liefert, in Signale, die der Bildschirm zur Anzeige benötigt. Die Grafikkarte verfügt über einen sog. Grafik-Speicher (oft auch Video-Speicher genannt). - In diesen Speicher schreibt der Prozessor die Daten, die er als Bild angezeigt bekommen will. - Die Grafikkarte liest diese Daten aus und erzeugt aus diesen Daten die entsprechenden Bildschirm-Signale. Die einzelnen Byte im Video-Speicher werden direkt auf Pixel -Farben abgebildet. Die Farbe eines einzelnen Pixels ergibt sich dabei aus der Kombination eines roten (R), grünen (G) und blauen (B) Bildschirmpunkts. Nachfolgende Abbildung zeigt, wie die im Video-Speicher abgelegten Byte der Intensität (Helligkeit) der jeweiligen Bildschirmpunkte (Grundfarben) zugeordnet werden. Video-Speicher in der Grafikkarte Bildschirm pro Grundfarbe Byte Þ 24 Bit Farbtiefe x3f x x78 xff xe8 Pixel R G B R G B R B R G B R G R G B R G B R B R G B R G Abb. : Abbildung der im Video-Speicher abgelegten Werte auf die Intensität von Bildschirm-Punkten Durch Ändern einzelner Byte im Grafik-Speicher kann der Prozessor die Intensität jedes rot (R)-, grün (G)- oder blau (B)-Anteils eines Pixels ändern. Soll ein Pixel beispielsweise Rot erscheinen, werden den zugehörigen drei Byte im Grafik-Speicher die Werte R = xff, G = x, B = x zugeordnet. Grün entspricht dann R = x, G = xff, B = x und ein dunkles Grau etwa R = x6, G = x6, B = x6. Pixel-Intensitätswerte können analog (VGA; steht für Video Graphics, Array) oder digital (DVI, HDMI, DisplayPort,...) zum Monitor transportiert werden. Die analoge Signalübertragung basiert auf der damaligen Ansteuerung von Röhrenmonitoren. Pixel ist ein aus picture element zusammengesetztes Kunstwort und bezeichnet die Punkte, aus denen gerasterte Bilder aufgebaut sind. Die Farbe eines Pixels wird dabei aus den drei Grundfarben rot, grün und blau zusammengemischt. 7

18 Röhrenmonitore enthielten drei Kathoden, die jeweils einen Elektronenstrahl aussendeten. Jeder Elektronenstrahl (und somit jede Kathode) war dabei für eine der drei Grundfarben (RGB) zuständig. Die drei Elektronenstrahlen konnten in der Röhre durch sog. Ablenkspulen derart abgelenkt werden, dass der Auftreffpunkt der Elektronenstrahlen auf der Bildschirmvorderseite horizontal und vertikal verschoben werden konnte. Durch Anlegen einer geeigneten Spannung konnte man den Elektronenstrahl somit an einer beliebigen Stelle auf der Vorderseite der Bildröhre auftreffen lassen. Abb. : Durch geeignete Spannungen an den Ablenkspulen konnte der Auftreffpunkt der drei Elektronenstrahlen beliebig in horizontaler und vertikaler Richtung verschoben werden. Um aus den Elektronenstrahlen Farben erzeugen zu können, waren innen auf der Bildschirmvorderseite abwechselnd phosphorhaltige Stoffe aufgebracht, die bei Elektronenbeschuss entweder Rot, Grün oder Blau leuchteten. Damit die Elektronenstrahlen immer nur die drei zu einem bestimmten Pixel gehörigen Punkte trafen und nicht auch noch benachbarte, war zwischen den Kathoden und der fluoreszierenden Schicht noch eine Lochblende eingebaut. Kathoden 3 Elektronenstrahlen Lochblende R G B R G B R B R G B R G R G B R G B R Spulen zur Ablenkung der Elektronenstrahlen Fluoreszierende Schicht B R G B R G Abb. 2: Die von den Kathoden abgegebenen drei Elektronenstrahlen wurden von Spulen abgelenkt und trafen dann auf eine Lochblende, welche die Elektronenstrahlen genau auf die rot, grün oder blau fluoreszierenden Punkte des gewünschten Pixels fokussierte. 8

19 Führte man die drei Elektronenstrahlen wie in nachfolgender Abbildung angegeben über den Bildschirm, wurden alle rot, grün und blau fluoreszierenden Punkte von den zugehörigen Elektronenstrahlen getroffen. Abb. 3: Weg der drei Elektronenstrahlen über den Monitor An den Ablenkspulen zur horizontalen Ablenkung musste also eine periodisch ansteigende Spannung (Sägezahn) Hsync anliegen, so dass die drei Elektronenstrahlen von links nach rechts abgelenkt wurden. - Hatte Hsync einen bestimmten negativen Wert, dann befand sich der Elektronenstrahl ganz links. - Hatte Hsync einen bestimmten positiven Wert, dann befand sich der Elektronenstrahl ganz rechts. Bei den Ablenkspulen zur vertikalen Ablenkung musste ebenfalls eine von einem bestimmten negativen Wert bis zu einem bestimmten positiven Wert ansteigende Spannung Vsync angelegt werden, so dass die drei Elektronenstrahlen von oben nach unten wanderten. Vsync musste dabei eine um die Anzahl der Bildzeilen niedrigere Frequenz als Hsync haben. So gelangten die drei Elektronenstrahlen erst dann am unteren Ende der Bildröhre an, wenn alle Zeilen von links nach rechts durchlaufen worden waren. Nachfolgende Abbildung zeigt die von einem VGA-Anschluss gelieferten Signale. Hsync und Vsync sind die Spannungen, die früher zur Positionierung der drei Elektronenstrahlen für Rot, Grün und Blau verwendet wurden. R, G, und B sind die Spannungen, welche die Intensität jeder Pixel-Grundfarbe steuern (früher: Strahlungsintensität der entsprechenden Kathode). R G B Hsync Vsync t. Zeile 2. Zeile letzte Zeile. Zeile Abb. 4: Signale am VGA-Anschluss 9. Bild 2. Bild

20 Zur Umwandlung der im Grafik-Speicher abgelegten Daten in die analogen Signale R, G und B verwenden Grafikkarten sog. RAMDACs. Diese RAMDACs wenden auf die im Grafik-Speicher (Grafik- RAM; RAM = Random Access Memory, s.u.) abgelegten Byte eine Digital-/Analog-Wandlung (DAC = Digital Analog Converter) an. Die Daten werden dabei byteweise ausgelesen und dann in die analogen Spannungen umgewandelt, die am VGA-Anschluss (vgl. Abb. 4) der Grafikkarte herauskommen. Nachfolgende Abbildung zeigt den Verlauf der Daten auf dem Weg vom Prozessor zum Bildschirm. x3f x x78 xff xe8 RAMDAC (für Rot) RAMDAC (für Grün) RAMDAC (für Blau) c:\> Prozessor Video-Speicher auf der Grafikkarte Digital-Analog-Wandler (RAMDAC) VGA- Buchse Bildschirm Abb. 5: Datenverlauf vom Prozessor zum Bildschirm Die Darstellung von Bildern auf dem Bildschirm funktioniert wie folgt: - Der Prozessor schreibt die Farbwerte für die Pixel in den Video-Speicher. - Die im Video-Speicher liegenden Daten werden permanent vom RAMDAC in VGA-Signale übersetzt und über die VGA-Buchse an den Bildschirm ausgegeben, der das Bild dann anzeigt. - Das am Bildschirm angezeigte Bild bleibt solange dasselbe, bis der Prozessor andere Werte in den Video-Speicher der Grafikkarte schreibt. Bei digitaler Datenübertragung ist das RAMDAC im Monitor untergebracht. Die Intensitätswerte werden digital übertragen. Die Daten, die der Prozessor in den Video-Speicher schreibt, müssen jedoch erst berechnet werden, was im Vergleich zu den von der Grafikkarte auszuführenden Aktionen (Auslesen der Daten aus dem Grafik-Speicher und Wandlung durch die RAMDACs [und der Darstellung am Bildschirm]) relativ lange dauert. Nehmen Sie an, auf den Bildschirm soll eine Linie mit einer bestimmten Dicke und einer bestimmten Länge gezeichnet werden, wie z.b. die nachfolgend abgebildete Linie. Abb. 6: Linie Um im Grafik-Speicher für jedes Pixel die Intensität der drei Grundfarben Rot, Grün und Blau ablegen zu können, muss der PC-Prozessor zunächst berechnen, welche Pixel beim Zeichnen der Linie mit welcher Farbe eingefärbt werden müssen. 2

21 Ausgehend von einer mathematischen Beschreibung der Linie, z.b. der Geradengleichung y = mx + t, kann man bestimmen, welche Pixel von der Linie überhaupt getroffen werden. Nachfolgende Abbildung zeigt, wie ein kurzer Ausschnitt der Linie auf den Pixeln 2 zu liegen kommt. Farbpunkte auf dem Bildschirm einzelne Pixel zu zeichnende Linie Abb. 7: Ausschnitt der Linie Für alle Pixel, die von der Linie berührt werden, muss der Prozessor jetzt berechnen, zu welchem Teil die Pixel von der Linie bedeckt werden. - Bedeckt die Linie den Pixel vollständig, wird er schwarz eingefärbt, d.h. im Grafik-Speicher werden an der entsprechenden Speicherstelle für Rot, Grün und Blau jeweils die Werte eingetragen. - Bedeckt die Linie die Pixel nur zu 4 Prozent, so trägt die Farbe der Linie (hier schwarz) auch nur zu 4 Prozent zur Farbe des Pixels bei. Die restlichen 6 Prozent der Farbe des Pixels entsprechen der ursprünglichen Farbe des Pixels (bei uns also der Farbe weiss). Mit RGB schwarz = (,, ) und RGB weiss = (255, 255, 255) ergibt sich damit für die neue Farbe RGB neu = (,4 +,6 255,,4 +,6 255,,4 +,6 255), also der neue Farbwert RGB neu = (53, 53, 53). Die Pixel-Darstellung der Linie ergibt sich damit wie folgt: Abb. 8: Pixeldarstellung der Linie Der Übergang von der Darstellung Linie mit y = mx + t in die Pixeldarstellung wird in der Computergrafik als rendern bezeichnet. Das Vorgehen, von der Linie berührte Pixel nicht einfach in der Farbe der Linie darzustellen, sondern die Farbe des Pixels aus dem prozentualen Anteil der Überdeckung zu Mischen, wird Antialiasing genannt. 2 Im obersten linken Pixel ist noch einmal dargestellt, wie die Pixel auf dem Bildschirm durch rote, grüne und blaue Punkte erzeugt werden. 2

22 Die für die Render-Vorgänge benötigten Berechnungen werden von optimierten Assembler-Routinen durchgeführt, die im Betriebssystem verankert sind. Diese Routinen können über die Schnittstelle des Betriebssystems aufgerufen werden, so dass jeder Programmierer Linien, Kreise, aber auch einzelne Punkte auf dem Bildschirm zeichnen kann. Obwohl die Render-Vorgänge bereits als optimierter Assembler-Code geschrieben sind, dauert deren Ausführung (im Vergleich zur Darstellung der im Video-Speicher abgelegten Daten auf dem Bildschirm) relativ lange. Würden die langsamen Render-Vorgänge direkt auf dem Grafik-Speicher ausgeführt werden, dann würden Objekte bereits dann auf dem Bildschirm erscheinen, wenn sie noch gar nicht fertig berechnet sind, was vom Betrachter insbesondere bei bewegten Objekten als sehr störend empfunden würde (flickern). Aus diesem Grund wird beim Rendern nicht direkt in den Grafik-Speicher, sondern in einen sog. Back- Buffer gerendert, der ebenfalls auf der Grafikkarte zu finden ist. Ist das Bild fertig gerendert, werden Grafik-Speicher und Back-Buffer vertauscht. Dabei werden die in den Puffern enthaltenen Daten jedoch nicht kopiert, sondern es wird den RAMDAC-Bausteinen einfach mitgeteilt, dass sich der Grafik- Speicher jetzt an einer anderern Adresse befindet. Der ehemalige Grafik-Speicher wird dann automatisch zum Back-Buffer. x3f x x78 xff xe8 wird gerade dargestellt RAMDAC (für Rot) RAMDAC (für Grün) c:\> RAMDAC (für Blau) x4c x38 x79 x xfe wird gerade erstellt und im Anschluss dargestellt Prozessor Front- und Back-Buffer Digital-Analog-Wandler (RAMDAC) VGA- Buchse Bildschirm Abb. 9: Front- und Back-Buffer Um das Verhältnis von Grafik-Speicher und Back-Buffer zu verdeutlichen, wird der Grafik-Speicher auch oft Front-Buffer genannt. 22

23 Zu Beginn dieses Abschnitts hatten wir erwähnt, dass die Grafikkarte nicht nur als Schnittstelle zwischen Computer und Bildschirm dient, sondern auch 3D-Berechnungen beschleunigt, worauf wir im Folgenden kurz eingehen werden. In der 3D-Computergrafik (wie z.b. bei PC-Spielen) werden Objekte bzw. deren Oberflächen durch Polygone (z.b. Dreiecke) modelliert (vgl. nachfolgende Abbildung). Abb. 2: Modellierung von Objekten durch Polygone (Daten für die Grafikkarte) Diese Modellierung wird vom PC-Prozessor durchgeführt. Wenn sich beispielsweise in einem PCSpiel Personen bewegen, berechnet der PC-Prozessor permanent die Positionierung der verschiedenen Polygone. Die Polygone haben natürlich ganz bestimmte Oberflächeneigenschaften wie Farbe, Struktur etc. Diese Oberflächeneigenschaften übergibt der Prozessor zusammen mit den 3DKoordinaten der berechneten Polygonpunkte der Grafikkarte, die die aktuelle Szene dann in ein normales Bild umwandelt (vgl. nachfolgende Abbildung). Abb. 2: Von der Grafikkarte erzeugtes Bild Die Grafikkarte initialisiert dabei jedes Polygon mit der zugehörigen Oberfläche (Struktur und Grundfarbe). Anschliessend berechnet die Grafikkarte für jede Polygon-Position die gerade aktuellen Lichtverhältnisse der Umgebung und ändert das Erscheinungsbild der Polygone dementsprechend. Ausserdem berechnet die Grafikkarte, welche Polygone von anderen verdeckt werden und wandelt so das dreidimensionale Bild in ein zweidimensionales Bild um. Im Anschluss rendert die Grafikkarte die Polygone, d.h. sie erzeugt aus den Polygonen die Farbwerte der einzelnen Pixel, die sie dann in den Back-Buffer überträgt. Zur Darstellung des Bilds auf dem Bildschirm müssen dann nur noch Front- und Back-Buffer umgeschaltet werden. 23

24 Die Berechnungen zur Oberflächenstrukturierung, Beleuchtung und Verdeckung sind sehr aufwendig. Ohne Grafikbeschleunigung müssten diese Berechnungen alle vom PC-Prozessor ausgeführt werden. Mit Grafikbeschleunigung kann die Arbeit des PC-Prozessors auf die Berechnung der Polygon- Positionen beschränkt bleiben, da die Grafikkarte den Rest erledigt. Da die Grafikkarte auf diese Art von Berechnungen spezialisiert ist, kann sie diese wesentlich schneller ausführen als der PC- Prozessor. Darüber hinaus arbeitet die Grafikkarte parallel zum Prozessor, so dass die Grafikkarte beispielsweise ein Bild rendern kann, während der PC-Prozessor gerade die Polygon-Positionen des nächsten Bildes berechnet. 24

25 DVD-ROM Das in Abb. 3 auf Seite 2 mit DR gekennzeichnete Gerät ist das DVD-ROM-Laufwerk. DVD-ROM-Laufwerke dienen zum Lesen von DVDs und CDs. Diese Laufwerke können also keine Daten aufzeichnen (ROM = Read Only Memory Þ nur lesen), sondern sie lediglich lesen. Um den Aufbau eines DVD-ROM-Laufwerks leichter verstehen zu können, schauen wir uns erst einmal an, wie Daten auf einer DVD gespeichert werden. Wie in nachfolgender Abbildung gezeigt, besteht eine DVD aus Spuren, die spiralförmig von innen nach aussen verlaufen. Abb. 22: Spuren auf einer DVD 25

26 Die Spuren bestehen dabei aus einer Folge verschieden langer Vertiefungen, den sog. Pits, die auf dem sog. Land aufgebracht sind. Pits Land Abb. 23: Pits und Land Pits und Land sind aus dem gleichen Material und mit einer Aluminium-Schicht verspiegelt, so dass sowohl Pits als auch das Land auftreffendes Licht reflektieren. Die reflektierende Seite ist mit einer Schicht aus Polycarbonat vor Kratzern geschützt, die andere Seite dient der Beschriftung der DVD. Von der Seite betrachtet, ergibt sich für Pits und Land somit folgendes Bild: Drehrichtung Beschriftung der DVD/Etikett Träger (Land) Pit Land Leseseite der DVD Polycarbonat reflektierende ALU-Schicht Abb. 24: Aufbau einer DVD-ROM 26

27 Zum Auslesen der DVD wird die Leseseite der DVD mit einem Laser bestrahlt und das von der ALU- Schicht reflektierte Laser-Licht von einem Photo-Detektor aufgefangen. Drehrichtung Beschriftung der DVD/Etikett Träger (Land) Pit Land Leseseite der DVD Polycarbonat reflektierende ALU-Schicht Halbdurchlässiger Spiegel Laser Photo-Detektor Auswertung der Signale Umwandlung in einzelne Byte Abb. 25: Prinzip-Darstellung eines DVD-ROM-Laufwerks Angenommen, die DVD bewegt sich in der angegebenen Drehrichtung. Was für ein Licht-Signal kommt dann beim Photo-Detektor an? - Auf den ersten Blick scheint sich beim Photo-Detektor keine Änderung des Licht-Signals zu ergeben, da sowohl die Pits als auch das Land das Laser-Licht reflektieren. - Wenn die Höhe der Pits auf dem Land jedoch ein Viertel der Wellenlänge des Lasers beträgt, erscheint das von den Pits reflektierte Licht wesentlich dunkler als das vom Land reflektierte Licht. Warum? Nachfolgende Abbildung zeigt mehrere Licht-Wellen. Die oberen beiden Wellen sind dabei in Phase, die unteren beiden sind gegenphasig, haben also einen Phasenversatz von 8. einzelne Lichtwellen Summe konstruktive Interferenz: destruktive Interferenz: Abb. 26: Konstruktive und destruktive Interferenz Man erkennt deutlich, dass sich bei der Addition beider Wellen bei - gleichphasigen Wellen eine gleichartige Welle mit grösserer Amplitude ergibt. Die Wellen überlagern sich also konstruktiv, man spricht von konstruktiver Interferenz. 27

28 - gegenphasigen Wellen beide Wellen genau auslöschen. Die Wellen überlagen sich also destruktiv, man spricht von destruktiver Interferenz. Betrachtet man die Pits und das Land auf der DVD von der Leseseite her, fällt folgendes auf: konstruktive Interferenz destruktive Interferenz Ansicht von unten (Leseseite) Laser Abb. 27: Auftreffen des Lasers auf der DVD - Trifft der Laser auf reines Land, wird er einfach reflektiert. - Trifft der Laser jedoch auf ein Pit, so trifft er neben dem Pit auch noch auf Land, da der Radius des Laserstrahls grösser ist als die Breite eines Pits. Das reflektierte Laser-Licht enthält also sowohl Licht, das vom Land reflektiert wurde, als auch Licht, das vom Pit reflektiert wurde. Nachfolgende Grafik zeigt diese Situation von der Seite betrachtet. Darunter ist das von der DVD-Spur reflektierte Laser-Licht abgebildet, das dann auf den Photo-Sensor trifft. Ansicht von der Seite (Querschnitt) Daten von der Leseseite reflektiertes Laserlicht konstruktive Interferenz (es wird viel Licht reflektiert) destruktive Interferenz (es wird fast kein Licht reflektiert, da sich die Wellen gegenseitig auslöschen) Abb. 28: Reflexionen an der DVD 28

29 Die rotierende DVD reflektiert also - beim Auftreffen des Laserstrahls auf Land das komplette Licht. - beim Auftreffen des Laserstrahls auf Pits fast kaum Licht. Der Photo-Detektor bekommt dabei bei rotierender DVD eine Folge von Licht an/licht aus mit, die er als Rechteck-Spannung an einen im DVD-Laufwerk eingebauten Chip weiterleitet. Spannung Abb. 29: Vom Photo-Detektor erzeugte Rechteck-Spannung Zeit Dieser Chip tastet die Rechteckspannung ab und wandelt die darin gespeicherte Information in Bits um. Die Bits sind jedoch nicht direkt als Pits und Land codiert. Das hat folgende Gründe: - Sich rasch ändernde Bitfolgen wie z.b. können vom Laser nicht mehr aufgelöst werden. - Bei sich sehr langsam ändernden Bitfolgen wie z.b. geht die Synchronisation verloren, d.h. es kann nicht genau gezählt werden ob jetzt bspw. 23 oder 24 Nullen in der Bitfolge vorkamen. Das liegt daran, dass die Umdrehungsgeschwindigkeit der DVD während des Lesens schwanken kann und Zeitmessungen dadurch nur für relativ kurze Zeiten in die von der aktuellen DVD-Spur zurückgelegte Strecke (und damit die Anzahl der Bits) umgerechnet werden kann. Aus diesen Gründen hat man bei der Standardisierung der CD folgendes festgelegt: - es müssen auf einer CD immer zwei Pit-Stellen bzw. zwei Land-Stellen in Folge auftreten, d.h. es darf keine Kombinationen oder geben. - nach spätestens zehn Pit-Stellen oder zehn Land-Stellen muss ein Wechsel stattfinden. Zwischen zwei Einsen können also zwei bis zehn Nullen auftreten. Dies führt zur sog. Eight-to- Fourteen-Modulation (EFM), in der ein Byte (8 Bits) durch 4 sog. Channel-Bits kodiert wird. 3 Damit auch beim Aneinanderfügen von Channel-Codewörtern die obige Forderung nicht verletzt wird, werden zwischen zwei Channel-Codewörtern noch drei sog. Merge-Bits eingefügt. Zur Codierung eines Bytes sind somit = 7 Bits notwendig. Diese Bits werden zusammen mit weiteren Bits zur Fehlerkorrektur und Adressierung als Pits und Lands auf die CD gepresst. Aus Gründen der Fehlerrobustheit werden gesetzte Bits () dabei immer nur als Pit-/Land- bzw. Land- /Pit-Übergang codiert. Eine Folge von Pits oder Lands entspricht immer gelöschten Bits (). Bei einer DVD wird eine ähnliche Codierung verwendet namens EFMplus. EFMplus entspricht einer Eight-to-Sixteen Kodierung, es werden 8 Datenbits durch 6 Kodierungs-Bits dargestellt. Dabei werden in Abhängigkeit des vorausgegangenen Codeworts unterschiedliche Kodier-Tabellen (insgesamt vier Stück) verwendet. 3 Von den mit 4 Bit darstellbaren 2 4 Bitkombinationen entsprechen lediglich 267 Kombinationen den oben genannten Forderungen. Von diesen 267 gültigen Folgen wurden 256 ausgewählt, um ein Byte (8 Bit, also 2 8 = 256 verschiedene Werte) zu codieren. 29

30 Abb. 3: Codierung der Bits in Pit-/Land-Übergange 3

31 Zur Erhöhung der Speicherkapazität können auf jeder DVD-Seite Daten auf zwei Ebenen, den sog. Layern abgespeichert werden. Der dem Laser nähere Layer ist dabei halbtransparent ausgeführt, so dass der Laser von diesem zwar reflektiert wird, der untere Layer aber auch noch erreicht werden kann. Die Auswahl der Layer erfolgt durch Einstellung des Brennpunkts des Lasers (Bewegung der Linse) entweder auf den einen oder den anderen Layer. reflektierender Layer halbtransparenter Layer verschiebbare Linsen Abb. 3: Doppel-Layer DVD Die Verschiebung der Linsen kann beispielsweise über Schrittmotoren oder Elektromagnete erfolgen. Nachfolgende Abbildung zeigt den prinzipiellen Aufbau einer DVD-Mechanik. Linse DVD Antriebsmotor Gewindestange Spulen zur vertikalen Positionierung der Linse Motor zur horizontalen Positionierung der Linse Abb. 32: Prinzip-Aufbau einer DVD-Mechanik Im echten DVD-Laufwerk sieht das folgendermaßen aus: Abb. 33: DVD-Laufwerk 3

32 In der Großaufnahme kann man den Motor zum horizontalen Verschieben der Linse gut erkennen: Auflagepunkt für die DVD (Antrieb) Motor zum horizontalen Verschieben der Linse Linse Abb. 34: Innenleben eines DVD-ROM-Laufwerks Die horizontale Positionierung der Linse erfolgt folgendermaßen: - Zunächst wird die ungefähre Position der Linse durch Parameter wie Spurbreite, mittlere Pit- Länge etc. berechnet. - Anschliessend wird die Linse an die berechnete Position gefahren und und es werden einige Daten gelesen; die gelesenen Daten enthalten dabei in einem Header abgelegte Adressinformation. Header mit Adress-Information Daten Trailer Abb. 35: Auf der DVD werden Adressinformationen im Header gespeichert - Diese Adressinformation wird jetzt weiterverwendet, um eine genauere Positionierung der Linse vorzunehmen. 32

33 Vergrößert man den Bildausschnitt noch weiter, kann man auch gut die Elektromagnete/Spulen erkennen, mit denen die Linse vertikal positioniert wird: Spulen zur Positionierung der Linse Linse Spulen zur Positionierung der Linse Abb. 36: Vertikale Positionierung der Linse durch Elektromagnete/Spulen 33

34 DVD-Brenner Das in Abb. 3 auf Seite 2 mit DB gekennzeichnete Gerät ist ein DVD-Brenner. DVD-Brenner funktionieren im Prinzip genauso wie DVD-Leser. Die DVD-Medien sind jedoch anders aufgebaut: Unterhalb der Reflektierenden Schicht ist eine spezielle Schicht eingebracht, die sich bei Bestrahlung mit sehr starkem Laser-Licht dunkel färbt und das Licht dann nicht mehr so gut reflektiert. Auf diese Weise wird die gegenphasige Auslöschung der DVD-ROM nachgeahmt. Drehrichtung Beschriftung der DVD/Etikett Schutzschicht Pit reflektierende Schicht Land Leseseite nicht reflektierende schwarze Bereiche Polycarbonat Abb. 37: Beschreibbare DVD (DVD-R) Bei beschreibbaren DVDs muss das Laufwerk die Adresse der zu beschreibenden Stellen finden können. Nachfolgende Grafik zeigt das Verfahren, das bei der DVD+RW angewendet wird: Die Pits werden in eine Art Spurrille, den sog. Grooves geschrieben. Die Seiten der Grooves sind jedoch nicht gerade, sondern durch eine Modulation von Sinus-Signalen geprägt. Diesen wellenförmigen Seiten kann das DVD-Laufwerk die Information über die aktuelle Position auf der DVD entnehmen und damit Daten adressieren. Grooves (Vertiefungen) Land Pits Abb. 38: Adressierung von beschreibbaren DVDs Im Gegensatz zu einmal beschreibbaren DVDs (DVD-R) müssen mehrfach beschreibbare DVDs auch gelöscht werden können. Dies wird durch eine spezielle Metall-Legierung als Reflexionsschicht erreicht: In Abhängigkeit der Stärke des Lasers, der die DVD beschreibt, wird das Material entweder amorph (ungeordnete Anordnung der Moleküle, schlecht reflektierend) oder kristallin (regelmäßige Anordnung der Moleküle, gut reflektierend). 34

35 Festplatte Das in Abb. 3 auf Seite 2 mit FP gekennzeichnete Gerät ist die Festplatte. Abb. 39: Festplatte Die Festplatte ist ein magnetisches Speichermedium, das sehr grosse Datenmengen aufnehmen kann. Aufgrund des technischen Fortschritts können ca. alle 2 Monate Festplatten mit doppelter Kapazität hergestellt werden. Im Inneren bestehen Festplatten in der Regel aus ein bis vier drehbar gelagerten festen Platten (deswegen der Name Festplatte im Gegensatz zur biegsamen Floppy-Disk [engl. floppy = schlapp]), die übereinander montiert sind und immer gleichzeitig gelesen bzw. beschrieben werden. Die Platten sind in der Regel entweder aus Aluminium oder aus Glaskeramik gefertigt und mit einer magnetisierbaren Oberfläche (z.b. Eisenoxyd, Kobalt etc.) beschichtet, auf der noch eine Schutzschicht aus Graphit aufgebracht wird. Armpositionierung (Elektromagnet) Permanentmagnet Schreib-/Lese-Kopf schwenkbarer Arm magnetisierbare Speicherplatte Anschluss für die Elektronik Abb. 4: Aufau einer Festplatte 35

36 Das Abspeichern von Daten auf die Festplatte erfolgt durch die sog. Schreib-/Leseköpfe, die (wie bei einer Audio-Cassette) Teile der Plattenoberfläche magnetisieren (vgl. nachfolgende Abbildung). Magnetfeldlinien Spule + - Schreib-/Lesekopf N N S S N N S S N N S magnetisierbare Schicht Bewegungsrichtung der Platte Trägermaterial aus Glaskeramik Stromverlauf beim Schreiben t Abb. 4: Datenspeicherung auf der Festplatte durch Magnetisierung Nachfolgende Abbildung zeigt den Vorgang der Magnetisierung der Festplatte. + Spule - Magnetfeldlinien geordnete Elementarmagnete ungeordnete Elementarmagnete N S Magnetisierung (Äquivalent-Magnet) keine Magnetisierung Abb. 42: Magnetisierung 36

37 Die Schreib-/Leseköpfe haben die Gestalt eines auf einer Seite aufgesägten O und sind mit einer Spule umgeben. Wird die Spule bestromt, bildet sich in ihr ein Magnetfeld, das durch den Schreib- /Lesekopf (eine Art Ferrit) geleitet wird. Da Feldlinien stets geschlossen sind, bildet sich zunächst im Luftspalt des Schreib-/Lesekopfes (die aufgesägte Stelle ) ein Magnetfeld. Wird der Spalt in die Nähe der magnetisierbaren Platte gebracht, schließen sich die Feldlinien nicht mehr über die Luft, sondern über das magnetisierbare Material, da sich Feldlinien leichter über magnetische Leiter als über magnetische Nichtleiter schließen. 4 Durch die magnetische Kraft der Feldlinien werden die im Plattenmaterial befindlichen Elementarmagnete dabei so geordnet, dass sie ihre Nord-Süd-Ausrichtung alle in dieselbe Richtung haben. Die Feldlinien der Elementarmagnete heben sich dann also nicht mehr gegenseitig auf (wie auf der rechten Seite von Abb. 42), sondern bilden zusammen einen Äquivalent-Magneten (linke Seite von Abb. 42). Diese Äquivalent-Magnete bilden die in Abb. 4 gezeigten Magnetfeldlinien, die dauerhaft erhalten bleiben. Schaltet man die Stromversorgung der Spule des Schreib-/Lesekopfes ab, lässt sich mit dem Schreib- /Lesekopf die zuvor auf die Platte aufgebrachte Magnetisierung wieder detektieren. Magnetfeldlinien Strommessung (siehe Stromverlauf) Spule N N S S N N S S N N S + OpAmp - Schreib-/Lesekopf magnetisierbare Schicht Bewegungsrichtung der Platte Trägermaterial aus Glaskeramik Stromverlauf beim Lesen t t t 2 Abb. 43: Auslesen von der Festplatte Detektiert werden dabei lediglich die Grenzen unterschiedlicher Magnetisierung, die sich in kurzen Stromstößchen (einige µa) äussern (vgl. Abb. 43). Diese Unterschiede im Stromverlauf werden mit geeigneten elektrischen Schaltungen verstärkt, detektiert und dann ausgewertet. Die abgespeicherte Information steckt dabei in den unterschiedlichen Längen zwischen den Stromstößen. In Abb. 43 ist erkennbar, dass die Zeit t wesentlich kürzer ist als die Zeit t 2. Diese Zeitunterschiede werden von dem auf der Festplatte integrierten Controllerchip (Festplatten-Controller) registriert, ausgewertet und in einzelne Byte dekodiert. Diese Byte stellen dann die auf der Festplatte abgespeicherte Information dar. Um die Oberfläche der Festplatte nicht zu beschädigen, sind die Schreib-/Leseköpfe auf einem sog. Schlitten montiert, der im Betrieb durch den von den Platten verursachten Luftzug nach oben gedrückt wird. Die Schreib-/Leseköpfe liegen also beim Schreiben/Lesen nicht auf den Platten auf, sondern schweben ganz knapp über ihnen. Wird die Festplatte ausgeschaltet, verringert sich die Rotation der Platten und der Luftzug reicht nicht mehr aus, um die Köpfe über den Platten schweben zu lassen. Deshalb wird der schwenkbare Arm, auf dem die Köpfe montiert sind, in eine Park-Position gezogen. 4 Das ist wie beim elektrischen Strom, der auch lieber durch einen Leiter als durch einen Nichtleiter fließt: Überbrückt man einen Widerstand (Nichtleiter) mit einem Draht (Leiter), dann fließt der ganze Strom durch den Draht und nicht durch den Widerstand. 37

38 Die Park-Position sind Spuren am Innenrand der Platten, da dort die Plattengeschwindigkeit am geringsten ist, der Abrieb beim Landen der Köpfe also gering bleibt. Da die Spuren im Landebereich der Köpfe nicht zum Abspeichern von Daten verwendet werden, tritt kein Datenverlust auf. Um auf der Festplatte gespeicherte Informationen zu finden, müssen die Daten auf der Festplatte in irgendeiner Form organisiert sein. Dazu werden die einzelnen Platten in sog. Spuren aufgeteilt. Spur Sektoren Abb. 44: Spuren und Sektoren bei einer Festplatte Da die Platten übereinander montiert sind, bilden die übereinander liegenden Spuren jeweils einen Zylinder, weswegen man mit dem Begriff Zylinder alle übereinander liegenden Spuren meint. Platten Alle übereinander liegenden Spuren bilden jeweils einen Zylinder Abb. 45: Zylinder Aktuelle Festplatten verfügen über mehrere tausend Zylinder, also mehrere tausend Spuren pro Plattenoberfläche, wobei die Platten auch beidseitig beschrieben werden. Da die Spuren mehrere Mega- 38

39 byte (MB) gross sein können, werden die Platten zudem noch in Sektoren (vgl. Abb. 44) eingeteilt. Die Sektoren sind dabei so gross, dass sie (je nach Hersteller) ca. 57 Byte an Daten speichern können. Ca. 6 dieser Byte werden für Verwaltungsinformation verwendet. - Werte zur Synchronisation für den Taktgenerator, der die Zeit zwischen zwei Stromstössen (vgl. Abb. 43) nur messen kann, wenn er die genaue Umdrehungsgeschwindigkeit der Platte kennt. - Prüfsummen - Speicherung der Nummer des aktuellen Zylinders - Speicherung der Nummer des aktuellen Sektors - Speicherung der Nummer des aktuellen Schreib-/Lesekopfs - Start- und Ende-Marken für den Datenbereich - mehrere Leer-Byte als Toleranzzone für unterschiedliche Umdrehungsgeschwindigkeiten Die restlichen Byte sind die Nutzdaten des Sektors, welche in der Regel 52 bzw. 496 Byte lang sind. Das Aufbringen dieser Verwaltungsinformation wird Grundformatierung genannt. Sie steht im Gegensatz zur logischen Formatierung, bei der Betriebssystem-spezifische Daten zur Verwaltung von Dateien auf die Platten geschrieben werden (z.b. ein Inhaltsverzeichnis). Um Daten aus einem bestimmten Sektor einer bestimmten Spur einer bestimmten Platte auslesen zu können, werden die Schreib-/Leseköpfe über dem gewünschten Zylinder positioniert und der von der Festplatte gelieferte Datenstrom gelesen. Der Festplatten-Controller wartet solange, bis er in dem Datenstrom des betreffenden Schreib-/Lesekopfs die gewünschte Sektor-Nummer detektiert, macht sich dann lesebereit und liest beim Auftreten der nächsten Start-Marke solange Werte ein, bis er eine Ende-Marke detektiert. Da alle Schreib-/Leseköpfe an einem einzigen schwenkbaren Arm befestigt sind, können alle zu einem Zylinder gehörigen Spuren gleichzeitig gelesen werden. Die Positionierung der Schreib-/Leseköpfe ist dabei eine sehr heikle Angelegenheit. Betrachten Sie dazu die in nachfolgender Tabelle angegebenen typischen Daten einer Festplatte: Abmessung der Schreib-/Leseköpfe Dicke des Luftkissens, auf dem die Köpfe schweben Umdrehungsgeschwindigkeit der äußeren Spuren (Radius = 4 cm, 72 U/min),3 mm x, mm 2 nm km/h Spurabstand (bei 5 Spuren pro cm) 6,7 µm Bit-Abstand,5 µm Abb. 46: Festplatten-Daten Um uns diese Daten besser vor Augen führen zu können, rechnen wir sie einmal so um, dass die Dicke des Luftkissens cm beträgt, die Schreib-/Leseköpfe also cm über den Platten schweben. Zur Skalierung müssen wir dann alle Festplatten-Parameter mit cm / 2 nm = 5. multiplizieren. Es ergeben sich dann folgende Werte: Abmessung der Schreib-/Leseköpfe Dicke des Luftkissens, auf dem die Köpfe schweben Umdrehungsgeschwindigkeit der äußeren Spuren (Radius = 4 cm, 72 U/min) Spurabstand (bei 5 Spuren pro cm) Bit-Abstand 5 m x 5 m cm 55.. km/h 3,35 m 25 cm Abb. 47: Skalierte Festplatten-Daten 39

40 Nach dieser Skalierung wären die Schreib-/Leseköpfe gut eineinhalb mal so lang und ein halbes mal so breit wie die Münchener Frauenkirche hoch ist und würden mit einer Geschwindigkeit, mit der sie in 2,6 Sekunden die Erde umrunden, nur cm über dem Boden gleiten. Dabei würden Sie Daten auslesen und schreiben, die nach links und rechts nur 3,35 m von anderen Daten entfernt sind und nach vorne und hinten bereits nach 25 cm an ihre Nachbarn stoßen. Eine unvorstellbare Leistung! Typische Festplattenlaufwerke haben eine durchschnittliche Zugriffszeit von ca. 8 ms, das bedeutet, sie benötigen ca. 8 ms, um ein Drittel aller auf der Oberfläche befindlichen Spuren zu überqueren und dann zielsicher auf der richtigen Spur zu landen. In unserem Skalierungs-Beispiel beträgt die Entfernung, die in den 8 ms von den Schreib-/Leseköpfen in Frauenkirche-Grösse zurückgelegt werden müssen, gute 5 km. Das entspricht einer Seitwärts-Geschwindigkeit von 625. km/h (in knappen 4 Minuten um die Erde). Da die Schreib-/Leseköpfe im Betrieb nicht auf den Platten aufliegen, ergibt sich bei der Bewegung der Arme so gut wie keine Reibung. Die Arme können also mit minimalstem Kraftaufwand bewegt werden. Sie lassen sich also auch ruckfrei anfahren und abbremsen. Der Antrieb erfolgt dabei durch magnetische Kräfte: - Am drehbar gelagerten Arm ist an der Hinterseite eine Spule angebracht, deren Magnetfeld sich vom Festplatten-Controller steuern lässt. - Im Gehäuse der Festplatte sind zwei sehr starke Permanent-Magnete montiert, zwischen denen die Spule des drehbaren Arms eingebettet ist. Wird die Spule bestromt, stößt sie sich vom Permanent-Magneten ab und bewegt dabei die Schreib- Leseköpfe über die Platten. Permanent- Magnet zum Halten des Arms in der Parkposition Permanent- Magnete Spule (am Arm montiert) Drehlager zur Rotation des Arms drehbar gelagerter Arm Abb. 48: Mechanik zur Armpositionierung 4

41 Doch woher weiß der Festplatten-Controller, wieviel Strom er durch die Spule schicken muss, um die Schreib-/Leseköpfe genau auf den gewünschten Zylinder (auf die gewünschten Spuren) zu positionieren? Die Antwort ist: Auf den Platten sind sog. Servo-Informationen gespeichert, in denen auch die Nummer des jeweiligen Zylinders gespeichert ist. Diese Servo-Informationen werden in der Regel zwischen den einzelnen Sektoren gespeichert. Zur Positionierung wartet der Festplatten-Controller zunächst, bis ein Schreib-/Lesekopf über einen Servo-Bereich fährt. Der Festplatten-Controller liest die Servo-Information ein und ermittelt dadurch die aktuelle Position des Arms (Ist-Position). Durch Vergleich mit der Soll-Position (Ziel-Zylinder) ermittelt der Festplatten-Controller, wie weit die Schreib-/Leseköpfe noch vom Ziel-Zylinder entfernt sind und erhöht oder verringert den Spulenstrom dementsprechend. Die Platte dreht sich dabei weiter. Wenn die Schreib-/Leseköpfe das nächste mal einen Servo-Bereich überfahren, vergleicht der Festplattencontroller wieder die aktuelle Position des Arms mit der Soll-Position und berechnet daraus wieder eine geeignete Spulenspannung. Diese Prozedur wird nun solange wiederholt, bis der Arm über dem richtigen Zylinder steht. Anschließend findet noch eine Feinpositionierung statt, die mithilfe spezieller (ebenfalls im Servo-Bereich abgespeicherten) Fein-Positionierungs-Informationen durchgeführt wird. Im Festplatten-Controller ist also unter anderem ein Regler implementiert, der aus den Laufwerksparamtern, der Ist- und der Soll-Position den nötigen Spulenstrom bestimmt. 5 Soll-Position aktueller + Fehler Regler Spulenstrom Ist-Position Schreib-/ Lese-Kopf Gespeicherte Positionsdaten Abb. 49: Regelkreis Um gute Zugriffszeiten der Festplatte zu erreichen, muss der Arm möglichst schnell von seiner Ist- Position in die Soll-Position bewegt werden. Er darf dabei jedoch nicht über sein Ziel hinausschiessen und zu weit fahren. Gute oder schlechte Zugriffszeiten von Festplatten sind somit nicht zuletzt auf die verwendeten Regelungs-Algorithmen zurückzuführen. Zur Verbesserung der Zugriffszeit der Festplatte kann die Umdrehungsgeschwindigkeit der Platte erhöht werden, so dass die zeitlichen Abstände, in denen die Servo-Informationen an die Schreib- /Leseköpfe gelangen, verringert werden. Eine weitere Möglichkeit zur Beschleunigung der Kopfpositionierung besteht darin, die Servoinformationen nicht nur zu Beginn eines Sektors, sondern auch in kürzeren Abständen auf die Platten zu speichern. Eine verbreitete Vorgehensweise spendiert eine komplette Plattenoberfläche allein für die Servo-Informationen. 5 Wie solche Regler funktionieren und wie sie ausgelegt werden müssen, um nicht nur sehr schnell, sondern auch noch stabil zu arbeiten, können Sie beispielsweise in Regelungs- und Steuerungstechnik bei Prof. Buss oder in einem guten Buch über Regelungstechnik (z.b. Horn, Dourdoumas, Regelungstechnik, ISBN ) erfahren. 4

42 In diesem Kapitel haben wir uns diejenigen Peripherie-Geräte angeschaut, die uns unmittelbar nach dem Öffnen des PCs aufgefallen sind: Netzteil, Grafikkarte, DVD-Laufwerk, DVD-Brenner und die Festplatte. DR NT DB DL GK FP FW Abb. 5: Geräte in einem PC Wir haben dabei gemerkt: Die betrachteten Geräte sind ziemlich intelligent. Sie können selber schwierige Aufgaben ausführen (z.b. Kopf-Positionierung bei der Festplatte) und dadurch den PC-Prozessor entlasten. Die Intelligenz und hohe Leistungsfähigkeit der Geräte rührt von den eingebauten Chips her, die z.t. sehr ähnlich aufgebaut sind wie PC-Prozessoren, mit denen wir uns in dieser Vorlesung hauptsächlich beschäftigen werden. 42

43 Jetzt tauchen wir jetzt tiefer in den PC hinein, indem wir das Netzteil und die Steckkarten entfernen und die dahinter liegende Hauptplatine untersuchen...2 Komponenten auf der Hauptplatine - Überblick Nach dem Ausbau des Netzteils und der Grafikkarte ergibt sich vom Innenleben unseres PCs folgendes Bild: D5 D6 D3 D C D A B4 B4 D4 D2 B4 B4 FS B C5 LA C6 B B2 HI C3 B3 C7 C7 C C2 C8 C3 C4 C7 C7 C9 C7 C7 Abb. 5: Hauptplatine eines Computers Die grosse grüne Platine ist die Hauptplatine unseres Computers, die auch Mainboard oder Motherboard genannt wird. Auf der Hauptplatine sind alle wichtigen Komponenten des PCs untergebracht, die nicht so wie die Festplatte oder das DVD-Laufwerk als Peripherie-Geräte angesehen werden. Auf ihr befindet sich der Prozessor (A) der Hauptspeicher (B4), der Chipsatz (B, C), viele Anschlussmöglichkeiten für Steckkarten (B2, C7), für interne Geräte (C3, D4) wie beispielsweise DVD- ROM und für externe Geräte (z.b. D, D2). Da die Hauptplatine auf den ersten Blick ziemlich kompliziert aussieht, haben wir davon auf der nächsten Seite eine Schema-Darstellung angefertigt, aus der hervorgeht, wie die einzelnen Bausteine auf der Hauptplatine heißen und wie sie miteinander verschaltet sind. 43

44 A Prozessor Intel P4 23 V ~ NT Netzteil Rechen- Werk Befehls- Cache Steuer- Werk Adress-Umsetzer Daten- Cache FSB Logik/Treiber TFT- Bildschirm DVI Grafikkarte GK B B2 AGP-Port 2, GByte/s Gigabit-Ethernet- Controller B3 266 MByte/s LA Analoger VGA- Anschluss GBit/s LAN- Anschluss MBit/s B C FS Intel 82865G GMCH Grafik- Controller AGP- Controller CSA- Controller HI Ethernet- Controller Prozessor-Bus, 4 2 MHz (FSB = Front Side Bus) DDR-RAM Controller HI Controller Intel 828EB ICH5 Kanal A 3,2 GyteB/s Kanal B 3,2 GByte/s HI = Hub Interface 266 MByte/s System- Managmnt. DDR-RAM DDR-RAM DDR-RAM DDR-RAM Takt-Generator CPU, PCI, B4 B4 B4 B4 C6 Festplatte DVD- ROM FP DR C C2 C3 Anschlüsse für USB 2. 2 Anschlüsse für Serial-ATA 2 Anschlüsse für ATA 48 MBit/s 5 MByte/s MByte/s USB2.- Controller 2 SATA- Controller ATA Controller PCI- Controller CMOS- RAM Bios-interf. Controller PCI-Bus 33 MByte/s 6 PCI-Slots Batterie Flash-Bios C7 C8 C9 FW FireWire- Adapter DVD- Brenner DB C4 Audio-Codec AC `97 3 AC `97 Controller SMBus Controller LPC-interface Controller SMBus 2./ I 2 C-Bus D Anschluss für seriellen Port D Super Input/Output Controller RS 232 Controller LPC-Interface (Low Pin Count) Floppy Controller Anschluss Disketten-Laufwerk D4 DL Disketten- Laufwerk D2 Anschluss für parallelen Port LPT Controller Tastatur Controller PS/2 Anschluss Tastatur D5 Tastatur D3 Anschluss für Ventilator Drehzahlregelung Maus Controller PS/2 Anschluss Maus D6 Maus Abb. 52: Schematischer Aufbau eines Computers 44

45 Die wichtigste Komponente dieser Schema-Darstellung ist der Prozessor (A). Prozessor Nachfolgende Abbildung zeigt den auf der Hauptplatine befindlichen Prozessor (A), nachdem wir den Kühlkörper entfernt haben. Abb. 53: Prozessor (Pentium 4, Vorder- und Rückseite) Der Prozessor ist die zentrale Rechen- und Steuereinheit des gesamten Computers. Wie bzw. was der Prozessor rechnen oder steuern soll, steht in sog. Programmen, die aus einzelnen Prozessor- Befehlen bestehen. Die Prozessor-Befehle sind außerhalb des Prozessors gespeichert und werden vom Prozessor über den sog. Front-Side-Bus (FSB in Abb. 5 und Abb. 52 mit FS markiert) in den Prozessor geladen und dann ausgeführt. Die zu den Befehlen gehörigen Operanden (die sog. Daten) liegen zunächst ebenfalls außerhalb des Prozessors und müssen über den Front-Side-Bus in den Prozessor geladen werden. Um die über den FSB in den Prozessor geladenen Befehle und Operanden im Prozessor ablegen zu können, verfügen Prozessoren über sog. Register. Register sind sehr schnelle Speicherelemente, die genau soviele Bits aufnehmen können, wie sich intern parallel verarbeiten lassen. Die Anzahl dieser Bits nennt man Wortbreite und den Inhalt eines Registers dementsprechend Datenwort oder auch nur kurz Wort. Bei einem 32 Bit-Pentium-Prozessor beträgt die Wortbreite 32 Bit, die Register sind also 32 Bit breit und können somit genau 32 Bits aufnehmen. MSB jeweils Bit LSB Numerierung der Bits: n- 2 Datenwort mit Wortbreite n Abb. 54: Datenwort 45

46 Die Bitstelle mit der geringsten Wertigkeit (ganz rechts) wird auch LSB (engl. Least Significant Bit Û dt. niederwertigstes Bit) genannt. Die Bitstelle mit der höchsten Wertigkeit (ganz links) wird MSB (engl. Most Significant Bit Û dt. höchstwertigstes Bit) genannt. Um Befehle sowohl abspeichern, als auch über den Bus übertragen zu können, werden Befehle genauso wie Operanden und Adressen als Zahlen codiert. Der Befehl Addiere zwei Zahlen kann beispielsweise als x2 codiert sein, also der Bitfolge entsprechen. Diese Bitfolge kann dann problemlos abgespeichert bzw. übertragen werden. Die nachfolgenden Abbildungen zeigen die Abarbeitung von Befehlen durch den Prozessor: Der als nächstes auszuführende Befehl wird aus einem externen Speicher über den FSB in das Befehls- Register transportiert. Anschliessend werden die zugehörigen Operanden (ebenfalls über den FSB) geladen. FSB = Front Side Bus 2 BR: BZ: 3 Steuerung Flags: Steuerwerk Registerblock mit Registern ALU Abb. 55: Laden von Befehlen in den Prozessor Dazu wird vom sog. Steuerwerk 6 zuerst der im Befehlszähler BZ (ein Register im Steuerwerk) stehende Wert als Adresse auf den FSB gelegt (). Diesen Vorgang nennt man Befehlsadressierung, da im Befehlszähler immer die Zahl steht, die der Adresse des als nächstes auszuführenden Befehls entspricht. Auf den FSB wird also die Adresse des nächsten Befehlsworts gelegt. Kurz danach erhält der Prozessor über den FSB das gewünschte Befehlswort, das er dann im Befehlsregister BR ablegt (2). Nachdem das Befehlswort ins Befehlsregister übertragen wurde, wird es von der Steuerung analysiert (3). Die Steuerung ermittelt dabei, von woher sie die Operanden des Befehls laden soll, ob die Operanden also z.b. - direkt im Befehlswort abgelegt sind, - bereits in den Prozessor geladen wurden und jetzt in Registern stehen, oder - erst über den FSB in den Prozessor geladen werden müssen. 6 Der Name Steuerwerk leitet sich von der Aufgabe des Steuerwerks ab: Es steuert die Abarbeitung von Befehlen. Es wird oft auch als Leitwerk bezeichnet, da es zum einen die Befehlsausführung leitet (leiten im Sinne von überwachen, verantwortlich sein), zum anderen die Befehle und Operanden zu den jeweiligen Prozessor-Komponenten hinleitet (leiten im Sinne von entlangleiten, hinführen). 46

47 Nach dieser Analyse sorgt das Steuerwerk dafür, dass die benötigten Operanden der sog. ALU (Arithmetic Logic Unit), der Recheneinheit des Prozessors, zugeführt werden. - Stehen die Operanden direkt im Befehlswort, werden sie von dort zur ALU geleitet (4). - Stehen die Operanden in Registern, adressiert die Steuerung die entsprechenden Register (5), d. h. sie teilt dem Registerblock mit, welche Register ausgelesen werden sollen. Anschliessend sorgt sie dafür, dass die adressierten Operanden aus dem Registerblock an die ALU geleitet werden (6). FSB = Front Side Bus BR: 4 BZ: Steuerung 5 Flags: Steuerwerk Registerblock mit Registern ALU Abb. 56: Bereitstellung von Operanden: Direktoperanden und Register-Operanden. - müssen die Operanden erst über den FSB in den Prozessor geladen werden, + legt die Steuerung zunächst die Adresse der Operanden auf den FSB (7) und + leitet die dann über den FSB gelieferten Daten als Operanden entweder direkt an die ALU (8) oder erst mal in ein Register (9), von wo aus sie dann von anderen Befehlen der ALU zugeführt werden können (). FSB = Front Side Bus 7 BR: BZ: Steuerung Flags: Steuerwerk 7 9 Registerblock mit Registern 8 ALU Abb. 57: Bereitstellen von Operanden über den FSB 47

48 Nachdem die Steuerung alle Operanden an die ALU angelegt hat, teilt sie der ALU den auszuführenden Befehl (z.b. Addieren, Multiplizieren etc.) mit () und startet dann die Befehlsausführung (2). FSB = Front Side Bus BR: BZ: Steuerung 3 Flags: Steuerwerk 2 4 Registerblock mit Registern ALU Abb. 58: Berechnung des Ergebnisses Treten bei der Befehlsausführung in der ALU unvorhergesehene Ereignisse/Fehler auf (z.b. Division durch Null), werden diese der Steuerung gemeldet (3), die dann weitere Maßnahmen trifft. Hat die ALU die ihr aufgetragenen Berechnungen abgeschlossen, meldet sie bestimmte Eigenschaften des Ergebnisses (z.b. Ergebnis ist Null, Ergebnis ist negativ), indem Sie das im Steuerwerk untergebrachte Flag-Register aktualisiert (4). Nachfolgende Abbildung zeigt ein Beispiel für ein Flag-Register. Overflow: Überlauf bei vorzeichenbehafteten Zahlen Carry (Übertrag): Überlauf bei vorzeichenlosen Zahlen Zero: Ergebnis ist Null Sign (Vorzeichbit): Ergebnis ist negativ O C Z S W I X E Gleitkomma-Zahl ungenau (z.b../3.) Gleitkomma-Division durch Null Ungültige Gleitkomma-Operation (z.b. - ) Überlauf bei Gleitkomma-Festkomma-Wandlung Abb. 59: Flag-Register 48

49 Je nach ausgeführtem Befehl muss die Steuerung jetzt das am ALU-Ausgang anliegende Ergebnis - über den FSB verschicken (5). Dazu muss die Steuerung neben dem Ergebnis auch die Zieladresse (Adresse im Arbeitsspeicher oder Peripherie-Gerät) mit auf den FSB legen (6). - in ein Register des Registerblocks transportieren (7). Hierbei muss die Steuerung durch Anlegen der Registeradresse an den Registerblock diesem mitteilen, in welches Register das Ergebnis abgelegt werden soll (8). FSB = Front Side Bus BR: BZ: 8 2 Steuerung 62 Registerblock mit Registern 9 Flags: Steuerwerk 5 ALU 7 Abb. 6: Sichern des Ergebnisses Wird das Ergebnis in einem Register abgelegt, kann es - sofort wieder verwendet werden (9). Eine zeitaufwendige Datenübertragung über den FSB ist hier nicht notwendig. - auch vom Register aus über den FSB verschickt werden (2). Dazu muss die Steuerung wieder die Zieladresse an den FSB anlegen (2). Um den nächsten Befehl über den FSB in den Prozessor zu laden, muss der Befehlszähler (die Adresse auf den nächsten Befehl) angepasst werden. Dazu wird zu dem aktuellen Wert des Befehlszählers die Wortbreite eines Befehls (in Byte) addiert und der Wert des neuen Befehlszählers dann wieder auf den FSB gelegt [() aus Abb. 55 (Seite 46)]. Wortbreite des aktuellen Befehls BZ + Addierer zum FSB Abb. 6: Anpassen des Befehlszählers Ab diesem Zeitpunkt wiederholen sich die in den Abb. 55 bis Abb. 6 dargestellten Schritte. Die im Speicher stehenden Befehle werden der Reihen nach ausgeführt. 49

50 Fast genauso wichtig wie der Prozessor ist der Arbeitsspeicher, in dem sowohl die auszuführenden Befehle, als auch die zugehörigen Operanden (die sog. Daten) stehen. Arbeitsspeicher Die in den Abb. 5 und Abb. 52 mit B4 gekennzeichneten Komponenten sind die DDR-RAM-Module, die zusammen den Arbeitsspeicher des Computers bilden. Abb. 62: DDR-RAM (Arbeitsspeicher) Die Aufgabe des Arbeitsspeichers ist die temporäre Speicherung von Daten und Befehlen. Mit temporär ist gemeint, dass - zum Einen die im Arbeitsspeicher abgelegten Daten mit dem Ausschalten des PCs verloren gehen. Der Arbeitsspeicher wird deshalb auch als volatiler (= flüchtiger) Speicher bezeichnet. - zum Anderen im Arbeitsspeicher nur diejenigen Daten bzw. Befehle liegen, mit denen gerade gearbeitet wird, woher sich auch der Name Arbeitsspeicher ableitet. Im Gegensatz dazu ist die Festplatte ein nicht volatiler (= nicht flüchtiger) Speicher. Die Daten auf der Festplatte gehen also nicht verloren, wenn man sie ausschaltet. Auf der Festplatte sind alle Daten und Programme (Folge von Befehlen) gespeichert, die man irgendwann einmal verwendet hat oder evtl. einmal verwenden wird. Mit den Daten auf der Festplatte wird also nicht aktuell gearbeitet, die Daten werden auf der Festplatte nur gelagert. Um mit Daten/Programmen zu arbeiten, müssen diese erst von der Festplatte in den Arbeitsspeicher geladen werden () (vgl. nachfolgende Abbildung). Die Daten werden dann vom Arbeitsspeicher in den Prozessor transportiert (2), dort verarbeitet (3) und dann wieder im Arbeitsspeicher abgelegt (4). Sollen die Daten erneut bearbeitet werden, müssen sie wieder vom Arbeitsspeicher in den Prozessor geladen werden (5). Dort werden Sie weiterverarbeitet (6) und im Anschluss wieder in den Arbeitsspeicher zurückgeschrieben (7). Würde der Rechner jetzt ausgeschaltet werden, gingen die Daten verloren. Um sie permanent zu speichern, müssen sie auf der Festplatte abgelegt werden (8). 5

51 Abb. 63: Datenfluß im PC Nachfolgende Abbildung zeigt, dass der Arbeitsspeicher wie eine Tabelle funktioniert. Steuerleitungen Daten Adresse z.b. x..2 Lesen Schreiben 8 x4b x4b Speicher- Adressen x.. x.. x..2 x..3 x..4 x..5 xff..ff 5 Datum ( Byte) Speicher-Inhalt (Daten) x x2f x4b xc3 x96 x83 x5d Abb. 64: Speicher Um auf Daten im Arbeitsspeicher zuzugreifen, muss man dem Speicher zuerst mitteilen, auf welches Datum der Zugriff erfolgen soll. Dazu legt man am Eingang Adresse die Adresse der gewünschten Speicherstelle an (). Diese sog. Adressierung hat zur Folge, dass im Speicher die Speicher-Stelle mit dem gewünschten Datum ausgewählt wird (2). - Soll das ausgewählte Datum aus dem Speicher ausgelesen werden, muss man dies dem Speicher durch ein Signal auf der Steuerleitung Lesen mitteilen (3). Der Speicher reagiert darauf, indem er zwischen der adressierten Speicherstelle und der mit Daten gekennzeichneten Spei- 5

52 cher-schnittstelle eine Verbindung freischaltet (4), so dass das gewünschte Datum nach aussen geleitet wird (5) und dann dort abgegriffen werden kann (6). - Soll an die ausgewählte Stelle jedoch ein neues Datum geschrieben werden, muss dieses Datum zunächst an die Daten-Schnittstelle angelegt werden (7). Durch ein Signal auf der Steuerleitung Schreiben (8) wird dann eine Verbindung zwischen der Daten-Schnittstelle und der adressierten Speicherstelle hergestellt (9), über die das Datum dann transportiert wird (). Das Datum wird anschliessend an der adressierten Speicherstelle abgespeichert (). Die Daten-Schnittstelle zum Speicher muss also bidirektional ausgelegt sein, d.h. sie dient beim Lesen als Ausgang und beim Schreiben als Eingang. Die Adress- und Steuer-Schnittstelle des Speichers ist unidirektional. Sie dient immer nur als Eingang und niemals als Ausgang. Neben der zuvor besprochenen Eigenschaft, dass der Arbeitsspeicher ein flüchtiger Speicher ist, gibt es noch eine weitere Eigenschaft, die ihn von anderen Speichermedien wie z.b. Festplatte oder DVD unterscheidet: Ganz egal, auf welche Speicherstelle man gerade geschrieben hat oder von welcher Speicherstelle man gerade gelesen hat, dauert der Zugriff auf eine beliebige andere Speicherstelle immer gleich lang. Man spricht deshalb auch von einem Speicher mit wahlfreiem Zugriff, was im englischen mit RAM (Random Access Memory) abgekürzt wird. Im Gegensatz dazu muss bei einer Festplatte in Abhängigkeit der Position des gerade adressierten Datums zur Adressierung eines anderen Datums der Schreib- und Lesekopf einmal mehr, einmal weniger weit verschoben werden, was natürlich Zeit kostet. Darüberhinaus kann nach der Positionierung des Schreib- Lesekopfs erst dann auf den gewünschten Sektor zugegriffen werden, wenn sich dieser unter dem Schreib-Lesekopf befindet. Bei DVD-Laufwerken, bei denen die DVD mit gleicher Linear-Geschwindigkeit, also mit unterschiedlicher Winkel-Geschwindigkeit 7 rotiert, muss zusätzlich noch die Geschwindigkeit erhöht bzw. verringert werden. RAMs lassen sich in zwei Gruppen einteilen: - SRAMs (= Statisches RAMs) und - DRAMs (Dynamisches RAMs). Eine SRAM-Speicherzelle benötigt zur Abspeicherung eines Bits sechs Transistoren, von denen sich vier gegenseitig Sperren bzw. Durchschalten, wie in nachfolgender Abbildung gezeigt. Zeilenleitung (Auswahl) Spaltenleitung N P N3 U B P2 N4 N2 Spaltenleitung invertiert Bit Bit Abb. 65: SRAM-Speicherzelle Die Speicherzelle wird über die sog. Zeilenleitung (oder auch Auswahlleitung) adressiert. Das Bit wird dann über die Spaltenleitungen (Bit bzw. Bit invertiert) ein- und ausgelesen. 7 Sollen die auf der DVD geschriebenen Daten vom Laser mit konstanter Rate abgetastet werden, muss sich die DVD umso schneller drehen, je weiter innen auf der DVD die Daten gelesen werden. 52

53 Nachfolgende Abbildung zeigt, wie man in dieser rückgekoppelten Transistor-Schaltung ein Bit abspeichern kann. Spannungspegel auf der Höhe der Versorgungsspannung sind dabei mit +, Masse durch gekennzeichnet Spaltenleitung Zeilenleitung (Auswahl) U B P + 5 P2 + 3 Y N - N2-7 X N3 - N Spaltenleitung invertiert 2 Bit = (+) 3 Bit = (-) Abb. 66: Abspeichern eines Bits im SRAM Im Grundzustand liegt die Zeilenleitung auf Masse (). Da an den Gates der beiden N-Kanal- Transistoren N und N2 dann ebenfalls Masse anliegt, sperren beide. Die aus den vier Transistoren P, P2, N3 und N4 aufgebaute Rückkopplungsschaltung ist somit von der Aussenwelt isoliert. Will man ein Bit mit dem Wert in dieser Speicherzelle abspeichern, legt man zunächst den Eingang Bit auf, also auf den Pegel der Versorgungsspannung U B (2) und den Eingang Bit invertiert auf, also auf Masse (3). Wählt man anschließend durch Anlegen der Versorgungsspannung an die Zeilenleitung (4) die SRAM- Zelle aus, liegen die Gates der beiden Transistoren N und N2 auf U B (5, 6). Da die Spaltenleitung Bit auf U B liegt (2), liegt auch am Source-Anschluss von N U B an (7), weswegen dieser sperrt. Punkt X wird von N also auf keinen bestimmten Spannungspegel gezogen. Da die Spaltenleitung Bit invertiert auf Masse liegt (3), liegt der Source-Anschluss von N2 ebenfalls auf Masse (8). Da das Gate von N2 auf U B -Pegel liegt (6) schaltet N2 durch und zieht den Punkt Y auf Masse (9). Aus diesem Grund werden auch die Gates von N3 und P auf Masse gezogen (, ). Da bei N3 sowohl Gate () als auch Source auf Masse liegen, sperrt dieser. Bei P hingegen liegt Source auf U B (2), so dass P leitend wird und der Punkt X auf U B -Potential gezogen wird (3). Dies hat wiederum zur Folge, dass die Gates von N4 und P2 ebenfalls auf U B -Potential liegen (4, 5). Da bei P2 jetzt sowohl Source (6) als auch Gate (5) auf U B -Potential liegen, sperrt dieser. N4 leitet jedoch, da sein Gate auf U B -Potential (4) und Source auf Masse (7) liegt. Daraus folgt, dass Punkt Y auch dann auf Masse-Pegel bleibt (8), wenn an der Zeilenleitung wieder U B -Pegel angelegt wird (9), die Transistoren N und N2 damit nicht mehr durchschalten und die aus P, P2, N3 und N4 bestehende Rückkopplungsschaltung wieder von der Aussenwelt abtrennen. Durch die Rückkopplung der vier Transistoren P, P2, N3 und N4 liegt Punkt X somit auf +U B und Punkt Y auf Masse. Dieser Zustand entspricht dem abgespeicherten Wert. Läge Punkt X auf Masse und Punkt Y auf +U B, entspräche das dem abgespeicherten Wert. 53

54 Wie der im SRAM gespeicherte Wert wieder ausgelesen werden kann, zeigt die nachfolgende Abbildung U B /2 U B / N5 + Precharge N6 Spaltenleitung 6 6 U B /2 U B /2 N Zeilenleitung (Auswahl) P X N3 U B P2 Y N4 N2 Spaltenleitung invertiert Bit Bit U B Þ - U B Þ 2 Abb. 67: Auslesen einer SRAM-Speicherzelle Um das gespeicherte Bit auszulesen, muss getestet werden, ob - entweder Punkt X auf positivem Potential und damit Punkt Y auf negativem Potential liegt (dann ist eine gespeichert), - oder Punkt X auf negativem Potential und damit Punkt Y auf positivem Potential liegt (dann ist eine gespeichert). Für diesen Test werden durch Anlegen von +U B an die Zeilenleitung (8) die beiden Transistoren N und N2 durchgeschaltet und die Potentiale der Punkte X und Y an einen Differenzverstärker weitergeleitet (9, ), dessen Ausgang dann je nach abgespeichertem Bit entweder +U B (abgespeichertes Bit war eine ) oder auf -U B (abgespeichertes Bit war eine ) liefert (, 2). Damit beim Durchschalten der Transistoren N und N2 am Differenzverstärker möglichst schnell die Pegeldifferenz der Punkte X und Y anliegt, sollten die beiden Spaltenleitungen (Bit und Bit invertiert) vor dem Durchschalten auf selbem Potential liegen. - Da die beiden Spaltenleitungen aufgrund der daran angeschlossenen Transistoren und der Verdrahtung über eine gewisse Kapazität verfügen, ist auf ihnen stets eine gewisse Ladung gespeichert. - Im ungünstigen Fall hat diese Ladung ein zur Ladung an den Punkten X und Y genau entgegengesetztes Vorzeichen. - Diese Ladung auf den Spaltenleitungen muss beim Durchschalten der Transistoren erst überwunden werden, was einen Zeitverlust darstellt. 54

55 - Liegen beide Spaltenleitungen vor dem Durchschalten von N und N2 jedoch auf selbem Potential, genügt bereits der Transport einer sehr geringen Ladungsmenge, um den zwischen den Punkten X und Y vorhandenen Potentialunterschied durch den Differenzverstärker detektieren zu können. - Die Detektion erfolgt dann sehr schnell, was eine sehr kurzen Auslesezeit der Speicherzelle zur Folge hat. Im Grundzustand liegen die Zeilenleitung und die Steuerleitung Precharge jeweils auf Masse (, 2). Die aus P, P2, N3 und N4 bestehende Rückkopplungsschaltung ist somit von den Spaltenleitungen getrennt. Um die Spaltenleitungen auf gleiches Potential (in diesem Beispiel U B /2) zu legen, wird auf der Steuerleitung Precharge für kurze Zeit die Spannung +U B angelegt (3). Da das Gate (4) der Transistoren N5 und N6 dann auf höherem Pegel liegt als die zugehörigen Source-Anschlüsse (5), schalten N5 und N6 durch. Die Spaltenleitungen Bit und Bit invertiert werden somit beide auf U B /2-Potential aufgeladen (6) und die beiden Transistoren N5 und N6 durch Anlegen von Masse an die Precharge-Leitung (7) danach wieder gesperrt. Selbst wenn bei einer abgespeicherten N aufgrund des geringen Spannungsunterschiedes (DU = U B U B /2 = U B /2) zwischen Gate und Source nicht durchschalten sollte, führt die Spaltenleitung Bit aufgrund der Aufladung zumindest positives Potential. Die Spaltenleitung Bit invertiert wird bei einer abgespeicherten hingegen definitiv über N2 auf Masse gezogen, so dass am Differenzverstärker das Vorzeichen der Pegeldifferenz der Punkte X und Y sofort detektiert werden kann. 55

56 Im Gegensatz zu SRAM-Speicherzellen sind DRAM-Speicherzellen wesentlich einfacher aufgebaut: Sie bestehen lediglich aus einem Transistor und einem Kondensator. Spaltenleitung Zeilenleitung C Abb. 68: DRAM-Speicher Der Transistor dient wie die beiden Transistoren N und N2 beim SRAM zur Isolierung des Speicherelements von der Aussenwelt. Das Speicherelement ist hier jedoch nicht eine rückgekoppelte Transistorschaltung, sondern ein Kondensator. Um ein Bit im DRAM abzulegen, wird der Transistor durchgeschaltet und der Kondensator über die Zeilenleitung dann entweder ge- oder entladen. Anschliessend wird der Transistor wieder gesperrt, so dass die im Kondensator gespeicherte Ladung erhalten bleibt. Aufgrund von Leckströmen verliert der Kondensator jedoch mit der Zeit seine Ladung, weshalb er immer wieder aufgefrischt werden muss. Die Speicherzelle muss dabei ausgelesen und dann mit dem selben Wert wieder beschrieben werden. Da Laden und Entladen bei Kondensatoren immer Zeit benötigt (U(t) = U e -RC/t ), sind Speicherzugriffe auf DRAMs im Vergleich zu Zugriffen auf SRAMs wesentlich langsamer. Da für DRAM-Speicherzellen vier Bauteile weniger benötigt werden als für SRAM, kann DRAM billiger hergestellt werden als SRAM. Zudem benötigt eine DRAM-Speicherzelle wesentlich weniger Silizium- Fläche als eine SRAM-Speicherzelle, weshalb deutlich mehr DRAM-Speicherzellen als SRAM- Speicherzellen auf einen Chip passen. Aus diesem Grund erreicht man bei einer bestimmten Speichergrösse mit DRAM auch eine höhere Ausbeute als mit SRAM, was den Preis von DRAM im Vergleich zu SRAM weiter senkt. Gerade diese Wirtschaftlichkeit hat dafür gesorgt, dass als Arbeitsspeicher fast ausschliesslich DRAM-Speicher verwendet wird. Da die Zeilen- und Spaltenleitungen des Chips beim Be- und Entladen der Speicherzelle belegt sind und somit nicht zum Be- und Entladen von anderen Speicherzellen des Speicherchips verwendet werden können, sind die Daten aufeinanderfolgender Adressen in der Regel in verschiedenen Speicherchips abgelegt. Auf diese Weise kann bei den häufig auftretenden konsekutiven Speicherzugriffen (Zugriffe auf aufeinanderfolgende Adressen) die eine Speicherzelle bereits ausgelesen werden, während in die andere noch die beim Auslesen verlorengegangene Ladung zurückgeladen wird. Solche Verfahren haben zu einer Vielzahl unterschiedlicher DRAM-Speicherarten geführt. Eine von diesen ist auch das in unserem PC verwendete DDR-RAM (Double-Data-Rate RAM), das eine Weiterentwicklung des SD-RAMs (Synchronous DRAM) ist. 56

57 Wie wir in Abb. 63 auf Seite 5 gesehen haben, werden zwischen Prozessor und Arbeitsspeicher Daten transportiert. Prozessor und Arbeitsspeicher sind dazu über einen sog. Bus miteinander verbunden. Dass dieser Bus in Abb. 52 auf Seite 44 noch von einem weiteren Chip, dem GMCH (früher Northbridge genannt), gekreuzt wird, soll uns hier erstmal nicht stören. Wir nehmen zunächst einfach an, dass der Arbeitsspeicher direkt mit dem Prozessor verbunden ist (vgl. nachfolgende Abbildung). Prozessor (CPU) Arbeitsspeicher Bus BR: Steuerwerk/ Leitwerk Registerblock mit Registern Rechenwerk/ ALU Abb. 69: Prozessor, Arbeitsspeicher und Bus Desweiteren betrachten wir zunächst auch nicht den in unserem Rechner real verwendeten Bus, sondern wir wählen eine Art Phantasie-Bus, mit dem sich das Prinzip der Datenübertragung leichter verstehen lässt. Wenn Sie das Prinzip des Datenaustauschs über Busse verstanden haben, schauen wir uns die in unserem Rechner vorkommenden realen Busse an. Busse Ein Bus ist nichts anderes als eine Menge paralleler Leitungen, die in ihrer Gesamtheit eine bestimmte Funktion erfüllen: Das Übertragen von Daten von einem Sender zu einem Empfänger. In unserem Beispiel vom Prozessor zum Arbeitsspeicher bzw. vom Arbeitsspeicher zum Prozessor. Wie viele reale Bussysteme, gliedert sich auch der von uns hier betrachtete Phantasie-Bus in drei Teil- Busse auf: - Datenbus: Der Datenbus dient zur Übertragung der Daten, die zwischen dem Prozessor und dem Arbeitsspeicher ausgetauscht werden sollen. - Adressbus: Der Adressbus dient zur Adressierung. Unter Adressierung versteht man das Auswählen bestimmter Speicherstellen (oder Geräte s.u.): + Beim Schreiben von Daten in den Speicher werden durch die Adressierung diejenigen Speicherstellen bestimmt, in die die Daten geschrieben werden sollen. + Beim Lesen von Daten aus dem Speicher werden durch die Adressierung diejenigen Speicherstellen bestimmt, aus denen die Daten ausgelesen werden sollen. 57

58 - Steuerbus: Der Steuerbus steuert die Datenübertragung. + Wenn der Prozessor Daten in den Speicher schreibt, gibt bei unserem Phantasie-Bus eine fallende Flanke auf der Schreibleitung Schreiben an, dass die auf dem Datenbus befindlichen Daten gültig sind und vom Speicher übernommen werden können. die auf dem Adressbus befindliche Adresse gültig ist und vom Speicher verwendet werden kann. der Schreibvorgang jetzt durchgeführt werden soll. + Wenn der Prozessor Daten aus dem Speicher liest, gibt eine fallende Flanke auf der Leseleitung Lesen an, dass der Datenbus jetzt hochohmig (Tristate) ist, so dass der Speicher Daten auf den Datenbus ablegen kann, ohne dass es zu einem Kurzschluss kommt. die auf dem Adressbus befindliche Adresse gültig ist und vom Speicher verwendet werden kann. der Lesevorgang jetzt durchgeführt werden soll. + Wenn der Prozessor Daten aus dem Speicher liest, übernimmt er bei der steigenden Flanke auf der Leseleitung Lesen die auf dem Datenbus anliegenden Daten und speichert sie intern ab. Nachfolgende Abbildung zeigt die Verwendung unseres Phantasie-Busses bei einem Schreibvorgang. Dabei wird der 4-Bit-Wert 2 an die Speicheradresse 2 geschrieben. Adress-Bus: Bit 3 3 Adr. Inhalt 2 5 Bus Bit 2 Bit Bit Daten-Bus: Bit 3 Bit 2 Bit Bit Steuer-Bus: 7 Prozessor schreibt Daten an Adresse und gibt an der Leitung Schreiben eine fallende Flanke aus. Lesen Schreiben Bus besteht aus Adress-, Daten- und Steuer-Bus. 6 t schreiben Spannungs-Pegel auf den Busleitungen in Abhängigkeit der Zeit. t Wert am Adress-Bus wählt die Speicherzelle aus, in die die Daten geschrieben werden. Abb. 7: Bussignale und deren Verwendung beim Schreibzugriff 58

59 Zuerst legt der Prozessor das Datenwort (), das abgespeichert werden soll, zusammen mit der Adresse (2), an die das Datenwort abgespeichert werden soll, auf den Bus. Die grau hinterlegten Bereiche (3) und (4) zeigen die Adresse und das Datenwort als Signalpegel auf den Busleitungen. Nachdem der Prozessor Datenwort und Adresse am Bus angelegt hat, teilt er dem Speicher durch eine fallende Flanke (5) auf der Steuer-Bus-Leitung Schreiben (6) mit, dass der Speicher die Daten jetzt abspeichern kann. Sobald der Speicher die fallende Flanke auf der Schreib-Leitung detektiert (7), wählt er die durch den Adressbus adressierte Speicherzelle aus (8) und schreibt dorthin das am Datenbus anliegende Datenwort (9). Das Einlesen von Daten aus dem Speicher in den Prozessor funktioniert so ähnlich: Adress-Bus: Bit 3 2 Adr. Inhalt 3 9 Bus Bit 2 Bit Bit Daten-Bus: Bit 3 Bit 2 Bit Bit Prozessor legt Adresse Steuer-Bus: auf den Adress- Bus, hält den Lesen Datenbus hochohmig und gibt Schreiben auf der Leitung Lesen eine fallende Flanke aus. Damit zeigt er, dass die Adresse jetzt gültig ist und Bus besteht aus Adress-, sofort gelesen Daten- und Steuer-Bus. werden soll. 4 t schreiben Spannungs-Pegel auf den Busleitungen in Abhängigkeit der Zeit. 9 t 5 Wert am Adress-Bus wählt die Speicherzelle aus, aus der die Daten gelesen werden. Zunächst legt der Prozessor die Adresse der Speicherstelle (), von der die Daten eingelesen werden sollen, auf den Adressbus. Der am Adressbus grau hinterlegte Bereich (2) zeigt, wie das Adresswort auf dem Bus als Logik- bzw. Spannungs-Pegel übermittelt wird. Mit einer fallenden Flanke (3) auf der Steuerleitung Lesen (4) signalisiert der Prozessor dem Arbeitsspeicher, dass dieser den Inhalt der zur am Adressbus anliegende Adresse gehörigen Speicherstelle auf den Daten-Bus legen soll. Detektiert der Arbeitsspeicher die fallende Flanke auf der Lesen-Leitung (5), wählt er die adressierte Speicherstelle aus (6) und legt dann die dort abgespeicherten Daten (7) am Datenbus an (8). Der Prozessor wartet eine bestimmte Zeit und generiert dann auf der Lesen-Leitung eine steigende Flanke (9), die er selber dazu benutzt, die auf dem Datenbus anliegenden Daten zu übernehmen (). 59

60 Busse sind jedoch viel universeller, als dass sie nur die Datenübertragung zwischen Prozessor und Arbeitsspeicher übernehmen könnten: Über Busse können auch alle im PC installierten Geräte angesteuert werden. Der Verdrahtungsaufwand ist dabei gering, da alle Kommunikationsteilnehmer sich einfach an den Busleitungen einklinken können, jede Busleitung also mit jedem Gerät verbunden ist. Die nachfolgende Abbildungen zeigen, wie Daten nicht nur zwischen Prozessor und Speicher, sondern auch zwischen Prozessor und einem beliebigen Peripherie-Gerät übertragen werden können. Das Schreiben von Daten in ein Peripheriegerät funktioniert dabei wie in nachfolgendem Beispiel: Der Prozessor schreibt das Datenwort an die Adresse. Die Adresse ist in diesem Fall jedoch nicht dem Arbeitsspeicher, sondern einer bestimmten Speicherstelle in einem der vier an den Bus angeschlossenen Geräte zugeordnet. Adress-Bus: Bit 3 Bit 2 Bit Gerät 7 Adresse == meine? ja nein 8 4 Bus Bit Daten-Bus: Bit 3 Bit Gerät 2 7 Adresse == meine? ja 9 nein Bit Bit 3 6 Gerät 3 7 Adresse == meine? ja nein 8 Steuer-Bus: Prozessor schreibt Daten an die Adresse und gibt an der Leitung Schreiben eine fallende Flanke aus. Lesen Schreiben Bus besteht aus Adress-, Daten- und Steuer-Bus. t schreiben Pegel auf den Busleitungen in Abhängigkeit der Zeit. t 3 6 Gerät 4 7 Adresse == meine? ja nein 8 Am Bus angeschlossene Geräte überprüfen die Adresse und übernehmen ggf. die Daten. Abb. 7: Schreiben von Daten in ein am Bus angeschlossenes Gerät (z.b. Steuerbefele fürs DVD-ROM) Wie zuvor beim Schreibzugriff auf den Arbeitsspeicher legt der Prozessor zuerst die Adresse auf den Adress-Bus (). Die Adresse wandert über den Adressbus (2) und liegt dann bei allen am Bus angeschlossenen Geräten an (3). Als nächstes legt der Prozessor die zu schreibenden Daten (4) auf den Daten-Bus (5), so dass auch diese an allen am Bus angeschlossenen Geräten anliegen (6). Jedes der am Bus angeschlossenen Geräte überprüft nun, ob es für die auf dem Adress-Bus anliegende Adresse (3) zuständig ist (7). In unserem Beispiel erkennen die Geräte, 3 und 4, dass sie nicht für die am Adress-Bus anliegende Adresse zuständig sind, weshalb sie nichts unternehmen (8). 6

61 Gerät 2 erkennt jedoch, das die am Bus anliegende Adresse von ihm selber verwendet wird (9) und bereitet sich darauf vor, die am Datenbus anliegenden Daten zu übernehmen. Sobald der Prozessor das Übernahme-Signal () generiert und es über die Steuerleitung Schreiben () an die am Bus angeschlossenen Geräte gelangt, übernimmt Gerät 2 die am Datenbus anliegenden Daten in seine durch adressierte Speicherstelle (2). Das Lesen von Daten aus am Bus angeschlossenen Geräten funktioniert sehr ähnlich: Adress-Bus: Bit 3 Bit 2 Bit 2 3 Gerät 4 Adresse == meine? ja nein Bus Bit Daten-Bus: Bit 3 Bit 2 Bit Bit Gerät 2 4 Adresse == meine? ja 6 nein Gerät 3 4 Adresse == meine? ja nein 5 Steuer-Bus: Lesen Schreiben 8 t 3 Gerät 4 4 Adresse == meine? ja nein 5 Prozessor liest Daten aus der Speicherstelle eines externen Geräts ein. Bus besteht aus Adress-, Daten- und Steuer-Bus. Pegel auf den Busleitungen in Abhängigkeit der Zeit. Am Bus angeschlossene Geräte überprüfen die Adresse und legen ggf. die Daten auf den Bus. Abb. 72: Einlesen von Daten von einem am Bus angeschlossenen Gerät (z.b. Daten vom DVD-ROM) Zuerst legt der Prozessor die Adresse, von der er etwas einlesen will, auf den Bus (). Die Adresse wird über den Bus übertragen (2) und liegt dann an allen am Bus angeschlossenen Geräten an (3). Jedes Gerät überprüft nun, ob es für diese Adresse zuständig ist (4). In obiger Abbildung sind wieder die Geräte, 3 und 4 nicht für die am Bus befindliche Adresse zuständig und ignorieren somit die Anfrage (5). Gerät 2 erkennt, dass es für die am Bus anliegende Adresse zuständig ist (6) und macht sich für weitere Schritte bereit. Um den Datentransfer einzuleiten, legt der Prozessor eine fallende Flanke (7) auf die Steuerleitung Lesen. Die Flanke wird vom Bus übertragen (8) und dann von den Geräten detektiert. Sobald das Gerät 2 die fallende Flanke erkennt, legt es die an der Adresse gespeicherten Daten auf den Datenbus (9), über den sie dann übertragen werden () und schliesslich am Prozessor anliegen. Mit der auf die fallende Flanke folgenden steigenden Flanke () übernimmt der Prozessor die auf dem Datenbus befindlichen Daten (2). 6

62 Nachdem wir nun wissen, wie der Prozessor Peripheriegeräte ansprechen kann, können wird das in Abb. 69 auf Seite 57 gezeigte Bild wie nachfolgend angegeben erweitern: Arbeitsspeicher B4 Bus Prozessor (CPU) C9 Bios-Programm (Flash) Bios-Daten (batteriegepuffert) in C enthalten A DL Peripherie: Diskettenlaufwerk BR: Steuerwerk/ Leitwerk Registerblock mit Registern Rechenwerk/ ALU FP DR DB Festplatte CD-/DVD-Laufwerk C LAN, USB, FireWire c:\> Bildschirm GK D5 Tastatur Abb. 73: Vereinfachter Aufbau eines Computers Der Prozessor ist über einen Bus mit der Aussenwelt verbunden. Der Bus dient als einziges Kommunikationsmittel zwischen dem Prozessor und den restlichen Komponenten und wird (bis auf DMA- Zugriffe) vom Prozessor gesteuert. Die restlichen Komponenten gliedern sich in drei Gruppen: - Im Flash-Speicher-Chip (C9), der sich auf der Hauptplatine befindet, sind diejenigen Befehle abgespeichert, die nach dem Start des Computers als erstes ausgeführt werden; man spricht hier vom sog. BIOS (Basic Input Output System), da in diesem Chip Programme abgelegt sind, die eine rudimentäre Ansteuerung von Ein- und Ausgabegeräten ermöglichen. Benutzerdefinierte Einstellungen, die beim Starten des Rechners durchgeführt werden sollen, sind dabei in einem batteriegepufferten RAM abgelegt, das bei unserem Computer im ICH5 (Input Output Controller Hub der 5. Generation das durch C gekennzeichnete Bauelement) untergebracht ist. - Der Arbeitsspeicher (B4) nimmt sowohl Daten als auch Befehle auf. In ihm stehen neben den Programmen, die der Prozessor ausführt, auch die Daten, mit denen der Prozessor seine Berechnungen anstellt. - Die Peripherie dient zur Ein- und Ausgabe von Daten 62

63 + zwischen Mensch und Maschine (Tastatur und Bildschirm). + zwischen Maschine und Maschine (Festplatte, CD, DVD, Diskette, LAN-Adapter, USB- oder FireWire-Adapter). Der gesamte Ablauf in einem Computersystem lässt sich damit im wesentlichen auf drei Schritte zurückführen: - Der Prozessor liest Daten aus dem Speicher oder einem Peripherie-Gerät ein. - Der Prozessor verarbeitet diese Daten oder führt sie als Programm aus. - Der Prozessor speichert verarbeitete Daten ab oder schickt sie an ein Peripherie-Gerät. Wenn wir unseren Computer einschalten, beginnt der Prozessor automatisch damit, Befehle aus einer bestimmten Speicheradresse zu holen und dann als Programm auszuführen. Diese allererste Speicheradresse liegt im Hauptplatinen-BIOS. Der Prozessor führt also zunächst Befehle aus, die in dem auf der Hauptplatine aufgelöteten Flash-Speicher abgelegt sind. Mit diesen Befehlen wird zunächst die Hardware der Hauptplatine überprüft (POST = Power On Self Test). Im Anschluss überprüft der Prozessor den Arbeitsspeicher auf Kapazität (Menge des verfügbaren Speichers) und Funktionsfähigkeit. Um die auf der Hauptplatine befindliche Hardware einzustellen, werden die im batteriebepufferten BIOS-Daten-RAM gespeicherten Einstellungen ausgelesen, verarbeitet und die Ergebnisse dann auf bestimmte Speicheradressen geschrieben, die auf Befehls- und Daten-Register des Chipssatzes zeigen. Auf diese Weise werden im Chipsatz z.b. Einstellungen für das Ansprechen des Arbeitsspeichers (Verzögerungszeiten etc.) oder für die Zugriffsweise auf den PCI-Bus getätigt. Die Ausführung des im BIOS abgelegten Codes sorgt auch dafür, dass die BIOS-Bausteine der Steckkarten und Peripherie-Geräte ausgelesen werden und der dort abgelegte Befehlscode vom Prozessor teilweise ausgeführt wird. Bei der Ausführung dieses Codes werden dann die zugehörigen Steckkarten bzw. Peripherie-Geräte initialisiert. Dazu schreibt der Prozessor wieder Daten an Adressen, die auf Speicherstellen in den Steckkarten (z.b. Grafikkarte) bzw. in den Peripherie-Geräten verweisen. Diese Daten werden von den entsprechenden Geräten dann als Befehle interpretiert und ausgeführt, was beispielsweise zu einer Grund-Einstellung der Grafikkarte führt. Desweiteren werden aus den BIOS-Bausteinen rudimentäre Treiber für die zugehörigen Steckkarten bzw. Geräte ausgelesen und im Arbeitsspeicher abgelegt. Der Begriff rudimentär meint dabei, dass die Treiber einen sehr eingeschränkten Funktionsumfang aufweisen und lediglich dafür Sorge tragen, dass beim Starten des PCs die betreffenden Geräte in ihrer Grundfunktionalität verwendet werden können. Sollen beim Starten des Computers Funktionen einer Steckkarte ausgeführt werden, verzweigt der Programmfluss in den Treiber, der dann die Kommunikation mit der Karte übernimmt, ihr die durchzuführende Aktion mitteilt und evtl. ein Ergebnis zurückliefert. Beispielsweise ermöglicht der Treiber des Grafikkarten-BIOS, Text und einfache Grafik-Ausgaben auf dem Bildschirm auszugeben, was zur Überwachung des PC-Startvorgangs vollkommen ausreichend ist. Erst beim Laden des Betriebssystems werden von der Festplatte dann die richtigen Treiber für die Grafikkarte geladen, mit denen sich das volle Leistungsspektrum der Grafikkarte ausschöpfen lässt. Da es wesentlich günstiger 8 ist, Treiber von der Festplatte zu laden, als jede Steckkarte bzw. jedes Gerät mit einem Flash-Speicherchip auszurüsten, verfügen nur diejenigen Steckkarten/Geräte über einen BIOS-Chip, die bereits beim Booten des Rechners funktionieren müssen: - Grafikkarten, da diese evtl. Fehlermeldungen auf dem Bildschirm ausgeben müssen. - Netzwerkkarten, da der Rechner evtl. über das Netzwerk gestartet werden soll, der sog. Bootloader (s. u.) sich somit auf einem anderen Rechner befindet und erst über die Netzwerkkarte in den Arbeitsspeicher geladen werden muss. 8 Zum Einen ist es preislich günstiger, da Speicherplatz auf einem Flash-Speicher wesentlich teuerer ist als Speicherplatz auf einer Festplatte. Zum Anderen ist es bei einem Treiber-Update wesentlich einfacher, eine Datei aus dem Internet herunterzuladen und in einem bestimmten Ordner abzulegen, als den Flash-Speicher neu zu programmieren. 63

64 Nach dem Laden/Ausführen der BIOS-Routinen der Steckkarten sorgt das im Hauptplatinen-BIOS abgelegte Programm dafür, dass an die Festplatte Daten geschickt werden, die von dieser als Befehle zur Adressierung des Bootrecords (Zylinder, Kopf und Sektor der ersten IDE-Festplatte) erkannt werden. Im Bootrecord steht der sog. Bootloader, das Programm, das das Betriebssystem von der Festplatte in den Arbeitsspeicher lädt. Ist der Bootloader gefunden, sorgt das BIOS-Programm dafür, dass der Bootloader in den Arbeitsspeicher geladen und dann vom Prozessor ausgeführt wird. Die Kontrolle geht in diesem Moment vom BIOS-Programm an den Bootloader über, der zunächst die Festplatte nach einem gültigen Betriebssystem durchsucht und den Programmcode des Betriebssystems dann ebenfalls in den Arbeitsspeicher lädt und dann vom Prozessor ausführen lässt. Jetzt geht die Kontrolle vollständig an das Betriebssystem über, das der Reihe nach immer mehr Daten von der Festplatte in den Arbeitsspeicher lädt und dann als Programm ausführt. Dabei werden neben Betriebssystem-Code insbesondere auch die auf der Festplatte gespeicherten Treiber der Peripherie-Geräte in den Arbeitsspeicher geladen (und z.t. ausgeführt), so dass die am PC angeschlossenen Geräte über diese Treiber-Schnittstelle angesprochen/verwendet werden können. Aber nicht nur beim Starten des PCs dreht sich alles darum, dass der Prozessor Daten aus dem Arbeitsspeicher oder den Peripherie-Geräten einliest, verarbeitet (oder ausführt) und dann wieder ausgibt: Wir haben zuvor gesehen, dass die ganze Darstellung des Bildschirminhalts darauf basiert, dass der Prozessor Daten in den Video-Speicher der Grafikkarte schreibt. Drückt man eine Taste auf der Tastatur wird dies dem Prozessor gemeldet und über den Bus wird dann der Wert der gedrückten Taste ausgelesen. Beim Bewegen der Maus wird dem Prozessor über den Bus mitgeteilt, um wieviele Längeneinheiten die Maus nach links/rechts bzw. vorne/hinten bewegt wurde. Der Prozessor berechnet dann aus dieser Information die neue Position des Maus-Cursors, rendert im Arbeitsspeicher die neue Bildschirmansicht, die den verschobenen Mauszeiger darstellt und überträgt dieses Bild dann wieder in den Video-Speicher der Grafikkarte. Da sich im PC also alles nur darum dreht, Daten von einem Ort zum anderen zu transportieren, ist auch die Architektur eines PCs auf genau diesen Zweck ausgelegt. Die auf der nächsten Seite noch einmal abgebildete Rechner-Architektur entspricht der realen Implementierung der in Abb. 73 auf Seite 62 gezeigten stark vereinfachten Rechner-Architektur. Die Unterschiede sind klar erkennbar: In unserem vereinfachten Modell (Abb. 73) sind alle Komponenten direkt an den Prozessor angeschlossen. Es gibt nur einen Bus, über den alle Komponenten und Peripherie-Geräte miteinander und mit dem Prozessor verbunden sind. Unabhängig davon, wie schnell die einzelnen Geräte Daten verarbeiten oder übertragen können. So ein System wäre prinzipiell lauffähig, aber sehr langsam, da die langsamen Geräte am Bus die schnellen ausbremsen. Die reale Rechner-Architektur aus Abb. 74 verwendet mehrere verschiedene Busse, die unterschiedlich schnell sind und über sog. Bridges miteinander verbunden sind. Die englische Bezeichnung Bridge trifft die Funktion dieser Bausteine auf den Kopf: Bridges sind Brücken, die verschiedene Bussyteme miteinander verbinden. Dabei werden die Daten, die über den sehr schnellen FSB mit dem spezifischen FSB-Protokoll 9 an den GMCH geschickt werden und nicht für ein direkt mit dem GMCH verbundenes Gerät bestimmt sind, in das Bus-Protokoll des etwas langsameren HI-Busses gepackt und dann an den ICH übertragen. Sind die Daten auch für keine direkt im ICH integrierte Komponente gedacht, werden die Daten in das entsprechend nächste Protokoll gepackt und dann auf dem entsprechenden Bus weitergeschickt. Beispielsweise werden die mit dem HI-Protokoll an den ICH gelieferten Daten in das PCI-Bus-Protokoll eingebettet und dann über den PCI-Bus an eine Steckkarte geschickt. Der auf der Steckkarte befindliche Controller entpackt die Daten dann wieder aus dem PCI- Protokoll und verarbeitet sie. 9 Unter einem Bus-Protokoll versteht man die Regeln, nach denen die Kommunikation über den Bus abläuft. Beispiele für solche Regeln sind: Zuerst legt der Sender die Adresse für mindestens 2 ms auf den Adress-Bus. 5 ms, nachdem die Adresse am Bus anliegt, folgt ein fallender Pegel auf der Lesen-Leitung... 64

65 Die gesamte Rechner-Architektur ist also gekennzeichnet durch ein von Bridges aufgespanntes Verbindungsnetzwerk, dessen Übertragungsrate höher wird, je näher man dem Prozessor kommt und niedriger wird, je weiter man sich vom Prozessor entfernt. A Prozessor 23 V ~ NT Netzteil Rechen- Werk Steuer- Werk Adress-Umsetzer Befehls- Cache Daten- Cache FSB Logik/Treiber FS Prozessor-Bus (Front Side Bus) TFT- Bildschirm DVI Grafikkarte GK B B2 B3 Analoger VGA- Anschluss AGP-Port Gigabit-Ethernet- Controller 2, GByte/s 266 MByte/s B GMCH Grafik- Controller AGP- Controller CSA- Controller DDR-RAM Controller HI Controller Kanal A 3,2 GyteB/s Kanal B 3,2 GByte/s DDR-RAM DDR-RAM DDR-RAM DDR-RAM B4 B4 B4 B4 LA GBit/s LAN- Anschluss C HI ICH HI = Hub Interface 266 MByte/s C6 MBit/s Ethernet- System- Controller Managmnt. Takt-Generator CPU, PCI, Festplatte FP C C2 Anschlüsse für USB 2. 2 Anschlüsse für Serial-ATA 48 MBit/s 5 MByte/s USB2.- Controller 2 SATA- Controller PCI- Controller CMOS- RAM PCI-Bus 33 MByte/s 6 PCI-Slots Batterie C7 C8 FW FireWire- Adapter DVD- ROM DR C3 2 Anschlüsse für ATA MByte/s ATA Controller Bios-interf. Controller Flash-Bios C9 DVD- Brenner DB C4 Audio-Codec Audio Controller SMBus Controller LPC-interface Controller SMBus 2./ I 2 C-Bus LPC-Interface (Low Pin Count) D Anschluss für seriellen Port D Super Input/Output Controller RS 232 Controller Floppy Controller Anschluss Disketten-Laufwerk D4 DL Disketten- Laufwerk D2 Anschluss für parallelen Port LPT Controller Tastatur Controller PS/2 Anschluss Tastatur D5 Tastatur D3 Anschluss für Ventilator Drehzahlregelung Maus Controller PS/2 Anschluss Maus D6 Maus Abb. 74: Architektur eines Computers 65

66 Im Folgenden sind die Funktionen der Haupt-Bridges stichpunktartig zusammengestellt. GMCH = Graphics and Memory Controller Hub (B) - ist direkt am Prozessor angeschlossen Þ Datenverteiler für sehr schnelle Geräte - führt für den Prozessor Zugriffe auf den Arbeitsspeicher (engl. Memory, hier: DDR-RAM) aus - verfügt über einen integrierten Grafik-Controller (eine integrierte Grafik- Karte ), mit der der Prozessor Bilder auf einem Monitor ausgeben kann Þ Begriff Graphics in GMCH - kann externe Grafikkarten über den AGP-Port ansprechen, so dass der Prozessor Bilder auch auf diesem Weg auf einem Monitor ausgeben kann Þ Begriff Graphics in GMCH - bietet eine Anschlussmöglichkeit für einen Gigabit-Ethernet-Controller, über den der Prozessor Daten mit bis zu GBit/s über ein Netzwerk übertragen kann - kann vom Prozessor konfiguriert (eingestellt) werden - früher auch Northbridge genannt (North, da oben beim Prozessor und Bridge, da Verbindung zwischen zwei Bussen [Brückenfunktion]) ICH = Input/Output Controller Hub (C) - Datenverteiler für mittel schnelle bis schnelle Geräte - verfügt über diverse Ein- und Ausgabe-Controller, insbesondere für PCI und IDE 2 - internes batteriegepuffertes RAM zur Sicherung von Konfigurationsdaten (z.b. BIOS- Einstellungen) - bietet Anschlussmöglichkeit für den Flash-BIOS-Chip, der den System-Startup-Code enthält - früher auch Southbridge genannt, (South, da unterhalb der Northbridge und Bridge, da Brückenfunktion zwischen verschiedenen Bussen) SIO-Controller = Super Input/Output Controller (D) - Datenverteiler für langsame Geräte - verfügt insbesondere über die Controller für serielle/parallele Schnittstellen, Floppy, Tastatur und Maus Controller = aktive Komponente, die andere Elemente steuert (engl. to control = steuern). PCI = Peripheral Component Interconnect: Standardisierter Peripheriebus Þ Peripherie-Geräte (z.b. Erweiterungskarten) werden nicht direkt an den Prozessor oder den FSB angeschlossen, sondern über den standardisierten PCI-Bus. Der grosse Vorteil besteht darin, dass bereits angeschaffte Peripherie-Geräte auch über mehrere Prozessorgenerationen hin verwendet werden können. Bei der Entwicklung neuer Prozessoren, die evtl. auch über einen geänderten FSB verfügen, muss dann nur ein neuer GMCH bzw. ICH eingesetzt werden, der aus den neuen FSB-Signalen dann wieder die standardisierten PCI-Signale erzeugt. Die ganzen Peripherie-Geräte können dann trotz geändertem FSB weiterhin am (standardisierten) PCI-Bus betrieben werden. 2 IDE = Integrated Drive Electronics: Standardisierte Schnittstelle zum Anschluss von Festplattenlaufwerken (sowie CD, DVD etc.). Der Name Intergrated Drive Electronics begründet sich darin, dass Festplatten vor IDE-Zeiten über keine eigenen Controller-Chip verfügten, also direkt vom Prozessor gesteuert wurden. Mit der Einführung von IDE wurden die Steueraufgaben der Festplatte (z.b. Kopfpositionierung) von einer im Festplattengehäuse untergebrachten Steuerelektronik (dem Controller) erledigt, was zu einer starken Entlastung des Hauptprozessors führte. Durch die Standardisierung von IDE und der Entkoppelung vom Prozessor/FSB ergeben sich die selben Vorteile wie beim PCI-Bus. 66

67 .2 Von Neumann-Architektur Die Architektur unseres Rechners geht unter anderem auf den Mathematiker John von Neumann zurück, weswegen sie auch von Neumann-Architektur genannt wird. John von Neumann wurde 93 in Budapest/Ungarn geboren, wo er als Sohn des Bankiers Max Neumann aufwuchs. Da John von Neumanns Vater Max Neumann im Budapest zu Beginn des 9. Jh. zu einer bedeutenden Figur geworden war (Adelstitel als Ehrung) und die Angewohnheit hatte, ausgewählte Kunden seiner Bank zu sich nach Hause zum Abendessen einzuladen und seiner Familie auch Proben oder Modelle neuer industrieller Unternehmungen, die er finanzierte, mit nach Hause brachte, erfuhr John von Neumann schon sehr früh von Joseph-Marie Jacquard, dessen Lochkartenbetriebene Webstühle in Abhängigkeit der Codierung der Lochkarte jedes beliebige Muster weben konnte. Dieser Webstuhl kann als der erste Computer angesehen werden. John von Neumann war ein Wunderkind. Bereits zu Schulzeiten konnte ihm kein Mitschüler auch nur annähernd das Wasser reichen. Während seine Kameraden auf dem Pausenhof spielten, stand der kleine Johnny eher abseits und analysierte das Verhalten seiner Mitschüler. Sein Vater förderte ihn, indem er Professoren anstellte, die Johnny nach der Schule daheim unterrichteten. Johnny wollte Mathematiker werden, doch sein Vater drängte ihn, in Berlin Chemieingenieur zu studieren, da diesem Beruf gute Zukunftsaussichten nachgesagt wurden. Johnny entschloss sich schließlich für einen ehrgeizigen Kompromiss, der ihn zum Einen absicherte, zum Anderen aber auch alle Karriere-Chancen offen ließ: Noch bevor er sich für das Studium als Chemieingenieur einschrieb, schrieb er sich an der Universität Budapest als Doktorand in Mathematik ein. Er hatte vor, als Student und Doktorand gleichzeitig zu arbeiten und zwar in zwei mehreren hundert Kilometer auseinanderliegenden Städten. Um diese Unverfrohrenheit auf die Spitze zu treiben, wollte der damals 7-jährige Gymnasiast in seiner Doktorarbeit die Axiomatisierung der Mengenlehre Georg Cantors versuchen das strittigste Themen der zeitgenössischen Mathematik, das bereits einige berühmte Professoren aufs Glatteis geführt hatte. Das Studium als Chemieingenieur in Berlin sah John von Neumann eher als lästige Nebentätigkeit an, weshalb er es auch nach zwei Jahren ohne Abschluss beendete und dafür im Herbst 923 die Aufnahmeprüfung für das zweite Jahr des Vierjahreskurses Chemieingenieur an der rennomierten ETH (Eidgenössische Technische Hochschule) Zürich bestand. 3 John von Neumann hatte eine aussergewöhnliche Begabung: Er konnte sich sehr schnell in fremde Thematiken einlesen und dann die in diesem Bereich tätigen Forscher mit seinem Wissen meilenweit überholen. Abb. 75: John von Neumann 3 Albert Einstein mit dem John von Neumann später in Princeton zusammenarbeitete versagte 895 bei der Aufnahmeprüfung der ETH, woraufhin er eine Stelle im Berner Patentamt annahm. Dort entwickelte er dann die Spezielle Relativitätstherorie. 67

68 Das gelang ihm auch in nicht technischen Disziplinen: Er leistete mit seinem Buch über Spieltheorie und der Niederschrift zu seinem Vortrag Über gewisse Gleichungen in der Ökonomie und eine Verallgemeinerung von Brouwers Fixpunkt-Theorem wichtigste Beiträge zu den Wirtschaftswissenschaften. Ende der 98er Jahre wurde die genannte Niederschrift von berühmten Wirtschaftswissenschaftlern als der wichtigste Artikel auf dem Gebiet der mathematischen Ökonomie, der jemals geschrieben wurde bezeichnet. John von Neumanns Beiträge zur Computertechnik liegen insbesondere in der Programmierbarkeit von Computern. Bevor John von Neumann die Computertechnik revolutionierte, waren Computer darauf ausgerichtet, die Lösung für ein ganz bestimmtes Problem zu berechnen. Die Computer wurden damals programmiert, indem die Kabelverbindungen zwischen den Komponenten des Computers geändert wurden. John von Neumann erinnerte sich an die in seiner Kindheit kennengelernten Webstühle von Joseph-Marie Jacquard, die in Abhängigkeit einer Lochkarte jedes beliebige Muster weben konnten und übertrug dieses Prinzip auf die von Eckert und Mauchly am IAS (Institute for Advanced Studies) in Princeton gebauten festverdrahteten Rechner. Seitdem konnten Rechner in Abhängigkeit von Lochkarten unterschiedliche Programme ausführen. Die Rechner waren damit nicht mehr auf ein bestimmtes Problem zugeschnitten, sondern universell verwendbar. Das aufwendigen Umstecken von Verbindungskabeln wich der Programmierung durch Lochkarten. Es waren keine Änderungen an der Verkabelung der Rechner mehr nötig. Der Aufbau des Rechners war plötzlich unabhängig vom zu lösenden Problem geworden. Die Befehle auf den Lochkarten waren alle immer nach dem selben Prinzip aufgebaut. Anders als bei der deutschen Sprache war der Sinn der einzelnen Befehle nicht vom Kontext abhängig, in dem der Befehl stand. Betrachtet man beispielsweise im Satz Fliegen ist schön. lediglich das erste Wort Fliegen, so kann man nicht sagen, ob damit das Verb fliegen gemeint ist, oder der Plural von die Fliege. Man erkennt erst am zweiten Wort ( ist und nicht sind ), dass nicht über schöne Insekten, sondern über die Fortbewegung in der Luft geredet wird. Als John von Neumann vor dem Problem stand, Computerbefehle in einer Sprache zu formulieren, die keine Mehrdeutigkeiten der gezeigten Art aufweist, kam ihm der Lateinunterricht zugute, den er auf dem Lutheraner-Gymnasium in Budapest genossen hatte: Er übertrug die klare Regelmäßigkeit der Lateinischen Sprache (z.b. Verb steht fast immer am Satzende) auf Computerbefehle und legte damit das erste Befehlsformat der Welt fest. (Die Befehle des MMIX-Prozessors, den wir im Laufe der Vorlesung noch kennenlernen werden, hat ein äußerst regelmäßiges Befehlsformat: Das erste Byte ist immer der Befehl, die nächsten drei Byte sind immer die Operanden.) John von Neumann schlug vor, den von Eckert und Mauchly am IAS gebauten Computer um die Programmierbarkeit in einer kontextfreien Sprache zu erweitern. Nachdem er den Vorschlag schriftlich festgehalten hatte, verschickte ein Kollege diesen Vorschlag als Publikation. Da von Neumann diesen Vorschlag jedoch nur für interne Zwecke am IAS gedacht hatte, fehlten auf ihm die Namen von Eckert und Mauchly, auf deren Computer sich die Erweiterungen bezogen. John von Neumann wurden somit fälschlicherweise Ehren zugesprochen, die eigentlich Eckert und Machly zugestanden hätten, da der von Eckert und Mauchly entwickelte Computer von aller Welt nun als von Neumanns Werk angesehen wurde. Das ging soweit, dass die Rechner, die in Folge der von Neumann-Veröffentlichung gebaut wurden und in groben Zügen immer noch der Architektur unserer heutigen Rechner entsprechen, von Neumann-Architektur genannt werden. 68

69 Der in der von Neumann-Veröffentlichung beschriebene Rechner hatte vier Funktionseinheiten, die bis in unsere heutige Zeit als Rechnerkomponenten erhalten geblieben sind. Speicher für Daten und Befehle Steuerwerk/ Leitwerk Prozessor Registerblock mit Registern Rechenwerk/ ALU Ein- und Ausgabe c:\> Abb. 76: von Neumann-Architektur - Das Rechenwerk verknüpft die Operanden, indem es Operationen auf sie anwendet. Beispiele hierfür sind die vier Grundrechenarten (Addition, Subtraktion, Multiplikation und Division) und Schiebeoperationen (links schieben/rechts schieben). Allein mit den vier Grundrechenarten lassen sich auch die kompliziertesten Formeln und Funktionen berechnen. Beispiele hierfür sind die Verwendung von Potenzreihen zur Berechnung von Sinus und Cosinus: n+ x x x n x sin x = x (- ) ! 5! 7! (2n + )! - Im Speicher stehen sowohl die Befehle, als auch die Operanden/Daten. Beide sind als Zahlen codiert. Bei einem Blick in den Speicher kann man somit keinen Unterschied zwischen Befehlen und Operanden/Daten erkennen. Dass eine Bitfolge ein Befehl ist, erkennt man erst dann, wenn sie vom Steuerwerk in das Befehlsregister geladen und dann ausgeführt worden ist. - Das Steuerwerk steuert den Ablauf im Prozessor/Rechner. Es lädt die Befehle aus dem Speicher, analysiert sie, lädt die entsprechenden Operanden aus oder in den Speicher, teilt dem Rechenwerk mit, welche Operation es ausführen soll und leitet das Ergebnis wieder an die gewünschte Stelle. - Das Ein- und Ausgabewerk (E/A-Werk) ist die Schnittstelle zwischen Rechner und Peripherie- Gerät, zu von Neumanns Zeit also die Anbindung des Rechners an den Lochkartenleser. Im letzten Abschnitt haben wir gesehen, dass bei unseren weiterentwickelten von Neumann- Architekturen das Ein- Ausgabewerk über verschiedene Bussysteme auf mehrere Chips (GMCH, ICH, SIO) verteilt ist. Die Funktion ist prinzipiell aber noch genau die gleiche. Zu vier genannten klassischen Funktionseinheiten ist später noch der Bus dazugekommen, der somit nicht zu den original von Neumannschen Funktionseinheiten gehört. 69

70 Im Folgenden sind einige für von Neumann-Maschinen typische Merkmale aufgeführt: - Der Aufbau des Rechners ist unabhängig vom Problem. Durch Laden eines bestimmten Programms in den Speicher kann der Rechner zu Lösung jedes beliebigen Problems verwendet werden. Die Hardware (z.b. Verbindungsleitungen) muss also nicht mehr auf die jeweilige Problemstellung angepasst werden. - Alle Daten (nicht nur die Operanden, sondern auch die Adressen und insbesondere auch die Befehle) werden als Zahlen binär kodiert und im Speicher abgelegt. Der Speicher besteht dabei aus gleich grossen, durchnumerierten Zellen. - Die zu einem Programm gehörigen Befehle stehen sequentiell (einer nach dem anderen) im Speicher und werden der Reihe nach ausgeführt. Lediglich bei Sprüngen findet eine Verzweigung statt. Da von Neumann auf eine Patentierung seiner Erweiterungen verzichtete 4, konnte jede Forschungsanstalt/Firma ohne Lizenzgebühren auf diesen Erweiterungen aufbauen und sie weiter vorantreiben. Es war genau dieser Sachverhalt, der sich als sehr fruchtbarer Boden für Weiterentwicklungen erwies und damit zum Siegeszug der von Neumann-Architektur führte. 4 Eckert und Mauchly hatten hingegen vor, ihren Rechner als Patent anzumelden, was spätestens dann zum Scheitern verurteilt war, nachdem die von Neumann-Erweiterungen (unauthorisiert) publiziert wurden. 7

71 .3 Harvard-Architektur Der gemeinsame Speicher für Programme und Daten macht die Entwicklung und den Test von Programmen auf einer von Neumann-Architektur sehr einfach: Man schreibt in einem Texteditor ein Programm, übersetzt es in Maschinencode und kann es dann sofort ausführen. Während des Vorgangs des Übersetzens sind die Befehle des generierten Maschinencodes die Daten, die das Übersetzungsprogramm erzeugt. Diese Daten werden erst zu einem Programm, wenn sie vom Prozessor in das Befehlsregister geladen werden und dann ausgeführt werden. Da Daten und Programme nicht unterscheidbar im selben Speicher liegen, bedeutet es keinen zusätzlichen Aufwand, Daten als Programm auszuführen. Es ergibt sich jedoch auch ein Nachteil: Da Programme und Daten im selben Speicher liegen, müssen beide über den gleichen Bus zum Prozessor transportiert werden. Während ein Befehl vom Speicher in den Prozessor geladen wird, kann nicht gleichzeitig ein Datum aus dem Speicher gelesen oder in den Speicher geschrieben werden. Befehle und Daten behindern sich somit gegenseitig, was insbesondere Programme mit hohem Datenvolumen (z.b. Videodecoder) ausbremst. Abhilfe kann hier eine Architektur schaffen, bei der Daten und Befehle in separaten Speichern stehen: Die sog. Harvard-Architektur. Speicher für Daten Prozessor Steuerwerk/ Leitwerk Registerblock mit Registern Ein- und Ausgabe c:\> Rechenwerk/ ALU Speicher für Befehle Abb. 77: Harvard-Architektur Da Daten- und Befehlsspeicher bei dieser Architektur getrennt sind, können sie über separate Busse an den Prozessor angebunden werden. Somit kann gleichzeitig auf Befehle und Daten zugegriffen werden, was insbesondere die Ausführung von Programmen mit hohem Datenverkehr beschleunigt. Da solche Programme (z.b. ein Videodecoder in einer Set-Top-Box) besonders oft auf spezialisierten Signalprozessoren ablaufen, verfügen Digitale Signalprozessoren (DSPs) ebenso wie Mikrocontroller 5 häufig über eine Harvard-Architektur. Programme für DSPs und Mikrocontroller werden in der Regel auf einem gewöhnlichen PC entwickelt (Cross-Plattform) und dann in den Befehls-Speicher des Prozessors geladen. Da es zeitlich keinen Unterschied macht, ob die Befehle vom PC aus in den Daten- oder den Befehls-Speicher eines Signalprozessors geladen werden, hat die Verwendung einer Harvard-Architektur für Embedded-Prozessoren 6 keine Nachteile. Bei der Verwendung einer Harvard- Architektur als PC-Prozessor hingegen müsste nach der Übersetzung eines Programms der Programmcode erst vom Daten- in den Befehlsspeicher kopiert werden, was die Programmentwicklung verlangsamen und umständlich machen würde. 5 Mikrocontroller sind Mikroprozessoren, die über zusätzliche Peripherie auf dem Chip (z.b. Ein- und Ausgabe-Ports, A/D- Wandler, Timer, Befehls- und Datenspeicher) verfügen. Mikrocontroller werden im Embedded-Bereich beispielsweise zur Steuerung von Waschmaschinen, Kochfeldern etc. verwendet. 6 Unter Embedded-Prozessoren bzw. Prozessoren für den Embedded-Bereich versteht man Prozessoren, die nicht in PCs, sondern in anderen eigenständigen Geräten wie beispielsweise einer Mikrowelle, einer Waschmaschine oder einem DVD- Player integriert (eingebettet) sind. 7

72 .4 Vom Algorithmus zum Prozessor Abstraktionsebenen Nachdem wir bisher nur den Aufbau und die Architektur von Rechnern untersucht haben, betrachten wir ab diesem Abschnitt, wie dieser Rechner zur Lösung von Problemen eingesetzt werden kann. Nachfolgende Abbildung dient uns dabei als Wegweiser durch die nächsten Kapitel. Beim Entwurf Zur Laufzeit Algorithmus-Ebene Übersetzung durch den Menschen Hochsprachen-Ebene Assembler-Ebene Übersetzung durch Compiler Befehlssatz-Ebene Übersetzung durch Assembler Mikroarchitektur-Ebene Interpretation oder direkte Ausführung durch die Hardware Steuerung Ebene der digitalen Logik Transistor-Ebene Layout-Ebene i > Interpretation Bibliothek *.obj Linker Compiler Hardware- Steuerung i = n, x = x = x + a i b i i = i *.c *.asm *.obj *.exe Elektr. Signale Assembler Mikroprogramm Linker *.asm *.obj Gatter/Hardware Transistoren *.c Halbleiter-Strukturen Problemlösung in Algorithmus- Form Problemlösung in Hochsprache (z.b. C) Maschinennahe Form der Problemlösung Maschinencode der Problemlösung Aufbau des Problemlösers (Rechner/Prozessor) aus Speicher, ALU Aufbau von Speicher, ALU.. aus Logik- Gattern Aufbau von Logik-Gattern aus Transistoren Aufbau von Transistoren aus n- und p- Schichten Integr./Digit. Schaltungen Schaltungen Computertechnik/Computersysteme Computersysteme / Programmierpraktikum Grundl. d. Informatik ADS Abb. 78: Abstraktionsebenen 72

73 Die Abbildung zeigt im oberen Teil, wie ein Problem abstrakt dargestellt (Algorithmus-Ebene) und dann von einem Programmierer in einer Hochsprache wie z.b. der Programmiersprache C (Hochsprachen-Ebene) formuliert werden kann. Aufgabe der Algorithmus-Ebene ist es, Informationen und Anweisungen, die zur Lösung des betrachteten Problems notwendig sind, in einer einheitlichen Darstellung festzuhalten. Beispiele für solche Darstellungen sind z.b. Lösungsformeln 2 b x = b 2 a a 2...a n = a b + a 2 b a n b n b n 3 Abb. 79: Formel zur Berechnung eines Skalarprodukts oder Diagramme. i > i = n, x = x = x + a i b i i = i Abb. 8: Nassi-Shneiderman-Diagramm/Struktogramm Ist die gewählte Darstellungsart hinreichend bekannt, kann sie zur Weitergabe von Informationen oder Lösungsverfahren genutzt werden. Wenn Sie beispielsweise wissen, wie man die in Abb. 79 dargestellten Buchstaben, Zahlen (Indices) und Symbole interpretieren muss und zusätzlich über die Information verfügen, dass die in Abb. 79 dargestellte Formel zur Berechnung von Skalarprodukten dient, können sie automatisch auch Skalarprodukte berechnen. Die Darstellungen auf der Algorithmus-Ebene dienen also zum Informationsaustausch zwischen Menschen. Für Maschinen (Computer) sind diese Darstellungsarten zu abstrakt. Ein Computer kommt mit einer Problem-Beschreibung auf Hochsprachen-Ebene wesentlich besser zurecht. Das liegt insbesondere daran, dass bei der Entwicklung von Hochsprachen darauf geachtet wurde, dass sie nicht nur vom Menschen (Programmierer), sondern auch vom Computer (Compiler) gut verstanden werden kann. Eine Hochsprache ist also eine definierte Schnittstelle zwischen Mensch und Maschine. Nachfolgende Abbildung zeigt, wie ein Programmierer einen ihm als Nassi-Shneiderman-Diagramm übermittelten Algorithmus in die Hochsprache C übersetzt. i > i = n, x = x = x + a i b i i = i *.c *.c Abb. 8: Übersetzen eines Algorithmus auf Hochsprachen-Ebene 73

74 Der vom Programmierer erzeugte Hochsprachen-Code kann beispielsweise wie folgt aussehen: void main() { int w, x; const int n = 4; // Vektordimension int a[n]={,2,3,4}, b[n]={,2,3,4}; } w = n; x = ; while(w) { w = w - ; x = x + a[w] * b[w]; } // in x steht jetzt der Wert des Skalarprodukts Diese Darstellung ist für einen Menschen etwas schwieriger zu lesen als die Darstellung als Formel oder Nassi-Shneiderman-Diagramm. Für eine Maschine ist diese Darstellung jedoch wesentlich angenehmer, da sie beispielsweise nur aus ASCII-Zeichen besteht. Hochsprachen sind aber keineswegs die Muttersprache eines Computer, also keine Sprache, die Computer direkt verstehen können. Hochsprachen sind ein Kompromiss zwischen für den Menschen verständlich und für den Computer verständlich. Damit ein Computer den Sinn von Hochsprachen- Anweisungen verstehen kann, müssen diese in Maschinen-Code, die Muttersprache der Computer übersetzt werden. Dazu wird zunächst die Hochsprache mit Hilfe eines Compilers in Assembler-Befehle oder eine Zwischensprache übersetzt. Nachfolgende Abbildung zeigt den Ausschnitt aus Abb. 78, der in *.c-dateien abgespeicherten C- Quellcode in Assembler-Code übersetzt. *.c *.c Compiler *.asm *.asm Abb. 82: Compilation Das entspricht einer Wandlung von Anweisungen der Hochsprachen-Ebene auf die Assembler-Ebene. Die Darstellung auf der Assembler-Ebene hat dieselbe Struktur wie der zuvor als Muttersprache der Computer bezeichnete Maschinen-Code. Zusätzlich zu den vom Prozessor unterstützten Befehlen findet man auf der Assembler-Ebene jedoch noch Anweisungen für den Assembler, also Anweisungen für das Programm, das den Assembler-Code in Maschinen-Code übersetzt. Diese Anweisungen dienen zum Einen dazu, den Code lesbarer zu machen, zum Anderen, um festzulegen, wo im Speicher das übersetzte Programm zur Ausführung abgelegt werden soll. 74

75 Im Folgenden ist der Assembler-Code des oben angegebenen C-Programms abgebildet. LOC GREG N OCTA 4 Vektordimension ADR_A OCTA a OCTA 2 a2 OCTA 3 a3 OCTA 4 a4 ADR_B OCTA b OCTA 2 b2 OCTA 3 b3 OCTA 4 b4 u IS $ Für Parameter v IS $2 Für Parameter 2 w IS $3 Für Parameter 3 x IS $4 Für das Ergebnis y IS $5 Für Zwischenberechnungen z IS $6 Für Zwischenberechnungen LOC # Main SETL x, Initialisierung LDA u,adr_a Referenz auf a in u speichern LDA v,adr_b Referenz auf b in v speichern LDO w,n Vektordimension laden MUL w,w,8 verwendete Worte haben 8 Byte Start BZ w,ende wenn fertig -> Ende SUB w,w,8 w = w - 8 LDO y,u,w y = <u + w> LDO z,v,w z = <v + w> MUL y,y,z y = <u + w> * <v + w> ADD x,x,y x = x + <u + w> * <v + w> JMP Start Ende TRAP,Halt, Ergebnis steht in x Das Assembler-Programm ist wesentlich länger als das C-Programm. Das liegt daran, dass Hochsprachen-Anweisungen wesentlich mächtiger sind (mehr können ) als Assembler-Anweisungen. Aus diesem Grund wird eine C-Anweisungen in mindestens eine, meist jedoch mehrere Assembler- Anweisungen übersetzt. Damit ein Prozessor Assembler-Anweisungen verstehen kann, müssen diese erst in Maschinen-Code übersetzt werden, der dann in einer Programm-Datei abgelegt wird. Diese Aufgabe wird vom Assembler übernommen. Besteht ein Programm aus mehreren Programm-Dateien, müssen diese zusätzlich von einem Linker zu einer einzigen Programm-Datei (unter Windows die *.exe-datei) zusammengefügt werden. Nachfolgende, der Abb. 78 entnommene Darstellung verdeutlicht diesen Vorgang. 75

76 *.asm *.asm Assembler Bibliothek *.obj Linker *.obj Linker *.obj *.exe Abb. 83: Übergang von der Assembler- zur Befehlssatz-Ebene In der ausführbaren Programmdatei stehen neben den Maschinen-Befehlen unter anderem auch Anweisungen für das Betriebssystem (den Loader), der das Programm in den (Befehls-) Speicher lädt und dann an einer bestimmten Stelle mit der Ausführung beginnt. Nachfolgende Abbildung zeigt den Inhalt der zum oben angegebenen Assembler-Code gehörigen Programmdatei E B7 E8 DB A 4 E B 6 6C F 64 2E 6D 6D E FE FE 28 8D 3 FE C 5 3 8C F FF FF FA A FE 2 98 B 2 3A F E B D E 8 9 4E C F F F F F F 7A 6 8A 98 C 8 Die Programmdatei ist für einen Menschen kaum noch lesbar. Ein Computer hingegen interpretiert die angegebenen Zahlen als Befehle, Operanden und Daten und führt entsprechende Aktionen aus. Abb. 78 können Sie entnehmen, dass wir nun den kompletten oberen Bereich Beim Entwurf durchlaufen haben. Von der Algorithmus-Ebene bis zur Befehlssatz-Ebene haben wir uns dabei stets mit der Darstellung von Information beschäftigt. Wir haben die Informationsdarstellung schrittweise von für den Menschen gut lesbar, aber für den Computer schlecht lesbar bis für den Menschen schlecht lesbar, aber für den Computer gut lesbar verändert. Die gezeigten Umwandlungen von einer Darstellung in eine andere finden immer beim Entwurf statt, also während der Entwicklung des Programms. 76

77 Im Gegensatz dazu beschäftigt sich der in Abb. 78 unter der horizontalen Trennlinie befindliche Teil mit Aktionen, die zur Laufzeit des Programms (oder bei der Entwicklung des Prozessors), jedoch nicht bei der Entwicklung des Programms stattfinden. Der angesprochene Bereich, der sich von der Mikroarchitektur- bis hin zur Layout-Ebene erstreckt, beschreibt den Aufbau von Prozessoren. Die Mikroarchitektur-Ebene abstrahiert dabei die darunter liegenden Schichten durch logische Baueinheiten, welche die als Nullen und Einsen codierten Programme interpretieren und ausführen. Nachfolgende Darstellung zeigt die Mikroarchitektur des MMIX-Prozessors, mit dem wir uns im Laufe der Vorlesung beschäftigen werden. 77

78 BZ übernehmen Ergebnisauswahl Add Steuerung ALU-Funktion 64 BZ 64 Registerblock Schreib- Daten $X Schreiben/ Lese- Lesen $X Daten $X 64 8 Daten- Speicher Schreib- Daten 64 Befehls- Speicher Adresse Daten Lesen $Y Lesen $Z Lese- Daten $Y Lese- Daten $Z ALU 64 Adr. 64 Lese- Daten Abb. 84: Einfacher MMIX-Datenpfad Die einzelnen Elemente dieses sog. Datenpfads sowie deren Zusammenwirken werden im Laufe der nächsten Kapitel erklärt werden. Nachdem wir verstanden haben, wie ein Prozessor (ein Datenpfad) auf Mikroarchitektur-Ebene funktioniert, werden wir die Elemente des Datenpfads genauer untersuchen. Ausgehend von der Funktion der Elemente werden wir deren Realisierung als Logikschaltung kennenlernen, die sog. Ebene der digitalen Logik. Ein Beispiel für die Realisierung eines dieser Elemente als Logikschaltung ist der in nachstehender Abbildung angegebene Aufbau des Befehlszählers. D Q D Q BZ D2 Q2 D63 Q63 Abb. 85: Aufbau des Befehlszählers aus Logik-Gattern 78

79 Logikgatter lassen sich als Transistorschaltung aufbauen, wie in nachfolgender Abbildung am Beispiel eines NOR_Gatters gezeigt. Aufbau digitaler Logikbausteine durch Transistoren ist nicht Teil dieser Veranstaltung. Abb. 86: NOR-Gatter in CMOS-Technik Ebenso sei für den Aufbau von Transistoren und deren Integration auf Halbleiter-Material, wie in nachfolgender Abbildung am Beispiel eines NOR-Gatters gezeigt, auf andere Vorlesungen verwiesen. VDD Eingang Eingang 2 Ausgang Abb. 87: Layout eines NOR-Gatters GND Wir haben jetzt die Meilensteine der Vorlesung Computertechnik kennengelernt, anhand derer wir den Aufbau und die Funktionsweise von Prozessoren verstehen werden. Zunächst schließen wir jedoch an die im Fach Algorithmen und Datenstrukturen kennengelernte Algorithmus- und Hochsprachen-Ebene an, indem wir die darunter liegende Assembler- und Befehlssatz-Ebene zunächst allgemein untersuchen. 79

Das in Abb. 3 auf Seite 12 mit DR gekennzeichnete Gerät ist das DVD-ROM-Laufwerk.

Das in Abb. 3 auf Seite 12 mit DR gekennzeichnete Gerät ist das DVD-ROM-Laufwerk. DVD-ROM Das in Abb. 3 auf Seite 12 mit DR gekennzeichnete Gerät ist das DVD-ROM-Laufwerk. DVD-ROM-Laufwerke dienen zum Lesen von DVDs und CDs. Diese Laufwerke können also keine Daten aufzeichnen (ROM =

Mehr

Computersysteme. Michael Zwick. Technische Universität München

Computersysteme. Michael Zwick. Technische Universität München Computersysteme Michael Zwick Technische Universität München Inhalt 1 Motivation: Wie funktioniert ein Computer?... 10 1.1 Komponenten eines Computers... 10 1.1.1 Peripherie-Geräte und Netzteil... 12 Netzteil...

Mehr

Computersysteme. Michael Zwick. Technische Universität München

Computersysteme. Michael Zwick. Technische Universität München Computersysteme Michael Zwick Technische Universität München Inhalt 1 Motivation: Wie funktioniert ein Computer?... 11 1.1 Komponenten eines Computers... 11 1.1.1 Peripherie-Geräte und Netzteil... 13 Netzteil...

Mehr

Computersysteme. Michael Zwick. Technische Universität München

Computersysteme. Michael Zwick. Technische Universität München Computersysteme Michael Zwick Technische Universität München Inhalt Motivation: Wie funktioniert ein Computer?.... Komponenten eines Computers..... Peripherie-Geräte und Netzteil... 3 Netzteil... 3 Grafikkarte...

Mehr

Einführung Computersysteme Dr. Michael Zwick

Einführung Computersysteme Dr. Michael Zwick Einführung Computersysteme Dr. Michael Zwick Vorlesung, Übung & Fragestunde Dr.-Ing. Michael Zwick Raum Z945 zwick@tum.de (089) 289 23609 Modul Computertechnik Computersysteme V/Ü/P = 2/1/0 (Mi, 13:15-14:45

Mehr

1 Aufgaben Wie funktioniert ein Computer. a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 5W, 12W,

1 Aufgaben Wie funktioniert ein Computer. a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 5W, 12W, 81 1 Aufgaben Wie funktioniert ein Computer Netzteil a) Welche Spannungen werden von PCNetzteilen bereitgestellt? 3 BV 5W 12W 5 V 12W b) Warum können PCNetzteile hohe Leistungen liefern obwohl die eingebauten

Mehr

1. TÜ-Zusammenfassung zum Modul Computersysteme

1. TÜ-Zusammenfassung zum Modul Computersysteme 1. TÜ-Zusammenfassung zum Modul Computersysteme Kurzzusammenfassung 1. Kapitel Netzteil: Aufbau: Bereitgestellte Spannungen: 12V, -12V, 5V, -5V und 3.3V Leistung: Da bei Transformatoren die übertragbare

Mehr

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden. 70 Arithmetische Schaltungen Multiplikation vorzeichenbehafteter Zahlen Zur Multiplikation vorzeichenbehafteter Zahlen (er-komplement) kann auf die Schaltung für vorzeichenlose Multiplikation zurückgegriffen

Mehr

1 Aufgaben zu Wie funktioniert ein Computer?

1 Aufgaben zu Wie funktioniert ein Computer? 71 1 Aufgaben zu Wie funktioniert ein Computer? Netzteil a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 3.3 V, 5 V, 12 V, -5 V, -12 V. b) Warum können PC-Netzteile hohe Leistungen liefern,

Mehr

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1=

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1= Arithmetische Schaltungen c) Vervollständigen Sie nachfolgend abgebildeten Zustands-Automaten so, dass er den Multiplizierer wie gewünscht steuert. Nehmen Sie an, dass Sie zur Detektion des Schleifen-Abbruchs

Mehr

3.8 Sequentieller Multiplizierer 159

3.8 Sequentieller Multiplizierer 159 .8 Sequentieller Multiplizierer 59 Nachfolgende Abbildung zeigt den (unvollständigen) Aufbau einer Schaltung zur Implementierung des gezeigten Multiplikationsverfahrens. b) Vervollständigen Sie die Schaltung

Mehr

Computersysteme SS 2015

Computersysteme SS 2015 TECHNISCHE UNIVERSITÄT MÜNCHEN Fakultät für Elektrotechnik und Informationstechnik Lehrstuhl für Datenverarbeitung Prof. Dr.-Ing. K. Diepold Computersysteme SS 25 Sprung-Vorhersage, ~Kap. 8.2 BH-Phase

Mehr

Fragenkatalog Computersysteme Test 25. April 2008

Fragenkatalog Computersysteme Test 25. April 2008 Fragenkatalog Computersysteme Test 25. April 2008 Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at 6. April 2008 Der Test besteht aus 4 Fragen aus dem folgenden Katalog (mit eventuell leichten

Mehr

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein.

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein. 3.1 Schaltungselemente 129 b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein. 2 1 0 1 1 130 3 Arithmetische Schaltungen emultiplexer emultiplexer

Mehr

PC-Komponenten. Die Bestandteile eines Computers

PC-Komponenten. Die Bestandteile eines Computers PC-Komponenten Die Bestandteile eines Computers Unterschied Hardware & Software Hardware: Wird zur Darstellung von Programmen benötigt Vorrausetzung für Software Software: Die auf Hardware gespeicherten

Mehr

Schema eines PCs (Personal Computer)

Schema eines PCs (Personal Computer) Schema eines PCs (Personal Computer) von Markus Wurster 2006 www.montessori download.de Die Bilder stammen größtenteils aus Wikipedia (www.wikipedia.de) und stehen unter GNU Free Documentation License.

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites Praktikum Grundlagen von Hardwaresystemen Sommersemester 2009 Versuch 6: Computergrafik und Sprites 12. Mai 2009 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Eingebettete

Mehr

3 Arithmetische Schaltungen

3 Arithmetische Schaltungen . Schaltungselemente Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel des

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites Praktikum Grundlagen von Hardwaresystemen Sommersemester 2007 Versuch 6: Computergrafik und Sprites 28. Juni 2007 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Technische

Mehr

Speichermedien

Speichermedien Definition = alle Medien die Informationen/Daten aufnehmen oder zeitweise speichern Daten= Informationen die technische Geräte verarbeiten können Verschiedene Arten zu Speichern: USB-Sticks Speicherkarten

Mehr

Grundlegendes zum PC

Grundlegendes zum PC Grundlegendes zum PC Grundsätzlicher Aufbau eines PC Bild eines PC Beschreibung Eingabegeräte Ausgabegeräte Speicher Sonstige Bild eines PC Beschreibung Sind alle gleich die PC Sind in 3 bereiche eingeteilt:

Mehr

Klausuraufgaben: Hardware (1.) Notieren Sie die Namen der Schnittstellen!

Klausuraufgaben: Hardware (1.) Notieren Sie die Namen der Schnittstellen! Klausuraufgaben: Hardware - Seite 1 Klausuraufgaben: Hardware (1.) Notieren Sie die Namen der Schnittstellen! (2.) Beschriften Sie die Namen der Komponenten im PC! 9 Klausuraufgaben: Hardware - Seite 2

Mehr

Learn4Vet. Magnete. Man kann alle Stoffe in drei Klassen einteilen:

Learn4Vet. Magnete. Man kann alle Stoffe in drei Klassen einteilen: Magnete Die Wirkung und der Aufbau lassen sich am einfachsten erklären mit dem Modell der Elementarmagneten. Innerhalb eines Stoffes (z.b. in ein einem Stück Eisen) liegen viele kleine Elementarmagneten

Mehr

Betriebssysteme Vorstellung

Betriebssysteme Vorstellung Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung Rechnerarchitektur. Einführung Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher

Mehr

René Fritz Speichermedien IT-Support. Speichermedien. CD-ROM: Abkürzung für Compact - Disc Read Only Memory.

René Fritz Speichermedien IT-Support. Speichermedien. CD-ROM: Abkürzung für Compact - Disc Read Only Memory. Speichermedien CD-ROM: Abkürzung für Compact - Disc Read Only Memory. Die Schreib- und Lesetechnik entspricht im Prinzip der Audio-CD; CD-ROM können allerdings nicht in Audiogeräten benutzt werden. Die

Mehr

T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes?

T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes? 222 6 MMIXProzessor Verständnisfragen/Aufgaben Allgemein T a) Was ist ein Register? Kleiner aber Schneller Speicher T b) Wo findet man Register in einem ComputerSystem? Prozessor T c) Daten welcher Größenordnung

Mehr

Zulassungstest zur Physik II für Chemiker

Zulassungstest zur Physik II für Chemiker SoSe 2016 Zulassungstest zur Physik II für Chemiker 03.08.16 Name: Matrikelnummer: T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T TOT.../4.../4.../4.../4.../4.../4.../4.../4.../4.../4.../40 R1 R2 R3 R4 R TOT.../6.../6.../6.../6.../24

Mehr

Abschlussklausur Informatik, SS 2012

Abschlussklausur Informatik, SS 2012 Abschlussklausur Informatik, SS 202 09.07.202 Name, Vorname: Matr.-Nr.: Unterschrift: Zugelassene Hilfsmittel: außer Stift und Papier keine Hinweis: Geben Sie bei allen Berechnungen den vollständigen Rechenweg

Mehr

Allgemein PC Aufbau 1

Allgemein PC Aufbau 1 Allgemein PC Aufbau 1 Inhaltsverzeichnis Mainboard 3 Prozessor 4 Arbeitsspeicher 5 Grafikkarte 6 Netzteil 7 Festplatte 8 CD-Laufwerk 9 Anschlüsse 10-12 VGA-Anschluss 10 RJ-45 Anschluss 11 USB-Anschluss

Mehr

Durch das Borgen steht an der Zehner-Stelle jetzt nur noch eine 1 statt einer 2

Durch das Borgen steht an der Zehner-Stelle jetzt nur noch eine 1 statt einer 2 3.9 Subtraktion 155 3.9 Subtraktion Allgemein Bezeichnungen: Minuend - Subtrahend = Differenz Die Subtraktion zweier Zahlen wird stellenweise ausgeführt. Dabei kann es vorkommen, dass eine größere Zahl

Mehr

Teil 2.3. Welche Hardware (Elektronik) benutzt ein Computer zum Speichern von Daten?

Teil 2.3. Welche Hardware (Elektronik) benutzt ein Computer zum Speichern von Daten? Speichern von Daten Teil 2.3 Welche Hardware (Elektronik) benutzt ein Computer zum Speichern von Daten? 1 von 23 Inhaltsverzeichnis 3... Speicher sind Wichtig! 4... Speicher Einheiten 7... Flüchtiger Speicher

Mehr

SUB $2,$5,10 Zeile 1 LDO $5,$0,2*8 Zeile 2 OR $1,$2,$3 Zeile 3 SRU $1,$5,$1 Zeile 4.

SUB $2,$5,10 Zeile 1 LDO $5,$0,2*8 Zeile 2 OR $1,$2,$3 Zeile 3 SRU $1,$5,$1 Zeile 4. 33 7 Pipelining Gegeben ist der folgende Ausschnitt aus einer MMIX Codesequenz: SUB $2,$5, Zeile LDO $5,$,2* Zeile 2 OR $,$2,$3 Zeile 3 SRU $,$5,$ Zeile 4 Zeile und 3 wg b) Geben Sie alle auftretenden

Mehr

RO.RO, ADD RO, 120,121 MUL 120,120,121 INPUT RO, MUL INPUT 120,0 ADD RO, INPUT 121,1 INPUT R 1,2 INPUT 121,2 RO, IN put 121,1 N RO, ROIRA SET 121,3

RO.RO, ADD RO, 120,121 MUL 120,120,121 INPUT RO, MUL INPUT 120,0 ADD RO, INPUT 121,1 INPUT R 1,2 INPUT 121,2 RO, IN put 121,1 N RO, ROIRA SET 121,3 6 4 Prozessor-Datenpfad a) Schreiben Sie für den Universalrechner ein Programm in Assembler-Sprache, welches die drei Seiten eines Würfels von den Eingängen, und einliest, das Volumen des Würfels berechnet

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Physik & Musik. Optisches KO. 1 Auftrag

Physik & Musik. Optisches KO. 1 Auftrag Physik & Musik 20 Optisches KO 1 Auftrag Physik & Musik Optisches KO Seite 1 Optisches KO Bearbeitungszeit: 30 Minuten Sozialform: Einzel- oder Partnerarbeit Voraussetzung: Posten 1: "Wie funktioniert

Mehr

Beugung am Gitter. Beugung tritt immer dann auf, wenn Hindernisse die Ausbreitung des Lichtes

Beugung am Gitter. Beugung tritt immer dann auf, wenn Hindernisse die Ausbreitung des Lichtes PeP Vom Kerzenlicht zum Laser Versuchsanleitung Versuch 2: Beugung am Gitter Beugung am Gitter Theoretische Grundlagen Beugung tritt immer dann auf, wenn Hindernisse die Ausbreitung des Lichtes beeinträchtigen.

Mehr

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

3 Initialisierung. Initialisierung. Addieren clk_mkand= clk_produkt= multiplexer= multiplexer= I0 init/>>1= mon. init/>>1= 0.

3 Initialisierung. Initialisierung. Addieren clk_mkand= clk_produkt= multiplexer= multiplexer= I0 init/>>1= mon. init/>>1= 0. u Arithmetische Schaltungen c) Vervollständigen Sie nachfolgend abgebildeten s-automaten so, dass er den Multiplizierer wie gewünscht steuert Nehmen Sie an, dass Sie zur Detektion des Schleifen-Abbruchs

Mehr

Funktion CD DVD Laufwerk und Laser Abtastoptik

Funktion CD DVD Laufwerk und Laser Abtastoptik 6.12.2016 Funktion CD DVD Laufwerk und Laser Abtastoptik Mit CD und DVD hat heute jeder zu tun. Irgendwann hat mich interessiert, wie die Daten auf diesen Medien gespeichert und als Musik, Filme oder Daten

Mehr

Durch das Borgen steht an der Zehner-Stelle jetzt nur noch eine 1 statt einer 2

Durch das Borgen steht an der Zehner-Stelle jetzt nur noch eine 1 statt einer 2 .9 Subtraktion 55.9 Subtraktion Allgemein Bezeichnungen: Minuend - Subtrahend = Differenz Die Subtraktion zweier Zahlen wird stellenweise ausgeführt. Dabei kann es vorkommen, dass eine größere Zahl von

Mehr

Steffen Uhlig Meinrad Weick

Steffen Uhlig Meinrad Weick Steffen Uhlig Meinrad Weick Computer was ist das? wo stecken Computer drin? PC woraus besteht er? was benötigt man, damit er funktioniert? was kann man damit tun? Computer- und Internet-AG: Teil 1 2 Computer-

Mehr

4. TÜ-Zusammenfassung zum Modul Computersysteme

4. TÜ-Zusammenfassung zum Modul Computersysteme 4. TÜ-Zusammenfassung zum Modul Computersysteme Kurzzusammenfassung 6. Kapitel MMIX 256 Allzweckregister um Operanden abzuspeichern 32 Spezialregister bilden Schnittstelle zwischen Soft- und Hardware ALU(Arithmetic

Mehr

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Prinzipieller Aufbau und Funktionsweise eines Prozessors Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg

Mehr

Integrierte Schaltungen

Integrierte Schaltungen Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

EX Slot Box Zur Erweiterung um 2 PCI & 2 PCI-EXpress Anschlüsse

EX Slot Box Zur Erweiterung um 2 PCI & 2 PCI-EXpress Anschlüsse Bedienungsanleitung 4 Slot Box Zur Erweiterung um 2 PCI & 2 PCI-EXpress Anschlüsse V1.1 18.03.13 Inhaltsverzeichnis 1. BESCHREIBUNG... 3 2. LAYOUT... 3 3. HARDWARE INSTALLATION... 4 4. ANSCHLUSSBEISPIEL...

Mehr

Computertechnik Computersysteme Altes CS1-Skript SS 2007

Computertechnik Computersysteme Altes CS1-Skript SS 2007 TECHNISCHE UNIVERSITÄT MÜNCHEN Fakultät für Elektrotechnik und Informationstechnik Lehrstuhl für Datenverarbeitung Prof. Dr.-Ing. K. Diepold Computertechnik Computersysteme Altes CS-Skript SS 27 Sprung-Vorhersage,

Mehr

Fachbereich Medienproduktion

Fachbereich Medienproduktion Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik Themenübersicht Rechnertechnik und IT Sicherheit Grundlagen der Rechnertechnik Prozessorarchitekturen

Mehr

2.3.2 Fenster verschieben Fenster überlappen

2.3.2 Fenster verschieben Fenster überlappen PC EINSTEIGER Das Betriebssystem 2.3.2 Fenster verschieben Wenn das Fenster nicht durch MAXIMIEREN in den Vollbildmodus gestellt wurde, können Sie das Fenster auf Ihrem Desktop frei verschieben. Platzieren

Mehr

Physik G8-Abitur 2011 Aufgabenteil Ph 11 LÖSUNG

Physik G8-Abitur 2011 Aufgabenteil Ph 11 LÖSUNG 3 G8_Physik_2011_Ph11_Loe Seite 1 von 7 Ph 11-1 Physik G8-Abitur 2011 Aufgabenteil Ph 11 LÖSUNG 1) a) b) - - + + + c) In einem Homogenen elektrischen Feld nimmt das Potential in etwa linear. D.h. Es sinkt

Mehr

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen 3 Zahlendarstellung - Zahlensysteme - b-adische Darstellung natürlicher Zahlen - Komplementbildung - Darstellung ganzer und reeller Zahlen Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen......

Mehr

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Fachschaft Informatik Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/36 Inhaltsverzeichnis I 1 Komponenten eines PCs

Mehr

Dividend / Divisor = Quotient + Rest 9876 : 0054= : 0054= = -10 (negativ bleibt bei 1 mal) 4476 : 0054=018

Dividend / Divisor = Quotient + Rest 9876 : 0054= : 0054= = -10 (negativ bleibt bei 1 mal) 4476 : 0054=018 78 Arithmetische Schaltungen Division Allgemein Bei der Division gilt allgemein: Dividend / Divisor = Quotient + Rest Division zur Basis, wie in der Schule gelernt: 9876 : 54= Runde Teildividend = 9 Passt

Mehr

3 Arithmetische Schaltungen

3 Arithmetische Schaltungen . Schaltungselemente 7 Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel

Mehr

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben Zwischenklausur Informatik, WS 206/7 4.2.206 Lösungen zu den Aufgaben. Gegeben sind folgende Dualzahlen in Zweierkomplementdarstellung. Geben Sie den jeweils zugehörigen Dezimalwert an! a) entspricht der

Mehr

Technische Fachhochschule Berlin Fachbereich VIII

Technische Fachhochschule Berlin Fachbereich VIII Technische Fachhochschule Berlin Fachbereich VIII Ergänzungen Seite von LOGIKPEGEL Logik-Familien sind elektronische Schaltkreise, die binäre Zustände verarbeiten und als logische Verknüpfungen aufgebaut

Mehr

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8 Inhaltsverzeichnis Vorwort Teil 1: Grundlagen 1 1 Einleitung 3 1.1 Grundbegriffe 3 1.2 Einheiten 5 1.3 Geschichte 6 1.4 Arten von Computern 8 2 Allgemeiner Aufbau eines Computersystems 15 2.1 Blockdiagramm

Mehr

Digital-Wandlung. Transferierung von Daten aus der realen (analogen) Welt in die (digitale) Welt des Rechners.

Digital-Wandlung. Transferierung von Daten aus der realen (analogen) Welt in die (digitale) Welt des Rechners. AD-Wandlung: Transferierung von Daten aus der realen (analogen) Welt in die (digitale) Welt des Rechners. DA-Wandlung: Transferierung von Daten aus dem Rechner in die reale Welt 1 Wichtige Begriffe: analog

Mehr

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden. Name: Vorname: Matr.-Nr.: 4 Aufgabe 1 (8 Punkte) Entscheiden Sie, welche der folgenden Aussagen zum Thema CISC/RISC-Prinzipien korrekt sind. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen

Mehr

!!! Der Mikroprozessor ist überall!!!

!!! Der Mikroprozessor ist überall!!! Fachbereich Intelligent Elektrotechnik Systems Design!!! Der Mikroprozessor ist überall!!! Vorlesung im Rahmen des Junior Campus Prof. Dr.-Ing. Michael Karagounis 25.09.2015 Berufskolleg Ahlen Was ist

Mehr

ZENTRALEINHEITEN GRUPPE

ZENTRALEINHEITEN GRUPPE 31. Oktober 2002 ZENTRALEINHEITEN GRUPPE 2 Rita Schleimer IT für Führungskräfte WS 2002/03 1 Rita Schleimer TEIL 1 - Inhalt Zentraleinheit - Überblick Architekturprinzipien Zentralspeicher IT für Führungskräfte

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Digitaltechnik II SS 2007

Digitaltechnik II SS 2007 Digitaltechnik II SS 27. Vorlesung Klaus Kasper Inhalt Evaluation der Lehre (Auswertung) Automaten Moore-Automat Mealy-Automat Übung Massenspeicher Magnetische Speicherung Optische Speicherung Digitaltechnik

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis 3

Inhaltsverzeichnis. Inhaltsverzeichnis 3 Inhaltsverzeichnis Inhaltsverzeichnis 3 1 Einführung 9 1.1 Die Ursprünge der Computertechnik... 10 1.2 Der erste Mikroprozessor... 15 1.3 Schaltungstechniken... 15 1.3.1 Transistor-to-Transistor-Logik...

Mehr

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

Was passiert eigentlich im Computer wenn ich ein Programm starte

Was passiert eigentlich im Computer wenn ich ein Programm starte . Das Programm- Icon Auf dem Desktop deines Computers siehst du Symbolbildchen (Icons), z.b. das Icon des Programms Rechner : Klicke mit der rechten Maustaste auf das Icon: Du siehst dann folgendes Bild:

Mehr

Vorzeichenbehaftete Festkommazahlen

Vorzeichenbehaftete Festkommazahlen 106 2 Darstellung von Zahlen und Zeichen Vorzeichenbehaftete Festkommazahlen Es gibt verschiedene Möglichkeiten, binäre vorzeichenbehaftete Festkommazahlen darzustellen: Vorzeichen und Betrag EinerKomplement

Mehr

3 ORDNER UND DATEIEN. 3.1 Ordner Ordner anlegen

3 ORDNER UND DATEIEN. 3.1 Ordner Ordner anlegen PC EINSTEIGER Ordner und Dateien 3 ORDNER UND DATEIEN Themen in diesem Kapitel: Erstellung von Ordnern bzw Dateien Umbenennen von Datei- und Ordnernamen Speicherung von Daten 3.1 Ordner Ordner sind wie

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen

Mehr

N Bit Binärzahlen. Stelle: Binär-Digit:

N Bit Binärzahlen. Stelle: Binär-Digit: N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)

Mehr

Wie kann so eine schwierige Aufgabe gelöst werden? Modernste Regelungstechnik macht s möglich!

Wie kann so eine schwierige Aufgabe gelöst werden? Modernste Regelungstechnik macht s möglich! Nach dieser Skalierung wären die Schreib-/Leseköpfe gut eineinhalb mal so lang und ein halbes mal so breit wie die Münchener Frauenkirche hoch ist und würden mit einer Geschwindigkeit, mit der sie in 2,6

Mehr

Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach

Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach Arduino Kurs Das LC-Display Stephan Laage-Witt FES Lörrach - 2018 Themen LC-Display zur Anzeige von Text Serieller Datenbus Ausgabe von Zeichen, Texten und Zahlen FES Lörrach Juli 2017 2 LC-Display zur

Mehr

Hardware & Kernel-Module

Hardware & Kernel-Module Hardware & Kernel-Module Linux-Kurs der Unix-AG Zinching Dang 09. Juli 2013 Hardwarekomponenten Mainboard CPU RAM Grafikkarte Festplatte Optische und Wechsel-Datenträger Peripherie Zinching Dang Hardware

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Martin Schulz Einführung in die Rechnerarchitektur Wintersemester 07/08 Tutorübung

Mehr

Parallele Algorithmen in der Bildverarbeitung

Parallele Algorithmen in der Bildverarbeitung Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren

Mehr

Bild Nr.1. Präsentiert von Florian Ensfellner

Bild Nr.1. Präsentiert von Florian Ensfellner Bild Nr.1 Präsentiert von G e s c h i c h t e In den 70er Jahren forschten Techniker sehr vieler Elektronikkonzerne mit digitaler Audio- Aufzeichnung. Die ersten Prototypen basierten auf magnetischen Speichermedien,

Mehr

ITK Micro 2.1 / Columbus Card

ITK Micro 2.1 / Columbus Card ITK Micro 2.1 / Columbus Card Hardware Installation 1 Jumper einstellen...1 Beispiel 1: Standardeinstellung...1 Beispiel 2: Die Ressourcen der Standardeinstellung sind bereits belegt....2 Allgemein: Mögliche

Mehr

3.8 Sequentieller Multiplizierer 167

3.8 Sequentieller Multiplizierer 167 .8 Sequentieller Multiplizierer 67 a) Welche Organisation hat das ROM? 6=64 Datenwerte zu je 9 Bit Im ROM wird durch die Adress-Bits, und der Zustand festgelegt, durch die Adress-Bits und 4 der Rundenzähler,

Mehr

3 Kodierung von Informationen

3 Kodierung von Informationen 43 3 Kodierung von Informationen Bevor ich Ihnen im nächsten Kapitel die einzelnen Bausteine einer Computeranlage vorstelle, möchte ich Ihnen noch kurz zeigen, wie Daten kodiert sein müssen, damit der

Mehr

Grundlagen der Bauelemente. Inhalt. Quellen: Autor:

Grundlagen der Bauelemente. Inhalt. Quellen: Autor: Grundlagen der Bauelemente Inhalt 1. Der micro:bit... 2 2. Der Stromkreis... 4 3. Die Bauteile für die Eingabe / Input... 5 4. Die Bauteile für die Ausgabe / Output... 5 5. Der Widerstand... 6 6. Die Leuchtdiode

Mehr

Der von Neumann Computer

Der von Neumann Computer Der von Neumann Computer Grundlagen moderner Computer Technologie 1 Der moderne Computer ein weites Spektrum Typ Preis Anwendungsbeispiel embeded Computer 10-20 $ in Autos, Uhren,... Spielcomputer 100-200$

Mehr

Rechnerarchitektur. angeben, welche Bestandteile ein Von-Neumann-Rechner haben muss.

Rechnerarchitektur. angeben, welche Bestandteile ein Von-Neumann-Rechner haben muss. 1 Rechnerarchitektur Das Fachgebiet Rechnerarchitektur beschäftigt sich mit dem Aufbau und der Organisation von Rechnern. Dabei wird das Zusammenspiel der Hardware geplant und gebaut. Am Ende des Themas

Mehr

Algorithmen zur Division

Algorithmen zur Division Algorithmen zur Division Umkehrung der Multiplikation: Berechnung von q = a / b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom aktuellen Rest

Mehr

Theorie der Programmiersprachen

Theorie der Programmiersprachen slide 1 Vorlesung Theorie der Programmiersprachen Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Heute Komponenten eines Computers Speicher Die

Mehr

Aufzeichnen der Daten

Aufzeichnen der Daten Aufzeichnen der Daten Analog: Tonbandgerät manche Schreiber Vorteil: kein Verlust beim Aufzeichnen Nachteil: Verluste beim Kopieren Tonbänder sehr anfällig internes Rauschen Digital: DAT Rekorder manche

Mehr

Übung 7 Rechnerstrukturen

Übung 7 Rechnerstrukturen Übung 7 Rechnerstrukturen Aufgabe 7.: X X2 X3 X4 F F2 F3 F4 X-X4 sind alle möglichen Binär-Werte. F-F2 ist das Ergebnis der Multiplikation von (XX2) und (X3X4). Dabei funktioniert die Multimpliation folgendermaßen:

Mehr

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

Klausur Experimentalphysik II

Klausur Experimentalphysik II Universität Siegen Naturwissenschaftlich-Technische Fakultät Department Physik Sommer Semester 2018 Prof. Dr. Mario Agio Klausur Experimentalphysik II Datum: 25.9.2018-10 Uhr Name: Matrikelnummer: Einleitung

Mehr

So funktioniert der Bootvorgang unter WindowsXP

So funktioniert der Bootvorgang unter WindowsXP So funktioniert der Bootvorgang unter WindowsXP 1. Einleitung 2. Definition Booten 3. So funktioniert der Bootvorgang 4. Troubleshooting (Fehleranalyse) 5. Literatur und Quellenangaben 1. Einleitung Hallo

Mehr

Menschliches Addierwerk

Menschliches Addierwerk Menschliches Addierwerk Einleitung In seinem Buch The Three-Body Problem 1 beschreibt der chinesische Autor Liu Cixin die Entwicklung eines Computers, der aus mehreren Millionen Menschen zusammengesetzt

Mehr

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22 Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Bernd-Dieter Schaaf Mit Mikrocontrollern der Familie 8051 ISBN 3-446-40017-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40017-6 sowie im Buchhandel

Mehr

T e) Welche Eigenschaft müssen Byte-, Wyde-, Tetra- und Octa-Adressen beim MMIX haben?

T e) Welche Eigenschaft müssen Byte-, Wyde-, Tetra- und Octa-Adressen beim MMIX haben? 236 6 MMIX-Prozessor T e) Welche Eigenschaft müssen Byte-, Wyde-, Tetra- und Octa-Adressen beim MMIX haben? Byte : Reine besondere Eigenschaft wyde : durch 2 tutbar eetztesrstto Tetra : dutch 4 teicbar

Mehr

6 Schaltwerke und endliche Automaten

6 Schaltwerke und endliche Automaten 6 Schaltwerke und endliche Automaten 6.1 Entwicklungsstufen 143 In diesem Abschnitt wird gezeigt, wie das Blockschaltbild aus 1.4 realisiert werden kann. Mithilfe der entwickelten Speicherbausteine und

Mehr

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

Mehr

14.8 Anhang Der lineare Prüfstand Seite Der lineare Prüfstand

14.8 Anhang Der lineare Prüfstand Seite Der lineare Prüfstand 14.8 Anhang Der lineare Prüfstand Seite 103 14.8 Der lineare Prüfstand Anhand dieser Bilder möchte ich das Prinzip des Versuchsstandes erläutern und einige Teile, die in der Diplomarbeit immer wieder erwähnt

Mehr