Podcast
Questions and Answers
عملکرد سختافزار در یک درخواست فعال در ورودی درخواست قطع چگونه است؟
عملکرد سختافزار در یک درخواست فعال در ورودی درخواست قطع چگونه است؟
در صورت تغییر مثبت در ورودی CLK فلپفلاپ، خروجی Q آن سطح منطقی 1 میشود و سیگنال یک مثبت به ورودی INTR میرسد.
عدد نوع ارسالی به میکروپروسسور در درخواست قطع چه مقداری دارد؟
عدد نوع ارسالی به میکروپروسسور در درخواست قطع چه مقداری دارد؟
عدد نوع ارسالی به میکروپروسسور 60H است.
نقشه سازمان فضایی آدرس حافظه را با فرض مقادیر اولیه در ثباتهای سگمنت رسم کنید.
نقشه سازمان فضایی آدرس حافظه را با فرض مقادیر اولیه در ثباتهای سگمنت رسم کنید.
مقاطع حافظه شامل کد، داده و پشته به ترتیب با آدرسهای 1000H، 4000H و 2000H:0000H آغاز میشوند.
برنامه اصلی و روال خدماتی چگونه باید طراحی شوند تا تحولات مثبت در INTR به عدد دهدهی شمارش شوند؟
برنامه اصلی و روال خدماتی چگونه باید طراحی شوند تا تحولات مثبت در INTR به عدد دهدهی شمارش شوند؟
نقش سیگنال قطع ACK در واکنش 8088 به درخواست قطع چیست؟
نقش سیگنال قطع ACK در واکنش 8088 به درخواست قطع چیست؟
چگونه مدار میتواند درخواستهای قطع را شمارش کند؟
چگونه مدار میتواند درخواستهای قطع را شمارش کند؟
تفاوت بین سگمنت کد و سگمنت داده چیست؟
تفاوت بین سگمنت کد و سگمنت داده چیست؟
مکانیزم وقفه و انواع آن را توضیح دهید.
مکانیزم وقفه و انواع آن را توضیح دهید.
چرا منطقه آدرس حافظه میتواند در عملکرد میکروپروسسور حیاتی باشد؟
چرا منطقه آدرس حافظه میتواند در عملکرد میکروپروسسور حیاتی باشد؟
نقش جدول وکتور وقفه چیست؟
نقش جدول وکتور وقفه چیست؟
کنترلکننده وقفه 82C59A چیست و چه وظیفهای دارد؟
کنترلکننده وقفه 82C59A چیست و چه وظیفهای دارد؟
چگونه سیگنال CS برای 82C59A تولید میشود و چه تأثیری بر آدرسهای میکروپروسسور دارد؟
چگونه سیگنال CS برای 82C59A تولید میشود و چه تأثیری بر آدرسهای میکروپروسسور دارد؟
دستورات مربوط به وقفهها چه هستند؟
دستورات مربوط به وقفهها چه هستند؟
فروشگاه داده (Data Area) در کنترلکننده وقفه 82C59A به چه منظوری استفاده میشود؟
فروشگاه داده (Data Area) در کنترلکننده وقفه 82C59A به چه منظوری استفاده میشود؟
چگونه میتوان وقفهها را در یک روتین خدماتی مجدداً فعال کرد؟
چگونه میتوان وقفهها را در یک روتین خدماتی مجدداً فعال کرد؟
روند آغازین یک روتین خدماتی برای وقفه سختافزاری خارجی چیست؟
روند آغازین یک روتین خدماتی برای وقفه سختافزاری خارجی چیست؟
انواع وقفه نرمافزاری در سیستمهای مبتنی بر 82C59A چه کاربردی دارند؟
انواع وقفه نرمافزاری در سیستمهای مبتنی بر 82C59A چه کاربردی دارند؟
تفاوت بین حداقلمد و حداکثرمد در رابط وقفه سختافزاری چیست؟
تفاوت بین حداقلمد و حداکثرمد در رابط وقفه سختافزاری چیست؟
چگونه کد مرحلهای (Segment Code) یک روال خدماتی در 82C59A قرار میگیرد؟
چگونه کد مرحلهای (Segment Code) یک روال خدماتی در 82C59A قرار میگیرد؟
سیگنالهای رابط وقفه سختافزاری چه نقشی در میکروپردازنده دارند؟
سیگنالهای رابط وقفه سختافزاری چه نقشی در میکروپردازنده دارند؟
آدرس 120H در جدول بردار وقفه (Interrupt Vector Table) چه اطلاعاتی را ذخیره میکند؟
آدرس 120H در جدول بردار وقفه (Interrupt Vector Table) چه اطلاعاتی را ذخیره میکند؟
چرا نیاز به اتصال دائمی برای ورودیهای وقفه خارجی وجود دارد؟
چرا نیاز به اتصال دائمی برای ورودیهای وقفه خارجی وجود دارد؟
وقتی A1 برابر 0 است، 82C59A به چه آدرسهایی پاسخ میدهد؟
وقتی A1 برابر 0 است، 82C59A به چه آدرسهایی پاسخ میدهد؟
سیگنالهای غیرقابل ماسک (Nonmaskable Interrupt) چه کاربردی در 82C59A دارند؟
سیگنالهای غیرقابل ماسک (Nonmaskable Interrupt) چه کاربردی در 82C59A دارند؟
وقتی یک وقفه داخلی به وجود میآید، چه شرایطی باعث آن میشود؟
وقتی یک وقفه داخلی به وجود میآید، چه شرایطی باعث آن میشود؟
پیشامدهای مرتبط با تقسیم عدد در ارتباط با وقفه داخلی چگونه مدیریت میشوند؟
پیشامدهای مرتبط با تقسیم عدد در ارتباط با وقفه داخلی چگونه مدیریت میشوند؟
چگونه میتوان خطای overflow را در برنامه شناسایی کرد؟
چگونه میتوان خطای overflow را در برنامه شناسایی کرد؟
چه نوع وقفههایی بالاترین اولویت را دارند و به چه دلیل؟
چه نوع وقفههایی بالاترین اولویت را دارند و به چه دلیل؟
چرا وقفههای داخلی با پرچمهای فعالسازی وقفه مختل نمیشوند؟
چرا وقفههای داخلی با پرچمهای فعالسازی وقفه مختل نمیشوند؟
شما چگونه میتوانید یک روتین خدماتی برای خطای overflow را پیادهسازی کنید؟
شما چگونه میتوانید یک روتین خدماتی برای خطای overflow را پیادهسازی کنید؟
علت ایجاد وقفههای داخلی مانند خطای تقسیم و overflow چه چیزهایی هستند؟
علت ایجاد وقفههای داخلی مانند خطای تقسیم و overflow چه چیزهایی هستند؟
آیا تقسیم عددهایی که باعث overflow میشوند میتوانند موجب خطای داخلی شوند؟
آیا تقسیم عددهایی که باعث overflow میشوند میتوانند موجب خطای داخلی شوند؟
تعریف INTERRUPT در پردازنده 8088 و 8086 چیست و چه کاربردهایی دارد؟
تعریف INTERRUPT در پردازنده 8088 و 8086 چیست و چه کاربردهایی دارد؟
NMI یا غیرقابل ماسک چیست و چه مزایایی دارد؟
NMI یا غیرقابل ماسک چیست و چه مزایایی دارد؟
چگونه NMI در پردازنده 8088 یا 8086 شناسایی و به آن پاسخ داده میشود؟
چگونه NMI در پردازنده 8088 یا 8086 شناسایی و به آن پاسخ داده میشود؟
در چه شرایطی پرچم ENABLE INTERRUPT در زمان NMI غیرفعال میشود؟
در چه شرایطی پرچم ENABLE INTERRUPT در زمان NMI غیرفعال میشود؟
آدرسهای حافظه NMI vector کجا ذخیره میشوند و چه نقشی دارند؟
آدرسهای حافظه NMI vector کجا ذخیره میشوند و چه نقشی دارند؟
کدام وقفهها به عنوان وقفههای نرمافزاری شناخته میشوند؟
کدام وقفهها به عنوان وقفههای نرمافزاری شناخته میشوند؟
ورودی RESET چه وظیفهای در پردازنده 8088 و 8086 دارد؟
ورودی RESET چه وظیفهای در پردازنده 8088 و 8086 دارد؟
نقش 82C59A در زمینه مدیریت وقفهها چیست؟
نقش 82C59A در زمینه مدیریت وقفهها چیست؟
مکانیسم وقفه چیست و چگونه میتواند برنامه را تحت تأثیر قرار دهد?
مکانیسم وقفه چیست و چگونه میتواند برنامه را تحت تأثیر قرار دهد?
جدول وکتور وقفه چه نقشی در پردازش وقفهها دارد؟
جدول وکتور وقفه چه نقشی در پردازش وقفهها دارد؟
وقفههای غیرقابل ماسک چه نوعی از وقفهها هستند و چه ویژگیای دارند؟
وقفههای غیرقابل ماسک چه نوعی از وقفهها هستند و چه ویژگیای دارند؟
عملیات فعالسازی و غیرفعالسازی وقفهها چه تأثیری بر روی میکروپروسسور دارد؟
عملیات فعالسازی و غیرفعالسازی وقفهها چه تأثیری بر روی میکروپروسسور دارد؟
کنترلر وقفه برنامهپذیر 82C59A چه وظیفهای دارد؟
کنترلر وقفه برنامهپذیر 82C59A چه وظیفهای دارد؟
روال خدمات وقفه (ISR) چه وظیفهای دارد و چگونه کار میکند؟
روال خدمات وقفه (ISR) چه وظیفهای دارد و چگونه کار میکند؟
تعداد وقفههای قابل پیادهسازی در میکروپروسسورهای 8086 و 8088 چه میزان است؟
تعداد وقفههای قابل پیادهسازی در میکروپروسسورهای 8086 و 8088 چه میزان است؟
وقفههای داخلی چه نوعی از وقفهها هستند و در چه شرایطی به وجود میآیند؟
وقفههای داخلی چه نوعی از وقفهها هستند و در چه شرایطی به وجود میآیند؟
Flashcards
مکانيسم وقفه
مکانيسم وقفه
وقتي يك رويداد داخلي يا خارجي رخ مي دهد، به برنامه CPU جهت مي دهد تا به يك روتين خدماتي اختصاصي برود.
جدول بردار وقفه
جدول بردار وقفه
به کدهايي گفته مي شود که CPU را به وقفه هاي خاص هدايت مي کنند.
وقفه هاي نرم افزاري
وقفه هاي نرم افزاري
وقفه هايي که توسط فرامين نرم افزاري توليد مي شوند.
وقفه هاي سخت افزاري
وقفه هاي سخت افزاري
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
شمارش درخواست وقفه
شمارش درخواست وقفه
Signup and view all the flashcards
عملکرد مدار وقفه
عملکرد مدار وقفه
Signup and view all the flashcards
پاک سازی فلیپ فلاپ و فعال سازی 74LS244
پاک سازی فلیپ فلاپ و فعال سازی 74LS244
Signup and view all the flashcards
خواندن نوع وقفه توسط 8088
خواندن نوع وقفه توسط 8088
Signup and view all the flashcards
نوع وقفه
نوع وقفه
Signup and view all the flashcards
دریافت نوع وقفه توسط 8088
دریافت نوع وقفه توسط 8088
Signup and view all the flashcards
82C59A
82C59A
Signup and view all the flashcards
Minimum Mode
Minimum Mode
Signup and view all the flashcards
Maximum Mode
Maximum Mode
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
وظایف وقفه داخلی
وظایف وقفه داخلی
Signup and view all the flashcards
مکانیزم وقفه
مکانیزم وقفه
Signup and view all the flashcards
وقفه ی سخت افزاری
وقفه ی سخت افزاری
Signup and view all the flashcards
جدول وقفه (Interrupt Vector Table)
جدول وقفه (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)
Signup and view all the flashcards
واکنش پردازنده به NMI
واکنش پردازنده به NMI
Signup and view all the flashcards
کاربرد NMI
کاربرد NMI
Signup and view all the flashcards
ورودی RESET
ورودی RESET
Signup and view all the flashcards
نحوه عملکرد ورودی RESET
نحوه عملکرد ورودی RESET
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
وقفه Overflow
Signup and view all the flashcards
وقفه های داخلی
وقفه های داخلی
Signup and view all the flashcards
شماره وقفه داخلی
شماره وقفه داخلی
Signup and view all the flashcards
سرویس دهنده وقفه (Interrupt Service Routine)
سرویس دهنده وقفه (Interrupt Service Routine)
Signup and view all the flashcards
عدم امکان Mask کردن وقفه های داخلی
عدم امکان Mask کردن وقفه های داخلی
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.
Related Documents
Description
این آزمون به بررسی عملکرد و مدیریت درخواستهای قطع در میکروپروسسور 8088 و کنترلکننده وقفه 82C59A میپردازد. سوالات شامل مباحثی نظیر نقشههای سازمان فضایی، سیگنالهای ACK و مکانیسمهای وقفه است. این آزمون برای دانشجویان رشتههای مهندسی کامپیوتر و الکترونیک طراحی شده است.