پیش‌نویس:معماری فضایی (معماری کامپیوتر)

این مقاله در حال ترجمه از ویکی انگلیسی است لطفا حذف نشود.

در علوم کامپیوتر، معماری فضایی (معماری کامپیوتر) نوعی معماری کامپیوتر است که از تعداد زیادی واحد پردازش (PE) هماهنگ‌شده و با ارتباط مستقیم با یکدیگر استفاده می‌کند تا هسته‌های بسیار موازی‌پذیر را سریع و کارآمد اجرا کند. اصطلاح «فضایی» از این واقعیت ناشی می‌شود که نمونه‌های واحد پردازش معمولاً به صورت یک آرایه یا شبکه، هم از نظر منطقی و هم در طراحی سیلیکونی، چیده می‌شوند. رایج‌ترین workloadهای آنها شامل ضرب ماتریسها، کانولوشنها یا به طور کلی انقباض تنسورها است. به همین دلیل، معماری‌های فضایی اغلب در شتاب‌دهنده هوش مصنوعی استفاده می‌شوند.

هدف کلیدی معماری فضایی، کاهش تأخیر و مصرف توان اجرای هسته‌های بسیار بزرگ از طریق بهره‌گیری از موازی‌سازی مقیاس‌پذیر و استفاده مجدد از داده است. یک هسته (kernel) را در نظر بگیرید، یعنی تابعی که باید روی چندین ورودی اعمال شود و به صورت یک یا چند حلقه بیان می‌گردد. هدف، توزیع محاسبات آن بین واحدهای پردازش است به گونه‌ای که وابستگی‌های داده‌ای آن‌ها یا در همان واحد یا در همان ناحیه از واحدها قرار گیرد.

در حالی که معماری‌های فضایی می‌توانند برای پشتیبانی از الگوریتم‌های متفاوت طراحی یا برنامه‌ریزی شوند، هر workload باید با استفاده از dataflowهای تخصصی روی واحدهای پردازش نگاشت (map) شود. فرموله کردن یک نگاشت شامل تخصیص هر عملیات به یک واحد پردازش و زمان‌بندی جابجایی‌های داده حاصل است؛ همه اینها برای بیشینه کردن موازی‌سازی داده و استفاده مجدد تنظیم می‌شوند.

معماری‌های فضایی به عنوان یک پردازنده آرایه‌ای از نوع SPMD (یا تک‌تابع چندداده) دسته‌بندی می‌شوند، به این معنا که هر واحد پردازش عملیات یکسانی را روی زیرمجموعه متفاوتی از داده اجرا می‌کند، با این حال همه آن‌ها از طریق یک نگاشت واحد برنامه‌ریزی می‌شوند. معماری یک واحد پردازش منفرد خود می‌تواند به هر کلاسی از رده‌بندی فلین تعلق داشته باشد. به طور خاص، معماری‌های فضایی برای کاربردهایی مناسب هستند که جریان داده آن‌ها روابط تولیدکننده-مصرف‌کننده (مانند کاهش موازی) از خود نشان می‌دهند یا می‌توانند از اشتراک‌گذاری کارآمد داده در میان ناحیه‌ای از واحدهای پردازش بهره ببرند.

معماری‌های فضایی معمولاً به عنوان شتاب‌دهنده سخت‌افزاری در سیستم‌های ناهمگن، در زیرمجموعه گسترده‌تر پردازنده چندهسته‌ای یافت می‌شوند.

 جزئیات طراحی 
عنصر اصلی معماری فضایی، آرایه چندبعدی آن از واحدهای پردازش است. هر واحد پردازش ساده است، مانند یک واحد عملکردی از نوع ضرب-و-انباشت، یک هسته کاهش‌یافته، یا منطق مخصوص کاربرد. واحدهای پردازش سپس از طریق گذرگاه‌ها یا یک شبکه درون‌تراشه‌ای، یا حتی منطق ناهمگام، به یکدیگر و به سلسله‌مراتب حافظه متصل می‌شوند. سلسله‌مراتب حافظه به طور صریح مدیریت می‌شود و ممکن است از چندین بافر درون‌تراشه‌ای مانند فایل‌های ثبات، حافظه موقتی (scratchpad) و FIFOها تشکیل شده باشد که توسط حافظه دسترسی تصادفی پویا (DRAM) خارج از تراشه و حافظه‌های غیرفرار پشتیبانی می‌شوند.

تعداد واحدهای پردازش، پهنای باند interconnect و مقدار حافظه درون‌تراشه‌ای بین طراحی‌ها و کاربردهای هدف بسیار متفاوت است. از هزاران واحد پردازش و ده‌ها مگابایت حافظه برای رایانش با کارایی بالا تا ده‌ها عنصر و چند کیلوبایت برای لبه (edge) شبکه.

معیارهای کلیدی عملکرد برای یک معماری فضایی، انرژی مصرفی و تأخیر هنگام اجرای یک workload معین است. به دلیل محدودیت‌های فناوری و پهنای باند، انرژی و تأخیر مورد نیاز برای دسترسی به حافظه‌های بزرگ‌تر مانند DRAM بر محاسبات غالب است و صدها برابر بیشتر از چیزی است که برای ذخیره‌سازی نزدیک واحدهای پردازش نیاز است. به همین دلیل است که سلسله‌مراتب حافظه یک معماری فضایی به گونه‌ای طراحی شده است که بیشتر دسترسی‌های تکراری به مقادیر را در حافظه‌های درون‌تراشه‌ای سریع‌تر و کارآمدتر متمرکز کند و با بهره‌گیری از استفاده مجدد از داده، دسترسی‌های پرهزینه را به حداقل برساند.

 استفاده مجدد از داده 
سازوکارهایی که استفاده مجدد را در معماری فضایی امکان‌پذیر می‌سازند، پخش همگانی (multicast) و کاهش (reduction) هستند. استفاده مجدد را می‌توان به دو دسته فضایی و زمانی طبقه‌بندی کرد. interconnectionهای معماری فضایی می‌توانند از پخش همگانی فضایی پشتیبانی کنند به این صورت که یک خواندن از حافظه بیرونی برای چندین نوشتن به نمونه‌های درونی استفاده می‌شود، و کاهش فضایی، جایی که خواندن‌ها از حافظه‌های درونی در یک نوشتن بیرونی واحد تجمیع می‌گردند.

استفاده مجدد زمانی زمانی رخ می‌دهد که یک مقدار مشابه در حافظه نگهداری شود در حالی که چندین بار خوانده (پخش همگانی) و/یا به‌روزرسانی (کاهش) می‌شود بدون اینکه دوباره از حافظه دیگری واکشی شود.

حالتی را در نظر بگیرید که هسته‌ها را می‌توان با واحدهای پردازش موازی شبیه واحد محاسبه و منطق (ALU) محاسبه کرد، مانند ضرب ماتریس‌ها و کانولوشن‌ها. ارتباط مستقیم بین واحدهای پردازش می‌تواند به طور مؤثر برای عبور مجموع‌های جزئی به منظور دستیابی به انباشت توزیع‌شده فضایی، یا به اشتراک‌گذاری داده ورودی یکسان برای محاسبه موازی بدون دسترسی مکرر به حافظه‌های بیرونی استفاده شود.

 منابع 

 پیش‌نویس:معماری فضایی (معماری کامپیوتر) ← معماری فضایی (معماری کامپیوتر) 

 
 
 برای مدیران: [&wpNewTitleNs=&wpReason={{urlencode:وپ:درخواست انتقال — این مقاله ترجمه شده از ویکی‌پدیای انگلیسی است و بیش از ۲۰ سطر محتوا دارد. برای تحویل تمرین دانشگاهی نیاز به انتقال به فضای اصلی دارم. لطفا انتقال دهید. با تشکر}} انتقال]
این مقاله ترجمه شده از ویکی‌پدیای انگلیسی است و بیش از ۲۰ سطر محتوا دارد. برای تحویل تمرین دانشگاهی نیاز به انتقال به فضای اصلی دارم. لطفا انتقال دهید. با تشکرAli2006 1405 (بحث) ۱۵ ژوئن ۲۰۲۶، ساعت ۱۷:۱۶ (UTC)