۱ گیگابایت حافظه با دستیابی مستقیم ایستا، نصب شده در رایانه شخصی. نمونه‌ای از *حافظه اولیه*
در علوم رایانه، به هر وسیله که توانایی نگهداری اطلاعات را داشته باشد، **حافظه** می‌گویند. حافظه یکی از قسمت‌های ضروری و اساسی یک رایانه به‌شمار می‌رود. همان‌طور که انسان برای نگهداری اطلاعات مورد نیاز خود علاوه بر حافظه درونی خویش از ابزارهای گوناگون دیگری همانند کاغذ، تخته سیاه، نوار ضبط صوت، نوار ویدئو و ... استفاده می‌کند رایانه هم می‌تواند از انواع گوناگون حافظه استفاده کند. به‌طور کلی دو نوع حافظه داریم:

* حافظه اصلی که به آن «حافظه اولیه» یا «حافظه درونی» نیز می‌گویند.
* حافظه جانبی که به آن «حافظه ثانویه» یا «حافظه کمکی» نیز می‌گویند.

در مفهوم گسترده‌تر این واژه به ابزارهای انبارش بیرونی چون دیسک‌گردان یا نوارگردان گفته می‌شود. ابزار ذخیره‌سازی نیمه هادی یک راست به پردازنده وصل می‌شود. حافظه پنهان یا کَش حافظه سریعی است که برای افزایش سرعت پیوند سیستم با دستگاه‌های کندتر بهره گرفته می‌شود و به‌کارگیری آن باعث می‌شود که سرعت و توانایی‌های دستگاه سریع به هدر نرود. مهم‌ترین حافظه پنهان در پردازنده‌های مرکزی (سی‌پی‌یوها) وجود دارد که به سه سطح بخش می‌شود و امروزه حافظه پنهان که در پردازشگرهای مرکزی ساختن آن هزینه بیشتری دارد تا ۱۶ مگابایت هم می‌رسد.

انواع حافظه
-----------

حافظه با هدف *انباشتن داده‌ها* (فرار، غیر-فرار) در رایانه به کار برده می‌شوند و دارای انواع گوناگونی است. حافظه‌ها را می‌توان بر پایه نمایه‌های گوناگونی بخش‌بندی کرد. حافظه فرار و حافظه غیر فرار نمونه‌ای از این دسته‌بندی هاست. حافظه‌های فرار بلافاصله پس از خاموش شدن سیستم داده‌های خود را از دست می‌دهند و همواره برای نگهداری داده‌های خود به منبع تأمین انرژی نیاز خواهند داشت. بیشتر حافظه‌های رَم در این گروه جای می‌گیرند. حافظه‌های غیر فرار داده‌های خود را همچنان پس از خاموش شدن سیستم نگه می‌دارند. حافظه «رام» نمونه‌ای از این نوع حافظه‌ها است. نام انواع حافظه‌ها در زیر آمده‌است:

* حافظه دسترسی تصادفی (رَم) RAM
* حافظه فقط خواندنی (رام) ROM
* حافظه پنهان Cache
* حافظه دسترسی تصادفی پویا Dynamic RAM
* حافظه دسترسی تصادفی ایستا Static RAM
* حافظه فِلَش Flash Memory
* حافظه مجازی Virtual Memory
* حافظه ویدئویی Video Memory
* بایوس (واسط سخت‌افزار و نرم‌افزار) BIOS

استفاده از حافظه صرفاً محدود به رایانه‌های شخصی نبوده و در دستگاه‌های متفاوتی نظیر: تلفن همراه، رایانه جیبی، رادیوهای اتومبیل، دستگاه پخش نوار ویدئویی، تلویزیون و … نیز در ابعاد وسیعی استفاده می‌گردد. هر یک از دستگاه‌های فوق مدل‌های خاصی از حافظه را استفاده می‌نمایند.

مبانی اولیه حافظه
-----------------

با اینکه می‌توان واژه «حافظه» را بر هر گونه ابزار انبارش الکترونیکی نامید، ولی بیشتر از واژه بالا برای حافظه‌های سریع با توانایی اندوختن فرار بهره گرفته می‌شود. با اینکه پردازنده ناچار باشد برای بازیابی داده‌ها مورد نیاز خود همیشه از هارد دیسک بهره گیرد، بی‌گمان سرعت پردازش پردازنده (با آن سرعت بالا) کند خواهد گردید. زمانی‌که داده‌ها مورد نیاز پردازنده در حافظه اندوخته گردند، سرعت پردازش پردازنده از دید دستیابی به داده‌های مورد نیاز بیشتر خواهد گردید. از حافظه‌های فراوانی برای نگهداری فرار داده‌ها کاربری می‌گردد.

انواع حافظه‌ها
همانگونه که در شکل بالا دیده می‌شود، گنجینه جوراجوری از انواع حافظهها هست. پردازنده با پرداختن به ساختار نردبانی بالا به آن‌ها دستیابی پیدا خواهد کرد. زمانی‌که در سطح حافظه‌های غیر-فرار همچو دیسک سخت (هارد دیسک) یا حافظه دستگاه‌هایی همچو صفحه کلید، دانسته‌های باشد که پردازنده قصد بهره‌گیری از آنان را داشته باشد، می‌بایست دانسته‌های بالا از روش حافظه رَم در دسترس پردازنده گذاشته شوند. در دنباله، پردازنده داده‌ها و داده‌های مورد نیاز خود را در حافظه پنهان و دستور کارهای ویژه عملیاتی خود را در ثباتها اندوخته می‌نماید.

همه بخش‌های سخت‌افزاری (پردازنده، دیسک سخت، حافظه و …) و بخش‌های نرم‌افزاری (سیستم عامل و…) به گونه یک گروه عملیاتی به کمک یکدیگر وظیفه‌های محوله را انجام می‌دهند. بی شک در این گروه «حافظه» دارای جایگاهی ویژه است. از زمانی‌که رایانه روشن تا زمانی‌که خاموش می‌گردد، پردازنده به گونه پیوسته و همیشگی از حافظه بهره می‌گیرد. بی‌درنگ پس از روشن نمودن رایانه دانسته‌های نخستین (برنامه POST) از «حافظه فقط خواندنی» (رام) بارگذاری شده و در دنباله وضعیت حافظه از نظر سالم بودن بررسی می‌گردد (عملیات سریع خواندن، نوشتن). در گام بعد رایانه بایوس را از طریق «رام» بارگذاری خواهد کرد. بایوس دانسته‌های نخستین و ضروری در پیوند با دستگاه‌های انبارش، وضعیت درایوی که می‌بایست فرایند بوت از آنجا آغاز گردد، امنیت و … را آشکار می‌نماید.

در گام بعد سیستم عامل از دیسک سخت به درون حافظه رم سوار خواهد شد. بخش‌های مهم و حیاتی سیستم عامل تا زمانی‌که سیستم روشن است در حافظه ماندگار خواهند بود. در دنباله و زمانی‌که یک برنامه به دست کاربر فعال می‌گردد، برنامه بالا در حافظه رم سوار خواهد شد. پس از جای‌گیری یک برنامه در حافظه و آغاز سرویس دهی از سوی برنامه یاد شده در صورت ضرورت به فایل‌های مورد نیاز برنامه بالا، در حافظه سوار خواهند شد؛ و سرانجام زمانی‌که به حیات یک برنامه پایان داده می‌شود یا یک فایل اندوخته می‌گردد، اطلاعات بر روی یک رسانه انبارش همیشگی اندوخته و در پایان حافظه از بودن برنامه و فایل‌های وابسته، پاکسازی می‌گردد. همانگونه که اشاره گردید در هر زمان که اطلاعاتی، مورد نیاز پردازنده باشد، می‌بایست اطلاعات درخواستی در حافظه رَم سوار شود تا زمینه بهره‌گیری از آنان به دست پردازنده فراهم گردد. چرخه درخواست اطلاعات پدید آمده در رم به دست پردازنده، پردازش اطلاعات به دست پردازنده و نوشتن اطلاعات نوین در حافظه یک زنجیره پیوسته بوده و در بیشتر رایانه‌ها زنجیره بالا شاید هر ثانیه میلیون‌ها بار انجام گردد.

حافظه اصلی
----------

کلیه دستورالعمل‌ها و داده‌ها، برای این که مورد اجرا و پردازش قرار گیرند، نخست باید به حافظه اصلی رایانه منتقل گردند و نتایج پردازش نیز به آنجا فرستاده شود. حافظه اصلی رایانه از جنس نیمه رسانا (الکترونیکی) است و در نتیجه، سرعت دسترسی به اطلاعات موجود در آن‌ها در مقایسه با انواع حافظه جانبی که به صورت مکانیکی کار می‌کنند مانند دیسک سخت، دیسک‌گردان، و لوح فشرده بالا و قیمت آن نیز گران‌تر است اما در مقابل حافظه‌هایی، که به پردازنده نزدیکتر هستند و از ظرفیت کمتری برخوردارند مانند ثبات و حافظه نهان سی‌پی‌یو گرانتر و از سرعت دسترسی بالاتری بهره می‌برند. 

حافظه‌های اصلی نیز به دو دسته تبدیل می‌شوند:

* حافظه خواندنی/ نوشتنی، حافظه دسترسی تصادفی از این نوع است.
* حافظه فقط خواندنی

### حافظه خواندنی/ نوشتنی

مقالهٔ اصلی: حافظه تصادفی
همان‌طور که از نام این حافظه پیداست، پردازنده می‌تواند هم در این نوع حافظه بنویسد و هم از آن‌ها بخواند. به‌طور کلی، برنامه‌ها، دستورالعمل‌ها، و داده‌هایی در این حافظه قرار می‌گیرند که پردازشگر بخواهد بر روی آن‌ها کاری انجام دهد. به این نوع حافظه‌ها، *حافظه فَرّار* نیز می‌گویند زیرا با قطع برق، محتویات آن‌ها از بین می‌رود. رَم ها غالباً دو نوع اند:

* رَم دینامیک: در این نوع حافظه اطلاعات به‌طور اتوماتیک توسط رایانه تازه سازی می‌شوند. به دلیل چگالی بیشتر داده‌ها و ارزان بودن رَم دینامیک پراستفاده است و در حافظه دسترسی تصادفی از آن بیشتر استفاده می‌شود.

* رَم استاتیک: سرعت این نوع حافظه بالاتر از نوع دینامیک است. از این نوع رَم در حافظه نهان که بین حافظه اصلی و پردازنده قرار دارد، استفاده می‌شود.

### حافظه فقط خواندنی

مقالهٔ اصلی: حافظه فقط خواندنی
همانگونه که از نام حافظه فقط خواندنی استفاده می‌شود، پردازنده نمی‌تواند به صورت خودکار اطلاعات موجود در این نوع حافظه را تغییر دهد، بلکه فقط می‌تواند آن را بخواند. هنگام خاموش شدن رایانه نیز این اطلاعات از بین نمی‌رود و ثابت می‌ماند. سامانهٔ ورودی/خروجیِ پایه که وظیفه تنظیمات ساختاری سخت‌افزاری رایانه و همچنین آزمایش و راه اندازی قسمت‌های گوناگون رایانه را به هنگام روشن شدن سیستم بر عهده دارد در این نوع حافظه قرار داده می‌شود.

### ساخت مدارهای منطقی به کمک رام و تراشه‌های همانند

حافظه تنها خواندنی و ساختارهای همانند PROM و رام از اعضای مهم خانواده تراشه‌های قابل برنامه‌ریزی می‌باشند. توسط رام هر نوع تابع ترکیبی را می‌توان به وجود آورد زیرا که این تراشه در برگیرنده تمام عبارات حداقلی می‌باشد ولی نکته‌ای که نباید از نظر دور داشت این است که استفاده از رام اضافه بر کاهش سرعت سیستم در خیلی از مواقع ممکن است نوعی به هدر دادن منابع بوده و ازلحاظ اقتصادی مقرون به صرفه نباشد چون کمتر مدارهایی وجود دارند که احتیاج به استفاده از چنین آرایه‌های بزرگی داشته باشند.
در موارد زیر استفاده از حافظه‌های یاد شده به منظور پیاده‌سازی مدارهای منطقی می‌تواند مفید و مقرون به صرفه باشد.

* الف: زمانی که مساله در ابتدا به صورت جدول درستی بیان شده باشد زیرا که محتویات جدول مذکور مستقیماً قابل پیاده شدن بر روی رام می‌باشد و هیچ نیازی به پردازش و ساده‌سازی صورت مسئله نخواهد بود. جداول تبدیل انواع رمزها به یکدیگر(Look Up Tables) و کنترلرهای ریز برنامه‌ای مثالهای مناسبی از این نوع مدارهای منطقی می‌باشند. در یک چنین حالاتی درست نخواهد بود که ساختاری که مستقیماً قابل پیاده شدن بر روی رام است را به هم زده و پردازش‌های گوناگون بر روی آن انجام دهیم به خاطر آن که بخواهیم جواب مسئله را با استفاده از دریچه‌ها طراحی کرده یا به عبارتی آن را به صورت مجموع حاصلضربهای ساده شده درآوریم.
* ب: زمانی که تابع مورد نظر احتیاج به عوامل حاصل ضربی خیلی زیاد داشته که بیش از امکانات PLD های موجود باشد یک چنین حالاتی معمولاً در مورد توابع حسابی پیش می‌آید.
* ج: مواردی که به منظور ساخت بلوک‌های منطقی تغییرپذیر بوده و تعداد عوامل حاصلضربی مورد نیاز در تغییرات آینده قابل پیش‌بینی نباشد، در این مواقع استفاده از حافظه‌ها یکی از راه حل‌های مناسب خواهد بود.

همان گونه که یادآور شدیم، کاربرد مورد الف در تبدیل رمزها به همدیگر است. مثلاً رایانه‌های بزرگ غالباً داده‌های خود را به صورت رمز EBCDIC به سمت دستگاه‌های چاپگر می‌فرستند. حال اگر بنا باشد از یک دستگاه چاپگر ارزان PC به جای چاپگر ویژه بزرگ استفاده گردد باید رمز داده‌های ارسالی را به ASCII تبدیل نمود، در یک چنین موردی جدول درستی تبدیل EBCDIC به ASCII مستقیماً قابل پیاده شدن بر روی رام می‌باشد. رمز EBCDIC به عنوان آدرس رام و رمز ASCII به عنوان محتویات ROM به حساب خواهند آمد.
مثال دیگر از این نوع، تبدیل رمز دودویی خالص داخلی سیستم‌های میکروکنترلر به رمز BCD برای نمایش اطلاعات خروجی می‌باشد.
با توجه به مطالب بالا می‌توانیم نتیجه‌گیری کنیم که در توابعی که خروجی‌ها به صورت مشابه با محتویات و ورودی‌ها مشابه با ورودی‌های آدرس حافظه‌ها باشند، این تراشه‌ها نامزدهای مناسبی برای پیاده‌سازی توابع یاد شده در بالا می‌باشند.

به عنوان مثال اگر منظور ساخت یک علامت الکتریکی رقمی متشکل از ۱۶ وضعیت گوناگون در یک پریود خود باشد، می‌توان از یک ROM، ۱۶ خانه تک رقمی استفاده نمود. پریود موج تولید شده شانزده برابر زمان لازم برای خواندن داده‌ها از روی رام خواهد بود. خطوط آدرس این رام توسط خروجی‌های یک شمارنده ۱۶ حالتی طبیعی فرمان داده می‌شوند.
نام دیگری که در چنین مواردی برای رام مورد استفاده قرار می‌گیرد، واژه PLE خلاصه شده عبارت Programmable Logic Element می‌باشد. این واژه به این دلیل برای نامیدن رام مورد استفاده قرار می‌گیرد، که رام به صورت اصولی یک تراشه تولید توابع منطقی نیز می‌باشد.

یک ابزار نرم‌افزاری به همین منظور، یعنی کمک به پیاده‌سازی مدارهای منطقی به کمک رام زمانی به بازار عرضه گردید که به نام' **PLEASM '**که خلاصه شده Programmable Logic Element Assembler می‌باشد، نامیده می‌شد. این ابزار خصوصیات طرح منطقی مورد نظر را به صورت معادلات دودویی یا توابع حسابی قبول کرده و خروجی خود را به صورت جدول درستی که مستقیماً قابل پیاده شدن بر روی ROM یا به عبارتی PLE باشد آماده می‌نمود. رام ها را در ابعاد و سرعت‌ها و تکنولوژی‌ها گوناگون می‌سازند. انواع دو قطبی آن با زمان دسترسی حدود ۱۰ نانو ثانیه و گونه‌های CMOS آن با حداقل زمان دسترسی تقریباً چندین برابر این مقدار در بازار وجود دارند. انواع قابل برنامه‌ریزی (PROM) نیز وجود دارند که بعضی به توسط فیوزها برنامه‌ریزی می‌شوند و قابل پاک شدن نیستند و بعضی‌ها هم با پرتو فرابنفش قابل پاک شدن می‌باشند که به آن‌ها ئی‌پی رام گفته می‌شود.
در حافظه‌های PROMتمام بیتهای کلمات در ابتدا برابر ۱ هستند. برای داشتن صفر در کلمات حافظه می‌بایستی یک جریان پالسی در خروجی رام برای هر آدرس قرار داد به‌طوری‌که فیوزی که داخلPROM قرار داردمی سوزد. در این صورت آن بیتی که فیوز آن سوخته است دارای اطلاعات صفر می‌شود.
به این ترتیب کاربر متناسب با نیاز در آزمایشگاه خودPROM را برنامه‌ریزی می‌کند و در هر کلمه حافظه PROMاطلاعات مورد نظر را قرار می‌دهد.
گونه‌های دیگری نیز وجود دارند که از لحاظ تکنیک ساخت و طرز کار ما بین ROM و RAM قرار می‌گیرند که از آن جمله می‌توان از:
E2PROM=Electrically Erasable Programmable Read Only Memory و حافظه فلش ها نام برد.

ئی‌ئیپ‌رام و حافظه فلش
----------------------

استفاده از این نوع حافظه‌ها که از نوع غیر فرار بوده و یعنی از این لحاظ شبیه بقیه انواع رام می‌باشند، زمانی به کار می‌آید که نیاز باشد تراشه بدون برداشته شدن از روی مدار قابل برنامه‌ریزی مجدد باشد.

حافظه فلش از لحاظ تکنولوژی ساخت تلفیقی از روش‌های ساخت حافظه‌های EPROM و ئی‌ئیپ‌رام می‌باشد و در واقع مزایای هر یک از حافظه‌های یاد شده در بالا را دارا می‌باشد. فلش مموری ها می‌توانند همانند ئی‌ئیپ‌رام ها به صورت الکتریکی پاک شوند با این تفاوت که این‌ها برخلاف ئی‌ئیپ‌رام ها که خط به خط پاک می‌شوند به صورت یک جا تمام محتویات آن‌ها قابل پاک شدن می‌باشد؛ و از این لحاظ شبیه EPROM می‌باشند. البته با این تفاوت که نوع اخیر توسط نور فرابنفش شدید در مدتی در حدود ۱۵ الی ۲۰ دقیقه پاک می‌شود. در صورتی که این عمل برای حافظه‌های از نوع فلش در یک لحظه خیلی کوتاه انجام می‌پذیرد و کل عمل پاک کردن و برنامه‌ریزی دوباره در عرض چند ثانیه قابل انجام است؛ بنابراین از این لحاظ این نوع حافظه سریع تر از ئی‌ئیپ‌رام ها می‌باشد.
نکته دیگری که قابل توجه است، این که در این نوع از حافظه احتیاج به ایجاد پنجره شفاف جهت انجام عمل پاک کردن محتویات تراشه شبیه آنچه در EPROM موجود بود، نمی‌باشد و از این لحاظ ساخت تراشه ارزانتر تمام خواهد شد.
حافظه‌های ئی‌ئیپ‌رام و فلش معمولاً ولتاژ تغذیه دیگری علاوه بر تغذیه استاندارد ۵ ولتی نیز دارند که در مورد حافظه‌های یاد شده در بالا این ولتاژ در خیلی از مواقع حدود ۱۲ ولت بوده و برای انجام عمل نوشتن و پاک کردن مورد استفاده قرار می‌گیرد و با قطع آن محتویات داخلی تراشه ثابت خواهند ماند و به عبارتی در مقابل پاک شوندگی یا تغییرات ناخواسته اتفاقی مصونیت پیدا خواهند کرد. جدول ۱- نشان دهنده خواص عمده از خانواده حافظه‌های غیر فرار یعنی EPROM و ئی‌ئیپ‌رام و فلش از دید مقایسه‌ای می‌باشد.

جدول۱- مقایسه مشخصات اسامی سه نوع حافظه غیر فرار| ئی‌ئیپ‌رام | فلش | UVEPROM | وضعیت |
| --- | --- | --- | --- |
| الکتریکی بایت به بایت | الکتریکی به صورت یک جا | به صورت نور فرابنفش | پاک کردن |
| بربایت | بربایت | بربایت | برنامه‌ریزی |
| ۵ولت | ۵ و۱۲ ولت | ۵/۱۲ و۲۱ ولت | ولتاژ برنامه‌ریزی |
| در داخل سیستم | در داخل سیستم | به توسط دستگاه ویژه | روش برنا مه ریزی |
| ۱۰ثانیه | ۵ ثانیه | ۱۵ تا ۲۰ ثانیه | زبان برنامه‌ریزی برای یک مگا بایت |

حافظه‌های فلش در خیلی از مواردی که به صورت معمول از ئی‌ئیپ‌رام و ئی‌پی‌رام یا مجموعه SRAM و باتری یا DRAM و دیسک مغناطیسی استفاده می‌شود، کاربرد دارند و می‌توانند جایگزین انواع بالا بشوند.
هزینه برنامه‌ریزی دوباره کمتر برای حافظه فلش از مزایای عمده این نوع تراشه‌ها بوده و از این لحاظ کاربرد آن‌ها در طولانی مدت به مراتب از کاربرد ئی‌پی‌رام مقرون به صرفه تر است.
یکی از عیوب این حافظه‌ها تعداد محدود دفعات نوشتن و پاک کردن آن‌ها می‌باشد که مقدار حداکثر آن در مدارک فنی سازندگان در حال حاضر ده هزار یاد می‌شود و این در حالی است که تعداد دفعات پاک کردن و برنامه‌ریزی مجدد برای ئی‌پی‌رام ها در حدود یک هزار بار می‌باشد و از لحاظ نظری این رقم برای حافظه‌های رام بی‌نهایت می‌باشد. نکته دیگری که قابل بیان است این که تعداد ئی‌ئیپ‌رام های ساخته شده از لحاظ تنوع به مراتب از ئی‌پی‌رام ها کمتر می‌باشد.

سرعت کار حافظه‌ها به صورت سرعت دسترسی به اطلاعات آن‌ها در زمان خواندن بیان می‌شود که به صورت پسوندی پس از شماره قطعه حافظه قید می‌گردد. مثلاً ۲۷C۵۱۲–۱۲۰ نشان دهنده یک نوع حافظه ئی‌پی‌رام با ظرفیت ۵۱۲ کیلو بایت و با زمان دسترسی ۱۲۰ نانو ثانیه می‌باشد در صورتی که ۲۷C۵۱۲–۲۵۵ نشان دهنده همین نوع حافظه منتها با زمان دسترسی ۲۵۵ نانو ثانیه می‌باشد.
نکته دیگری که در مورد حافظه‌های ئی‌پی‌رام قابل ذکر است اینکه معمولاً برای هر نوع ئی‌پی‌رام و رام معادل نیز توسط سازندگان عرضه می‌شود و این بدان دلیل است که سازندگان دستگاه پس از اتمام دوره نمونه‌سازی و در دوران تولید انبوه بتواند ئی‌پی‌رام خود را با رام معادل که هم از نظر قیمت خیلی ارزانتر و هم از نظر پایداری اطلاعات ضبط شده خیلی بادوامتر و مطمئن تر می‌باشد جایگزین نمایند.
به عنوان مثال تراشه رام ۲۳۳۲ معادل ئی‌پی‌رام ۲۷۳۲ بوده و تراشه رام 27X۵۱۲ معادل ۲۷C۵۱۲ که یک ئی‌پی‌رام، ۵۱۲ کیلو بایتی است، می‌باشد.
جدول۲- نشان دهنده تعدادی از ئی‌پی‌رام های معمول موجود در بازار و رام مشابه آن‌ها و بعضی از اطلاعات اساسی مربوطه می‌باشد. در دو ستون آخر این جدول نمونه‌هایی از حافظه‌های ئی‌ئیپ‌رام و فلش که از لحاظ ظرفیت و سازماندهی داخلی همانند ئی‌پی‌رام های هم ردیف خود می‌باشند، آمده‌اند.

جدول ۲- رام و ئی‌پی‌رام های معادل و ئی‌ئیپ‌رام و فلش های مشابه| مشابه فلش | مشابه ئی‌ئیپ‌رام | رام معادل | تکنولوژِی ساخت | سازماندهی داخلی | حجم اطلاعاتی | نوع تراشه |
| --- | --- | --- | --- | --- | --- | --- |
|  | PCB۸۵۸۲ |  |  | ۲۵۶×۸bit | ۲k |  |
|  | ۲۸۱۶ |  |  | ۲۰۴۸×۸bit | ۱۶k | ۲۷۱۶ |
|  |  | ۲۳۳۲ |  | ۴۰۹۶×۸bit | ۳۲k | ۲۷۳۲ |
|  |  | ۲۷×۶۴ | CMOS | ۸۱۹۲×۸bit | ۶۴k | ۲۷c۴۶ |
|  |  | ۲۷×۱۲۸ | CMOS | ۱۶۳۸۴×۸bit | ۱۲۸k | ۲۷c۱۲۸ |
| ۲۸f۲۵۶ |  | ۲۷×۲۵۶ | CMOS | ۳۲۷۶۸×۸bit | ۲۵۶k | ۲۷c۲۵۶ |
| ۲۸f۵۱۲ |  | ۲۷×۵۱۲ | CMOS | ۶۵۵۳۶×۸bit | ۵۱۲k | ۲۷c۵۱۲ |
| ۲۸f۰۱۰ |  | ۲۷×۱۰۲۴ | CMOS | ۱۳۱۰۷۲×۸bit | ۱M | ۲۷c۰۱۰ |

نوعی از ئی‌پی‌رام ها وجود دارند که به نام' **OTP '**کوتاه شده عبارت One Time Programmable نامیده می‌شوند. این نوع همان‌طور که از نام آن‌ها پیدا است فقط یک بار می‌توانند برنامه‌ریزی شوند. این‌ها معادل ئی‌پی‌رام هایی با همان شماره قطعه می‌باشند با این تفاوت که فاقد پنجره شفاف بوده و جعبه آن‌ها از پلاستیک یک تکه ساخته شده و طبیعتاً ارزانتر از ئی‌پی‌رام های پنجره دار (قابل پاک شدن) می‌باشند. پنجره شفافی که در ئی‌پی رام های معمولی وجود دارد از جنس کوارتز بوده و در موقع پاک کردن نور فرابنفش از آن عبور کرده و با سطح تراشه برخورد می‌نماید و در صورتی که شدت و زمان تابش پرتو کافی باشد سبب پاک شدن تراشه خواهد شد.
برای پاک نمودن می‌بایست یک سطح زیاد از انرژی را به منظور شکستن الکترون‌های منفی دریچه شناور (Floating Gate)استفاده کرد.

دریک ئی‌پی‌رام استاندارد عملیات بالا از راه پرتو فرابنفش با فرکانس ۲۵۳/۷انجام می‌گردد. برای حذف از حافظه ئی‌پی‌رام، باید قطعه را از محل خارج کرده و به مدت چند دقیقه زیر پرتو فرابنفش دستگاه پاک‌کننده قرار داد از طریق دریچه کوارتز کلیه بارهای روی تراشه ناپدیدشده و آرایه OR را به حالت برنامه‌ریزی نشده اش بازمی‌گرداند، اصطلاحاً اطلاعات ئی‌پی‌رام پاک شده‌ است. گر چه این بارها به اندازهٔ فیوزها دائمی نیستند ولی برای مدت ۱۰ سال محبوس باقی می‌مانند.
شکل زیر نشان دهنده شمای ساده شده یک سلول از حافظه نوع فلش می‌باشد. ساختمان این سلول بجز در مورد نحوه پاک شوندگی شباهت به سلول ئی‌پی‌رام دارد و طریقه به تله انداختن بار الکتریکی در دریچه شناور نیز شبیه حالت ئی‌پی‌رام می‌باشد. در موقع برنامه‌ریزی ولتاژ دریچه کنترل و Drain بالا برده شده و Source به سمت Drain شده و در آنجا بعضی از این الکترون‌ها پر انرژی شده و شباهت به الکترون آزاد پیدا می‌کنند و در اینجا این الکترون‌ها تحت اثر ولتاژ مثبت اعمال شده از سوی دریچه کنترل به سمت آن جذب شده و در ضمن عبور از منطقه اکسید نازک در دریچه شناور به تله می‌افتند. الکترون‌های به تله افتاده در دریچه شناور یک میدان الکتریکی ایجاد می‌نمایند که این میدان سبب قطع شدن ترانزیستور شده و سلول مربوطه به وضعیت صفر منطقی خواهد رفت.

برای پاک کردن سلول این حافظه مشابه ئی‌ئیپ‌رام عمل می‌شود. بدین طریق که ولتاژ مثبت بالایی به پایانه Source ترانزیستور وصل شده و دریچه کنترلی به زمین وصل می‌شود. میدان الکتریکی حاصل شده در این حالت سبب می‌شود که بار الکتریکی ذخیره شده در دریچه شناور از منطقه اکسید نازک عبور کرده (Fowler-Nordheim Tunneling) و از طریق Source به زمین برود. در زمان پاک کردن ولتاژ مثبت بالا هم‌زمان به Source تمام سلول‌ها متصل می‌شود و در نتیجه تمام سلول‌ها با هم پاک می‌شوند. در حالت پاک شده چون دریچه شناور خالی از الکترون است، در نتیجه ترانزیستور روشن بوده و سلول حالت یک منطقی را از خود نشان خواهد داد.

حافظه جانبی
-----------

از حافظه جانبی برای ذخیره‌سازی دائمی اطلاعات استفاده می‌شود. این حافظه از عناصر غیر الکترونیکی ساخته شده و قیمت آن ارزان و سرعت آن پایین است. برای اجرای یک برنامه از روی دیسک جانبی، اول باید برنامه در حافظه اصلی رَم قرار گیرد و سپس توسط سی پی یو مورد پردازش قرار گیرد. برای نگهداری اطلاعات این نوع حافظه هیچ گونه انرژی مصرف نمی‌کند، اما برای ذخیره‌سازی و فراخوانی اطلاعات نیاز به انرژی دارد.

### حافظه غیر مغناطیسی

**۱. کارت و نوار کاغذی:** از کارت‌های منگنه شده و رنگ شده و نوارهای کاغذی سوراخ شده (پانچ)، به عنوان محلی برای ذخیره اطلاعات استفاده می‌شود مانند پاسخ کارت کنکور. این حافظه توسط دستگاهی به نام کارت خوان خوانده می‌شود و سپس اطلاعات به حافظه رایانه منتقل می‌شود.

**۲. دیسک نوری:** دیسک‌های نوری نوع دیگری از حافظه‌های غیر مغناطیسی است. برای خواندن و نوشتن اطلاعات در این نوع دیسک‌ها، از پرتو لیزر استفاده می‌شود.

لوح فشرده (سی دی): این دیسک‌ها از صفحه دایره شکلی به قطر ۱۲ سانتیمتر ساخته شده‌اند و می‌توانند تا حدود ۷۰۰ مگا بایت اطلاعات را نگهداری کنند. به نوع متداول آن که فقط قابل خواندن است CD-ROM می‌گویند.
بر نوع دیگری که به CD-R معروف است می‌توان با استفاده از CD-Recorder یک بار اطلاعات وارد کرد و با استفاده از دیسک گردان‌های CD-Rewriter بارها بر روی CD-RW اطلاعات نوشت و پاک کرد.

دی وی دی: نوع جدیدتری از دیسک‌های نوری به نام DVD-ROM در حال گسترش است. این دیسک، ظاهر و اندازه‌ای شبیه سی – دی دارد، ولی برای آن ظرفیت‌های ۴/۵ GB (یک رو – یک لایه) ۷/۹ (یک رو – دو لایه) ۱۵/۸ (دورو – دولایه) در نظر گرفته شده‌است.

### حافظه مغناطیسی

در این نوع حافظه‌ها، می‌توان اطلاعات را به صورت نقاط مغناطیس شده نوشت (ذخیره کرد) یا خواند (بازیابی نمود). این اعمال، به وسیله شاخک‌های خاصی که به آن‌ها هد می‌گویند، انجام می‌پذیرد. هد از یک سیم پیچ هسته دار کوچک تشکیل شده‌است.

**الف) نوار مغناطیسی:** نوار مغناطیسی از یک نوار پلاستیکی که روی آن از یک ماده مغناطیس شونده مثل اکسید آهن پوشانده‌اند، تشکیل شده‌است (شبیه نوار ضبط صوت با پهنای بیشتر). این نوارها امروزه به صورت کارتریج و در گذشته به صورت حلقه‌ای مورد استفاده قرار می‌گرفته‌است. دسترسی به اطلاعات این حافظه‌ها دسترسی ترتیبی است. یعنی به ترتیب اطلاعات باید بگذرند تا به اطلاعات مورد نظر برسیم، مثل نوار کاست.

**ب) دیسک مغناطیسی:** دیسک‌های مغناطیسی صفحات گرد پلاستیکی، فلزی یا سرامیکی هستند که سطح آن‌ها به وسیله ماده مغناطیس شونده مثل اکسید آهن پوشانیده می‌شود. اگر جنس دیسک مغناطیسی شده، پلاستیک باشد به آن دیسک نرم و اگر فلز یا سرامیک باشند به آن دیسک سخت می‌گویند. دسترسی در این دیسک‌ها مستقیم است یعنی هر اطلاعاتی را که خواستیم بتوانیم آن را از روی سطح دیسک انتخاب کنیم. همانند دسترسی به تراک‌های یک MP۳. که سرعت این‌گونه دسترسی بالاست.

*۱-*دیسک نرم : این نوع دیسک‌ها قابل جابجایی است. امروزه اندازه استاندارد آن ۳٫۵ اینچ است. برای محافظت از آنها، دیسکت‌ها را در پوشش‌هایی به شکل مربع و از جنس پلاستیک سخت قرارمی دهند. اگر دکمه حفاظت در مقابل نوشتن بسته باشد می‌توان روی دیسک نوشت و اگر باز باشد این کار امکان‌پذیر نیست. ظرفیت معمولی این دیسک‌ها ۱٫۴۴MB است. نوع ۲٫۸۸MB آن هم وجود دارد اما متداول نیست. در دیسک گردان‌های ۱٫۴۴ نمی‌توان دیسک‌های ۲٫۸۸ را خواند، اما در دیسک گردان‌های ۲٫۸۸ می‌توان از دیسکت‌های ۱٫۴۴ استفاده کرد. دیسک گردان شکافی دارد که دیسک روی آن قرار می‌گیرد، سپس دیسک گردان، دیسک را با سرعت ۳۰۰ دور در دقیقه می‌چرخاند. ظرفیت دیسک‌های مغناطیسی به سطح مفید و چگالی داده‌ها بستگی دارد. نخستین دیسکت‌ها دارای چگالی مغناطیسی اندکی بوده‌اند که به اختصار به آن‌ها SS-DD (یک رویه – چگالی مضاعف) می‌گفتند. چندی بعد کارخانه‌های سازنده، دیسک‌های دورویه را ساختند که پس از آن دیسک‌های ساخته شده به این مدل‌ها هستند:

علامت اختصاری توضیح ظرفیت

DS-DD دورویه – چگالی مضاعف ۷۲۰ KB

DS-HD دورویه – چگالی بالا ۱٫۴۴ MB

DS-ED دورویه – چگالی خیلی بالا ۲٫۸۸ MB

*۲.* دیسک سخت : دیسک سخت یا هارد دیسک از یک یا چند صفحه گرد، از جنس آلیاژهای آلومینیوم یا سرامیک تشکیل شده‌است که بر روی یک محور درون محفظه‌ای بسته (دیسک گردان) قرار دارند. این صفحه یا صفحه‌ها به وسیله موتوری، حول محور دیسک گردان با سرعتی در حدود چند هزار دور در دقیقه می‌چرخد. یک یا چند بازوی دسترسی، بسته به تعداد رویه دیسک، هد یا هدها را در امتداد شعاع به جلو و عقب می‌برد و به این ترتیب، اطلاعات روی هر شیار می‌تواند خوانده شود.

نیاز به سرعت دلیلی بر وجود حافظه‌های متنوع
------------------------------------------

چرا حافظه در کامپیوتر تا بدین میزان متنوع و متفاوت است؟ در پاسخ می‌توان به موارد ذیل اشاره نمود:

پردازنده‌های با سرعت بالا نیازمند دستیابی سریع و آسان به حجم بالائی از داده‌ها به منظور افزایش بهره‌وری و کارایی خود می‌باشند.. در صورتی‌که پردازنده قادر به تأمین و دستیابی به داده‌های مورد نیاز در زمان مورد نظر نباشد، می‌بایست عملیات خود را متوقف و در انتظار تأمین داده‌های مورد نیاز باشد. پردازند ه‌های جدید وبا سرعت یک گیگا هرتز به حجم بالائی از داده‌ها (میلیارد بایت در هر ثانیه) نیاز خواهند داشت. پردازنده هائی با سرعت اشاره شده گران‌قیمت بوده و قطعاً اتلاف زمان مفید آنان مطلوب و قابل قبول نخواهد بود. طراحان کامپیوتر به منظور حل مشکل فوق ایده «لایه بندی حافظه» را مطرح نموده‌اند. در این راستا از حافظه‌های گران‌قیمت با میزان اندک استفاده و از حافظه‌های ارزان‌تر در حجم بیشتری استفاده به عمل می‌آید. ارزانترین حافظه متداول، هارد دیسک است. هارد دیسک یک رسانه ذخیره‌سازی ارزان قیمت با توان ذخیره‌سازی حجم بالائی از داده‌ها است. با توجه به ارزان بودن فضای ذخیره‌سازی داده‌ها بر روی هارد، داده‌ها مورد نظر بر روی آن‌ها ذخیره و با استفاده از روش‌های متفاوتی نظیر: حافظه مجازی می‌توان به سادگی و به‌سرعت بدون نگرانی از فضای فیزیکی حافظه رم، از آن‌ها استفاده نمود.

حافظه رم سطح دستیابی بعدی در ساختار نردبانی حافظه‌است. اندازه بیت یک پردازنده نشاندهنده شمار بایت هائی از حافظه‌است که در یک دم می‌توان به آن‌ها دستیابی داشت. برای نمونه یک پردازنده شانزده بیتی، توانا به پردازش دو بایت در هر دم‌است. مگاهرتز واحد سنجش سرعت پردازش در پردازنده‌ها است و هم ارز «میلیون در هر ثانیه» است. برای نمونه یک رایانه ۳۲ بیتی پنتیوم ۳ با سرعت ۸۰۰ مگاهرتز، توانا به پردازش چهار بایت به گونه هم‌زمان و ۸۰۰ میلیون بار در ثانیه‌است. حافظه رم به‌تنهایی دارای سرعت مناسب برای همسنگ شدن با سرعت پردازنده نیست از این رو است که از حافظه پنهان بهره گرفته می‌شود. روشن است هر اندازه که سرعت حافظه رم بالا باشد دلخواه تر خواهد بود. بیشتر تراشه‌های امروزه دارای سرعتی بین ۵۰ تا ۷۰ نانوثانیه می‌باشند. سرعت خواندن یا نوشتن در حافظه پیوند مستقیم با نوع حافظه بهره گرفته شده دارد. در این راستا می‌توان از حافظه‌های DRAM ,SDRAM ,RAMBUS سود جست.

سرعت رم توسط پهنا و سرعت باس، کنترل می‌گردد. پهنای باس، تعداد بایتی که می‌تواند به‌طور هم‌زمان برای پردازنده ارسال گردد را مشخص و سرعت باس به تعداد دفعاتی که می‌توان یک گروه از بیت‌ها را در هر ثانیه ارسال کرد گفته می‌شود. سیکل منظم حرکت داده‌ها از حافظه به سمت پردازنده را چرخه می‌گویند مثلاً یک گذرگاه با وضعیت: ۱۰۰ مگاهرتز و ۳۲ بیت، به صورت تئوری قادر به ارسال چهار بایت به پردازنده و یکصد میلیون مرتبه در هر ثانیه‌است. درحالی‌که یک گذرگاه شانزده بیتی ۶۶ مگاهرتز به صورت تئوری قادر به ارسال دو بایت و ۶۶ میلیون مرتبه در هر ثانیه‌است. با توجه به مثال فوق مشاهده می‌گردد که با تغییر پهنای گذرگاه از شانزده به سی و دو و سرعت از ۶۶ مگاهرتز به ۱۰۰ مگاهرتز سرعت ارسال داده برای پردازنده سه برابر گردید.

ثبّات (رجیستر) و حافظه پنهان
----------------------------

با توجه به سرعت بسیار بالای پردازنده حتی در صورت استفاده از «گذرگاه» عریض و سریع همچنان مدت زمانی طول خواهد کشید تا داده‌ها از حافظه رَم برای پردازنده ارسال گردند. حافظه پنهان یا کَش با این هدف طراحی شده‌است که داده‌های مورد نیاز پردازنده را که احتمال استفاده از آنان بیشتر است، در دسترس تر قرار دهد. عملیات فوق از طریق به‌کارگیری مقدار اندکی از حافظه پنهان که *اولیه* یا «سطح ۱» Level ۱ نامیده می‌شود صورت می‌پذیرد. ظرفیت حافظه‌های فوق بسیار اندک بوده و از دو کیلو بایت تا ۵۱۲ کیلو بایت را، شامل می‌گردد. نوع دوم حافظه پنهان که *ثانویه* یا «سطح ۲» نامیده می‌شود بر روی یک کارت حافظه و در مجاورت پردازنده قرار می‌گیرد. این نوع حافظه پنهان دارای یک ارتباط مستقیم با پردازنده‌است. یک مدار کنترل‌کننده اختصاصی بر روی برد اصلی که «کنترل‌کننده L۲» نامیده می‌شود مسئولیت عملیات مربوط را برعهده خواهد گرفت. با توجه به نوع پردازنده، اندازه حافظه فوق متغیر بوده و دارای دامنه‌ای بین ۲۵۶Kb تا چند مگابایت است. برخی از پردازنده‌های با کارایی بالا اخیراً این نوع حافظه پنهان را به عنوان جزئی جداناپذیر در کنار خود دارند. (بخشی از تراشه پردازنده) در این نوع پردازنده‌ها با توجه به اینکه Cache بخشی از پردازنده محسوب می‌گردد، اندازه آن متغیر بوده و به عنوان یکی از مهم‌ترین شاخص‌ها در کارایی پردازنده مطرح است.

نوع دیگری از رَم با نام حافظه دسترسی تصادفی ایستا نیز وجود داشته که در آغاز برای حافظه پنهان استفاده می‌گردید. این نوع حافظه‌ها از چندین ترانزیستور (معمولاً چهار تا شش) برای هر یک از سلول‌های حافظه خود استفاده می‌نمایند. حافظه‌های فوق دارای مجموعه‌ای از فلیپ فلاپ‌ها با دو وضعیت خواهند بود؛ بنابراین حافظه‌های فوق قادر به بازخوانی اطلاعات به صورت پیوسته نظیر حافظه‌های حافظه دسترسی تصادفی پویا نخواهند بود. هر یک از سلول‌های حافظه مادامیکه منبع تأمین انرژی آن‌ها فعال باشد داده‌های خود را ذخیره نگاه خواهند داشت. در این حالت ضرورتی به بازخوانی داده‌ها به صورت پریودیک نخواهد بود پ. سرعت حافظه‌های فوق بسیار بالا است پ، ولی به دلیل قیمت بالا، در حال حاضر به عنوان جایگزینی استاندارد برای حافظه‌های رَم مطرح نمی‌باشند.

انبار شیشه‌ای ذخیره داده‌ها
---------------------------

حجم دانسته‌هایی که هر روزه تولید و عرضه می‌شود در حدی انفجار آمیز است؛ ولی از منظر بایگانی و حفظ این داده‌ها برای نسل‌های آینده، بشر از زمان سنگ نوشته‌ها به این سو پیشرفت چندانی نداشته‌است؛ بنابراین احتمال از دست رفتن اطلاعات به نسبت گذشته‌ها افزایش یافته‌ است.

طول عمر ابزارهای بایگانی دیجیتال که تا امروزه در دسترس ما بوده‌اند، از سی دی و ام پی تری گرفته تا حافظه‌های کامپیوتری، هیچ‌کدام بیشتر از چند دهه یا حداکثر یک قرن نیست. از سوی دیگر تحول و سرعت اختراعات در فناوری‌های دیجیتال باعث شده که ابزارهای خوانش یا خواندن این داده‌ها همواره در حال تغییر باشند.

به همین خاطر با گذشت چند دهه اکنون بخش زیادی از محصولات صوتی و تصویری که روی فیلم‌های سینمایی قدیمی یا نوارهای کاست ضبط شده‌اند دیگر به راحتی قابل دسترسی نیستند.

سال‌ها پیش به هنگام عرضه سی دی به بازار خیلی‌ها تصمیم گرفتند کلکسیون موسیقی خود را از صفحات گرامافون به سی دی منتقل کنند اما بعد مشخص شد که سی دی نیز عمری محدود دارد. بعد از آن سیستم ضبط و بایگانی Mp3 ام پی تری به بازار آمد ولی ثابت شد که هیچ‌یک از آن‌ها عمری ابدی ندارند.

### روش جدید ذخیره‌سازی داده‌ها

در روش جدید، داده‌ها روی صفحات شیشه‌ای از جنس کوارتز بایگانی شده و به خاطر مقاومت آن در برابر دمای شدید و شرایط نامناسب برای ابد محفوظ خواهند ماند. فناوری جدید با نقطه‌گذاری مضاعف (دو تایی) در ورق‌های شیشه‌ای که از ماده کوارتز ساخته شده‌اند داده‌ها را به شکلی ذخیره می‌کند که خواندن آن توسط یک میکروسکوپ امکان‌پذیر است. با کمک یک کامپیوتر ساده که بتواند این نقطه گذاری‌های مضاعف (دوتایی) را بخواند دانسته‌های ذخیره شده در این لوح شیشه‌ای همیشه قابل دسترس خواهند بود. مهم نیست که به مرور زبان کامپیوترها چقدر پیچیده شوند فقط کافی است که کامپیوتر مورد نظر امکان آن را داشته باشد تا برنامه مخصوص برای خواندن این داده‌ها را دریافته و به کار بگیرد.

مساحت این لوح یا چیپ حدود هشت سانتیمتر مربع و ضخامت ن فقط دو میلی‌متر است و ا از جنس شیشه کوارتز ساخته شده که ماده بسیار مقاومی است.

این لوح یا چیپ در برابر بسیاری از مواد شیمیایی و امواج رادیویی آسیب‌ناپذیر است و می‌تواند گرمای شدیدی تا مرز هزار درجه سانتیگراد را به مدت دو ساعت تحمل کند. در عین حال در مقابل آب نیز مقاوم است و به این ترتیب می‌تواند از سوانح طبیعی مثل آتش‌سوزی یا سیل و باران‌های شدید جان سالم به در ببرد.

در نمونه‌های اولیه و آزمایشی که از این محصول ساخته شده می‌توان دو لایه نقطه‌گذاری را جا داد که به این ترتیب ظرفیت بایگانی آن حدود ۴۰ مگابایت در هر سانتیمتر مربع است.

واحد های حافظه
--------------

مقالهٔ اصلی: واحدهای حافظه رایانه
* b بیت
* B بایت
* KB کیلوبایت

* KiB کیبی بایت

* MB مگابایت
* GB گیگابایت
* TB ترابایت
* PB پتابایت
* EB اگزابایت
* ZB زتابایت
* YB یوتابایت

جستارهای وابسته
---------------

* حافظه فقط خواندنی
* حافظه خواندنی-نوشتنی
* حافظه فَرّار
* حافظه دسترسی تصادفی
* حافظه پنهان
* حافظه مجازی
* تقسیم حافظه
* حفاظت از حافظه
* حافظه تداعی‌گر
* گذرگاه حافظه
* حافظه مغناطیسی

منابع
-----