Fachbereich Technik
Abteilung Elektrotechnik und Informatik

Home Nach oben Inhalt Suchen

uCT

 


Mikrocomputertechnik

Organisatorisches

Einordnung in den Studienverlauf

Inhalte der Veranstaltung

Ziele der Veranstaltung

Abgrenzung zu weiterführenden Veranstaltungen

Literatur

Vorlesungsfolien und -unterlagen (Passwortgeschützt)

Weitere Unterlagen und Links


Organisatorisches

  • Zuhörerschaft: Studierende der  Elektrotechnik und Automatisierungstechnik sowie der Informatik
  • Umfang: 4 SWS Vorlesung + 2 SWS Praktikum

Einordnung in den Studienverlauf

Die Veranstaltung ist eine Pflichtveranstaltung für Studierende der Elektrotechnik und Informatik im vierten Semester. Sie wird ergänzt durch ein Praktikum, welches parallel (E-Technik) oder um ein Semester zeitversetzt (Informatik) durchgeführt wird.

Entsprechend der Einordnung der Veranstaltung in das Studium werden Grundkenntnisse zu folgenden Themen vorausgesetzt:

  • Zahlendarstellung und –codierung
  • Grundlegende Befehlsverarbeitung in Mikrocomputern
  • Grundlagen der hardwarenahen Programmierung (Werkzeuge, Ablauf, Assembler, C)

Inhalte der Veranstaltung

Die Inhalte der Veranstaltung lassen sich wie folgt gliedern:

  • Leistungsmaße und Benchmarks
  • Grundlegende Rechnerorganisationen und Prinzipien (Single Cycle, Multi Cycle, Pipeline Organisationen)
  • Speicher (Speichertypen, Caches, TCM und Speicherorganisationen)
  • Virtuelle Speicherverwaltung
  • Busse
  • Periphere Baugruppen
  • Weitergehende Organisationen (Superskalare Rechner, Parallelverarbeitung, DSP, Coprozessortechniken)
  • Anwendungsbeispiele

Ziele der Veranstaltung

Ziel ist die Vermittlung von Kenntnissen über den Aufbau und die Funktion moderner Mikrocomputer, die Anwendungsbereiche von Mikrocomputern sowie Kenntnisse die eine  Leistungseinschätzung von Mikrocomputern ermöglichen. Diese Kenntnisse sind wichtig für die Programmierung von Mikrocomputern, die Entwicklung von Mikrocomputersystemen aber auch für die Entwicklung von FPGA-basierten Systems on Programmable Chips (SoPCs). Hierbei werden grundlegende Methoden der Datenverarbeitung eingeführt und bewertet, wie z. B. Pipelineverarbeitung, mehrschichtige Datenspeicherung und virtuelle Speicher. Damit stellen Sie eine wichtige Basis für Ingenieure und Informatiker dar, die u. a. in den folgenden Bereichen tätig sind: 

  1. Hardwarenahe Software-Entwicklung (Mikrocomputerprogrammierung, Embedded Software Entwicklung, etc)

Aufgrund der beschränkten Ressourcen und speziellen Anforderungen z.B. an die Echtzeitfähigkeit müssen Programme in diesen Bereichen oftmals hochoptimiert sein. Entsprechende Optimierungen sind nur durch die genaue Kenntnis der Computerorganisation und Abläufe bei der Befehlsverarbeitung möglich.

  1. Entwicklung von Mikrocomputersystemen

Gerade in klein und mittelständischen Unternehmen werden häufig Mikrocomputersysteme realisiert, die spezielle Aufgaben erfüllen sollen, wie z.B. die Steuerung einer Maschine oder die Verarbeitungen von Bild- und Videodaten. Die Aufgabe der Systementwickler besteht hier in der Auswahl von geeigneten Systemkomponenten, die die Realisierung eines Systems mit ausreichenden Leistungsmerkmalen ermöglichen. Um beurteilen zu können, ob ein Mikrocomputer für eine spezielle Aufgabe geeignet ist, ist es von entscheidender Bedeutung die Leistungsfähigkeit vergleichend beurteilen zu können.

  1. Entwicklung von SoPC

Die steigende Integrationsdichte bei Integrierten Schaltung ermöglicht es, leistungsfähige Systems on Chips mittlerweile auch auf FPGAs zu realisieren. Die Besonderheit beim Entwurf dieser Systeme ist die hohe Flexibilität bei der Festlegung der Systemarchitektur. Sowohl der eingebettete Mikroprozessor, wie auch die applikationsspezifische digitale Hardware können angepasst und für eine spezielle Anwendung optimiert werden. Grundlage für diese Aufgabe sind Kenntnisse, die eine Einschätzung der Leistungsfähigkeit des eingebetteten Mikroprozessorsystems erlauben. Da auch diese Systeme häufig harte Anforderungen an die Echtzeitfähigkeit oder Rechenleistung haben, spielt auch die hardware Software-Entwicklung eine wichtige Rolle.

  1. Entwicklung von Software und Hardware im weiteren Sinne

Im Rahmen der Veranstaltung werden grundlegende Methoden der Datenverarbeitung eingeführt und diskutiert. Diese Grundprinzipien finden in vielen Bereichen der Entwicklung Anwendung und lassen sich auf andere Themenbereiche übertragen.


Abgrenzung zu weiterführenden Veranstaltungen

Moderne Mikrocontroller, die bespielsweise auf den derzeit aktuellen Cortex Prozessoren der Firma ARM basieren, weisen i. d. R. komplizierte Organisationen auf. So beinhaltet bereits der einfachste Cortex-Prozessor (M1/M3) eine Pipeline-Architektur, Caches, Memory-Management Units sowie komplizierte Interrupt-Controller. Leistungsstärke Cortexprozessoren einhalten parallel arbeitende Rechenkerne und verfügen über hochoptimierte Pipelinearchitekturen mit spekulativer Ausführung, etc. Die Untersuchung und anwendungsorientierte Programmierung solcher Systeme muss in weiterführenden Veranstaltungen erfolgen. Zu berücksichtigen ist hierbei, dass insbesondere bei größeren Entwicklungen modellbasierte Software-Entwicklungen und Betriebssysteme zunehmend an Bedeutung gewinnen.

Die in dieser Veranstaltung behandelten Themen orientieren sich am derzeitigen Stand der Technik und vermitteln grundlegende Kenntnisse, die die Basis für einen weiteren Einstieg in die Thematik liefern. Die speziellen herstellerspezifischen Realisierungen und Umsetzungen spezieller Organisationen (Pipelines, Caches, etc.) können nicht im Detail behandelt werden. Sie müssen Gegenstand weiter führender Veranstaltungen sein. Gleiches gilt für die Programmierung aktueller Mikrocontroller mit industrierelevanten Werkzeugen.


Literatur

Patterson; Hennessy, Rechnerorganisation und –entwurf, 3. Auflage, Elsevier

  • Deutsche Übersetzung des englischen Orginals.

  • Das Standardwerk für die Veranstaltung. Enthält alle Informationen zur Nach- und Aufarbeitung.

Hennessy; Patterson, Computer architecture – A Quantitative Approach, Kaufmann

  • Weitreichendes, anspruchsvolles Werk

  • Maßgeblicher Text zum konventionellen Risc Design, der von zwei Autoren stammt, die maßgeblich an der Realisierung von RISC mitgearbeitet haben

Patterson; Hennessy, Computer organization and design : the hardware/software interface, Kaufmann

  • Autoren wie oben aber in umgekehrter Reihenfolge
  • Inhalt wie oben, aber Erläuterung der Grundlagen wesentlich ausführlicher

Märtin, Rechnerarchitektur, Hanser Verlag

  • Eher HW-orientiert

  • Enthält alle wichtige Themen und stellt diese recht anschaulich dar

  • Leider werden vielfach Spezialbegriffe verwendet, die nicht erläutert werden und den Zugang für Einsteiger damit erschweren

  • Ca. 500 Seiten

Malz, Recherarchitektur, Vieweg

  • Eher HW-orientiert

  • Kurz gefasstes Darstellung der wichtigsten Themen

  • Gutes Werk um Grundlagen nachzuschlagen

  • Ca. 200 Seiten

Tanenbaum, Computerarchitektur, Pearson

  • Umfangreiches Nachschlagewerk und Lehrbuch mit vielen Übungsbeispielen

Stallings, Computer Organization and Architecture, Prentice Hall

  • Enthält alle wichtigen Themen

  •  Viele Processorbeispiele

  • Viele Übungsaufgaben

Van de Goor, Computer Architecture and Design, Addison Wesley,

  • Eher SW-orientiert (Datentypen, Schnittstellen OS, etc.)

  • Viele Übungsaufgaben

Furber, ARM Rechnerarchitekturen für System-On-Chip-Design, mitp

  • Standardwerk zur ARM Architektur

  • erklärt gut, warum bestimmte Architekturentscheidung gefällt wurden


Vorlesungsfolien und -unterlagen (Passwortgeschützt)

 

Weitere Unterlagen


Weitere Unterlagen und Links

  • SPIM (Simulator für MIPS Architektur)
 

 

 

Copyright © 2003 Prof. Dr. Gerd von Cölln
Stand: 28. August 2009