طبقه بندی دانکن

**طبقه بندی دانکن** () یک طبقه بندی از معماری کامپیوتر است که توسط رالف دانکن در سال 1990 ارائه شد.دانکن تغییراتی را در طبقه بندی فلین پیشنهاد کرد تا شامل فرآیندهای برداری خط لوله شود.
## طبقه بندی
طبقه بندی در طول 1988 تا 1990 توسعه یافت و اولین بار در سال 1990 منتشر شد. دسته بندی اصلی آن در زیر نشان داده شده است.

### معماری های سنکرون
این دسته شامل تمام معماری‌های موازی است که اجرای همزمان را به روش lockstep هماهنگ می‌کنند و این کار را از طریق مکانیسم‌هایی مانند ساعت‌های جهانی، واحدهای کنترل مرکزی یا کنترل‌کننده‌های واحد برداری انجام می‌دهند. تقسیم بندی بیشتر این دسته عمدتاً بر اساس مکانیسم همگام سازی انجام می شود.

#### پردازنده های برداری خط لوله
*[[پردازنده برداری|پردازنده های برداری]] خط لوله* با واحدهای عملکردی خط لوله مشخص می شوند که یک جریان متوالی از آرایه یا عناصر *برداری* را می پذیرند، به طوری که مراحل مختلف در یک خط لوله پر شده در حال پردازش عناصر مختلف بردار در یک زمان معین هستند.موازی سازی هم از طریق خط لوله در واحدهای عملکردی منفرد که در بالا توضیح داده شد و هم با کارکردن چندین واحد از این نوع به صورت موازی و با *زنجیر کردن* خروجی یک واحد به واحد دیگر به عنوان ورودی ارائه می شود.

معماری‌های برداری که عناصر برداری را به واحدهای عملکردی از ثبات‌های برداری خاص هدایت می‌کنند، معماری‌های *ثبات به ثبات* نامیده می‌شوند، در حالی که آن‌هایی که واحدهای عملکردی را از بافرهای حافظه ویژه تغذیه می‌کنند، به عنوان معماری *حافظه به حافظه* تعیین می‌شوند.

نمونه های اولیه معماری ثبات به ثبات از دهه 1960 و اوایل دهه 1970 شامل Cray-1 و Fujitsu VP-200 است، در حالی که Control Data Corporation STAR-    100، CDC 205 و Texas Instruments Advanced Scientific Computer نمونه های اولیه معماری های برداری حافظه به حافظه هستند.

اواخر دهه 1980 و اوایل دهه 1990 شاهد معرفی معماری های برداری بودیم، مانند Cray Y-MP/4 و Nippon Electric Corporation SX-3 که از 4-10 پردازنده برداری با حافظه مشترک پشتیبانی می کردند (به معماری NEC SX مراجعه کنید).RISC-V RVV ممکن است سرآغاز احیای مدرن پردازش برداری باشد.

#### SIMD
این طرح از دسته بندی *[[یک دستور چند داده|SIMD]]* (جریان دستورالعمل تک، جریان داده های متعدد) از طبقه بندی فلین به عنوان یک کلاس ریشه برای *آرایه پردازنده* و زیرکلاس های *حافظه شرکت پذیر* استفاده می کند. معماري‌هاي SIMD با داشتن يك واحد كنترل يك دستورالعمل مشترك را براي تمام عناصر پردازشي پخش مي‌كنند، كه اين دستورالعمل را به روش lockstep در عملوندهاي مختلف از داده‌هاي محلي اجرا مي‌كند. ویژگی‌های مشترک شامل توانایی تک تک پردازنده‌ها برای غیرفعال کردن یک دستورالعمل و توانایی انتشار نتایج دستورالعمل به همسایگان بلاواسطه از طریق یک شبکه ارتباطی داخلی است.

##### آرایه پردازنده

##### حافظه شرکت پذیر

#### آرایه سیستولیک
*آرایه های سیستولیک*، ارائه شده در دهه 1980،  چند پردازنده هایی هستند که در آنها داده ها و نتایج جزئی به طور ریتمیک از پردازنده ای به پردازنده دیگر از طریق یک شبکه ارتباطی داخلی منظم و محلی پمپاژ می شوند.معماری‌های سیستولیک از یک ساعت جهانی و تأخیرهای زمان‌بندی صریح برای همگام‌سازی جریان داده از پردازنده‌ای به پردازنده دیگر استفاده می‌کنند.هر پردازنده در یک سیستم سیستولیک، قبل از اینکه داده ها و نتایج به پردازشگرهای همسایه ارسال شوند، یک توالی ثابت از دستورالعمل ها را اجرا می کند.

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

#### حافظه توزیع شده

#### حافظه مشترک

### معماری های الگوی MIMD
مقوله پارادایم های مبتنی بر MIMD سیستم هایی را در بر می گیرد که در آنها یک الگوی برنامه نویسی یا اجرایی خاص حداقل به اندازه ملاحظات ساختاری برای طراحی معماری ضروری است. بنابراین، طراحی *معماری‌های جریان داده* و *ماشین‌های کاهنده* به همان اندازه که محصول اتصال پردازنده‌ها و حافظه‌ها به روش MIMD است، محصول پشتیبانی از الگوی اجرایی متمایز آن‌ها است. زیرمجموعه های این دسته با این الگو ها تعریف می شوند.

#### هیبریدی MIMD/SIMD

#### ماشین جریان داده

#### ماشین کاهنده

#### آرایه جبهه موج

## منابع
9. C Xavier and S S Iyengar, Introduction to Parallel Programming

* 

رده:معماری رایانه