معماری سیستم کامپیوتر بر پایه پردازنده ها

سیستم های کامپیوتریبر پایه پردازنده ها می توانند شامل تک پردازنده (Single Processor) یا چندین (Multi Processors) باشند. در تک پردازنده ای، پردازنده با سوئیچ کردن پردازنده میان پردازش ها، اجازه می دهد تا پردازنده میان چندین پردازش به اشتراک گذاشته شود. سرعت سوئیچ پردازنده به اندازه ای بالا است که کاربر از آن آگاه نیست. به این گونه، همروندی می گویند.

همروندی به این مفهوم است که یک پردازنده بتواند چندین پردازش را اجرا کند. هسته سیستم عامل الگوریتمی را برای این منظور به کار می برد. الگوریتم های گوناگونی برای اجرا پردازش ها و سوئیچ کردن آنها میان پردازنده هست که هر کدام از سیستم عامل ها، الگوریتم خودش را به کار می برد.

در چند پردازنده ای می توان به گونه موازی چندین پردازش را اجرا کرد. پردازش موازی سرعت اجرا را بالا می برد. برای زمینه هایی محاسباتی بالا مانند ماتریس ها یاپردازش داده ها، سیستم چند پردازنده ای کارآمد خواهد بود. همه کار بر روی پردازنده های گوناگون پخش شده و سپس پاسخ پایانی از گردآوری همه پاسخ ها، بدست می آید.

در تک پردازنده ای همه حافظه در اختیار همان تک پردازنده است ولی در چند پردازنده ای حافظه یا به گونه اشتراکی میان همه پردازنده ها و یا به شیوه خصوصی برای هر کدام از پردازنده ها است. سیستم چند پردازنده ای که حافظه میان تمامی پردازنده ها اشتراکی است را، چند پردازنده ای متفارن (Symmetric Multi Processing یا SMP) می گویند و سیستم چند پردازنده ای که هر کدام از پردازنده ها حافظه خصوصی خودشان را دارند را سیستم های چند پردازنده ای نامتقاران (Asymmetric Multi Processing یا AMP) می گویند.

معماری AMP (نامتقارن) به گونه Master-Slave است به گونه ای که به هر کدام از پردازنده ها، یک وظیفه (Task) ویژه انتساب داده می شود. تنها یک پردازنده Master و دیگران Slave هستند. سیستم عامل بر روی پردازنده Master و دیگر فرایندها بر روی پردازنده های Slave اجرا می شوند. در معماری SMP دیگر پردازش های Master و Slave نیست و همه پردازنده ها، همه گونه فرایندهای درون سیستم عامل را اجرا می کنند.

۱ - در AMP یک پردازنده تمامی فرایندهای خود سیستم عامل را اجرا می کند.

۲ - در AMP پردازنده Master وظیفه واگذاری فرایند را به هر کدام از پردازنده های Slave دارد و یا اینکه از پیش یک فرایند به Slave واگذار شده است.

۳ - در SMP یک صف فرایندهای آماده اجرا است یا اینکه هر کدام از فرایندها صف اجرای خصوصی خودش را دارد.

۴ - در AMP اگر Master از کار بی افتد، یکی از Slave ها جایگزین و از این پس Slave شناخته می شود. اگر Slave از کار بی افتد،فرایندهای آن به دیگری سوئیچ می شود.

۵ - در SMP با از کار افتادن یکی از پردازنده ها، کارایی سیستم کاهش پیدا می کند.

۶ - در SMP تمامی پردازنده بوسیله حافظه اشتراکی (Shared Memory) با هم ارتباط بر قرار می کنند.

۷ - در AMP پردازنده های Slave از Matsre برای ارتباط با یکدیگر کمک می گیرند.