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

محتوای حذف‌شده محتوای افزوده‌شده
Rezabot (بحث | مشارکت‌ها)
جز ربات: حذف میان‌ویکی موجود در ویکی‌داده: ۲۱ میان‌ویکی
Rezabot (بحث | مشارکت‌ها)
جز ربات:افزودن الگو ناوباکس {{جبر خطی عددی}}+املا+تمیز+
خط ۱:
'''چندپردازی''' در [[مهندسی سخت‌افزار]] به بکارگیری دو یا چند [[واحد پردازشگر مرکزی]] در یک سیستم رایانه‌ای می‌گویند. این واژه به توانایی یک سیستم در بکارگیری چند پردازنده و تقسیم وظایف بین آن‌ها نیز اطلاق می‌شود. بسته به اینکه واحدهای پردازشگر مرکزی چگونه تعریف می‌شود (چند هسته روی یک قاب، چند چیپ درون یک بسته، چند بسته در یک سیستم و غیره)، تعریف واژه چندپردازی نیز می‌تواند تغییر کند.
 
این واژه گاهی به اجرای همزمان چند [[فرآیندفرایند]] نرم‌افزاری گفته می‌شود. هرچند که واژه [[چندعملگری]] در این باره مناسب‌تر است چرا که منحصرامنحصراً در مهندسی نرم‌افزار کاربرد دارد در حالی که چندپردازی بیش‌تر درباره واحد پردازشگر مرکزی چندسخت‌افزاره کاربرد دارد.
 
== ایده اصلی ==
ایده اصلی در پس بکارگیری چندپردازنده در یک سیستم این است که عملکرد چنین سیستم‌هایی در مقایسه با سیستم‌های تک‌پرداز بسیار بیشتر است. اما این عملکرد به این سادگی‌ها حاصل نخواهد شد و برای این منظور سیستم باید همه موارد زیر را همزمان داشته باشد
* پشتیبانی مادربرد: مادربرد باید [[سوکت|سوکت‌های]]‌های کافی برای تراشه‌های اضافه و تراشه‌ای برای بکارگیری پردازنده‌ها داشته باشد.
 
* پشتیبانی مادربرد: مادربرد باید [[سوکت]]‌های کافی برای تراشه‌های اضافه و تراشه‌ای برای بکارگیری پردازنده‌ها داشته باشد.
 
* پشتیبانی پردازنده: تنها برخی از پردازنده‌ها می‌توانند در سیستم‌های چندپرداز مورد استفاده قرار گیرند.
 
* پشتیبانی سیستم‌عامل: سیستم‌عاملی که از چندپردازی پشتیبانی کند مانند ویندوز NT یا [[یونیکس]]
 
== تقارن پردازش ==
یکسان بودن سی‌پی‌یوها و نحوه بکارگیری آن‌ها توسط [[سیستم‌عامل]] تعیین‌کننده متقارن یا نامتقارن بودن پردازش است. مثلامثلاً دستورات هسته سیستم‌عامل ممکن است تنها توسط یک سی‌پی‌یو اجرا شود و دستورات کاربر به نحو مشخصی بین سایر پردازنده‌ها توزیع شود. طراحی '''سیستم‌های چندپرداز''' در صورتی که چنین محدودیت‌هایی وجود داشته باشد ساده‌تر است اما عملکرد این نوع سیستم‌ها در مقایسه با سیستم‌هایی که سی‌پی‌یوها در آن‌ها یکسان به کار گرفته می‌شود و هر سی‌پی‌یو می‌تواند توسط هسته سیستم‌عامل یا [[نرم‌افزار کاربردی|برنامه‌های کاربردی]] به کار گرفته شود ضعیف‌تر است.
 
سیستم‌عامل سان(SunOS v۴) نامتقارن و سیستم‌عامل‌های سولاریس و ویندوز NT متقارن هستند.
سطر ۱۹ ⟵ ۱۶:
== درگیری پردازشگرها ==
* سیستم‌های چندپرداز '''سخت-درگیر''' دارای چند سی‌پی‌یو هستند که در سطح باس (bus) به هم مربوط شده‌اند.
* سیستم‌های چندپرداز '''نرم-درگیر''' (که معمولاً با عنوان [[خوشه کامپیوتری|خوشه]] از آن‌ها یاد می‌شود) شامل چند کامپیوتر جداگانه هستند که توسط سیستم‌های ارتباطی با سرعت بالا (معمولامعمولاً [[اترنت گیگابیت]] Gigabit Ethernet) به هم وصل شده‌اند.
 
* سیستم‌های چندپرداز '''نرم-درگیر''' (که معمولاً با عنوان [[خوشه کامپیوتری|خوشه]] از آن‌ها یاد می‌شود) شامل چند کامپیوتر جداگانه هستند که توسط سیستم‌های ارتباطی با سرعت بالا (معمولا [[اترنت گیگابیت]] Gigabit Ethernet) به هم وصل شده‌اند.
 
== برنامه‌نویسی چندتاری و سیستم‌های چندپردازنده ==
برای اینکه سیستم چندپرداز بتواند به خوبی به کار گرفته شود علاوه بر موارد بالا نیاز است که نرم‌افزار ما برای سیستم چندپرداز بهینه شود. در چنین نرم‌افزاری نیاز است چند فرآیندفرایند (مثلامثلاً چند تابع از کد برنامه) همزمان اجرا شوند که به آن [[چندتاری]] می‌گویند. اجرای همزمان چند فرآیندفرایند به سیستم‌عامل اجازه می‌دهد تا بتواند اجرای آن‌ها را به بیش از یک پردازنده بسپارد. اگر [[نرم‌افزار کاربردی]] مزبور نتواند همزمان چند فرآیندفرایند را اجرا کند نمی‌تواند از مزایای سیستم‌های چندپرداز بهره بگیرد هرچند که با اجرای همزمان چند نرم‌افزار همچنان می‌توانید از پردازنده‌های اضافی بهره بگیرید.
 
== پروتکل ارتباط بین پردازنده‌ها ==
سطر ۳۱ ⟵ ۲۷:
 
== منابع ==
{{پانویس}}
* (انگلیسی) http://www.pcguide.com/ref/cpu/arch/extSMP-c.html
 
* (انگلیسی) http://www.faqs.org/docs/kernel/x1291.html
 
* (انگلیسی) http://www.archicadwiki.com/Multiprocessing
 
{{علوم رایانه}}
{{رایانش موازی}}
{{جبر خطی عددی}}
[[رده:رایانش موازی]]
[[رده:رده‌های رایانه]]