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

از ویکی‌پدیا، دانشنامهٔ آزاد

طبقه بندی دانکن (انگلیسی: Duncan's taxonomy) یک طبقه بندی از معماری کامپیوتر است که توسط رالف دانکن در سال 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[ویرایش]

ماشین جریان داده[ویرایش]

ماشین کاهنده[ویرایش]

آرایه جبهه موج[ویرایش]

منابع[ویرایش]

  1. ۱٫۰ ۱٫۱ ۱٫۲ ۱٫۳ ۱٫۴ ۱٫۵ ۱٫۶ Duncan, Ralph, "A Survey of Parallel Computer Architectures", IEEE Computer. February 1990, pp. 5-16.
  2. Flynn, M.J., "Very High Speed Computing Systems", Proc. IEEE. Vol. 54, 1966, pp.1901-1909.
  3. Introduction to Parallel Algorithms
  4. ۴٫۰ ۴٫۱ Hwang, K., ed., Tutorial Supercomputers: Design and Applications. Computer Society Press, Los Alamitos, California, 1984, esp. chapters 1 and 2.
  5. Russell, R.M., "The CRAY-1 Computer System," Comm. ACM, Jan. 1978, pp. 63-72.
  6. Watson, W.J., The ASC: a Highly Modular Flexible Super Computer Architecture, Proc. AFIPS Fall Joint Computer Conference, 1972, pp. 221-228.
  7. Michael Jurczyk and Thomas Schwederski,"SIMD-Processing: Concepts and Systems", pp. 649-679 in Parallel and Distributed Computing Handbook, A. Zomaya, ed., McGraw-Hill, 1996.
  8. ۸٫۰ ۸٫۱ Kung, H.T., "Why Systolic Arrays?", Computer, Vol. 15, No. 1, Jan. 1982, pp. 37-46.

9. C Xavier and S S Iyengar, Introduction to Parallel Programming