ROM چیست و چگونه کار می کند؟
حافظه فقط خواندنی (Read Only Memory) عبارت از یک مدار یکپارچه می باشد که در درون آن داده های خاصی را در زمان تولید آن قرار می دهند. چیپهای ROM فقط در کامپیوترها مورد استفاده قرار نمی گیرند بلکه در بسیاری از لوازم و وسایل الکتریکی نیز بکار برده می شوند.
انواع ROM
ROM ها را می توان به پنج دسته اصلی تقسیم نمود:
ROM
PROM
EPROM
EEPROM
Flash Memory
هرکدام از انواع ذکر شده دارای خصوصیاتی منحصر بفرد خود می باشند. اما تمامی آنها حافظه هایی هستند که در دو جنبه مشترک هستند:
داده های موجود در این چیپها غیر فرار می باشند یعنی با قطع منبع نیروی آنها، داده های موجود از بین نمی روند.
داده های ذخیره شده در این چیپها غیر قابل تغییر بوده و یا تغییر در آنها نیازمند عملیاتهای خاصی می باشد (بر خلاف RAM که داده های موجود در آن به همان راحتی که خوانده می شوند تغییر می یابند)
ROM در عمل
مشابه رم، چیپهای ROM (مانند شکل زیر) از یک شبکه ستون و ردیف تشکیل شده است. اما در محل تقاطع ستونها و ردیفها، چیپهای ROM اصولا متفاوت از چیپهای رم می باشند. در حالیکه رم از ترنزیستورها برای روشن و خاموش نمودن دسترسی به یک کژسیتور در هر تقاطع استفاده می نماید، ROM از یک دیود برای اتصال خطوط در حالتی که مقدار 1 باشد استفاده می کند. اگر مقدار 0 باشد، آنگاه خطوط اصلا متصل نمی باشند.
ROM:
اگر از كاركرد RAM اطلاع داشته باشید ،[RAM چطور كار میكند؟] میدانید كه RAM برای ذخیره اطلاعات از جدولی كه هر سطر و ستون آن شماره خاصی دارد و آدرس هر بیت شماره و سطر ستون است، استفاده میكند. و RAM در هر بیت یك خازن دارد كه خالی بودن آن صفر و پر بودنش یك طلقی میشود و از ترانزیستور برای پر و خالی كردن خازن استفاده میكند. ولی ROM به جای خازن و ترانزیستور از «دیود» استفاده میكند. به این ترتیب كه اگر آن بیت دارای یك باشد سطر و ستون با دیود به هم متصل میشوند و اگر صفر باشد اصلاً به هم وصل نمیشوند.
همان طور كه گفته شد اطلاعات ROM هنگامی كه در كارخانه ساخته میشود بر روی آن قرار میگیرد. دیود جریان را در یك جهت هدایت میكند و دارای یك محدودیت برای عبور جریان است. در پردازشگر و حافظهها این ولتاژ 0.6 ولت است. به این ترتیب هر جریانی كه بالا تر از این حد باشد به سطر و ستون مربوط میرود و یك بیتِ «یك» محسوب میشود. اگر بیت «صفر» باشد، اصلاً در آن بیت دیودی وجود نخواهد داشت و جریان از آن نقطه عبور نمیكند. همین عدم عبور جریان باعث میشود كه آن بیت به صورت «صفر» خوانده شود.
همانطور كه گفته شد اطلاعات ROM در هنگام ساختن آن در داخل خود حافظه قرار داده میشود و قابل تغییر نیست. اگر یك بیت از اطلاعات به صورت غلط ثبت شود باید حافظه را عوض كرد. به همین دلیل ساختن ROM كاری پر خطا است و نیاز به تست دقیق هر كدام از آنها دارد. ولی ارزانی آن دلیل استفاده گسترده از ROM است. ROM همچنین برق بسیار كمی مصرف میكند. مثال خوبی از یك ROM ساده، عروسكهای موزیكال است. موزیك چند ثانیهای این عروسكها در داخل یك ROM به كوچكی ناخن انگشت شماست و دارای اطلاعات ملودیهایی است كه باید از بلندگو پخش شود.
PROM:
ساختن ROM در تعداد كم وقتگیر و گران است. به همین دلیل ROMهایی به نام PROM (Programmable Read-Only Memory) ساخته میشود كه قابل اطلاعات دهی توسط خود كاربر است. این كار با استفاده از وسیله ای به نام Programmer انجام میشود. توجه داشته باشید كه بعد از مقدار دهی به بیتهای PROM دیگر نمیتوان آن را تغییر داد.
ساختار PROM مانند ROM است. با این تفاوت كه در هر بیت ( سطر-ستون) یك فیوز وجود دارد. وقتی كه PROM خالی است تمام بیتها « یك» است. هنگام نوشتن اطلاعات Programmer با فرستادن ولتاژ معینی فیوزهای مربوط به بیت «صفر» را میسوزاند و باقی فیوزها را سالم نگه میدارد. PROM به شدت به الكتریسیته ساكن حساس است و قرار گرفتن آن در محیطی كه دارای بار الكتریكی ساكن است باعث سوختن فیوزها میشود.
EPROM:
اینكه فقط میتوان یك اطلاعات را روی ROM و PROM ذخیره كرد كمی كار را مشكل میسازد.(EPROM (Erasable Programmable Read-Only Memory این مشكل را حل كرده است. این نوع ROM را میتوان بارها پر و خالی كرد. این كار نیازمند وسیله مخصوصی است كه فركانس معینی از نور فرا بنفش را از خود گسیل میكند.
همانند همه ROM ها ، EPROM هم از همان روش سطر و ستون استفاده میكند. مانند یك ماتریس.در EPROM هر خانه حافظه دارای دو ترانزیستور است كه توسط یك لایه اكسید از هم جدا شدهاند. یكی از این ترانزیستورها Floating Gate (درگاه شناور) نام دارد و دیگری Control Gate (درگاه كنترل) نام دارد. Floating gate توسط Control gate به هر سطر مرتبط است. وقتی این ارتباط وجود دارد مقدار «یك» است. برای صفر كردن مقدار به روشی به نام Tunneling نیاز داریم. این روش برای جابجا كردن الكترونهای درون Floating Gate كاربرد دارد. جریانی به بزرگی 10 یا 13 ولت از ستون رد میشود و به این درگاه میرود. وسیلهای به نام Cell Sensor جریان عبوری از Floating Gate را اندازه گیری میكند. اگر این مقدار بیشتر از 50 درصد جریان ورودی به سطر باشد آن بیت «یك» محسوب میشود. اگر این مقدار كمتر از 50 درصد باشد مقدار بیت صفر میگردد. برای خالی كردن اطلاعات EPROM نیاز به انرژی بالایی داریم كه الكترونهای بین دو ترانزیستور را به حركت در بیارد و آنها را تخلیه كند. معمولاً این كار توسط نور فرابنفش با فركانس 253.7 هرتز انجام میشود.
چون این فركانس فرابنفش توانایی نفوذ به داخل پلاستیك و شیشه را ندارد این نوع حافظه دارای صفحهای از جنس كوارتز است. وقتی EPROM را پاك میكنیم تمام اطلاعات آن پاك میشود. اگر صفحه كوارتز آن بیش از حد در معرض نور فرابنفش قرار گیرد، صفحه اكسید توانایی ذخیره الكترون را از دست میدهد.
EEPROM و Flash Memory:
تمام دردسرهایی كه برای تغییر اطلاعات در EPROM انجام داده میشود با استفاده از این نوع ROM از بین رفته است. چون برای پاك كردن اطلاعات نیاز به جدا كردن حافظه و قرار دادن آن زیر دستگاههای مخصوص نداریم و میتوان بیتهایی را كه برای پاك كردن نیاز داریم را مشخص كنیم و دیگر نیازی به پاك كردن تمام بیتها نداریم.
برای پاك كردن هر بیت دیگر نیازی به نور فرابنفش نیست و با ایجاد یك میدان الكتریكی میتوان الكترونها را از ترانزیستورها جدا كرد.
همچنین میتوان پاك كردن را بیت به بیت انجام داد. این كار با سرعت كمی انجام میشود.
به همین دلیل نوعی از این حافظه كه Flash Memory نام دارد ساخته شد. این نوع حافظه اطلاعات را در ابعاد 512بیت پاك میكند.