قطع در میکروپروسسور 8088 و کنترل‌کننده 82C59A
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

عملکرد سخت‌افزار در یک درخواست فعال در ورودی درخواست قطع چگونه است؟

در صورت تغییر مثبت در ورودی CLK فلپ‌فلاپ، خروجی Q آن سطح منطقی 1 می‌شود و سیگنال یک مثبت به ورودی INTR می‌رسد.

عدد نوع ارسالی به میکروپروسسور در درخواست قطع چه مقداری دارد؟

عدد نوع ارسالی به میکروپروسسور 60H است.

نقشه سازمان فضایی آدرس حافظه را با فرض مقادیر اولیه در ثبات‌های سگمنت رسم کنید.

مقاطع حافظه شامل کد، داده و پشته به ترتیب با آدرس‌های 1000H، 4000H و 2000H:0000H آغاز می‌شوند.

برنامه اصلی و روال خدماتی چگونه باید طراحی شوند تا تحولات مثبت در INTR به عدد دهدهی شمارش شوند؟

<p>برنامه باید نوع درخواست قطع را شناسایی کرده و هر بار که یک درخواست قطع مثبت دریافت می‌شود، شمارنده را یک واحد افزایش دهد.</p> Signup and view all the answers

نقش سیگنال قطع ACK در واکنش 8088 به درخواست قطع چیست؟

<p>سیگنال ACK به میکروپروسسور اطلاع می‌دهد که درخواست قطع شناسایی شده و فلپ‌فلاپ پاک‌سازی می‌شود.</p> Signup and view all the answers

چگونه مدار می‌تواند درخواست‌های قطع را شمارش کند؟

<p>مدار هر بار که سیگنال ورودی INTR مثبت می‌شود، شمارش را افزایش می‌دهد.</p> Signup and view all the answers

تفاوت بین سگمنت کد و سگمنت داده چیست؟

<p>سگمنت کد شامل دستورالعمل‌های برنامه و سگمنت داده شامل داده‌های لازم است.</p> Signup and view all the answers

مکانیزم وقفه و انواع آن را توضیح دهید.

<p>مکانیزم وقفه به فرآیند متوقف کردن پردازش کنونی به منظور رسیدگی به وظایف مهم‌تر اشاره دارد. این وقفه‌ها می‌توانند نرم‌افزاری یا سخت‌افزاری باشند.</p> Signup and view all the answers

چرا منطقه آدرس حافظه می‌تواند در عملکرد میکروپروسسور حیاتی باشد؟

<p>سازمان فضایی آدرس حافظه بر توزیع داده‌ها و دستورالعمل‌ها تأثیر می‌گذارد و بر کارایی تأثیر مستقیم دارد.</p> Signup and view all the answers

نقش جدول وکتور وقفه چیست؟

<p>جدول وکتور وقفه آدرس‌های مربوط به روتین‌های خدماتی وقفه‌ها را ذخیره می‌کند. هر وقفه دارای ورودی خاصی در این جدول است که هنگام اتفاق افتادن وقفه به آن اشاره می‌شود.</p> Signup and view all the answers

کنترل‌کننده وقفه 82C59A چیست و چه وظیفه‌ای دارد؟

<p>کنترل‌کننده وقفه 82C59A یک اجزای مدار است که به میکروپروسسور کمک می‌کند تا وقفه‌ها را مدیریت و برنامه‌ریزی کند.</p> Signup and view all the answers

چگونه سیگنال CS برای 82C59A تولید می‌شود و چه تأثیری بر آدرس‌های میکروپروسسور دارد؟

<p>سیگنال CS با توجه به سطح منطقی بیت آدرس A1 و نحوه تولید آن ایجاد می‌شود و بر واکنش 82C59A به آدرس‌های خاص تأثیر می‌گذارد.</p> Signup and view all the answers

دستورات مربوط به وقفه‌ها چه هستند؟

<p>دستورات مربوط به وقفه‌ها شامل STI برای فعال‌سازی و CLI برای غیرفعال‌سازی وقفه‌ها می‌باشد. این دستورات تحت کنترل نرم‌افزار اجرا می‌شوند.</p> Signup and view all the answers

فروشگاه داده (Data Area) در کنترل‌کننده وقفه 82C59A به چه منظوری استفاده می‌شود؟

<p>فروشگاه داده برای نگهداری یک شمارنده اعشاری از لبه‌های سیگنال کلاک ورودی استفاده می‌شود.</p> Signup and view all the answers

چگونه می‌توان وقفه‌ها را در یک روتین خدماتی مجدداً فعال کرد؟

<p>می‌توان با استفاده از دستور STI در روتین خدماتی، پرچم وقفه (IF) را مجدد فعال کرد. این اقدام به سایر وقفه‌ها اجازه می‌دهد که در حین اجرای روتین و خدمات مهم‌تر، عمل کنند.</p> Signup and view all the answers

روند آغازین یک روتین خدماتی برای وقفه سخت‌افزاری خارجی چیست؟

<p>در طول روند آغازین روتین خدماتی، پردازنده به‌طور خودکار پرچم وقفه (IF) را پاک می‌کند تا از وقوع وقفه‌های اضافی جلوگیری کند.</p> Signup and view all the answers

انواع وقفه نرم‌افزاری در سیستم‌های مبتنی بر 82C59A چه کاربردی دارند؟

<p>وقفه‌های نرم‌افزاری برای ایجاد وقفه‌هایی در نرم‌افزار به منظور اجرای یک عمل خاص استفاده می‌شوند.</p> Signup and view all the answers

تفاوت بین حداقل‌مد و حداکثرمد در رابط وقفه سخت‌افزاری چیست؟

<p>مد حداقل (Minimum Mode) برای سیستم‌های تک پردازنده طراحی شده و شامل خطوط سیگنال وقفه خاص است، در حالی که مد حداکثر (Maximum Mode) برای سیستم‌های چندپردازنده است و پیچیدگی‌های بیشتری دارد.</p> Signup and view all the answers

چگونه کد مرحله‌ای (Segment Code) یک روال خدماتی در 82C59A قرار می‌گیرد؟

<p>کد مرحله‌ای روال خدماتی در آدرس 122H تنظیم می‌شود.</p> Signup and view all the answers

سیگنال‌های رابط وقفه سخت‌افزاری چه نقشی در میکروپردازنده دارند؟

<p>سیگنال‌های رابط وقفه سخت‌افزاری به میکروپردازنده این امکان را می‌دهند که با سخت‌افزارهای خارجی ارتباط برقرار کند و وقفه‌ها را مدیریت کند.</p> Signup and view all the answers

آدرس 120H در جدول بردار وقفه (Interrupt Vector Table) چه اطلاعاتی را ذخیره می‌کند؟

<p>آدرس 120H شامل افست روال خدماتی است که بر اساس نوع وقفه تنظیم می‌شود.</p> Signup and view all the answers

چرا نیاز به اتصال دائمی برای ورودی‌های وقفه خارجی وجود دارد؟

<p>به دلیل نیاز به ارتباط مؤثر بین ورودی‌های وقفه خارجی و رابط وقفه میکروپردازنده، وجود سخت‌افزار اضافی برای مدیریت این ورودی‌ها ضروری است.</p> Signup and view all the answers

وقتی A1 برابر 0 است، 82C59A به چه آدرس‌هایی پاسخ می‌دهد؟

<p>در این حالت 82C59A به آدرس 1111111100000000$ و 1111111100000010$ پاسخ می‌دهد.</p> Signup and view all the answers

سیگنال‌های غیرقابل ماسک (Nonmaskable Interrupt) چه کاربردی در 82C59A دارند؟

<p>سیگنال‌های غیرقابل ماسک به وقفه‌هایی اطلاق می‌شود که حتی در حالت‌های دیگر نیز نمی‌توان آنها را نادیده گرفت.</p> Signup and view all the answers

وقتی یک وقفه داخلی به وجود می‌آید، چه شرایطی باعث آن می‌شود؟

<p>یک وقفه داخلی به دلیل اجرای دستورالعمل‌ها و شرایطی که قبل، حین یا بعد از اجرای آن‌ها پیش می‌آید، به وجود می‌آید.</p> Signup and view all the answers

پیشامدهای مرتبط با تقسیم عدد در ارتباط با وقفه داخلی چگونه مدیریت می‌شوند؟

<p>در صورت بروز خطای تقسیم، یک وقفه نوع 0 به صورت خودکار ایجاد می‌شود و کنترل به یک روتین خدماتی منتقل می‌شود.</p> Signup and view all the answers

چگونه می‌توان خطای overflow را در برنامه شناسایی کرد؟

<p>با استفاده از دستور 'INTO' می‌توان پرچم overflow را بررسی کرد و در صورت فعال بودن، روتین خدماتی مربوطه را آغاز کرد.</p> Signup and view all the answers

چه نوع وقفه‌هایی بالاترین اولویت را دارند و به چه دلیل؟

<p>وقتی هدف روتین‌های داخلی خطاها مانند خطای تقسیم و overflow هستند، دارای بالاترین اولویت هستند زیرا نیاز به توجه فوری دارند.</p> Signup and view all the answers

چرا وقفه‌های داخلی با پرچم‌های فعال‌سازی وقفه مختل نمی‌شوند؟

<p>زیرا این وقفه‌ها مستقیماً ناشی از شرایط داخلی و اجرای دستورات هستند و به پرچم‌ها وابسته نیستند.</p> Signup and view all the answers

شما چگونه می‌توانید یک روتین خدماتی برای خطای overflow را پیاده‌سازی کنید؟

<p>با بررسی فعال بودن پرچم overflow و سپس انتقال کنترل به روتین خدماتی مشخص برای مدیریت خطا.</p> Signup and view all the answers

علت ایجاد وقفه‌های داخلی مانند خطای تقسیم و overflow چه چیزهایی هستند؟

<p>این وقفه‌ها به دلیل شرایط خاصی که هنگام اجرای دستورالعمل‌های محاسباتی ایجاد می‌شوند، به عنوان مثال، تقسیم بر صفر یا فراتحلیل مقدار متغیرها.</p> Signup and view all the answers

آیا تقسیم عددهایی که باعث overflow می‌شوند می‌توانند موجب خطای داخلی شوند؟

<p>بله، اگر حاصل تقسیم از اندازه مجاز فراتر رود، این می‌تواند منجر به ایجاد خطای تقسیم داخلی شود.</p> Signup and view all the answers

تعریف INTERRUPT در پردازنده 8088 و 8086 چیست و چه کاربردهایی دارد؟

<p>INTERRUPT رویدادی است که برای قطع جریان اجرای برنامه اصلی و رسیدگی به دستورالعمل‌های خاص استفاده می‌شود.</p> Signup and view all the answers

NMI یا غیرقابل ماسک چیست و چه مزایایی دارد؟

<p>NMI یک نوع وقفه است که نمی‌توان آن را با پرچم وقفه ماسک کرد و از طریق ورودی NMI به پردازنده منتقل می‌شود.</p> Signup and view all the answers

چگونه NMI در پردازنده 8088 یا 8086 شناسایی و به آن پاسخ داده می‌شود؟

<p>اگر NMI برای دو چرخه ساعت متوالی فعال باشد، پردازنده پس از اتمام دستور فعلی به NMI پاسخ می‌دهد.</p> Signup and view all the answers

در چه شرایطی پرچم ENABLE INTERRUPT در زمان NMI غیرفعال می‌شود؟

<p>پرچم ENABLE INTERRUPT با آغاز NMI غیرفعال می‌شود تا همه وقفه‌های سخت‌افزاری خارجی از کار بیفتند.</p> Signup and view all the answers

آدرس‌های حافظه NMI vector کجا ذخیره می‌شوند و چه نقشی دارند؟

<p>NMI vector در آدرس‌های 0008H و 000AH حافظه ذخیره می‌شود و برای بارگذاری CS و IP در یک وقفه NMI استفاده می‌شود.</p> Signup and view all the answers

کدام وقفه‌ها به عنوان وقفه‌های نرم‌افزاری شناخته می‌شوند؟

<p>وقفه‌های نرم‌افزاری به وقفه‌هایی اطلاق می‌شود که به وسیله نرم‌افزار نگاشته و فراخوانی می‌شوند.</p> Signup and view all the answers

ورودی RESET چه وظیفه‌ای در پردازنده 8088 و 8086 دارد؟

<p>ورودی RESET برای راه‌اندازی مجدد و تنظیم مجدد سیستم استفاده می‌شود و معمولاً در زمان روشن کردن سیستم فعال می‌شود.</p> Signup and view all the answers

نقش 82C59A در زمینه مدیریت وقفه‌ها چیست؟

<p>82C59A یک کنترلر وقفه قابل برنامه‌ریزی است که به پردازنده کمک می‌کند تا وقفه‌های متعدد را مدیریت و اولویت‌بندی کند.</p> Signup and view all the answers

مکانیسم وقفه چیست و چگونه می‌تواند برنامه را تحت تأثیر قرار دهد?

<p>مکانیسم وقفه به انتقال کنترل برنامه به یک روتین خاص بر اساس وقوع یک رویداد داخلی یا خارجی اشاره دارد.</p> Signup and view all the answers

جدول وکتور وقفه چه نقشی در پردازش وقفه‌ها دارد؟

<p>جدول وکتور وقفه مکانیزمی است که آدرس روتین خدمات وقفه را برای هر نوع وقفه مشخص می‌کند.</p> Signup and view all the answers

وقفه‌های غیرقابل ماسک چه نوعی از وقفه‌ها هستند و چه ویژگی‌ای دارند؟

<p>وقفه‌های غیرقابل ماسک وقفه‌هایی هستند که به هیچ وجه نمی‌توان آنها را نادیده گرفت و معمولاً برای شرایط بحرانی استفاده می‌شوند.</p> Signup and view all the answers

عملیات فعال‌سازی و غیرفعال‌سازی وقفه‌ها چه تأثیری بر روی میکروپروسسور دارد؟

<p>فعال‌سازی وقفه‌ها باعث می‌شود که میکروپروسسور به وقفه‌ها پاسخ دهد، در حالی که غیرفعال‌سازی آنها به جلوگیری از پاسخ به وقفه‌ها کمک می‌کند.</p> Signup and view all the answers

کنترلر وقفه برنامه‌پذیر 82C59A چه وظیفه‌ای دارد؟

<p>82C59A وظیفه مدیریت و اولویت‌بندی وقفه‌های متعدد را بر عهده دارد.</p> Signup and view all the answers

روال خدمات وقفه (ISR) چه وظیفه‌ای دارد و چگونه کار می‌کند؟

<p>روال خدمات وقفه وظیفه رسیدگی به وقفه‌ها و انجام اقدامات مناسب را بر عهده دارد و پس از اتمام عملیات، کنترل را به برنامه اصلی بازمی‌گرداند.</p> Signup and view all the answers

تعداد وقفه‌های قابل پیاده‌سازی در میکروپروسسورهای 8086 و 8088 چه میزان است؟

<p>میکروپروسسورهای 8086 و 8088 قابلیت پیاده‌سازی ترکیبی از حداکثر 256 وقفه را دارند.</p> Signup and view all the answers

وقفه‌های داخلی چه نوعی از وقفه‌ها هستند و در چه شرایطی به وجود می‌آیند؟

<p>وقفه‌های داخلی به وقوع وقفه‌ها در نتیجه انجام دستورالعمل‌ها و شرایط خطاهای داخلی اشاره دارند.</p> Signup and view all the answers

Flashcards

مکانيسم وقفه

وقتي يك رويداد داخلي يا خارجي رخ مي دهد، به برنامه CPU جهت مي دهد تا به يك روتين خدماتي اختصاصي برود.

جدول بردار وقفه

به کدهايي گفته مي شود که CPU را به وقفه هاي خاص هدايت مي کنند.

وقفه هاي نرم افزاري

وقفه هايي که توسط فرامين نرم افزاري توليد مي شوند.

وقفه هاي سخت افزاري

وقفه هايي که توسط سخت افزار خارجي مانند کيورد يا موس ايجاد مي شوند.

Signup and view all the flashcards

وقفه هاي غيرقابلمسدود

وقفه هايي که توسط رويدادهاي سخت افزاري ناگهاني مانند خطاهاي سيستم ايجاد مي شوند.

Signup and view all the flashcards

غيرفعال کردن وقفه

به حالتي گفته مي شود که CPU وقفه هايي را که دريافت مي کند، ناديده مي گيرد.

Signup and view all the flashcards

فعال کردن وقفه

به حالتي گفته مي شود که CPU به تمام وقفه هايي که دريافت مي کند، پاسخ مي دهد.

Signup and view all the flashcards

وقفه هاي داخلي

وقفه هايي که توسط خود CPU ايجاد مي شوند.

Signup and view all the flashcards

پاسخگویی به وقفه خارجی

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

Signup and view all the flashcards

کد وقفه خارجی

مدار خارجی یکی از کدهای وقفه 32 تا 255 را روی خطوط داده AD0 تا AD7 هدایت می کند.

Signup and view all the flashcards

شمارش درخواست وقفه

این مدار برای شمارش درخواست های وقفه استفاده می شود. دستگاه وقفه دهنده هر بار که سیگنال ورودی درخواست وقفه از 0 به 1 تغییر می کند، میکروپروسسور را وقفه می دهد. نوع وقفه متناظر تولید شده توسط 74LS244 60H است.

Signup and view all the flashcards

عملکرد مدار وقفه

یک گذار مثبت در ورودی CLK فلیپ فلاپ (درخواست وقفه) باعث می شود که خروجی Q فلیپ فلاپ به منطق 1 برسد و یک سیگنال سطح مثبت در ورودی INTR 8088 ارائه دهد.

Signup and view all the flashcards

پاک سازی فلیپ فلاپ و فعال سازی 74LS244

خروجی منطق 0 در این خط، فلیپ فلاپ را پاک می کند و 74LS244 را فعال می کند تا نوع وقفه را به 8088 ارائه دهد.

Signup and view all the flashcards

خواندن نوع وقفه توسط 8088

این عدد توسط 8088 خوانده می شود و برای شروع روتین سرویس وقفه استفاده می شود.

Signup and view all the flashcards

نوع وقفه

از ورودی ها و خروجی های 74LS244 می بینیم که نوع وقفه AD7... است.

Signup and view all the flashcards

دریافت نوع وقفه توسط 8088

میکروپروسسور 8088 در این حالت نوع وقفه را از طریق اتوبوس داده دریافت می کند.

Signup and view all the flashcards

82C59A

کنترل کننده وقفه قابل برنامه ریزی 82C59A یک تراشه است که برای مدیریت وقفه ها در سیستم های میکروپروسسوری استفاده می شود. این تراشه شامل 8 کانال وقفه است که هر کدام می توانند به یک منبع وقفه خارجی متصل شوند. 82C59A همچنین شامل یک ثبات کنترل وقفه است که برای پیکربندی رفتار هر کانال وقفه استفاده می شود.

Signup and view all the flashcards

Minimum Mode

مد Minimum Mode یکی از دو حالت عملکردی 82C59A است. در این مد، 82C59A مستقیماً به واحد کنترل میکروپروسسور متصل می شود. در مد Minimum Mode، آدرس دهی 82C59A از طریق خطوط آدرس میکروپروسسور و خطوط کنترل CS، RD و WR انجام می شود.

Signup and view all the flashcards

Maximum Mode

مد Maximum Mode یکی از دو حالت عملکردی 82C59A است. در این مد، 82C59A از طریق یک واحد کنترل خارجی متصل می شود. در مد Maximum Mode، کنترل 82C59A به طور مستقل از میکروپروسسور انجام می شود و آدرس دهی آن از طریق یک واحد کنترل جداگانه انجام می شود.

Signup and view all the flashcards

وقفه نرم افزاری

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

Signup and view all the flashcards

وقفه غیرقابل ماسکه

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

Signup and view all the flashcards

روتین reset

یک روتین که توسط پردازنده پس از دریافت سیگنال reset اجرا می شود.

Signup and view all the flashcards

وظایف وقفه داخلی

هر عملیات internal که به طور معمول توسط پردازنده انجام می شود و ممکن است به interrupt منجر شود.

Signup and view all the flashcards

مکانیزم وقفه

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

Signup and view all the flashcards

وقفه ی سخت افزاری

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

Signup and view all the flashcards

جدول وقفه (Interrupt Vector Table)

یک جدول که از آدرس های روال های سرویس وقفه تشکیل شده است. با هر وقفه ، پردازنده به این جدول مراجعه می کند تا آدرس روال سرویس وقفه را پیدا کند.

Signup and view all the flashcards

دستورات وقفه

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

Signup and view all the flashcards

فعال و غیرفعال کردن وقفه

فعال و غیر فعال کردن وقفه ها به منظور کنترل کدام وقفه ها میتوانند پردازنده را قطع کنند .

Signup and view all the flashcards

خط های وقفه سخت افزاری

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

Signup and view all the flashcards

دنباله ی وقفه سخت افزاری

مراحل مختلف که پردازنده پس از درخواست یک وقفه سخت افزاری از محیط خارجی انجام می دهد .

Signup and view all the flashcards

رابط وقفه در مدل حداقلی

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

Signup and view all the flashcards

رابط وقفه در مدل حداکثری

یک مدل برای اتصال خطوط وقفه به پردازنده ، این مدل پیچیده تر است و از مدار های خارجی برای اتصال خطوط به پردازنده استفاده می کند .

Signup and view all the flashcards

وقفه غیر قابل ماسک (NMI)

یک وقفه غیر قابل ماسک (NMI) نوعی از وقفه است که توسط سخت افزار خارجی ایجاد می شود. این وقفه را نمی توان با استفاده از پرچم وقفه (IF) غیرفعال کرد و توسط ورودی NMI سیگنال می شود. این ورودی توسط لبه مثبت فعال می شود و در صورت فعال شدن به مدت دو سیکل ساعت متوالی، پردازنده 8088/8086 را به وقفه می اندازد.

Signup and view all the flashcards

واکنش پردازنده به NMI

هنگامی که NMI فعال می شود، محتوای پرچم ها، CS فعلی و IP فعلی در پشته ذخیره شده و پرچم IF صفر می شود. سپس، میکروپروسسور آدرس بردار NMI را از حافظه می خواند، و این آدرس را به CS و IP بارگذاری می کند. این بردار در آدرس های 0008H و 000AH قرار دارد.

Signup and view all the flashcards

کاربرد NMI

NMI معمولاً به رویدادهای سخت افزاری مهمی نظیر قطع برق یا خطای خواندن حافظه assigned می شود.

Signup and view all the flashcards

ورودی RESET

ورودی RESET در میکروپروسسورهای 8088 و 8086 برای هسته اولیه میکرو کامپیوتر هنگام شروع کار (به عنوان مثال پس از روشن شدن سیستم) به کار می رود.

Signup and view all the flashcards

نحوه عملکرد ورودی RESET

ورودی RESET به طور معمول زمانی که میکروکامپیوتر روشن می‌شود، به میکروپروسسور 8088/8086 سیگنال می‌دهد که شروع به کار کند و سیستم را راه اندازی کند.

Signup and view all the flashcards

خطای تقسیم

وقوع خطا در حین اجرای دستور تقسیم به دلیل دریافت ضریب بزرگتر از مقدار مقصد

Signup and view all the flashcards

خطای تقسیم در میکروکنترلرها

خطای تقسیم می تواند به عنوان یک خطای برنامه نویسی یا یک خطا در برنامه نویسی در نظر گرفته شود.

Signup and view all the flashcards

خطای Overflow

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

Signup and view all the flashcards

وقفه Overflow

یک وقفه داخلی با شماره 4 که وظيفه آن سرویس دهی به خطای Overflow است.

Signup and view all the flashcards

وقفه های داخلی

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

Signup and view all the flashcards

شماره وقفه داخلی

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

Signup and view all the flashcards

سرویس دهنده وقفه (Interrupt Service Routine)

یک مکانیزم برای شناسایی و تصحيح خطا در اجرای برنامه

Signup and view all the flashcards

عدم امکان Mask کردن وقفه های داخلی

وقفه های داخلی نمی توانند توسط پرچم Interrupt فعال یا غیر فعال شوند.

Signup and view all the flashcards

Study Notes

آشنایی با رابط وقفه در 8086 و 8088

  • رابط وقفه 8086 و 8088 به شما امکان می‌دهد تا هر ترکیبی از حداکثر 256 وقفه را پیاده‌سازی کنید.
  • وقفه‌ها به پنج گروه تقسیم می‌شوند: وقفه‌های سخت‌افزاری خارجی، وقفه غیرقابل‌ماسک‌سازی، وقفه‌های نرم‌افزاری، وقفه‌های داخلی و ریست.
  • کاربر می‌تواند عملکرد وقفه‌های سخت‌افزاری خارجی، نرم‌افزاری و غیر ماسک‌سازی را تعریف کند. مثلاً وقفه‌های سخت‌افزاری را می‌توان با دستگاه‌هایی همچون صفحه کلید، چاپگر و تایمرها مرتبط کرد.
  • از سوی دیگر، عملکرد وقفه‌های داخلی و ریست توسط کاربر تعریف نمی‌شود. این وقفه‌ها وظایف اختصاص‌یافته‌ای در سیستم را انجام می‌دهند.

مکانیزم وقفه

  • انتقال کنترل برنامه با وقوع رویدادی درونی، یا بیرونی در سخت‌افزار میکروپروسسور آغاز می‌شود.
  • هنگامی که وقفه‌ای رخ می‌دهد، واحد پردازش مرکزی (MPU) کاری را که در بخش اصلی برنامه انجام می‌دهد، متوقف می‌کند و کنترل را به یک روال ویژه که وظیفه دستگاه را انجام می‌دهد، منتقل می‌کند.
  • بخش برنامه‌ای که کنترل به آن واگذار می‌شود، روال سرویس وقفه نامیده می‌شود.

مکانیزم وقفه (شکل)

  • میکروپروسسور پس از وقفه 32، اجرای برنامه اصلی را متوقف می‌کند و اطلاعاتی که نشان‌دهنده دستورالعمل بعدی است (N+1) را ذخیره می‌کند.
  • سپس، اجرای برنامه با اولین دستورالعمل در روال سرویس وقفه 32 ادامه پیدا می‌کند.
  • پس از اتمام روال، کنترل به دستورالعمل (N+1) در برنامه اصلی بر می‌گردد و اجرای برنامه از سر گرفته می‌شود.

مکانیزم وقفه (جزئیات)

  • وقفه‌ها بر اساس اولویت سرویس می‌شوند.
  • اولویت به دو روش حاصل می‌شود:
    • ترتیب پردازش وقفه‌ها بر اساس اولویت آنها در 8088/8086 بررسی می‌شود.
    • هر وقفه با یک شماره نوع متفاوت ارائه‌شده و رتبه‌بندی می‌شود. نوع 0 نشان‌دهنده بالاترین اولویت و نوع 255 نشان‌دهنده کمترین اولویت است.
  • بعضی از اعداد نوع برای استفاده در وقفه‌های سخت‌افزاری یا نرم‌افزاری در دسترس نیستند.
    • این اعداد نوع برای وقفه‌های ویژه 8088/8086 (مانند وقفه‌های داخلی) رزرو شده‌اند.
    • مثلاً وقفه تقسیم بر صفر با شماره نوع 0 و وقفه ریزش با شماره نوع 4 مشخص می‌شوند.
  • اولویت به این دلیل مهم است که اگر روال سرویس وقفه برای یک اولویت خاص شروع شده باشد، فقط دستگاهی با اولویت بالاتر می‌تواند آن را قطع کند.

جدول بردار وقفه

  • جدول بردار وقفه، جدول آدرس‌گذاری است که از اعداد نوع وقفه به محل روال‌های سرویس‌دهنده وقفه در حافظه برنامه‌ریزی شده، ارتباط برقرار می‌کند.
  • هر کدام از 256 نشانگر (pointer) به دو کلمه (4 بایت) حافظه نیاز دارند و همیشه در مرز آدرس زوج قرار می‌گیرند.
  • کلمه آدرس بالاتر به عنوان آدرس پایه و کلمه آدرس پایین به عنوان آدرس جابجایی (Offset) شناخته می‌شود.
  • مثلاً آدرس CS50 و IP50 در حافظه به‌وسیله محاسبه (4*50=200) تعیین می‌شود و در آدرس‌های 000C816 و 000CA16 قابل دسترسی است.

دستورات وقفه

  • STI: فعال‌کردن وقفه
  • CLI: غیرفعال‌کردن وقفه
  • INT n: ایجاد وقفه نرم‌افزاری (شماره نوع n)
  • IRET: بازگشت از روال وقفه
  • INTO: ایجاد وقفه در صورت بروز حالت ریزش
  • HLT: توقف
  • WAIT: انتظار

رابط وقفه سخت‌افزاری خارجی

  • سیگنال‌های ورودی وقفه خارجی (INTR) با استفاده از روش‌های حداقل و حداکثری، با میکروپروسسور هم‌راستا می‌شوند.
  • برای مثال وقفه‌ها از طریق INT32 تا INT255، به رابط وقفه 8088 متصل می‌گردند.
  • مدار خارجی وظیفه شناسایی نوع وقفه با بالاترین اولویت را بر عهده دارد و شماره نوع وقفه را برای پردازش به میکروپروسسور ارسال می‌کند.

کنترل کننده وقفه برنامه‌ریزی‌پذیر 82C59A

  • 82C59A یک مدار مجتمع جانبی است که پیاده‌سازی رابط وقفه را در سیستم‌های مبتنی بر 8088 و 8086 ساده‌تر می‌کند.
  • این رابط از 8 خط دیتا (Do تا D7) و سیگنال‌های کنترلی، خواندن (RD)، نوشتن (WR) و انتخاب مدار (CS) تشکیل می‌شود.
  • سیگنال ورودی CS باید با منطق 0 باشد تا رابط Host Processor فعال شود. سیگنال‌های WR و RD مشخص می‌کند که آیا داده‌ها باید به داخل یا خارج از ثبات‌های داخلی 82C59A نوشته شوند یا خوانده شوند.
  • خط A0 در انتخاب ثبات داخلی مورد استفاده در عملیات خواندن و نوشتن نقش دارد.

وقفه‌های نرم‌افزاری

  • دستور INT n برای فعالسازی وقفه‌های نرم‌افزاری استفاده می‌شود.
  • بردارهای روال سرویس وقفه نرم‌افزاری نیز در جدول بردار وقفه قرار دارند.
  • مکانیسم فعالسازی وقفه‌های نرم‌افزاری مشابه مکانیزم وقفه‌های سخت‌افزاری است، اما چرخه‌های تایید وقفه خارجی در اینجا استفاده نمی‌شوند. در عوض، کنترل بلافاصله پس از اجرای دستور وقفه به ابتدای روال سرویس دهی منتقل می‌شود.
  • وقفه‌های نرم‌افزاری از اولویت بالاتری نسبت به وقفه‌های خارجی برخوردارند و توسط سیگنال IF ماسک نمی‌شوند.

وقفه‌های غیرقابل ماسک‌سازی (NMI)

  • وقفه NMI یک وقفه دیگر است که از سخت‌افزار بیرونی آغاز می‌شود.
  • برخلاف وقفه‌های دیگر، نمی‌توان آن را با استفاده از پرچم وقفه ماسک کرد.
  • فعالسازی این وقفه با ارسال سیگنال منطقی 1 به ورودی NMI به میکروپروسسور اعلام می‌شود، نه ورودی INTR.
  • ورودی NMI با لبه مثبت فعال می‌شود.
  • اگر این وقفه فعال شود، محتویات ثبات NMI، پرچم وقفه، و شمارنده دستورالعمل فعلی در Stack ذخیره می‌شوند. سپس بردار مربوط به NMI از حافظه خوانده می‌شود و آدرس IP و CS به ثبات‌های مربوطه منتقل شده، به نحوی که کنترل به ابتدای روال سرویس‌دهی وقفه منتقل شود. این عملیات باعث غیرفعال‌سازی وقفه‌های سخت‌افزاری خارجی نیز می‌شود.

وقفه‌های داخلی

  • وقفه‌های داخلی، بر خلاف وقفه‌های سخت‌افزاری خارجی که بر اساس وقوع رویدادها در سخت‌افزار بیرونی ایجاد می‌شوند، به دلیل اجرای یک دستورالعمل ایجاد می‌شوند.
  • وقفه‌های داخلی ممكن است در قبل، حین، و یا بعد از اجرای دستورالعمل ایجاد شوند.
  • وقفه‌های داخلی، توسط پرچم قابلیت وقفه ماسک نمی‌شوند.
  • نمونه‌هایی از وقفه‌های داخلی شامل (Divide Error)، (Overflow Error)، (Single Step) و(Breakpoint) هستند.

وقفه تقسیم بر صفر

  • نتيجه تقسیم یک عدد بر صفر موجب فعال شدن یک وقفه از نوع 0 می شود.
  • این وقفه، کنترل را به روال سرویس‌دهی وقفه در آدرس 0:0 در جدول بردار وقفه منتقل می‌کند.

وقفه ریزش

  • اجرای دستورات حسابی ممکن است منجر به فعال شدن وقفه ریزش شود.
  • برای فعالسازی روال سرویس این وقفه، به دستور INTO نیاز است.
  • وقفه از نوع 4 شناخته شده است.

وقفه مرحله واحد

  • فعالسازی پرچم تله (TF) در ثبات وضعیت، حالت مرحله واحد را فعال می‌کند.
  • هر وقت که TF فعال باشد، با اجرای هر دستورالعمل، یک وقفه از نوع 1 به روال سرویس‌دهی مرتبط ارسال می‌شود.

وقفه نقطه‌ی شکست

  • برای اجرای دیباگ، نقطه‌ی شکست در برنامه درج می‌شود و با اجرای دستور این نقطه‌ی شکست، در حین اجرا، کنترل به روال سرویس‌دهی وقفه (از نوع 3) منتقل می‌شود.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

این آزمون به بررسی عملکرد و مدیریت درخواست‌های قطع در میکروپروسسور 8088 و کنترل‌کننده وقفه 82C59A می‌پردازد. سوالات شامل مباحثی نظیر نقشه‌های سازمان فضایی، سیگنال‌های ACK و مکانیسم‌های وقفه است. این آزمون برای دانشجویان رشته‌های مهندسی کامپیوتر و الکترونیک طراحی شده است.

More Like This

Use Quizgecko on...
Browser
Browser