# برنامه نویسی میکروکنترلر (MicroController) ها و MicroProcessor ها > برنامه نویسی سیستم های Embeded > مباحث عمومی کار با سخت افزارها، سنسورها و لوازم جانبی >  تفاوت حافظه ها در چیست

## KING AMIN

سلام
تفاوت حافظ های فلش با ای پروم و استاتیک توی چیه 
کسی می تونه کمک کنه

----------


## SEZAR.CO

با عرض سلام

در یک دسته بندی کلی حافظه هایی که در سیستم های الکترونیکی استفاده می شوند به دو نوع  حافظه های مغناطیسی (مثل فلاپی دیسک ها و دیسک های سخت) و نیمه هادی تقسیم می شوند. در اینجا هدف ما بررسی حافظه های نیمه هادی است. حافظه های نیمه هادی که بر خلاف حافظه های مغناطیسی فاقد اجزای متحرک و مکانیکی هستند از آرایه هایی از سلول های حافظه تشکیل شده اند که این آرایه ها بسته به نوع حافظه از تعدادی عنصر الکترونیکی مثل ترانزیستور و خازن تشکیل شده اند. 
همان طور که در شکل زیر مشاهده می شود این نوع حافظه ها به سه دسته ی کلی به نام RAM, ROM و Hybrid که ترکیبی از دو نوع اول می باشند، تشکیل شده اند. *حافظه های* *RAM* RAM سرنام Random Access Memory یا حافظه ی با دستیابی تصادفی است که البته این نام گذاری حافظه ها تا حدودی جنبه ی تاریخی دارند و با توجه به اینکه دو نوع حافظه ی دیگر هم دارای این ویژگی هستند این نام ها تا حدودی مخدوش شده اند ولی همچنان از این اسامی استفاده می شود. مهم ترین ویژگی RAM ها ناپایدار بودن اطلاعات موجود در آن هاست یعنی تا زمانی که تغذیه به آن ها وصل باشد اطلاعات نگهداری می شوند. RAM ها به دو نوع DRAM و SRAM تقسیم می شوند که از لحاظ الکترونیکی تفاوت آن ها در اجزای سازنده ی آن ها ست. DRAM مخفف Dynamic RAM یا RAM پویا می باشد که دلیل آن استفاده از خازن در ساختمان این نوع حافظه می باشد بنابراین برای حفظ اطلاعات در آن باید اطلاعات موجود در سلول های حافظه نوسازی شوند تا خازن ها شارژ شوند. اما حافظه ها ی SRAM یا Static RAM از اجزایی به نام فلیپ فلاپ ها تشکیل شده اند و برای حفظ اطلاعات فقط نیاز به تغذیه دارند. واضح است که از لحاظ مداری حافظه ها DRAM از پیچیدگی کمتری در مقایسه با SRAM ها برخوردارند زیرا هر فلیپ فلاپ خود از چندین ترانزیستور تشکیل شده است. از طرف دیگر حافظه ی DRAMبه دلیل وجود خازن، بر خلاف نوع دیگر توانایی نگهداری اطلاعات را در غیاب تغذیه در حدود چند میلی ثانیه دارا می باشد. اما مهترین ویژگی SRAM در مقایسه با DRAM سرعت بالاتر (حدود 4 برابر) آن است زیرا DRAM در مدت نوسازی قادر به نوشتن یا خواندن اطلاعات نیست. بنابراین از SRAM ها معمولا در Cache پردازنده ها استفاده می شود. از سویی دیگر به دلیل ساده تر بودن ساختمان DRAM ها قیمت آن ها پایین تر می باشد بنابراین معمولا در سیستم های کامپیوتری از DRAM ها استفاده می شود. در مورد DRAM ها تقسیم بندی های دیگری نظیر PCMCIA memory card ,EDO DRAM ,FPM DRAM ,SDRAM, DDR AM, RDRAM و غیره و جود دارند که در حال حاضر این اسامی بیشتر جنبه تجاری دارند و برای مطالعه در مورد آن ها می توانید به سایت های شرکت های سازنده ی آن ها مراجعه کنید. *حافظه های* *ROM* ROM سرنام Read Only Memory یا حافظه ی فقط خواندنی است. ROM ها براساس روش نوشتن اطلاعات جدید و تعداد بازنویسی، تقسیم بندی می شوند. اصولا ROM ها از آرایه ای از ترانزیستور ها تشکیل شده اند که هر کدام از سلول ها دارای یک فیوز ذوب شدنی است که در زمان پروگرام شدن در صورتی که نیاز به وجود صفر منطقی باشد فیوز آن سلول ذوب می شود و در غیر اینصورت آن خانه حاوی یک منطقی می باشد. بنابراین اطلاعات موجود در ROM ها غیر فرار بوده و در غیاب تغذیه حفظ می شوند و معمولا برای نگهداری کد نرم افزارها در سیستم های میکروپروسسوری استفاده می شوند. ROM ها به سه دسته تقسیم می شوند که یک نوع آن ROM پوششی یا Masked ROM می باشد که معمولا توسط کارخانه سازنده برنامه ریزی می شود. این نوع ROM ها پس از نوشتن قابل پاک شدن نیستند و معمولا در تیراژ تولیدی بالا بسیار ارزان قیمت هستند. یک مرحله بالاتر از ROM های پوششی، PROM ها یا ROM های قابل برنامه ریزی می باشند که بوسیله دستگاهی به نام پروگرامر اطلاعات مورد نیاز درون آن ها قرار می گیرد. PROM ها فقط یک بار برنامه ریزی می شوند از این رو آن ها (OTP Device (On-Time Programmable نیز می نامند. پس از PROM ها EPROM ها قرار دارند که همانند PROM ها قابل برنامه ریزی هستند اما اطلاعات موجود در آن ها قابل پاک شدن است. پاک کردن اطلاعات یا Reset کردن EPROM بوسیله ی اشعه ی فرابنفش انجام می شود بدین صورت که تراشه سیلیکونی بوسیله ی پنجره ای که روی Package آن قرار دارد در معرض اشعه ماورای بنفش قرار داده می شود و اطلاعات موجود در آن پاک می شود. البته در تعداد دفعات پاک شدن این حافظه ها محدودیت وجود دارد که برای اطلاع از این تعداد باید به برگه اطلاعاتی آن مراجعه کرد. *حافظه های ترکیبی یا* *Hybrid* با پیشرفت تکنولوژی حافظه ها در سال های اخیر، مرز بین ROM ها RAM محو شده است. بدین صورت که حافظه هایی ساخته شده اند که از یک سو اطلاعات موجود در آن ها در غیاب تغذیه حفظ می شود و از سویی دیگر بوسیله ی سیگنال های الکتریکی قابل بازنویسی هستند. بنابراین از این حافظه ها به نام ترکیبی یا Hybrid یاد می شود. حافظه های ترکیبی به سه نوع EEPROM, Flash و NVRAM تقسیم می شوند که دوتای اولی از نسل ROM ها هستند و NVRAM نوع تغییر یافته ای از RAM ها ست. EEPROM که سرنام ElectricallyErasableandProgrammableROM است، همانند EPROM قابل برنامه ریزی مجدد است اما برای پاک شدن نیازی به اشعه ی ماورا بنفش دارد و بصورت الکتریکی قابل پاک شدن است. حافظه های Flash حاوی ترکیبی از بهترین مشخصات حافظه هایی که تاکنون بررسی شد هستند. این حافظه ها دارای چگالی بالا، قیمت پایین، غیر فرار، سرعت بالا (در خوندن) و نوشتن الکتریکی هستند از این رو این حافظه ها در بسیاری از موارد جایگزین حافظه های EEPROM شده اند. از دیدگاه نرم افزاری حافظه های Flash بسیار شبیه EEPROM ها هستند اما تفاوت آن ها در این است که در حافظه های Flash در لحظه امکان پاک شدن یک سکتور وجود دارد نه یک بایت. در حالی که EEPROM ها امکان پاک شدن بایت به بایت را دارند. معمولا سکتور ها اندازه ای بین 256 بایت تا 16 کیلو بایت را دارند. با وجود این مزیت EEPROM ها نسبت به Flash، حافظه های Flash از محبوبیت بیشتری برخوردارند و همان طور که اشاره شد جایگزین بسیاری از ROM ها شده اند. شکل زیر یک حافظه ی Flash را نشان می دهد که به عنوان Bios کامپیوتر استفاده شده است. سومین نوع از حافظه های ترکیبی NVRAM ها هستند. این نوع حافظه مثل ROM ها غیر فرار هستند اما از لحاظ ساختمانی تفاوت زیادی با ROM ها دارند. در واقع این نوع حافظه یک نوع SRAM هستند که دارای یک باتری پشتیبان هستند. وظیفه این
باتری این است که در زمان قطع تغذیه جریان لازم را برای حفط اطلاعات در حافظه تامین کند. اگرچه این نوع حافظه ها بدلیل وجود باتری گران قیمت هستند اما استفاده از آن ها محدود است و برای حفط مقدار کمی اطلاعات استفاده می شوند.

----------

