[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [oc] PUSH/POP Instructions on RISC?



> > > Why are the push/pop instructions never found on risc processors? If a
> > > processor has two write backs to the register file it doesn't need that
> > OR1k doesn't have two write ports...
> Well it's easy to add especially since the regfile is often a dual

It is not at all easy.

> ported ram.

That doesn't help.
You are forgetting that two reads are necessary every cycle besides
the single (or double if you have it your way) write.

Even handling two reads and one write simultaneously requires two
copies of a dual ported RAM. You then use one port on each for the
two separate reads, and write the same thing into both at once.
You can't get two write ports and two read ports simultaneously using
dual port RAM alone. Some extra multiplexing will be needed, at best,
and that costs significant time.

> > > much more hardware to do post/pre-increment/decrement memory reference
> > > instructions. Is there a special reason for not having these

See above.

> > > instructions? It's simpler than a scaled memory reference reg+c*reg.

That it certainly is, and I've never heard of a RISC processor that
has the latter.

As has been mentioned, ARM has something like what you want, and the
PowerPC has something even better with its '...and update' address mode.

-- 
  Chalmers University   | Why are these |  e-mail:   rand@cd.chalmers.se
     of Technology      |  .signatures  |            johank@omicron.se
                        | so hard to do |  WWW:      http://217.215.149.49
   Gothenburg, Sweden   |     well?     |            (fVDI, MGIFv5, QLem)
--
To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml