Skip to content
This repository has been archived by the owner on Aug 12, 2022. It is now read-only.

Any hints about the ignore_flush_is0 signal #33

Open
zhaoxiahust opened this issue Oct 29, 2020 · 1 comment
Open

Any hints about the ignore_flush_is0 signal #33

zhaoxiahust opened this issue Oct 29, 2020 · 1 comment

Comments

@zhaoxiahust
Copy link

zhaoxiahust commented Oct 29, 2020

Hi guys,

I cannot clearly understand the below code and the related comments. Can anyone give me more hints about this? What does " before or after the "real" fxu selection" mean?

`-- During fdiv/fsqrt the axu may select this thread before or after the "real" fxu selection.

-- If the axu selects this thread earlier than the fxu, s1 is simply updated early.

-- If the axu selects this thread later than the fxu, ucode instructions would get wiped out by the flush

-- This signal protects the instruction from being flushed

ignore_flush_is0 <= (fdiv_is0 or fsqrt_is0) and isfu_dec_is0; -- these opcodes will not change the FpScr or any Fpr. Only scratch reg s0 will be changed
`

Many thanks

@openpowerwtf
Copy link
Collaborator

I'm not sure - you will have to trace through those signals. But those are 'special' ops in general - div/sqrt are always done as extended-execution ops, and usually raise a signal when complete (they iterate and typically are reusing pipe resources, so have to stall behind them). Since the comment also mentions the scratch reg, I would guess they are also microcoded.

Let me know if you find out anything more...

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants