Why No Indirect Addressing ?
pjv
Posts: 1,903
Hi All;
Not a complaint, because I love the Prop, but just a curiosity here;
I know it is part of the design philosophy, but what would be the reasoning for the absense of indirect addressing on the Prop ?
While one can, somewhat painfully, work around it, it makes the code much messier, and adds quite a performance hit.
Most other processors have this capability; why not the Prop?
Cheers,
Peter (pjv)
Not a complaint, because I love the Prop, but just a curiosity here;
I know it is part of the design philosophy, but what would be the reasoning for the absense of indirect addressing on the Prop ?
While one can, somewhat painfully, work around it, it makes the code much messier, and adds quite a performance hit.
Most other processors have this capability; why not the Prop?
Cheers,
Peter (pjv)
Comments
Bean
-Phil
Yes, trying to use COG RAM as an array is a pain in the behind. However, it's typically not worth the effort over using HUB RAM (especially for anything other than 32 bit ops). Count you cycles and your instructions.
It can be made like in the early PICs: with 2 special purpose registers, i.e. called INDRW and INDPNTR. If you read from, or write to the register INDRW you access in reality the register with the address in the INDPNTR. This Pointer register can be modified before or after the IND access. IMHO this needs also no additional pipeline stage only an additional Multiplexer.
I think the Prop2 will have something like this.
Andy
Bit ugly and non-orthogonal - Isn't the Prop a RISC design? Until someone's written a compiler back-end I don't think they should be allowed to design an instruction set! [ having said that I do enjoy recreational use of the MUXC/Z instructions ]