Aufgabe 1 Entwicklung einer Virtuellen Maschine

Größe: px
Ab Seite anzeigen:

Download "Aufgabe 1 Entwicklung einer Virtuellen Maschine"

Transkript

1 Aufgabe 1 Entwicklung einer Virtuellen Maschine Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) 1 16

2 Einführung Entwickelt werden soll ein virtueller (vereinfachter) PC. R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) Programmieraufgabe 2 16

3 PC Aufbau CPU host bus Memory Memory North Bridge memory bus PCI bus Keyboard Mouse IDE #0 IDE #1 USB #0 USB #1 DMA PIT South Bridge PIC1 PIC0 PCI #0 PCI #1 ISA bus BIOS ROM SUPER I/O SER1 PAR SER0 FD ISA #0 ISA #1 R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) PC Aufbau 3 16

4 PC Aufbau (vereinfacht) CPU host bus Memory North Bridge memory bus IDE #0 IDE0 South Bridge PIC0 ISA bus BIOS ROM SUPER I/O SER0 R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) PC Aufbau 4 16

5 PC Aufbau (vereinfacht) CPU PIC host bus memory bios_rom disk_ctrl serial_ctrl Disk Terminal R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) PC Aufbau 5 16

6 PC Aufbau (vereinfacht) CPU IRQ host bus memory bios_rom disk_ctrl serial_ctrl Disk Terminal R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) PC Aufbau 6 16

7 PC Aufbau (vereinfacht) CPU host bus memory bios_rom disk_ctrl serial_ctrl Disk Terminal R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) PC Aufbau 7 16

8 Übersicht stark vereinfachter PC-Aufbau Komponenten direkt an host_bus angebunden host_bus begrenzt auf 8 Bit Datenleitungen host_bus unterscheidet nicht zwischen I/O- und Speicherzugriffen R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) Komponentenübersicht 8 16

9 CPU Zunächst: Befehlssatz: Untermenge der 80x86-Architektur beschränkt auf Protected Mode/32-Bit Mode keine Exceptions keine Interrupts Reset: EIP ist Basisadresse des ROMS (0xE000) keine FPU, kein MMX oder andere Erweiterungen Dokumentation: Intel 64 and IA-32 Architectures Software Developer s Manual Volume 1: Basic Architecture Volume 2A, 2B, 2C: Instruction Set Architecture Volume 3A, 3B, 3C: System Programming Guide architectures-software-developer-manuals.html R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) Komponentenübersicht 9 16

10 CPU Exkurs: Assembler-Programmierung R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) Komponentenübersicht 10 16

11 Festplattencontroller / Festplattensimulator Basisadresse: 0xD000 ausgewertete Adressleitungen: 10 Adresse 0x000-0x003: Register für Blocknummer (big-endian), rw Adresse 0x007: Fehlerregister, rw Adresse 0x00b: Block Lesen (0), Block Schreiben (1), w Adresse 0x200-0x3FF: Block Puffer, rw andere: Fest verdrahtet mit Masse, Schreiben wird ignoriert. R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) Komponentenübersicht 11 16

12 Festplattencontroller / Festplattensimulator Beispiel # %eax: Block-Nummer ( ) # %edi: Buffer-Adresse read_block: movb $0, 0xd000+0 movb $0, 0xd000+1 movb %ah, 0xd000+2 movb %al, 0xd000+3 movb $0, 0xd000+0xb movl $0, %eax loop: movb 0xd000+0x200(%eax), %dl movb %dl, (%edi, %eax, 1) addl $1, %eax cmpl $512, %eax jne loop ret # Blocknummer setzen # Lesen starten # Bytes kopieren # fertig R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) Komponentenübersicht 12 16

13 Serielle Schnittstelle / Debug-Schnittstelle minimale Variante Basisadresse: 0xD800 ausgewertete Adressleitungen: 4 Adresse 0x0: Schreiben gibt das Datum auf stdout aus, w andere: reserviert R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) Komponentenübersicht 13 16

14 Serielle Schnittstelle / Debug-Schnittstelle Beispiel # %eax: Pointer auf Zeichenkette print_string: movb (%eax), %dl # Hole Zeichen cmpb $ \0, %dl # Ende, wenn Zeichen = \0 je done movb %dl, 0xd800+0 # Gib Zeichen aus addl $1, %eax # naechstes Zeichen jmp print_string done: ret # fertig R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) Komponentenübersicht 14 16

15 Speicher 32 KiB Memory: fest verdrahtet ab Adresse 0x0000 Größe: 32 KiB Tipp: sinnvoll initialisieren 4 KiB Bios ROM: fest verdrahtet ab Adresse 0xE000 Größe: 4 KiB soll Inhalt aus.rom-datei lesen können wenn.rom-datei zu klein, Rest sinnvoll initialisieren R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) Komponentenübersicht 15 16

16 Gestellte Dateien Makefile: kleines Makefile zum Bauen setup.*: Erzeugt/beendet die VM bus/sig_host_bus.*: Implementierung des Host-Busses comp/serial-ctrl.*: Minmal-Implementierung der seriellen (Debug-)Schnittstelle comp/roms/*.s: Assembler-Quellen für Test-Programme: bios_print_simple.s: Einfachste Hallo Welt -Variante bios_print.s: nochmal Hallo Welt als Schleife bios_boot.s: minimaler Boot-Loader Sämtliche Dateien dürfen verändert werden! R. Müller Entwicklung einer Virtuellen Maschine (WS14/15) Gestellte Dateien 16 16

Assembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg

Assembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg Assembler Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2017/2018 V. Sieh Assembler (WS16/17) 1 15 Einleitung

Mehr

Einführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009

Einführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009 Einführung Übungen zur Vorlesung Virtuelle Maschinen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SoSe 2009 Übungsaufgaben 1 Entwickeln

Mehr

Aufgabe 2 - Erweiterung um PIC und Interrupts

Aufgabe 2 - Erweiterung um PIC und Interrupts Aufgabe 2 - Erweiterung um PIC und Interrupts Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Erweiterung

Mehr

Hinweise 80x86-Architektur

Hinweise 80x86-Architektur Hinweise 80x86-Architektur Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Hinweise 80x86-Architektur

Mehr

Aufgabe 2 - Erweiterung um PIC und Interrupts

Aufgabe 2 - Erweiterung um PIC und Interrupts Aufgabe 2 - Erweiterung um PIC und Interrupts Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS2010/2011 Aufgabe 2 - Erweiterung um

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler

Mehr

Assembler - Einleitung

Assembler - Einleitung Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache

Mehr

Architektur/Chip/Komponente

Architektur/Chip/Komponente Architektur/Chip/Komponente Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 V. Sieh Architektur/Chip/Komponente

Mehr

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Hardware PCI-Bus Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Hardware PCI-Bus 1/23 2008-08-06 Übersicht Inhalt:

Mehr

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Hardware PCI-Bus Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2007/2008 Hardware PCI-Bus 1/23 2007-10-26 Übersicht Inhalt:

Mehr

Assembler - Adressierungsarten

Assembler - Adressierungsarten Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01

Mehr

Betriebssysteme Vorstellung

Betriebssysteme Vorstellung Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen

Mehr

"Organisation und Technologie von Rechensystemen 4"

Organisation und Technologie von Rechensystemen 4 Klausur OTRS-4, 29.09.2004 Seite 1 (12) INSTITUT FÜR INFORMATIK Lehrstuhl für Rechnerarchitektur (Informatik 3) Universität Erlangen-Nürnberg Martensstr. 3, 91058 Erlangen 29.09.2004 Klausur zu "Organisation

Mehr

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Busse Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Busse 1/40 2008-10-13 Übersicht 1 Einleitung 2 Bus-Konfiguration

Mehr

Busse. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg

Busse. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg Einleitung Bus-Konfiguration Bus-Arbitrierung Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Einleitung Bus-Konfiguration Bus-Arbitrierung

Mehr

Hinweise C-Programmierung

Hinweise C-Programmierung Hinweise C-Programmierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2016/2017 V. Sieh Hinweise C-Programmierung

Mehr

Legen Sie den Ausweis (mit Lichtbild!) griffbereit auf den Platz! Dieses Aufgabenheft umfasst 24 Seiten. Überprüfen Sie die Vollständigkeit!

Legen Sie den Ausweis (mit Lichtbild!) griffbereit auf den Platz! Dieses Aufgabenheft umfasst 24 Seiten. Überprüfen Sie die Vollständigkeit! Department Informatik Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 25.09.2013 Klausur zu Grundlagen der Rechnerarchitektur

Mehr

Vorlesung 3: Verschiedenes

Vorlesung 3: Verschiedenes Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 3: Verschiedenes Peter B. Ladkin Vorlesung 3 - Inhalt Busarchitektur Virtuelle Maschine 2 Busarchitektur - das

Mehr

Übung zu Betriebssysteme

Übung zu Betriebssysteme Übung zu Betriebssysteme Interruptbehandlung 08. & 10. November 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte

Mehr

Emulation. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg

Emulation. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg Emulation Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Emulation (WS15/16) 1 22 Definition:

Mehr

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13. DOSEMU Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Matthias Felix filo@icip.de FAU 13. Juni 2007 Matthias Felix (FAU) DOSEMU 13. Juni 2007 1 / 22 Inhalt 1 Einführung

Mehr

Assembler Integer-Arithmetik

Assembler Integer-Arithmetik Assembler Integer-Arithmetik Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Integer-Arithmetik 1/23 2008-04-01 Arithmetik

Mehr

Übung zu Betriebssystembau (Ü BS)

Übung zu Betriebssystembau (Ü BS) Übung zu Betriebssystembau (Ü BS) Interruptbehandlung in OOStuBS Wanja Hofer Lehrstuhl für Informatik IV WS 07/08 1 Agenda: IRQ-Behandlung in OOStuBS Interrupts und Traps beim x86 Die Interrupt-Deskriptor-Tabelle

Mehr

Betriebssysteme (BS) VL 11 PC Bussysteme. Daniel Lohmann.

Betriebssysteme (BS) VL 11 PC Bussysteme. Daniel Lohmann. Betriebssysteme (BS) VL 11 PC Bussysteme Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen Nürnberg WS 13 15. Januar 2014 http://www4.cs.fau.de/lehre/ws13/v_bs

Mehr

Hardware und Gerätetreiber

Hardware und Gerätetreiber Hardware und Gerätetreiber Betriebssysteme Hermann Härtig TU Dresden Übersicht Übersicht Kommunikation zwischen Hardware und CPU Interrupts I/O-Ports I/O-Speicher Busse Verwaltung von Geräten Dynamisches

Mehr

Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11.

Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11. Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11. {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} Stellen wir uns nun vor, die 12 Zahlen sind nicht in der richtigen Reihenfolge,

Mehr

Bootvorgang des DSM-Systems Systems Plurix

Bootvorgang des DSM-Systems Systems Plurix Bootvorgang des DSM-Systems Systems Plurix Stefan Frenz Vortrag im Rahmen der Abteilungsbesprechung Voraussetzungen: CPU CPU-Modi Voraussetzungen: BIOS Rechner-Initialisierung durch das BIOS Interrupt

Mehr

Verschiedenes. Peter B. Ladkin

Verschiedenes. Peter B. Ladkin Verschiedenes Peter B. Ladkin ladkin@rvs.uni-bielefeld.de Busarchitektur Virtuelle Maschine Alles sitzt auf dem gleichen Kabel Das Gerät wird nur durch die Adresse unterschieden Speicher Cache Festplatte

Mehr

Datenübertragung per Direct Memory Access (DMA)

Datenübertragung per Direct Memory Access (DMA) Datenübertragung per Direct Memory Access (DMA) Durch einen direkten Speicherzugriff können die Daten ohne Umweg über den Prozessor in den Speicher geschrieben werden. So lässt sich die Ausführungsgeschwindigkeit

Mehr

Übung zu Betriebssysteme

Übung zu Betriebssysteme Übung zu Betriebssysteme Threadumschaltung 6. & 8. Dezember 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte Systeme

Mehr

Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax. Operanden, Statusflags und Registersatz

Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax. Operanden, Statusflags und Registersatz Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax Autoren: Wolfgang Heenes, Patrik Schmittat Version: 0.4 Datum: 26. März 2011 Operanden, Statusflags und Registersatz Die vier Operanden sind: Direkter

Mehr

Betriebssysteme (BS) VL 11 PC Bussysteme. Daniel Lohmann. Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme

Betriebssysteme (BS) VL 11 PC Bussysteme. Daniel Lohmann. Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Betriebssysteme (BS) VL 11 PC Bussysteme Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen Nürnberg WS 10 19. Januar 2011 Überblick:

Mehr

Betriebssysteme (BS) VL 11 PC Bussysteme. Daniel Lohmann. Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme

Betriebssysteme (BS) VL 11 PC Bussysteme. Daniel Lohmann. Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Betriebssysteme (BS) VL 11 PC Bussysteme Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen Nürnberg WS 11 18. Januar 2011 Überblick:

Mehr

Fachbereich Medienproduktion

Fachbereich Medienproduktion Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik I Datenübertragung Parallel z.b. PCI D0... D8 8 parallele Datenleitungen n parallele Steuerleitungen

Mehr

Komponenten/Busse. Dr.-Ing. Volkmar Sieh. Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009

Komponenten/Busse. Dr.-Ing. Volkmar Sieh. Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009 Komponenten/Busse Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009 Komponenten/Busse 1/34 2009-05-05 Übersicht 1 Praxis 2 Motivation

Mehr

Übungen zu Grundlagen der systemnahen Programmierung in C (GSPiC) im Sommersemester 2018

Übungen zu Grundlagen der systemnahen Programmierung in C (GSPiC) im Sommersemester 2018 Übungen zu Grundlagen der systemnahen Programmierung in C (GSPiC) im Sommersemester 2018 2018-05-29 Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl

Mehr

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 6 und Präsenzaufgaben Übung 7

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 6 und Präsenzaufgaben Übung 7 Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 6 und Präsenzaufgaben Übung 7 Dominik Schoenwetter Erlangen, 16. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)

Mehr

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

Hardware Logik-Analysatoren

Hardware Logik-Analysatoren Hardware Logik-Analysatoren Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Hardware Logik-Analysatoren 1/24 2010-10-12

Mehr

i386 Interrupt-Deskriptortabelle (IDT)

i386 Interrupt-Deskriptortabelle (IDT) Agenda: IRQ-Behandlung in OO-Stubs Interrupts und Traps bei x86 Die Interrupt-Deskriptor-Tabelle (IDT) Aufbau der IDT Traps und Hardware IRQs Der Programmierbare Interruptcontroller PIC 8295A Aufbau Verwendung

Mehr

Komponenten/Busse. Dr.-Ing. Volkmar Sieh

Komponenten/Busse. Dr.-Ing. Volkmar Sieh Komponenten/Busse Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 V. Sieh Komponenten/Busse (WS14/15)

Mehr

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

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

Mehr

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78 32 Bit Konstanten und Adressierung Grundlagen der Rechnerarchitektur Assembler 78 Immediate kann nur 16 Bit lang sein Erinnerung: Laden einer Konstante in ein Register addi $t0, $zero, 200 Als Maschinen

Mehr

Rechner- organisa-on 2 TOY. Karl C. Posch.

Rechner- organisa-on 2 TOY. Karl C. Posch. Rechner- Technische Universität Graz Ins-tut für Angewandte Informa-onsverarbeitung und Kommunika-onstechnologie organisa-on 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2012. Ausblick. Erste HälEe

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

Mehr

Rechnerorganisation. Überblick über den Teil 13

Rechnerorganisation. Überblick über den Teil 13 Rechnerorganisation Teil 3 9. Juni 2 KC Posch Überblick über den Teil 3 Arbiter: Wie können sich 2 aktive Partner vertragen? Direkter Speicherzugriff: Ein Ko Prozessor zum Daten Schaufeln Die Verbesserung

Mehr

Einführung in die Systemprogrammierung

Einführung in die Systemprogrammierung Einführung in die Systemprogrammierung Die Programmiersprache C Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 14. Mai 2015 Hallo, Welt! main() { printf("hallo, Welt!\n"); } main:

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) PC-Bussysteme und deren Programmierung http://ess.cs.tu-dortmund.de/de/teaching/ws2012/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete

Mehr

Komponenten/Busse. Dr.-Ing. Volkmar Sieh. Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011

Komponenten/Busse. Dr.-Ing. Volkmar Sieh. Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Komponenten/Busse Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Komponenten/Busse 1/29 2010-09-28 Komponenten/Busse Praxis

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) PC-Bussysteme und deren Programmierung Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os

Mehr

Ressourcenübersicht Rack PC 840, Box PC 840

Ressourcenübersicht Rack PC 840, Box PC 840 Ressourcenübersicht Rack PC 840, Box PC 840 RESOURCE_Rack840 Seite 1 von 5 Belegung der I/O-Adressen: IO-Adresse Größe Bedeutung (hex) von bis byte Grundfunktion mögliche alternative Funktion 0000 000F

Mehr

Systemprogrammierung II

Systemprogrammierung II Systemprogrammierung II Blätter zur Vorlesung Wintersemester 2005/06 Prof. Dr. Peter Schulthess Universität Ulm Verteilte Systeme Fakultät für Informatik 1. Einleitung 1.1. Organisation Termin ab 17.10.05,

Mehr

Arithmetische und Logische Einheit (ALU)

Arithmetische und Logische Einheit (ALU) Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen

Mehr

Einschub: HW-Zugriff aus dem Userspace

Einschub: HW-Zugriff aus dem Userspace Einschub: HW-Zugriff aus dem Userspace Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Einschub: HW-Zugriff aus dem

Mehr

Mikrorechner-Technik

Mikrorechner-Technik Springer-Lehrbuch Mikrorechner-Technik Band II Busse, Speicher, Peripherie und Mikrocontroller Bearbeitet von Helmut Bähring Neuausgabe 2002. Taschenbuch. xxvii, 425 S. Paperback ISBN 978 3 540 43693 5

Mehr

Hardware-basierte Virtualisierung

Hardware-basierte Virtualisierung Hardware-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 V. Sieh Hardware-basierte

Mehr

Assembler Kontrollstrukturen

Assembler Kontrollstrukturen Assembler Kontrollstrukturen Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Kontrollstrukturen 1/21 2008-04-03 Kontrollstrukturen

Mehr

Maschinensprache. 2.5 x86 Speicherzugriff. Universität Mannheim

Maschinensprache. 2.5 x86 Speicherzugriff. Universität Mannheim Maschinensprache 2.5 x86 Speicherzugriff Hauptspeicher Speicheraufbau Linearer, zusammenhängender Adressraum Kleinste adressierbare Einheit: 1 Byte Unterteilung in physikalischen, linearen und virtuellen

Mehr

Assembler - Variablen

Assembler - Variablen Assembler - Variablen Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Variablen 1/30 2008-04-21 Variablen Variablen

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Framework für Assignment A2 1 Übersicht Framework für Assignment A2 WH: Aufgabenstellung Klassen und Methoden Getting started Erste Instruktion aus Testdaten dekodieren 2 Aufgabenstellung Instruction-Set

Mehr

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

Betriebssystembau. 3. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund Betriebssystembau 3. Ü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: IRQ-Behandlung

Mehr

Betriebssysteme (BS) PC-Bussysteme. Überblick: Einordnung dieser VL. Agenda. Agenda. Rückblick. Rückblick. PCI Bus PCI aus Sicht des Betriebssystems

Betriebssysteme (BS) PC-Bussysteme. Überblick: Einordnung dieser VL. Agenda. Agenda. Rückblick. Rückblick. PCI Bus PCI aus Sicht des Betriebssystems Betriebssysteme (BS) Überblick: Einordnung dieser VL Anwendungen PC-Bussysteme Netzwerk- Stacks Gerätezugriff Adressräume, Dateien Scheduling, Fäden Dispatching, Koroutinen IPC Unterbrechungsbehandlung

Mehr

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10 Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10 Dominik Schoenwetter Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität

Mehr

Intel x86 Bootstrapping

Intel x86 Bootstrapping Intel x86 Bootstrapping Meine CPU, mein Code! Andreas Galauner SigInt 2010 Democode Es gibt Democode: http://github.com/g33katwork/ SigInt10OSWorkshop git clone git://github.com/g33katwork/ SigInt10OSWorkshop.git

Mehr

Multiprozessoren. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Multiprozessoren. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Multiprozessoren Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Multiprozessoren 1/29 2011-06-16 Multiprozessoren Leistungsfähigkeit

Mehr

Name : Klasse : Punkte : Note :

Name : Klasse : Punkte : Note : Name : Klasse : Punkte : Note : Zeit: 08.00 bis 09.30 Es dürfen alle Unterlagen verwendet werden. Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf

Mehr

CPU II. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

CPU II. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU II Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU II 1/77 2012-02-29 CPU Bisher: Pipeline mit 5 sequentiellen Pipeline-Stufen

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

Rechnerorganisation. 1. Juni 201 KC Posch

Rechnerorganisation. 1. Juni 201 KC Posch .6.2 Rechnerorganisation. Juni 2 KC Posch .6.2 2 .6.2 Front Side Bus Accelerated Graphics Port 28 MHz Front Side Bus North Bridge RAM idge South Bri IDE USB PCI Bus 3 .6.2 Front Side Bus Front Side Bus

Mehr

Grundlagen der Rechnerarchitektur. Einführung

Grundlagen der Rechnerarchitektur. Einführung 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

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Lock-free Datenstrukturen

Lock-free Datenstrukturen Lock-free Datenstrukturen Eine Einführung in die lock-free Programmierung Burak Ok Friedrich-Alexander Universität Erlangen-Nürnberg (FAU) 24. Januar 2017 burak.ok@fau.de Lock-free Datenstrukturen (24.

Mehr

Hardware-basierte Virtualisierung

Hardware-basierte Virtualisierung Hardware-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Hardware-basierte Virtualisierung 1/22

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik, Register und Speicherzugriff Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik und Zuweisungen Einfache Arithmetik mit Zuweisung C Programm: a = b + c; d = a e; MIPS Instruktionen: Komplexere

Mehr

VISY-Command. Technische Dokumentation. mit Modbus-Protokoll. Ausgabe: Version: 1 Art.-Nr.:

VISY-Command. Technische Dokumentation. mit Modbus-Protokoll. Ausgabe: Version: 1 Art.-Nr.: Technische Dokumentation mit Modbus-Protokoll Ausgabe: 2017-04 Version: 1 Art.-Nr.: 350252 FAFNIR GmbH Schnackenburgallee 149 c 22525 Hamburg Tel.: +49 / 40 / 39 82 07-0 Fax: +49 / 40 / 390 63 39 Copyright:

Mehr

EMC: Parallel-I/O Folie: 2 Prof. Dr.-Ing. Alfred Rozek TFH Berlin

EMC: Parallel-I/O Folie: 2 Prof. Dr.-Ing. Alfred Rozek TFH Berlin PIO-Karte für den PC Aufbau einer einfachen PC-Interface-Karte mit dem Portbaustein 8255 EMC: Parallel-I/O Folie: 1 Prof. Dr.-Ing. Alfred Rozek TFH Berlin Centronics-Schnittstelle 1 Dieser Baustein kontrolliert

Mehr

Einführung Leistungsmerkmale Aufbau am Beispiel FAT16. Das Filesystem FAT. Peter Schmid. Hochschule für Technik Zürich Studiengang Informatik

Einführung Leistungsmerkmale Aufbau am Beispiel FAT16. Das Filesystem FAT. Peter Schmid. Hochschule für Technik Zürich Studiengang Informatik Hochschule für Technik Zürich Studiengang Informatik 17.4.2009 Outline 1 Wieso FAT? Geschichtlicher Rückblick 2 FAT12 FAT16 FAT32 3 Partitionen Bereiche Wieso FAT? Wieso FAT? Geschichtlicher Rückblick

Mehr

Vorlesung "Struktur von Mikrorechnern" (SMR)

Vorlesung Struktur von Mikrorechnern (SMR) Unterscheidung nach Instruktionsstruktur Kap. 6 / 34 Unterscheidung nach Befehlstypen: Übersicht Register-Register MOV r r, r 2 A Speicher/Peripherie Register Transferbefehle LDA addr STA addr Konstante

Mehr

Das Assembler-Buch. Trutz Eyke Podschun. Grundlagen, Einführung und Hochsprachenoptimierung

Das Assembler-Buch. Trutz Eyke Podschun. Grundlagen, Einführung und Hochsprachenoptimierung Trutz Eyke Podschun Das Assembler-Buch Grundlagen, Einführung und Hochsprachenoptimierung ^ ADDISON-WESLEY An imprint of Pearson Education Deutschland GmbH München Boston San Francisco Harlow, England

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 7. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

Mehr

Hardware Praktikum 2008

Hardware Praktikum 2008 HaPra 2008 - Versuchsreihe 5 - ALU Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Agenda Die HaPra-CPU Eine kleine Übersicht VHDL Projekt-Organisation Entwurf

Mehr

Teil 3: Parallel-I/O. Studiengang Technische Informatik (TI) Prof. Dr.-Ing. Alfred Rożek. nur für Lehrzwecke Vervielfältigung nicht gestattet

Teil 3: Parallel-I/O. Studiengang Technische Informatik (TI) Prof. Dr.-Ing. Alfred Rożek. nur für Lehrzwecke Vervielfältigung nicht gestattet Teil 3: Parallel-I/O Studiengang Technische Informatik (TI) Prof Dr-Ing Alfred Rożek nur für Lehrzwecke Vervielfältigung nicht gestattet EMC45: Teil3 2112003 Folie: 1 Prof Dr-Ing Alfred Rozek Berlin Beispiel:

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

CPU HS-7165 BIOS Versionen V15.x

CPU HS-7165 BIOS Versionen V15.x CPU HS-7165 BIOS Versionen V15.x 2 BIOS V 15.x Version V 1.0 Stand 17.07.2013 r Pa Bearbeitung/Illustrationen Pa Warenzeichen Alle verwendeten Produktnamen und Warenzeichen sind Eigentum ihrer jeweiligen

Mehr

Betriebssysteme (BS) PC Bussysteme. Überblick. und deren Programmierung. PCI-basierte PC Systeme. alias Betriebssystembau (BSB)

Betriebssysteme (BS) PC Bussysteme. Überblick. und deren Programmierung. PCI-basierte PC Systeme. alias Betriebssystembau (BSB) Betriebssysteme (BS) alias Betriebssystembau (BSB) PC Bussysteme und deren Programmierung Überblick Rückblick Bussysteme im PC Bus aus Sicht des Betriebssystems Initialisierung, BIOS,... Erweiterungen

Mehr

Name : Klasse : Punkte : Note :

Name : Klasse : Punkte : Note : ESI Semesterendprüfung 15.6.2009 Name : Klasse : Punkte : Note : Zeit: 12.50 bis 13.35 Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf die Rückseite

Mehr

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse Kapitel 11 Rechnerarchitektur 11.1 Der von-neumann-rechner Wir haben uns bisher mehr auf die logischen Bausteine konzentriert. Wir geben jetzt ein Rechnermodell an, das der physikalischen Wirklichkeit

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

N Bit Binärzahlen. Stelle: Binär-Digit:

N Bit Binärzahlen. Stelle: Binär-Digit: N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr