2010/3/31 ольга крыжановская <olga.kryzhanov...@gmail.com>:
> 2010/3/31 Martin Bochnig <mar...@martux.org>:
>> 2010/3/28 ольга крыжановская <olga.kryzhanov...@gmail.com>:
>>> I am looking for a Sun Studio C example for inline SPARC assembler
>>> which uses the VIS 'block copy' instruction to move a block of <n>
>>> bytes. Has anyone time to write such an example for me, please?
>>>
>>> Olga
>>> --
>>>      ,   _                                    _   ,
>>>     { \/`o;====-    Olga Kryzhanovska   -====;o`\/ }
>>> .----'-/`-/     olga.kryzhanov...@gmail.com   \-`\-'----.
>>>  `'-..-| /     Solaris/BSD//C/C++ programmer   \ |-..-'`
>>>      /\/\                                     /\/\
>>>      `--`                                      `--`
>>
>>
>>
>> Hi Olga, I got myself confused now.
>> But look at this:
>>
>> http://books.google.com/books?id=L4oyNrsFBbsC&pg=PT69&lpg=PT69&dq=vis+block+memcpy&source=bl&ots=jl1be3e-ut&sig=v8RCH_S5LKdE0qcsYJ2WWNT0-_g&hl=ru&ei=kgSzS_rNEsqi_Abm6rX8CA&sa=X&oi=book_result&ct=result&resnum=3&ved=0CA4Q6AEwAjgK#v=onepage&q=vis%20block%20memcpy&f=false
>>
>> Support exists in processors to accelerate block copying. Sun´s VIS 
>> instruction
>> set implemented in the UltraSPARC-series processors has a block-copying 
>> instruct
>> ion that bypasses the caches, while still maintaining consistency between 
>> the ca
>> ches and main memory. The bcopy(3C) and memcpy(3C) function calls both use 
>> this
>> mechanism on VIS-enabled processors AUTOMATICALLY.
>>
>>
>> and
>>
>>
>> http://books.google.com/books?id=0S8guIHHaiIC&pg=PA149&lpg=PA149&dq=vis+block+memcpy&source=bl&ots=cOhh1QOz_g&sig=V5qi3JWgPogmglvL83WeYIpXgrs&hl=ru&ei=kgSzS_rNEsqi_Abm6rX8CA&sa=X&oi=book_result&ct=result&resnum=6&ved=0CBoQ6AEwBTgK#v=onepage&q=vis%20block%20memcpy&f=false
>>
>>
>> The UltraSPARC-specific VIS block move instruction performs a 64-byte 
>> transfer t
>> hat is both cache coherent and nonpolluting. This feature IS USED by the 
>> platfor
>> m-specific libc bcopy, bzero, memcpy, memmove, memset, memcmp operations.
>
> But not strcpy(), sprintf(), right?
>
> Olga




Not mentioned in this vintage book.
But who knows for sure?

I now check, if we can find out more about this from the SPARC
Architecture manual and the v9 ABI.
Unfortunately sparc.org and
http://www.sparc.com/specificationsDocuments.html seem to be down at
the moment.

But here is a copy:

http://developers.sun.com/solaris/articles/sparcv9.pdf

http://dlc.sun.com/pdf/816-5138/816-5138.pdf


Also: A better place for getting the right answers on ISA-specific
(plus Solaris-specific) implementation details regarding especially
sun4v T1 and T2 might be http://www.opensparc.net  .
Did you already ask over there?

Dont miss their download section      :)))





%martin
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to