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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 (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

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

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

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

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

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

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

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

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

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

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

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

Vorlesung Technische Grundlagen der Informatik ( TGI)

Vorlesung Technische Grundlagen der Informatik ( TGI) Vorlesung Technische Grundlagen der Informatik ( TGI) Prof. Dr. Rudolf Latz Fachbereich Informatik & Kommunikation Westfälische Hochschule Gelsenkirchen Bocholt Recklinghausen Die Unterlagen sind als Arbeitsgrundlage

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

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

COMPILER & CODE ANALYSE. Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1

COMPILER & CODE ANALYSE. Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1 1 COMPILER & CODE ANALYSE Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1 INHALT Einleitung Werkzeuge Compiler Aufbau Optimierung Beispiel Code Analyse Einführung

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

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

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

5.BMaschinensprache und Assembler

5.BMaschinensprache und Assembler Die Maschinenprogrammebene eines Rechners Jörg Roth 268 5.BMaschinensprache und Assembler Die vom Prozessor ausführbaren Befehle liegen im Binärformat vor. Nur solche Befehle sind direkt ausführbar. So

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

1. Geschichte des Computers

1. Geschichte des Computers 1. Geschichte des Computers Als erster Computer galt "Abakus", der vor rund 5 000 Jahren von den Chinesen erfunden wurde. Blaise Pascal (1623-1662): erfand 1643 einen Apparat, mit dem man einfache Additionen

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

Ein Computer zum Selbstbauen

Ein Computer zum Selbstbauen www. MyCPU.eu Ein Computer zum Selbstbauen von Dennis Kuschel Gliederung: 1. Was ist die MyCPU und warum existiert sie? 2. Architektur der MyCPU 3. Befehlssatz 4. Emulator 5. Software 6. Nachbau Was ist

Mehr

Lektion 3: Was ist und was kann ein Computer?

Lektion 3: Was ist und was kann ein Computer? Lektion 3: Was ist und was kann ein Computer? Helmar Burkhart Informatik burkhart@ifi.unibas.ch EINFÜHRUNG IN DIE INFORMATIK I 3-0 Übersicht Lektion 3 Hardware Software Aufbau eines Computers Rechnerkern

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

Rechnerarchitektur. Dr. Andreas Müller TU Chemnitz Fakultät für Informatik Fakultätsrechen- und Informationszentrum anmu@informatik.tu-chemnitz.

Rechnerarchitektur. Dr. Andreas Müller TU Chemnitz Fakultät für Informatik Fakultätsrechen- und Informationszentrum anmu@informatik.tu-chemnitz. Rechnerarchitektur Dr. Andreas Müller TU Chemnitz Fakultät für Informatik Fakultätsrechen- und Informationszentrum anmu@informatik.tu-chemnitz.de Rechnerarchitektur Dr. Andreas Müller TU Chemnitz Fakultät

Mehr

Das Prinzip an einem alltäglichen Beispiel

Das Prinzip an einem alltäglichen Beispiel 3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und

Mehr

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

Arithmetik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Arithmetik Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Zahlendarstellung Addition und Subtraktion Multiplikation Division Fest- und Gleitkommazahlen

Mehr

Assembler-Programmierung

Assembler-Programmierung Assembler-Programmierung W. Kippels 10. Februar 2015 Eine Anleitung mit Übungsaufgaben 1 Inhaltsverzeichnis 1 Vorwort 5 2 Wozu Assembler? 6 3 Die gewählte Umgebung 7 3.1 Der Betriebsmodus des Prozessors......................

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

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

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen. Teilen binär Teil 1 - Vorzeichenlose Ganzzahlen ============ Irgendwann steht jeder Programmieren vor diesem Problem. Wie teile ich eine Binärzahl durch eine zweite? Wer in der Grundschule ein wenig aufgepasst

Mehr

Die Erfindung der ersten Computer und Vergleich der Intentionen der Erfinder

Die Erfindung der ersten Computer und Vergleich der Intentionen der Erfinder Die Erfindung der ersten Computer und Vergleich der Intentionen der Erfinder Konrad Zuse John Atanasoff John Mauchly Inwiefern ist Konrad Zuse der Erfinder des Computers? von Ivo Adrian Knabe 20. März

Mehr

Angewandte Informatik

Angewandte Informatik Angewandte Informatik Teil 2.1 Was ist Hardware? Die Zentraleinheit! 1 von 24 Inhaltsverzeichnis 3... Was ist Hardware? 4... Teile des Computers 5... Zentraleinheit 6... Die Zentraleinheit 7... Netzteil

Mehr

ASM86 Kurzbeschreibung

ASM86 Kurzbeschreibung ASM86 Kurzbeschreibung Segmentierung: Ein Assemblerquellprogramm besteht aus logischen Segmenten Diese logischen Segmente werden durch Assembler, Linker und Locator entsprechen den angegebenen Direktiven

Mehr

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Themen heute Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Besprechung des 3. Übungsblattes Aufgabe 3 Speicherplätze für Mikrocode-Anweisungen

Mehr

6. Funktionseinheiten eines Computers / Mikrocomputers

6. Funktionseinheiten eines Computers / Mikrocomputers Rechnergrundlagen Teil 2-1 - Prof. Dipl.-Ing. Komar 6. Funktionseinheiten eines Computers / Mikrocomputers CPU Zentraleinheit Prozessor Rechenwerk und Steuerwerk Adreß-Bus Daten-Bus Steuer-Bus Speicher

Mehr

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten

Mehr

Das Maschinenmodell Datenrepräsentation

Das Maschinenmodell Datenrepräsentation Das Maschinenmodell Datenrepräsentation Darstellung von Zahlen/Zeichen in der Maschine Bit (0/1) ist die kleinste Informationseinheit Größere Einheiten durch Zusammenfassen mehrerer Bits, z.b. 8 Bit =

Mehr

ODER I EINFÜHRUNG, GESCHICHTE, PROGRAMMIEREN. Marcel Götze

ODER I EINFÜHRUNG, GESCHICHTE, PROGRAMMIEREN. Marcel Götze GRUNDKURS INFORMATIK ODER WIE DENKEN INFORMATIKER? I EINFÜHRUNG, GESCHICHTE, PROGRAMMIEREN Marcel Götze Überblick 1. Organisatorisches 2. Themen und Ziele der Vorlesung 3. Übungen 4. Wb Web 5. Literatur

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 1 Vom Abakus bis zum Personal Computer... 1-2 1.1 Einleitung... 1-2 1.2 Geschichte der Informatik... 1-3 1.2.1 Rechenhilfsmittel... 1-3 1.2.2 Mechanische Rechenmaschinen... 1-3 1.2.3 0. Generation

Mehr

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC)

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) Steuerungen 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) VPS - Funktion der Steuerung in der Schaltungstopologie

Mehr

Informationssysteme Semesterwoche 3

Informationssysteme Semesterwoche 3 Informationssysteme Semesterwoche 3 Teil 1: Zahlen und Logik A) Aufgaben zu den ganzen Zahlen 1. Konvertieren Sie die folgenden Zahlen in die Binärform: 1984 / 2 = 992 0 (LSB) / 2 = 496 0 / 2 = 248 0 /

Mehr

Zentraleinheit (CPU) Arbeitsspeicher. Ausgabegeräte

Zentraleinheit (CPU) Arbeitsspeicher. Ausgabegeräte 2 Zusammenspiel der Hardware mit der Software ( auf dem PC) 2.1. Hardware Etwas zur Historie: Serienproduktion von Computern begann in den 60er Jahren ab etwa 1966 Einsatz von integrierten Schaltungen,

Mehr

Computerarithmetik (1)

Computerarithmetik (1) Computerarithmetik () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis

Mehr

4.2 Universalrechner: Schaltung unabhängig vom Problem 185

4.2 Universalrechner: Schaltung unabhängig vom Problem 185 4.2 Universalrechner: Schaltung unabhängig vom Problem 85 a) Geben Sie binär die Befehlsworte an, mit denen Sie die Eingänge a, b und c in die Register R, R2 und R übernehmen. K D M4 M M2 M Kommentar XXXXXXXXXXX

Mehr

Von der Aussagenlogik zum Computer

Von der Aussagenlogik zum Computer Von der Aussagenlogik zum Computer Markus Koch Gymnasium in der Glemsaue Ditzingen Januar 2012 Inhaltsverzeichnis Einleitung...3 Der Computer...3 Grundlagen...4 Wahrheitstabellen...4 Aussagenlogik...4

Mehr

Daten- Bus. Steuerbus

Daten- Bus. Steuerbus 1 Grundlagen... 1 1.1 Rechnerarchitektur... 1 1.2 Takt... 2 1.3 Speicherarchitektur... 2 2 Mikroprozessor... 4 2.1 Begriffsbestimmung... 4 2.2 Geschichte... 4 2.3 Aufbau eines einfachen Mikroprozessors...

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

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

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Staatlich geprüfter EDV-Führerschein

Staatlich geprüfter EDV-Führerschein Gefördert vom Bundesministerium für Gesundheit und Soziale Sicherung Staatlich geprüfter EDV-Führerschein Modul 1:.doc 27.09.2003 Seite 1/48 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis...

Mehr

Binäre Gleitkommazahlen

Binäre Gleitkommazahlen Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72

Mehr

Rechnerstrukturen WS 2012/13

Rechnerstrukturen WS 2012/13 Rechnerstrukturen WS 2012/13 Repräsentation von Daten Repräsentation natürlicher Zahlen (Wiederholung) Repräsentation von Texten Repräsentation ganzer Zahlen Repräsentation rationaler Zahlen Repräsentation

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ Seite 1 Einführung in die Programmierung mit C Teil IV - Weiterführende Themen 16. SIMD Programmierung Was bedeutet SIMD Seite SIMD Single-Instruction, Multiple-Data, also eine Instruktion, mehrere Daten

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Programmieren in ASSEMBLER. Autor: Dipl.Ing.(FH) H.-P. Kiermaier

Programmieren in ASSEMBLER. Autor: Dipl.Ing.(FH) H.-P. Kiermaier Programmieren in ASSEMBLER Autor: Dipl.Ing.(FH) H.-P. Kiermaier Kiermaier (C)opyright 1994 2 Inhaltsverzeichnis: 1. Einführung... 4 1.1. Was ist Assembler (Maschinensprache)?... 4 1.2. Wozu benutzt man

Mehr

Der 80535-Übungsrechner

Der 80535-Übungsrechner 6. Für den Test kleinerer Programmodule ohne Berücksichtigung des Echtzeitverhaltens ist der Simulator das geeignete Werkzeug. Durch die Möglichkeit der Einzelschrittausführung sind erste Tests von Programmen

Mehr

Informatik Computer-Hardware

Informatik Computer-Hardware Informatik Computer-Hardware Seite 1 Aufbau von Computersystemen Zentraleinheit und Peripherie Zentraleinheit Zur Zentraleinheit zählen der Prozessor, der Arbeitsspeicher (RAM), die verschiedenen Bus-

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Binäre Division. Binäre Division (Forts.)

Binäre Division. Binäre Division (Forts.) Binäre Division Umkehrung der Multiplikation: Berechnung von q = a/b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom Dividenden a subtrahiert:

Mehr

2 Grundsätzliche Merkmale von Computern

2 Grundsätzliche Merkmale von Computern Die befehlsgesteuerte Arbeitsweise eines Computers 2 Grundsätzliche Merkmale von Computern Bevor einzelne Computertypen vorgestellt werden, ist es wichtig, einige grundsätzliche Merkmale zusammen zu stellen.

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Einführung Rechnergrundlagen Grundlagen der Programmierung Kern imperativer

Mehr

Rechnerarchitektur und systemnahe Programmierung

Rechnerarchitektur und systemnahe Programmierung Leitprogramm Informatik: Rechnerarchitektur und systemnahe Programmierung in Assembler Schultyp: Gymnasium Klasse: 12 Fachliche Vorkenntnisse: Bearbeitungsdauer: Autoren: Betreuer: Die Schüler sollten

Mehr

Von PizzaCola zu SushiMate. Über Herausforderungen für Softwareentwickler/-firmen

Von PizzaCola zu SushiMate. Über Herausforderungen für Softwareentwickler/-firmen Von PizzaCola zu SushiMate Über Herausforderungen für Softwareentwickler/-firmen Früher Entwickler waren Nerds Zurückgezogen vollführten sie ihre Arbeit im stillen Kämmerlein Zu essen gab es Pizza und

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Elektronische Grundlagen (Praktikum)

Elektronische Grundlagen (Praktikum) Elektronische Grundlagen (Praktikum) Protokoll: Versuch E13 - Schnittstellen und ihre Programmierung Praktikumsgruppe: IF 104/3 Tobias Blaschke 172467 Christian Darius 167971 Thomas Thüm 171046 Frederik

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

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

Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse

Mehr

Computer-Generationen

Computer-Generationen (K.Zuses Z3, 1941) (Vorschlag) Generation Beispiel Technologie Geschw./Speich. Software Vorgeneration Z3 Elektro- 0,0002 MIPS Verdrahtet 1941-1944 Mark1 mechanik 1.Generation ENIAC, Z22 Elektronen- 0,02

Mehr

D A T E N... 1 Daten Micheuz Peter

D A T E N... 1 Daten Micheuz Peter D A T E N.....! Symbole, Alphabete, Codierung! Universalität binärcodierter Daten! Elementare Datentypen! Speicherung binärcodierter Daten! Befehle und Programme! Form und Bedeutung 1 Daten Micheuz Peter

Mehr

Fehler in numerischen Rechnungen

Fehler in numerischen Rechnungen Kapitel 1 Fehler in numerischen Rechnungen Analyse numerischer Rechnungen: - Welche möglichen Fehler? - Einfluss auf Endergebnis? - Nicht alles in der Comp.Phys./Numerical Analysis dreht sich um Fehler

Mehr

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung

Mehr