[CALU] Re: Optimierungen

  • From: Benedikt Huber <benedikt@xxxxxxxxxxxxxxxxxx>
  • To: calu-ss2010-tuwien@xxxxxxxxxxxxx
  • Date: Mon, 17 May 2010 16:01:54 +0200


On 17.05.2010, at 11:45, Martin Elshuber wrote:
Elshuber Martin wrote:
Ich mach mal einen Thread in dem wir eventuelle zukünftige Optimirungen und Verbesserungen besprechen können, wenn noch Zeit ist:

OPT[branch]: miss-prediction-detection von b/call instruktionen ist theoretisch schon in der ex stufe möglich
Aufwand: mittel, könnte den kritischen pfad verlängern
OPT[asmbin]: da wir retp/iretp nicht implementieren bzw. ohne branch target buffer bzw. prefetch stufe nicht implementieren können, würde im asmbin/textsim eine warning/error ausgeben
Aufwand: gering
OPT[predreset]: im falle einer procedur/interrupt sind alle predicate außer p0 unbekannt, wenn man diese verwendet muß man derzeit alle einzeln/paarweise belegen. In sofern würde eine reset instruction (alle werden auf 1 gesetzt) helfen
Hmm, wann ist das notwendig?
Aufwand: gering
OPT[Forwarding EX->ID]: Das Ergebnis Alu instructionen ist schon in ID(incl predikat) bekannt. Man könnte den wert direkt in die ID stufe weiterleiten
Aufwand: hoch (viele sonderfälle in denen das nicht möglich ist)
OPT[Kritischer Pfad]: Laut meinen aufzeichnungen ist der Kritische Pfad derzeit die der Shifter, veileicht findet sich hier eine Lösung
Aufwand: unbekannt
OPT[intrrupts]: Interrupt Controller
Aufwand: mittel bis hoch (call insertion in IF, cli/sti instructionen) OPT[miss-tgt]: Derzeit wird für das miss-tgt ein eigenes register verwendet. man könnte die bits von rx-val nutzen
Aufwand: gering

schreibt einfach was dazu wenn ich noch ideen habt

g martin

ad OPT[Kritischer Pfad])
Einfall 1: man könnte die alu-operand multiplexer in die ID stufe geben, ohne OPT[Forwarding EX->ID] würde das was bringen, mit OPT[Forwarding EX->ID] ändert das leider gar nichts.
Zum kritischen Pfad:
Ich komm jetzt mit Optimierungen auf etwa 65Mhz, was laut Wolfgang schon ganz ok ist. Ich denke wir sollten fmax Optimierungen noch etwas aufschieben. Wichtiger waere, dass der Prozessor mal laeuft, und das data-dependency stalls (ohne load/store) maximal einen Cycle betragen.
lg, benedikt

Other related posts: