یک دستور چند رشته: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
ایجادشده به کمک به ویکی‌فا و Dexbot، ابرابزار
(بدون تفاوت)

نسخهٔ ‏۱۹ سپتامبر ۲۰۲۱، ساعت ۱۸:۲۰

یک دستور چند رشته (انگلیسی: Single instruction, multiple threads) (SIMT) یک مدل اجرایی است که در محاسبات موازی مورد استفاده قرار می‌گیرد که در آن دستورالعمل واحد، داده‌های متعدد (SIMD) با چند رشته‌ای ترکیب می‌شود. تفاوت آن با SPMD در این است که تمام دستورالعمل‌ها در همه "threads" در مرحله قفل اجرا می‌شوند. مدل اجرای SIMT روی چندین GPU پیاده‌سازی شده‌است و برای محاسبات عمومی در واحدهای پردازش گرافیکی (GPGPU) مناسب است، به عنوان مثال. برخی از ابر رایانه‌ها CPUها را با GPUها ترکیب می‌کنند.

به نظر می‌رسد که پردازنده‌ها تعداد بیشتری از کارهای p را اجرا می‌کنند. این امر توسط هر پردازنده ای که دارای چندین "نخ" (یا "موارد کار" یا "ترتیب عملیات SIMD Lane") است، انجام می‌شود که در مرحله قفل اجرا می‌شوند و شبیه خطوط SIMD هستند.

ساده‌ترین راه برای درک SIMT، تصور یک سیستم چند هسته ای است، که در آن هر هسته دارای پرونده ثبتی خاص خود، ALUهای خود (SIMD و Scalar) و حافظه پنهان داده خود است، اما برخلاف یک سیستم چند هسته ای استاندارد که دارای چندین حافظه پنهان و رمزگشای دستورالعمل مستقل، و همچنین چندین رجیستر مستقل برنامه شمارنده، دستورالعمل‌ها به‌طور همزمان در تمام هسته‌های SIMT از یک واحد واحد با یک حافظه پنهان دستورالعمل واحد و یک رمزگشای دستورالعمل واحد که دستورات را با استفاده از یک برنامه شمارنده واحد می‌خواند، پخش می‌شود.

تفاوت اصلی بین خطوط SIMT و SIMD این است که هر یک از هسته‌های SIMT ممکن است دارای یک نشانگر Stack کاملاً متفاوت باشند (و بنابراین محاسبات را روی مجموعه داده‌های کاملاً متفاوت انجام می‌دهند)، در حالی که خطوط SIMD به سادگی بخشی از یک ALU هستند که چیزی در مورد حافظه حافظه نمی‌دانند.

جستارهای وابسته

منابع