| View previous topic :: View next topic |
| Author |
Message |
Saotome

Joined: 03 Apr 2004 Posts: 182
|
Posted: Wed Nov 24, 2004 1:23 am Post subject: vcallms |
|
|
i was using the vu0 in macromode only so far and would like to use vcallms for some algorithms where i just move some values directly into vu0-registers (using the lqc2 instruction) and then start a subroutine from vu0-micromem. after the subroutine is finished i would store the value with sqc2 in main memory.
i saw an example that looked like this:
lqc2 vf4,0x0(%0)
lqc2 vf5,0x0(%1)
vcallms %2
sqc2 vf4, 0x0(%0)
since there is no code that waits for the end of the subroutine,
does that mean the vcallms-instruction is waiting until the subroutine is finished or does the following sqc2-instruction stall until its finished?
2nd would be better since i could do something else in the meantime.
thanks for any help |
|
| Back to top |
|
 |
blackdroid
Joined: 17 Jan 2004 Posts: 564 Location: Sweden
|
Posted: Wed Nov 24, 2004 7:04 pm Post subject: |
|
|
The only opcodes that does any interlocking with vu0 is qmfc2 and qmtc2, so they are the only ones actually waiting for a microprogram to finish after vcallms/vcallmsr,
lqc2 and sqc2 doesnt do any interlocking so they will just load/store the values at the time of execution. if you want to do stuff in the meantime of a mpg check the status register for vu0 when you want to fetch the result. _________________ Kung VU |
|
| Back to top |
|
 |
Saotome

Joined: 03 Apr 2004 Posts: 182
|
Posted: Thu Nov 25, 2004 4:40 am Post subject: |
|
|
thanks blackdroid
so if qmfc2 interlocks with vu0 then i dont need a loop where i read the status register and check if vu0 is still running, one qmfc2 instruction would suffice before writing the rest to memory?
for example:
| Code: |
...
vcallms %0
/* ...doing something else... */
qmfc2 $1,vf01 /* wait / interlock(?) */
sqc2 vf01,0x0(%1)
sqc2 vf02,0x10(%1)
sqc2 vf03,0x20(%1)
|
_________________ infj |
|
| Back to top |
|
 |
blackdroid
Joined: 17 Jan 2004 Posts: 564 Location: Sweden
|
Posted: Thu Nov 25, 2004 4:51 am Post subject: |
|
|
i should have said qmtc2.i/qmfc2.i, the normal operation is without interlock.
but yes your way of thinking is correct, just change qmfc2 to qmfc2.i _________________ Kung VU |
|
| Back to top |
|
 |
Saotome

Joined: 03 Apr 2004 Posts: 182
|
Posted: Thu Nov 25, 2004 5:45 am Post subject: |
|
|
ok, thanks a lot. _________________ infj |
|
| Back to top |
|
 |
Saotome

Joined: 03 Apr 2004 Posts: 182
|
Posted: Fri Dec 09, 2005 12:39 am Post subject: |
|
|
Is this some kind of a bot? Can someone ban him and delete his nonsense posts? _________________ infj |
|
| Back to top |
|
 |
gorim
Joined: 21 Sep 2005 Posts: 18
|
|
| Back to top |
|
 |
|