pipelined prozessor in verilog

Gast #2786597
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren