04.04 Vorbesprechung Motivation Übersicht über Mikroprozessoren: x86, embedded Übersicht über SW-Entwicklung für embedded systems Terminvergabe 11.04 Performance, Benchmarks Grundlagen: Rechenzeit vs. Durchsatz usw. Amdahl's Gesetz aktuelle Benchmark-Ergebnisse Analyse der SPEC-Benchmarks: Befehlshäufigkeiten, Wartezyklen, ... Hennessy & Patterson DEC Alpha Performanceanalyse 18.04 x86 Grundlagen Geschichte und Evolution des x86 Architektur: Register, Befehlssatz-Übersicht, Übersicht über FPU, MMX, ISSE Vergleich mit RISC (aus H&P) Hennessy & Patterson, Anhang D Intel Datenbücher (386, 486, Pentium) www.sandpile.org 25.04 x86 Assemblerprogrammierung Befehlssatz, Befehlskodierung Speichermodelle (Segmentierung, Paging, Flat usw) Adressierungsarten Stackverwaltung einfache Programmbeispiele Dandamudi: Introduction to assembly language programming P DAN 26131 Intel Datenbücher (386, 486, Pentium) eigene Experimente mit MS Visual-C++ / GCC www.sandpile.org 02.05 x86 I/O, Interrupts, Speicherschutz Speichermodell mit GDT, LDT Segmentierung, Zugriffsschutz I/O-Befehle des x86 vs. memory-mapped I/O Zugriffsschutz Interruptmodell, IDT Aufruf von Betriebssystem-Funktionen (INT 8, INT 13, ...) CallGate-Konzept Intel Datenbücher Messmer: PC Hardwarebuch 09.05 x86 Implementierung, Superskalare Ausführung Pipeline im 486 Dual-Pipeline im Pentium, Befehlspaare und Abhängigkeiten superskalare Ausführung im P-II/P-III/Athlon Scoreboard Tanenbaum: Computer Architecture 4th Ed. Hennessy&Patterson Messmer: PC Hardwarebuch 16.05 ARM Prozessorfamilie Übersicht über die ARM Prozessoren ARM Architektur: Register, Befehlssatz Codebeispiele S. Furber: ARM system on chip architecture Datenbücher von www.arm.com 23.05 Crosscompiler, GNU Toolchain Übersicht und Konzept des GCC Hilfsprogramme: ld, as, nm, ... Frontends: gcc, g++, gcj, objective-c, g77, ... Backends und Codeerzeugung Crosscompiler, z.B. mips-idt-elf-gcc auf Linux/x86 möglichst mit Vorführung Manpages und Dokumentation zum GCC, lokal oder gcc.gnu.org 30.05 Systemsimulation: Beispiel Palm OS Emulator Beispiel für Softwareentwicklung mit Simulator Übersicht Betriebssystemkonzept Palm OS Entwicklung / Vorführung von Beispielen auf dem Simulator Palm OS Emulator, xcopilot - 13.06 Emulation: Altera Excalibur und NIOS Datenblätter und Whitepaper von www.altera.com NIOS Toolkit: www.redhat.com bzw. Excalibur CDs 20.06 Signalprozessoren Architekturkonzept von Signalprozessoren Multiply-Accumulate, ALUs Befehlssätze, HW-Unterstützung von Schleifen und Interrupts Anwendungsbeispiele: Modem, Mobilfunk, Audio, ... Problem Softwareentwicklung für DSPs Motorola 56K: www.motorola.com/ Analog Devices Sharc: www.analog.com/ 27.06 VLIW, Medienprozessoren: MAJC Konzept von VLIW, Vorstellung z.B. Trimedia, Crusoe, ... Nutzen für Medienverarbeitung (Audio,Video,DVD,...) Vergleich mit MMX/3Dnow/ISSE evtl. Vorstellung Crusoe Code-Morphing Konzpet des MAJC Dualprozessors Java-Unterstützung auf dem MAJC Sun Majc Dokumentation Philips Trimedia Dokumentation 04.07 Low-Cost Internet, PIC-Mikrocontroller Architektur der PIC 8-bit Controller, Befehlssatz Harvard-Architekturprinzip: separate Code/Daten/Stack-Speicher Übersicht über IP/PPP-Protokoll Realisierung von PPP auf dem PIC Arizona Microchip Dokumentation, www.microchip.com 13.07 Chipkarten, Smart Cards Aufbau von Chipkarten Schnittstellenstandards, Beispiel Zugriff auf Telefonkarten Prozessorkarten, Programmierung dafür (BASIC, C) W. Rankl, W. Effing: Handbuch der Chipkarten (z.B. D RAN 25740) c't Artikelserie: 8/00-208, 9/00-240, 13/00-256