1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser e Festplatte f Android 4.1.1 a Computermaus Hardware b Betriebssystem Software c Drucker Hardware d Internetbrowser Software e Festplatte Hardware f Android 4.1.1 Software 2. Aufgabe: Welche Geräte verarbeiten Information analog bzw. digital? a Tastatur b Lautsprecher c Gehirn d MP3-Player a Tastatur digital b Lautsprecher analog c Gehirn analog (ca 10 13 analoge Rechenoperationen pro Sekunde) d MP3-Player digital 3. Aufgabe: Zahlendarstellung a Stellen Sie die Dezimalzahlen 141 und 76 als Binärzahl dar. b Stellen Sie die Zahlen auch hexadezimal dar. 1
a Umrechnung von 141 in eine Binärzahl: 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 128 64 32 16 8 4 2 1 1 0 0 0 1 1 0 1 141 128 = 13 ; 13 8 = 5 ; 5 4 = 1 ; 1 1 = 0 Oder: 141 : 2 = 70 Rest 1 70 : 2 = 35 Rest 0 35 : 2 = 17 Rest 1 17 : 2 = 8 Rest 1 8 : 2 = 4 Rest 0 4 : 2 = 2 Rest 0 2 : 2 = 1 Rest 0 1 : 2 = 0 Rest 1 Ergebnis : 10001101 2 Umrechnung binär in dezimal (zur Kontrolle): 10001101 2 = 1 2 7 + 1 2 3 + 1 2 2 + 1 2 0 = 128 + 16 + 8 + 1 = 141 10 Umrechnung von 76 in eine Binärzahl: 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 128 64 32 16 8 4 2 1 0 1 0 0 1 1 0 0 76 64 = 12 ; 12 8 = 4 ; 4 4 = 0 Oder: 76 : 2 = 38 Rest 0 38 : 2 = 19 Rest 0 19 : 2 = 9 Rest 1 9 : 2 = 4 Rest 1 4 : 2 = 2 Rest 0 2 : 2 = 1 Rest 0 1 : 2 = 0 Rest 1 Ergebnis : 1001100 2 Umrechnung binär in dezimal (zur Kontrolle): 1001100 2 = 1 2 6 + 1 2 3 + 1 2 2 = 64 + 16 + 8 = 76 10 b Umrechnung von 141 in eine Hexadezimalzahl: 141 : 16 = 8 Rest: 13 Oder: } 1 0{{ 0 0} 2 3 =8 Ergebnis = 8D 16 1 1 0 1 } {{ } 2 3 +2 2 +2 0 =D 2
Umrechnung hexadezimal in dezimal (zur Kontrolle): 8D = 8 16 1 + 13 16 0 = 128 + 13 = 141 Umrechnung von 76 in eine Hexadezimalzahl: 76 : 16 = 4 Rest: 12 Oder: } 0 1{{ 0 0} 2 2 3=4 Ergebnis = 4C 16 1} 1{{ 0 0} 2 3 +2 2 =C Umrechnung hexadezimal in dezimal (zur Kontrolle): 4C = 4 16 1 + 12 16 0 = 64 + 12 = 76 4. Aufgabe: Entwicklung der Rechentechnik Nennen Sie mindestens drei Etappen auf dem Weg der Entwicklung der Rechentechnik vom analogen Recheninstrument zum digitalen Rechner. Abakus: Rechenschieber, welcher beweglich gelagerte Kugeln als Rechenhilfe verwendet. Über 3000 Jahre alt und auch noch heute im Einsatz. Rechenmaschine: Entwickelt von Wilhelm Schickard um 1623. Wird über Zahnräder angetrieben und ermöglicht das Addieren, Subtrahieren, multiplizieren und Dividieren von sechs stelligen Zahlen. Analytical Engine: Von Charles Babbage um 1837 entwickelt. Programmierbare Rechenmaschine mit Lochkartensteuerung. 5. Aufgabe: Teilgebiete Nennen Sie die Teilgebiete der Informatik und beschreiben Sie jeweils kurz, womit sich das jeweilige Teilgebiet beschäftigt! Theoretische Informatik: beschäftigt sich mit den abstrakten mathematischen und logischen Grundlagen aller Teilgebiete der Informatik. Technische Informatik: beschäftigt sich hauptsächlich mit der Konstruktion von Rechnern, Speicherchips, Prozessoren, aber auch dem Aufbau von Peripheriegeräten wie Festplatten, Druckern und Bildschirmen, also vereinfacht: mit der Bereitstellung der Hardware. Praktische Informatik: beschäftigt sich im weitesten Sinne mit den Programmen, die einen Rechner steuern. Das umfasst Probleme der Softwareentwicklung, der Dienst- und Arbeitsprogramme, aber auch der Betriebssysteme. 3
Angewandte Informatik: beschäftigt sich mit dem Einsatz von Rechnern in den verschiedensten Bereichen unseres Lebens. Es sind spezialisierte Programme für bestimmte Aufgaben zu erstellen, aber auch Programme und Konzepte, die in vielfältigen Umgebungen einsetzbar sein sollen (z.b. Textverarbeitung, Tabellenkalkulation). 6. Aufgabe: Rechnerarchitektur nach von Neumann a Beschreiben Sie die Komponenten eines von-neumann-computers! b Beschreiben Sie den von-neumann-zyklus! c Welche verschiedenen Befehlstypen gibt es? d Welche Adressierungsarten gibt es? e Worin bestehen die Grenzen der von-neumann-architektur? f Welche Aufgaben kann ein von-neumann-computer mit leerem Hauptspeicher lösen? a Ein von-neumann-rechner besteht aus folgenden Komponenten, die bis heute in Computern verwendet werden: Rechenwerk mit ALU (Arithmetic Logic Unit), Daten- und Zusatzregistern. Die ALU ist für die Ausführung der arithmetischen und logischen Operationen zuständig. In der Regel werden zwei Datenregister miteinander verknüpft und das Ergebnis wieder in einem Datenregister abgespeichert. Das wichtigste Zusatzregister ist das Flagregister, dessen Inhalt von der ausgeführten Operation abhängt. Steuerwerk (auch als Leit- oder Operationswerk bezeichnet) mit Befehlszähler, Befehlsregister und Adressregister. Das Steuerwerk koordiniert alle Vorgänge in der CPU und alle Transporte auf dem Bus-System. Rechenwerk und Steuerwerk bilden die Zentrale Verarbeitungseinheit (Central Processing Unit, CPU) des Rechners. Hauptspeicher (oder Speicherwerk) dient zur Speicherung von Daten und Programmen, welche für das Rechenwerk zugänglich sind. Ein- und Ausgabeeinheit steuert die Ein- und Ausgabe von Daten, fungiert als Schnittstelle zu den peripheren Geräten. Bus-System zum Transport von Adressen, Daten und Steuerbefehlen zwischen den Komponenten. b Nach dem Start des Steuerwerks läuft folgende Steuerschleife (der von-neumann-zyklus) ab, bis die Abarabeitung durch einen HALT-Befehl beendet wird: 1. Holen des aktuellen Befehls in das Befehlsregister 2. Dekodieren des Befehls 3. Holen der Operanden aus Speicher 4
zentrale Verarbeitungseinheit CPU Steuerwerk Rechenwerk Bus-System Ein- und Ausgabeeinheit Hauptspeicher Abbildung 1: Schematische Struktur eines von Neumann-Rechners 4. Befehlsausführung 5. Rückschreiben der Ergebnisse 6. Bestimmen der Adresse des Nachfolgebefehls c arithmetische und logische Befehle Addition, bitweise logische ODER-Verknüpfung, usw. Bitmanipulationsbefehle Löschen, Setzen, Ändern einzelner Operandenbits Testbefehle (evtl. implizit in anderen Befehlsarten) Testen der Gerätebereitschaft, Operandenvorzeichen,... Sprungbefehle unbedingte Sprünge für nichtsequentielle Befehlsabarbeitung, bedingte Sprünge für Verzweigungen und Zyklen, Unterprogramm-Aufruf und -Rücksprung Transportbefehle Operandentransfer von Speicher zu Speicher, Steuerwerk zu Speicher usw. Steuerbefehle HALT, Schrittbetrieb usw. d unmittelbare Adressierung Operanden sind Bestandteil des Befehls direkte Adressierung Operandenadresse steht im Befehlswort Registeradressierung Befehl bezieht sich auf den aktuellen Inhalt eines Register indirekte Adressierung Befehlswort enthält ein Adressregister, in welchem die Speicheradresse des Operanden steht indizierte Adressierung Befehlswort enthält ein Adressregister, Speicheradresse des Operanden ergibt sich durch Addition bzw. Subtraktion der Adressdistanz e Von-Neumann-Flaschenhals Durch gemeinsamen Bus kann nur eine Operation auf einmal ausgeführt werden. Memory Wall Da der Zugriff auf den Speicher langsamer ist als die CPU, bestimmt die Speicherzugriffsgeschwindigkeit die Programmausführung. f keine, da Befehle im Speicher liegen müssen. 5