The information you need is either in the documentation or a design
decision you're going to have to make.

Gabe

On 03/09/11 21:00, K J wrote:
> Could you please tell me the specific related locations in the source
> code, such as the block “decode OPCODE default Unknown::unknown(){}”
> in src\arch\alpha\isa\decoder.isa? Because I am not familiar with the
> structure of the program. Thank you.
>  
> KJ
>
> On Wed, Mar 9, 2011 at 11:01 PM, Gabe Black <[email protected]
> <mailto:[email protected]>> wrote:
>
>     The file you'd modify is src/arch/alpha/isa/decoder.isa. The
>     syntax for this file is found on the wiki here:
>
>     http://www.m5sim.org/wiki/index.php/The_M5_ISA_description_language
>
>     When adding a blob for your instruction, you'll probably want to
>     put the bits from the actual source and destination registers into
>     intermediate arrays so that their components can be manipulated
>     individually. Then, once you've computed the output, you'd take
>     the value from the intermediate result array and move it into the
>     destination register. The way the parser identifies sources and
>     destinations is that anything to the left of an equals sign is
>     considered a destination, and anything else is considered a
>     source. Its easiest to make sure the parser understands what your
>     doing even with complex operations like this by using intermediate
>     variables and reading and writing what the parser sees as operands
>     with nice, clean assignments. This also means you won't really be
>     able to use, for instance, memcpy since the destination will be a
>     function argument and look like a source even though it's being
>     written to.
>
>     Gabe
>
>
>     On 03/09/11 19:49, K J wrote:
>>     Hi All,
>>
>>     Could you please tell me if I want to add a special instruction
>>     into the Alpha ISA, which files and functions I need to modify?
>>     The M5 version is “m5-stable-f299139501f7”. The instruction like
>>     an addition of two vectors:
>>     VVADD Va, Vb, Vc
>>     For (i=0; i<128, i++) {
>>         Vc[i]=Va[i]+Vb[i];
>>     }
>>     Thank you.
>>
>>     KJ
>>
>>
>>     _______________________________________________
>>     m5-users mailing list
>>     [email protected] <mailto:[email protected]>
>>     http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>
>
>     _______________________________________________
>     m5-users mailing list
>     [email protected] <mailto:[email protected]>
>     http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>
>
>
> _______________________________________________
> m5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to