[CALU] Re: Instruction Set Encoding

  • From: Elshuber Martin <e9825286@xxxxxxxxxxxxxxxxxxxx>
  • To: calu-ss2010-tuwien@xxxxxxxxxxxxx
  • Date: Fri, 09 Apr 2010 09:25:38 +0200

Ich sehe jetzt im momment nicht viele Möglichkeiten wie wir, wenn wir bei predicates und fixed width ISA bleiben, bits sparen könnten.

Das Flags-Bit sehe ich, zumidest am encoding Level, nicht als problem

das bottleneck ist allerdings die PRED instruction.
was mir spontan einfällt ist:
  * wir fixieren uns auf einen 2-issue processor.
* wir führen 2 akkumulatoren ein (ACa, ACb, einer für jeweils eine pipeline)
  * PRED ist ein instruction die nur alleine ge-issued weden kann
* die anderen instuktionen reduzieren wir so das 2 davon in die 32 bit passen. * wenn es wirklich eng mit den bits wird, kann man das F bit bei den meisten befeheln kicken

was meint ihr?
lg martin

Am 09.04.2010 08:50, schrieb Benedikt Huber:

On 09.04.2010, at 01:18, Benedikt Huber wrote:
- 24bit pro Instruktion war kurz im Gespraech - ich nehm an dass geht sich nicht aus? Ich hab so das Gefuehl, wir relative grosse Instruktionen fuer einen RISC haben auf diesem FPGA haben.
Um diesen Punkt noch etwas zu präzisieren: Lange Instruktionen haben ihren Preis: Der Prefetch dauert länger, wir brauchen einen größeren Prefetch Buffer (oder müssen öfter nachladen) und natürlich mehr Bandbreite um Instruktionen aus dem Buffer zu laden. Das jetzige Design hat für 32-bit relative wenige und recht einfache Instruktionen, und nützt bei vielen Opcodes einige Bits nicht (bei ADD werden z.B. 9 Bits nicht genutz)t. Ich denke, dass 4-bit oder 5-bit immediates auch ausreichen würden (wenn denn ADDI wirklich einen Mehrwert gegenüber INCR hat). Die klassiche ARM ISA mit 32-bit war übrigens nicht unbedingt die glücklichste Wahl, wie man an der Einführung von Thumb und Thumb-2 sieht.

Die Instruction "loadpage" ist mir auch noch unklar. Wie groß ist eine Page? Wie schaut das Alignment aus?
Ich wuerd sagen 32-64 Instruktionen ist eine vernuenftige Groesse, wir muessen halt bedenken, dass wir der load selbst
auch ein paar instruktionen braucht.
Wenn wir ein ROM implementieren, könnten wir diese funktionalität auch über eine Schleife im ROM lösen.
du meinst load page? ja, waer auch eine idee. was sind die tradeoffs?
Ich denke es gibt zwei Möglichkeiten: Wenn wir während des Prefetchs blockieren, dann brauchen wir nicht unbedingt eine eigene Instruktion. Wenn wir paralell prefetchen wollen, dann schon.

lg, benedikt


Other related posts: