Sie sind hier: Foswiki>F07_Studium Web>BaTIN2012_RHP (Revision 10)

Sequentielle Topic-Historie ansehen Ohne Formatierung ansehen (v) Druckversion dieses Topics (p) PDF

Modulhandbuch BaTIN2012_Rechneraufbau Hardwarenahe Programmierung


Verantwortlich: Prof. Dr. Thieling

Modul

Anerkennbare Lehrveranstaltung (LV)

Organisation

Bezeichnung
Lang BaTIN2012_Rechneraufbau Hardwarenahe Programmierung
MID BaTIN2012_RHP
MPID
Zuordnung
Studiengang BaTIN2012
Studienrichtung G
Wissensgebiete G_GWC
Einordnung ins Curriculum
Fachsemester 2
Pflicht G
Wahl
Version
erstellt 2011-10-14
VID 1
gültig ab WS 2012/13
gültig bis

Zeugnistext

de

en

Unterrichtssprache

Deutsch oder Englisch

Modulprüfung

Form der Modulprüfung
sK Regelfall (bei geringer Prüfungsanzahl: sMP)

Beiträge ECTS-CP aus Wissensgebieten
G_GWC 5
Summe 5

Aufwand [h]: 150


Prüfungselemente

Vorlesung / Übung

Form Kompetenznachweis
bÜA Präsenzübung und Selbstlernaufgaben

Beitrag zum Modulergebnis
bÜA unbenotet

Spezifische Lernziele

Kenntnisse
  • Grundlagen der C-Programmierung angeben, erklären, einsetzen (PFK.2, PFK.6, PFK.9). Diese sind ...
    • Konstanten, Variablen, Datentypen
    • Ausdrücke, Anweisungen, Kontrollstrukturen
    • Präprozessoranweisungen
    • Zeiger und Zeigerarithmetik
    • Strukturierte Datentypen (Felder, Strukturen)
    • Funktionen
    • Standardbibliotheken
    • Aufbau von Mehrdateienprogrammen mit Zugriff auf Bibliotheken
  • Prinzipien der hardwarenahe I/O-Programmierung in C analysieren, klassifizieren (PFK.1, PFK.2, PFK.4)
    • Aufbau digitaler I/O-Ports analysieren und verstehen
    • Erreichbarkeit von I/O-Ports klassifizieren
      • Memory-Mapped-I/O
      • seperater I/O-Adressbereich
    • Zugriff auf I/O-Ports mittels Zeiger verstehen und implementieren
    • Zugriff auf I/O-Ports mittels Treiberbibliotheken verstehen und erläutern
  • Prinzip der Automatenimplementierung unter C kennen und erläutern (PFK.2)
  • Aufbau und Funktionsweise eines Kleinrechnersystems mit verschiedenen I/O-Schnittstellen analysieren und beschreiben (PFK.1, PFK.4, PFK.10)
    • Analysieren der Gesamt-Architektur (Register, Rechenwerk, Steuerwerk, Speicher, Busstruktur, I/O-Schnittstellen) und beschreiben der Wechselwirkung der Komponenten
    • Funktionsweise, d.h. Ablauf einer Programmabarbeitung auf Basis von Registertransfers verstehen und erläutern
    • Elementare Grundlagen zur Programmierung des Kleinrechners in Assembler verstehn und beschreiben
    • Aufbau, Arbeitsweise der I/O-Schnittstellen verstehen und erläutern
      • digitale Ports (siehe oben)
      • Timer/Counter (inkl. Digital-Analog-Wandlung mittel Pulsweitenmodulation)
      • Analog-Digital-Wandler
      • serielle Schnittstelle
  • Prinzipien des Interrupts klassifizieren, erläutern, bewerten (PFK.1, PFK.4)
    • Interrupt-Quellen und -Arten klassifizieren
    • Prinzip der Interruptbearbeitung verstehen und erläutern
      • Interupt-Vektor-Tabelle
      • Interrupts-Service-Routine
      • zeitlicher Ablauf der Interruptsbearbeitung
    • Mechanismen zur Bearbeitung konkurrierender Interrupts verstehen, bewerten
    • Funktionsweise und Aufgabe des Interrupts bei den verschiedenen I/O-Schnittstellen kennen und erläutern
Fertigkeiten
  • Grundlagen der C-Programmierung programmiertechnisch anwenden (PFK.5, PFK.6)
  • Prinzipien der hardwarenahe I/O-Programmierung in C programmiertechnisch anwenden (PFK.5, PFK6)
    • Implementierung von Treiberbibliotheken in C
    • Implementierung bitbasierte Ein-Ausgabe und Auswertung von Daten mittels C
  • Elementare Grundlagen der Assembler-Programmierung in Form von Inline-Assembler in C-Programmen programmiertechnisch anwenden (PFK.5, PFK.6)
  • Detaillierten technischen Spezifikationen von I/O-Schnittstellen interpretieren, so dass zielgerichtete sinnvolle Konfigurationen erstellt werden können (PFK.1, PFK.4, PFK.10)
  • Erstellen von Treiberbibliotheken in C für verschiedene I/O-Schnittstellen mit Unterstützung ihrer Interruptfähigkeit (PFK.1, PFK.2, PFK.5, PFK.6)
  • Systemverhalten aus spezifizierenden Texten herleiten (PFK.3, PFK.4, PFK.1, PFK10, PFK.2)
    • technische Texte erfassen
    • implizite Angaben erkennen und verstehen
    • fehlende Angaben
      • erkennen
      • ableiten
      • erfragen
  • Erarbeitung von Problemlösungen aus dem Bereich Messen-Steuern-Regeln, die sich mit C-Programmen realisieren lassen (PFK.1, PFK.2, PFK.3, PFK.4, PFK.5, PFK.6, PFK.9, PFK.10)
    • Systemverhalten aus spezifizierenden Text herleiten
    • Auswahl und Konfiguration der benötigten I/O-Schnittstellen
    • Erarbeitung eines Interruptskonzeptes
    • Aufstellen des Zustandsüberführungsdiagramms
      • Auswahl der geeigneten Spezifikationsform (Moore versus Mealy)
      • Bewertung der Spezifikation
        • Vollständigkeit
        • Determiniertheit
        • Lebendigkeit
    • Implementierung mittels C unter Verwendung von Treiberbibliotheken
  • Prinzipien der Laufzeitsystem für C-Programme analysieren und erläutern (PFK.4, PFK.9)
    • Art der C-Funktions-Parameterübergabe mittels Stack klassifizieren (call by value/reference)
    • Verwaltung lokalen C-Variablen mittels Stack erläutern
    • dynamischer Stackauf und -abbau bei geschachtelten C-Funktionsaufrufen ermitteln und beschreiben
    • dynamischen Stackaufbau mittels Debugger analysieren und beschreiben
  • zielgerichtetes Handhaben der Software-Entwicklungsumgebung (PFK.9)
    • Compiler
    • Linker
    • Debugger
    • Simulator
Handlungskompetenz demonstrieren
  • komplexere Aufgaben in einem Kleinteam bewältigen (PSK.3, PSK.4)
  • Erarbeitung von komplexeren Problemlösungen aus dem Bereich Messen-Steuern-Regeln, die sich mit C-Programmen realisieren lassen
    • komplexeren Problemstellungen verstehen und analysieren (PFK.1, PFK10, PFK.2, PFK.4, PFK.3, PSK.3, PSK.4, PFK.8)
      • Systemverhalten aus spezifizierenden Texten herleiten
      • System strukturiert analysieren
        • sinnvolle Teilsysteme erkennen
        • Schnittstellen zwischen Teilsystemen erfassen
    • Gesamtsystem auf Basis von Teilsystemes modellieren (PFK.1, PFK.2, PFK.4, PFK.5, PFK.10)
    • Teilsysteme modellieren. Hierbei soweit möglich auf zur Vefürgung stehende Komponenten (I/O-Schnittstellen) abbilden, d.h. Komponentenauswahl und Konfiguration. (PFK.1, PFK.2, PFK.4, PFK.5, PFK.10)
    • Problemlösung mittels Software-Entwicklungsumgebung in C implementieren, testen und am Zielsystem in Betrieb nehmen (PFK.1, PFK.5, PFK.6, PFK.7, PFK.9, PSK.3)
      • Spezifiation von Teilsystemen in C
        • Treiberfunktion für zur Verfügung stehende Komponenten (I/O-Schnittstellen)
        • Interrupt-Service-Funktionen
        • Funktionen zur Implementierung von Zustandübergangsdiagrammen
        • Funktionen zur Systembedienung
        • ...
      • Compilieren der Teilsysteme
        • Finden syntaktischer Fehler und deren Behebung
      • Simulation und Debuggen von Teilsystemen
        • Erstellen von Teststimuli
        • Finden semantischer Fehler und deren Behebung
      • Spezifikation des Gesamtsystems in C
      • Simulation und Debuggen des Gesamtsystems
        • Erstellen von Teststimuli
        • Finden semantischer Fehler und deren Behebung
      • Gesamtsystem am Zielsystem in Betrieb nehmen

Exemplarische inhaltliche Operationalisierung

Praktikum

Form Kompetenznachweis
bPA Praktikum, Gruppenarbeit

Beitrag zum Modulergebnis
bPA Testat als Voraussetzung zur Klausur

Spezifische Lernziele

Kenntnisse
Fertigkeiten
Handlungskompetenz demonstrieren

Exemplarische inhaltliche Operationalisierung

Editieren | Anhang | Druckversion (p) | Historie: r12 | r11 < r10 < r9 < r8 | Querverweise (b) | Quelltext (v) | Bearbeite WikiText | Mehr Topic-Aktionen...
Topic-Revision: r10 - 25 Feb 2013, TinaHeitze
 
Diese Seite läuft auf FoswikiDas Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.
Ideen, Anfragen oder Probleme bezüglich Foswiki? Feedback senden