سه
رفتار برای گذرگاه IO
و
گذرگاه حافظه وجود دارد:
۱.
دو
گذرگاه مجزا.
یکی
برای IO
و
دیگری برای حافظه
۲.
یک
گذرگاه نیمه مشترک با حطوط داده و آدرس
مشترک و خطوط کنترلی مجزا Isolated
IO در
این روش از سیگنالهای IO
read IO write و
Memory
read و
Memory
write استفاده
میشود.
۳.
یک
گذرگاه مشترک Memory
mapped در
این حالت بخشی از فضای آدرس به حافظه و
بخشی به IO
اختصاص
میابد.
در
روش Isolated
IO در
CPU
دستورهای
جداگانه ای برای IO
و
حافظه وجود دارد ولی در روش memory
mapped اینگونه
نیست.
طرحهای
اصلی داوری باس بصورت متمرکز و غیر متمرکز
است که برای تعداد کم دستگاه(تا
۸ تا)
متمرکز
بهتر است و وقتی تعداد دستگاهها زیاد
میشود غیر متمرکز بهتر است.
در
چند حالت میشود بررسی کرد:
۱.
یک
داوری متمرکز استفاده شود و همه از داور
مرکزی در خواست باس میکنند.
این
خط بصورت زنجیره ای daisy
chain از
یک ایستگاه به بعدی است و اولین دستگاهی
که تاییدیه را ببیند و میخواهد مستر باس
باشد کنترل را در اختیار میگیرد.
۲.
میتوانیم
دستگاهها را با چندین خط به داور وصل کنیم
تا اگر دستگاهی دور است و اولویت بیشتری
میخواهد با خط با اولویت بیشتر به داور
متصل شود.
۳.
میتواند
هر دستگاه خط درخواست اولویت خودش را
داشته باشد.
۴.
داوری
باس غیرمتمرکز باشد وقتی دستگاهی باس را
میخواهد ابتدا خط درخواست باس را فعال
میکند و سپس بررسی میکند باس اشغال است
یا خیر اگر اشغال فعال نباشد با صفر فرستادن
به دستگاههای با اولویت بیشتر باس را در
اختیار میگیرد.
در
حالت programmed
io پردازنده
همیشه مشغول چک کردن پرچم اعتبار داده
است.
در
حالت interrupt
initiated io به
دو صورت میتوان آدرس برنامه سرویس io
را
بدست آورد:
۱.
حالت
Non
vectored interrupt: در
این حالت آدرس پرش هنگام وقوع وقفه مکان
ثابتی از حافظه است و همه وقفه ها یک روتین
وقفه مشترک دارند.
۲.
حالت
Vectoreed
interrupt: منبع
وقفه دهنده خود اطلاعات مربوط به محل پرش
را معین میکند که به این اطلاعات بردار
وقفه میگویند.
سه
روش اولویت بندی وقفه داریم:
۱.
سرکشی
Polling
روشی
نرم افزاری است و وقت زیادی از پردازنده
میگیرد.
۲.
زنجیره
ای daisy
chain مانند
روش زنجیره ای در داوری دستگاهها به ترتیب
اولویت دستگاههای نزدیک اولویت بیشتری
دارند و روشی سخت افزاری است.
۳.
موازی
parallel
: با
ثباتی به نام ثبات وقفه کار میکند که هر
یک از بیتهای آن مشخص میکند کدام دستگاه
جانبی وقفه را ارسال کرده است که با ثبات
ماسک and
میشود
و ورودی سیستم اولویت بندی را مشخص میکند.
تشخیص
یک وقفه همیشه پس از اجرای دستور جاری
انجام میشود.
در
حالت DMA
پردازنده
مشغول انتقال اطلاعاتی که در این لحظه
نیازی به انها ندارد نمیشود و آن اطلاعات
بصورت موازی با کار پردازنده توسط دستگاه
کنترل کننده DMA
انتقال
پیدا میکنند.
اگر
در معماری از DMA
استفاده
شده باشد خطوط BRو
BG
حتما
در CPU
وجود
دارند.
خطوط
RD,WR
اگر
BG=0
یعنی
گذرگاه در اختیار CPU
است
و این دو خط ورودی DMAهستند
و در غیر اینصورت گذرگاه در اختیار DMAاست
و این دو خط خروجی هستند.
چیزهایی
که باید از کتاب خوانده شود:
روشهای
تقسیم گذرگاه بین IO
و
حافظه.
باس
سنکرون و آسنکرون.
سیگنال
استروب.
انتقال
سریال ناهمگام.
داوری
باس.
حالتهای
انتقال(ورودی
خروجی تحت کنترل برنامه programmed
io. ورودی
خروجی وقفه دهنده interrupt
initiated io. دسترسی
مستقیم DMA.)
اولویت
بندی وقفه.
کنترل
کننده DMA.
انتقال
توده ای و دزدی چرخه Cycle
Stealing.
هیچ نظری موجود نیست:
ارسال یک نظر