ورود

نسخه کامل مشاهده نسخه کامل : نگاهی سطحی به دستورالعمل های Intel Sse4



Mahdi_Moosavi
03-08-2008, 17:43
به نام یزدان پاک



مقدمه


Intel® Streaming SIMD Extensions 4 که مخفف Intel SSE 4 هست شامل 54 دستورالعمل جدید هست که با شروع نسل 45nm پردازنده های اینتل متولد شد .

47 دستورالعمل از این 54 عدد در پردازنده های 45nm در معماری CoreTM (code named Penryn)i گنجانده شده ، که به این زیرمجموعه از دستورات SSE 4.1 اطلاق می شود .

تمام زیر مجموعه دستورات SSE 4.1 + هفت دستور باقی مانده در پردازنده های 45nm که با معماری Nehalem(code named Nehalem)i مشخص می شوند گنجانده شده که این زیر مجموعه دستورات ، SSE 4.2 نامیده می شود .





نگاهی سطحی به دستورالعمل های SSE4


هدف این دستورات افزایش Performance در برنامه های چند رسانه ای ، imaging ، و برنامه های کار با object های 3 بعدی هست . این دستورات با افزایش کارایی کامپایلر های برداری و همچنین شامل پک هایی از دستورالعمل هایی هست که افزایش محاسبات Dword یا همان Text Processing را در بر دارد .

این دستورالعمل ها همچنین عملیاتی رو میسر می سازند که طی آن توان عملیاتی Memory در زمانی که اطلاعات از uncacheable WC memory خوانده میشوند افزایش پیدا میکند .





مجموعه دستورالعمل های SSE 4.1


• 2 دستورالعمل که نقش ضرب کننده های پک dword رو ایفا می کنند .

• 2 دستورالعمل که تولید نقطه ای داده های floating-point همراه با گزینش خروجی و ورودی داده ها رو بر عهده دارند .

• 1 دستورالعمل که وظیفه بارگذاری به همرا یک streaming hint رو در بردارد .

• 6 دستورالعمل که ساده سازی دادهای blend را بر عهده دارد .

• 8 دستورالعمل که پشتیبانی از حداقل و حداکثر اعداد صحیح را توسعه می دهد .

• 4 دستورالعمل که گرد کردن داده های floating-point به همراه روش گرد کردن انتخابی و دقت لغو کردن استثناء ها را پشتیبانی می کند .

• 7 دستورالعمل که ورود داده ها و استخراج آن ها را از رجیستر های XMM بهبود می بخشد .

• 12 دستورالعمل که باعث بهبود تبدیل داده های عدد صحیح می شوند ( علامت و پسوند های مبدآ ) .

• 1 دستورالعمل که باعث بهبود SAD (sum absolute difference)i جهت کوچک تر شدن بلوک ها میشود .

• 1 دستورالعمل که به جست و جوی عملیات افقی کمک میکند .

• 1 دستورالعمل که مقایسه های ماسک شده رو بهبود می بخشد .

• 1 دستورالعمل که باعث اضافه شدن بسته های ، برابری مقایسه های ، داده های qword میشوند .

• 1 دستورالعمل که باعث اضافه شدن بسته های Dword به همراه اشباع شدن بی علامت میشود .




عملکرد مجموعه 7 دستورالعمل های SSE 4.2

• رشته سازی و محاسبات واژه که میتواند با استفاده از یک دستور ، دستور العمل های چندگانه را برنامه ریزی کند .

• دستورالعمل های Application-targeted accelerator (ATA)i

• 1 دستورالعمل SIMD (Single Instruction, Multiple Data)i که افزایش ظرفیت 128bit ی اعداد صحیح SIMD در SSE4.1 می شود .



COMPATIBILITY



SSE4 به طور کامل با نرم افزار هایی که برای نسل قبلی معماری Intel 64and IA-32 microprocessors نوشته شده اند سازگاری دارد .

تمام نرم افزار های حال حاضر بدون نیاز به اصلاح شدن به طور صحیح طبق این دستورات بر روی این میکروپروسسورها RUN می شوند .





وسلام
=============================================

ترجمه و جمع آوری مطالب با سید مهدی موسوی .


منبع : [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

becareful
06-08-2008, 16:53
با تشکر از مهدی.
افزایش performance در برنامه ها :
تکنولوژی Advanced Digital Media Boost توسط دستورات sse4 ارتقا پیدا کرده و افزایش performance در پردازش video و audio کلا (multimedia) توسط cpu های 45 نانومتری penryn که از sse4 پشتیبانی میکنن داشته.همچنین افزایش کارایی رو در برنامه های speach recognition و برنامه های مهندسی بوده.
عکس زیر هم جالبه افزایش کارایی رو در 45 نانومتری ها که sse4 رو دارن نشون میده(هالبته فرکانسش هم بالاتره ولی مقداری ازافزایش پرفورمنس به sse4 برمیگرده)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

5farvardin
13-05-2011, 21:57
سلام
مرسی مهدی جون به خاطر توضیحات خوبت ، اما من یه مشکلی با این دستورات simd در دات نت دارم ، دستوراتش رو پیدا نمی کنم و یا طرز استفاده اونها در دات نت رو هم نمی دونم .چون با msdn هم سرچ کردم و چیزی نفهمیدم .....
هدف از برنامه ای که میخام بنویسم اینکه در پردازنده های 8086 اینتل سرعت محاسبه با دستورات simd و دستورات خود دات نت برای اجرای برنامه ای که دو آرایه 16*16 رو مقدار دهی میکند چه قدر تفاوت دارند از لحاظ زمانی ... ( البته که دستورات simd این برنامه رو سریعتر اجرا می کند )
اما من دستوراتش رو نمی دونم + اینکه برنامه ام رو میتونم به هر زبانی در دات نت بنویسم....