2. Rechnerarchitektur 2.1 einfache Computer



Ähnliche Dokumente
1. Übung - Einführung/Rechnerarchitektur

2. Rechnerarchitektur

Technische Informatik 2 Adressierungsarten

Mikrocomputertechnik. Adressierungsarten

Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners

1 Aufgaben zu Wie funktioniert ein Computer?

Im Original veränderbare Word-Dateien

Das Rechnermodell von John von Neumann

B1 Stapelspeicher (stack)

Von-Neumann-Architektur

Johann Wolfgang Goethe-Universität

Daten verarbeiten. Binärzahlen

3. Rechnerarchitektur

Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015

FHZ. K01 Geschichte des Computers. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen.

Computerarithmetik ( )

Sucosoft S40 KOP/FBS KOP FBS

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln.

Subpostfächer und Vertretungen für Unternehmen

Grundbegriffe der Informatik

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Wie arbeiten Computer?

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

L3. Datenmanipulation

C. BABBAGE ( ): Programmgesteuerter (mechanischer) Rechner

Anwendungsbeispiele Buchhaltung

OPERATIONEN AUF EINER DATENBANK

Übungscomputer mit Prozessor Bedienungsanleitung

Prozessor HC680 fiktiv

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Teil VIII Von Neumann Rechner 1

Brückenkurs / Computer

Hypertext PC / Word 2007

Computer-Architektur Ein Überblick

Zahlendarstellungen und Rechnerarithmetik*

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Wissenswertes über binäre Felder

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Programmierung in C. Grundlagen. Stefan Kallerhoff

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

3 Rechnen und Schaltnetze

Einführung in die technische Informatik

1.7 Assembler Programmierung

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de)

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Stand: Adressnummern ändern Modulbeschreibung

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen

Zeichen bei Zahlen entschlüsseln

Erster Schritt: Antrag um Passwort (s. Rubrik -> techn. Richtlinien/Antrag für Zugangsberechtigung)

Installationsanleitung

Brückenkurs / Computer

Zahlensysteme Seite -1- Zahlensysteme

FORUM HANDREICHUNG (STAND: AUGUST 2013)

DOKUMENTATION VOGELZUCHT 2015 PLUS

Binäre Gleitkommazahlen

Anleitungen zum KMG- -Konto

Gezielt über Folien hinweg springen

, WS2012 Übungsgruppen: Mo.,

Dateiname Name(n) und Matrikelnr. des/der Bearbeiter Tel.-Nr. und -Adresse für den Fall, dass die Diskette nicht lesbar ist.

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Kleines Handbuch zur Fotogalerie der Pixel AG

Informatik Mensch Gesellschaft. Historische Entwicklung der Informationstechnik (von Anfang bis Heute)

Mikrocomputertechnik. Unterprogramm

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011

Java Kurs für Anfänger Einheit 5 Methoden

Informatik - Lehrgang 2000/2001 GRUNDLAGEN

Daten, Informationen, Kodierung. Binärkodierung

Facharbeit Informatik. Thema:

Kapitel 4A: Einschub - Binärcodierung elementarer Datentypen. Einschub: Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik

2.2 Rechnerorganisation: Aufbau und Funktionsweise

Einrichten des Elektronischen Postfachs

Einführung in das Arbeiten mit MS Excel. 1. Bearbeitungs

Auslesen der Fahrtdaten wiederholen Schritt für Schritt erklärt (Funktion Abfrage zur Datensicherung erstellen )

Informationen zum Einstellen des SIP-Telefons Grandstream GXV 3275

Datensicherung und Wiederherstellung

Algorithmen und Datenstrukturen

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Webseiten mit fragwürdigen Aufrufen von "spy & track" - Unternehmen

Grundlagen der Informatik

N Bit binäre Zahlen (signed)

2. Negative Dualzahlen darstellen

Die Subnetzmaske/Netzwerkmaske

Einführung in LINUX Der Editor vi

Schnittstelle RS 232, UP RS 232 UP, WS, GJ B A0037

INFORMATIK Oberstufe. Funktionsweise eines Rechners

Mail-Account Unimail mit der Einstellungen für Outlook Express 5.0

Assembler und Hochsprachen

1 Vom Problem zum Programm

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Funktion Erläuterung Beispiel

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Lösungen: zu 1. a.) b.) c.)

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Transkript:

Fakultät Informatik Institut Systemarchitektur Professur Rechnernetze WS 2012 LV Informatik-I für Verkehrsingenieure 2. Rechnerarchitektur 2.1 einfache Computer Dr. rer.nat. D. Gütter Mail: WWW: Dietbert.Guetter@tu-dresden.de wwwpub.zih.tu-dresden.de/~guetter/

Analogrechner physikalische Abbildung eines mathematischen Modells 1825 Gonella - mechanisches Integriergerät Weiterentwicklungen bis ca. 1960 1965 endim 2000 Rechenelektronik Glashütte Analogrechner eignen sich für schnelle Berechnungen, sind aber ungenau Einsatz z.b. bei Artillerie 2

Mechanische Rechenmaschinen/-automaten Zifferndarstellung durch Staffelwalzen, Zahnräder, 1623 Schickard mechanische Rechenmaschine Weiterentwicklungen bis ca. 1960 1962 Supermetall 215 (SAR IIc K) Rheinmetall Sömmerda Hochentwickelte Maschinen mit Steuerautomatik, allen Grundrechenarten, Zwischenspeicher, Druckwerk, 3

Digitalrechner Programmierbare Rechenautomaten 1807 Jaquard - Webstuhlsteuerung 1832 Babbage erster Computer (funktionsunfähig) 1996 Hollerith Lochkartentechnik 1941 Zuse elektromechanischer Computer Z1 1944 v.neumann Computer-Architekturmodell 1946 Eckert/Mauchly elektronischer Computer ENIAC (18000 Röhren, ) 4

J. v. Neumann - Automat Ein-/Ausgabewerk Verarbeitungswerk (Rechenwerk) Steuerwerk mit Registern Adressierbarer Speicher..pppp. dddd 5

Voraussetzungen für Programmabarbeitung Programmentwickler Erarbeitung eines Speicherbelegungsplanes für den Programmkode Hauptspeicheradresse Hauptspeicherinhalt Programmkode-Inhalt: o o o Maschinenbefehle (Daten für Steuerwerk) Daten, belegt mit Initialwerten Speicherplatzreservierungen für Arbeitsdaten Maschinenbediener Füllen des Speichers gemäß Belegungsplan, Einstellen der Adresse des 1. auszuführenden Befehles (Startadresse) 6

Programmabarbeitung Start des Steuerwerkes, danach Steuerschleife (zyklische Arbeit des Steuerwerkes; Beendigung durch speziellen HALT-Befehl) Lesen des aktuellen Maschinenbefehls aus Speicher Befehlsinterpretation ggf. Lesen Operanden aus Speicher Starten/Steuern der Bearbeitung des Befehles durch Verarbeitungs- oder Ein-/Ausgabewerk Bestimmung der Adresse des Nachfolgebefehls 7

Maschinenbefehle Eingabedaten für Steuerwerk Befehlssatz - Gesamtheit der Maschinenbefehle Befehlskode regelt binäre Darstellung Inhalt: Operationskode Operandenwerte bzw. adressen Ergebnisdatenadressen Adreßangabe für Nachfolgebefehl Beispiel: Multiplikation Faktor 1 sei die Zahl 16 Faktor 2 befindet sich auf Speicheradresse 1000 Produkt soll auf Adresse 2000 gespeichert werden Nachfolgebefehlsadresse 500 falls Produkt >0, sonst 600 Befehlssätze sind in der Praxis meist einfacher als im Beispiel 8

Adressierungsarten direkte Adressierung Operandenadresse steht im Befehlswort indirekte Adressierung Befehlswort enthält die Adresse eines Speicherbereiches, der die Operandenadresse enthält registerbezogene Adressierung Befehlswort enthält nur Relativadressen Operandenadresse = Relativadresse + Inhalt Adreßregister Die indirekte und die registerbezogene Adressierung erleichtern dem Programmierer die Arbeit mit Zeigern und Feldern. 9

Klassifikation der Maschinenbefehle arithmetische und logische Befehle Addition, bitweise logische ODER-Verknüpfung, Bitmanipulationsbefehle Löschen, Setzen, Ändern einzelner Operandenbits Testbefehle (evtl. implizit in anderen Befehlsarten) Testen 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 Speicher-Speicher Operandentransfer Steuerwerk-Speicher usw. Steuerbefehle HALT, Schrittbetrieb usw. 10

Stack (Stapelspeicher, Kellerspeicher) Begriff abgeleitet von Kohlelagerung im Keller Kohlenspeicherung Kohlenentnahme jüngstes Brickett LIFO (Last In / First Out) ältestes Brickett Nur 2 Zugriffsfunktionen (keine Speicheradressierung) o Legen auf Stapel sequentielles Stapeln o Holen vom Stapel des zuletzt gestapelten Objektes Höhe des Stapels abhängig von der Menge der gestapelten Objekte 11

Befehlsabarbeitungsbeispiel (1) Addition aller Zahlen von 1 bis 100, Ergebnis soll in Register 1 stehen Sequentielle Abarbeitung Befehlsadressen Abarbeitungs reihenfolge Reg1 auf 1 setzen Reg2 auf 2 setzen ADD Reg2 zu Reg1 Reg2 auf 3 setzen ADD Reg2 zu Reg1 Reg2 auf 100 setzen ADD Reg2 zu Reg1 HALT Fazit speicheraufwendig 202 Befehle unflexibel 12

Befehlsabarbeitungsbeispiel (2) nichtsequentielle Abarbeitung mit Sprüngen, bedingten Sprüngen, Schleifen Befehlsadressen Abarbeitungs reihenfolge Reg1 auf 0 setzen Reg2 auf 1 setzen bedingter Sprung Sprung ADD Reg2 zu Reg1 ADD 1 zu Reg2 Springe bei {Reg2 > 100 } zu Befehl 7 Springe zu Befehl 3 HALT 99 x Fazit Speichereffizient 7 Befehle flexibler 13

Unterprogrammorganisation Häufig benötigt man in einem Programm mehrmals die gleichen Befehlsfolgen aber in unterschiedlichen Zusammenhängen z.b. für numerische Berechnungen, wie sin(x), log(x), Programm Problem1 Befehle für sin(45 ) Problem 2 Befehle für sin(77 ) Gleicher Programmkode Verschwendung von Hauptspeicher 14

Unterprogrammorganisation Hauptprogramm ruft an mehreren Stellen das gleiche Unterprogramm auf. Vorteil: Programmkode nur 1x im Hauptspeicher Hauptprogramm Problem1 Aufruf von sin(45 ) Problem 2 Aufruf von sin(77 ) Unterprogramm Einsprung sin(x) Bearbeitung Rücksprung Problem Einsprungadresse eindeutig Rücksprungadresse nicht eindeutig muß beim Aufruf dem UP übergeben werden 15

IBM- Personalcomputer PC XT nach 1980 erster PC im Masseneinsatz Prozessor Intel 8088 auch I8086 mit Verarbeitungsbreite 16 Bit Hauptspeicher max. 1 Mbyte Größe, byteweise adressiert Speicherzugriff mit Wortbreite 16 Bit (2 Byte) Architektur Prozessor I8086 Hauptspeicher max. 1 MByte E/A-Einheiten Seriell, parallel, Uhr, Steuerbus Adreßbus Datenbus 16

Architektur Prozessor I8086 17

Adressierung des Hauptspeichers Segmentierung Einteilung des Hauptspeichers in Segmente Adressierung des Hauptspeichers über zwei Adreßangaben - Anfangsadresse in einem Segmentregister - Offsetadresse (Relativadresse bezogen auf Segmentanfang) Segmentadressierung gewährleistet Programmverschieblichkeit Speicherzugriff (Adreßberechnung durch BIU) S 16 S 15 S 14 S 13 S 12 S 11 S 10 S 9 S 8 S 7 S 6 S 5 S 4 S 3 S 2 S 1 0 0 0 0 + O 16 O 15 O 14 O 13 O 12 O 11 O 10 O 9 O 8 O 7 O 6 O 5 O 4 O 3 O 2 O 1 = A 20 A 19 A 18 A 17 A 16 A 15 A 14 A 13 A 12 A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 Segmente Datensegment Stacksegment Extrasegment Kodesegment (Segmentregister DS) (Segmentregister SS : Stack Pointer SP) (Segmentregister ES) (Segmentregister CS : Instruktion Pointer IP) 18

Speicherbelegungsplan Maschinenkode Notation als Tabelle (Speicherplatzadresse/-Inhalt) Adresse Inhalt Assemblersprache Kommentar (hex.dez.) (hex.dez.)...... 138 A1 MOV AX,[Z1] Transport HS Register 139 51 HS-Adresse =151 13A 01 13B 01 ADD AX,DX Addition zweier Register 13C D0 13D A3 MOV [Z2],AX Transport Register HS 13E 53 HS-Adresse =153 13F 01...... 151 2C Z1 dw 300 Wert = 300 152 01 153 64 Z2 dw 64h Wert = 100 154 00...... 19

Speicherbelegungsplan nach Programmänderung Adresse Inhalt Assemblersprache Kommentar (hex.dez.) (hex.dez.)...... 138 A1 MOV AX,[Z1] Transport HS Register 139 52 HS-Adresse =152 13A 01 13B 01 ADD AX,DX Addition zweier Register 13C D0 13D 89 MOV [Z2],BX Befehl ist 1 Byte länger (!) 13E 1E Transport Register HS 13F 54 HS-Adresse =154 140 01 152 2C Z1 dw 300 Wert = 300 153 01 154 64 Z2 dw 64h Wert = 100 155 00...... 20

Stack Teil des Hauptspeichers Stack PUSH POP Zugriffsbefehle Anfangsadresse Endeadresse POP Register Zeigeradresse 1. Lesevorgang: Stackinhalt an Position der Zeigeradresse Register 2. Zeigeradresse wird erhöht um Speicherwortlänge PUSH Register 1. Zeigeradresse wird verringert um Speicherwortlänge 2. Schreibvorgang: Registerinhalt Stack an Position der Zeigeradresse Wenn Stack zu klein dimensioniert, evtl. Stacküberlauf!!! 21

Unterprogrammorganisation (vereinfacht) Vorbereitung des Aufrufes Alle Eingabeparameter für das Unterprogramm werden geschrieben in Prozessorregister oder in den Stack CALL UP-Adresse 1. Schreibvorgang: Rücksprungadresse Stack ( = Inhalt IP-Register + Länge des Befehls CALL ) 2. Schreibvorgang: UP-Einsprungadresse IP-Register RETURN 1. Lesevorgang: Rückkehradresse vom Stack holen 2. Schreibvorgang: Rückkehradresse IP-Register 22