تحقیق درباره وقفه های BIOS
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 با فيلدها يي شامل داده هايي به ترتيب بايت معكوس دستكاري مي كند . اين فيلدها شامل ناحيه داده درگاه سريال ، ناحيه داده درگاه موازي ، ناحيه داده تجهيزات سيستم، ناحيه داده متفرقه ، ناحيه داده حافظه ، ناحيه داده درايو ديسك ، ناحيه داده ويدئو ، ناحيه داده سيستم ، ناحيه داده ديسك سخت ، ناحيه داده مربوط به اوقات جانبي و ناحيه داده ساعت زمان حقيقي مي باشد .
|
رابطة 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 برابر يك گردد .
|
پردازش وقفه ها :
وقتي پردازنده 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 منتشر شده است
برچسب ها : تحقیق درباره وقفه های BIOS,تحقیق درباره توابع BIOS,توابع و وقفه های BIOS,