آموزش سخت افزار
حافظه ROM
حافظه ROM یک نوع مدار مجتمع (IC) است که در زمان ساخت داده هائی در آن ذخیره می گردد. این نوع از حافظه ها علاوه بر استفاده در کامپیوترهای شخصی در سایر دستگاههای الکترونیکی نیز بخدمت گرفته می شوند. حافظه های ROM از لحاظ تکنولوژی استفاده شده، دارای انواع زیر می باشند:
ROM
PROM
EPROM
EEPROM
Flash Memory
هر یک از مدل های فوق دارای ویژگی های منحصربفرد خود می باشند . حافظه های فوق در موارد زیردارای ویژگی مشابه می باشند:
داد های ذخیره شده در این نوع تراشته ها " غیر فرار " بوده و پس از خاموش شدن منبع تامین انرژی اطلاعات خود را از دست نمی دهدند.
داده های ذخیره شده در این نوع از حافظه ها غیر قابل تغییر بوده و یا اعمال تغییرات در آنها مستلزم انجام عملیات خاصی است.
مبانی حافظه های ROM
حافظه ROM از تراشه هائی شامل شبکه ای از سطر و ستون تشکیل شده است ( نظیر حافظه RAM) . هر سطر وستون در یک نقظه یکدیگر را قطع می نمایند. تراشه های ROM دارای تفاوت اساسی با تراشه های RAM می باشند. حافظه RAM از " ترانزیستور " بمنظور فعال و یا غیرفعال نمودن دستیابی به یک " خازن " در نقاط برخورد سطر و ستون ، استفاده می نمایند.در صورتیکه تراشه های ROM از یک " دیود" (Diode) استفاده می نماید. در صورتیکه خطوط مربوطه "یک" باشند برای اتصال از دیود استفاده شده و اگر مقدار "صفر" باشد خطوط به یکدیگر متصل نخواهند شد. دیود، صرفا" امکان حرکت " جریان " را در یک جهت ایجاد کرده و دارای یک نفطه آستانه خاص است . این نقطه اصطلاحا" (Forward breakover) نامیده می شود. نقطه فوق میزان جریان مورد نیاز برای عبور توسط دیود را مشخص می کند. در تراشه ای مبتنی بر سیلیکون نظیر پردازنده ها و حافظه ، ولتاژ Forward breakover تقریبا" معادل شش دهم ولت است .با بهره گیری از ویژگی منحصر بفرد دیود، یک تراشه ROM قادر به ارسال یک شارژ بالاتر از Forward breakover و پایین تر از ستون متناسب با سطر انتخابی ground شده در یک سلول خاص است .در صورتیکه دیود در سلول مورد نظر ارائه گردد، شارژ هدایت شده (از طریق Ground ) و با توجه به سیستم باینری ( صفر و یک )، سلول یک خوانده می شود ( مقدار آن 1 خواهد بود) در صورتیکه مقدار سلول صفر باشد در محل برخورد سطر و ستون دیودی وجود نداشته و شارژ در ستون ، به سطر مورد نظر منتقل نخواهد شد.
همانطور که اشاره گردید، تراشه ROM ، مستلزم برنامه نویسی وذخیره داده در زمان ساخت است . یک تراشه استاندارد ROM را نمی توان برنامه ریزی مجدد و اطلاعات جدیدی را در آن نوشت . در صورتیکه داده ها درست نبوده و یا مستلزم تغییر و یا ویرایش باشند، می بایست تراشه را دور انداخت و مجددا" از ابتدا عملیات برنامه ریزی یک تراشه جدید را انجام داد.فرآیند ایجاد تمپلیت اولیه برای تراشه های ROM دشوار است .اما مزیت حافظه ROM بر برخی معایب آن غلبه می نماید. زمانیکه تمپلیت تکمیل گردید تراشه آماده شده، می تواند بصورت انبوه و با قیمت ارزان به فروش رسد.این نوع از حافظه ها از برق ناچیزی استفاده کرده ، قابل اعتماد بوده و در رابطه با اغلب دستگاههای الکترونیکی کوچک، شامل تمامی دستورالعمل های لازم بمنظور کنترل دستگاه مورد نظر خواهند بود.استفاده از این نوع تراشه ها در برخی از اسباب بازیها برای نواختن موسیقی، آواز و ... متداول است .
حافظه PROM
تولید تراشه های ROM مستلزم صرف وقت و هزینه بالائی است .بدین منظور اغلب تولید کنندگان ، نوع خاصی از این نوع حافظه ها را که PROM )Programmable Read-Only Memory) نامیده می شوند ، تولید می کنند.این نوع از تراشه ها با محتویات خالی با قیمت مناسب عرضه شده و می تواند توسط هر شخص با استفاده از دستگاههای خاصی که Programmer نامیده می شوند ، برنامه ریزی گردند. ساختار این نوع از تراشه ها مشابه ROM بوده با این تفاوت که در محل برخورد هر سطر و ستون از یک فیوز( برای اتصال به یکدیگر) استفاده می گردد. یک شارژ که از طریق یک ستون ارسال می گردد از طریق فیوز به یک سلول پاس داده شده و بدین ترتیب به یک سطر Grounded که نماینگر مقدار "یک" است ، ارسال خواهد شد. با توجه به اینکه تمام سلول ها دارای یک فیوز می باشند، درحالت اولیه ( خالی )، یک تراشه PROM دارای مقدار اولیه " یک" است . بمنظور تغییر مقدار یک سلول به صفر، از یک Programmer برای ارسال یک جریان خاص به سلول مورد نظر، استفاده می گردد.ولتاژ بالا، باعث قطع اتصال بین سطر و ستون (سوختن فیوز) خواهد کرد. فرآیند فوق را " Burning the PROM " می گویند. حافظه های PROM صرفا" یک بار قابل برنامه ریزی هستند. حافظه های فوق نسبت به RAM شکننده تر بوده و یک جریان حاصل از الکتریسیته ساکن، می تواند باعث سوخته شدن فیور در تراشه شده و مقدار یک را به صفر تغییر نماید. از طرف دیگر ( مزایا ) حافظه ای PROM دارای قیمت مناسب بوده و برای نمونه سازی داده برای یک ROM ، قبل از برنامه ریزی نهائی کارآئی مطلوبی دارند.
حافظه EPROM
استفاده کاربردی از حافظه های ROM و PROM با توجه به نیاز به اعمال تغییرات در آنها قابل تامل است ( ضرورت اعمال تغییرات و اصلاحات در این نوع حافظه ها می تواند به صرف هزینه بالائی منجر گردد)حافظه هایEPROM)Erasable programmable read-only memory) پاسخی مناسب به نیاز های مطح شده است ( نیاز به اعمال تغییرات ) تراشه های EPROM را می توان چندین مرتبه باز نویسی کرد. پاک نمودن محتویات یک تراشه EPROM مشتلزم استفاده از دستگاه خاصی است که باعث ساطع کردن یک فرکانس خاص ماوراء بنفش باشد.. پیکربندی این نوع از حافظه ها مستلزم استفاده از یک Programmer از نوع EPROM است که یک ولتاژ را در یک سطح خاص ارائه نمایند ( با توجه به نوع EPROM استفاده شده ) این نوع حافظه ها ، نیز دارای شبکه ای مشتمل از سطر و ستون می باشند. در یک EPROM سلول موجود در نقظه برخورد سطر و ستون دارای دو ترانزیستور است .ترانزیستورهای فوق توسط یک لایه نازک اکسید از یکدیگر جدا شده اند. یکی از ترانزیستورها Floating Gate و دیگری Control Gate نامیده می شود. Floating gate صرفا" از طریق Control gate به سطر مرتبط است. مادامیکه لینک برقرارباشد سلول دارای مقدار یک خواهد بود. بمنظور تغییر مقدار فوق به صفر به فرآیندی با نام Fowler-Nordheim tunneling نیاز خواهد بود .Tunneling بمنظور تغییر محل الکترون های Floating gate استفاده می گردد.یک شارژ الکتریکی بین 10 تا 13 ولت به floating gate داده می شود.شارژ از ستون شروع و پس از ورود به floating gate در ground تخلیه خواهد گردید. شارژ فوق باعث می گردد که ترانزیستور floating gate مشابه یک "پخش کننده الکترون " رفتار نماید . الکترون های مازاد فشرده شده و در سمت دیگر لایه اکسید به دام افتاد و یک شارژ منفی را باعث می گردند. الکترون های شارژ شده منفی ، بعنوان یک صفحه عایق بین control gate و floating gate رفتار می نمایند.دستگاه خاصی با نام Cell sensor سطح شارژ پاس داده شده به floating gate را مونیتور خواهد کرد. در صورتیکه جریان گیت بیشتر از 50 درصد شارژ باشد در اینصورت مقدار "یک" را دارا خواهد بود.زمانیکه شارژ پاس داده شده از 50 درصد آستانه عدول نموده مقدار به "صفر" تغییر پیدا خواهد کرد.یک تراشه EPROM دارای گیت هائی است که تمام آنها باز بوده و هر سلول آن مقدار یک را دارا است.