Course Computer Design and hardware related Programming


Responsible: Prof. Dr. Thieling

Course

Meets requirements of following modules(MID)

Course Organization

Version
created 2013-07-24
VID 2
valid from WS 2012/13
valid to
Course identifiers
Long name Computer Design and hardware related Programming
CID F07_RHP
CEID (exam identifier)

Contact hours per week (SWS)
Lecture 2
Exercise (unsplit)
Exercise (split) 1
Lab 1
Project
Seminar
Tutorial(voluntary)
Total contact hours
Lecture 30
Exercise (unsplit)
Exercise (split) 15
Lab 15
Project
Seminar
Tutorial (voluntary)
Max. capacity
Exercise (unsplit)
Exercise (split) 30
Lab 15
Project
Seminar

Total effort (hours): 150

Instruction language

  • Deutsch

Study Level

  • Bachelor

Prerequisites

  • basic skills in procedural programming
  • structure and mode of operation of a simple computer
  • basics in digital systems
  • finite state machines and state transition diagrams

Textbooks, Recommended Reading

  • Märtin: Rechnerarchitektur, Fachbuchverlag Leipzig (Carl Hanser)
  • Oberschelp/Vossen: Rechneraufbau und Rechnerstrukturen, Oldenbourg Verlag
  • Vogt, C: C für Java-Programmierer
  • Tanenbaum, Goodman: Computerarchitektur, Pearson Studium (Prentice Hall)

Instructors

  • Prof.Dr.Thieling
  • Prof.Dr.Hartung

Supporting Scientific Staff

  • tba

Transcipt Entry

Computer Design and hardware related Programming

Assessment

Type
wE normal case (except on small numbers of assessments: oE

Total effort [hours]
wE 10

Frequency: 3/Jahr


Course components

Lecture/Exercise

Objectives

Contents
  • basics of C-programming
    • constants, variable,s data types
    • expressions, statements, control structures
    • preprocessor expressions
    • pointers and pointer arithmetic
    • array, structures
    • funtions
    • standard libraries
    • multi-file programs with access to libraries
    • software development tools
      • compiler
      • linker
      • debugger
      • simulator
  • hardware-related I/O programming in C
    • functioning of digital ports
    • access to digital ports
      • memory-mapped I/O
      • isolated I/O
    • access to I/O ports using pointers
    • access to I/O ports using driver libraries
    • implementation of driver libraries in C
    • bit-wise I/O and analysis of data using C
  • programming applications for measurement and control in C
    • implementation of finite state machines in C (mealy and moore)
    • optimization of cyclic queries on I/O-data
  • design and operation of a dedicated small computer system (eg microcontroller)
    • architectural overview (registers, arithmetic logic unit, control unit, memory, bus structure, I/O components)
    • mode of operation (program execution based on register transfers)
    • basics for programming the micro-processor in assembly language
    • use of inline assembler in C programs
  • I/O interfaces of a computer system and its use by means of C
    • digital ports
    • timer/counter (pulse width modulation, cyclic interrupt generation)
    • analog-to-digital converter
    • serial port
    • using the I/O interfaces from C
  • interrupts
    • interrupt sources and types (external, internal, hardware, software)
    • interrupt management
      • interupt vector table
      • interrupt service routine
      • time sequence of the interrupt handling
      • mechanisms for handling concurrent interrupts
        • prioritization
        • interruption
        • problem specific use of these mechanisms
    • use of interrupt driven I/O interfaces in C
  • C runtime system
    • subroutine call in assembler
    • stack and assembler instructions for stack manipulation
    • program state backup and recovery using stack
    • passing parameters to C-function using stack
    • managing local variables using stack
    • dynamic behavior of the stack
    • interpretation of the stack contents using a debugger

Acquired Skills
  • explain the operation of a mikrocontroller including it's I/O interfaces
  • interpretation of detailed technical specifications of the I/O interfaces, so that meaningful configurations can be created
  • implementation of C driver libraries for various I/O interfaces including the interrupt support
  • specifying system behavior (derived from text documents)
  • development of problem solutions for measurement and control, which can be realized in C
  • describe and analyze the C runtime system

Additional Component Assessment

  • none

Lab

Objectives

Acquired Skills
  • refer to "Vorlesung/Übung->Lernziele->Fertigkeiten"
  • targeted use of the software development environment

Operational Competences
  • manage complex tasks as a small team
  • development of problem solutions for measurement and control, which can be realized in C

Additional Component Assessment

  • none

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