تحقیق درباره وقفه های BIOS

راهنمای سایت

سایت اقدام پژوهی -  گزارش تخصصی و فایل های مورد نیاز فرهنگیان

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

2- شما با هر کارت بانکی عضو شتاب (همه کارت های عضو شتاب ) و داشتن رمز دوم کارت خود و cvv2  و تاریخ انقاضاکارت ، می توانید بصورت آنلاین از سامانه پرداخت بانکی  (که کاملا مطمئن و محافظت شده می باشد ) خرید نمائید .

3 - درهنگام خرید اگر ایمیل ندارید ، در قسمت ایمیل ، ایمیل http://up.asemankafinet.ir/view/2488784/email.png  را بنویسید.

http://up.asemankafinet.ir/view/2518890/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86.jpghttp://up.asemankafinet.ir/view/2518891/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%DA%A9%D8%A7%D8%B1%D8%AA%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%AA.jpg

لیست گزارش تخصصی   لیست اقدام پژوهی     لیست کلیه طرح درس ها

پشتیبانی سایت

در صورت هر گونه مشکل در دریافت فایل بعد از خرید به شماره 09159886819 در شاد ، تلگرام و یا نرم افزار ایتا  پیام بدهید
آیدی ما در نرم افزار شاد : @asemankafinet

تحقیق درباره وقفه های BIOS

بازديد: 253

 

Bios

بطور كلي iosB به ورودي و خروجي مربوط مي شود ، Bios شامل راه اندازها يا رابطهاي نرم افزاري براي5  ابزار سخت افزاري زير مي باشد : كنسول ( صفحه كليد و صفحه نمايش ) ، يك چاپگر عمومي ، ابزار كمكي ( پورت سري ) ، ساعت كامپيوتر و ابزار ديسك راه انداز . بخشي از Bios توسط سازندگان كامپيوتر در داخل هر كامپيوتر قرار داده مي شود . اين قسمت Bios بخش مقيم نام دارد كه Bios  Ram هم ناميده مي شود چون در تراشه هاي حافظه فقط خواندني قرار گرفته كه در برد سيستم كامپيوتر جا مي گيرد . BiosRam به عنوان يك رابط با سخت افزار كامپيوتر عمل مي كند كه در آن ابزارهاي سخت افزاري نصب شده و كامپيوتر را كنترل مي كند ، همچنين يك رابط استاندارد شده با نرم افزار را ارائه مي دهد . دومين بخش Bios غير مقيم است كه در هنگام راه اندازي كامپيوتر از روي ديسك به داخل حافظه انتقال مي يابد و دستيابي تصادفي خوانده مي شود . در  Ms_dos  اين فايل  io.sys  ناميده مي شود ؛ در Pc_dos  آن IBMBIO.com ناميده مي شود . عليرغم نامهاي متفاوت اما هر دو يك وظيفه را انجام مي دهند . اين فايل صفات مخفي و سيستم را دارد و به اين معناست كه فايل را در ليست دايركتوري تان نخواهيد ديد مگر اينكه Ms_dos  ورژن 5 يا بالاتر داشته باشد و از    سوئيچ /ah با فرمانDir  استفاده كنيد يا از برنامه اي كمكي استفاده كنيد كه نام فايلهاي مخفي را نشان مي دهد .

سرويسهاي Bios : يك رمز برنامه نويسي موفق روي خانواده هاي Pc در استفادة موثر از سرويسهاي موجود در Bios مي باشد . همان طور كه گفتيم سرويسهاي Bios بين سخت افزار و نرم افزارهاي سطح بالاتر جاي دارند كه اين نرم افزارها شامل زبانهاي برنامه نويسي ، برنامه هاي كاربردي و هستة Ms_dos  مي باشد . سرويسهاي Bios مستقيمأ با سخت افزار كامپيوتر و ابزارهاي جانبي كار مي كنند آنها بعضي از اساسي ترين وظايف سيستم كامپيوتر مانند مانند خواندن و نوشتن بايتهاي منفرد از و به صفحه نمايش يا ديسك را انجام مي دهند ، سرويسهاي Ms_dos  و سرويسهاي برنامه هايتان را با دستيابي مستقيم به Bios بهبود بخشيد در نتيجه به مجموعه واقعأ نيرومندي از ابزارها دست يافته اند و از كامپيوترتان به نحوي استفاده مي كنيد كه IBM مي خواهد آن طور باشد . به طوري كه در هر مدل جديد كه طراحي مي شود IBM  مطمئن است سرويسهاي Bios آن كاملأ با اعضاي ديگر خانواده سازگار هستند . تازمانيكه با استفاده از Bios كامپيوترتان را كنترل مي كنيد به صورت مستقيم يا غير مستقيم از پيش آمدن هر گونه مشكل سازگاري مصون هستيد . اگر Bios را كنار بگذاريد  و مستقيمأ به سخت افزار برنامه دهيد نه اينكه فقط به مشكل مي افتيد بلكه شديدأ محدودة عملكرد          برنامه هايتان را محدود مي كنيد .

فلسفه Bios يا ( چگونگي عملكرد Bios ) : تمام سرويسهاي Bios توسط وقفه هايي احضار مي شوند . هر دستور عمل وقفة يك مدخل را در جدول بردار وقفه در حافظة پايين انتخاب مي شود . آدرس هاي تمام روال هاي سرويس Bios در اين جدول ذخيره مي شود . اين طرح براي برنامه اين امكان را به وجود مي آورد كه بدون دانستن محل حافظه مشخص روال سرويس Bios ، سرويس را درخواست كند . همچنين اجازه مي دهد تا سرويسها تغيير مكان دهند ، وسعت يا وفق يابند ، بدون اينكه بر برنامه اي كه از سرويسها استفاده مي كند اثر بگذارد . اگر چه IBM  سعي كرده است محل هاي حافظة بعضي بخشهاي Bios را ثابت نگه دارد اما درست نيست كه از اين آدرس ها در برنامه استفاده شود چون آنها ممكن است در آينده تغيير كنند روش استاندارد ، ارجع و معتبر تر براي احضار يك سرويس Bios اين است كه به جاي آدرس مطلقش از وقفة آن استفاده كنيد . سرويسهاي Bios مي تواند توسط يك كارگردان وقفة اصلي نظارت شوند اما در مقابل آنها به دو طبقه بندي موضوعي تقسيم مي شوند و هر طبقه كارگردان وقفة خودش را دارد . اين طرح اجازه مي دهد هر كارگردان وقفه به راحتي جايگزين مي شود . به عنوان مثال اگر سازندة سخت افزار ، يك صفحه نمايش تصويري كاملأ متفاوتي را ايجاد كند كه تحت برنامة Bios كاملأ جديدي عمل مي نمايد آنگاه سازنده بايد همراه با سخت افزار ، برنامة Bios جديدي را طراحي كند . برنامة جديد Bios مي تواند در Ram  به عنوان يك راه انداز قابل نصب در Rom به عنوان تراشه هاي Rom در يك كارت آداپتور ذخيره شود . وقتي كه آدرس روال سرويس جديد در محل مناسب در جدول بردار وقفه درج شود آنگاه روال جديد بطور مؤثري با بخشي از Bios اصلي كه با سخت افزار قديمي به كار مي رفت جايگزين شود . IBM با پيمانه اي كردن Bios توانسته است آن را براي بهبود و گسترش قابليتهاي كامپيوتريش راحت تر سازد .

زنجيره هاي ارتباطي Bios: Bios در سيستم هايي با CPU 80286 يا بالاتر تعدادي زنجيرة ارتباطي را فراهم مي كند . اين زنجيره هاي ارتباطي تحت سرويسهاي وقفهh 15 پياده سازي مي شود اما براي استفاده از آنها بايد يك كارگردان وقفه  h15بنويسيد كه فقط اين سرويسها را پردازش كند و ساير درخواستهاي سرويس وقفة   h15 را به Bios عبور دهد . اين ترتيب اجازه مي دهد كه مؤلفه هاي مختلفي از Bios در يك روش سازگار با يكديگر و باسيستم عامل و برنامه هاي نوشته شده توسط كاربر ارتباط برقرار كنند . زنجيره هاي Bios در ابتدا جهت استفاده در سيستم عاملها يا برنامه هاي نوشته شده براي تكميل سيستم عامل يا توابع Bios در نظر گرفته شدند اما Ms_dos  و Dsl2 از اين زنجيره هاي Bios استفاده نمي كنند و فقط چند برنامة كاربردي هستند كه به دلائل به خصوصي از آنها استفاده مي كنند.

  مديريت فايل در Bios: Bios چگونه با نيازهاي يك سيستم مديريت فايل برخورد مي كند ؟ در هر ديسكت فرمت شده دو ناحيه با اهميت بيشتر مربوط به اين بحث وجود دارد . يكي از آنها جدول تخصيص فايل ( fat ) و ناحيه ديگر فهرست يا ( Dir  ) است . محل اين دو فضا روي ديسكت در جدول زير مشخص شده است . Fat بلافاصله بعد از ركورد راه انداز مي آيد و مشاهده مي شود كه 4 سكتور را اشغال مي كند . لكن چنين بر مي آيد كه در واقع دو كپي از يك Fat  هر يك شامل دو سكتور ، موجود مي باشد و  Dir بلافاصله بعد از Fat  مي آيد و هفت سكتور را اشغال مي كند . Fat  دو نياز اساسي براي يك سيستم مديريت را برآورده مي كند  اولأ به ما مي گويد كدام سكتور ها اشغال مي شوند و كدام سكتور ها خالي هستد . ثانيأ به ما مي گويد كدام سكتورهاجهت تشكيل يك فايل به هم بسته مي شوند . Fat  عملا پيرامون واحدي سازمان مي يابد كه مي تواند شامل يك سكتور يا بيشتر ، بسته به نوع درايو ديسك باشد . در چگالي دو برابر استاندارد ، درايو دو طرفه ، گروهها از دو سكتور متوالي ساخته مي شوند كه Fat   ميتواند نشان دهد كه كدام گروهها به هم وابسته اند . Dir چيزهاي ديگر را از جمله آنكه كدام فايلها روي ديسك نگهداري مي شوند ، و كدام گروه ،گروه شروع يك فايل مخصوص مي باشد را نشان مي دهد

 

 

 

 

 

 

 

 

 

 

( محل Fat  و دايركتوري )

 

   
 
 
 

 

طرف 0 ، شيار 0

ركورد راه رنداز                                                                                 سكتور 1

Fat  ( اولين كپي )                                                                             سكتور 2

Fat ( ادامة كپي اول )                                                                        سكتور 3

Fat ( كپي دوم )                                                                               سكتور 4

Fat (ادامة كپي دوم )                                                                         سكتور 5

سكتور فهرست 1                                                                             سكتور     6

سكتور فهرست 2                                                                            سكتور7

سكتور فهرست 3                                                                            سكتور 8

سكتور فهرست 4                                                                            سكتور 9

 

 

طرف 1 ، شيار 0

 

 

سكتور فهرست   5                                                                          سكتور 1

سكتور فهرست 6                                                                           سكتور 2

سكتور فهرست7                                                                            سكتور 3

 

 به روز آوري Bios : در مادربوردهاي قديمي Bios در يك Rom قرار گرفته و سيستم فقط قادر به خواندن آن مي باشد . در صورت پيشرفت تكنولوژي نياز به Bios احساس شد كه بتوان در صورت نياز آنها را تغيير داد و به روز كرد . اكثر مادربوردهاي جديد اين امكان را دارند يعني Bios آنها از نوع Flash مي باشد كه مي توان با انجام يك سري عمليات ، فايل جديدي را در آن نوشت . مراحل انجام اين كار در هر يك از مادربوردها با ديگري متفاوت است . در اينجا مراحل به روز آوري Bios در مادربوردهاي A_trend مدل ATC_6150 توضيح داده مي شود . اين مادربوردها مجهز به يك ديسك به روز آوري Bios مي باشد و در هر زمان نيز مي توان نسخه جديدي از آن تهيه كرد . روش اين كار به صورت زير است : 1 ـ سيستيم را در Dos بوت كنيد . 2 ـ ديسك Update را كه مخصوص به روز آوري Bios است در درايو A قرار دهيد . 3 ـ مسير كاري را به A تغيير دهيد . 4 ـ برنامه به روز آوري Bios را كه عمومأ Owd flash مي باشد اجرا كنيد . 5 ـ نام فايل به روز آوري Bios را كه از جنس باينري است نوشته و Enter بزنيد . 6 ـ هنگامي كه پيام Do you want to save bios ? ظاهر شد اگر نمي خواهيد Bios قديمي ذخيره شود بنويسيد N و Enter  بزنيد . 7 ـ در پاسخ به پيغام Are you sure to program ?  بنويسيد Y و Enter  بزنيد . 8 ـ مراحل را انجام دهيد تا آخر كار فلاپي را از درايو خارج نكرده يا سيستم را خاموش نكنيد . 9 ـ سيستسم را پس از اتمام كار خاموش كرده و اطلاعات Cmos را با استفاده از Jps پاك كنيد . 10 ـ پس از روشن كردن سيستيم ، محتويات Cmos  را به شكل مورد نياز تنظيم كنيد . دقت داشته باشيد كه هر چند استفاده از Flash Bios باعث افزايش توانايي در استفاده از سيستم مي باشد اما خطر تخريب سيستم را توسط ويروس افزايش مي دهد . بعضي از انواع ويروس ها مانند چرنويل قادر هستند محتويات Bios را پاك كنند در نتيجه سيستم قادر به عملكرد درست نمي باشد .

بايت وضعيت Bios : اغلب توابع Int 13h در صورت موفقيت پرچم نقلي را صفر و در صورت عدم موفقيت پرچم نقلي را يك مي كنند و يك كد وضعيت به ثبات Ah بر مي گرداند . Bios اطلاعاتي راجع به هر ابزار وضعيت آن در ناحيه دادة حوزه نگه مي دارد . بايت وضعيت در شكل زير نشان داده شده است كه بازتابي از بيتهاي ظاهر شده در ناحيه داده Bios در 40 : 41h براي ناحيه دادة ديسك درايو و در 40 : 47h براي ناحيه داده ديسك سخت مي باشد . در صورت بروز خطا در عمليات ديسك ، يك ادغام مشخص برنامه ، تنظيم مجدد ديسك ( تابع 00H ) و سه مرتبه سعي مجدد در انجام عمليات مي باشد . اگر هنوز خطايي وجود دارد برنامه يك پيغام را نمايش مي دهد و به عنوان يك راه حل مشكل ، براي كاربر امكان تغيير ديسك را فراهم مي آورد .

 

 

 

 

 

 

 

 

 

 

                                            code                                   Status 

        

           00H          No error    

             01H         Bad command . not not recognized by the controller

             02H         Adders mark no disk not found

              03H        Writingon protected disk attempted

              04H        Invailed track / sector

              05H        Reset operation failed

              06H        Diskette removed since last access

              07H        Draive prameters wrong

              08H       Direct memory access ( dma ) overrun ( data accessed too fast to enter )

              09h        Dma across a 64 k boundary attemped on read /write

               10H      Bad crc on a read encountered ( error check indicated corruted data )

               20H      contoroler Failed ( hardware failure )

                40H     Seek operation failed ( hardware failure ) 

                80H     Device failed to respond ( diskette : drive door open or no diskette ; hard                             Disk : time out )

                AAH   Drive not ready

                BBH    undefined error

                CCH   Write fault

 

 

ناحيه داده Bios : Bios ، ناحيه داده 256 بايتي خودش را در حافظهپاياني با شروع از آدرس سگمنت 40H با فيلدها يي شامل داده هايي به ترتيب بايت معكوس دستكاري مي كند . اين فيلدها شامل ناحيه داده درگاه سريال ، ناحيه داده درگاه موازي ، ناحيه داده تجهيزات سيستم، ناحيه داده متفرقه ، ناحيه داده حافظه ،  ناحيه داده درايو ديسك ، ناحيه داده ويدئو ، ناحيه داده سيستم ، ناحيه داده ديسك سخت ، ناحيه داده مربوط به اوقات جانبي و ناحيه داده ساعت زمان حقيقي مي باشد .

 

خارجي           Rom                 سطح پايين                  سطح بالا                                      كاربر

 

رابطة Bios  :  Dos : در ماژول سيستم ، Io.sys و Msdos.sys استفاده از Bios را سهولت مي بخشد . چون اين ماجولها بسياري از پردازشهاي مورد نياز را فراهم مي سازند ، عمليات Dos عمومأ ساده تر از نسخه Bios خود است و عمدتأ وابستگي كمتري به ماشين دارد . Io.sys يك رابط سطح پايين براي Bios  است كه خواندن داده از ابزارهاي خارجي به حافظه و نوشتن داده از حافظه به ابزار خارجي را سهولت مي بخشد . Msdos.sys شامل يك مديريت فايل است و برخي سرويسها را نيز فراهم مي سازد . براي مثال وقتي كاربر برنامه Int21H را تقاضا مي كند ، برنامه اطلاعات را بر طبق محتويات ثباتها به Msdos.sys ارائه مي دهد . براي تكميل درخواست Msdos.sys ممكن است اطلاعات را به يك يا چند فراخواني به Io.sys منتقل كند ، كه به نوبت Bios را فرا ميخواند . شكل زير اين ارتباط را نشان مي دهد .

 

 

 

 

بافر صفحه كليد در محدودة داده هاي Bios : رويه وقفه 9  كداسكن را از صفحه كليد مي گيرد و آن را در چند محل حافظه در محدوده داده هاي Bios ذخيره مي كند . به اين  محل حافظه بافر صفحه كليد گفته مي شود . اين بافر در محدوده داده هاي Bios نبايد با بافر صفحه كليد كه سرزيري آن باعث ايجاد بوق بلندگو مي شود اشتباه مي شود . اگر كد اسكي وجود دارد وقفة 9 كد اسكي را نيز براي كليد در بافر صفحه كليد ذخيره مي كند در غير اين صورت صفر به جاي آن قرار مي دهد .

 بافر صفحه كليد: مجموعأ 32 بايت ( 16 كلمه ) از حافظه در محدوده دايره هاي Bios براي بافر صفحه كليد در نظر گرفته مي شود كه از آدرس 0043dh :0041ehمي‌باشد . هر دو محل متوالي براي يك كاراكتر در نظر گرفته مي شود . يكي براي كد اسكن و ديگري براي كد اسكي كاراكتر چنانچه وجود داشته باشد . دو اشاره گر به بافر صفحه كليد وجود ارد كهاشاره گر سر بافر و اشاره گر دنباله بافر نام دارد .

 

  آدرس اشاره گر ابتداي بافر       آدرس اشاره گر انتهاي بافر              بافر صفحه كليد 

   

   41B,41A                                 41D,41C                             41E    تا 43D   

 

( محدوده  BIOS استفاده شده توسط بافر صفحه كليد )

اشاره گر دنباله بافر : آدرس هاي 0040 : 001ch  و 0040 : 001dh  حافظه ، آدرس دنبالة بافر صفحه كليد را نگه مي دارند . و اين به اين معني كه در هر لحظه آدرسهاي 0041dh , 0041ch حافظه شامل آدرسي هستند كه وقفه 9 در آن آدرس ، كاراكتر بعدي را ذخيره مي كند . كار وقفه 9 قرار دادن كاراكتر در بافر صفحه كليد و جلو بردن دنباله با افزودن محتواي محل 0041ch حافظه مي باشد .

 اشاره گر ابتداي بافر : وقفه 16h آدرس كاراكتر بعدي را از محلهاي 41bh , 41ah  حافظه يعني محل اشاره گر به سر بافر بدست مي آورد . به محض اينكه وقفه 16h هر كاراكتر را از بافر صفحه كليد مي خواند اشاره گر سر بافر را به جلو مي برد . بحث فوق مي تواند به صورت زير خلاصه شود . وقتي وقفة 9 كاراكتر را داخل بافر صفحه كليد قرار مي دهند دنبالة بافر را پيش مي برد و وقتي وقفه 16h كاراكتر را از بافر صفحه كليد مي خواند ابتداي بافر را پيش مي برد . وقتي آنها به انتهاي بافر مي زسند هر دو مي چرخند و به اين ترتيب يك حلقه 16 كلمه اي را ايجاد مي كنند كه ابتداي بافر به صورت مستمر و انتهاي بافر را تعقيب مي كند . اگر بافر صفحه كليد خالي باشد آدرس ابتداي بافر برابر با آدرس انتهاي بافر مي باشد . وقتي كه وقفه 9 كاراكتر را داخل بافر قرار مي دهد دنباله را جلو مي برد و اگر بافر به وسيله وقفه 16h خوانده نشد بافر پر شده و سبب مي شود كه دنباله درست پشت ابتداي بافر باشد .

 

 

 

 

 

 

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

وقفه رخدادي است كه پردازنده را وادار مي سازد تا فعاليتهاي جاري را متوقف كند و به اجراي وقفه مورد نظر بپردازد . اعمال روزمره ما در طول شبانه روز دستخوش وقفه هاي فراوان     مي شود . در مورد ريز پردازنده هم عملي مشابه رخ مي دهد . وقفه جهت جلب توجه پردازنده رخ مي دهد  وقفه ممكن است مثلا جهت تحريك يك سيستم محافظتي در زمان باز شدن يك پنجره استفاده گردد در يك كامپيوتر شخصي وقفه ها جهت ثبت زمان ، خواندن از صفحه كليد ، عمليات گرداننده ديسك و دسترسي به سيستم عامل ديسك استفاده مي گردند . دو نوع وقفه د ر دسترس مي باشد : نرم افزاري و سخت افزاري . وقفه هاي سخت افزاري به وسيله تغيير سطح منطقي يكي از ورودي هاي وقفه پردازنده ايجاد مي گردند . اين ورودي ها عبارتند از             NMI ( وقفه هاي غير قابل پوشش ) و INTR ( در خواست وقفه ) . INTR مي تواند فعال يا غير فعال شود كه اين عمل به صورت نرم افزاري و به كمك اجراي دستورات STI و CLI صورت مي گيرد . مفهوم اين امر آن است كه NMI در مكانيزم وقفه نياز به يك لبه بالا رونده پالس ساعت داريم و نيز INTR حساس به سطح است و نياز به سطح منطقي مثبت جهت وقفه دادن به پردازنده دارد . در هنگام فعال كردن NMI در نظر گرفته شده است اشاره مي نمايد . INTR در صورتيكه فعال باشد يك سيكل پذيرش وقفه را توليد مي كند كه به منظور خواندن شمارة بردار وقفه و يا نوع وقفه از گذرگاه داده پردازنده به كار مي رود . وقفه هاي نرم افزاري مستقيمأ توسط برنامه ها توليد مي گردند . اين نوع از وقفه ها نيز Exception  ( استناء ) نيز خوانده مي شود بعضي از دستور العمل ها مانند INT يا Into پس از اجرا باعث بروز وقفه مي شود . بقية دستور العمل ها زماني كه شرطي خاص ارضاء شوند توليد وقفه مي نمايند . به عنوان مثال Div و  Idiv وقفه نوع صفر را زماني كه تقسيم بر صفر رخ مي دهد توليد مي كنند . اگر يك وقفة سخت افزاري و يك وقفة نرم افزاري به طور همزمان توليد شوند پردازنده در زمان برخورد چنين مواردي وقفه ها را اولويت بندي مي كند . وقف هاي اولويت بندي شده به صورت زير است :

 

 

 

اولويت وقفه ها

 

 

Interrupet                                                                                            priority

 

 

    Divide _ Error                                                                                Highest

    Int  , Into

    NMI

    INTR

    Single _step                                                                                     lowest

                  

 

 

 

اشتراك باسها و وقفه ها

براي صرفه جويي در فضا مي روي مادر بوردها طراحان Pci فكر ديگري نيز كرده اند از آنجا كه باس جديد  Pci نمي تواند يك شبه جانشين تمام باسهاي ديگر شود مسئله اشتراك باسها مطرح و راه حلي براي آن ارائه شد . يك باس مشترك مي تواند تركيب Pci  با Eisa و يا Pci با Isa باشد . اين كار باعث افزايش كل باسهاي يك مادر بورد نمي شود ( مثلا 5 تا باس Pci ) بلكه مي تواند به صورت سه تا باس Pci و سه تا باس Isa باشد و يك باس بين اين دو مشترك باشد يعني كاربر مي تواند سه كارت Pci  به همراه دو كارت Isa و يا برعكس آن را مورد استفاده قرار دهد .

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

تمام وقفه ها اعم از سخت افزاري و نرم افزاري پس از پس از اجراي يك ورودي خاص از جدول بردار وقفه پردازنده اشاره مي نمايد . اين جدول مجموعه اي از آدرسهاي 4 بايتي كه دو بايت براي CS و دو بايت براي IP است مي باشد كه بيانگر آدرس محلي است كه پردازنده بايستي جهت اجراي روال سرويس وقفه متناسب با آن به اين محل جهش نمايد . از آنجا كه 256 نوع وقفه در دسترس مي باشد بزرگي جدول بردار وقفه 1024 بايت است بلوك 1 كيلو بايتي كه جهت ذخيره كردن اين جدول رزرو مي شود از آدرس 00000 تا 003ffh بايت است . بعضي پردازنده هاي اوليه به طور خودكار پس از راه اندازي مجدد اولين دستور العمل خود را از آدرس 0000 بازيابي مي نمودند . پينتيوم اولين دستور خود را از محل FFFF0H واكنشي      مي نمايد . اين مطلب بيانگر آن است كه ما قادريم اجراي برنامه خود را بدون دستكاري جدول بردار وقفه اجرا نماييم  . ساختار جدول بردار وقفه در زير نمايش داده شده است . بعضي از اين مقادير از پيش تعريف شده مي باشد . بردار جهت انتخاب وقفه خطايي تقسيم در نظر گرفته شده است . بردار 1 در پياده سازي عمليات تك مرحله اي استفاده مي شود . بردار 2 در مواقعي كه NMI فعال شود به كار گفته مي شود . بردار 3 به عنوان نقطة توقف در هنگام اشكال زدايي برنامه ها كار برد دارد . بردار 4 به منظور استفاده از عمليات Into  در نظر گرفته شده است . بردار 5 در مواقعي كه دستور العمل Bound خبر خارج از محدوده بودن انديسها را مي دهد به كار برده مي شود و بردارهاي 6 تا 18 اجراي وظايف مديريت حافظه را دارند .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

بردارهاي 10 ، 11، 14 در حالت حفاظت شده كاربرد دارند . جدول زير مكانيزم بردارهاي ذكر شده را نشان مي دهد .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 ترتيب اجراي وقفه

وقفه هاي نرم افزاري در حين اجرا و در آغاز كار مقادير پرچم ها و آدرس بازگشت را كه در ثباتهاي IP و CS قرار دارند ذخيره مي نمايند عملياتي مشابه با اين اعمال در وقفه سخت افزاري  NMI كه به طور خود كار وقفة نوع دو را توليد مي كند ترتيب اجراي INTR در صورت فعال بودن وقفه كمي تفاوت دارد . زيرا پردازنده بايستي در ابتدا از شماره وقفه را از گذرگاه داده بخواند . زمانيكه وقفه ها توانا باشند INTR باعث مي شود كه پردازنده سيكل تصديق را اجرا نمايد . كليات اين پروسه به ترتيب زير مي باشد :

 دريافت شمارة بردار : پردازنده شمارة وقفه را به سه طريق ميتواند به دست آورد : 1ـ شمارة وقفه ممكن است در يكي از دستور عملهاي INT ذكر شود 2ـ پردازنده مي تواند به طور خودكار شماره را تشخيص دهد كه اين عمل در وقفه هاي INTO و NMI و خطاي تقسيم قابل اجر  است . 3ـ مي توان شمارة وقفه را پس از دريافت INTR از گذرگاه داده خواند .

ذخيرة اطلاعات پردازنده: كه پس از شناخت شمارة وقفه ، پردازنده ثبات پرچم را در پشته ذخيره مي نمايد . اين عمل جهت نگهداري وضعيت داخلي پينتيوم در لحظه وقوع وقفه اجرا مي شود .

پس از ذخيرة مقدار پرچم هاي پردازنده توانا ساز وقفه را پاك مي نمايد سپس محتواي IP و CS در لحظة وقوع وقفه در پشته ذخيره مي شود . 

واكنش اشاره گر جديد دستور العمل : پس از آنكه آدرس بازگشت ذخيره شده پردازنده مي تواند مقدار جديد CS و IP را از جدول بردار وقفه استخراج نموده و روال سرويس وقفه را آغاز نمايد . آدرس توليد شده به وسيلة شمارة وقفه جهت خواندن آدرس دو كلمه اي ISR در حافظه استفاده مي شود .

وقفه هاي چند گانه :

 در مرحلة اجراي برنامه احتمال دارد كه وقفه در يك زمان تقاضاي سرويس دهي از پردازنده نمايد . به عنوان مثال درست در هنگامي كه يك وقفه تقسيم بر صفر در هنگام اجراي يك برنامه بروز نمايد NMI نيز فعال شود پردازنده نياز به گشودن اين گره در زمان تشخيص اولين وقفه دارد با توجه به اين كه وقفه تقسبم بر صفر اولويتي بالاتر از NMI دارد بنابراين در اين مثال وقفه تقسيم بر صفر زودتر تشخيص داده مي شود و پس از آن مراحل زير اجرا خواهيد شد : 1ـ تشخيص خطاهاي تقسيم 2ـ ذخيره سازي  3ـ ذخيره سازي آدرس جاري IP و CS 4 ـ پاك كردن فعال ساز وقفه و پرچم رديابي 5 ـ NMI تشخيص داده مي شود 6 ـ ذخيره سازي پرچم هاي جديد 7 ـ ذخيره سازي آدرس بازگشت جديد 8 ـ پاك شدن توانا ساز وقفه و پرچم رديابي 9 ـ اجراي روال سرويس وقفه NMI 10 ـ بازيابي آدرس بازگشت جديد 11 ـ بازيابي مقادير دوم پرچم ها 12 ـ اجراي روال وقفه سرويس وقفه خطاي تقسيم 13ـ بازيابي آدرس بازگشت اول 14 ـ بازيابي مجموعه اول پرچم ها 15 ـ اجراي برنامه از دستور العملي كه از محل آن وقفه رخ داده است .

مسئله بسيار متداول در وقوع وقفه ها چند گانه زماني پيش مي آيد كه پرچم رديابي پردازنده 1 باشد پردازنده را به حالت تك مرحله اي هدايت مي كند كه در اين صورت پس از اتمام هر دستور العمل وقفه نوع 1  توليد خواهد شد . اگر دستور العمل جاري INT يا Into باشد دو وقفه نياز به سرويس دهي دارد :  INT يا Into و وقفة تك مرحله اي يا ( single _ step ) كه اجراي تك مرحله اي و پرچم رديابي در اشكال زدايي برنامه ها بسيار مفيد مي باشد .

وقفه هاي خاص :

 در اينجا عملكرد چند وقفه كه ممكن است كاربردهاي زيادي داشته باشد مورد بررسي قرار مي دهيم . تك مرحله اي يا ( single _ step ) : اساس  كار اين وقفه يك نمودن مقدار پرچم رديابي درثبات پرچم مي‌باشد هنگامي كه پرچم رديابي يك باشد پينتيوم وقفه نوع 1 پس از اجراي هر دستور العمل اجرا مي نمايد . با توجه به اين كه در ترتيب روال پردازش وقفه ها پس از ذخيره سازي محتواي پرچم رديابي را پاك مي نمايد و اين عمل موجب مي شود كه اجراي تك مرحله اي در طي اجراي اين وقفه غير فعال شود . با بكارگيري روال سرويس وقفه رديابي مي توان ابزاري مفيد جهت اشكال زدايي برنامه طراحي مي نمود . اين خطاياب تك مرحله اي مي تواند به نحوي طراحي شود كه محتواي ثباتهاي پردازنده و حالت پرچم ها و اطلاعات مفيد ديگر را پس از اجراي هر دستور العمل در برنامه نشان دهد .

NMI : از آنجا كه Nmi نمي تواند از طرف پردازنده ناديده گرفته شود در مواقعي كه رفتارهاي خارجي بايد مورد توجه پردازنده قرار گيرد بسيار مفيد مي باشد . يكي از اين وقايع خطير در تغذيه سيستم مي باشد . پردازنده در هر صورت پس از قطع جريان برق ، داده هاي موجود در ثباتها و پرچم خود را از دست مي دهد . بنابراين هيچ امكاني جهت بازگشت به اجراي برنامه پس از وصل جريان برق وجود ندارد . يك راه جهت جلوگيري از اين اتفاق و فراهم ساختن امكان بازگشت پردازنده به اجراي برنامة استفاده بافر وقفه Nmi جهت وقفه دادن به پردازنده در لحظة وقوع خطا در تغذيه مي باشد . از آنجا كه منبع تغذيه كامپيوتر تنها چند هزارم ثانيه پس از قطع جريان برق قادر به ثابت نگه داشتن سطح ولتاژ در سطح نرمال مي باشد . پردازنده در اين زمان كوتاه بايستي فقط به اجراي برنامه هاي حياتي خود بپردازد . تصور يك سيستم كنيد حجم محدودي از حافظة دائمي دارد . اين نوع حافظه داده هاي خود را پس از قطع برق نيز حفظ مي كند و مانند يك Ram  در هنگام وصل بودن جريان برق عمل مي كند . بنابراين در هنگام وقوع خطا در جريان برق Isr  مربوط به وقفة Nmi بايستي محتواي همة ثباتهاي پردازنده را در حافظه دائمي ذخيره نمايد . اين مقادير پس از وصل شدن جريان برق مجددأ بازيابي مي شود در اين صورت بدون از دست دادن اطلاعات خطاي فوق را ترميم نماييم .

نقطة توقف يا (break point ) : اين وقفه يك وقفة نوع 3 مي باشد ، ولي در يك بايت كد مي شود كه اين عمل قابليت كاربرد آن را بالا مي برد . نقطة توقف به طريق زير به اشكال زدايي در برنامه ها كمك مي نمايد . در برنامه اي كه در حال اشكال زدايي مي باشد اولين بايت يكي از دستور العمل هاي آن با كد نقطة توقف تعويض مي گردد . هنگامي كه پردازنده به اين دستور العمل ها رسيد وقفة نوع 3 را توليد مي نمايد . Isr مربوط به نقطه توقف مشابه با Isr و رديابي مي باشد و بايستي كه قادر باشد كه محتوي ثباتهاي پردازنده و آدرس محلي كه در آن محل نقطه توقف رخ داده است نشان دهد . قبل از انكه نقطه توقف به پايان برسد بايستي بايت جايگزين شده را به مقدار اصلي ان تبديل نمايد .

Intr: تا زمانيكه پرچم توانا ساز وقفه 1 نباشد هيچ وقفه اي به وسيلة Intr توليد نخواهد شد . اين عمل را مي توان به كمك استفاده از دستور العمل Sti انجام داد . Intr بايستي تا زمان نمونه برداري پردازنده از آن فعال باقي بماند . بر خلاف  Nmi كه نياز تنها به يك لبة بالا رونده داشت بنابراين لازم است كه در هنگام استفاده از Intr به آن اجازه داده شود فقط تا زمان آغاز سيكل تصديق وقفه از طرف پردازنده در حال فعال باقي بماند . مدار خارجي وقفه مي تواند سيكل تصديق وقفه را به كمك برسي حالت سيگنالهاي كنترلي پينتيوم تشخيص دهد . هنگامي كه سيگنالهاي M/IO ( حافظه ورودي ـ خروجي ) ، D/C ( داده /كد ) ، W/R    ( خواندن / نوشتن ) همچنين سيگنالهاي ADS نيز صفر باشد تصور پينتيوم آن است كه سيكل گذرگاه فعلي يك سيكل تصديق واقعه مي باشد .

روالهاي سرويس وقفه :

 روال سرويس وقفه متشكل از مجموعه كدهايي باشد كه وظيفه آن اجراي وقفه هاي خاص مي باشد . Isr مربوط به خطاي تقسيم بطور يقين با Isr طراحي شده جهت بكارگيري نقطة توقف و يا Nmi متفاوت است . هنگامي كه يك وقفه رخ مي دهد پينتيوم مقدار پرچمها و آدرس بازگشت را قبل از آدرس دهي Isr به وسيلة بردارها در پشته ذخيره مي نمايد نيز Isr داده هاي موجود در ثباتها را حين پردازش وقفه تغيير مي دهد . از آنجا كه هدف آن است كه پس از اتمام سرويس دهي به وقفه اجراي برنامه را از همان محل كه وقفه در آنجا رخ داده است آغاز كنيم لازم است كه تمامي داده هاي مورد نياز در برنامه حفظ گردند تا در برنامه نويسي و اجراي آن خللي حاصل نيايد . شكل زير نحوة اجراي عمليات ذخيرة اطلاعات حياتي را نشان مي دهد .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

پالس ساعت NMI: اين روال ساده جهت نگه داري زمان به صورت هوشمند است . در اين كاربرد روي Nmi پردازنده به منبع ساعت با فركانس 60 مگاهرتز متصل شده است . بنابراين به پينتيوم در هر ثانيه 60 مرتبه وقفه داده مي شود . وظيفة روال سرويس وقفة nmitime  كاهش يك شمارنده تا زمان صفر شدن و سپس از آن فراخواني روال از نوع far و Onesec مي باشد . بنابراين Onesec در هر ثانيه يكبار فراخوانده مي شود . شمارنده پس از دريافت هر سيگنال Nmi يكبار كاهش مي يابد . دستور Count DB 60 جهت قرار دادن مقدار 60 در شمارنده مورد نياز است كه اين عمل هر بار كه شمارنده صفر مي شود صورت مي گيرد . همچنين نرم افزار تنظيم كنندة اوليه بايد مقدار 60 را در Count  و نيز آدرس Isr  را در جدول بردار وقفه قرار دهد .

روال مراقبت ازخطاي تقسيم : اين روال جهت مراقبت وقوع تقسيم بر صفر به كار مي رود از آنجا كه ثباتهاي AX و DX ممكن است به عنوان نتيجه اي از تقسيم بر صفر تعريف نشده باشد Diverr مقدار غير صفر را در AX و مقدار D را در DX قرار مي دهد اين روش تضمين كنندة آن است كه تقسيم 8 يا 16 بيتي نتيجه اي غير از صفر دارد Diverr روالي خاص به نام Dispmsg را فرا خواني مي نمايد كه يك پيغام خروجي متني را روي صفحة نمايش كامپيوتر نشان دهد . اين پيغام Asci بايستي با علامت « $» پايان يابد .

 

Isr با توابع چند گانه : اين روال سرويس وقفه جهت اجراي چهار نو ع عمليات مورد استفاده قرار مي گيرد . Isr  به وسيلة يك دستور 2ohSnt فراخواني مي شود و ثبات Ah به منظور تشخيص اين كه چه عملي بايد انجام شود بعد از ورود دستور Isr مورد بررسي قرار مي گيرد . چنانچه Ah=0 باشد مقادير Bl و AL با يكديگر جمع مي شوند و سپس در Al قرار مي گيرند چنانچه Ah=1 باشددو ثبات از يكديگر كم مي شود ، چنانچه Ah=2 باشد ضرب دو ثبات صورت مي گيرد و چنانچه ah=3 باشد تقسيم انجام خواهد شد . هر مقدار ديگري كه در Ah باشد باعث مي شود كه دستور Isr بدون تغيير محتواي هيچ ثباتي بازگشت كند . اين روش نيز هنگام نوشتن برنامه هايي كه جهت عمليات مديريت ديسك استفاده مي شوند به كار مي رود .

وقفه ها و استثناءهاي حالت حفاظت شده :

 وقفه در پاسخ به در خواست سخت افزاري روي ورودي هاي Intr  و يا Nmi رخ مي دهد و استثناء در بخشي از اجرا رخ مي دهد به عنوان مثال حظاي تقسيم يك استثناء هست كه زماني كه دستور العمل Div و يا Idiv در مقسوم عليه صفر اجرا شوند توليد مي گردد . توصيف گرهاي اين وقفه ها و استثناء ها به صورت زير مي باشند :

بردار صفر : حظاي تقسيم . اين استثناء زماني كه دستور العمل هاي Div يا Idiv حظاي تقسيم رخ  دهد توليد مي گردند .

بردار 1 : استثناء اشكال زدايي . اين استثناء در طول اشكال زدايي چندين كاربرد دارد كه كاربرد آن در نقاط شكست تك مرحله اي ، دستور العمل  داده و انتقال وظيفه مي باشد .

بردار 2 : وقفه غير قابل پوشش ( Nmi ) اين وقفه در صورت اعمال لبه پايين رونده به ورودي Nmi در پنتيوم ايجاد مي گردد .

بردار 3 : نقطة توقف . اين دستور العمل يك بايتي را مي توان جهت راه اندازي روال اشكال زدايي كمك تعويض مقدار اولين بايت دستور العمل در Ram به كار برد .  Handler نقطة توقف پاسخ به اين تغيير مي باشد .

بردار 4 : سرريز . اين دستور در زماني كه دستور العمل Into اجرا مي شود . ( به همراه يك بودن پرچم سرريز ) فراخواني مي گردد .

 بردار 5 : كنترل محدوده . دستور العمل  Bounds زماني كه خارج از محدوده بودن يك آرايه را كشف نمايد اين استثناء رافراخواني مي كند .

بردار 6 : كد عمل غير معتبر. هر كد غير قابل تشخيص به وسيلة كد گشاء دستور العمل ، استفاده از اندازة نادرست عملوند و يا استفاده از پيشوند Lock به همراه دستور العمل نادرست باعث توليد اين استثناء مي گردد .

 بردار 7 : وسيله جانبي در دسترس نيست . دستور العمل Esc  و Wait  اين استثناء را توليد مي كند و دو بيت ( Em و Mp  ) جهت كنترل آن به كار مي روند .

 بردار 8 : خطاهاي دوگانگي . هنگامي كه دو استثناء به ترتيب رخ مي دهند بعضي تلفين ها باعث ايجاد خطاي دو گانگي مي‌گردند اين استثناء ها در اكثر ترتيب هاي سرويس دهنده از جمله خطاهاي صفحه كه پس از خطاي يك صفحه ديگر مي آيد رزرو شده اند . در صورتي كه در حين اجراي يك خطاي دو گانگي ، يك استثناء ديگر توليد شود پردازنده وارد حالت Shat down مي شود .

 بردار 9 : Reserved . اين بردار قبلا در حين انتقال عملوند هاي كمك پردازنده 387 جهت اعمال سيگنال صفحه به كار مي رفت كه در پنتيوم در دسترس نيست .

 بردار 10 : Tss غير معتبر. اين استثناء بسته به نوع خطاي استثناء زماني كه در حين انتقال وظيفة مسئله اي كشف مي گردد .

بردار 11 : سگمنت حاضر نيست . اين استثناء ذماني كه بيت Present در توصيف گر جاري پاك شده باشد توليد مي گردد و مشخص كنندة آن است كه سگمنت در حافظه وجود ندارد و بايستي مجددأ از ديسك به حافظه آورده شود و در پياده سازي سيستم هاي مجازي مفيد است .

بردار 12 : خطاي پشته . دستور العمل كه از Ss استفاده مي نمايد و يا از Bp جهت مراجعه به حافظه استفاده مي كنند نيز در صورت رسيدن به حرف هاي توليد كنندة خطا ي پشته مي نمايند . همچنين خطاي پشته زماني كه بيت Present يك توصيف گر جديد در Ss پاك شود ايجاد مي گردد .

 بردار 13 : حفاظت عمومي . اين استثناء ممكن است در بسياري از وضعيتهاي زير رخ دهد :

1ـ تجاوز از محدودة سگمنت 2ـ خواندن از يك سگمنت كد 3ـ نوشتن در سگمنت داده 4ـ باردهي ثبات سگمنت با انتخاب گر سگمنت نادرست 5 ـ انتقال وضعيت به وظيفه مشمول 6 ـ تجاوز از اولويت 7 ـ تجاوز از طول مجاز دستور العمل 8 ـ بار دهي Cr0 با تلفيق ناصحيح Pe/ Pg  9 ـ استفاده از Handler نادرست وقفه در هنگام خروج از حالت 8086 مجازي

بردار 14 : خطاي صفحه . استثناء خطا زماني رخ مي دهد كه پردازنده قصد دسترسي به صفحه دارد كه در حافظه اصلي نيست . همچنين زماني كه سطح اولويت صفحه نادرست باشد نيز ممكن است زخ دهد .

 بردار 16 : خطاي مميز شناور . اين استثناء زماني كه بيت Ne و Cr0  يك بوده و دستور العملي در Fpu با خطا مواجه شود رخ مي دهد .

 بردار 17 : كنترل صفحه بندي . اين استثناء زماني كه عملوند حافظه بزرگتر از يك بايت از آدرس فرد آغاز گردد و يا زماني كه آدرس مضرب صحيحي از 2 ، 4، يا 8 يا ... نباشد رخ مي دهد .

 بردار 18 : كنترل ماشين . اين استثناء ممكن است وجود داشته باشد و يا موجود نباشد كه اين امر متكي بر مدل Cpu دارد .

وقفه هاي (32 تا 255 ) وقفه هاي غير قابل پوشش ناميده مي‌شوند . اين وقفه ها ممكن است به طور داخلي و به صورت نرم افزاري به كمك دستور العمل هاي 255 تا 32 int  توليد شوند و يا به طور خارجي به كمك يك شماره بردار 8 بيتي كه در سخت افزار  INTR پيش بيني شده است ايجاد گردند كه مي‌توان اين وقفه هاي سخت افزاري را ناتوان ساخت .

 

vector                                  Descriptin                             Error code

 

 

0                                           Divide error                          No

1                                           Debug exception                  No

2                                           Nmi   interrupt                      No

3                                           Breakpoint                            No

4                                           Overflow                               No

5                                           Bounds check                        No

6                                           Invailid opcode                      No

7                                           Device fault                           No

10                                          Invalid   tss                           Yes

11                                          Segment   not   present         Yes

12                                          Stack fault                             Yes

13                                          General   protection              Yes

14                                          Page fault                               Yes

16                                          Floating - point   error            No

17                                          Aligment check                      Yes

18                                          Machine check                Depend on cpu model

19- 31                                    Reserved   ­                               ---

32- 255                                  Maskable interrupts                 No

 

 

وقفه ها و استثنا هاي حالت حفاظت شده

 

 

 

وقفه ها و ثبات پرچم :  

دو بيت از ثبا ت نشان مربوط به وقفه است . بيت نهم If ( نشان فعال كنندة وقفه ) ، بيت هشتم يا Tf ( نشان تك مر حله اي ) به اضافه Of ( نشان سرريزي ) مي تواند توسط وقفه استفاده شوند . نشان وقفه براي غير فعال كردن هر وقفه سخت افزاري كه ممكن است از طريق پايه Intr  رخ دهد به كار مي رود . اگر If=0 باشد همة وقفه هاي سخت افزاري كه از طريق پايه Intr فعال مي شوند در نظر گرفته نمي شوند . اين نشان روي وقفه هايي كه توسط پاية Nmi يا دستور Intnn فعال مي شوند تأثير ندارد . دستور Cli نشان وقفة ( If ) را صفر مي كند كه براي اجازة وقوع مجدد وقفه بايد نشان If توسط دستور Sti  برابر يك گردد .

 

 
 

  

  

CF

U

PF

U

AF

U

ZF

SF

TF

IF

DF

OF

R

R

R

R

 

: R  رزرو شده                                                  : SF نشان علامت

 : U تعريف نشده                                                          : ZF نشان صفر

 : OF نشان سرريزي                                         : AF نشان رقم نقلي كمكي

: DF  نشان جهت                                                 : PF نشان پريتي

: IF    نشان وقفه                                        : CF نشان رقم نقلي

: TF   نشان تك مرحله اي

 

 

 

 

 

 

 

 

 

 

 

 

پردازش وقفه ها :

 وقتي پردازنده 8086 هر وقفه اي را چه نرم افزاري و چه سخت افزاري پردازش مي كند مراحل زير انجام مي شود :

 1 ـ ثبات نشان را داخل پشته منتقل مي كند و ثبات Sp را دو عدد كاهش مي دهد زيرا ثبات نشان يك ثبات دو بايتي است .

2 ـ نشان فعال كنندة وقفه و نشان تك مرحله اي هر دو پاك مي شوند  ( If=0, Tf=0 ) ، اين عمل باعث مي شود كه درخواستهاي وقفة بعدي از پاية Intr در نظر گرفته نشود و حالت اجراي تك مرحله اي غير فعال گردد . وقتي پردازندة روية سرويس وقفه را اجرا مي كند ، بسته به طبيعت روية وقفه برنامه نويس مي تواند پاية Intr را به وسيلة دستور العمل Sti فعال سازد .

 3 ـ ثبات Cs جاري در پشته ذخيره مي شود و ثبات Sp دو عدد كاهش مي يابد .

 4 ـ ثبات Ip و دستور العمل جاري در پشته ذخيره مي شود و ثبات Sp دو عدد كاهش مي يابد . 5 ـ براي واكنشCs وIp مر بوط به روية سرويس به وقفه ، شماره وقفه در چهار ضرب مي‌شود تا به آدرس فيزيكي محلي در داخل بردار وقفه كه Cs وIp در آنجا نگهداري مي‌شوند اشاره مي‌كنند .

 6 – پردازنده با Cs وIp جديد شروع به واكشي و اجراي دستورالعمل متعلق به رويه سرويس به وقفه مي‌كند .

 7 – دستورالعمل پاياني رويه سرويس به وقفه بايد  دستور Iret باشد تا ثباتهاي Cs، Fr ,Ip   را از پشته بر داشته و به پردازنده بر گرداند و پردازنده برنامة اصلي را از مكاني كه متوقف شده بود ادامه دهد .

 

 

 

 

 

 

 

 

 

 

 

وقفه هاي فعال شونده با لبه و سطح :

 اين وقفه ها بيشتر در تراشة 8259 وابسته به نحوة برنامه ريزي ، براي فعال كردن و ورودي وقفه IP0 است كه يكي حالت حساس به سطح و ديگري حالت حساس به لبه مي باشد .

 حالت فعال شونده با سطح ( Level trigger ) : در اين حالت ، 8259 وجود ولتاژسطح يك روي ورودي هاي Irq را به عنواندر خواست وقفه تشخيص خواهد داد . اين درخواست بر روي خط Irq بايد تا زماني كه اولين پالس Inta فرستاده مي شود همچنان در ولتاژ سطح يك باقي بماند . در آن موقع است كه بايد ولتاژ سطح يك فوراً از وروي  Irq برداشته شود . اگر بعد از اينكه فرمان انتهاي وقفه ( EOI ) ارسال شد ورودي در خواست وقفه همچنان در ولتاژ سطح يك باقي مانده باششد ، 8259 يك وقفة ديگر از همان درخواست خواهد كرد . بنابراين براي دوري كردن از توليد چند وقفه قبل از اينكه فرمان انتهاي وقفه ارسال شود بايد روي ورودي IRQ ولتاژ سطح صفر قرار گيرد .

حالت فعال شونده با لبه ( Edge Trigger ) : در اين حالت نيز 8259 فقط وقتي يك پالس از ولتاژ سطح صفر به ولتاژ سطح يك روي ورودي درخواست وقفه ، 8259 در خواست وقفه را با فعال كردن INTA خواهد پذيرفت و ورودي سطح يك روي ورودي درخواست وقفه ، 8259 درخواست وقفه را با فعال كردن INTA خواهد پذيرفت و ورودي سطح يك حتي بعداز اينكه فرمان انتهاي وقفه ارسال شد وقفه هاي بيشتري را توليد نخواهد كرد ، بنابراين طراحان احتياجي ندارند كه نگران برداشتن سريع ولتاژ سطح يك از روي ورودي درخواست شود ورودي IRQ بايد به ولتاژ سطح صفر برگردانده شود . با يد توجه داشت كه در هر دو حالت بايد IRQ نيز در ولتاژ سطح يك باقي بماند تا بعد از پايين آمدن اولين لبة INTA كه بيانگر پذيرش وقفه است به سطح صفر برگردد .

 

دسته بندي وقفه ها :

 INT nn يك دستور 2 بايتي است كه اولين بايت براي كد دستورالعمل و دومين بايت براي شمارة وقفه مي‌باشد . اين بدان معني است كه مي‌توان حداكثر 256 وقفه داشت . از اين 256 وقفه تعدادي براي وقفه هاي نرم افزاري و تعدادي براي وقفه هاي سخت افزاري استفاده مي شود . وقفه هايي Bios در 5 گروه قرار مي گيرند : وقفه هايي كه در ابزارهاي جانبي خاص سرويس مي دهند ، وقفه هايي كه با سرعت بلادرنگ كار مي كند ، وقفه هايي كه عمل چاپ صفحه را انجام مي دهند و وقفه هايي كه عمليات فعال كردن Ram bios يا روال شروع به كار سيستم را انجام مي دهند .

 

 

 

 

 

 

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: یکشنبه 02 فروردین 1394 ساعت: 11:23 منتشر شده است
برچسب ها : ,,,
نظرات(0)

شبکه اجتماعی ما

   
     

موضوعات

پيوندهاي روزانه

تبلیغات در سایت

پیج اینستاگرام ما را دنبال کنید :

فرم های  ارزشیابی معلمان ۱۴۰۲

با اطمینان خرید کنید

پشتیبان سایت همیشه در خدمت شماست.

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

درباره ما

آدرس خراسان شمالی - اسفراین - سایت علمی و پژوهشی آسمان -کافی نت آسمان - هدف از راه اندازی این سایت ارائه خدمات مناسب علمی و پژوهشی و با قیمت های مناسب به فرهنگیان و دانشجویان و دانش آموزان گرامی می باشد .این سایت دارای بیشتر از 12000 تحقیق رایگان نیز می باشد .که براحتی مورد استفاده قرار می گیرد .پشتیبانی سایت : 09159886819-09338737025 - صارمی سایت علمی و پژوهشی آسمان , اقدام پژوهی, گزارش تخصصی درس پژوهی , تحقیق تجربیات دبیران , پروژه آماری و spss , طرح درس