[CALU] Re: Isa Encodings

  • From: Benedikt Huber <benedikt@xxxxxxxxxxxxxxxxxx>
  • To: calu-ss2010-tuwien@xxxxxxxxxxxxx
  • Date: Tue, 20 Apr 2010 10:59:38 +0200


On 19.04.2010, at 22:32, Günther Wimpassinger wrote:

Schönen Abend,

Ich habe Benedikts Encodings etwas kompakter in isa-spec-3short.txt zusammen gefasst. Des weiteren hab ich versucht ein ähnliches/darauf basierendes Encoding zu finden, dass bei den Shift-Operationen immer noch 5bit Immediates (schieben um 0-31 Stellen) erlaubt.
all: isa-spec-gw.txt. Sieht sehr gelungen aus, und ist relativ einfach zu verstehen, IMHO.

Eine kurze Zusammenfassung von meinem Encoding:

[LOADPAGE] Diese Operation ist so spezielle, da kann man auch erlauben
ein Register vorher entsprechend zu laden. Dafür kann man auf einen
größeren Speicherbereich zugreifen. Einschränkung: Es gibt nur max. 16
Pages. Für die LU mehr als ausreichend.
Klingt ok.
[MUL/DIV] Es gibt: MUL/DIV/DIVS. Diese Operationen setzen keine Flags.
Da es sich um "langsame" Operationen handelt, finde ich es vertretbar,
die Zustände "händisch" nach dem Ausführen von MUL/DIV abzufragen.
+1
[RET/IRET] Leider musste ich da einen Teil des Opcodes in den Operanden-
teil verschieben, um zwischen RET und IRET unterscheiden zu können.
[LOG/ARITH] Bei den log./arithm. Operationen habe ich darauf geachtet,
dass die selben Bits im OPCODE die Funktion bestimmen. Ging leider
nicht immer.
schaut gut aus
[PRED] Es ist ein Register-Register, ein Predicate-Predicate, ein
Register-4bit Immediate und ein Predicate-Immediate vergleich möglich.
Mal schauen wie sich das auf die Logik im FPGA auswirkt.
wow, cool dass sich das auch noch ausgegangen ist.

danke fuer die (neuerliche) revision.
ich hab heute eine deadline, werde aber morgen aber ca. 10h intensiv an CALU arbeiten. @josip,david: gebt bescheid, falls ihr was ausmachen wollt bzw. was zu commiten habt.

lg, benedikt

Other related posts: