رفتن به مطلب

= مجموعه Instructions پردازنده های معماری Core =


Recommended Posts

 
mzlt_cpu.gif
 
 
 
درود خدمت دوستان قصد دارم در این تاپیک براساس هر نسل از پردازنده های Intelو در کنار هم اشارههای به معماری AMD داشته باشم، 


در راستای بهبود یافتن در بخش دستورالعمل ها مخصوصا در بخش AVX 2 نسخه بهبود یافته و بروزرسانی شده نسل پیشین دستورالعمل AVX میباشد، با استفاده از ثبات ها یا Register های 256 بیتی برای عملیات های Floating Point و همچنین گسترش ثباتهای Integer یا عدد صحیح درون پردازنده ما در پردازنده های HASWELL شاهد دستورالعمل دیگری نیز هستیم، این دستورالعمل Haswell New Instructions یا HNI میباشد، اگر درون ثباتهای AVX جستجو نماییم شامل زیر دستورالعمل های Integer عدد صحیح که محدود شده اند به 128 بیتی ولی درون پردازنده هایی که از دستورالعمل AVX2 استفاده کرده باشند زیر دستورالعمل های Integer به 256 بیت افزایش یافته است 
دستورالعمل AVX2 پشتیبانی میکند از سه عملوند که این عملوندها شامل FMA و FMA3 که به صورت کامل Fused Multiply Add می باشد این عملوند ها قادرند میباشد اجراء کنند عملیاتهای مانند : a*b+c درون یک Single Instruction ، این دستورالعمل ها توسط شرکت AMD نیز به وسیله برنامه نویسان سخت افزاری خود ویرایش و نوشته میشوند با عملوند FMA 4 که درون معماری PileDriver نیز جاسازی شده است، اضافه شدن دو واحد FMA درون پردازنده ، اضافه شدن دستورالعمل 15 بیتی BMI درون پردازنده ها که باعث Indexing وCryptography وهمچنین تبدیل داده ها مورد استفاده قرار میگیرد، 
اضافه شدن سه دستورالعمل دیگر درون معماری Haswell که شاهد استفاده از ان درون پردازنده های Haswell - Refresh نیز هستیم، دستورالعمل TSX یا Transactional Synchronization Extensions وظیفه ای این دستورالعمل کمک کردن به حل همگام سازی داده ها زمانی که ممکن است داده های توسط دو فرایند مورد استفاده قرار گیرند و در همان زمان یا لحظه .
پردازنده های شرکت Intel دارای شش Dispatch Port میباشد که متصل میباشد به ایستگاه رزرو یا Reservation Station چایی قسمت Microcode - Rom منتظر می ماند که فرایند ها در ان ذخیره شوند و پردازنده انها را اجراء کند، ایستگاه رزرو مانند یک Buffer است برای اجرای دستورالعمل همراه با Operands ها ، قبلا نیز گفته بودم Dispatch ها در بخش Pipline و اجرای پردازنده قرار ندارند .
در معماری نسل چهارم و درون پردازنده های Haswell ما شاهد دو Dispatch Port جدید که باعث افزایش تعداد Micro instructions درون Reservation Station ذخیره می شود و سپس بعد از فرایندی ارسال می شود به قسمت واحد های اجرایی، 
ما در معماری این نسل شاهد اضافه شدن 17 واحد اجرایی میباشیم که درحالی در نسل قبل Sandy Bridge و IVY Bridge به ترتیب شاهد 12 و 15 واحد اجرایی می باشیم.
مهم ترین بخش در معماری Haswell و Haswell Refresh افزایش مسیر Path Data 256 بیتی بین ایستگاه رزرو و واحد ها اجرایی در حالی که ما در پردازنده های نسل قبل Sandy Bridge و IVY Bridge مسیر داده ها بین Reserved Station و Execution Unit نیز 128 بیتی میباشد.
دستورالعمل AVX 2 شاهد دو موتور خواهیم بود که دستورالعمل ها را اجراء میکند.استفاده کردن از تکنولوژی 2D Video Engine نیز در پردازنده های IVY Bridge شاهد ان خواهیم بود که پشتیبانی میکند از وضوح تصویر Quad HD 4096*2160 P و بهمراه Screen Refresh Rate 60 HZ به وسیله خروجی Display Port 1.2 ، پشتیبانی از Encoder به صورت Integrated ،
ما در نسل بعد شاهد جاسازی دستورالعمل های 512 بیتی AVX 3.2 خواهیم بود درون پردازنده های Broad Well و XEON و Sky LAKE خواهیم بود.
شرکت Intel در دستورالعمل های AVX خود اقدام به معرفی SIMD 256 بیتی YMM0-YMM7 در هر دو حالت 32 بیتی و 64 بیتی شامل YMM15 -YMM0 میباشد، 
برای پشتیبانی از دستورالعمل های 256 بیتی Vectors و مجموعه دستورالعمل های SIMD T این دستورالعمل ها مدیریت و کنترل می شوند توسط سیستم عامل به وسیله دو دستورالعملی که توسط شرکت Intel معرفی شد : XSave و XRSTOR در پردازنده های Intel. شرکت Intel اقدام به معرفی Instruction Syntax کرده است که عموما اقدام به تولید سه عملوند میکند برای بهبود بخشیدن به قابلیت برنامه نویسی سخت افزاری و توسعه دستورالعمل های جدید، 

پردازنده ای Intel Corei7 4790K دارای 8 MB کش سطح 3 به صورت اشتراکی برای تمامی هسته ها و همچنین IMC یا Integrated Memory Controller درون پردازنده از فرکانس های حافظه به صورت پیش فرض 1333 / 1600 MHZ به صورت دو کاناله Dual Channel پشتیبانی میکند، کوچک شدن حافظه سطح 3 نسبت به نسل قبل و تفاوت بین دو پردازنده Intel Corei7 4770K و Intel Corei7 4790K در افزایش فرکانس 500 MHZ میباشد، در بخش گرافیک مجتمع درون پردازنده های Intel که نامیده GMA یا Graphics Media Accelerator HD مدل HD 4600 میباشد که Intel برای پردازنده های رده های دیگر نیز از مدل های IGPU HD 4400 - HD 4200 در مقایسه با نسل سوم پردازنده های معماری CORE دارای پیشرفتهای میباشد همین طور که گفته شد واحد اجرایی بخش 20 واحد اجرایی Execute Unit هستیم گرافیک مجتمع HD 4600 در سطح GT2 و قدرت محاسباتی IGPU HD 4600 هم 432 GFLops میباشد، 


مثلا ما در پردازنده های Haswell و SKYLAKE، برخی برنامه ها کاربردی هستند که نمی توانند به صورت کامل و بهینه از دستورالعمل ها AVX a,b استفاده کنند در اینجا معماری و سایر بخش های دیگر پردازنده به کمک این برنامه می ایند این فرایند ارتباطی سرراستی به برنامه نویس سیستمی دارد ، از معماری Sandy Bridge و IvyBridge به سمت Haswell و Skylake به ترتیب شاهد افزایش 50 و100 درصدی IPC هستیم با اضافه شدن دستورالعمل AVX 2.b ، بسته به معماری خاص پردازنده ها ایستگاههای رزرو می توانند Operands ها درون ایستگاه رزرو باشند مانند : الگوریتم Tomasulo . 

یک دستورالعمل در ایستگاه رزرو قرار می گیرد به FU می گوید زمانی که Operand ها کامل شدند و همگی در دسترس هستند شروع به اجرای واحد های اجرایی کند جایی که Intel در بخش IGPU خوب با استفاده از حافظه های پر سرعت خود L4 کرده است
قبلا نیز گفته بودم ما در بخش Microcode - ROM ها از میلیون ها شایدم میلیاردها Brunch استفاده می کنیم که شامل تعداد زیادی شرط IF هستند یک نمونه از این شرط های ساده می گوید اگر همه ای Operand ها در دسترس هستند براساس درخواستی که از ایستگاه رزرو شده است موجود می باشد و FU ها مشغول نیستند یک دستورالعمل جدید اعزام کنید تا چرخه ای بعدی سریعا اجراء شود تا Latency شاهدش نباشیم. یک از مشکلاتی در معماری PileDrive درون پردازنده FX شرکت AMD شاهد بودیم بحث Cache بودش ناتوان در اجرای برخی از دستورات این دستورات می توانند در یک ایستگاه رزرو نیز باقی بمانند. زمانی کار FU تمام شد بر اثر در خواست و اجرای دستورالعمل ها و در نتیجه خروجی اماده می شود Forwarding و Buffering و دستورالعمل گفته شده کامل می شود . در طی مراحل پایانی و ایستگاه رزرو خالی از دستورات و عملیات می باشد و دوباره این روند تکرار می شوند تا زمانی که دستورات خاصی به ایستگاه رزرو نرسد. 

یک نمونه برنامه های شبیه سازی ( پزشکی ، مهندسی، نظامی و ...) در معماری Haswell و Skylake به خوبی سریعتر از نسل های قبلی معماری Core اجراء می شوند این به خاطر استفاده از دستورالعمل ها نیست این احتمال هستش که این برنامه از دستورالعمل ها دیگری استفاده می کنه ولی ما در معماری haswell و Skylake شاهد افزایش پهنای باند L1 و L2 برای دسترسی و پردازش داده ها از سلولهای حافظه هستیم و یکی دیگر از این نکات مهم در این دو معماری استفاده از Queue ها Wide هستش نسبت به نسل قبل 
قراربود Intel قبل از عرضه SKYLAKE از دستورالعمل های AVX 512 بیتی استفاده نماید چه در رده محصولاتی Desktop و چه سرور ولی در طی یک اقدام ناگهانی Intel اعلام کرد AVX 512بیتی برای رده سرور در نظر گرفته شده است و جای نگرانی نیستش هنوز هیچ نرم افزار کاربردی نیستش که به صورت کامل و از تمامی قدرت AVX 2 .b استفاده نماید.
 
 

* درج مقاله بدونه نام نویسنده و سایت منبع ممنوع می باشد شرعا حرام است. 

** این تاپیک بروزرسانی می شود .
ویرایش شده توسط TERRORIST
لینک به دیدگاه
Share on other sites

دستور العمل AVX یا Advanced Vector Extensions :


مجموعه ای از دستور العمل های SIMD که در ابتداء 128 بیتی بوده است در اولین نسل از پردازنده های معماری Core و بعد از ان در پردازنده نسل دوم Sandy Bridge شرکت Intel اقدام به تغییرات گسترده ای در این معماری و دستورات کرده است در پردازنده های Sandy Bridge از 128 بیتی به 256 بیتی کره است در ابتداء Intel با استفاده از 4 تا Operations 32 Bit در بحث SP یا Single Precision شاملش می شود ولی در بخش DP یا Double Precision ما شاهد دو Operations 64 Bit هستیم در هر چرخه پردازش یا Cycle و حال شرکت Intel بعد از نسل اول اقدام به تقسیم و اضافه کردن Operations های بیشتری در بخش پردازنده ها کرده است با استفاده از 8 Operations 32 Bit در SP و چهار Operations 64 bit در بخش DP که باعث افزایش پهنای باند Buss ها نیز می شود ، این دستورالعمل Extension شده شامل مجموع دستورات Floating Point که با استفاده از الگوریتم های مورد نظر مورد استفاده قرار میگیرد در پردازنده های Intel ، این دستور العمل توسعه و رشد داده شد است توسط عملیات های SIMD ، که شامل دستورات موازی سازی ویژگی هاجدیدی می شود مانند:توسعه دادن SIMD ثباتهای از 128 بیتی به 256 بیتی، دستورالعمل طراحی و پشتیبانی می شوند از 512 یا 1024 بیتی، در اینده ، سه عملوند غیر مخرب اضافه شده اند ، در نسخه های قبل AVX ما شاهد دو عملوند بودیم مانند : A = A+B ، که نوشته میشود بروی عملوند های منابع، در عملوند جدید که به AVX اضافه شده است ، ما دارای سه عملوند A = B + C میباشد، که عبور میدهند منابع اصلی عملوند ها را به دونه هیچ گونه تغییری ، چند دستورالعمل جدید نیز اضافه شده است، که دارای چهار ثبات میباشد، که اجازه میدهد کد ها کوچکتر و سریعتر اجراء شوند ویا دستور العمل های که مورد نیاز نیستند پاک شوند، یکی از قابلیتهای مهم AVX برای ساده کردن کار با دستورات اسمبلی در پردازنده های می باشد و یا سایر قابلیتهای برنامه نویسی در محیط های دیگر با استفاده از instrinsics AVX ، شرکت با استفاده از زبان های C و ++ C اقدام به نوشتن Compiler های مروبط به این دستورالعمل ها می کند .

شرکت Intel در نسل پنجم با اسم رمز Haswell، اقدام به معرفی دستورالعمل AVX ورژن 2 کرده است همراه با دستورات جدید دربخش اصلی SIMD، پیشتر نیز اعلام کرده بودم توسعه یافته شده دستورات AVX می باشند پردازنده های Haswell اولین نسل از پردازنده های هستند از دستورالعمل های AVX ورژن 2 بهره می برند و پیش از ان نیز هیچ پردازنده ای از این دستورالعمل ها بهره نبرده است . 
سیستم عامل های مانند: ویندوز و لینوکس قبل از سال 2011 که منتشر شده بودن Kernel این سیستم عاملها نمی توانستند از دستورالعمل های 256 بیتی AVX پشتیبانی کنند ، بعد از ان شرکت بزرگ Microsoft با بروزرسانی در بخش ویندوز 7 و ارائه Service Pack1 را ارائه کرده که قبل از ان این سیستم عامل از دستورالعمل های 128 بیتی قابل استفاده و پشتیبانی می شدند حال شرکت Intel بعد از معرفی دستورات 256 هنوز سیستم عامل از این دستورات پشتیبانی نمی کردند.

شرکت Nvidia خود شامل AVX یا ISA Instructions Set Architecture می باشد برعکس AVX در پردازنده ها ضعف بزرگی که دارد این هستش که نمی تواند Handling کند دسترسی متوالی به Memory ها که باعث کاهش Performance نیز می شود زمانی که داده ها به صورت Non - Aligned مورد استفاده قرار می گیرند.

از دستورالعمل AVX بیشتر برای برنامه های کاربردی ، چندرسانه ای ، بازی سازی ، محاسبات ، پردازش های موازی و دسترسی به خانه های حافظه ها استفاده می شود

ویرایش شده توسط TERRORIST
لینک به دیدگاه
Share on other sites

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پست در این تاپیک...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
  • اضافه کردن...