Hallo, ich möchte gerne in Verilog einen pipelined Prozessor modellieren, der den Thumb Befehlssatz versteht. Wieviele Stufen wähle ich am besten für die Pipeline? Reichen 3 Stufen? FETCH,EXECUTE,WRITEBACK? Die Befehle des Thumb-Befehlssatz dauern unterschiedlich lang. Eine Push-Instruktion kann zB alle Register einer Liste in den Stack schreiben und dauert abhängig von der Anzahl der zu schreibenden Register viel länger als eine Add Operation. Wie lang wähle ich da die Pipelinestufen? Kann ich hier einfach sagen, jede Stufe benötigt einfach fest 10 Takte oder ist es besser die Stufen variabel zu halten, dh wenn ich eine push-OP mit 7 Registern in der Fetchstufe entdecke, dann verlängere ich die Execute und Writebackphase? Als Speicher steht mir nur SRAM mit 4096 16-Bitwörtern zur verfügung. Der Prozessor arbeitet aber mit 32bit Registern. Der Speicher beinhaltet sowohl die Daten als auch die Befehle und kann nicht gleichzeitig gelesen und beschrieben werden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.