On Wed, Aug 8, 2012 at 10:38 AM, Richard Herveille <[email protected]> wrote: > 2) No conditional execution of instructions. Nice if you're making a small > controller (or ARM7 clone), but not for a new architecture. Anything new > should have the possibility to run Out-Of-Order execution, with branch > prediction, and register renaming.
I'm inclined to agree here, a heavily predicated instruction set is probably not the path for or2k. I wouldn't mind a conditional move though, it's fairly simple to implement, not very resource hungry and it has some (although relatively small) benefits on simple pipelines. I know that it might be hurtful on more complex out-of-order, register renaming implementations with good branch prediction when executing it (i.e. the good branch prediction makes the conditional branch a win over the conditional move due to missed instruction reordering opportunities), but are there implementation considerations here too? I mean, is it more cumbersome to implement a conditional move on a o-o-o implementation? >Conditional instructions also make multiple unit implementations (i.e. >multiple integer/floating point/load-store units) much more difficult. Interesting, although I'm not sure I understand why. Care to elaborate? Stefan _______________________________________________ OpenRISC mailing list [email protected] http://lists.openrisc.net/listinfo/openrisc
