- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
Is Nios II fast pipeline implemented with data forwarding? Thanks.Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What do you mean ?
I believe that the 'A' and 'B' fields of all instructions (except call and jmp) cause two 32bit values to be read from the register file during the 'decode' phase (often r0 is read when no value is required). Either of these can cause a pipeline stall if the required value was written by a non-ALU instruction. Something must forward the result from the ALU to avoid this stall.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
dsl,
Thanks a lot for your reply. I mean, for example, can Nios II fast/standard handle data hazard? Say, to forward a to-be-written register content to an instruction at the decode stage which needs this content to avoid a data hazard. Hope I clarified my question. Thanks anyway :)- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The 'f' certainly has logic somewhere to allow an instructions to use the result of the previous 2 normal ALU instructions without stalling the pipeline.
Since there aren't enough clock edges to do a write/read pair, some form of data forwarding must be happening. OTOH the docs don't allow the 's' to stall during the decode phase, possibly that can forward the result of all instructions.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot.
I have found the answer as well. Data forwarding is possible from E/A/W to D.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page