Konzepte und Methoden der Systemsoftware Kapitel 1: Technische Grundlagen. Holger Karl. Computer Networks Group Universität Paderborn

Größe: px
Ab Seite anzeigen:

Download "Konzepte und Methoden der Systemsoftware Kapitel 1: Technische Grundlagen. Holger Karl. Computer Networks Group Universität Paderborn"

Transkript

1 Konzepte und Methoden der Systemsoftware Kapitel 1: Technische Grundlagen Holger Karl Computer Networks Group Universität Paderborn

2 Überblick Vorbemerkungen: Systeme & Komplexität Prozessor & Programmausführung Speicher Peripherie & Kommunikation Unterbrechungen SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 2

3 Ziele dieses Kapitels Systemsoftware soll Komplexität der technischen Gegebenheiten & Details eines Rechners beherrschbar machen Hierzu: Technische Gegebenheiten verstehen! Insbesondere: Strukturelemente Prozessor, Speicher, Ausführungsmodelle Unterprogramme, Unterbrechungen, Auf diesen Grundlagen werden folgende Kapitel allgemeine Abstraktionen aufbauen SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 3

4 Überblick Vorbemerkungen: Systeme & Komplexität Prozessor & Programmausführung Speicher Peripherie & Kommunikation Unterbrechungen SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 4

5 Systeme Typische Probleme Emergentes ( auftretendes ) Verhalten: Systemverhalten nicht offensichtlich aus Komponentenverhalten vorhersagbar Bsp.: Resonanz Fortpflanzung von Effekten Kleine Änderung, große Wirkung (es gibt keine kleinen Änderungen ) Bsp.: Größe eines Autoreifens ändern Nichtproportionale Skalierung (incommensurate scaling) Lineare Skalierung versagt i.d.r. Bsp.: Körperbau, Schiffe, Pyramiden, Wolkenkratzer SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 5

6 Systeme Typische Probleme Optimierung oder Zielkonflikt, Abtausch (trade-offs) Unklarer Begriff mit unterschiedlichen Interpretation Trade-off zwischen Metriken Meist: Mehrere Metriken zur Beurteilung eines Systems notwendig Oft nicht alle Metriken gleichzeitig optimal erreichbar Bsp.: Straßenverkehr, Ampelkonfiguration Trade-off zwischen Parametern Metrik kann durch Einsatz unterschiedlicher Mittel erreicht werden Mittel durch Parameter quantifiziert Manchmal: Unterschiedliche Mittel können/müssen gegeneinander ausgetauscht werden Mittlere # Verkehrstote x x x x x x x x x x x x Mittlere Reisezeit SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 6

7 Systemkomplexität Ursachen Viele Komponenten Viele Verbindungen zwischen Komponenten Insbesondere: Nichtlineare, rückgekoppelte Verbindungen Viele Unregelmäßigkeiten, Ausnahmen Umfangreiche Beschreibung Länge der kürzest möglichen Beschreibung Anzahl Personen, um System zu entwicklen, realisieren, warten, SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 7

8 Systemkomplexität behandeln Modularisierung Teile und herrsche Module ändern einfach; Modularisierung ändern schwer Abstraktion Eigenschaft einer Modularisierung: Module sollten geringst möglich von einander abhängen Abstrakte Modularisierung: Für Module ist Schnittstelle und Internas, Spezifikation und Implementierung separiert Gefahr: Modulgrenzen zur Optimierung oder durch Fehler umgehen Grundsatz: Sei tolerant bei Eingaben, strikt bei Ausgaben SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 8

9 Systemkomplexität behandeln (II) Schichten Strukturiere Module so, dass jeweils nur mit einem oberen und unteren Modul interagiert werden muss Nach oben: komplexer; nach unten: einfacher Hierarchien Baue Module zu Teilsystemen zusammen, behandle diese als Modul Rekursive Wiederholung Namen Füge Module zu Gesamtsystem zusammen durch Namen Namen erlauben Indirektion Aufschieben der Entscheidung, welches Modul Ziel einer Interaktion ist ( late binding ) SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 9

10 Rechnersysteme: Wesentliche Abstraktionen Interpreter Ausführende Elemente eines Rechners Hardware z.b.: CPU, Grafikkarte, Plattenkontroller Software z.b.: Webbrowser, Java bytecode, LaTeX, Skriptsprachen Speicher Arbeitsspeicher, Flash, Festplatte, CD, DVD, RAID, Datenbank Kommunikation Zwischen Komponenten eines Rechners Zwischen Rechnern SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 10

11 Interpreter Grundlegende Abstraktion der ausführenden Komponente Komponenten Befehlsvorrat: Welche Anweisungen sind vorhanden, was passiert bei einer bestimmten Anweisung? Instruktionsverweis: Wo ist die nächste auszuführende Anweisung zu finden? Umgebung (oder Kontext): Zustand, auf den die Ausführung der Anweisungen einwirken soll Wesentliches Beispiel hier: Prozessor SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 11

12 Überblick Vorbemerkungen: Systeme & Komplexität Prozessor & Programmausführung Speicher Peripherie & Kommunikation Unterbrechungen SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 12

13 Der Prozessor Grundlegendes Element eines Rechners: Prozessor Verarbeitung von Daten, Rechnen Central Processing Unit (CPU) Wesentliche Elemente Rechenwerk Steuerwerk Register CPU SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 13

14 Grundelemente eines Prozessor Rechenwerk (ALU): Führt arithmetische/logische Operationen aus Steuerwerk: Setzt Instruktionen um, versorgt Rechenwerk mit Daten Koordiniert den internen Ablauf (Holt Befehle aus dem Speicher) Register: Zwischenspeicher Für Daten, Rechenoperationen, Ergebnisse Status Programmbearbeitung, z.b. Befehlszähler (program counter, PC) Rechenregister, Indexregister Stapelzeiger (stack pointer) Basisregister (base pointer) Unterbrechungsregister, CPU Steuerwerk Befehlsdekodierung und Ablaufsteuerung PC, Befehlsregister, Zustandsregister Rechenwerk Arithmetische/ logische Einheit Gleitkommaeinheit Register R1-Rn SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 14

15 CPUs: Programmierbar! Steuerwerk führt Programme aus, indem Rechenwerk zu Operationen angewiesen wird, Daten transportiert werden Folge von Maschinensprache-Anweisungen, in Assembler notiert Befehlszähler gibt die Adresse an, von der die als nächstes auszuführende Anweisung geholt werden soll Beispiel für Befehle ( Zwei-Adress-Format ) SET Ri, VALUE : Setze Register i auf Wert VALUE (Steuerwerk) ADD Ri, Rj : Addiere Datum in Register j zu Register i hinzu (Ergebnis dann in Register i) (Rechenwerk) Beispielprogramm 1: SET R1, 0 2: ADD R1, R2 3: ADD R1, R3 SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 15

16 Ausführung von Assembler-Programmen Befehlszähler gibt den nächsten auszuführenden Befehl an CPU bearbeitet diesen Befehl Befehlszähler wird um eins erhöht, zeigt damit auf den nächsten Befehl Formal: Kontrollstruktur Hier: Befehl laden ausführen laden ausführen laden Komplexere Kontrollstrukturen existieren, später Beispielprogramm 1: SET R1, 0 2: ADD R1, R2 3: ADD R1, R3 PC=1 PC=2 PC=3 Ausführung R1: R2: 42 R3: 4711 SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 16

17 Bedingte Ausführung Bisher: Nur einfache, sequentielle Programmabläufe Zusatzmechanismus: Manipulation des Befehlszählers Direkte Vorgabe des neuen Wertes! Sprung JMP VALUE : Anstelle Befehlszähler um eins zu erhöhen, setze ihn auf den Wert VALUE; fahre dort mit Programmausführung fort Neuer Wert nur bei bestimmter Bedingung! bedingter Sprung JZERO Ri, VALUE : Springe zu VALUE nur, falls Register i den Wert 0 hat; sonst PC um eins erhöhen Erstellen Sie ein Programm, dass die Register 2 und 3 multipliziert, falls diese ungleich 0 sind. Das Ergebnis wird in R1 gespeichert. Brauchen Sie neue Befehle? SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 17

18 Überblick Vorbemerkungen: Systeme & Komplexität Prozessor & Programmausführung Speicher Anbindung: Busse Speicherbefehle, Adressierungsarten Caching Peripherie & Kommunikation Unterbrechungen SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 18

19 Ein Prozessor allein. macht nicht glücklich Wo kommt das Programm her? Wo kommen die Daten her? Mehrere CPUs oder multi-core CPU! CPU CPU CPU! Speicher! Enthält Daten & Programm Diese Gleichbehandlung von Daten und Programm ist eine Architekturentscheidung; keineswegs zwingend! Von Neumann Architektur Semantische Lücke: keine Unterscheidung zwischen Daten und Programm Mit CPU geeignet verbunden Speicher SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 19

20 Organisation, Funktion Speicher Organisation: Folge von Bytes Oder Worten, Doppelworten, Funktion Wahlfreier Zugriff auf beliebiges Byte Random Access Memory (RAM) Lesend oder schreibend Nur lesend: Read-Only Memory (ROM) Inhalt stabil auch ohne Stromversorgung Interaktion CPU $ Speicher Zu bearbeitendes Bytes muss ausgewählt werden mittels Adresse Lesen oder schreiben auswählen Bei Schreiben: CPU muss Datum bereitstellen Bei Lesen: CPU muss Datum empfangen Adressbus CPU Steuerbus Speicher Datenbus Breite Adressbus, Datenbus > 1 Bit! SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 20

21 Speichernutzung in Programmen Einfache Befehle für Lesen und Schreiben LOAD ADRESSE, Ri : Transferiere Inhalt der Speicherzelle ADRESSE nach Register Ri STORE ADRESSE, Ri : Schreibe den Inhalt des Registers Ri in die Speicherzelle ADRESSE Erweiterte Befehle: Indirekte Adressierung LOAD Rj, Ri : Die Adresse der Speicherzelle, deren Inhalt nach Ri geschrieben werden soll, steht in Register Rj STORE Rj, Ri : Analog Erstellen Sie ein Programm, dass die Werte in Speicherstellen 20 bis 1000 aufaddiert und das Ergebnis in Speicherstelle 19 ablegt. (Neue Befehle nötig?) SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 21

22 Erwartungshaltung: Wie verhält sich Speicher? Intuitive Erwartungen an Speicherverhalten Lese-Schreib-Kohärenz Ein Lesebefehl liefert als Resultat den Wert des letzten, vorherigen Schreibbefehls auf gegebene Speicherzelle Atomarität Lese- und Schreibbefehle können sich nicht gegenseitig unterbrechen, werden vollständig durchgeführt Beispiele, die diese Eigenschaften verletzen? SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 22

23 Problem: Speicher ist langsam Zugriff auf Arbeitsspeicher merklich langsamer als Arbeitsgeschwindigkeit Prozessor Prozessor muss auf Ladeoperationen lange warten, könnte unterdessen Befehle ausführen Lösung (teilweise): Schneller Speicher! Aber teuer, daher nur wenig davon! Cache CPU greift nur auf Cache zu, Cache greift auf Hauptspeicher zu Cache hält Kopien von einigen Adressbereichen des Hauptspeichers Lesen Speicherbereich wird von CPU angefragt Im Cache als Kopie vorhanden: an CPU liefern (Cache Hit) Nicht im Cache: aus Hauptspeicher beschaffen (Cache Miss) CPU Cache Speicher SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 23

24 Beispiel Cache Annahme: Cache der Größe 2 Einheiten Folge von Anweisungen: LOAD 42, R0 LOAD 19, R1 LOAD 88, R2 Bei drittem Lesebefehl muss ein Cache-Eintrag ersetzt werden Alter Wert wird verdrängt Platz1: Adr CPU Cache Speicher Adr. 19: 7 Adr. 42: 8 Adr. 88: 9 Platz2: Adr SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 24

25 Warum funktioniert ein Cache (bzw. Caching )? Problem 1: Bei Cache Miss muss Datum doch aus Hauptspeicher kommen Ist insgesamt langsamer als Datum direkt aus Hauptspeicher zu beschaffen: Cache Miss Time > direkter Hauptspeicherzugriff Damit Cache sich lohnt, muss Zugriff im Mittel schneller als ohne Cache sein gemittelt über Cache Hit und Cache Miss Mittlere Zugriffszeit mit Cache: CacheTrefferwahrscheinlichkeit * CacheHitTime + (1 CacheTrefferwahrscheinlichkeit) * CacheMissTime Ergo: Hohe Trefferwahrscheinlichkeit nötig (typisch: > 90% nötig) Trefferrate (oft) hoch wegen Referenzlokalität typische Programmeigenschaft In der Zeit: eine benutzte Speicherstelle wird bald wieder benutzt In Raum : wird eine Speicherstelle benutzt, werden auch Nachbarn oft benutzt (Schleifen!) SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 25

26 Kalter / Heißer Cache Die Cache-Trefferwahrscheinlichkeit hängt vom jeweiligen Anpassungsgrad des Caches an die aktuelle Programmausführung ab Bei neuem Programm entsprechen die Cacheinhalte nicht den vom Programm referenzierten Zellen Geringe Trefferrate Kalter (ineffizienter) Cache Nach einer Vorlaufzeit passt sich der Cache (hoffentlich) an das aktuelle Programm an und immer mehr relevante Zellen werden referenziert Trefferwahrscheinlichkeit steigt an Heißer (effizienter) Cache Und: Cache wird voll! SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 26

27 Schreibzugriffe und Caching Problem 2: Was passiert bei Schreibzugriffen der CPU? CPU sieht Cache als Speicher Schreibt neue Daten in den Cache Daten sollten vorhanden sein immer der Fall? Damit neue Daten im Cache, aber nicht im Hauptspeicher! Probleme entstehen Wenn veränderte Daten ersetzt werden sollen Write-through Cache: Schreibbefehle unmittelbar im Hauptspeicher ausführen einfach aber langsam Write-back Cache: Im Hauptspeicher Daten erst bei Verdrängung aus Cache korrigieren oft effizienter Bei mehreren Prozessoren? Prozessor A verändert Adresse 4711 lokal im Cache, Prozessor B liest DANACH ALTEN Wert aus Hauptspeicheradresse 4711 Cache-Kohärenz-Problem SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 27

28 Überblick Vorbemerkungen: Systeme & Komplexität Prozessor & Programmausführung Speicher Peripherie Separater Bus vs. Memory mapped Programmed I/O Eigenständige Peripherie: DMA Unterbrechungen SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 28

29 Rechner = CPU + Speicher? Grundlegender Rechner damit fertig, aber langweilig Es fehlt: Peripherie! Meist: Geräte durch Steuereinheiten vertreten Fassen mehrere Geräte zusammen Organisieren Interaktion mit CPU Beispiele: PCI Bus controller, SCSI controller Frage: wie Interaktion CPU $ Geräte organisieren? SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 29

30 Interaktion CPU $ Geräte Option 1: Dedizierter E/A-Bus zur Ansteuerung Eigene Schreib- und Lesebefehle für die Interaktion mit Gerät Option 2: Speicherbasierte E/A (Memory-mapped I/O): Prozessor liest/schreibt in Register des Gerätes/ Steuereinheit Idee: Peripheriegeräte ähnlich wie Speicher behandeln Befehlsregister: Was ist zu tun Statusregister: Zustand der Steuereinheit und des Geräts Datenregister: auszutauschende Daten Gerät 1 Gerät 2 CPU Speicher CPU Gerät 2 Gerät 1 Speicher SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 30

31 Von-Neumann Rechnerarchitektur Speicherbasierter E/A mit Steuereinheiten Prozessor (CPU) Datenbus Adressbus Steuerbus Hauptspeicher Steuereinheit Steuereinheit Gerät Gerät Gerät SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 31

32 Programmierung von Geräten Wie wird Datenübertragung von/zu Geräten programmiert? Annahme: Memory-Mapped I/O Option 1: Programmed I/O CPU schreibt/liest Byte für Byte Daten in entsprechende Register des Gerätes kopieren von einem Speicherbereich in einen anderen Mit Schreiben entsprechender Befehle in Geräte-Steuerregister Beispiel: Lesen der Daten von Festplatte In Steuerregister schreiben, welche Daten gelesen werden sollen Abfragen Statusregister, ob Daten bereit sind in Schleife, bis bereit! Sobald bereit, Byte für Byte von Datenregister nach Speicher kopieren! Nur für manche Geräte adäquates Verfahren! SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 32

33 Programmierung von Geräten DMA Wünschenswerte Verbesserungen gegenüber Programmed I/O: 1. CPU sollte nicht mit Transfers einzelner Bytes belastet werden 2. Warten, bis Gerät bereit ist, ist verschwendete Zeit Ad 1.: Gerät bzw. Steuereinheit kann Transfer von/zum Speicher übernehmen CPU erteilt Befehle an Steuereinheit, welche Daten an welche Speicherstellen zu transferieren sind Steuereinheit wickelt dies selbständig ab; greift direkt auf Speicher zu! Option 2: Direct Memory Access (DMA) Prozessor kann währenddessen weiterarbeiten! Erste Beispiel für Parallelität! Wie würden Sie zwischen Programmed I/O und DMA entscheiden? SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 33

34 Programmierung von Geräten DMA Fertig? DMA-fähige Steuereinheit wickelt Transfer ab, CPU arbeitet weiter Wie erfährt CPU vom Ende eines Datentransfers? Z.B., dass Daten von Festplatte gelesen wurden und nun verarbeitet werden können Option 1: CPU überwacht permanent Steuereinheit (z.b. Statusregister) bis Ende festgestellt (Polling) das wollten wir ja gerade vermeiden Ineffizient Option 2: Steuereinheit sagt CPU Bescheid CPU wird in der laufenden Arbeit durch Signal unterbrochen! Unterbrechungen (Interrupts) als Konzept Abweichung vom normalen Ausführungskonzept! SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 34

35 Überblick Vorbemerkungen: Systeme & Komplexität Prozessor & Programmausführung Speicher Peripherie & Kommunikation Unterbrechungen Synchron vs. Asynchron Unterbrechungsbehandlung Geschachtelte Unterbrechungen Unterbrechungen in Anwendungsprogrammen SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 35

36 Unterbrechungen Wasser aufsetzen Wasser aufsetzen Arbeiten Kocht Wasser?? Arbeiten Kocht Wasser? Arbeiten Kocht Wasser? Alarm bestellen Arbeiten Kaffee aufbrühen SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 36

37 Klassifikation von Unterbrechungen Synchrone Unterbrechungen Unmittelbare Folge eines bestimmten Befehls, z.b. trap-befehl (Befehl und Unterbrechung werden explizit und synchron ausgelöst) Ausnahme (Exception): Implizite Unterbrechung infolge eines Fehlers, z.b. Division durch Null, Zugriff auf gesperrten / nichtexistenten Speicherbereich Asynchrone Unterbrechungen (Interrupts) Keine kausale Beziehung zwischen aktuellem Befehl und Ereignis, auf das reagiert werden muss Werden über (mindestens) eine Unterbrechungsleitung des Busses übermittelt Prozessor prüft die Leitung(en) nach jedem Befehl Beispiele: Drücken einer Taste, Ankunft eines Nachrichtenpakets,... Oft gestaffelte Unterbrechungsleitungen vorhanden Prioritäten SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 37

38 Exkurs: Unterprogramme Damit: Wesentliche Funktionen für Programme vorhanden Reale Prozessoren verfügen über weitere nützliche Befehle Für sinnvolle Programme: Unterprogramme notwendig! JUMP, JUMPZERO etc. notwendig, aber nicht hinreichend Code: 1: JUMP 20 2: <weitermachen nach Rückkehr von Unterprogramm> 20: <Unterprogramm fängt an> 21: 22: JUMP 2 Offen: Parameterübergabe an Unterprogramme, (Rekursion), Rückkehradresse SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 38

39 Exkurs: Unterprogrammaufrufe Parameterübergabe Parameterübergabe Fester Speicherbereich funktioniert nicht Rekursion! Für jeden Aufruf muss Platz für Parameter zur Verfügung stehen Platz muss Unterprogramm & Aufrufer eindeutig bekannt sein Rücksprungadresse: Lediglich ein Parameter! Lösung: Stacks! CPU stellt einen Stackpointer zur Verfügung Parameter/Rücksprungadresse werden auf Stack gelegt, Stackpointer verändert Unterprogramm kann Parameter durch Stackpointer finden Stackpointer Parameter 2 Parameter 1 Rückspr.adr. Speicher SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 39

40 Exkurs: Unterprogrammaufrufe Parameternutzung, Ergebnis Unterprogramm weiß, wo welche Parameter im Stack liegen relativ zum Stackpointer! Werden im Unterprogramm dann z.b. in Register geladen, verarbeitet, Ergebnis: Z.B. nach Rücksprungadresse im Stack speichern Parameter werden implizit entfernt Aufrufer kann Ergebnis ermitteln, da Position relativ zum Stackpointer bekannt ist Aufrufer räumt nach Ergebnisannahme noch Stack auf Stackpointer Parameter 2 Parameter Ergebnis 1 Rückspr.adr. Speicher SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 40

41 Reaktion auf Unterbrechungen 1. Unterbrechungsanalyse Welches Gerät verursachte die Unterbrechung (Quelle)? Warum wurde die Unterbrechung ausgelöst (z.b. Übertragungsende, Fehler)? 2. Unterbrechung sofort berücksichtigen? 3. Falls ja, Unterbrechungsbehandlung: Ermittle die Startadresse der auszuführenden Unterbrechungsroutine (Sprungtabelle), Sichere den aktuellen Zustand (Stack), Führe die Behandlungsroutine aus Kehre zum normalen Programmablauf zurück Programmablauf Sprungtabelle Unterbrechung k SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen k... n Routine für Unterbrechung k

42 Ablauf Unterbrechungsbehandlung Der erste Teil entspricht einem normalen Unterprogrammsprung Retten der Rücksprungadresse, d.h. des nächsten Befehls (PC+1) auf den Stapel Laden des Befehlszählers (PC) mit der Einsprungadresse der Unterbrechungsprozedur Unter der Regie der Unterbrechungsprozedur Retten aller Registerinhalte auf den Stapel Durchführung der erforderlichen Aktionen entsprechend des Typs der Unterbrechung Laden der Register vom Stapel Rücksprung zum unterbrochenen Programm (durch Laden der geretteten Rücksprungadresse in den Befehlszähler) SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 42

43 Unterbrechungsbehandlung Eine Unterbrechung kann zu jedem Zeitpunkt und in jeder Situation auftreten Durch Prozessorbefehle können Unterbrechungen jedoch für eine bestimmte Zeitperiode vollständig blockiert werden Interrupt maskieren, d.h. der normale Prozessablauf wird bis zum nächsten freien Schritt fortgesetzt, bevor auf die Unterbrechung reagiert wird Das Verbot kann Auf bestimmte Unterbrechungstypen beschränkt werden (Maskierung) Den (gleichen) Interrupt selbst sperren (Unterbrechung darf sich nicht selbst unterbrechen ebenfalls Maskierung genannt) Für alle Unterbrechungen gelten (Unterbrechungssperre setzen, disable interrupt) SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 43

44 Unterbrechungen während Unterbrechung? Wasser aufsetzen Alarm bestellen Was passiert bei einer Unterbrechung während der Unterbrechungsbehandlung? Arbeiten Kaffee aufbrühen Option 1: Kaffee brühen einstellen, Haus verlassen Option 2: Erst Kaffee, dann Haus verlassen SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 44

45 Geschachtelte Unterbrechungen Sequentiell Optionen Sequentielle Bearbeitung (in Auftrittsreihenfolge) Geschachtelte Bearbeitung (nested interrupt processing) Sequentielle Bearbeitung Die neue Unterbrechung wird erst dann bearbeitet, wenn die Bearbeitung der aktuellen Unterbrechung abgeschlossen ist Programmablauf Unterbrechung A Routine für Unterbrechung A Unterbrechung B Routine für Unterbrechung B SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 45

46 Unterbrechungen geschachtelt Die Unterbrechungen werden nach Typ in verschiedene Prioritätsklassen eingeteilt Unterbrechungen höherer Priorität können die Bearbeitung von Unterbrechungen geringerer Priorität unterbrechen Programmablauf Unterbrechung A Routine für Unterbrechung A Unterbrechung B Routine für Unterbrechung B SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 46

47 Unterbrechungen in Anwendungsprogrammen Konzept von Unterbrechungen (= asynchrones, zum nicht vorhersehbaren Zeitpunkt auftretendes Signal über ein Ereignis) auch in Anwendungsprogrammen nützlich Idee: Programm spezifiziert Ereignis, auf das es reagieren möchte meist Auswahl aus einer kleinen Menge vorgegebener Ereignisse Reaktion, die darauf durchgeführt werden soll die Unterbrechungsbehandlungsroutine Betriebssystem sorgt dafür, dass bei Eintreten des Ereignisses der eigentliche Programmablauf ausgesetzt und die Behandlungsroutine aufgerufen wird SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 47

48 Unterbrechungen in Anwendungen Beispiel UNIX UNIX als Beispiel für Software-Unterbrechungen: Signale Unterbrechungsbehandlungsroutine ( signal handler ) Beliebige Routine, die ein integer als Argument empfängt und keinen Rückgabewert hat Z.B. void bla (int x) { } Eintragen des handlers: Bibliotheksfunktion signal signal (SIGTERM, bla); Wenn das Signal TERM eintriff, soll Handler bla aufgerufen werden Auslösen eines Signals (je nach Signal unterschiedlich) Kommandozeile: $> kill TERM PROZESSID Durch Funktionsaufruf: raise (SIGTERM); Durch interne Ereignis (Eintreffen einer Nachricht,... ) SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 48

49 Zusammenfassung CPU, Speicher, Peripherie als wesentliche Elemente einer Rechnerarchitektur Von-Neumann-Architektur als typisches, verbreitetes, aber nicht einzig mögliches Beispiel Ablaufmodell: Sequentielle Ausführung von Befehlen Aufweichung: Unterbrechungen, möglicherweise geschachtelt Einige Mechanismen zur Leistungssteigerung nötig Aber problematisch in unterschiedlichen Konstellationen Beispiel: Cache in Multiprozessorsystemen SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 49

50 Zusammenfassung Komplexitätsbehandlungsansätze Modularität Zerlegung in Prozessor, Speicher Peripherie, gegeneinander austauschbar Abstraktion Anbindung von Peripherie mit +/- einheitlicher Schnittstelle Idee der Unterbrechung auf unterschiedlichen Ebenen wiederverwendet Schichten Hierarchien Speicher: Arbeitsspeicher + Cache CPU: Multi-core CPUs (?) Namen Speicherstellen; Name kommt in Arbeitsspeicher und Cache vor; Name erlaubt Indirektion auf Cache/Arbeitsspeicher Tradeoffs DMA vs. Polling Verhalten Cache: SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 50

51 Zusammenfassung Assembler-Anweisung Anweisung Parameter 1 Parameter 2 Kommentar SET Ri Wert Ri := Wert ADD Ri Rj Ri := Ri + Rj JMP Wert IC := Wert JMP Ri Wert Falls Ri == 0, IC := Wert LOAD ADRESSE Ri Ri := Inhalt von Adresse LOAD Rj Ri Ri : = Inhalt von Adresse, die in Rj steht STORE Ri ADRESSE Inhalt von Adresse := Ri STORE Ri Rj Inhalt von Adresse, die in Rj steht := Ri SS 11 - v 3.1 KMS - Kap. 1: Technische Grundlagen 51

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

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

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

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

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

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

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

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

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

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

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

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

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

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

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

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

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

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

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

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

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

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

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Mutterplatine, Hauptplatine, Systemplatine, Systemboard

Mutterplatine, Hauptplatine, Systemplatine, Systemboard Motherboard Motherboard: Synonyme Motherboard: Definition Was ist untergebracht: Mutterplatine, Hauptplatine, Systemplatine, Systemboard Kernstück eines Computers, worauf alle internen Hardwarekomponenten

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

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

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

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF ITS Teil 2: Rechnerarchitektur 1. Grundschaltungen der Digitaltechnik a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF b. Zähler (Bsp. 4-Bit Zähler) - Eingang count wird zum Aktivieren

Mehr

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor. Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,

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

1 Aufgaben zu Wie funktioniert ein Computer?

1 Aufgaben zu Wie funktioniert ein Computer? 71 1 Aufgaben zu Wie funktioniert ein Computer? Netzteil a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 3.3 V, 5 V, 12 V, -5 V, -12 V. b) Warum können PC-Netzteile hohe Leistungen liefern,

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

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

Ein kleines Computer-Lexikon

Ein kleines Computer-Lexikon Stefan Edelmann 10b NIS-Klasse Ein kleines Computer-Lexikon Mainboard Die Hauptplatine! Sie wird auch Motherboard genannt. An ihr wird das gesamte Computerzubehör angeschlossen: z.b. Grafikkarte Soundkarte

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

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

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

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

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

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

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung Seite 1 von 9 Pinbelegung der Steckerleisten im Übungsgerät Seite 2 von 9 Inbetriebnahme: Schalter S1, S2, und S3 in Stellung 1 (oben) schalten. Spannung 5 V anlegen. ACHTUNG auf Polarität achten. Taste

Mehr

Betriebssysteme Teil 6: Hardware-Schicht II

Betriebssysteme Teil 6: Hardware-Schicht II Betriebssysteme Teil 6: Hardware-Schicht II 13.11.15 1 Literatur [6-1] Engelmann, Lutz (Hrsg.): Abitur Informatik Basiswissen Schule. Duden-Verlag, 2003, S.43-53, 214-224, 239-242, S. 267-299,304-313 [6-2]

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

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

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

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen Vorlesungsziele Mit gängigen Begriffen etwas anfangen können In der Lage sein, die Architektur von Mikroprozessoren zu verstehen Die Grundkomponenten eines Mikroprozessor - Systems und ihr Zusammenwirken

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

Atmel AVR für Dummies

Atmel AVR für Dummies Atmel AVR für Dummies fd0@koeln.ccc.de 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher

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

Technische Informatik 2 Software

Technische Informatik 2 Software Technische Informatik 2 Software Prof. Dr. Miroslaw Malek Sommersemester 2005 www.informatik.hu-berlin.de/rok/ca Thema heute Evolution der Software Schichten Lader (Manuell, Bootstrap, Programm im ROM)

Mehr

Protected User-Level DMA in SCI Shared Memory Umgebungen

Protected User-Level DMA in SCI Shared Memory Umgebungen Protected User-Level DMA in SCI Shared Memory Umgebungen Mario Trams University of Technology Chemnitz, Chair of Computer Architecture 6. Halle Chemnitz Seminar zu Parallelverarbeitung und Programmiersprachen

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

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

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

Teil I: Wat isse ne Mikrokontroller?

Teil I: Wat isse ne Mikrokontroller? Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil I: Wat isse ne Mikrokontroller? Wat

Mehr

Betriebssystembau. 7. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

Betriebssystembau. 7. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund Betriebssystembau 7. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Agenda Coroutinen

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Tutorial. Microcontroller. Grundlagen µc. Kapitel 1

Tutorial. Microcontroller. Grundlagen µc. Kapitel 1 Microcontroller Kapitel 1 Grundlagen µc µc Inhaltsverzeichnis 1 - Vorwort Seite 2 2 - Prinzipieller Programmablauf Seite 4 3 - ISR Interrupt Service Routine Seite 5 4 - Compiler Seite 7 5 - ATMega8 Seite

Mehr

1 Einleitung zum RISC Prozessor

1 Einleitung zum RISC Prozessor 1 Einleitung zum RISC Prozessor Wesentliche Entwicklungsschritte der Computer-Architekturen [2, 3]: Familienkonzept von IBM mit System/360 (1964) und DEC mit PDP-8 (1965) eingeführt: Gleiche Hardware-Architekturen

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

Lehrveranstaltung Speichersysteme Sommersemester 2009

Lehrveranstaltung Speichersysteme Sommersemester 2009 Lehrveranstaltung Speichersysteme Sommersemester 2009 Kapitel 9: Verbindungstechnologien I André Brinkmann Gliederung Anbindung von I/O an Prozessoren Memory mapped I/O vs. Ported IO Programmed I/O vs.

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

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

Inhalte der heutigen Vorlesung

Inhalte der heutigen Vorlesung Inhalte der heutigen Vorlesung Wiederholung und Fortsetzung Hardware Von-Neumann-Architektur (Rechnerarchitektur) Speicher Software Wie groß ist ein Gigabyte? http://www.spiegel.de/netzwelt/tech/0,1518,606308,00.html

Mehr

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem) (Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren

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

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

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

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs Programmieren 9.1.11 Microcontroller Kurs/Johannes Fuchs 1 General Purpose Input Output (GPIO) Jeder der Pins der vier I/O Ports kann als Eingabe- oder Ausgabe-leitung benutzt werden.

Mehr

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

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

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

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

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 2 Der Mikrocontroller Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 1 beschrieben. Auf dem Chip sind die, ein ROM- für das Programm, ein RAM- für die variablen

Mehr

Kapitel II. Computersysteme (1) Einführung: Hardware und Software. Bauteile eines einfachen PCs

Kapitel II. Computersysteme (1) Einführung: Hardware und Software. Bauteile eines einfachen PCs Kapitel II Einführung: Hardware und Software 1 Computersysteme (1) Computer haben viele verschiedene Devices: Input/Output Devices Speicher Prozessor(en) Monitor 2 Bauteile eines einfachen PCs Bus Computersysteme

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

Mehr

bereit (oder Zombie genannt). Normales Ende (exit) und synchrone und asynchrone Signal-Ereignisse, z.b.

bereit (oder Zombie genannt). Normales Ende (exit) und synchrone und asynchrone Signal-Ereignisse, z.b. Prof. Dr. Michael Jäger FB MNI Lösungsvorschlag zur Klausur Betriebssysteme vom 1.10.2014 Blau gekennzeichnete Textstellen sind beispielhafte Lösungen bzw. Antworten zu den Aufgaben. Rot gekennzeichnete

Mehr

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS)

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS) 1.2 Multitasking Damit ein Computer mehrere Aufgaben gleichzeitig erledigen kann, die jede für sich oder die auch gemeinsam arbeiten, z.b. Daten lesen Berechnungen ausführen Netzwerkkontakt abarbeiten

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

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

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 3 Betriebssystem Überwacher

Mehr

Technische Grundlagen der Informatik

Technische Grundlagen der Informatik hier: Allgemeine Aufgaben von Computern bei der Datenverarbeitung Grundlegender Aufbau von Computern: Architekturen, Funktion und Kopplung der Komponenten Vom Algorithmus zum Programm Zusammenspiel von

Mehr

Facharbeit Informatik. Thema:

Facharbeit Informatik. Thema: Facharbeit Informatik Thema: Rechneraufbau Mit Locad 2002 1 Inhaltsangabe Inhalt: Seite: 1. Einleitung 3 2. Inbetriebnahme der Schaltung 3 3. Eingabe 4 4. CPU 5 5. RAM/HDD 8 6. Ausgabe 10 7. Auf einer

Mehr

Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Center for Information Services and High Performance Computing (ZIH) Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Hochgeschwindigkeitskommunikationen 13. Juli 2012 Andy

Mehr

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007 User Mode Linux (UML) Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren Friedrich-Alexander-Universität Erlangen-Nürnberg Bruno Kleinert fuddl@gmx.de 20. Juni 2007 Überblick

Mehr

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort Was machen wir heute? Betriebssysteme Tutorium 12 1 Organisatorisches Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität

Mehr

IT-Infrastruktur, WS 2014/15, Hans-Georg Eßer

IT-Infrastruktur, WS 2014/15, Hans-Georg Eßer ITIS-D'' IT-Infrastruktur WS 2014/15 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz D'': Rechnerstrukturen, Teil 3 v1.0, 2014/11/27 Folie D''-1 Dieser Foliensatz Vorlesungsübersicht Seminar Wiss.

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

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Enterprise Computing

Enterprise Computing Enterprise Computing Prof. Dr.-Ing. Wilhelm G. Spruth WS 2011/12 Teil 2 Verarbeitungsablauf Systemarchitektur Multiprogrammierung Virtueller Speicher Überwacher (Supervisor) Cache CPU s Hauptspeicher I/O

Mehr

Ergänzungen zum Manual OS V 2.05/2.06

Ergänzungen zum Manual OS V 2.05/2.06 Ergänzungen zum Manual OS V 2.05/2.06 SYSTEMRESOURCEN - PROGRAMM DOWNLOAD - Ab der Betriebssystemversion 2.05 haben die C-Control Units M-2.0 und Station 2.0 die Möglichkeit das Anwenderprogramm von einem

Mehr

7 Dateien und Datenströme (Streams)

7 Dateien und Datenströme (Streams) 7 Dateien und Datenströme (Streams) Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html

Mehr

Lehreinheit H1 Hardware Grundlagen

Lehreinheit H1 Hardware Grundlagen Hardware Lehreinheit H1 Hardware Grundlagen Zeitrahmen 90 Minuten Zielgruppe Volksschule Inhaltliche Voraussetzung Keine Lehrziel Funktionsweise der Hardware verstehen, den Computer von Innen kennen lernen

Mehr

Beschreibung: SPEICHER: --------- GRUNDPLATINE AC 1: ------------------

Beschreibung: SPEICHER: --------- GRUNDPLATINE AC 1: ------------------ Beschreibung: M O D U L 1 SPEICHERVERWALTUNG AC 1 ------------------------------------------------------------- Weiterhin Anleitung: Programmpaket X V.2 -------------------------------------------------------------

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