Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
d)
schneller als CPUs
flexibler als ASICs
auch für kleine Stückzahlen (im Vergleich zu ASICs)
e)
Ich tippe mal auf den Datenflussgraphen. Es gibt neben dem datenflussdominanten noch das kontrollflussdominante und das heterogene Datenmodell, aber für die Signalverarbeitung braucht man Datenflussdominanz (siehe auch die Folie zu DSP).
b)
Harte Echtzeitsysteme: Hohe Treue bedeutet nicht automatisch korrekte Schätzwerte, für harte EZS hohe Exaktheit unerlässlich
Extrahieren von pareto-optimalen Punkten aus dem Suchraum: Hohe Treue ausreichen: Alle Punkte haben etwa gleiche Abweichung vom tatsächlichen Wert => Vergleichbarkeit gegeben
Zunächst mal vielen Dank für die Lösungsvorschläge. Ich würde evtl. noch einige meiner Lösungen (ohne Gewähr) zu den “???”-Aufgaben ergänzen:
Aufgabe 1. e) Ich tippe mal auf den Datenflussgraphen. Es gibt neben dem datenflussdominanten noch das kontrollflussdominante und das heterogene Datenmodell, aber für die Signalverarbeitung braucht man Datenflussdominanz (siehe auch die Folie zu DSP).
Aufgabe 2. b)
(01) j = 1
(02) if (j >= i) goto (11)
(03) k = j - 1
(04) a = x[k]
(05) b = x[j]
(06) if (a <= b) goto (09)
(07) x[k] = b
(08) x[j] = a
(09) j = j + 1
(10) goto (02)
(11) return
An der Stelle bin ich allerdings nicht sicher, ob man sich so einfach Hilfsvariablen anlegen kann, würde ich aber gerne machen, da ich nicht glaube, dass man im 3-Adress-Code eine Rechenoperation als Arrayindex verwenden darf. Hier habe ich auch noch in Zeile (07) das k wiederverwendet, also keine neue Variable l = j - 1 angelegt, und auch da weiß ich nicht, ob man solche Optimierungen vornehmen darf.
Dementsprechend wäre Teil 2. bei mir:
(01) j = 1
(02) if (j >= i) goto (11)
(03) k = j - 1
(04) a = x[k]
(05) b = x[j]
(06) if (a <= b) goto (09)
auch für kleine Stückzahlen (im Vergleich zu ASICs)
Datenflussgraphen, da der Fluss der Signale gut beschrieben werden kann
Zwischencodegenerierung
Übung 10, A3.3
Einzieloptimierungsverfahren: Findet nur eine Lösung entlang der konvexen Hülle, auf der die Pareto-Punkte liegen, obwohl es mehrere Pareto-optimale Lösungen geben kann
Bis auf das return und der Tatsache, dass meine Hilfsvariable t1 heißt, hab ich genau das Selbe raus bekommen. Endlich jemand der meine Meinung „Rechenoperation als Arrayindex ist verboten“ teilt
Jetzt denk ich aber, dass in meinem 3-Adress-Code ist meines Erachtens aber noch eine weitere Sache falsch ist: Ich bin davon ausgegangen, dass jedes Arrayelement 1 Byte verwendet. Wenn wir aber mit Integern arbeiten, müssen doch 4 Bytes verwendet werden. Muss man also vielleicht k noch mit 4 multiplizieren?
Ja, mit dem Faktor vier hast du meiner Meinung nach Recht. Das wird auf den Vorlesungsfolien für Integer so gehandhabt.
Das müsste dann aber nicht nur für die Hilfsvariable gelten, sondern für alle Arrayzugriffe
Somit erfordert es eine neue Hilfsvariable…
(01) j = 1
(02) if (j >= i) goto (13)
(03) t1 = j - 1
(04) t1 = t14
(05) a = x[t1]
(06) t2 = j4
(07) b = x[t2]
(08) if (a <= b) goto (11)
(09) x[t1] = b
(10) x[t2] = a
(11) j = j + 1
(12) goto (02)
(13)