PDA

View Full Version : سوال: چگونه یک سیستم عامل با سی پیو کار می ند؟



maktab
دوشنبه 24 اسفند 1388, 10:32 صبح
سلام
می خواستم نحوه استفاده یک سیستم عامل را از سی پیو بدونم.
فرض کنید یک پروسه در حال انجام عملیات خودشه و برای این کار نیازه تمام امکانات (ثبات ها و...) پردازنده را در اختیار خود قرار بگیره و بقیه قضایا. در این حالت سیستم عامل کجاست؟ و اگر قراره وقفه ای انجام بشه سیستم عامل چگونه می تونه بدون داشتن امکانات پردازنده این کار را انجام بده؟
حتما باید یه جورایی پردازنده را در اختیار قرار بگیره ولی چطوری ؟

pswin.pooya
دوشنبه 24 اسفند 1388, 19:40 عصر
برای اینکار روی CPU یه پین به اسم NMIP هستش که به یک میکروکنترلر به اسم PIC ( Programmable interrupt timer وصل هستش. این میکرو کنترلر وظیفه شناسایی وقفه های سخت افزاری رو داره. و هر وقت که یه وقفه سخت افزاری رخ بده یک سیگنال رخ دادن وقفه رو به پایه NMIP میفرسته که باعث میشه. وقفه تولید شه. حالا یک میکروکنترلر دیگه هستش که به پایه صفر PIC وصل هستش و اسم اون PIT هستش. PIT از سه تایمر مجزا تشکیل شده که همه اونها قابل برنامه ریزی هستند:

1. تایمر صفر: در صورت سریز شدن یک سیگنال به IRQ0 میکروی PIC میده.
2. تایمر یک: برای رفرش کردن رم به کار میره.
3. تایمر دو: برای تولید صدای بلندگو استفاده میشه.

شما می تونید هر کدوم از تایمرها رو که میخوایین برنامه ریزی کنید اما معمولا تایمر صفر برای یه بازه زمانی خاص برنامه ریزی میشه که وقت اون زمان فرا برسه یه وقفه تولید بشه.

شما میتونین با برنامه ریزی PIC بهش بگین که برای مثلا IRQ0 کدوم روتین وقفه (شماره وقفه) رو فراخوانی کنه (به CPU بده)

برای جزئیات کامل PIC و PIT رو مطالعه کنید.