C.mmp
این مقاله، C.mmp، اخیراً بهواسطهٔ فرایند ایجاد مقاله ایجاد شدهاست. بازبینیکننده در حال بستن درخواست است و این برچسب احتمالاً بهزودی برداشته میشود.
ابزارهای بازبینی: پیشبارگیری بحث اعلان به نگارنده |
خطای اسکریپتی: پودمان «AfC submission catcheck» وجود ندارد.
C.mmp از اولین سیستمهای چند پردازنده چندگانه ، چندگانه داده ( MIMD ) بود که در دانشگاه کارنگی ملون (CMU) توسط ویلیام ولف (1971) توسعه یافت. نماد C.mmp از نماد PMS گوردون بل و آلن نیول، که در آن یک واحد پردازش مرکزی (CPU) به عنوان C تعیین شده است، یک نوع خاص با علامت نقطه مشخص شده است، و mmp مخفف Multi-Mini-Processor است. در تاریخ ۲۰۲۰ ، این دستگاه در CMU، در Wean Hall، دانشگاه کارنگی ملون به نمایش گذاشته شده است.
ساختار[ویرایش]
شانزده کامپیوتر کوچک PDP-11 توسط شرکت تجهیزات دیجیتال به عنوان عناصر پردازشی، به نام ماژول های محاسباتی (CM) در سیستم استفاده شد. هر ماژول دارای حافظه داخلی 8K و مجموعه ای محلی از دستگاههای جانبی بود. یکی از چالشها این بود که یک دستگاه فقط از طریق پردازنده متصل منحصر به فرد خود در دسترس بود، بنابراین سیستم ورودی/خروجی (I/O) (طراحی شده توسط Roy Levien) اتصال دستگاهها را پنهان میکرد و درخواستها را به پردازنده میزبان هدایت میکرد. اگر پردازنده ای از کار بیفتد ، دستگاه های متصل به Unibus آن از دسترس خارج می شد که در قابلیت اطمینان کلی سیستم مشکل ایجاد می کرد. پردازنده 0 ( پردازنده بوت ) درایوهای دیسک را متصل کرده بود.
هر یک از ماژول های محاسباتی مسیرهای ارتباطی زیر را به اشتراک گذاشتند :
- گذرگاه Interprocessor - برای توزیع کلاک سیستم، وقفه و پیامهای کنترل فرآیند بین CMها استفاده میشود.
- یک نقطه تلاقی 16x16 - برای اتصال 16 عدد CM در یک طرف و 16 بانک حافظه مشترک در طرف دیگر استفاده می شود. اگر هر 16 پردازنده به بانک های مختلف حافظه دسترسی داشته باشند، دسترسی های حافظه همه همزمان خواهد بود. اگر دو یا چند پردازنده سعی در دسترسی به یک بانک حافظه داشته باشند، به یکی از آنها در یک چرخه دسترسی داده می شود و بقیه در چرخه های حافظه بعدی مذاکره می شود.
از آنجایی که PDP-11 فضای آدرس منطقی 16 بیتی داشت، واحد ترجمه آدرس دیگری برای افزایش فضای آدرس به 25 بیت برای فضای حافظه مشترک اضافه شد. معماری Unibus 18 بیت آدرس فیزیکی را ارائه میدهد و دو بیت مرتبه بالا برای انتخاب یکی از چهار رجیستر جابجایی که بانک حافظه را انتخاب میکنند، استفاده میشود. مناسب مدیریت این ثبات ها یکی از چالش های برنامه نویسی بود سیستم عامل (OS) هسته .
طراحی اصلی C.mmp از حافظه هسته مغناطیسی استفاده میکرد، اما در طول عمر آن، حافظه با دسترسی تصادفی (RAM) پویا با کارایی بیشتر در دسترس قرار گرفت و موجب ارتقای سیستم شد.
پردازندههای اصلی، پردازندههای PDP-11/20 بودند. اما در سیستم پایانی، تنها پنج مورد از آنها مورد استفاده قرار گرفت. 11 پردازنده باقیمانده، پردازنده های PDP-11/40 بودند که با داشتن فضای میکروکد اضافی قابل نوشتن، اصلاح شدند. همهٔ تغییرات این ماشین ها در CMU طراحی و ساخته شده است.
اکثر تغییرات 11/20 سفارشی شده در صفحه پشتی سیم پیچی بودند ، اما به دلیل آنکه PDP-11/40 در میکروکد پیاده سازی شده بود، یک برد proc-mod جدا طراحی شد که دستور های خاصی را پیگیری می کرد و نیازهای سیستم عامل محافظت شده را اعمال میکرد. به عنوان مثال، برای یکپارچگی سیستم عامل، لازم بود که عدد ثبات نشانگر پشته هرگز عددی فرد نباشد. در 20/11، این کار با قطع کردن هدایت کننده به بیت مرتبه پایین ثبت پشته انجام شد. در 40/11، هر گونه دسترسی به پشته توسط برد proc-mod رهگیری شد و اگر بیت مرتبه پایین 1 بود، یک تله دسترسی غیرقانونی به داده ایجاد کرد.
سیستم عامل[ویرایش]
سیستم عامل مورد نظر Hydra نام گرفت. این سیستم عامل مبتنی بر قابلیتها، شیء گرا ، چند کاربره و میکروکرنل بود. منابع سیستم به عنوان اشیا نمایش داده می شدند و از طریق قابلیتها محافظت می شدند.
سیستم عامل و اکثر نرم افزارهای کاربردی به زبان برنامه نویسی BLISS-11 نوشته شده بودند که نیاز به کامپایل متقابل بر روی دستگاه PDP-10 داشت. این سیستم عامل مقدار ناچیزی از زبان اسمبلی استفاده می کرد.
در میان زبانهای برنامه نویسی موجود در این سیستم، نوعی از ALGOL 68 بود که شامل افزونههایی بوده که از محاسبات موازی پشتیبانی می کردند تا از C.mmp به خوبی استفاده شود. کامپایلر ALGOL به صورت محلی بر سیستم عامل Hydra اجرا می شود.
قابلیت اطمینان[ویرایش]
از آنجایی که قابلیت اطمینان کلی سیستم به اجرای همهٔ ۱۶ پردازنده (CPU) بستگی دارد، مشکلاتی جدی در قابلیت اطمینان سخت افزار به طور کلی وجود داشت. اگر میانگین زمان بین خرابی (MTBF) پردازندهای 24 ساعت باشد، آنگاه قابلیت اطمینان کلی سیستم 16/24 ساعت و به عبارتی حدود 40 دقیقه بود. به طور کلی، این سیستم عامل معمولا بین دو تا شش ساعت کار می کرد. بسیاری از این خرابی ها به دلیل اشکالات زمان بندی بسیاری از مدارهای خاص اضافه شده به پردازندهها بود. تلاش زیادی برای بهبود قابلیت اطمینان سختافزار انجام شد و هنگامی که یک پردازنده به طور محسوسی از کار میافتاد، پارتیشن بندی میشد و عیبیابی را برای چندین ساعت اجرا میکرد. وقتی اولین مجموعه عیب یابی را پشت سر گذاشت، دوباره به عنوان یک پردازنده ورودی/خروجی پارتیشن بندی شد و کد برنامه را اجرا نمی کرد (اما دستگاه های جانبی آن در دسترس بودند). آن را به اجرای تشخیصی ادامه داد. اگر بعد از چند ساعت دیگر این موارد را پشت سر بگذارد، به عنوان یک عضو کامل از مجموعه پردازنده بازیابی می شود. به همین ترتیب، اگر بلوکی از حافظه (یک صفحه) معیوب تشخیص داده شود، از مجموعه صفحات موجود حذف می شود و تا زمانی که در غیر این صورت اطلاع داده نشود، سیستم عامل این صفحه را نادیده می گیرد. بنابراین، سیستم عامل به یک نمونه اولیه از یک سیستم مقاوم در برابر خطا تبدیل شد، که قادر به مقابله با مشکلات سخت افزاری بود که به طور اجتناب ناپذیری به وجود آمدند.
منابع[ویرایش]
- Wulf, W. A.; Bell, C. G. (1972). C.mmp: A multi-mini-processor (Report). Carnegie Mellon University (CMU). http://research.microsoft.com/users/GBell/CGB%20Files/Cmmp%20Multi-Mini-Processor%20ComConference%201972%20c.pdf.
- Wulf, Wm. A.; Harbison, S. P. III (2000). "Reflections in a Pool of Processors: An Experience Report on C.mmp/Hydra". Readings in Computer Architecture. Gulf Professional Publishing. pp. 561–573. ISBN 9781558605398.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- Bell, C. G.; Broadley, W.; Wulf, W. A.; Newell, A.; Pierson, C. (1971). C.mmp: The CMU Multiminiprocessor Computer: Requirements and Overview of the Initial Design (Report). Carnegie Mellon University (CMU). http://link.cs.cmu.edu/files/1971-08-24-CMMP.pdf.
- Wulf, Wm. A.; Harbison, Samuel P. III; Levin, Roy (1 January 1981). HYDRA/C.mmp: An Experimental Computer System. McGraw-Hill. ISBN 978-0070721203.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
رده:رایانش موازی رده:تاریخ علم رایانه و محاسبات
This article "C.mmp" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:C.mmp. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.