موضوع مقاله: معماری مختص دامنه | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # معماری مختص دامنه | مقدمه: معماری مختص دامنه(DSA)، یک معماری کامپیوتری قابل برنامه‌ریزی است که به طور خاص برای عملکرد بسیار کارآمد در محدوده یک دامنه کاربردی مشخص طراحی شده است.این اصطلاح اغلب در تضاد با معماری‌های همه منظوره، مانند CPUها ، که برای کار بر روی هر برنامه کامپیوتری طراحی شده‌اند، استفاده می‌شود. | ## بخش 1: معماری مختص دامنه | تاریخچه همزمان با رونق صنعت نیمه‌هادی که از دهه 1960 آغاز شد، معماران کامپیوتر وظیفه داشتند راه‌های جدیدی برای بهره‌برداری از تعداد فزاینده ترانزیستورهای موجود پیدا کنند. قانون مور و مقیاس‌بندی دنارد به معماران این امکان را داد تا بر بهبود عملکرد ریزپردازنده‌های همه منظوره در برنامه‌های همه منظوره تمرکز کنند. این تلاش‌ها منجر به چندین نوآوری تکنولوژیکی مانند حافظه‌های نهان چند سطحی ، اجرای خارج از ترتیب ، خطوط لوله دستورالعمل عمیق، چند نخی و چند پردازشی شد. تأثیر این نوآوری‌ها بر اساس معیارهای عمومی مانند SPEC سنجیده می‌شد و معماران نگران ساختار داخلی یا ویژگی‌های خاص این برنامه‌ها نبودند. پایان مقیاس‌بندی دنارد معماران کامپیوتر را وادار کرد تا از یک پردازنده‌ی بسیار سریع به پردازنده‌های چند هسته‌ای روی آورند. پایان قانون مور، تمرکز را از معماری‌های همه منظوره به سمت سخت‌افزارهای تخصصی‌تر تغییر داد. اگرچه پردازنده‌های همه منظوره احتمالاً در هر سیستم کامپیوتری جایگاهی خواهند داشت، سیستم‌های ناهمگن متشکل از اجزای همه منظوره و اجزای خاص دامنه، جدیدترین روند برای دستیابی به عملکرد بالا هستند. در حالی که شتاب‌دهنده‌های سخت‌افزاری و ASIC از زمان آغاز صنعت نیمه‌هادی در حوزه‌های کاربردی بسیار تخصصی مورد استفاده قرار گرفته‌اند، اما عموماً یک تابع خاص را با انعطاف‌پذیری بسیار محدود پیاده‌سازی می‌کنند. در مقابل، تغییر به سمت معماری‌های مختص به حوزه، به دنبال دستیابی به تعادل بهتری از انعطاف‌پذیری و تخصص است. یک نمونهٔ اولیهٔ قابل‌توجه از معماری‌های قابل‌برنامه‌سازیِ خاص‌دامنه، پردازنده‌های گرافیکی (GPU) هستند. از زمان احیای هوش مصنوعی مبتنی بر یادگیری ماشین در دههٔ ۲۰۱۰، چندین معماریِ خاص‌دامنه برای تسریع انجام استنتاج (Inference) در انواع مختلف شبکه‌های عصبی مصنوعی توسعه یافته‌اند. | ## بخش 2: معماری مختص دامنه | دستورالعمل‌هایی برای طراحی DSA جان هنسی و دیوید پترسون پنج اصل برای طراحی DSA را تشریح کردند که منجر به بهره‌وری بهتر در مساحت و صرفه‌جویی در انرژی می‌شود. هدف در این نوع معماری اغلب کاهش هزینه‌های مهندسی غیرتکراری (NRE) نیز هست تا سرمایه‌گذاری در یک راه‌حل تخصصی بتواند راحت‌تر مستهلک شود. به حداقل رساندن فاصله‌ای که داده‌ها جابجا می‌شوند: جابجایی داده‌ها در سلسله مراتب حافظه عمومی به مقدار قابل توجهی انرژی نیاز دارد تا تلاش شود تأخیر دسترسی به داده‌ها به حداقل برسد. در مورد معماری‌های خاص دامنه، انتظار می‌رود که درک دامنه‌های کاربرد توسط طراحان سخت‌افزار و کامپایلر ، امکان ایجاد سلسله مراتب حافظه ساده‌تر و تخصصی‌تر را فراهم کند، جایی که جابجایی داده‌ها تا حد زیادی در نرم‌افزار انجام می‌شود و حافظه‌های سفارشی برای عملکردهای خاص در دامنه وجود دارد. از ساده‌ترین شکل موازی‌سازی که با دامنه مطابقت دارد استفاده کنید: از آنجایی که دامنه‌های برنامه کاربردی هدف تقریباً همیشه شکلی ذاتی از موازی‌سازی را ارائه می‌دهند، تصمیم‌گیری در مورد چگونگی بهره‌برداری از این موازی‌سازی و نمایش آن در نرم‌افزار مهم است. برای مثال، اگر یک معماری SIMD بتواند در دامنه کار کند، استفاده از آن برای برنامه‌نویس آسان‌تر از یک معماری MIMD خواهد بود. کاهش اندازه و نوع داده‌ها به ساده‌ترین نوع مورد نیاز برای دامنه: در صورت امکان، استفاده از انواع داده‌های محدودتر و ساده‌تر مزایای متعددی را به همراه دارد. از یک زبان برنامه‌نویسی مختص دامنه برای انتقال کد به DSA استفاده کنید: یکی از چالش‌های DSAها، سهولت استفاده و به طور خاص‌تر، توانایی برنامه‌نویسی مؤثر معماری و اجرای برنامه‌ها روی آن است. استفاده مجدد از ابزارهای کامپایلر و چارچوب‌های نرم‌افزاری موجود، استفاده از DSA جدید را به طور قابل توجهی قابل دسترس‌تر می‌کند. DSA برای شبکه‌های عصبی عمیق یکی از حوزه‌های کاربردی که DSA بیشترین موفقیت را در آن یافته است، هوش مصنوعی است. به طور خاص، چندین معماری برای شتاب‌دهی شبکه‌های عصبی عمیق (DNN) توسعه داده شده‌اند. | ## بخش 3: معماری مختص دامنه | این تراشه در اصل یک موتور ضرب ماتریسی است که از یک مجموعه‌دستورالعمل پیچیده (CISC ISA) پیروی می‌کند. موتور ضرب از اجرای سیستولیک استفاده می‌کند تا مصرف انرژی کاهش یابد و تعداد عملیات نوشتن در حافظهٔ SRAM کمتر شود. این پروژه از قابلیت پیکربندی‌پذیری مجدد FPGA بهره می‌برد تا بتواند مجموعهٔ گسترده‌ای از برنامه‌ها را با شتاب‌دهی سخت‌افزاری اجرا کند. به همین دلیل، یکی از نگرانی‌های اصلی نویسندگان این چارچوب محدود بودن قابلیت برنامه‌پذیری آن بود. DSA برای دامنه‌های دیگر علاوه بر کاربرد در هوش مصنوعی، معماری‌های خاص‌دامنه (DSA) در بسیاری از حوزه‌ها نیز مورد استفاده قرار می‌گیرند، از جمله: محاسبات علمی، پردازش تصویر و شبکه‌های کامپیوتری. PVC یک معماری خاص‌دامنه (DSA) چند‌هسته‌ای کاملاً قابل برنامه‌ریزی برای پردازش تصویر، بینایی ماشین و هوش مصنوعی است که برای دستگاه‌های موبایل و در آینده برای اینترنت اشیاء (IoT) طراحی شده است.این تراشه برای اولین بار در گوگل پیکسل ۲ و ۲ XL که در ۱۹ اکتبر ۲۰۱۷ معرفی شدند، ظاهر شد و همچنین در گوگل پیکسل ۳ و ۳ XL نیز به‌کار گرفته شد. این سیستم از یک شبکه اتصال توپولوژی توروس سه‌بعدی تخصصی برای اتصال چندین گره محاسباتی استفاده می‌کند. هر گره محاسباتی شامل مجموعه‌ای از 64 هسته است که از طریق یک مش به هم متصل شده‌اند. هسته‌ها یک خط لوله عمیق تخصصی را برای محاسبه کارآمد میدان نیرو بین مولکول‌ها پیاده‌سازی می‌کنند. | ## جمع‌بندی | این سیستم ناهمگن، سخت‌افزار همه منظوره و اجزای خاص دامنه را برای دستیابی به سرعت شبیه‌سازی رکوردشکن ترکیب می‌کند.