Seite 1 von 1

Kritischer Pfad

Verfasst: 19. Feb 2017 21:51
von mProg
Hallo
Eine Verständnisfrage: In den Beispielsübungen war der folgende Code:

Code: Alles auswählen

rule calc; // c = sqrt(a^2 + b^2)
let val = in.first(); in.deq();
let a = tpl_1(val);
let b = tpl_2(val);
 let aSqr = a * a;
 let bSqr = b * b;
 sqrt.request.put(aSqr + bSqr);
 endrule
Die Frage war, welches Problem hinsichtlich des kritischen Pfades auftauchen würde? In der Lösung würde auf die Multiplikationen hingewiesen.
Natürlich hatten wir in TGDI, dass Multiplikationen mehr Takte brauchen. Jedoch stellt sich die Frage für mich, warum in Bluespec diese Multiplikationen alle in einem Takt durchgeführt werden?

Re: Kritischer Pfad

Verfasst: 19. Feb 2017 21:59
von bgimed
Der kritische Pfad bestimmt die Taktfrequenz mit der du deine Schaltung betreiben kannst.

Re: Kritischer Pfad

Verfasst: 19. Feb 2017 22:22
von labataschö
mProg hat geschrieben:Natürlich hatten wir in TGDI, dass Multiplikationen mehr Takte brauchen.
Jain. Multiplikationen brauchen nicht per se mehr Takte. Wenn es um Assembler geht, dann hast du, glaube ich, recht damit. Hier wird aber nicht auf einer ALU sondern direkt in Hardware gerechnet. Und da bist du natürlich frei, deine Multiplikationen ohne zwischengeschaltete Zustandselemente zu bauen, also das Ergebnis in nur einem Takt zu berechnen. Dadurch kann der kritische Pfad aber länger werden und dann gilt, wie bgimed sagt,
bgimed hat geschrieben:Der kritische Pfad bestimmt die Taktfrequenz mit der du deine Schaltung betreiben kannst.

Re: Kritischer Pfad

Verfasst: 19. Feb 2017 22:42
von mProg
Danke euch. Ist klar geworden