3. Rechner- und Prozessorarchitekturen

Größe: px
Ab Seite anzeigen:

Download "3. Rechner- und Prozessorarchitekturen"

Transkript

1 3. Rechner- und Prozessorarchitekturen 3.1 Entwicklung der Rechnertechnik 3.2 Grundlegende Rechnerarchitekturen 3.3 Architektur und Maschinenbefehle des 886, Interrupts Folie Entwicklung der Rechnertechnik Mechanische Rechenautomaten Programmierbare Steuerungen, Rechenautomaten Erste Rechner in Deutschland Erste amerikanische Entwicklungen John von Neumann Rechner mit Transistoren die zweite/dritte Generation Rechner der vierten Generation / Erste PCs Rechner der fünften Generation leistungsfähige Mikroprozessoren Moore s Law zukünftige Entwicklung Folie 11

2 Mechanische Rechenautomaten 1623: Prof. Wilhelm Schickard ( ), konstruiert in Tübingen die erste bekannte mechanische Rechenmaschine (Professor für biblische Sprachen, später Mathematik und Astronomie). Sie erlaubt eigentlich nur Additionen und Subtraktionen. Schickard verwendet die Zehnerdarstellung für Zahlen. (Arithmetik-Einheit (ALU)) 1642: Blaise Pascal ( ) entwickelt eine 8- stellige Additions- und Subtraktionsmaschine. Mechanischer Zähler als Räderwerk. 2 Sätze von je 6 Zählscheiben mit 1 Ziffern. Er war der Erste, der mit seinen Rechenmaschinen ( Pascalinen ) Geld verdiente. Er stellte diese 8- stellige Addier-und Subtrahiermaschine für seinen Vater, einen Steuereinzieher, her Gottfried Wilhelm, Freiherr von Leibnitz entwickelt Rechenmaschinen. Einführung des binären Zahlensystems Quelle: Lindenstruth, Uni Heidelberg Folie 111 Programmierbare Steuerungen, Rechenautomaten 1728: Falcon baut eine Webstuhlsteuerung mit gelochten Metallplatten. (programmierte Steuerung) 185: Joseph-Marie Jacquard entwickelt einen Musterwebstuhl, der mit Lochkartenstreifen gesteuert wird. (programmierbare Steuerung) 1832: Charles Babbage entwickelt die sogenannte DIFFERENCE - ENGINE. Erstellung von Navigationstafeln / trigonometrischen Tafeln (Addition, Multiplikation, evtl. Potenzieren). Er entwickelt danach die ANALYTICAL - ENGINE, die jedoch niemals fertiggestellt wird. In ihr sind schon die wichtigsten Bestandteile eines Computers eingebaut: Arbeitsspeicher, Central Processing Unit, Ausgabe- Drucker, Lochkarten- Eingabe für Befehle und Werte. 1886: Zähl-und Sortierapparatur von Hermann Hollerith Herrmann Hollerith entwickelt für die 11. amerikanische Volkszählung von 189 eine lochkartengesteuerte Zählmaschine. Mit 43 Maschinen schafft er in 4 Wochen mit 5 Helfern das, was 1 Jahre zuvor ebenso viele Personen 7 Jahre beschäftigte. 191 wird auch der preußische Zensus damit durchgeführt. (Datenspeicher: Lochkarte) Auf Holleriths Patent baut später die Firma IBM auf. Quelle: Lindenstruth, Uni Heidelberg Folie 112

3 Erste Rechner in Deutschland 197: Forest entwickelt die Elektronenröhre. 1938: Konrad Zuse beendet den Bau der Z1. Das Speicher- und Rechenwerk wurde von Zuse und Studienkollegen mit Laubsägen aus Blechen ausgesägt. Die Programme wurden auf Filmstreifen gelocht. 194: Konrad Zuse baut die Z2 in Relaistechnik. Sie funktioniert nur bei der Vorführung. 1941: Die Zuse Z3, aufgebaut aus Relais Speicher Lochstreifenleser Relais des Rechenwerks Binärdarstellung von Befehlen und Zahlen Binäre Schaltelemente für Speicherung und Verarbeitung Gleitkomma-Darstellung von Zahlen (Vorzeichen, Exponent, Mantisse) Darstellung des Ablaufs als Folge von Rechenschritten (noch keine bedingten Befehle) Aufbau mit elektromagnetischen Relais (6 für Rechenwerk, 14 für Speicherwerk; 64 Speicherworte à 22 Bit) Steuerung über 8-Kanal-Lochstreifen Geschwindigkeit: 3 Sekunden für Multiplikation, Division, Wurzelziehen Plankalkül, erste Programmiersprache Folie 113 Konrad Zuse mit Z3 Zuse, Konrad, Ingenieur, *Berlin , Hünfeld ; begann 1934 mit Entwicklungsarbeiten für programmgesteuerte Rechengeräte; schuf 1941 den ersten voll arbeitsfähigen programmgesteuerten elektromechanischen Digitalrechner, den Rechner Z3 mit 2 Relais. Gleichzeitig arbeitete Zuse an der Röhrenrelaistechnik für Computer (Z4, 1942). Die von ihm 1949 gegründete Zuse KG, die ab 1955 elektronische Rechner baute (insbesondere Z22, Z33), ging später in der Siemens AG auf. 22 Bibliographisches Institut & F. A. Brockhaus AG Folie 114

4 Erste amerikanische Entwicklungen 1944: Howard H. Aiken baut an der Harvard University mit Unterstützung der IBM MARK I, eine raumfüllende Rechenanlage. Für eine Addition benötigt sie nur,3 Sekunden. 1945: Angeblich erster Computerabsturz. Der Experimentalrechner Mark I weist in Manchester eine Fehlfunktion auf. Die Mathematikerin Murray Hopper entdeckt als Ursache einen Käfer, der zwischen die Relais geriet. Bis heute nennt man einen Software-Fehler Bug. 1946: Dr. J. Prespert Eckert und John W. Mauchley (University of Pennsilvania, Moore Schule) bauen die ENIAC (Electronic Numerical Integrator And Computer). Vollständig in Röhrentechnik (ca. 18.) aufgebaut, benötigt ENIAC immerhin noch 14 qm Grundfläche und ist rund 2 mal so schnell wie MARK I. Folie 115 John von Neumann Um 1944: Mathematiker John von Neumann ( ) entwickelt mit dem ENIAC Team eine neue Rechnerarchitektur. Von-Neumann-Architektur - moderner Computer: Das Programm wird elektronisch gespeichert und nicht über Lochbänder eingelesen oder Schalttafeln fest eingestellt. Juni 1945: Von Neumann publiziert seine Ideen von Neumann Computer nicht patentierbar! Folie 116

5 Rechner mit Transistoren die zweite/dritte Generation 1947 Schockley, Brattain und Bardeen (Bell Labs / AT&T) bauen den ersten (Germanium-) Transistor (Nobel Preis für Physik 1956). 1949: EDSAC in Cambridge, erster voll funktionstüchtiger Computer nach Von-Neumanns Vorgaben. Er produzierte nach 3 Sekunden eine Tabelle mit Quadratzahlen. Ab 1955: Der Transistor wird in der 1949 von Shockley entdeckten Form industriell gefertigt Z22 von der Zuse KG an Hochschulen geliefert; Magnet-Trommelspeicher (IBM 65), Magnet-Kernspeicher, Rechenzeit: Addition,6 ms, Multiplikation 15 ms Ab 1957: DV-Anlage der 2.Generation. Industrielle Herstellung von elektronischen Rechenanlagen DV-Anlage der 3.Generation unter Verwendung integrierter Schaltkreise. Viele Bauteile werden auf kleinstem Raum vereinigt. Diese Technik gestattet es anfänglich, 16. Additionen je Sekunde durchzuführen. Beginn der Computer Revolution. Folie 117 Rechner der vierten Generation erste PCs 1975 DV-Anlagen der 4.Generation: Mehrere tausend Schaltkreise auf einem Chip Einführung von CAD, CAM, PPS 1977 Erster PC von Commodore (PET21) 1981 IBM PC auf Grundlage des 1979 erschienenen Intel Mikroprozessors 886, Betriebssystem MS DOS: Auf Text basierende Befehlssprache 1983/84 Apple Macintosh auf Grundlage des 1979 erschienenen Motorola Mikroprozessors 68 (32 Bit Architektur, ca.68. Transistoren), MacIntosh-Betriebssystem: Auf Graphik basierende Befehlssprache (Fenstertechnik) Folie 118

6 Rechner der fünften Generation leistungsfähige Mikroprozessoren 1982 DV-Anlage der 5.Generation: Entwicklung von parallelen Systemen, Anwendung der Künstlichen Intelligenz (KI) CAD CAM PPS - CAx CIM 1992 Erster 64 Bit Mikroprozessor, Alpha / 2164 von Digital Equipment, 1,6 Millionen Transistoren, 2 MHz Taktrate 1993 Intel Pentium, 3,1 Millionen Transistoren, Taktrate 6/66 MHz 1999 Intel Pentium III, 9,5 Millionen Transistoren, Taktrate 65 MHz (Slot- Version) AMD K7 (Athlon), 22 Millionen Transistoren, Taktrate 7 MHz 2 Pentium IV, 42 Millionen Transistoren, Taktraten bis 3 GHz (22) Neue Anwendungen: Virtuelle Realität Augmented Reality Sprachdialogsysteme Folie 119 Anzahl Transistoren Allgemeine Trends / Moore s Law Exponentialgesetz der Mikroelektronik ( Mooresches Gesetz ) [Von Gordon E. Moore, Intel Chairman of the Board, 1965 geäußerte Vermutung] Die Anzahl der Transistoren je Prozessorchip verdoppelt sich alle 2 Jahre. Die Verarbeitungsleistung der Prozessoren verdoppelt sich alle 1,5 Jahre. Vervierfachung der Speichergröße alle 3 Jahre. Verdopplung der Speicherleistung alle 1 Jahre. Zum gleichen Preis die doppelte Leistung in weniger als zwei Jahren Moore s Law angewandt auf Mikroprozessoren Pentium Pentium II Pentium Pro Pentium IV Pentium III Folie 12

7 Trends Mikroprozessoren und Speicher 1 Leistungszuwachs der Mikroprozessoren: Etwa 2-fach pro 1,5 Jahre Relative Leistung 1 1 Moore s Law Leistungsdifferenz wächst etwa um 5% pro Jahr Jahr Leistungszuwachs der Speicher: Etwa 2-fach pro 1 Jahre Nach Thiele, ETHZ Folie 121 Aus drucktechnischen Gründen leere Folie! Folie 122

8 3.2 Grundlegende Rechnerarchitekturen Begriff Rechnerarchitektur Schichtenmodell eines Rechnersystems Grundarchitekturen (Harvard Architektur - Von Neumann Architektur) Von Neumann Architektur Aufbau einer Zentraleinheit Modell eines einfachen Von Neumann - Rechners Programmabarbeitung in Von Neumann Maschinen ALU Steuerwerk Folie 123 Begriff Rechnerarchitektur Rechnerarchitektur, Informatik: Teilbereich der technischen Informatik, der sich mit dem Aufbau von Rechnern aus Funktionseinheiten sowie deren Zusammenwirken beschäftigt 22 Bibliographisches Institut & F. A. Brockhaus AG Oder: Eine Rechnerarchitektur beschreibt die Eigenschaften eines Systems, d.h. die Struktur des Entwurfs und das funktionelle Verhalten. Die Organisation des Daten- und Kontrollflusses, der logische Entwurf und die physikalische Realisierung stellen die Umsetzung der Architektur dar. Folie 124

9 Schichtenmodell eines Rechnersystems Hierarchie der Sichtweisen: Jede Ebene ist eine Abstraktion der jeweils tieferen. Mehrere Elemente aus der tieferen Ebene werden zusammengefasst und bilden ein Element der höheren Ebene. Zum Beispiel werden Transistoren zu logischen Gattern verschaltet. Anwendungsprogramme Höhere Programmiersprachen Assemblersprachen, Maschinencode Mikroprogrammierte / festverdrahtete Steuerung CorelDraw, PaintShopPro, Word, PowerPoint, Photoshop, Autocad, for (i=; i<1; i++) { cout << i; // i ausgeben } Adr. Masch code Menemonic 5 A1 MOV AX,VARA ADD AX,VARB C A3 4 MOV VARC,AX Fetch Decode Execute Write Back a i b i a i b i Funktionseinheiten (ALU, Speicher, ) C out C in C out C in S i S i Logik-Ebene (UND, ODER, ) Physikalische Ebene (Transistoren und Verbindungen) Folie 125 Harvard - Architektur Befehle und Daten in getrennten Speichern Speicher Ein-Ausgabe- Bausteine Grundarchitekturen CPU Von Neumann Architektur (Princeton Architektur) Befehle und Daten im gemeinsamen Speicher Speicher Ein-Ausgabe- Bausteine CPU DS Datenspeicher CS Programmspeicher Daten Befehle Steuerwerk Rechenwerk DS Daten CS Programm Daten und Befehle Steuerwerk Rechenwerk Je ein Befehls- und Datenbus Schneller gleichzeitiger Zugriff auf Code und Daten Hauptanwendung: Signalprozessoren Nur ein Bus für Befehle und Daten Flexible Aufteilung des Speichers zwischen Code und Daten Hauptanwendung: Allgemeine Computer Gemeinsames Kennzeichen: Sequentielle Abarbeitung des Programms / der Befehle Heute sind häufig Mischformen anzutreffen Folie 126

10 John von Neumann John von Neumann * 193 in Budapest/Ungarn 1957 in Washington DC/USA (Studierte u.a. in Berlin) Mathematiker und Wissenschaftler. Begründer der prinzipiellen Architektur heutiger Digitalrechner. Grundidee: Modell der menschlichen Informationsverarbeitung Aufnahme von Informationen über Sinnesorgane Speicherung von Informationen Verarbeitung von Informationen nach vorgegebenen Regeln Ausgabe von Ergebnissen Ansatz: Das menschliche Gedächtnis umfasst sowohl die aufgenommenen Informationen (Daten) als auch die Regeln zu deren Verarbeitung (Programme) Ergebnis: Hieraus folgert Neumann, dass es von Vorteil ist Programme wie alle anderen Informationen im Datenspeicher des Computers abzulegen Quelle: N.N. FH-Niederrhein Folie 127 Blockschaltbild der Von Neumann Architektur Eingangseinheit (Input Unit) Speicher (Memory) Arithmetisch/ Logische Einheit (ALU) Steuerwerk (Control Unit) Ausgangseinheit (Output Unit) In realen Rechnern werden die Arithmetisch/Logische Einheit (Rechenwerk) und das Steuerwerk (Leitwerk, Kontrolleinheit) meist in einer physikalischen Einheit (Chip) zusammengefasst zentrale Verarbeitungseinheit - Central Processing Unit - CPU Nach: A.W. Burks, H.H. Goldstine, John von Neumann (Princeton University): Preliminary Discussion of the Logical Design of an Electronic Computing Instrument, U.S. Army Ordnance Department Report, 1946 Folie 128

11 Aufbau einer Zentraleinheit (CPU) Die CPU vereinigt die Arithmetic/Logic Unit und das Steuerwerk aus dem von Neumann Modell. Ein Teil des Speichers rutscht in die CPU: Operanden für die ALU werden in Registern der CPU gespeichert und nicht jedes mal aus dem Speicher geholt. Register Steuerwerk ALU Datenbereich Steuerbereich Systembus Folie 129 Eine konkrete von Neuman Maschine Ein- / Ausgabe CPU (ALU und Steuerwerk) Speicher Mainboard ASUS A7V 133 (für Athlon/Thunderbird- und Duron-Prozessoren) Folie 13

12 Modell eines einfachen von Neumann - Rechners Akkumulator Flags Zero Befehlszähler (PC = Program Counter) Adr. n Befehl Speicher Beispiel für Codierung von Befehlen: OP-Code Adressteil 15 4 Bit 12 Bit Es sei der Operationscode eines Befehls 4H und die Adresse der Speicherzelle 8H: Befehl Befehl Datenwort Datenwort Datenwort Folie 131 Beispiel: Maschinenbefehle für Von Neumann- Rechner Die Befehle (Instructions) werden als Mnemocodes dargestellt. Mnemocodes stellen eine verständliche Form der Befehle dar und sind direkt abbildbar auf die Bitmuster der Befehle und damit auf die Worte des Speichers. Mnemocodes einiger ausgewählter Beispielbefehle: LDA <adresse> ; Lade Akkumulator mit Inhalt der Speicherzelle <adresse> STA <adresse> ; Speicher den Inhalt des Akkumulators in der Speicherzelle <adresse> ADD <adresse> ; Addiere den Inhalt der Speicherzelle <adresse> zum Inhalt des Akkumulators und lege das Ergebnis im Akkumulator ab SUB <adresse> ; Subtrahiere den Inhalt der Speicherzelle <adresse> vom Inhalt des Akkumulators und lege das Ergebnis im Akkumulator ab JMP #adresse ; Springe unbedingt zu #adresse, d.h. lade den Befehlszähler (PC) mit adresse JZ #adresse ; Springe, wenn der Inhalt des Akkumulators =, d.h. wenn das Zero-Flag gesetzt ist JNZ #adresse ; Springe, wenn der Inhalt des Akkumulators <>, d.h. wenn das Zero-Flag nicht gesetzt ist Folie 132

13 Programmabarbeitung einer von Neumann Maschine - 1 PC Adr JMP #2 STA <23> SUB <22> Speicher JMP #2 STA <23> JNZ #15 ADD <21> LDA <2> Adr. Befehl Beschreibung 1: LDA <2> Transferbefehl 1.) 2 aus Speicherzelle 2 Akku 2.) PC auf Adresse 11 weiterschalten 11: ADD <21> Sowohl Transfer- als auch Arithmetikbefehl 1.) 3 aus Speicherzelle 21 ALU 2.) Addiert in ALU: ) Ergebnis 5 wird in Akku gespeichert. Flags bilden: Z-Flag löschen (Ergebnis <> ) 4.) PC auf Adresse 12 weiterschalten 12: JNZ #15 Bedingter Sprungbefehl Zero-Flag ist PC mit Wert 15 laden, d.h. Sprung wird ausgeführt 15: SUB <22> Sowohl Transfer- als auch Arithmetikbefehl 1.) 4 aus Speicherzelle 22 ALU 2.) Subtrahiert in ALU: ) Ergebnis 1 wird in Akku gespeichert. Flags bilden: Z-Flag löschen (Ergebnis <> ) 4.) PC auf Adresse 16 weiterschalten Folie 133 Programmabarbeitung einer von Neumann Maschine - 2 Adr JMP #2 STA <23> SUB <22> Speicher JMP #2 STA <23> JNZ #15 ADD <21> LDA <2> Adr. Befehl Beschreibung 16: STA <23> Transferbefehl. 1.) Inhalt des Akku ( 1 ) Speicherzelle 23 2.) PC auf Adresse 17 weiterschalten 17: JMP #2 Unbedingter Sprungbefehl PC mit Wert 2 laden 2: Und so weiter Folie 134

14 Blockschaltbild einer ALU A n B n A B ALU Arithmetik Logik ALU Control Summe Erg.-Logik Control n n Ergebnis Flags Ergebnis Flags n Wertlänge in Bit A,B Operanden, die zur Berechnung anstehen Control Steuersignale zur Einstellung der Betriebsart Flags Zustand des Ergebnisses der Ausführung Ergebnis Ergebnis der logischen bzw. arithmetischen Operation Folie 135 Operationen einer ALU Die ALU ist ein Schaltnetz (nur logische Gatter, keine Speicher) Die ALU ist kaskadierbar, z.b. 2x4-bit-ALU 8-bit-ALU; eine 8-bit-ALU enthält ca. 2 logische Gatter Die ALU-Rechenoperationen lassen sich zurückführen auf Addition Komplementbildung Schieben (Shift) Die logischen Operationen sind rückführbar auf AND OR NOT Darüber hinaus fallen Informationen an, die für die nachfolgenden Operationen wichtig sein können (Flags). Folie 136

15 Beispiel: Erzeugung der Bedingungsbits (Flags) Ergebnis Carry (der Vorstelle) Carry >=1 =1 S Z O C Flags Meist Flagregister, Statusregister oder Processor Status Word (PSW) genannt C: Carry-Flag Übertrag, abhängig von der arithmetischen Operation O: Overflow-Flag Wird gesetzt, wenn ein Überlauf des Zahlenbereichs in Zweierkomplementdarstellung erfolgt Z: Zero-Flag Wird gesetzt, wenn der Wert im Ergebnis ist. S: Sign-Flag (Negativ-Flag, Vorzeichen-Flag) ist eine Kopie des Vorzeichenbits des Ergebnisses Folie 137 Modell der Arbeitsweise eines Steuerwerks - Befehlszyklus Start Befehlszähler = Beginn (z.b. = ) Befehl aus Speicher holen (Fetch) Befehl ausführen Befehlszähler + 1 Befehlszyklus Befehl dekodieren, ggf. Operanden holen (Decode) Befehl ausführen (Execute) nein Stop? ja Ende Ergebnis abspeichern (Write Back) Folie 138

16 3.3 Architektur und Maschinenbefehle des 886 Architektur des 886, Bedeutung der Flags Grundlagen der Maschinenprogrammierung Segmentierung und Speichermodelle Programmiermodelle Programmentwicklung in Assembler Aufbau von Assemblerprogrammen Assembleranweisungen und Maschinenbefehle Assembler und Hochsprachen (Beispiel C) Interrupts Einteilung der Interrupts Ablauf der Interruptverarbeitung Hardwaretechnische Realisierung Interrupt-Service-Routinen Folie 139 Blockschaltbild des Mikroprozessors Intel 886 Folie 14

17 Bedeutung der Flags des OF DF IF TF SF ZF AF PF CF CF - Carry Flag (Übertrags-Flagge): Zeigt an, ob bei arithmetischen Operationen der Rechenbereich des Registers überschritten wurde. Carry kann per Befehl gesetzt, gelöscht, komplementiert werden. Sequentielle Addition und Subtraktion mit größerer Wortbreite als 16 Bit. PF - Parity Flag (Paritäts-Flagge): Gesetzt, wenn niederwertiges Byte des Ergebnisses eine gerade Anzahl Einsen enthält Prüfung mit Quersumme z.b. bei serieller Datenübertragung. AF - Auxiliary Carry Flag (Hilfsübertrags-Flagge): Zeigt Übertrag von Bit 3 nach Bit 4 an. Halbbyteüberlauf, für Arbeit mit BCD-Zahlen ZF - Zero Flag (Null-Flagge): Gesetzt, wenn das Ergebnis der letzten Operation Null war (Arithmetik, Logikbefehle) Bedingte Programmverzweigungen, Zählschleifen SF - Sign Flag (Vorzeichen-Flagge): Kopie des Vorzeichens des Ergebnisses; gibt an, ob zuletzt durchgeführte arithmetische oder logische Operation ein positives () oder negatives (1) Ergebnis hatte Bedingte Programmverzweigungen, 2er-Komplement Arithmetik Folie 141 Bedeutung der Flags des OF DF IF TF SF ZF AF PF CF TF - Trap Flag (Einzelschritt-Flagge): Versetzt den Prozessor in den Single-Step-Mode (Einzelschrittmodus). Prozessor führt nach jedem Befehl einen Software-Interrupt aus (INT 1H). Zum Debuggen IF - Interrupt Flag (Unterbrechungs-Flagge): Kann per Befehl (STI, CLI) gesetzt beziehungsweise zurückgesetzt werden. 1: Prozessor lässt keine von außen kommenden Unterbrechungsanforderungen zu. Systemprogrammierung DF - Direction Flag (Richtungs-Flagge): Verarbeitungsrichtung bei Zeichenketten-Operationen (Strings) : in aufsteigender Richtung der Speicheradressen (Setzen/Löschen mit den Befehlen STD und CLD) OF - Overflow Flag (Überlauf-Flagge): Gesetzt, falls Ergebnis einer Operation für Zieloperand zu groß oder zu klein, also Bereichsüberschreitung bei Arithmetik im 2er-Komplement, d.h. Überlauf in Vorzeichenstelle. Arithmetik im 2er-Komplement Folie 142

18 Segment-Adressierung Bildung der physikalischen Adresse aus Segmentadresse und Offsetadresse Einen Speicherbereich von 64 KByte Größe nennt man in der Intel-Technologie ein Segment CS Segment-Basisadresse SS Segment-Basisadresse DS Segment-Basisadresse ES Segment-Basisadresse IP Offset SP Offset Effektive Adr. Offset Effektive Adr. Offset Codesegment Stacksegment Datensegment Extrasegment FFFFFH 64 kbyte H Folie 143 Segmentierung und Adressbildung des 886 Segmentbasis, z.b. CS-Register * 16 D 1 2 A 4 Offset, z.b. IP-Register 2 2 Logische Adresse A Schreibweise für die Logische Adresse: z.b. CS = 12A4H, IP = 22H wird CS : IP = 12A4H : 22H geschrieben 1 2 A 6 2 Physikalische Adresse Physikalische Adresse = Offsetadresse + Segmentadresse * 16 Folie 144

19 Speichermodelle des 886 TINY: Daten (und Stack) und Code zusammen maximal 64 KByte; Daten NEAR, Code NEAR; SMALL: Daten (und Stack) und Code jeweils maximal 64 KByte; Daten NEAR, Code NEAR; MEDIUM: Daten maximal 64 Kbyte, Code mehr als 64 KByte; Daten NEAR, Code FAR; COMPACT: Daten mehr als 64 KByte, Code maximal 64 KByte; Daten NEAR, Code NEAR; Compiler: Datenfeld (Arrays) <= 64 KByte, innerhalb des Datenfeldes wird NEAR-Adressierung benutzt; LARGE: Daten und Code jeweils mehr als 64 KByte; Daten FAR, Code FAR; Compiler: Datenfeld (Arrays) <= 64 KByte, innerhalb des Datenfeldes wird NEAR-Adressierung benutzt; HUGE: Daten und Code jeweils mehr als 64 KByte; Daten FAR, Code FAR. Compiler: Datenfeld (Arrays) >= 64 KByte, innerhalb des Datenfeldes wird FAR-Adressierung benutzt; Folie 145 Programmentwicklung in Assembler Editor Editor Quell-/Source Code Quell-/Source Code datei.asm Übersetzer (Assembler) PUBLIC EXTRN Übersetzer (Assembler) Object Code Object Code datei.obj datei.lst (Maschinencode) (Listing, Assemblierungsliste) Binder (Linker) Bibliothek (Library) Ladbarer Objekt Code Lader datei.exe (Executable Code) datei.map (Speicherbelegungs- Plan) Programm wird ausgeführt Folie 146

20 Programmiermodelle für Intel-Prozessoren Die Kenntnis des Programmiermodells ist Voraussetzung für die maschinennahe Programmierung. Für einen Programmierer werden mit dem Programmiermodell alle wesentlichen Eigenschaften der Rechnerhardware festgelegt. Unter einem Programmiermodell versteht man Struktur und Funktion der benutzerzugänglichen Register einer CPU. Die Struktur beinhaltet die Anzahl, Größe und den Anwendungsbereich der Register. Die Funktion der Register wird mit dem implementierten Befehlssatz beschrieben Pentium (8586) Merced ia-64 ia-32: 32-Bit-Programmiermodell ia-16: Erweitertes 16-Bit-P modell 16-Bit-Programmiermodell Nicht dargestellt sind Paralleltypen von Intel und anderen Herstellern Folie 147 AX BX CX DX SP BP SI DI CS DS SS ES 15 IP 15 Flags 16-Bit-Programmiermodell des 886 Allzweckregister AH AL BH BL CH CL DH DL Zeige- und Indexregister 15 Segmentregister 15 Bezeichung Akkumulator Basisregister Multiplikat., Division, IO, Schieben Zeiger Basisadresse im DS Zählregister Wiederholen, Verschieb., Rotieren Datenregister Multiplikation, Division, IO Stapelzeiger (Stackpointer) Basiszeiger Zeiger Basisadresse im SS Source-Index Quellzeichenkette, Indexzeiger Destination-Index Zielzeichenkette, Indexzeiger Codesegment Datensegment Stacksegment Extrasegment Befehlszähler Anwendungsbeispiel Segment der Befehle Standardsegment der Daten Segment des Stacks Frei verwendbares Segment Offset der Befehle Flaggen: Prozessorstatus, Operationsergebnisse Folie 148

21 Aufbau eines Assemblerprogramms Programmkopf.MODEL SMALL.STACK 1H.DATA.CODE BEGINN: MOV MOV DS,AX Benutzercode MOV AH,4CH INT 21H Unterprogramme END BEGINN Kommentar, der das Programm kurz beschreibt. Zusätzliche Angaben über Autor, Änderungen usw. Hier legt der Programmierer das vom Assembler umzusetzende Speichermodell fest. Meist reicht SMALL aus. Definiert ein Stacksegment der angegebenen Größe. Definition des Datensegments. Hier werden Daten und Variablen angelegt. Definition des Codesegments. Wird mit einem Label eingeleitet und mit END Label abgeschlossen. Programminitialisierung: DS wird über AX mit Beginn des Datensegments geladen Hier steht das eigentliche Hauptprogramm DOS wird mit INT 21H aufgerufen. Der Funktionscode 4CH bedeutet Programm terminieren. Unterprogramme strukturieren und modularisieren ein Programm. Folie Beispielprogramm.MODEL SMALL ;Verwendetes Speichermodell.STACK 1H ;Reserviert Speicher fuer Stack ; DATA ;Definiert den Beginn des Datensegments VARA DW 25 ;Definiert Speicherwort, initialisiert Inhalt=25 VARB DW 125 ;Definiert Speicherwort, initialisiert Inhalt=125 VARC DW? ;Definiert Speicherwort, Inhalt nicht initialis. ; CODE ;Definiert den Beginn des Codesegments BEGINN: MOV ;AX = Beginn des Datensegments MOV DS,AX ;AX in DS Register schieben (laden) ; MOV AX,VARA ;Wert 25 von Variable A in AX schieben (laden) ADD AX,VARB ;Addiere 125 (VARB) zu AX MOV VARC,AX ;Speichere die Summe in VARC ; MOV AH,4CH ;DOS-Funktionscode: 4CH = Programm Terminieren INT 21H ;Aufruf von DOS mittels Software-Interrupt END BEGINN ;D.H. Programm startet bei BEGINN Folie 15

22 Das List-File zum Beispielprogramm 1.MODEL SMALL ;Verwendetes Sp 2.STACK 1H ;Reserviert Spei 3 ; DATA ;Definiert den Beginn des Datens 5 FA VARA DW 25 ;Definiert Speich 6 2 7D VARB DW 125 ;Definiert Speich 7 4???? VARC DW? ;Definiert Speich 8 ; CODE ;Definiert den Beginn des Codese 1 BEGINN: 11 B8 s MOV ;AX = Beginn des Da E D8 MOV DS,AX ;AX in DS Register 13 ; 14 5 A1 r MOV AX,VARA ;Wert 25 von VARA r ADD AX,VARB ;Addiere 125(VARB) 16 C A3 4r MOV VARC,AX ;Speichere die Summe 17 ; 18 F B4 4C MOV AH,4CH ;DOS-Funktionscode: CD 21 INT 21H ;Aufruf von DOS mi 2 21 END BEGINN ;D.H. Programm star Folie 151 Komponenten eines Assemblerprogramms Ein Assemblerprogramm besteht aus zwei Komponenten: 1. Assembleranweisungen oder Pseudobefehle Assembleranweisungen sind "Befehle" an den Assembler und dienen als Arbeitsgrundlage. Sie können nicht von der CPU verarbeitet werden, nehmen aber dem Programmierer viel Arbeit ab. Beispiele sind die vereinfachten Segmentanweisungen (.MODEL,.DATA), die den Umgang mit Segmenten erleichtern. 2. Maschinenbefehle Maschinenbefehle sind direkte Befehle an die CPU. Die vom Assembler in Maschinencode übersetzten Menmonics werden von der BIU in die Warteschlange gestellt und anschließend von der EU verarbeitet. Die Maschinenbefehle sind der "Kern" eines Programms und bilden gemeinsam den Algorithmus zur Lösung eines Programmierproblems. Bsp.: MOV AX,1H. Folie 152

23 Assembleranweisungen für Konstanten und Ausdrücke Mit Konstanten werden Werte bzw. Ergebnisse von Konstanten-Ausdrücken benannt. Alle Konstanten werden zur Assemblierungszeit ausgewertet und können daher nach der Assemblierung nicht mehr verändert werden. Es handelt sich also um einen festen numerischen Wert oder um eine Speicheradresse. Konstanten benötigen keinen Speicherplatz! Die Definition von Konstanten und Ausdrücken erfolgt mit der EQU-Anweisung (EQUATE = entspricht). Platziert werden die Pseudobefehle typischerweise nach der.stack-anweisung. Beispiele: Zeilen EQU 25 ;Zeilen bekommt Wert 25 Spalten EQU 8 ;Spalten bekommt Wert 8 Zeichen EQU Zeilen * Spalten ;Zeichen = 4 SET_AX_ EQU MOV AX, ;Reine Textersetzung Text EQU " Bitte Taste drücken" ;Reine Textersetz. Anmerkung: EQU belegt keinen Speicher, es handelt sich um eine Textersetzung! Folie 153 Assembleranweisungen für Variablen Variablen haben Werte, die zur Programmlaufzeit verändert werden können. Sie besitzen einen Datentyp, der vom Assembler überprüft wird. Jeder Variablen muss Speicherplatz im Datensegment (nach.data) reserviert werden. Das erfolgt bei Einzelvariablen durch den Operator "?" (=nicht initialisiert) oder Angabe einer Konstanten (=initialisiert). Für Variablen existieren folgende Datentypen: Direktive DB DW DD DQ DT Bedeutung Define Byte Define Word Define Double Define Quad Define Ten Bit Definiert Byte-Variable Wort-Variable Doppel-Wort Quad-Wort 1-Byte Beispiel ASCIIA DB 41H NAME Wert W64 DQ? BCDZ DT DW B8H DD 1234ABCDH Wird eine Variable als 16-Bit-Variable definiert, so kann sie auch nur mit einem 16-Bit-Befehl bearbeitet werden. Beispielsweise würde MOV AH, NAME zu einem Fehler führen. Mit dem sogenannten PTR-Operator ist eine Typkonvertierung möglich, z.b. MOV AH, BYTE PTR NAME. Folie 154

24 Assembleranweisungen für Strings, Tabellen und Felder Strings sind Textvariablen, die mehrere Speicherstellen hintereinander belegen und mit der DB-Direktive definiert werden. Beispiel: MEINTEXT DB 'Hallo Welt!','$' Erfolgt die Textausgabe mittels DOS, muss ein Dollarzeichen den Text begrenzen. Meist ist in höheren Programmiersprachen eine NULL als Begrenzer üblich. Eine Tabelle lässt sich z.b. wie folgt anlegen: TABELLE DB 1,2,3,4,1,122,222,111,221,1,44 VOKALE DB 'a', 'e', 'i', 'o', 'u' Zugriff z.b. mit MOV BL,TABELLE[3] ;Register BL erhaelt Wert 4 Mit Hilfe des DUP-Operators (Duplicate) lässt sich ein Feld "beliebiger" Größe anlegen: ARRAY DB 5 DUP () ;(= Feld db,,,,) UNBES DB 5 DUP (?) ;(= Feld db?,?,?,?,?) Folie 155 Maschinenbefehle: Aufbau einer Anweisung Aufbau einer Anweisung beziehungsweise Programmzeile: marke: opcode operand, operand ; Kommentar marke: Bezeichner, z.b. für Sprungmarken, oft auch Label genannt opcode: Mnemonic für Maschinenbefehl z.b. ADD, SUB, CALL, RET, JMP, operand: Bezeichnungen von Speicherbereichen z.b. Register: AX, BX, CX, DX, SI, DI, BP, SP, CS, DS, SS, ES Speicher: OTTO, KARL, KARL + 8, [BP+4], Beispiel: LABEL: MOV AX, BX ; Schiebe (Lade) Inhalt von BX nach AX ; Der Inhalt von BX bleibt unverändert Hinweis: Eine Zusammenstellung der wichtigsten Maschinenbefehle ist mit Befehlsliste.pdf im Internet bereitgestellt. Eine ausführlichere Beschreibung ist beispielsweise zu finden in: Backer, Reiner: Assembler. rororo computer (Preis ca. 1 ) Folie 156

25 Adressierungsarten CPU-interne Adressierung Registeradressierung Unmittelbare Adressierung (immediate) Speicheradressierung Direkte Adressierung Indirekte Adressierung Basisrelative Adressierung Indizierte Adressierung Basisindizierte Adressierung MOV AX, BX ADD AL,CL MOV AX,[BX] Beispiel MOV AX, 4711 ADD CX, 27 MOV AX, Variable1 MOV BX, OFFSET Variable1 INC Zahl MOV AX,[BX]+2 MOV AX,TABELLE[SI] MOV AX,TABELLE[BP+SI] ADD AH,TAB1[BP+SI+6] Erklärung AX = BX AL = AL + CL AX = 4711 CX = CX + 27 AX = Wert von Variable1 BX = Zeiger auf Variable1 Zahl = Zahl + 1 AX = Wert des 16-Bit- Wortes auf das BX zeigt AX = Wert des 16-Bit- Worters auf das BX+2 zeigt AX = Wert des 16-Bit- Wortes in Tabelle mit Register SI als Index Index in Tabelle = BP+SI Folie 157 Für die Übungen wichtige Befehle Befehl Operanden Wirkung Ziel Quelle MOV ziel, quelle ziel = quelle Register Speicher Register, Speicher, Konstante Register, Konstante PUSH quelle (SP) = quelle Stack Register, Speicher POP ziel ziel = (SP) Register, Speicher Stack INC,DEC ziel ziel = ziel ± 1 Register, Speicher ADD ADC ziel, quelle ziel, quelle ziel = ziel+quelle ADD mit Carry Register Speicher Register, Speicher, Konstante Register, Konstante SUB ziel, quelle ziel = ziel-quelle SBC ziel, quelle SUB mit Carry MUL quelle AX * quelle DX:AX = Ergebnis Register, Speicher DIV quelle DX:AX / quelle DX = Divisionsrest AX = Quotient Register, Speicher CMP ziel, quelle Vergleich (ziel - quelle) Register (unverän.) Register, Speicher, Konstante CALL ziel 1. IP Stack, 2. IP= Ziel Label RET Stack IP IRET Stack Flags, IP, CS Folie 158

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

1. Übung - Einführung/Rechnerarchitektur

1. Übung - Einführung/Rechnerarchitektur 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

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den

Mehr

Brückenkurs / Computer

Brückenkurs / Computer Brückenkurs / Computer Sebastian Stabinger IIS 23 September 2013 Sebastian Stabinger (IIS) Brückenkurs / Computer 23 September 2013 1 / 20 Content 1 Allgemeines zum Studium 2 Was ist ein Computer? 3 Geschichte

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner

C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Von-Neumann-Rechner (John von Neumann : 1903-1957) C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Quelle: http://www.cs.uakron.edu/~margush/465/01_intro.html Analytical Engine - Calculate

Mehr

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

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c 1 Transportbefehle 1.1 Verwendung nur Akku und Register (R0, R1,... R7) 1.1.1 Kopieren Sie den Wert aus Register1 nach

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor 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

Mehr

2. Rechnerarchitektur 2.1 einfache Computer

2. Rechnerarchitektur 2.1 einfache Computer 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

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

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Assembler-Programmierung

Assembler-Programmierung Assembler-Programmierung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Assembler-Programmierung 1/48 2012-02-29 Assembler-Programmierung

Mehr

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 1 / 53 Inhaltsverzeichnis 1 Einführung 2 Assembler Syntax, Register und Flags 3 Hauptspeicher 4 Stack 5 Assemblerbefehle

Mehr

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

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

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

FHZ. K01 Geschichte des Computers. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt Inhalt 1. Geschichte Folie 1 Lernziele Sie kennen die wichtigsten Punkte in der Geschichte des Computers Sie sind mit einigen Begriffen vertraut Folie 2 Seite 1 Computer als elektronische Rechenmaschine:

Mehr

Der MS-DOS Standardmonitor und Debugger DEBUG

Der MS-DOS Standardmonitor und Debugger DEBUG Einfache Assemblerprogrammierung mit DOS-DEBUG 1/7 Auf Personalcomputern kann in der Regel leicht eine einfache Umgebung zur Software-Entwicklung für die Intel Rechnerfamilie 80x86 eingerichtet werden.

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Geschichte und Einteilung der Informatik 01101101 01011001 11010011 10011000 00000011 00011100 01111111 11111111 00110100 00101110 11101110 01110010 10011101 00111010 2 Der

Mehr

Teil VIII Von Neumann Rechner 1

Teil 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

Aufbau und Funktionsweise eines Computers

Aufbau 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 Hardware Prozessor (CPU)

Mehr

Das Rechnermodell von John von Neumann

Das Rechnermodell von John von Neumann Das Rechnermodell von John von Neumann Historisches Die ersten mechanischen Rechenmaschinen wurden im 17. Jahhundert entworfen. Zu den Pionieren dieser Entwichlung zählen Wilhelm Schickard, Blaise Pascal

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Funktionsweise von Computern Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Inhalt 1. Ein Blick zurück 2. Stand

Mehr

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving

Mehr

Elektromechanische Computer

Elektromechanische Computer Elektromechanische Computer Erfinder, ihre Biographien und Maschinen Konrad Zuse George Stibitz Howard Aiken Konrad Zuse: Biographie I Geburt: 22.06.1910 in Berlin 1928 Studium Maschinenbau (TH Berlin-Charl.),

Mehr

01.11.2012. Vorlesung Programmieren. Inhalt. Funktionsweise von Computern. Ein Blick zurück. 1. Ein Blick zurück. 2.

01.11.2012. Vorlesung Programmieren. Inhalt. Funktionsweise von Computern. Ein Blick zurück. 1. Ein Blick zurück. 2. Vorlesung Programmieren Funktionsweise von Computern Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Inhalt 1. Ein Blick zurück 2. Stand

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Informatik - Lehrgang 2000/2001 GRUNDLAGEN

Informatik - Lehrgang 2000/2001 GRUNDLAGEN Informatik - Lehrgang 2000/2001 GRUNDLAGEN Ein Überblick! Das Werden der Informatik! Daten! Technische Informatik Der von Neumann Computer Versuch einer Entmystifizierung 2 Grundlagen Micheuz Peter Das

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

Computer-Architektur Ein Überblick

Computer-Architektur Ein Überblick Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27

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

Technische Informatik I

Technische Informatik I Technische Informatik I SS 2001 PD Dr. A. Strey Abteilung Neuroinformatik Universität Ulm Inhalt Einführung: Überblick über die historische Entwicklung der Rechnerhardware Teil 1: Digitale Logik kurzer

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

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

Informatik Mensch Gesellschaft. Historische Entwicklung der Informationstechnik (von Anfang bis Heute) Informatik Mensch Gesellschaft Historische Entwicklung der Informationstechnik (von Anfang bis Heute) Algorithmen-Automat Schritt-für-Schritt-Anleitung zum Lösen mathematischer Probleme kann immer wieder

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

Die Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt.

Die Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt. Die Befehle des Modellrechners in übersichtlichen Tabellen: Alle Opcodes sind Hexadezimal angegeben (s.u.). 1.) Die Ladebefehle zwischen den einzelnen Registern. In der oberen Zeile steht jeweils die Quelle

Mehr

Technische Informatik 2 Adressierungsarten

Technische Informatik 2 Adressierungsarten Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine

Mehr

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

Mehr

Die Geschichte des Computers

Die Geschichte des Computers Inhaltsverzeichnis Der Vorbote des Computers... 3 Der Erfinder des ersten Computers... 3 Die Computer... 4 Der erste Computer Z1... 4 Der zweite Computer Z3... 5 Der Mark I... 6 Der ENIAC... 7 Der SSEC...

Mehr

Geschichte der Informatik

Geschichte der Informatik Entwicklung von Informationstechnik und Durchdringung des Alltags seit der 2. Hälfte des 20 Jahrhunderts explosionsartig Informationsgesellschaft Zunehmende Bedeutung und Wert von Informationen Schnelle

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache

Mehr

Algorithmus, siehe (1)

Algorithmus, siehe (1) Der Computer als elektronische Rechenmaschine entstand in den vierziger Jahren des 20. Jahrhunderts. Die Gedankenwelt der Informatik lässt sich aber bedeutend weiter zurückverfolgen. Mit diesem Kapitel

Mehr

Brückenkurs / Computer

Brückenkurs / Computer Brückenkurs / Computer Sebastian Stabinger IIS 22 September 2014 1 / 24 Content 1 Allgemeines zum Studium 2 Was ist ein Computer? 3 Geschichte des Computers 4 Komponenten eines Computers 5 Aufbau eines

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags.

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags. 3. Assembler-Programmierung Der PIC 16F84A Microcontroller kennt 35 verschiedene Befehle. Für eine ausführliche Beschreibung aller Befehle siehe PIC16F84A-Datenblatt Kapitel 7.1. 3.1 Wichtige Flaggen im

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Teil I Definition, Geschichte und Teilgebiete der Informatik Seite 1 Wer steht da? M. Eng. Robert Maaßen ich@robertmaassen.de www.robertmaassen.de Studium: Informatik Vertiefungsrichtung

Mehr

Technische Informatik. Der VON NEUMANN Computer

Technische Informatik. Der VON NEUMANN Computer Technische Informatik Der VON NEUMANN Computer Inhalt! Prinzipieller Aufbau! Schaltkreise! Schaltnetze und Schaltwerke! Rechenwerk! Arbeitsspeicher! Steuerwerk - Programmausführung! Periphere Geräte! Abstraktionsstufen

Mehr

Rechnerarchitektur. M. Jakob. 1. Februar 2015. Gymnasium Pegnitz

Rechnerarchitektur. M. Jakob. 1. Februar 2015. Gymnasium Pegnitz Rechnerarchitektur M. Jakob Gymnasium Pegnitz 1. Februar 2015 Inhaltsverzeichnis 1 Aufbau eines Computersystems Praktische Grundlagen Von-Neumann-Rechner 2 Darstellung und Speicherung von Zahlen 3 Registermaschinen

Mehr

9.0 Komplexe Schaltwerke

9.0 Komplexe Schaltwerke 9.0 Komplexe Schaltwerke Die Ziele dieses Kapitels sind: Lernen komplexe Schaltwerke mittels kleinerer, kooperierender Schaltwerke zu realisieren Verstehen wie aufgabenspezifische Mikroprozessoren funktionieren

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

Prozessor HC680 fiktiv

Prozessor HC680 fiktiv Prozessor HC680 fiktiv Dokumentation der Simulation Die Simulation umfasst die Struktur und Funktionalität des Prozessors und wichtiger Baugruppen des Systems. Dabei werden in einem Simulationsfenster

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 9, Dienstag 18. Dezember 2012 (Performance Tuning, Profiling, Maschinencode) Prof. Dr.

Mehr

Wie arbeiten Computer?

Wie arbeiten Computer? Autor: Ortmann, Jürgen. Titel: Wie arbeiten Computer? Quelle: Einführung in die PC-Grundlagen. München, 8. Auflage, 2003. S. 29-41. Verlag: Addison-Wesley Verlag. Die Veröffentlichung erfolgt mit freunlicher

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke Rechnerarithmetik Rechnerarithmetik 22 Prof. Dr. Rainer Manthey Informatik II Übersicht bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke in diesem

Mehr

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner Institut für Telematik Universität zu Lübeck Programmieren Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 8/9 Prof. Dr. Christian Werner 3- Überblick Typische Merkmale moderner Computer

Mehr

Midterm-Klausur Technische Grundlagen der Informatik

Midterm-Klausur Technische Grundlagen der Informatik Midterm-Klausur Technische Grundlagen der Informatik Prof. Dr. Arndt Bode Wintersemester 2002/2003 7. Dezember 2002 Name: Vorname: Matrikelnummer: Hörsaal: Platz: Unterschrift: Ergebnis: Aufgabe Punkte

Mehr

Klausur zur Mikroprozessortechnik

Klausur zur Mikroprozessortechnik Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Klausur zur Mikroprozessortechnik Nachname: Vorname: Matrikelnummer: 7.3.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2

Mehr

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7 1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht

Mehr

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Compiler: Vom Code zum Maschinen-Code C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Zusammenhänge: C und Assembler Hochsprachen

Mehr

Fehlerkorrektur Bild 3.190 Demoprozessor

Fehlerkorrektur Bild 3.190 Demoprozessor 7 Prozessor 3 0 Flags C V N Z A IP 0 SP AB 8 MS W/R DB 4 00h..6Fh Daten Speicher 70h..70h PA 71h..71h PB 72h..73h PC 74h..76h PD 80h..FFh Programm Speicher Fehlerkorrektur Bild 3.190 Demoprozessor Die

Mehr

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Kapitel 2. Zahlensysteme, Darstellung von Informationen Kapitel 2 Zahlensysteme, Darstellung von Informationen 1 , Darstellung von Informationen Ein Computer speichert und verarbeitet mehr oder weniger große Informationsmengen, je nach Anwendung und Leistungsfähigkeit.

Mehr

Betriebssysteme Kap B: Hardwaremechanismen

Betriebssysteme Kap B: Hardwaremechanismen 1 Betriebssysteme Kap B: Hardwaremechanismen 2 Beispielprozessor Ein- / Ausgabe p[ ] ir Leitwerk pc Register a f sp Rechenwerk Speicher m[ ] Spezielle Register Flagregister f f.i: Interrupt-Enable-Flag

Mehr

1. Entwicklung der Datenverarbeitung

1. Entwicklung der Datenverarbeitung 1. Entwicklung der Datenverarbeitung 1.1. Vom Abakus zum Pentium Schon im Altertum war man bestrebt, sich Hilfsmittel zu schaffen, die das Zählen und Rechnen erleichterten. Formulierung mechanischer Abläufe

Mehr

3 Assembler- und Maschinenbefehle, Programmablauf-Steuerung

3 Assembler- und Maschinenbefehle, Programmablauf-Steuerung 3 Assembler- und Maschinenbefehle, Programmablauf-Steuerung In der Vorlesung wurde folgendes Beispiel-Programm in der höheren Programmiersprache C vorgestellt: int x=0; int i= 0; for (i=1;i

Mehr

Befehlssatz AVR RISC Controller

Befehlssatz AVR RISC Controller Befehlssatz AVR RISC Controller Design-Philosophie des AVR Befehlssatzes Assembler-Sprache AVR-Befehlssatz Philosophie RISC = Reduced Instruction Set Computing keine komplexen Befehle möglichst symmetrischer

Mehr

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen

Mehr

Johann Wolfgang Goethe-Universität

Johann Wolfgang Goethe-Universität Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler

Mehr

Funktionaler Aufbau eines Computers Untersuchung von Delphi-Compilaten

Funktionaler Aufbau eines Computers Untersuchung von Delphi-Compilaten Funktionaler Aufbau eines Computers Im Folgenden soll der Weg untersucht werden, wie ein Programm, das von einem Compiler/Interpreter in Maschinencode übertragen wurde, schließlich vom Prozessor abgearbeitet

Mehr

Einführung. Einführung in die Technische Informatik Falko Dressler und Stefan Podlipnig Universität Innsbruck

Einführung. Einführung in die Technische Informatik Falko Dressler und Stefan Podlipnig Universität Innsbruck Einführung Einführung in die Technische Informatik Falko Dressler und Stefan Podlipnig Universität Innsbruck Überblick Motivation Komponenten eines Rechners Historische Entwicklung Technologische Grundlagen

Mehr

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet.

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet. Übung Nr. 1b: MIKROPROZESSOR, Hewlett - Packard µ-lab en sind kleine Computer, die mit externen Geräten Daten austauschen können. Sie verfügen über Speicher, um Programme und Daten zu speichern und Eingangsund

Mehr

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011 Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste

Mehr

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE D - CA - IV - AA - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 4 DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE Sommersemester 2003 Leitung:

Mehr

Sucosoft S40 KOP/FBS KOP FBS

Sucosoft S40 KOP/FBS KOP FBS Sucosoft S40 KOP/FBS KOP FBS Grafische Elemente Netzwerke erstellen Netzwerke erstellen Programme werden in KOP durch grafische Elemente dargestellt. Abfrage einer Variable auf den Zustand 1 Abfrage einer

Mehr

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

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln. Grafische Elemente Netzwerke erstellen Netzwerke erstellen Programme werden in KOP durch grafische Elemente dargestellt. Abfrage einer Variable auf den Zustand 1 Abfrage einer Variable auf den Zustand

Mehr

Welches Register wird für was verwendet?

Welches Register wird für was verwendet? Welches Register wird für was verwendet? AX Register: Arithmetische Funktionen BX Register: Arbeitsspeicher adressieren (lea ; mov bx, offset), kann als Zeiger im Datensegment verwendet werden (siehe Direkter

Mehr

Die Assemblersprache der intel 80x86-Prozessoren

Die Assemblersprache der intel 80x86-Prozessoren Die Assemblersprache der intel 80x86-Prozessoren Prof. Dr. Klaus Wüst Fachhochschule Gießen-Friedberg Fachbereich MNI Studiengang Informatik Gießen im März 2003 Inhaltsverzeichnis 1 Einführung 8 1.1 Maschinencode

Mehr

Mikrocomputertechnik. Einadressmaschine

Mikrocomputertechnik. Einadressmaschine technik Einadressmaschine Vorlesung 2. Mikroprozessoren Einführung Entwicklungsgeschichte Mikroprozessor als universeller Baustein Struktur Architektur mit Akku ( Nerdi) FH Augsburg, Fakultät für Elektrotechnik

Mehr

Tutorübung 7: Mikroprogrammierung I

Tutorübung 7: Mikroprogrammierung I Tutorübung 7: Mikroprogrammierung I Vorlesung Einführung in die Technische Informatik (ETI) Lehrstuhl für Rechnertechnik und Rechnerorganisation Institut für Informatik 10 Technische Universität München

Mehr

Technische Informatik 2 Maschinenprogrammierungskonzepte

Technische Informatik 2 Maschinenprogrammierungskonzepte Technische Informatik 2 Maschinenprogrammierungskonzepte Prof Dr Miroslaw Malek Sommersemester 2005 wwwinformatikhu-berlinde/rok/ca Thema heute Ausführung von Befehlen Ein-/Ausgabeprogrammierung Architekturen

Mehr

IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1

IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1 IT für Führungskräfte Zentraleinheiten 11.04.2002 Gruppe 2 - CPU 1 CPU DAS TEAM CPU heißt Central Processing Unit! Björn Heppner (Folien 1-4, 15-20, Rollenspielpräsentation 1-4) Harald Grabner (Folien

Mehr

Hardwareaufbau der Mikrocontroller der 51er -Familie

Hardwareaufbau der Mikrocontroller der 51er -Familie Hardwareaufbau der Mikrocontroller der 51er -Familie Mikrocontroller (51er Familie) Quarz Port Timer A D Serielle Schnittst. CPU ROM RAM Ext. ROM Ext. RAM Programmspeicher (ROM) Datenspeicher (RAM) FFFFh

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung 10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was

Mehr

Teil Rechnerarchitekturen M03. Darstellung von Zahlen, Rechnen, CPU, Busse. Corinna Schmitt corinna.schmitt@unibas.ch

Teil Rechnerarchitekturen M03. Darstellung von Zahlen, Rechnen, CPU, Busse. Corinna Schmitt corinna.schmitt@unibas.ch Teil Rechnerarchitekturen M03 Darstellung von Zahlen, Rechnen, CPU, Busse Corinna Schmitt corinna.schmitt@unibas.ch Darstellung von Zahlen Rechnen 2015 Corinna Schmitt Teil Rechnerarchitekturen - 2 Zwei

Mehr

GESCHICHTE DER COMPUTERTECHNIK

GESCHICHTE DER COMPUTERTECHNIK GESCHICHTE DER COMPUTERTECHNIK Rebekka Mönch Projekt ://reisefieber WS 2005/06 Bauhaus-Universität Weimar Ich glaube, dass es auf der Welt einen Bedarf von vielleicht fünf Computern geben wird. Künftige

Mehr

Übung -- d001_7-segmentanzeige

Übung -- d001_7-segmentanzeige Übung -- d001_7-segmentanzeige Übersicht: Der Steuerungsablauf für die Anzeige der Ziffern 0 bis 9 mittels einer 7-Segmentanzeige soll mit einer speicherprogrammierbaren Steuerung realisiert werden. Lehrziele:

Mehr

HC680 PROGRAMMER'S REFERENCE MANUAL

HC680 PROGRAMMER'S REFERENCE MANUAL HC680 PROGRAMMER'S REFERENCE MANUAL Programmieranleitung Mnemonic Assembler Maschinenbefehl Wirkung /Bedeutung Register (0 bis 3 allg. Reg.) Ope- Opcode/Binärcode - Adressierungsart - Nr Bez. xx Bin Art

Mehr

Mikroprozessortechnik

Mikroprozessortechnik Lehrplan Mikroprozessortechnik Höhere Berufsfachschule für Automatisierungstechnik Ministerium für Bildung Hohenzollernstraße 60, 66117 Saarbrücken Postfach 10 24 52, 66024 Saarbrücken Saarbrücken 2010

Mehr

Mikrocontrollerprogrammierung in Assembler und C

Mikrocontrollerprogrammierung in Assembler und C mitp Professional Mikrocontrollerprogrammierung in Assembler und C für die Mikrocontroller der 8051-Familie - Simulation unter Multisim von Herbert Bernstein 1. Auflage Mikrocontrollerprogrammierung in

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Arbeitsfolien - Teil 4 CISC und RISC

Arbeitsfolien - Teil 4 CISC und RISC Vorlesung Informationstechnische Systeme zur Signal- und Wissensverarbeitung PD Dr.-Ing. Gerhard Staude Arbeitsfolien - Teil 4 CISC und RISC Institut für Informationstechnik Fakultät für Elektrotechnik

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

Mehr

Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen

Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen Statt positive Zahlen von 0 bis 2 n -1mit einem Bitmuster der Länge n darzustellen und arithmetische Operationen darauf auszuführen,

Mehr

Programmieren. Kapitel 2: Der Traum vom automatischen Rechnen ein Streifzug durch die Computergeschichte. Wintersemester 2008/2009

Programmieren. Kapitel 2: Der Traum vom automatischen Rechnen ein Streifzug durch die Computergeschichte. Wintersemester 2008/2009 Institut für Telematik Universität zu Lübeck Programmieren Kapitel 2: Der Traum vom automatischen Rechnen ein Streifzug durch die Computergeschichte Wintersemester 2008/2009 Prof. Dr. Christian Werner

Mehr

Computeria Urdorf. Treff vom 16. Januar 2013. Was ist ein Computer?

Computeria Urdorf. Treff vom 16. Januar 2013. Was ist ein Computer? Computeria Urdorf Treff vom 16. Januar 2013 Was ist ein Computer? Der Vater des Computers Charles Babbage (26.12.1791 18.10.1871) Erfinder der mechanische Rechenmaschine Die Entwicklung des Computers Karl

Mehr