سلام ...
منابع سیستمی به 4 گروه IRQها ، آدرسهای ورودی/خروجی، آدرسهای حافظه و کانالهای DMA تقسیم می شوند. تمامی این 4منبع سیستم به خطوط مشخصی از یک گذرگاه برد سیستم وابسته اند. بعضی از این خطوط به IRQها ، بعضی به آدرسها (هم آدرسهای حافظه و هم آدرسهای ورودی/خروجی) و بعضی دیگر به کانالهای DMA اختصاص دارند.
IRQ چیست؟
خطوط در خواست وقفه (IRQ) خطوط سخت افزاری هستند كه وسایلی مثل درگاه های I/O ، صفحه كليد ، ديسك درايوها و كارت شبكه می توانند وقفه يا درخواست خود را برای سرويس گرفتن از ميكروپروسسور کامپيوتر از طريق آن ارسال كنند.
خطوط در خواست وقفه جزء سخت افزار كامپيوتر هستند و با اولويتهاي متفاوت درجه بندي شده اند تا ميكروپروسسور كامپيوتر بتواند تشخيص دهد كدام وقفه مهم تر و دارای اولويت بندی است. وقتی كارت شبكه يك درخواست به كامپيوتر می فرستد از يك وقفه استفاده می كند.
يعنی يك سيگنال الكترونيكی به CPU كامپيوتر فرستاده می شود. هر دستگاه كامپيوتر بايد از يك خط درخواست وقفه (IRQ) جداگانه استفاده کند. خط وقفه به هنگام پيكر بندی دستگاه مشخص می شود. در اغلب مواقع IRQ 3 يا IRQ 5 براي كارت شبكه مورد استفاده قرار می گیرد. استفاده از وقفه 5 در صورت وجود توصيه می شود،كه در اكثر سيستم ها به صورت پيش فرض براي كارت شبكه انتخاب می گردد.
زمانیکه یک دستگاه سخت افزاری برای انجام بعضی کارهای خود به CPU نیاز پیدا می کند (مثل حالتی که صفحه کلید برای تشخیص کلید فشرده شده به CPU احتیاج دارد) باید راهی را برای آشکار کردن این خواسته به CPU پیدا کند.همچنین CPU باید بداند که چه کاری برای دستگاه سخت افزاری باید انجام دهد. این نوع وقفه دادن به CPU، وقفه سخت افزاری نام دارد و دستگاه سخت افزاری با افزایش ولتاژ خط معینی از گذرگاه که به آن متصل شده، این وقفه را درخواست می کند.
این خطوط شماره گذاری شده اند و هر کدام از آنها به یک شماره درخواست وقفه یا IRQ اشاره می کند. وجود ولتاژ روی این خط به ریزپردازنده اطلاع می دهد که یک دستگاه سخت افزاری درخواستی مبنی بر پردازش داده دارد. برای اطلاع از اينكه كدام يك از IRQ ها آزاد هستند، از يك برنامه تشخيص مانند MSD و يا Noliags استفاده می شود.
در مادربرد های قدیمی، 8خط IRQ توسط یک ریزتراشه شرکت Intel که تراشه کنترل کننده وقفه ( تراشه 8259اینتل ) نام داشت ، کنترل می شد. این تراشه مستقیما با ریزپردازنده در ارتباط بود و هنگامی که یک خط IRQ فعال می شد، به ریزپردازنده اطلاع می داد.در این حالت ریزپردازنده نمی توانست تشخیص دهد که کدام IRQ فعال شده است، چون مدیریت خطوط درخواست وقفه با کنترل کننده وقفه 8259 بود.
اگر در یک لحظه بیش از یک IRQ فعال می شد، کنترل کننده وقفه، خطوط درخواست وقفه ای که کمترین مقدار را داشت برای پردازش انتخاب می کرد.مثلا اگر کاربر یک کلید از Keyboard را فشار دهد و همزمان ماوسی که روی COM1 نصب است حرکت دهد، چون صفحه کلید از IRQ1 و ماوس از IRQ4 استفاده می کند، فرایند فشرده شدن کلید قبل از حرکت ماوس پردازش می شود.
معمولا CPU با فرمانهای داده شده توسط کاربر، دستورات را تک تک اجرا می کند.این کار بطور معمول هنگام انجام عملیاتی مثل محاسبات،sortکردن داده ها و... صورت می گیرد.
اولین روشی که سیستم با استفاده از آن می تواند به ورودی دریافتی از کاربر پاسخ دهد، اینست که مرتبا چک کند که آیا ورودی از کاربر دریافت شده یا نه. به این روش Pooling می گویند.مشکلی که در این روش وجود دارد، اتلاف زمان است، چون در واقع سیکل هایی از سیستم صرف کارهای دیگر شود،هدر می رود. با استفاده از IRQ لازم نیست CPU عمل Pooling را برای پورت های I/O انجام دهد،در نتیجه سرعت سیستم بالا می رود.
اصولا وظیفه IRQ هشداردادن به ریزپردازنده است وبا یک بار درخواست وقفه کار آن تمام می شود.اما آدرس های حافظه تا وقتی که به دستگاه سرویس داده می شود، مورد استفاده قرار می گیرد.
تعداد وقفه هایی كه در سیستم مورد استفاده قرار می گیرند 256 عدد است كه از صفر تا 255 شماره گذاری می شوند.هر وقفه دارای زير برنامه ای مربوط به خود است كه می توان به آن وقفه پاسخ داد . آدرس زير برنامه های پاسخگویی به وقفه ها در جدولی به نام جدول بردار وقفه قرار دارد.وقتی وقفه ای اتفاق می افتد آدرس زير برنامه ای كه بايد به وقفه پاسخ دهد ، از جدول بردار وقفه پيدا شده،اجرای آن آغاز می شود .
آدرس شروع هر زير برنامه پاسخگویی به وقفه ، بر اساس آدرس ناحيه و تفاوت مكان در آن ناحيه محاسبه می شود (يعنی آدرس شروع زير برنامه پاسخگویی وقفه ، 32 بيتی است) چون 256 وقفه ممكن است وجود داشته باشد،لذا ميزان حافظه ای كه برای جدول بردار وقفه در نظر گرفته می شود برابر با (1024 = 4*256 ) بايت است.برای پيدا كردن آدرس زير برنامه مربوط به يك وقفه ، شماره آن وقفه در 4 ضرب می شود نتيجه حاصل محلی از جدول بردار وقفه است كه آدرس زير برنامه پاسخگویی به آن وقفه را مشخص می كند.
در کامپیوتر به اجزای مختلف یک شماره مخصوص IRQ اختصاص می یابد و وقتی یکی از خطوط IRQ فعال شود، با استفاده از تنظیمات قبلی، کامپیوتر می تواند تشخیص دهد که کدام وسیله به آن Interrupt داده است. مثلا پرینتر به بعد از انجام عملیات خود، یک وقفه به سیستم ارسال می کند.این سیگنال موقتا در عملکرد کامپیوتر وقفه ایجاد می کند تا وقتی که کامپیوتر تصمیم بگیرد که چه پردازشی باید انجام دهد.
از آنجا که دو وسیله مختلف، نمیتواند بطور مشترک از یک خط IRQاستفاده کنند، بنابراین باید به هر جزء، یک شماره IRQ اختصاص داده شود. دستگاه سخت افزاری و یا نرم افزار با استفاده از وقفه ها می توانند با فرستادن یک سیگنال به CPU ارتباط را آغاز کنند.
قبل از ظهور ویژگی Plug & Play کاربر مجبور بود هنگام اضافه کردن یک وسیله جدید، مقادیر IRQ را بطور دستی تنظیم کند. باپیدایش Plug & Play این کار به صورت اتوماتیک انجام می شود.
تعویض شماره IRQ با استفاده از جامپر:
اکثر کارتهای افزودنی از این ویژگی و یا پیکربندی نرم افزاری برای پیکربندی خود استفاده می کنند. تقریبا همه کارتهای PCI و ISA این خاصیت را دارند.گاهی اوقات با کارتهایی مواجه می شویم که برای کنترل تنظیمات خود از جامپر استفاده می کنند.
کارتهای ISA نمی توانند بطور مشترک از خطوط IRQ استفاده کنند.
تعویض شماره IRQ به صورت نرم افزاری:
کارت هایی که از این روش استفاده می کنند، حد واسط بین کارتهای با جامپر و کارتهای PnP هستند. در این روش، بدون برداشتن درپوش کیس و کارت، می توان پیکربندی آنرا تغییر داد، ولی این کارتها بخوبی کارتهای PnP نیستند.
برای تست اینگونه کارتها، ابتدا کارت را در اسلات قرار داده و پس از آن برنامه پیکربندی را از نرم افزار مربوطه اجرا می کند. پس از نصب و اجرا،تنظیمات مربوط به IRQ کارت می تواند تنظیم شود.
*وقتی دو وسیله روی یک Bus قرار گرفته باشند، و این گذرگاه از نوع PCI,EISAباشد، این دو وسیله می توانند از یک IRQ استفاده کنند.
انواع IRQ :
تایمر سیستم IRQ 0à
کنترلر صفحه کلیدIRQ 1à
کنترلر اینتراپت ثانویه که بصورت Cascade استفاده شده استIRQ 2à
IRQ 3à COM1
IRQ 4à COM2
صدا/IRQ 5à LPT2
کنترلر فلاپی IRQ 6à
IRQ 7à LPT 1
IRQ 8à Real Time Clock
قابل استفاده توسط کاربرIRQ 9/10/11 à
ماوسIRQ 12à PS/2,
کمک پردازنده ریاضیIRQ 13à
کنترلر هارد دیسک اولیه IRQ 14à
کنترلر هارد دیسک ثانویهIRQ 15à
منبع: J.Kh
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
*******
*******
*******
سالها عدم سازگاری بین سختافزارها، معضلی در زمینه محاسبات بود. دستكاری IRQ (شماره در خواست وقفه) و پورتهای COM نیز باعث پدید آمدن مشكلات دیگری از جمله اتلاف وقت بود. علاوه بر آن هر دفعه كه یك وسیله جانبی جدید را اضافه میكردید، باید كل تنظیمات را تغییر میدادید و این امر نیاز به تمرین و مهارت بسیاری داشت.
خوشبختانه استانداردهای موجود در ویژگی Plug-and Play تا حد زیادی به رفع مشكلات موجود كمك كرد و سیستم عاملهای جدید در مدیریت سختافزارها از سیستمهای قبلی بسیار بهتر و پیشرفتهتر هستند. اما باز هم گاهی اوقات برخی از این ناسازگاریها بروز میكند، هر چند بر طرف كردن آن نسبت به روزهای بد گذشته بسیار آسانتر شده است.
بروز این گونه تعارضات تهدیدی برای ثبات سیستم به شمار میروند. در این مقاله برخی از ناسازگاریهای سختافزاری كه ممكن است با آنها مواجه شوید را معرفی كرده و در ضمن راهكارهای مقابله با آنها را نیز برایتان شرح خواهیم داد.
● ناسازگاری سختافزاری
حال میخواهیم بدانیم ناسازگاری سختافزاری چیست؟ هر زمان كه چند وسیله سختافزاری (همچون حافظه، واحد پردازنده و یا پورتهای معین) قصد انجام كاری روی یك منبع را داشته باشند و سیستم قادر به حل این وظایف نباشد، میگوییم كه ناسازگاری سختافزاری روی داده است. این تداخل به صورتهای مختلف آشكار میشود.
بعضی وقتها یك قطعه سختافزاری خاص به سادگی از پاسخ دادن به سیگنالها باز میماند یا در همان ابتدا از كار باز میایستد. در پارهای موارد نیز سیستم با خطایی مواجه میشود كه بیانگر ناسازگاری در وسیله یا منبع است. شاید هم تنها نشانههای موجود علائمی همچون از كار افتادن سیستم، خطای GPF و ثابت ماندن صفحه نمایش باشد.
قطعاً بسیاری از این علائم، دلالت بر مشكلاتی همچون سختافزار معیوب و درایورهای خراب دارند. وقوع به ندرت ناسازگاریهای سختافزاری باعث مشكلتر شدن امر تشخیص شده است. البته در این مقاله سعی شده است كه موارد نادر نیز توضیح داده شوند.
در این صورت شما قادر به تشخیص نشانههای ظاهری برخی خطاهایی كه در وسایل جانبی و بعضی اجزا به ندرت رخ میدهد، هستید. اگر راه حل مشكل سیستم شما در این مقاله نباشد جهت تشخیص مجبور خواهید بود كه از طریق روش آزمون و خطا مشكل خود را یافته و دریابید كه آیا واقعاً مربوط به ناسازگاری سختافزاری یا مشكل دیگری است.
● بررسی ناسازگاری
با هر گونه ناسازگاری كه مواجه هستید، باید بدانید كه راههای متعددی جهت تشخیص و حل مشكل وجود دارد. ابتدا طرز كار Device Manager ویندوز را به خوبی بشناسید. روی آیكن My Computer كلیك راست كرده (چه از طریق دسكتاپ ویندوز یا منوی Start)، سپس گزینه Properties را برگزینید. در كادر محاورهای ایجاد شده با نام System Properties زبانه Hardware را انتخاب و روی Device Manager كلیك كنید. در آنجا فهرستی از كلیه سختافزارهای موجود در سیستم خود را خواهید یافت كه دسترسی به اطلاعات جزئی هر یك از منابع اجزا، درایورها و وضعیت آنها امكانپذیر است.
اگر گمان میبرید كه مشكل ایجاد شده در سیستم شما مربوط به ناسازگاری سخت افزاری است و اخیراً بخشی را حذف یا اضافه كردهاید، از منوی Action عبارت Scan For Hardware Changes را برگزینید. اگر در این مرحله مشكل بر طرف نشد با كلیك روی علامت مثبت واقع در سمت چپ هر آیتم، آن را توسعه داده و آیتمهایی كه علامت اخطار قرمز یا زرد دارند را بررسی كنید. این علائم نشان دهنده آن است كه برخی اجزای ویندوز به درستی كار نمیكنند. با كلیك روی علامت منفی نیز آیتمهای ایجاد شده را میتوانید ببینید.
از طریق انتخاب و كلیك راست روی هر وسیله میتوانید به گزینههای بیشتری از Device Manager دست یابید.
میتوانید از طریق منوی متنی وسیلهای را مستقیماً غیرفعال كرده یا از حالت نصب خارج كنید. این كار زمانی مفید است كه سعی در حذف مشكلات به روش آزمون و خطا را دارید. اما به خاطر بسپارید كه از طریق گزینه Properties معمولاً اطلاعات مفید بیشـتری بـه دسـت میآوریـد. زیـر زبـانه General پـیغام Device Status را مرور كنید.
تنها به پیغام ویندوز كه این وسیله به خوبی كار میكند، اكتفا نكنید. زبانه Driver واقع در بخش Device Manager به صورت خلاصه اطلاعاتی در مورد درایورهای هر وسیله در اختیار میگذارد. نقش درایورها از آن جهت كه به عنوان رابطی بین ویندوز و سختافزار عمل میكنند بسیار حیاتی است. به روز نگهداشتن درایورها عامل موثری در پیشگیری از بروز ناسازگاریهای سختافزاری است.
از طریق كلیك روی گزینه Update Driver، میتوانید پایگاه داده مایكروسافت را بررسی كنید. اما روش بهتر این است كه در وبسایت سازنده قطعه سختافزاری خود، آخرین نسخه سختافزاری را از اینترنت دریافت كنید. قبل از آنكه به كار خود ادامه دهید، درایورهای ارتقا یافته را نصب كنید. برخی ناسازگاریهای سختافزاری با نصب درایورهای ارتقا یافته، خود به خود از بین میروند. از سوی دیگر، اگر گمان میبرید كه مشكل ایجاد شده به خاطر نصب نسخه ارتقا یافته درایور است گزینه Roll Back Driver را از Device Manager برگزیده و دستورات را بازیابی كنید.
اگر دلیل ناسازگاری، قطعات داخلی هستند (مانند كارتهای توسعه، هارددرایوها و حافظه سیستم)، درب كیس را باز كرده و از آن طریق مشكل حاصله را بر طرف كنید. رفع ایراد در پیكربندی سختافزار از طریق آزمون و خطا، روندی طولانی بوده كه نیاز به بارها راهاندازی مجدد دارد.
● ناسازگاری كارتهای گرافیكی
از جمله عوامل مشكلزا در بـروز این گونه ناسازگاریها كارتهای گرافیكی هستند. اگر پس از اضافه، حذف یا تنظیم یك آداپتور گرافیكی یا سایر كارتهای سختافزاری كه توسط PCI ،AGP یا سایر شیارهای ماردبرد به سیستم متصل میشوند با مشكل مواجه شدید، اولین حدس و گمانتان باید به كارت گرافیكی باشد. كارتهای گرافیكی از منابع بسیاری از ماشین استفاده میكنند. این ناسازگاری حتی با كارتهای نامربوطی كه در شـیارهای نادرست قرار گرفتهاند نیز روی میدهد.
از جمله مواقعی كه ناسازگاری روی میدهد زمانی است كه مادربردی خود دارای كارت گرافیكی توكار باشد و شما نیز به صورت جداگانه كارت گرافیكی دیگری نصب كنید. در این حالت سیستم نمیداند كه از كدام آداپتور گرافیكی استفاده كند و در نتیجه با مشكلات عجیب تصویری مواجه خواهید شد یا شاید هم سیستم به طور كلی از كار بایستد.
ابتدا محل قرار گرفتن آداپتورهای گرافیكی و سایر كارتهای توسعه را بررسی كنید.
اگر كارت گرافیكی جدیدی به شیار AGP افزودهاید، نزدیكترین شیار PCI را بررسی كنید. بعضی اوقات AGP و اولین شیار PCI در منابع مادربرد مشترك هستند، بنابراین میتوانید از یكی یا دیگری استفاده كنید. اگر دستگاه شما تنها دارای یك شیار برای كارت گرافیكی است، كارتهای دیگر را جا به جا كنید. پس از هر بار پیكربندی، كامپیوتر را مجدداً راهاندازی كنید.
اگر گمان میبرید كه ناسازگاری در اثر كارت گرافیكی توكار و یك كارت جدید است، باید آداپتور گرافیكی مادربرد را از طریق Device Manager از حالت فعال خارج كنید. ابتدا مطمئن شوید كه تمام فرامین و مراحل نصب كه توسط سازنده كارت ارائه شده است را اجرا كردهاید. سپس گزینه Device Manager را یافته و گروه Display Adapters را توسعه دهید.
روی هر بخش ویدئویی كه غیر مرتبط با كارت گرافیكی جدیدتان است كلیك راست كرده و گزینه Disable را انتخاب كنید. ممكن است لازم باشد برای دستیابی به تركیب صحیح، اجزای متعددی را فعال یا غیر فعال كنید، اما هدف نهایی غیر فعال ساختن كلیه عملكردهای گرافیكی توكار و فعال ساختن ویژگیهای كارت گرافیكی جدید است.
● تجهیزات USB
اگر هنگام كار با سختافزارهای متصل به USB دچار مشكل میشوید یا پس از نصب وسیلهای از طریق USB سیستم دچار اشكال میشود، لازم است برای تشخیص مشكلات از روش آزمون و خطا استفاده كنید. در این میان هابهای USB از نظر ایجاد مشكل پس از نصب، شناخته شدهترین وسایل هستند. بنابراین ابتدا هر وسیله را زمانی كه مستقیماً به پورتهای USB متصل میكنید، آزمایش كنید. اگر هر یك به تنهایی و به درستی كار كرد، سعی كنید دوباره آنها را از طریق هاب متصل كنید. اگر مشكلات مجدداً ظاهر شدند سعی كنید از طریق هاب وسایلی كه مستقیماً به پورتها متصل شدهاند را به طرق مختلف پیكربندی كنید.
چنانچه هنوز تداخلها و ناسازگاریها ادامه دارند در حالی كه تمام وسایل مستقلاً به كار خود ادامه میدهند باید یك هاب USB جدید خریداری كنید. هابهایی كه برق آنها به طور مستقل تامین میشود، نسبت به آنهایی كه برق آنها از سیستم و از طریق USB تامین میشود، كمتر باعث تداخل و ناسازگاری هستند.
در برخی موارد نادر، خود وسایل حتی بدون هاب نیز باعث عدم سازگاری میشوند. در این گونه موارد برای شناسایی این وسایل باید دست به شیوه آزمون و خطا زد. اغلب دستگاههای جدید دارای گروههای متعددی از پورتهای USBهستند (در قسمت جلو، روی مادربرد و كنار كیس). بنابراین میتوانید این گونه وسایل مشكلزا را در بخشهای جداگانه به دستگاه متصل كنید. نهایتاً باز هم وسایلی را خواهید یافت كه به طور كامل با سایر وسایل كار نمیكنند.
● ماجولهای حافظه
یكی دیگر از منابع شایع در بروز ناسازگاری، حافظه سیستم است. با نصب یك RAM جدید احتمالاً شاهد ناسازگاری آن با حافظه قدیمی یا سایر اجزای سیستم خواهید بود و یا شاید از همان ابتدا با مشكل مواجه شوید و هیچ چیز مانند یك حافظه بد و خراب در سیستم مشكلزا نیست.
اگر پیغامی كه به صراحت مشخص كند حافظه دارای ناسازگاری است، دریافت كنید فرد بسیار خوششانسی هستید. اگر سیستم دچار یك ناپایداری عمومی شده است كه غیر مرتبط با وسیله سختافزاری خاصی است، باید به سراغ RAM سیستم بروید؛ مگر آنكه اخیراً حافظه سیستم را تعویض، اضافه،جابهجا و یا تنظیم كرده باشید. در هر یك از این حالات، ماجولهای حافظه را جابهجا یا از نو مرتب كنید تا مشكل برطرف شود. ارتقای حافظه نیز در هر حالتی مفید است.
● مشكلات IRQ
آخرین مسئله نیز مربوط به IRQ قدیمی و DMA است. اگر شما با سختافزار موازی (یا سریال) یا وسایلی كه متكی به سیستم نـبوده و برخلاف نـسخههای توكار هـستند (مـانند كــارتهای شــبــكه، مــودمها یــا پــورتهای FireWire) سر و كار دارید، میتـوانید مـنابع آنـها را بـه صورت دسـتی تنظیم كـنید.
بدین منظور گزینه Device Manager ویندوز را باز كرده و روی پورتها و وسایل كلیك راست كنید. سپس زبـانه Resources را انـتـخاب كـرده و بـبـیـنیـد كـه آیـا كـادر Use Automatic Settings در دسترس است یا خیر؟ در اغلب موارد كه ویندوز XP نصب باشد، این گزینه انتخاب شده است، اما گزینه به صورت خاكستری رنگ است یعنی شما چارهای جز قبول این گزینه نـدارید.
بـرای آنـكه مـنابع را طوری تـنظیم كنید كه به طور دستی نیز قابل پیكربندی شوند، میتوانید تنظیمات خودكار را از حالت انـتخاب خـارج كرده و خـودتان منابع را تنظیم كنـید. كادر را از حـالت انـتخاب خارج كـرده و هر یك از پیكربندیهای قابل دسترس را از فهرست Setting Based On انتخاب كنید. اگر قصد دارید كه برخی منابع خاص از قبیل شماره تخصیص IRQ یك وسیله را به صورت دستی پیكربندی كنید در فهرست Resource Settings مقدار IRQ را انتخاب كرده و روی دكمه Change Setting كلیك كنید.
در مـقادیر موجود پیمایش كرده و دوباره پانل اطلاعات Conflict را نـگاه كنید تا مقداری را پیدا كنید كه موجب بروز ناسازگاری در وسـیله دیگر نشود. برای قبول تغییرات روی دكمه OK در كادر محاورهای كلیك كرده و در صورت لزوم آن را مجدداً راهاندازی كنید.
بروز ناسازگاری سختافزاری اغلب باعث نابسامانی خواهد شد و برای كاربر امری دشوار است. اما خوشبختانه اغلب به ندرت اتفاق میافتد. با كمی صرف حوصله و روند حذف، میتوانید راهی برای بهبود عملكرد سختافزار خود بیابید.
منبع : وب ایران