Einführung Computersysteme Dr. Michael Zwick
|
|
- Maximilian Schumacher
- vor 5 Jahren
- Abrufe
Transkript
1 Einführung Computersysteme Dr. Michael Zwick
2 Vorlesung, Übung & Fragestunde Dr.-Ing. Michael Zwick Raum Z945 (089)
3 Modul Computertechnik Computersysteme V/Ü/P = 2/1/0 (Mi, 13:15-14:45 Uhr; Do, 11:30-12:00 Uhr) keine feste Trennung zwischen V und Ü freiwillig: Fragestunde; Donnerstags 16:45-18:15 im Raum Z945 bzw Tutorium; Termine werden noch bekanntgegeben Programmierpraktikum C V/Ü/P = 0/2/2 Ü: Audimax P: Eikon Rechnerräume; Termine lt. Anmeldung (nächste Woche) 3
4 Lehrkonzept Konstruktivistischer Ansatz: Sie müssen das Wissen durch Beschäftigung mit dem jeweiligen Problem selbst generieren/konstruieren Selbst mit dem Problem beschäftigen Problemstellung in ihren persönlichen Wissenskontext einbetten Versuchen, das Problem mit Hilfe ihres bisherigen Wissens zu verstehen Selbst versuchen, das Problem zu lösen => Problem richtig verstehen Problem selbst lösen oder Lösung nachvollziehen Inquiry-based Learning / fragenbasiertes Lernen 4
5 Bachelor Elektrotechnik und Informationstechnik Stand: Stundenplan 2. Fachsemester SS 2016 Fakultät für Elektrotechnik und Informationstechnik Von Bis Montag Dienstag Mittwoch Donnerstag Freitag Von Bis 08:00 08:15 08:00 08:15 08:15 08:30 Algorithmen und Elektrizität und Analysis 2 Algorithmen und 08:15 08:30 08:30 08:45 Datenstrukturen Magnetismus (Vexler) Datenstrukturen 08:30 08:45 08:45 09:00 (Lasser) (Wachutka) (Lasser) 08:45 09:00 09:00 09: :00 09:15 09:15 09:30 09:15 09:30 09:30 09:45 09:30 09:45 09:45 10:00 09:45 10:00 10:00 10:15 Analysis 2 Schaltungstechnik 2 Algorithmen und Elektrizität und 10:00 10:15 10:15 10:30 (Vexler) (Joham) Datenstrukturen Magnetismus 10:15 10:30 10:30 10:45 (Lasser) (Wachutka) T2 10:30 10:45 10:45 11: :45 11:00 11:00 11:15 11:00 11:15 11:15 11:30 11:15 11:30 11:30 11:45 Schaltungstechnik 2 Computertechnik 11:30 11:45 11:45 12:00 (Joham) (Zwick) 11:45 12:00 12:00 12: Audimax 12:00 12:15 12:15 12:30 T7 T3 12:15 12:30 12:30 12:45 12:30 12:45 12:45 13:00 12:45 13:00 13:00 13:15 13:00 13:15 13:15 13:30 13:15 13:30 13:30 13:45 Analysis2 Computertechnik Schaltungstechnik 2 13:30 13:45 13:45 14:00 (Vexler) (Zwick) (Joham) 13:45 14:00 14:00 14:15 T8 T4 14:00 14:15 14:15 14: Audimax :15 14:30 14:30 14:45 14:30 14:45 14:45 15:00 14:45 15:00 15:00 15:15 15:00 15:15 15:15 15:30 Elektrizität und Programmierpraktikum 15:15 15:30 15:30 15:45 Magnetismus (Zwick) 15:30 15:45 15:45 16:00 T5 T9 (Wachutka) 15:45 16:00 16:00 16: Audimax 16:00 16:15 16:15 16:30 16:15 16:30 16:30 16:45 16:30 16:45 16:45 17:00 16:45 17:00 17:00 17:15 17:00 17:15 17:15 17:30 17:15 17:30 17:30 17:45 T6 T10 T11 T1 17:30 17:45 17:45 18: :45 18:00 18:00 18:15 18:00 18:15
6 Bewertung Bewertung: 1 Endnote 50% schriftliche Prüfung Computersysteme 50% Programmierprüfung im Eikon Notenbonus 0,3, wenn alle Hausaufgaben des Programmierpraktikums zu 80% erledigt wurden Prüfung Voraussichtlicher Termin (Stand 08. April): , Computersysteme: 08:00-09:15 Uhr (Audimax, 1200, N1189) Programmierprüfung: Im Anschluss (7 Termine zu je 45 Minuten: 10:00 Uhr, 11:00 Uhr, 12:00 Uhr, ) Keine Hilfsmittel erlaubt
7 Webseite Skript, Mitschrift Zusatzmaterial Infos, Ankündigungen,...
8 für Modul
9 Abstraktions-Ebenen Algorithmus Interpretierte Sprache Interpreter Compilierbare Hochsprache Hardwarenahe Sprache Befehlssatz Mikroarchitektur Digitale Logik Transistoren Masken-Layout/Halbleiter 9
10 Abstraktions-Ebenen Algorithmus a b = a 1 b 1 + a 2 b a n b n Interpretierte Sprache Interpreter Compilierbare Hochsprache Hardwarenahe Sprache Befehlssatz Mikroarchitektur Digitale Logik Transistoren Masken-Layout/Halbleiter 10
11 Abstraktions-Ebenen Algorithmus Interpretierte Sprache Interpreter x = Vector[1,2,3,4]. inner_product ( Vector[10,20,30,40]) Compilierbare Hochsprache Hardwarenahe Sprache Befehlssatz Mikroarchitektur Digitale Logik Transistoren Masken-Layout/Halbleiter 11
12 Abstraktions-Ebenen Algorithmus Interpretierte Sprache Interpreter Compilierbare Hochsprache Hardwarenahe Sprache Befehlssatz Mikroarchitektur Digitale Logik Transistoren void main() { int w, x; const int n = 4; // Dim. int a[n] = {1,2,3,4}; int b[n] = {10,20,30,40}; } w = n; x = 0; while(w){ w = w - 1; x = x + a[w] * b[w]; } // dot product is // stored in x Masken-Layout/Halbleiter 12
13 Abstraktions-Ebenen Algorithmus Interpretierte Sprache Interpreter Compilierbare Hochsprache Hardwarenahe Sprache Befehlssatz Mikroarchitektur Digitale Logik Transistoren Masken-Layout/Halbleiter LOC Data_Segment N OCTA 4 ADR_A1 OCTA 1 OCTA 2 OCTA 3 OCTA 4 ADR_B1 OCTA 10 OCTA 20 OCTA 30 OCTA 40 u IS $1 v IS $2 w IS $3 x IS $4 y IS $5 z IS $6 LOC #100 Main SETL x,0 LDA u,adr_a1 LDA v,adr_b1 LDO w,n MUL w,w,8 Start BZ w,ende SUB w,w,8 LDO y,u,w LDO z,v,w MUL y,y,z ADD x,x,y JMP Start Ende TRAP 0,:HALT,0 13
14 Abstraktions-Ebenen Algorithmus Interpretierte Sprache MUL $X,$Y,$Z Z Interpreter Compilierbare Hochsprache ADD $X,$Y,$Z Z Hardwarenahe Sprache GO $X,$Y,$Z Z Befehlssatz SUB $X,$Y,$Z Z Mikroarchitektur Digitale Logik Transistoren Masken-Layout/Halbleiter SL JMP XYZ $X,$Y,$Z Z 14
15 Abstraktions-Ebenen Algorithmus Interpretierte Sprache Interpreter Mem.-Pulse Compilierbare Hochsprache Hardwarenahe Sprache Befehlssatz Mikroarchitektur PC Add Address 64 Instruction memory Instruction 32 Clk1 IR Reg.-Pulse X-Select Control unit Write Write Data $X Adr. $X Adr. $Y Adr. $Z 8 Reg.-Write WB-Select Mem.-Write Mem.-Mode ALU-Select Immediate Register file Data $X Data $Y Data $Z Clk2 Clk3 Clk WB MA EX $X $Y $Z Im. Op ALU WB MA $X ALU Res. Mode Data In Adr. Write Data Out Data memory X X X 8 8 WB Mem Data ALU Res. 0 1 Digitale Logik Transistoren Masken-Layout/Halbleiter
16 Abstraktions-Ebenen Algorithmus Interpretierte Sprache Interpreter Compilierbare Hochsprache Hardwarenahe Sprache Befehlssatz Mikroarchitektur Digitale Logik Transistoren Masken-Layout/Halbleiter 16
17 Abstraktions-Ebenen Algorithmus Interpretierte Sprache Interpreter Compilierbare Hochsprache Hardwarenahe Sprache A Vdd Befehlssatz Mikroarchitektur B Out Digitale Logik Transistoren Masken-Layout/Halbleiter 17
18 Abstraktions-Ebenen Vdd Algorithmus A Interpretierte Sprache Interpreter B Out Compilierbare Hochsprache Hardwarenahe Sprache Befehlssatz Mikroarchitektur Vdd Digitale Logik Transistoren A B Out Masken-Layout/Halbleiter GND 18
19 Abstraktions-Ebenen Algorithmus Interpretierte Sprache Interpreter Compilierbare Hochsprache Hardwarenahe Sprache Befehlssatz Mikroarchitektur Hardware/Software-Schnittstelle Digitale Logik Transistoren Masken-Layout/Halbleiter 19
20 Computersysteme Michael Zwick Technische Universität München
21 Inhalt 1 Motivation: Wie funktioniert ein Computer? Komponenten eines Computers Peripherie-Geräte und Netzteil Netzteil Grafikkarte DVD-ROM DVD-Brenner Festplatte Komponenten auf der Hauptplatine - Überblick Prozessor Arbeitsspeicher 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... 71
22 Inhalt 1 Aufgaben Wie funktioniert ein Computer 81 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 Logikgatter Multiplexer Demultiplexer Decoder Speicherelemente: Flipflops und Register Halbaddierer (HA)...137
23 4 3.3 Volladdierer (VA) Ripple-Carry-Addierer/Subtrahierer Carry-Look-Ahead Einstufige Carry-Look-Ahead-Schaltung Kaskadierung von Carry-Look-Ahead-Schaltungen Addition und Subtraktion von Gleitkommazahlen Kombinatorischer Multiplizierer Sequentieller Multiplizierer Multiplexer-basierte Implementierung der Steuerung ROM-basierte Implementierung der Steuerung Multiplikation vorzeichenbehafteter Zahlen Multiplikation von Gleitkomma-Zahlen Subtraktion Allgemein Halb-Subtrahierer Voll-Subtrahierer Ripple-Borrow-Subtrahierer Division Allgemein Kombinatorischer Dividierer Sequentieller Dividierer Implementierung des Zustandsautomaten mit Multiplexern Implementierung des Zustandsautomaten mit Speicherbausteinen Prozessor-Datenpfad Vom zu lösenden Problem abhängige Schaltung Universalrechner: Schaltung unabhängig vom Problem Allgemein Beispiel-Schaltung Aufgaben Verständnisfragen Programmieraufgaben Quadratische Gleichung Kugelvolumen
24 5 4.3 Assembler Assembler als leicht verständliche hardwarenahe Sprache Definition einer Assembler-Sprache für den Universalrechner Assembler als Übersetzer Befehlssätze und deren Klassifikation 215 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 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
25 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 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
26 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 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 Pipelining 4
27 8
28 9
29 10
30 1 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. 1.1 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. 1: Computer-Arbeitsplatz 11
31 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 12
32 1.1.1 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 230 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. +12 V für die Motoren der Laufwerke und Lüfter. -5 V und -12 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 -12 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 +12 V Leitungen. Die Leitung mit der Bezeichnung +5 VSB (SB = Standby) dient zur Versorgung bestimmter Rechner-Komponenten im Standby-Modus (z.b. Arbeitsspeicher). 13
33 Ausgangsspannung +3,3 V +5 V +5 VSB +12 V Strom (max.) 26 A 42 A 2,5 A 18 A Leistung (max.) 220 W 12,5 W 216 W max. Gesamtleistung 450 W Abb. 5: Typische Ausgangsleistung eines ATX-Netzteils Aufgrund dieser hohen Ströme erfolgt die Spannungsreduktion von 230 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: 230 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 14
34 Der in Abb. 6 gezeigte Schaltregler funktioniert wie folgt: Die Netzspannung (230 V Wechselspannung, 50 Hz) wird an einen Gleichrichter (1) 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 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 230 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 ( khz statt 50 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 V -12 V ,3 V GND 13 3 GND PS_ON V GND 15 5 GND GND V GND 17 7 GND -5 V 18 8 PW_OK +5 V VSB +5 V 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. 15
35 Grafikkarte Die in Abb. 3 auf Seite 12 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 16
36 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 1 -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 1 Byte 24 Bit Farbtiefe 0x3F 0x00 0x78 0xFF 0xE8 1 Pixel R G B R G B R 0B R G B R G R G B R G B R B R G B R G Abb. 10: 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 = 0xFF, G = 0x00, B = 0x00 zugeordnet. Grün entspricht dann R = 0x00, G = 0xFF, B = 0x00 und ein dunkles Grau etwa R = 0x60, G = 0x60, B = 0x60. Zum Verständnis der Umwandlung der im Grafik-Speicher der Grafikkarte abgelegten Byte in ein Bildschirm-Signal ist es sinnvoll zu wissen, wie diese Bildschirmsignale überhaupt aussehen. Bildschirm-Signale, die aus dem DVI-Anschluss kommen, sind digital und können in der Regel nur von TFT-Bildschirmen verwendet werden. Die Signale, die aus dem VGA (Video Graphics Array)-Anschluss einer Grafikkarte kommen, sind analog und so aufgebaut, dass sie sich sehr leicht von einem Röhrenmonitor verarbeiten lassen. Aus diesem Grund schauen wir uns erst einmal kurz an, wie ein Röhrenmonitor funktioniert (auch wenn diese gerade von TFT-Bildschirmen vom Markt gedrängt werden). 1 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. 17
37 Ein (Farb-)Röhrenmonitor enthält drei Kathoden, die jeweils einen Elektronenstrahl aussenden. Jeder Elektronenstrahl (und somit jede Kathode) ist dabei für eine der drei Grundfarben (RGB) zuständig. Die drei Elektronenstrahlen können in der Röhre durch sog. Ablenkspulen derart abgelenkt werden, dass der Auftreffpunkt der Elektronenstrahlen auf der Bildschirmvorderseite horizontal und vertikal verschoben werden kann. Durch Anlegen einer geeigneten Spannung kann man den Elektronenstrahl somit an einer beliebigen Stelle auf der Vorderseite der Bildröhre auftreffen lassen. Abb. 11: Durch geeignete Spannungen an den Ablenkspulen kann der Auftreffpunkt der drei Elektronenstrahlen beliebig in horizontaler und vertikaler Richtung verschoben werden. Um aus den Elektronenstrahlen Farben erzeugen zu können, sind innen auf der Bildschirmvorderseite abwechselnd phosphorhaltige Stoffe aufgebracht, die bei Elektronenbeschuss entweder Rot, Grün oder Blau leuchten. Damit die Elektronenstrahlen immer nur die drei zu einem bestimmten Pixel gehörigen Punkte treffen und nicht auch noch benachbarte, ist 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. 12: Die von den Kathoden abgegebenen drei Elektronenstrahlen werden von Spulen abgelenkt und treffen dann auf eine Lochblende, welche die Elektronenstrahlen genau auf die rot, grün oder blau fluoreszierenden Punkte des gewünschten Pixels fokussiert. 18
38 Führt man die drei Elektronenstrahlen wie in nachfolgender Abbildung angegeben über den Bildschirm, werden alle rot, grün und blau fluoreszierenden Punkte von den zugehörigen Elektronenstrahlen getroffen. In Abb. 13: Weg der drei Elektronenstrahlen über den Monitor An den Ablenkspulen zur horizontalen Ablenkung muss also eine periodisch ansteigende Spannung (Sägezahn) Hsync anliegen, so dass die drei Elektronenstrahlen von links nach rechts wandern. Hat Hsync einen bestimmten negativen Wert, dann befindet sich der Elektronenstrahl ganz links. Hat Hsync einen bestimmten positiven Wert, dann befindet sich der Elektronenstrahl ganz rechts. Bei den Ablenkspulen zur vertikalen Ablenkung muss 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 wandern. Vsync muss dabei jedoch eine um die Anzahl der Bildzeilen niedrigere Frequenz als Hsync haben. So gelangen die drei Elektronenstrahlen erst dann am unteren Ende der Bildröhre an, wenn alle Zeilen von links nach rechts durchlaufen wurden. Nachfolgende Abbildung zeigt die von einem VGA-Anschluss gelieferten Signale. Hsync und Vsync sind dabei die gerade besprochenen Spannungen zur Positionierung der drei Elektronenstrahlen, R, G, und B sind die Spannungen, welche die Strahlungsintensität der zugehörigen Kathoden und damit die Intensität jeder Pixel-Grundfarbe steuern. R G B Hsync Vsync t 1. Zeile 2. Zeile letzte Zeile 1. Zeile Abb. 14: Signale am VGA-Anschluss 1. Bild 2. Bild 19
39 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. 14) der Grafikkarte herauskommen. Nachfolgende Abbildung zeigt den Verlauf der Daten auf dem Weg vom Prozessor zum Bildschirm. Prozessor 0x3F 0x00 0x78 0xFF 0xE8 Video-Speicher auf der Grafikkarte Kabel bei Digital Cz. RAMDAC (für Rot) RAMDAC (für Grün) RAMDAC (für Blau) Digital-Analog-Wandler (RAMDAC) Abb. 15: Datenverlauf vom Prozessor zum Bildschirm VGA- Buchse c:\> + habel Bildschirm B. HDMD bei Analog ( VG A) 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. 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. ' In ) Abb. 16: Linie ( xz, yz) 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. 20
40 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. 17: 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 0 eingetragen. Bedeckt die Linie die Pixel nur zu 40 Prozent, so trägt die Farbe der Linie (hier schwarz) auch nur zu 40 Prozent zur Farbe des Pixels bei. Die restlichen 60 Prozent der Farbe des Pixels entsprechen der ursprünglichen Farbe des Pixels (bei uns also der Farbe weiss). Mit RGB schwarz = (0, 0, 0) und RGB weiss = (255, 255, 255) ergibt sich damit für die neue Farbe RGB neu = (0, ,6 255, 0, ,6 255, 0, ,6 255), also der neue Farbwert RGB neu = (153, 153, 153). Die Pixel-Darstellung der Linie ergibt sich damit wie folgt: offen I 1 Abb. 18: 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. = SX 2 Im obersten linken Pixel ist noch einmal dargestellt, wie die Pixel auf dem Bildschirm durch rote, grüne und blaue Punkte erzeugt werden. 21
41 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. * 0x4C 0x38 0x79 0x00 0xFE RAMDAC (für Rot) RAMDAC (für Grün) RAMDAC (für Blau) wird gerade erstellt und im Anschluss dargestellt c:\> 0x3F 0x00 0x78 0xFF 0xE8 wird gerade dargestellt Prozessor Front- und Back-Buffer Digital-Analog-Wandler (RAMDAC) VGA- Buchse Bildschirm Abb. 19: 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
42 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. 20: 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. 21: 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
43 Xzsef 31 Zzä rz, gzizz : Yt I
44 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
Einführung. Computertechnik Dr. Michael Zwick
Einführung Computertechnik Dr. Michael Zwick Vorlesung, Übung & Fragestunde Dr.-Ing. Michael Zwick Raum Z945 zwick@tum.de (089) 289 23609 Modul Computertechnik und Programmieren Computertechnik V/Ü/P =
MehrComputersysteme. 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...
MehrComputersysteme. 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...
MehrComputersysteme. 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...
Mehr1. 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
MehrEinige Teilgebiete der Informatik
Einige Teilgebiete der Informatik Theoretische Informatik Formale Sprachen, Automatentheorie, Komplexitätstheorie, Korrektheit und Berechenbarkeit, Algorithmik, Logik Praktische Informatik Betriebssysteme,
MehrZur 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
MehrComputersysteme. 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...
Mehr1 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
Mehr2 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
Mehr3.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
MehrSUB $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
MehrRO.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
MehrDatenpfad 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:
Mehr3.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
MehrPraktikum 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
MehrEinführung Programmierpraktikum C Michael Zwick
Einführung Programmierpraktikum C Michael Zwick Vorlesung, Übung & Fragestunde Dr.-Ing. Michael Zwick Raum Z945 zwick@tum.de (089) 289 23609 Tutorium Ab Dienstag: Auswahl Tutoriumsplatz auf www.ldv.ei.tum.de/lehre/computertechnik
MehrDatenpfad 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:
MehrPrinzipieller 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
MehrTECHNISCHE 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
Mehr1 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,
MehrPraktikum 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
Mehr3 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
MehrDividend / 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
MehrRechnernetze und Organisation
Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.
MehrDurch 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
MehrMusterlö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
MehrVorlesung 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
Mehr3 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
MehrInformatik 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
Mehr3.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,
MehrFragenkatalog 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
MehrTechnische Informatik II Rechnerarchitektur
Technische Informatik II Rechnerarchitektur MMIX-Crashkurs Matthias Dräger, Markus Rudolph E-Mail: mdraeger@mi.fu-berlin.de rudolph@mi.fu-berlin.de www: tinyurl.com/mmix2010 www.matthias-draeger.info/lehre/sose2010ti2/mmix.php
MehrT 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
Mehr4. 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
MehrMikroprozessor als universeller digitaler Baustein
2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen
MehrPC-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
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrRechner 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
MehrDurch 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
Mehr3 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
Mehr6 MMIX-Prozessor. 6.1 Programmiermodell. S.219 alles wichtig. 6.2 Register. Allzweckregister
6 MMIXProzessor Modell eines Prozessors (keine LegacyEffekte) RegisterRegister Architektur mit 256 Allzweck Register und 32 Spezialregister Wortbreite der Register, des Rechenwerks, der Daten und AdressBusse:
MehrStruktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register
Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
MehrT 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
MehrMikroprozessortechnik Grundlagen 1
Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes
MehrName: 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
MehrIntegrierte 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
MehrInhaltsverzeichnis. 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!!! 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
MehrMikroprozessoren 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)
MehrProzessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel
Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle
MehrBetriebssysteme 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
MehrBeim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:
1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
Mehr10 Versuch Nr Anmerkungen zum Versuch Nr. 8
10 Versuch Nr. 8 10.1 Anmerkungen zum Versuch Nr. 8 Während der letzten 4 Versuche haben Sie sich mit dem detaillierten Rechner-Entwurf beschäftigt. Im letzten Versuch konnten Sie abschließend einen kleinen
MehrVorwort 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
MehrWelche Register werden zur Parameterübergabe verwendet? In welcher Reihenfolge werden die Parameter auf dem Stack bzw. in den Registern abgelegt?
6.5 MMIX Befehle 291 Aufrufkonventionen Eine Aufrufkonvention (engl. calling convention) legt fest, wie einer Funktion Parameter übergeben werden und wie der Rückgabewert zurückgegeben wird. Damit spezifiziert
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
Mehr2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise
Teil 1 Kapitel 2 Rechner im Überblick 2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise Frank Schmiedle Technische Informatik I 2.1 Rechnersichten Modellierung eines Rechners Zusammenspiel
MehrCache 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.
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)
MehrSchema 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.
MehrFAKULTÄ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
MehrAssembler als Übersetzer
4 ProzessorDatenpfad Assembler als Übersetzer Um ein AssemblerProgramm für den Universalrechner zu übersetzen iteriert der Assembler der Reihe nach über alle Programmzeilen und führt für jede Zeile folgendes
MehrQuiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.
Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur
MehrAbschlussklausur 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
MehrDatenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren
Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren der beiden Registerwerte $t1 und $t2 in einem Zielregister
MehrZahlen im Computer (Klasse 7 Aufbaukurs Informatik)
Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Die Bildauswahl erfolgte in Anlehnung an das Alter der Kinder Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht! Messsystem mit Mikrocontroller
Mehr4 Prozessor-Datenpfad 4.1 Vom zu lösenden Problem abhängige Schaltung
4 ProzessorDatenpfad 4.1 Vom zu lösenden Problem abhängige Schaltung Die Idee ist es nun nicht unflexible Schaltungen, die aus einer großen Anzahl von Komponenten bestehen und nur eine Aufgabe erledigen
Mehr2. 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
MehrComputersysteme. Fragestunde
Computersysteme Fragestunde 1 Dr.-Ing. Christoph Starke Institut für Informatik Christian Albrechts Universität zu Kiel Tel.: 8805337 E-Mail: chst@informatik.uni-kiel.de 2 Kurze Besprechung von Serie 12,
MehrVorlesung 3: Verschiedenes
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 3: Verschiedenes Peter B. Ladkin Vorlesung 3 - Inhalt Busarchitektur Virtuelle Maschine 2 Busarchitektur - das
MehrRechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15
Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 Prof. Dr Jian-Jia Chen Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-.de http://ls1-www.cs.tu-.de Übersicht
MehrSpeichern von Zuständen
Speichern von Zuständen Erweiterung eines R S Latch zu einem D Latch (D=Data, C=Clock) R S altes Q neues Q 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 R S C D altes Q neues Q 0 0 0 0 0 1 0 1 0 0 1
MehrCarry Lookahead Adder
Carry Lookahead Adder Mittels der Generate und Propagate Ausdrücke lässt ich dann für jede Stelle i der Carry (Übertrag) für die Stelle i+1 definieren: Für einen 4 Stelligen Addierer ergibt sich damit:
MehrRechnerstrukturen Winter EINFÜHRUNG. (c) Peter Sturm, University of Trier 1
1. EINFÜHRUNG (c) Peter Sturm, University of Trier 1 Teilnehmer Vorlesung für Bachelor- Informatik Vorlesungszeiten Montags, 12.30 14.00 Uhr, Hörsaal HS13 Übungen und Übungsblätter Wöchentlich Blog Asysob
MehrEinführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009
Einführung Übungen zur Vorlesung Virtuelle Maschinen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SoSe 2009 Übungsaufgaben 1 Entwickeln
MehrGrundlegendes 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:
MehrVerschiedenes. Peter B. Ladkin
Verschiedenes Peter B. Ladkin ladkin@rvs.uni-bielefeld.de Busarchitektur Virtuelle Maschine Alles sitzt auf dem gleichen Kabel Das Gerät wird nur durch die Adresse unterschieden Speicher Cache Festplatte
MehrRechnerstrukturen Sommersemester 2003
9. Übung Ausgabe Abgabe 08.07.03 16.-18.07.03 Bei Fragen und Problemen können Sie uns per E-mail unter den folgenden Adressen erreichen: Mesut Güneş guenes@informatik.rwth-aachen.de Ralf Wienzek wienzek@informatik.rwth-aachen.de
MehrKap.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
MehrVon-Neumann-Architektur
Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..
MehrMikroprozessoren 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)
MehrEinführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München
Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (2) Architektur des Haswell- Prozessors (aus c t) Einführung
MehrRechnerstrukturen, Teil 1
Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 18/19 Prof. Dr. Jian- Jia Chen Fakultät für Informatik Technische Universität Dortmund jian- jia.chen@cs.uni-.de http://ls12- www.cs.tu-.de Übersicht 1. Organisatorisches
MehrMikrocomputertechnik
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
MehrRechnergrundlagen. Vom Rechenwerk zum Universalrechner
Rechnergrundlagen. Vom Rechenwerk zum Universalrechner von Rainer Kelch 1. Auflage Hanser München 2003 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22113 0 Zu Leseprobe schnell und portofrei
MehrDer 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$
MehrAufbau und Funktionsweise eines Computers
Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Praktische Informatik
Mehr2 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Übungsblatt 10 (Block C 2) (16 Punkte)
georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de pascal.libuschewski [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2016 Übungsblatt 10 (Block C 2) (16
MehrSignale und Logik (3)
Signale und Logik (3) Zwischenbilanz der bisherigen Erkenntnisse: Prof. Dr. A. Christidis SS 205 Energieformen (z.b. Elektrizität) können auch als Signale (=Informationsträger) genutzt werden (vgl. Telegraph).
Mehr4.2 Universalrechner: Schaltung unabhängig vom Problem 185
4.2 Universalrechner: Schaltung unabhängig vom Problem 85 a) Geben Sie binär die Befehlsworte an, mit denen Sie die Eingänge a, b und c in die Register R, R2 und R übernehmen. K D M4 M M2 M Kommentar XXXXXXXXXXX
MehrTeil VIII Von Neumann Rechner 1
Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only
Mehr