Technische Informatik Der VON NEUMANN Computer
Inhalt! Prinzipieller Aufbau! Schaltkreise! Schaltnetze und Schaltwerke! Rechenwerk! Arbeitsspeicher! Steuerwerk - Programmausführung! Periphere Geräte! Abstraktionsstufen 2
Prinzipieller Aufbau eines Computers 3
noch abstrakter... Prozessor Arbeitssp. E/A-Gerät E/A-Gerät S y s t e m b u s Jeder Computer enthält mindestens die Komponenten: PROZESSOR ( zum Ausführen von Befehlen ) RAM (Arbeitsspeicher zum Speichern von Programme und Daten ) PERIPHERIE ( Ein-/Ausgabegeräte für große Datenmengen ) 4
Schaltkreise!Binäre Signale und Taktsteuerung! alle Daten, die zwischen den einzelnen Teilen eines Computers transportiert werden, werden durch BINÄRE ELEKTRISCHE SPANNUNGEN dargestellt!0-5v, bzw. 0-3V, low - high!computer durch TAKTSIGNALE gesteuert!rechtecksignale - Umschalt - Abfragetakt 1 Signal 0 Umschalttakte Abfragetakt 5
Schaltkreise - Takt! Abfragetakt zwischen Umschalttakten! alle Vorgänge laufen synchron ab! D.h. alle Vorgänge ab gewisser Abstraktionsebene nicht mehr kontinuierlich, sondern DISKRET! DISKRETISIERUNG der Zeit! Abstand der Taktimpulse! z.b. 40 Nanosekunden... 25 Megahertz! 5 Nanosekunden... 200 Mhz.... 200 Mill. Takte! Spannungsverläufe werden durch elektronische Schalter erzeugt... Transistortechnik 6
Schaltnetze und Schaltwerke! Ebene der Schaltkreise wird verlassen...! Existenz elektronischer Schalter wird vorausgesetzt! SCHALTNETZE! (ohne Speicherverhalten )! SCHALTWERKE! (mit Speicherverhalten) 7
! SCHALTNETZE! Grundschaltungen oder GATTER! NICHT-GATTER (NEGATION)! UND-GATTER (KONJUNKTION)! ODER-GATTER (DISJUNKTION)! NAND - Gatter ( NOT AND.. Sheffer Funktion )! Mit ihr lassen sich NOT,AND und OR ausdrücken! not a = a nand a! a and b = ( a nand b ) nand (a nand b )! a or b = ( a nand a ) nand (b nand b )! LOGISCHE ODER BOOLSCHE FUNKTIONEN! durch LOGIKSCHALTUNGEN realisiert! SCHALTWERK : Schaltnetz + Speicherelemente! Elementares Speicherelement : FLIP-FLOP FLOP Schaltung 8
Rechenwerk! Gatter - Flipflops! weitere Schaltungen :! Register, Halbaddierer, Volladdierer, Akkumulatoren Register : Kurzzeitspeicher Halbaddierer : Addiert 2 einstellige Dualzahlen Volladdierer : Akkumulator : berücksichtigt Übertrag Addiererkette+Register zur Addition von beliebig vielen vielen Zahlen 9
Veranschaulichung : Akkumulator Volladdierer Akkumulator AC 1. Lösche AC (AC = 0) 2. Addiere x zum Inhalt von AC (dann ist AC = x ) 3. Addiere y zum Inhalt von AC (danach ist AC = x + y ) Sinn : fortgesetzte Addition ( Akkumulierung ), zb x1+x2+x3+x4 Schritt 1 : AC:=0 (lösche AC) Schritt 2 : AC:=AC+x1 (jetzt ist AC = x1) Schritt 3 : AC:=AC+x2 (jetzt ist AC = x1+x2) Schritt 4 : AC:=AC+x3 (jetzt ist AC = x1+x2+x3) Schritt 5 : AC:=AC+x4 (jetzt ist AC= x1+x2+x3+x4) ZUWEISUNGSSYMBOL := WICHTIG, weil Operationen auf ganze Zahlen : Folge von Additionen 10
ARBEITSSPEICHER DATEN Übertragungsbreite z.b. 32 Bit RAM Lesen/Schreiben Selektieren ADRESSEN n Leitungen... 2 n Byte adressierbar n = 32... 2 32 = 4 Gigabyte adressierbar 11
STEUERWERK und Programmausführung! Gehirn des Computers, führt Befehle aus! BEFEHLE ( wie DATEN) stehen im Speicher! im allgem. in der Reihenfolge, wie sie ausgeführt werden sollen! Beispiel zur Veranschaulichung! EUKLID SCHER ALGORITHMUS! Schritt 1 : Man dividiere p durch q. dabei erhält man einen Rest r, der zwischen 0 und q-1 q 1 liegt. Wenn r = 0, dann ist q der gesuchte! Schritt 2 : Wenn r = 0, dann ist q der gesuchte größte gemeinsame Teiler.! Wenn r<>0 ist, dann benenne man das bisherige q in p um, das bisherige r in q und wiederhole Schritt 1 und 2 solange, bis einmal r = 0 geworden ist. 12
Euklidscher Algorithmus (Assembler) ADRESSE BEFEHL KOMMENTAR Speicherplatzreservierung 00 - Ein Speicherplatz für p 04 - Ein Speicherplatz für q 08 - Ein Speicherplatz für r ( beliebig ) Schritt 1 12 LOAD 00 Lade AC mit p 16 MODULO 04 Bilde den Rest von AC/q in AC 20 STORE 08 Speichere AC in r Schritt 2 24 IFZERO 48 Wenn AC=0 dann gehe nach 48 28 LOAD 04 Lade AC mit q 32 STORE 00 Speichere AC nach p 36 LOAD 08 Lade AC mit r 40 STORE 04 Speichere AC nach q 44 JUMP 12 Springe zurück nach 12 48 STOP Halte an, q enthält den GGT 13
ä LOAD xx ä STORE xx ä... Transportbefehle ä ADD, MODULO ä... Arithmetische Befehle ä IFZERO xx ä JUMP xx ä... Sprungbefehle RAM(xx xx) -> > Register Register -> > RAM(xx xx) bedingter Sprungbefehl unbedingter Sprung ä STOP Computer hält an 14
Aufbau eines einfachen Mikroprozessors Datenbus BR + AC prozessorinterne Steuerung BZ +4 RAM P r o z e s s o r Adressbus 15
Der Befehlszyklus! Programmausführung : = zyklischer Vorgang! Befehl aus Speicher holen, ausführen! nächsten Befehl holen,... bis Stoppbefehl! Algorithmus :! Anfangszustand : Befehlszähler enthält Adresse des ersten Befehls! Schritt 1 : Bringe den Befehl, dessen Adresse im Befehlszähler steht, aus dem Speicher in das Befehlsregister und erhöhe zugleich den Inhalt des Befehlszählers um die Länge des Befehls! Schritt 2 : Führe dem im Befehlsregister stehenden Befehl aus und gehe anschließend wieder nach Schritt 1 zurück 16
Der von-neumann Neumann-Zyklus! Programm steht als Folge von Befehlen im Speicher! Programmablauf besteht aus dem Zyklus der Schritte: Befehl holen-befehl ausführen! Befehlsausführung im Normalfall :! Datentransport und Operation im Rechenwerk! oder nur Datentransport zw. Speicher und Rechenwerk! Ändern des Befehlszählers, um Sprung auszuführen 17
Periphere Geräte! Kommunikation Mensch - Computer! Ein-Ausgabe Ausgabe-Geräte / externe Speicher! zur Peripherie gehören...! die eigentlichen Ein-Ausgabe Ausgabe-Geräte wie Tastaturen, Bildschirme, Drucker,...! die externen Speicher wie Disketten, Magnetplatten, Magnetbänder,...! Verbindungen zu andern Computern! Verbindungen zu technischen Apparaturen zur Übernahme von Meßwerten und zur Ausgabe von Steuersignalen 18
Abstraktionsstufen Programmierung Architektur Logik Elektronik 1. 2. 3. 4. FAZIT des Kapitels :: Es Es besteht kein Anlass, Computern irgendwelche geheimnisvollen, jenseits technischer Erklärbarkeit liegenden Eigenschaften zuzuschreiben! 19
Zusammenfassung : von Neumann sches Konzept! (1)! Computer räumlich und logisch eingeteilt in! Eingabeeinheit! Steuerwerk ( auch Leitwerk )! Speicher! Rechenwerk! Ausgabeeinheit 20
Zusammenfassung : von Neumann sches Konzept! (2) Struktur eines Computer unabhängig von der Art des zu bearbeitenden Problems.!Für jedes Problem muss eine vollständige Bearbeitungsvorschrift, das PROGRAMM, über die Eingabeeinheit eingegeben und im Speicher abgelegt werden. Dieses Programm macht den Computer erst arbeitsfähig. 21
Zusammenfassung : von Neumann sches Konzept! (3) Programm und Daten werden in demselben Speicher abgelegt. 22
Zusammenfassung : von Neumann sches Konzept (4) Der Speicher besteht aus nummerierten Speicherzellen. Die entsprechenden Zellennummer heißt ADRESSE. Über die jeweilige Adresse ist der Inhalt jeder Speicherzelle abrufbar. 23
Zusammenfassung : von Neumann sches Konzept! (5) Befehle des Programms werden in der Regel aus aufeinanderfolgenden Speicherplätzen geholt. (Dadurch wird das Holen des nächsten Befehls leichter, weil auf diese Weise die Befehlsadresse jeweils nur um 1 erhöht zu werden braucht) 24
Zusammenfassung : von Neumann sches Konzept! (6) Es gibt SPRUNGBEFEHLE, durch die der Befehlszähler(zeiger zeiger) ) auf einen bestimmten Wert gesetzt werden kann. D.h. sofort nach Ausführung des Befehls mit der Adresse n wird der Befehl mit der Adresse m < > n+1 geholt. 25
Zusammenfassung : von Neumann sches Konzept! (7) Es gibt BEDINGTE SPRUNGBEFEHLE, durch die der Befehlszähler auf einen bestimmten Wert m gesetzt werden kann, sofern eine Bedingung b erfüllt ist. Ist die Bedingung b nicht erfüllt, so wird der Programmablauf mit der Adresse n+1 fortgesetzt. 26
Zusammenfassung : von Neumann sches Konzept! Der DETERMINISTISCHE ABLAUF ist damit durchbrochen.! Mit bedingten Sprungbefehlen können innerhalb gewisser Grenzen Entscheidungen gefällt werden, die von Eingabedaten, Zwischen- oder Endergebnissen einer Rechnung z.b. abhängen. 27
Zusammenfassung : von Neumann sches Konzept! (8)!Alle Informationen werden BINÄR dargestellt. 28