Gast
#3938885
Heyho, erstmal wünsche ich euch ein frohes Weihnachtsfest! Ich stolpere leider gerade über ein kleines Verständnisproblem. Es geht um einen MIPS Multicycle-Prozessorkern. Wie genau die einzelnen Cycles nun aussehen ist erst einmal unerheblich. Ich soll nun einen Automaten (Moore) bauen, der die einzelnen Pipelinestufen steuert. Laut Lehrbüchern und Internet würde der z.B. so aussehen (5.42): http://www.cs.umd.edu/class/fall2003/cmsc311/Lectures/lecture34/multi_control.pdf Wenn ich jetzt versuche anhand eines Befehls das ganze nachzuvollziehen, wird mir klar, dass es funktioniert. Sobald ich aber zwei Befehle habe, die hintereinander ausgeführt werden (z.B. zwei Additionen mit völlig verschiedenen Registern), frage ich mich ob ich nicht auch mindestens 2 FSMs benötige, die korrekt versetzt arbeiten. Denn: Wenn die FSM für Befehl1 im zweiten Takt im Zustand der Stage2 steckt, dann muss sich für Befehl2 die FSM in Stage1 befinden, was sich widerspricht. Wo steckt mein Denkfehler? Ich finde nämlich nirgends erwähnt, dass man so viele FSMs wie Pipeline-Stufen braucht. Viele Grüße, GinTonic