[ixp1200] How to Ensure Microcode Executes in the Correct Ord er?

David Mentre Mentre at tcl.ite.mee.com
Wed Feb 18 04:36:38 EST 2004


Hello Jo,

> From: Jo Ueyama [mailto:ueyama at comp.lancs.ac.uk]
> Sent: Tuesday, February 17, 2004 7:05 PM

>     Even though I am using ixp1200 (as quoted by Jimm), I'd 
> like to try 
> the signal on my code.
>     BTW, did you mean Microcode Programmer's Reference Manual 
> by quoting 
> "Intel Programmers Reference"? 

Yes, but I did nto take care and I was refering to IXP2400 version of this
manual.

> I was trying to locate the 
> .sig directive 
> but I couldnt find it. Would you mind ensuring the right 
> manual so that 
> I could find out the proper syntax for .sig directive?

I think .sig is specific to IXP2xxx. It is one of the architecture redesign
between ixp12xx and ixp2xxx. On ixp1200, you have only one signal per
functionnal unit. So you need to wait on those specific signals, separetly.

Sorry to have given wrong information.

Looking back at you original code, the really annoying point, as underlined
by Jim, is that your are doing an ALU operation on the register *before*
being sure the source register is correclty loaded, due to the defer token
(alu operation is executed *before* the context swap that should wait for
scratch transfer completion occurs). The ctx_swap operation gives CPU to
other threads and returns only after operation completion. So you really
need to suppress this defer token to have a working code.

Hope I'm not saying stupid things this time,
Yours,
d.
-- 
David Mentré <mentre at tcl.ite.mee.com> - Research engineer (Ph.D.)
Mitsubishi Electric ITE-TCL / European Telecommunication Research Lab
Phone: +33 2 23 45 58 29 / Fax: +33 2 23 45 58 59 
http://www.mitsubishi-electric-itce.fr


More information about the ixp1200 mailing list