آبجی
29th November 2009, 02:26 PM
در کامپيوترهايxt باتوجه به تعداد محدود پارامترها، پيکربندي سيستم بااستفاده از ميکروسوئيچ امکان پذير مي باشد اما در سيستم هاي at به دليل بالا بودن تعداد پارامترهاي قابل برنامه ريزي توسط استفاده کننده ، حضور يک منبع که هم به راحتي در دسترس باشد و هم جاي کمي اشغال نمايد ، ضروري به نظر مي رسد. اين منبع در کامپيوترهاي at حافظه cmos ناميده مي شود .
حافظه cmos داراي 64 بايت و يا بيشتر ظرفيت مي باشد که توسط دو پورت h70 و h71 قابل دسترسي مي باشد. و از آن براي نگهداري ساعت ، تاريخ و پيکربندي سيستم استفاده مي شود. همچنين تعدادي از بيت هاي اين حافظه براي چک کردن پيکربندي سيستم تحت عنوان checksum استفاده مي شود.
محتويات اين حفظه در زمان خاموش بودن سيستم توسط يک باطري پشتيبان 6/3 ولتي نگهداري مي شود. اين باطري ممکن است در داخل و يا در خارج از مادربورد قرار داشته باشد . البته در بعضي از سيستمها مجموعه باطري و حافظه به صورت يکپارچه ارائه شده که نمونه آن مارک dallas مي باشد.
از نظر عملکرد و نحوه دستيابي هيچ تفاوتي بين انواع متفاوت cmos وجود ندارد و همگي با استفاده از دو پورت يادشده قابل دسترسي و برنامه ريزي مي باشند.
تغيير در محتويات cmos بطور معمول از طريق برنامه setup امکان پذير است اما در صورتي که در ست آپ سيستم رمز تعريف شده باشد و رمز مربوطه را هم در اختيار نداشته باشيد در اينصورت امکان ورود به برنامه ست آپ و تغيير در پيکر بندي سيستم ( اطلاعات cmos ) امکان پذير نخواهد بود . در اين موارد راهي جز پاک کردن محتويات cmos نداريم . دراين مواقع در احتمال وجود دارد .
1) براي وارد شدن به سيستم رمز تعريف شده باشد.
2) براي وارد شدن به ست آپ رمز تعريف شده باشد.
در حالت اول با توجه به بوت نشدن کامپيوتر کاري از نرم افزارها ساخته نيست و بايد اقدام به پاک کردن محتويات cmos به صورت سخت افزاري نمود .
اين کار معمولا با برداشتن باطري پشتيبان ست آپ براي چند دقيقه ، يااتصال کوتاه بر روي جامپر مربوطه ( j8 ) و يا تعويض تراشه cmosامکان پذير مي باشد . البته اين روشها در صورتي کارآمد خواهد بود که شما مجاز به بازکردن کيس کامپيوتر باشيد که البته در اکثر مواقع اين امکان وجود ندارد .
شايان ذکر است در صورتي که اعمال فوق درست صورت نگيرد احتمال سوختن و خراب شدن cmos وجود دارد بنابراين تا حد امکان بايد از کاربرد اين روش اجتناب شود مگر در مواقعي که ضرورت ايجاب نمايد.
در حالت دوم با توجه به بوت شدن کامپيوتر نيازي به اقدامات فوق نبوده و مي توان با استفاده از نرم افزارهاي مناسب اقدام به پاک کردن و يا ذخيره اطلاعات cmos نماييم . از آنجايي که هميشه نرم افزار مناسب وجود ندارد و يا در دسترس نيست بعنوان يک مهندس نرم افزار بايد قادر باشيم تا با استفاده از امکانات موجود بر روي کامپيوتر اين کار را انجام دهيم . با استفاده از برنامه debug.exe که همراه فايلهاي سيستم عامل dos و ويندوز وجود دارد مي توان با خواندن و يا نوشتن در پورت هاي h70 و h71 تغييرات لازم را در محتوياتcmos اعمال نمود
از دو پورت فوق پورت h70 بعنوان گذرگاه آدرس( address bus ) و پورت h71 بعنوان گذرگاه داده بکار مي رود. الگوريتم کلي کار به اين صورت است که cmos را بعنوان يک آرايه يک بعدي در نظر مي گيريم که داراي 256 خانه مي باشد . براي دسترسي به هر خانه بايد ابتدا انديس ( آدرس ) خانه را در پورت h70 بنويسيم و بعد از دسترسي به خانه مورد نظر مي توان دادة دلخواه را درآن نوشت و يا از آن خواند . دسترسي به داده ها نيز فقط از طريق پورت h71 امکان پذير مي باشد . آخرين نکته اينکه عمل نوشتن و يا خواندن از پورت ها به کمک ثبات al و توسط دستورهاي in و out مربوط به زبان اسمبلي امکان پذير است .
حافظه cmos داراي 64 بايت و يا بيشتر ظرفيت مي باشد که توسط دو پورت h70 و h71 قابل دسترسي مي باشد. و از آن براي نگهداري ساعت ، تاريخ و پيکربندي سيستم استفاده مي شود. همچنين تعدادي از بيت هاي اين حافظه براي چک کردن پيکربندي سيستم تحت عنوان checksum استفاده مي شود.
محتويات اين حفظه در زمان خاموش بودن سيستم توسط يک باطري پشتيبان 6/3 ولتي نگهداري مي شود. اين باطري ممکن است در داخل و يا در خارج از مادربورد قرار داشته باشد . البته در بعضي از سيستمها مجموعه باطري و حافظه به صورت يکپارچه ارائه شده که نمونه آن مارک dallas مي باشد.
از نظر عملکرد و نحوه دستيابي هيچ تفاوتي بين انواع متفاوت cmos وجود ندارد و همگي با استفاده از دو پورت يادشده قابل دسترسي و برنامه ريزي مي باشند.
تغيير در محتويات cmos بطور معمول از طريق برنامه setup امکان پذير است اما در صورتي که در ست آپ سيستم رمز تعريف شده باشد و رمز مربوطه را هم در اختيار نداشته باشيد در اينصورت امکان ورود به برنامه ست آپ و تغيير در پيکر بندي سيستم ( اطلاعات cmos ) امکان پذير نخواهد بود . در اين موارد راهي جز پاک کردن محتويات cmos نداريم . دراين مواقع در احتمال وجود دارد .
1) براي وارد شدن به سيستم رمز تعريف شده باشد.
2) براي وارد شدن به ست آپ رمز تعريف شده باشد.
در حالت اول با توجه به بوت نشدن کامپيوتر کاري از نرم افزارها ساخته نيست و بايد اقدام به پاک کردن محتويات cmos به صورت سخت افزاري نمود .
اين کار معمولا با برداشتن باطري پشتيبان ست آپ براي چند دقيقه ، يااتصال کوتاه بر روي جامپر مربوطه ( j8 ) و يا تعويض تراشه cmosامکان پذير مي باشد . البته اين روشها در صورتي کارآمد خواهد بود که شما مجاز به بازکردن کيس کامپيوتر باشيد که البته در اکثر مواقع اين امکان وجود ندارد .
شايان ذکر است در صورتي که اعمال فوق درست صورت نگيرد احتمال سوختن و خراب شدن cmos وجود دارد بنابراين تا حد امکان بايد از کاربرد اين روش اجتناب شود مگر در مواقعي که ضرورت ايجاب نمايد.
در حالت دوم با توجه به بوت شدن کامپيوتر نيازي به اقدامات فوق نبوده و مي توان با استفاده از نرم افزارهاي مناسب اقدام به پاک کردن و يا ذخيره اطلاعات cmos نماييم . از آنجايي که هميشه نرم افزار مناسب وجود ندارد و يا در دسترس نيست بعنوان يک مهندس نرم افزار بايد قادر باشيم تا با استفاده از امکانات موجود بر روي کامپيوتر اين کار را انجام دهيم . با استفاده از برنامه debug.exe که همراه فايلهاي سيستم عامل dos و ويندوز وجود دارد مي توان با خواندن و يا نوشتن در پورت هاي h70 و h71 تغييرات لازم را در محتوياتcmos اعمال نمود
از دو پورت فوق پورت h70 بعنوان گذرگاه آدرس( address bus ) و پورت h71 بعنوان گذرگاه داده بکار مي رود. الگوريتم کلي کار به اين صورت است که cmos را بعنوان يک آرايه يک بعدي در نظر مي گيريم که داراي 256 خانه مي باشد . براي دسترسي به هر خانه بايد ابتدا انديس ( آدرس ) خانه را در پورت h70 بنويسيم و بعد از دسترسي به خانه مورد نظر مي توان دادة دلخواه را درآن نوشت و يا از آن خواند . دسترسي به داده ها نيز فقط از طريق پورت h71 امکان پذير مي باشد . آخرين نکته اينکه عمل نوشتن و يا خواندن از پورت ها به کمک ثبات al و توسط دستورهاي in و out مربوط به زبان اسمبلي امکان پذير است .