01706 – Anwendungsorienterte Mikroprozessoren – Einsendeaufgaben KE 1

Anmerkungen und Lösungsansätze zu den Einsendeaufgaben für die Kurseinheit 1 des Kurses „Anwendungsorientierte Mikroprozessoren (01706)“, belegt im Wintersemester 2016/2017. Bitte den Disclaimer am Ende beachten!

Aufgabe 1-1: Energiespartechnik

Siehe: KE 1 / Abschnitt 1.3 / S. 9f

Für Zeile 1 der zu befüllenden Tabelle gilt: die Spannung bleibt unverändert, lediglich die Taktfrequenz des Prozessors wird verringert.

Laut Kurstext ist der Energieverbrauch proportional zur Taktfrequenz (E ~ F). Also beträgt der Energieverbrauch bei 1/8 der Taktfrequenz ungefähr 1/8 des ursprünglichen Energieverbrauchs.

Für Spalte 1 gilt entsprechend: die Taktfrequenz des Prozessors bleibt unverändert, dafür wird aber die Spannung verringert.

Hier ist der Energieverbrauch proportional zum Quadrat der Spannung (E ~ U²). Also beträgt der Energieverbrauch bei 3/4 (=0,75) der Spannung ungefähr 3²/4² = 9/16.

Zusammengenommen gilt also die Abhängigkeit

E ~ F * U²

mit der sich der Rest der Tabelle ergänzen lässt:

 Lösungsansatz 1-1; Farbliche Hervorhebung zum Verständnis.

Spannung \ Frequenz

1 1/8 1/16 1/32
1 P 1/8 1/16 1/32 = F
0,75 3²/4²= 9/16 F * = 9/128 F * U² F * U²
0,5 (1/2)² F * U² F * U² F * U²
0,25 (1/4)² F * U² F * U² F * U²
= U²

Für das Lösen der Aufgabe unerheblich, für das weitere Verständnis aber nützlich:

Versorgungsspannung und Taktfrequenz sind keine unabhängigen Größen, niedrigere Spannung führt zu niedrigeren Taktfrequenzen. Der Zusammenhang ist ungefähr linear, also es gilt

Fmax ~ U.

Und daraus ergibt sich die Kubus-Regel für eine simultane Änderung der Taktfrequenz und Versorgungsspannung:

E ~ F³    oder    E ~ U³

Diese Art des Energiesparens führt immer auch zu einer verringerten Leistung. Darüber hinaus gibt es noch weitere Ansätze, die nicht zu einer Senkung der Verarbeitungsgeschwindigkeit führen:

  • Reduktion der Busaktivität
  • Statisches Power-Management
  • Dynamisches Power-Management
  • Erhöhung der Code-Dichte

Aufgabe 1-2: Tabellensuch-Befehl

Siehe: KE 1 / Abschnitt 2.3.4.2 / S. 26f

Der Tabellensuch- und Interpolationsbefehl (Table Look-Up – TLB) ermöglich die Speicherung einer reduzierten Anzahl von Datenwerten in einer Tabelle und berechnet daraus – durch lineare Interpolation – alle Zwischenwerte. – S. 26

Die Tabelle weist ganzzahligen X-Werten ihren ggf. gebrochenen Y-Wert (im 8.8 Format, also 8 Bit vor dem Komma, 8 Bit nach dem Komma) zu. Der zu einem gebrochenen X-Wert gehörende Y-Wert wird durch lineare Interpolation berechnet.

Das zunächst verwirrende in dieser Aufgabe: Die Tabelleneinträge für die benötigten ganzzahligen X-Werte liegen nicht vor, sondern müssen seinerseits erst (mit der Formel Y(X) = ⌊128 * sin(X10 / 256 * 2π) + 128 ⌋ ) berechnet werden.

Die Formel zur Interpolation lautet dann

Y(X) = Y(G) + B * ( Y(G+1) - Y(G) )
mit G = Ganzzahliger Anteil von X
und B = Bruchanteil von X

(Bsp.: X = 30,3125 → G=30 und B=0,3125)

Zur Lösung müssen also zunächst die Tabelleneinträge für 30; 31; 100; 180 und 181 berechnet werden.


Aufgabe 1-3: CRC-Prüfung

a) Erstellen einer CRC-Checksumme

Eine CRC-Checksumme wird gebildet, in dem die binäre Nachricht, erweitert um den Grad (höchster auftretender Exponent) des Generator-Polynoms, durch dessen Binärdarstellung geteilt wird. Der verbleibende Rest ist die besagte Checksumme und wird der Nachricht angehängt (ersetzt dabei die durch die Erweiterung entstandenen Nullen).

Generator-Polynom: g(x) = x4+x+1 = 1x4 + 0x3 + 0x2 +1x1 +1x0 → 10011
                     Grad 4

11010110110000 : 10011 = 110000101
10011|||||||||
 10011||||||||
 10011||||||||
  000010110|||
      10011|||
       010100|
        10011|
         01110 → Rest → CRC-Checksum:    1110
               → Übertragung: 1101011011 1110

Die Berechnung einer CRC-Checksumme wird auch im folgenden YouTube Video gut erklärt:

b) Überprüfen einer CRC-Checksumme

Im Umkehrschluss bedeutet das, dass eine man keinen Rest erhält, wenn man eine gültige Übertragung durch die Binärdarstellung des Generator-Polynoms teilt. Erhält man hingegen einen Rest, ist die Übertragung korrumpiert.

c) Berechnung durch ein rückgekoppeltes Schieberegister

Zur Lösung dieser Aufgabe benötigt man vier Dinge:

  1. die Wahrheitstabelle für EOR: (00⇒0 011 101 110)
  2. das Wissen, dass die Eingabe der Nachricht links beginnt, also am höchstwertigen Bit; sie kann also von oben nach unten, gefolgt von vier Nullen, in die Tabelle geschrieben werden
  3. eine grobe Idee wie der Vorgang funktionieren soll; einen schönen Überblick dazu (und CRC-Checksums im allgemeinen) bietet das folgende Video:
  4. Spaß am Knobeln, wenn man die Nachricht Takt für Takt durch den Schaltplan wandern lässt.

Damit sollte sich die Aufgabe gut lösen lassen.


Aufgabe 1-4: Motorsteuerung

Diese Aufgabe ist eine Knobelaufgabe, zu der ich keine Vorgehensweise erklären kann, ohne die vollständige, und nur auf diese Aufgabe zutreffende, Lösung anzugeben. Und das ist ja nicht Zweck dieses Beitrags.

Da man aber die Aufgaben b) bis d) kaum lösen kann, ohne bei a) die korrekte Nummerierung zu wählen, gebe ich hier einen Denkanstoß:

Verlängert man die Flanken der beiden Signale in das jeweils andere Signal hinein, kann man feststellen, dass es nur eine begrenzte Anzahl von unterschiedlichen Abschnitten gibt. Fasst man die H und L Werte dann als Binärzustände auf, kann man gut eine nachvollziehbare Benennung wählen.


Disclaimer: Alle Einsendeaufgaben und Kursmaterialen sind geistiges Eigentum der Fernuniversität in Hagen. Diese Blog-Artikel haben keinen Anspruch auf Vollständigkeit und Richtigkeit und sind mit Sicherheit nicht als alleinige Prüfungsvorbereitung zu gebrauchen! Ziel ist es nicht, die Lösungen der Einsendeaufgaben zu veröffentlichen, sondern mir selbst und vielleicht interessierten Lesern den Lösungsweg klarer zu machen.

  • Gregor Manzke (Gregster)

    Moinsen… 🙂 gar nicht weiter gemacht? Sitze grad an KE2 😉