Conclusion


Examining code did show, that three instructions per 32 Bit word
seem to be not too efficient, five instructions would be better.

Also, the absence of pre_increment/post_decrement addressing modes
bloats the code for stack operations.

For a RISC CPU like this, 8 registers are the absolute minimum,
16 or more registers would be better, especially when toying with
pipeline and/or VLIW concepts.

It also would have been nice to add a literal move/add to the
instruction set, which might take two or three slots...
For loading/adding a sign extended 10 or 20 Bit literal word to
a register, what could have made the code more compact.
when using short branch/call instructions, for instance.

Of course, all the things mentioned above won't fit into
a 32 Bit instruction word.

But we are not the first who tried to pack several instructions
into a word, it looks like Charles Moore and Seymour Cray
already did similar things.


Using ADD, SUB, INC, DEC and shift operations together with the
status register doesn't make much sense, so it might be possible
to add six additional single_operand instruction to this design,
one of them maybe related to "shift left" with carry.

If the instruction in the first Slot is an "always true SKIP",
the rest of the 32 Bit instruction word is dropped/discarded by the CPU.
Which means that the CPU will ignore the lower 26 Bits of said word,
so we either could define some new CPU instructions (maybe DSP related
stuff), or try to add something like a "coprocessor", maybe for memory
management/protection, vector graphics or floating point support.
(It's just an idea.)

I wish we would have integrated the interrupt controller into the CPU...


As the name indicates, elegance, speed and the use of modern components
was no concern when defining this instruction set and architecture.

Nevertheless, we think that the design has some potential, even when
porting it to FPGAs.

If you had success in building an "open hardware" project with one
(or multiple) TREX cores inside an FPGA, please write a few articles
about it.


[HOME] [UP]/ [BACK] [1] [2] [3] [4] [5] [6] [7] [8]

(c) Dieter Mueller 2007, 2008