Zu Hauptinhalt springen

Computer- und Mikrocontrollertechnik


Inhalte und Ziele

Arduino


Computer sind aus unserem Alltag nicht mehr wegzudenken. In beinahe jedem modernen elektronischen Gerät verrichten Mikrocontroller und Mikroprozessoren häufig unbemerkt ihre Arbeit. Obwohl wir täglich mehrere hundert Male mit Computern, Smartphones und anderen prozessorgesteuerten Geräten interagieren, weiß kaum jemand, was sich intern eigentlich genau abspielt. Was passiert also, wenn wir zum Beispiel auf den Powerknopf eines Computers drücken?
Genau hier werden wir in dieser Veranstaltung ansetzen. Den TeilnehmerInnen wird vermittelt, wie ein Computersystem aufgebaut ist und wie es intern funktioniert. Dies geschieht im Wesentlichen auf zwei verschiedenen Ebenen. Im ersten Teil werden wir uns der Funktionsweise und dem Zusammenspiel der grundlegenden Komponenten eines Computersystems widmen. Dazu untersuchen und programmieren wir erst in Assembler, dann in C einen ATmega 328p, ein weit verbreiteter und günstig erwerbbarer Mikrocontroller auf 8-Bit-Basis. Die Komplexität dieses Systems ist geringer als die eines modernen PCs. Dadurch ist es für Lehrzwecke optimal geeignet und erlaubt es, die wichtigen Konzepte auf unterster Ebene zu verstehen und bis ins Detail nachzuvollziehen. Im zweiten Teil gehen wir auf die Funktionsweise (und aktuellen Probleme) moderner Computersysteme ein und lernen einige aktuelle Konzepte zur Leistungssteigerung kennen.


Veranstaltungsdaten

Art der Veranstaltung:  Semesterkurs bestehend aus einer wöchentlichen Vorlesung am Montag 15:30 bis 17:00 s.t. und praktischen Übungen zuhause.
Der Betreuer wird wöchentlich eine freiwillige Übungsstunde in Präsenz für Fragen und Hilfestellungen zu den Hausaufgaben anbieten. Der Termin hierfür wird in der ersten Vorlesung festgelegt. Ansonsten geschieht die Betreuung individuell über Email.

Haupt-Zielgruppe: Master Physik

Teilnehmer/innen anderer Fachrichtungen (sowohl Bachelor als auch Master) sind herzlich willkommen (siehe unten für Voraussetzungen)

Flexnow und Benotung: Der regelmäßige Besuch der Vorlesung und der Übungen ist ein notwendiges Kriterium zum Bestehen der Veranstaltung. Üblicherweise gibt es folgende Möglichkeiten die Veranstaltung einzubringen
Wahlbereich: unbenotet
studienbegleitende IT-Ausbildung: benotet
(Die Note ergibt sich zu 100% aus der Benotung des Abschlussprojekts.)
Leistungspunkte: 6
Modulname: M 61.2

Weitere Informationen zum Kurs sowie Anmeldung ohne Exa/Spur-Zugang: maximilian.stefinger@stud.uni-regensburg.de oder fritz.wuensch@ur.de


Voraussetzungen

Interesse an der Thematik wird vorausgesetzt. Erforderliche Vorkenntnisse:
Grundlegende Programmierkenntnisse in einer beliebigen Sprache (Stichworte: Datentypen, Logische Operatoren, Verzweigungen, Schleifen, Rekursionen), z.B. C/C++-Kurs

Grundkenntnisse im Bereich der Elektronik wie sie im Elektronik-Grundkurs vermittelt werden


Ablauf und Gliederung

Den TeilnehmerInnen wird - in Theorie und praktischen Übungen - vermittelt, wie ein Computersystem aufgebaut ist und wie es intern funktioniert. Dies geschieht im ersten Teil mithilfe eines Arduino-Board mit umfangreichem Zubehör.
Im zweiten Teil gehen wir auf die Funktionsweise (und aktuellen Probleme) moderner Computersysteme ein.

Teil 1: Ein klassisches Mikrocomputersystem

Zeichen- und Zahlendarstellung im Computer
Aufbau und Bestandteile eines Mikrocomputersystems
Architektur des Rechners und des Microcontrollers
Maschinenbefehle und Assemblerprogrammierung
Interrupts
Peripheriebausteine und die Kommunikation mit dem Prozessor
Serielle und parallele Schnittstellen
weitere Schnittstellen, Anschluss von Sensoren, Steuerung und Regelung
 

Teil 2: Moderne Konzepte

Speichermedien (Hauptaugenmerk: SRAM, DRAM, FLASH)
Mainboard und Chipset
Interne und externe Peripheriebusse (PCI(E), (S)ATA, USB, FireWire, ...)
Prozessoreigenschaften und Architekturen
Cachesysteme
Memory Management
Performancesteigerung (Pipelining, Multithreading, Superskalarität, ...)




Fakultät Physik - Studium

Universitätsstrasse 31
93053 Regensburg


Tel. +49 941 943 2023