Risc-Processor mit 2 Clocks.

Gast #1887869
Lesenswert?

Hallo,
als Anfänger in Sachen fpga möchte ich den RISC-Prozessor von
dem diesjährigen Turing-Preisträger Charles P. Thacker umsetzten und
ein wenig damit spielen.
Siehe hier: 
http://www.bottomup.co.nz/mirror/Thacker-A_Tiny_Computer-3.pdf

Nur benutzt er zwei Clocks mit unterschiedlichen Phasenlängen und
schreibt dazu:

"
The machine executes instructions in two phases (Ph0 and Ph1). This is 
unlike
essentially all modern computers, which use pipelining to improve 
performance. The
phases are different lengths, since during phase 0, we only need to 
access the IM, while.....
"
- weiteres hat er leider nicht dokumentiert.

Hat jemand ein Idee wie ich diese Phasen umsetzen muss?
Angehängte Dateien:
Gast #1887890
Lesenswert?

mmmmmh,
ich sehe nur im verilog-code:

// the Phases. They are asymmetric -- see .ucf file
BUFG ph0Buf(.I(Ph0In), .O(Ph0)); //this is Xilinx - specific
BUFG ph1Buf(.I(Ph1In), .O(Ph1));

einfach Pho und Ph1 im ucf-File setzen? Aber wie? Er schreibt von 
unterschiedlicher Phasenlänge.
Gast #1887904
Lesenswert?

Wenn's schon unbedingt mit den kranken Phasen sein muss (klingt nach 
70er-Jahre Design...), mach die doch intern im FPGA aus einem 
schnelleren externen Takt. Beispielsweise mit einem damit laufenden 
3Bit-Zähler. phi0 ist dann 1 von 0 bis 3, phi1 von 3 bis 6 oder so 
ähnlich.
Gast #1887925
Lesenswert?

@Georg A.
ich habe auch gelesen das mehrere Clocks 'böse' sind - nur, Mr. Thacker 
ist nicht irgendwer, schau mal in wikipedia.
Das mit dem Zähler werde ich gleich mal versuchen - danke!

@ich
Ist ein Nexys2 mit Spartan3e, DCMs sind mir neu, schaue ich mir an.
Gast #1888073
Lesenswert?

Hier ist es nicht ganz so schlimm, da die beiden Phasen ja synchron 
sind. Solange setup/hold eingehalten wird, ist das kein Problem. Aber 
die Nutzung von zwei Phasen ist inzwischen ziemlich ungewöhnlich, einer 
der letzten CPUs, die das gemacht haben, war afaik ein Ultrasparc Ende 
der 90er. Früher war das mehr verbreitet, weil damit normale Latches 
statt flankengesteuerten FFs möglich waren. Das hat dann viele 
Transistoren gespart...
Moderator (Firma: Titel) Persönliche Seite #1888121
Lesenswert?

Georg A. schrieb:
> einer der letzten CPUs, die das gemacht haben,
> war afaik ein Ultrasparc Ende der 90er.
Das angesprochene Design stammt aus dem Jahr 2007...  :-o
Zum Glück schreibt er aber, das sein Design nicht wie moderne Computer 
funktioniert:
1
 This is unlike essentially all modern computers ...
Da darf man sich schon fragen, warum alle anderen das anders machen... 
;-)

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