• دستگاه های حافظه کاری حافظه ایستا

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

    اما، حافظه اصلی یک کامپیوتر، که تمام کار آن را تعیین می کند، است رم- رم. نیاز به حافظه اصلی:

    در ابتدا RAM بودنوع استاتیک. سلول RAM بر روی پایه ساخته شده است مرحله ترانزیستور، که می تواند حاوی 10 ترانزیستور باشد. عملکرد از حافظه ایستابالا بود، زیرا زمان سوئیچینگ ترانزیستورها از یک حالت به حالت دیگر بسیار کم است. با این حال، چنین تعداد ترانزیستور در هر سلول حافظه حجم فیزیکی نسبتاً زیادی را اشغال می کرد، به عنوان مثال، "فشرده کردن" مقدار زیادی از حافظه در یک فضای فیزیکی کوچک غیرممکن است. دومین ویژگی ناخوشایند آرایه حافظه ایستا این واقعیت بود که ترانزیستورها سطح نسبتاً زیادی انرژی مصرف می کنند که محدودیت های خود را بر حداکثر مقدار حافظه نیز تحمیل می کند.معایب ذکر شده در بالا خالی از لطف است حافظه پویا که سلول آن از یک خازن و یک ترانزیستور کنترل تشکیل شده است. هنگامی که خازن شارژ می شود، این یک حالت منطقی است، زمانی که تخلیه می شود، حالت دیگری است. دو حالت کافی است، زیرا سیستم کامپیوتریکار با کد باینری(یا سیگنال وجود دارد - منطقی "1"، یا سیگنال وجود ندارد - منطقی "0"). یک خازن و یک ترانزیستور فضای بسیار کمتری را نسبت به چندین ترانزیستور اشغال می کنند. مصرف برق چنین پشت سر هم بسیار کمتر است. اما، مشکلاتی در سرعت وجود دارد. در اینجا چند دلیل وجود دارد:

    • تخلیه / شارژ یک خازن - فرآیندی طولانی تر از تعویض ساده ترانزیستور.
    • خازن دارای جریان نشتی است که هر چه بیشتر (در واحدهای نسبی) باشد، ظرفیت خازن کوچکتر است. بنابراین، برای عملکرد عادیحافظه پویا نیاز به بازسازی دوره ای حافظه (شارژ خازن) دارد که پیچیده می شود نمودار سیم کشیکار حافظه پویا

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

    اساس یک سلول حافظه در یک حافظه نوع استاتیک یک فلیپ فلاپ است. به عنوان عناصر اساسی برای اجرای ماشه می توان به عنوان استفاده کرد ترانزیستورهای دوقطبی، و میدان. با این حال، اولی ها به دلیل مصرف انرژی بالای تراشه های حافظه ساخته شده بر اساس آنها، کاربرد گسترده ای پیدا نکرده اند. بنابراین، استفاده بهینه است ترانزیستورهای اثر میدانی. شکل 1 یک فلیپ فلاپ در ترانزیستورهای MOS با کانال p القایی را نشان می دهد. برای باز کردن قفل چنین ترانزیستوری، ولتاژ در دروازه آن نسبت به منبع باید کمتر از صفر باشد: یو زی<0.

    برنج. 1 - نمودار شماتیک سلول رم از نوع استاتیک.

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

    بلوک دیاگرام رم استاتیک در شکل 2 نشان داده شده است. ورودی و خروجی رم در این مدار با استفاده از درایور اتوبوس ترکیب می شوند. به طور طبیعی، طرح های RAM واقعی با آنچه در این شکل نشان داده شده است متفاوت خواهد بود. با این حال، نمودار بالا به شما اجازه می دهد تا نحوه عملکرد RAM واقعی را درک کنید. نام گرافیکی مرسوم RAM در نمودار مدار در شکل 3 نشان داده شده است.

    برنج. 2 - بلوک دیاگرام RAM (RAM)

    سیگنال نوشتن WR به شما امکان می دهد سطوح منطقی موجود در ورودی های اطلاعات سلول RAM داخلی را بنویسید. سیگنال خواندن RD به شما این امکان را می دهد که محتویات سلول حافظه داخلی را به خروجی های اطلاعات ریز مدار صادر کنید. در مدار نشان داده شده در شکل 1، انجام هر دو عملیات خواندن و نوشتن به طور همزمان امکان پذیر نیست، اما معمولاً این کار ضروری نیست.

    یک سلول RAM خاص با استفاده از یک کد باینری - آدرس سلول انتخاب می شود. مقدار حافظه رم (RAM) به تعداد سلول های موجود در آن یا همان مقدار به تعداد سیم های آدرس بستگی دارد. تعداد سلول های RAM را می توان با تعداد سیم های آدرس با بالا بردن 2 به توان برابر با تعداد پین های آدرس در تراشه تعیین کرد:

    پین انتخاب چیپ CS تراشه های رم به شما امکان می دهد چندین تراشه را با هم ترکیب کنید تا میزان حافظه رم را افزایش دهید. چنین طرحی در شکل 3 نشان داده شده است.


    برنج. 3 - طرح رم ساخته شده بر روی چندین تراشه حافظه.

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

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

    به عنوان نوعی از فناوری حافظه، DRAM از طراحی های اولیه ریزپردازنده ها و طرح های مدار مجتمع مرتبط نشات گرفته است. در اواسط دهه 1960 در برخی از محصولات الکترونیکی مدرن ظاهر شد که قبلاً از نوعی حافظه مغناطیسی به شکل یک حلقه فریت کوچک برای هر عنصر استفاده می کردند. طبیعتاً این حافظه «هسته ای» بسیار گران بود و نسخه های یکپارچه در دراز مدت جذابیت بیشتری داشتند.

    ایده فناوری DRAM نسبتاً اولیه در جدول زمانی مدار مجتمع نیمه هادی ظاهر شد. یک فرم اولیه برای ماشین حساب توشیبا اعمال شد که در سال 1966 از یک جزء مجزا منتشر شد و سپس دو سال بعد به ثبت رسید. مرحله بعدی توسعه فناوری در سال 1969 زمانی رخ داد که هانیول، که وارد بازار کامپیوتر شده بود، از اینتل خواست تا با استفاده از سه ایده سلول ترانزیستوری، حافظه پویا ایجاد کند. DRAM IC حاصل Intel 1102 نام داشت و در اوایل سال 1970 ظاهر شد. با این حال، دستگاه چندین مشکل داشت، پس از آن اینتل فناوری جدیدی را توسعه داد که با اطمینان بیشتری کار می کرد.

    دستگاه جدید به دست آمده در پایان سال 1970 ظاهر شد و اینتل 1103 نام داشت. هنگامی که MOSTEK MK4096 خود را در سال 1973 منتشر کرد، این فناوری حتی بیشتر پیشرفت کرد. همانطور که شماره قطعه نشان می دهد، دستگاه دارای ظرفیت 4k بود. مزیت اصلی آن این بود که شامل رویکرد چندگانه به سطرها و ستون ها بود. این رویکرد جدید امکان قرار گرفتن در بسته هایی با مخاطبین کمتر را فراهم کرد. در نتیجه، مزیت هزینه نسبت به رویکردهای قبلی با هر افزایش حافظه افزایش یافته است.

    این به فناوری MOSTEK اجازه داد تا بیش از 75 درصد از سهم بازار جهانی را به دست آورد. در پایان، MOSTEK به تولید کنندگان ژاپنی باخت زیرا آنها توانستند دستگاه های بهتری را با هزینه کمتر تولید کنند.

    DRAM حافظه پویا و SRAM حافظه ایستا است. تراشه های DRAM روی برد هر چند میلی ثانیه به روز می شوند. این کار با بازنویسی داده ها در ماژول انجام می شود. تراشه هایی که نیاز به ارتقا دارند حافظه فرار هستند. DRAM مستقیماً به حافظه دسترسی پیدا می کند، حافظه را برای مدت کوتاهی به خاطر می آورد و با قطع برق، اطلاعات خود را از دست می دهد.

    SRAM است که ثابت است و نیازی به به روز رسانی ندارد. از آنجایی که بسیار سریعتر اجرا می شود، در رجیسترها و حافظه کش استفاده می شود. SRAM داده ها را ذخیره می کند و با سرعت بالاتری نسبت به حافظه دینامیک برد اصلی اجرا می شود زیرا ساخت آن بسیار ارزان تر است.

    DRAM یکی از انواع حافظه های نیمه هادی است که طراح سیستم می تواند هنگام ساخت کامپیوتر از آن استفاده کند. گزینه های حافظه جایگزین عبارتند از: رم استاتیک (SRAM)، حافظه قابل برنامه ریزی فقط خواندنی (EEPROM)، NOR Flash و NAND Flash. بسیاری از سیستم ها از بیش از یک نوع حافظه استفاده می کنند.

    انواع PCB و سیستم های خواندن

    سه نوع اصلی از بردهای مدار چاپی که حاوی تراشه‌های حافظه هستند عبارتند از: ماژول‌های حافظه داخلی دوگانه (DIMM)، ماژول‌های حافظه تک خطی (SIMM) و ماژول‌های حافظه درون خطی Rambus (RIMM).

    امروزه اکثر مادربردها از DIMM استفاده می کنند. نرخ تازه سازی ماژول برای DRAM هر چند میلی ثانیه (1/1000 ثانیه) است. این به روز رسانی توسط کنترلر حافظه واقع در چیپست مادربرد انجام می شود. از آنجایی که منطق تازه سازی برای تازه سازی خودکار استفاده می شود، برد DRAM بسیار پیچیده است.

    سیستم‌های مختلفی برای به‌روزرسانی استفاده می‌شود، اما همه روش‌ها به شمارنده برای پیگیری ردیف نیاز دارند تا به شرح زیر به‌روزرسانی شود. سلول های DRAM به صورت یک آرایه مربعی از خازن ها سازماندهی می شوند که معمولاً سلول های 1024 در 1024 هستند. هنگامی که یک سلول در حالت "خوانده" است، کل ردیف خوانده می شود و به روز رسانی دوباره نوشته می شود. هنگامی که در حالت "نوشتن"، کل خط "خوانده" می شود، یک مقدار تغییر می کند و سپس کل خط بازنویسی می شود.

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

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

    1. SRAM نیازی به ارتقا ندارد زیرا به جای نگه داشتن شارژ در محل ذخیره سازی، بر اساس اصل تغییر جریان جریان در یکی از دو جهت عمل می کند.
    2. معمولاً برای حافظه کش استفاده می شود که سریعتر از DRAM قابل دسترسی است.
    3. SRAM قادر به خواندن و نوشتن بیت‌های بایت و خواندن و نوشتن سریع‌تر از DRAM است که داده‌ها را در سطح بایت می‌نویسد و در سطح صفحه چند بایتی می‌خواند.
    4. تفاوت قدرت بر اساس اینکه سیستم در حالت فعال یا خواب است تعیین می شود. DRAM در زمان فعال به انرژی کمتری نسبت به SRAM نیاز دارد، اما SRAM در حالت بیکار به میزان قابل توجهی انرژی کمتری مصرف می کند.

    انواع یا رابط های زیادی برای ارتباط با DRAM وجود دارد. این موارد عبارتند از حالت صفحه سریع (FPM DRAM)، داده های گسترده از DRAM (EDO RAM) و DRAM همزمان (SDRAM). SDRAM نام کلی انواع DRAM است که توسط ریزپردازنده کلاک می شوند. اینها عبارتند از SDRAM با نرخ تک داده (SDR)، SDRAM با نرخ دوگانه داده (DDR)، SDRAM DDR2، DDR3 SDRAM و DDR4 SDRAM.

    رم چگونه کار می کند

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

    سطح شارژ در خازن سلول حافظه تعیین می کند که آیا آن بیت خاص یک منطقی "1" یا "0" است - وجود بار در خازن منطقی "1" و عدم وجود شارژ نشان دهنده منطق "0" است. رم Dynamic Memory Allocation فرمت خاصی دارد که به موجب آن می توان آن را به صورت متراکم روی یک تراشه سیلیکونی بسته بندی کرد و این باعث می شود آن را بسیار ارزان کند. دو خط به هر سلول رم پویا متصل می شود - یک خط Word (W/L) و یک خط بیت (B/L) تا سلول مورد نظر در ماتریس بتواند داده ها را بخواند یا بنویسد.

    سلول پایه

    سلول حافظه اصلی نشان داده شده یکی از هزاران یا میلیون ها سلول در یک تراشه حافظه کامل خواهد بود. آنها می توانند 256 مگابیت بر ثانیه یا بیشتر ظرفیت داشته باشند. برای بهبود قابلیت های نوشتن و خواندن و سرعت، تخصیص حافظه پویا با تقسیم به زیرماتریس ها انجام می شود. داشتن زیرآرایه های متعدد کلمات و رشته های بیتی را کاهش می دهد و این امر زمان دسترسی به سلول های جداگانه را کاهش می دهد. به عنوان مثال، یک DRAM 256 Mb، DRAM را می توان به 16 آرایه کوچکتر 16 مگابایتی تقسیم کرد.

    خطوط ورودی خطوط انتقال را هدایت می کنند، در حالی که Bit bin ها به کانال FET متصل می شوند و در نهایت به تقویت کننده های بهره متصل می شوند. دو راه برای سازماندهی رشته های بیت وجود دارد:

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

    یکی از مشکلات این مدار این است که خازن ها شارژ خود را به طور نامحدود نگه نمی دارند زیرا مقداری نشتی در خازن وجود دارد. این غیرقابل قبول است که حافظه داده های خود را از دست بدهد و داده ها به طور دوره ای برای غلبه بر این مشکل به روز می شوند. داده ها خوانده و نوشته می شوند و این تضمین می کند که هر گونه نشت برطرف شده و داده ها بازیابی می شوند.

    یکی از عناصر کلیدی حافظه DRAM این واقعیت است که داده ها به طور دوره ای به روز می شوند. سازندگان معمولاً مشخص می کنند که هر ردیف باید هر 64 میلی ثانیه به روز شود. این بازه زمانی با استانداردهای JEDEC برای دوره های تازه سازی دینامیک رم مطابقت دارد.

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

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

    نسبت سیگنال به نویز

    با افزایش اندازه حافظه ها، موضوع نسبت سیگنال به نویز بسیار مهم می شود زیرا می تواند باعث خرابی داده ها شود. این بستگی به نسبت ظرفیت خازن ذخیره سازی در حافظه DRAM به ظرفیت خط کلمه یا بیتی دارد که هنگام دسترسی به سلول شارژ می شود. با افزایش تراکم بیت در هر تراشه، نسبت بدتر می شود زیرا مساحت سلول کاهش می یابد زیرا سلول های بیشتری به خط بیت اضافه می شود.

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

    تراشه های حافظه DRAM به طور گسترده ای مورد استفاده قرار می گیرند و این فناوری به خوبی تثبیت شده است. و تراشه های حافظه و پلاگین ها برای افزایش حافظه رایانه ها و بسیاری از دستگاه های دیگر در دسترس هستند. اگرچه DRAM دارای معایبی است، اما همچنان به طور گسترده مورد استفاده قرار می گیرد، زیرا مزایای زیادی از نظر اندازه هزینه و سرعت رضایت بخش ارائه می دهد، سریع ترین نیست، اما هنوز هم بسیار سریعتر از سایر انواع حافظه است.

    انواع مختلفی در خانواده حافظه DRAM وجود دارد که از جمله آنها می توان به ناهمزمان، همزمان، EDO، BEDO، FPM و غیره اشاره کرد. علاوه بر نوع فناوری حافظه، می توان آن را در چندین نوع بسته آی سی نیز قرار داد. DRAM در قالب‌های ماژول نیز موجود است و انواع مختلفی از ماژول‌های حافظه از جمله DIMM، SIMM، RIMM و غیره وجود دارد. بنابراین، آگاهی از انواع مختلف DRAM و فرمت‌هایی که حافظه می‌تواند در آن‌ها وجود داشته باشد، مهم است. تهیه، نصب و استفاده شود.

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

    تخصیص حافظه

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

    تخصیص حافظه پویا دو نوع اصلی دارد:

    1. تخصیص حافظه استاتیک، حافظه در زمان کامپایل به یک برنامه تخصیص داده می شود.
    2. تخصیص حافظه پویا، برنامه ها در حین اجرا با حافظه تخصیص می یابند.

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

    بهینه سازی مصرف حافظه

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

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

    SRAM با ارزش ترین حافظه موجود در آردوینو است. اگرچه نقص های SRAM احتمالاً رایج ترین مشکلات حافظه در آردوینو است. تشخیص آنها دشوار است. اگر برنامه به طور غیرقابل توضیحی از کار بیفتد، احتمال زیادی وجود دارد که کاربر پشته را به دلیل کمبود SRAM خراب کرده باشد. برای کاهش استفاده از SRAM می توان چند کار انجام داد:

    1. متغیرهای استفاده نشده را حذف کنید.
    2. خطوط رزرو
    3. داده های پایدار را به PROGMEM منتقل کنید.
    4. کاهش اندازه بافر
    5. کاهش متغیرهای بزرگ

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

    کار با حافظه پویا - جنبه مهمی که در طراحی یک سیستم باید در نظر گرفته شود. در واقع، نوع سومی از حافظه ها، EEPROM وجود دارد که می توان آن را روی آن نوشت و در صورت قطع برق، آن را حفظ کرد. آردوینو می تواند 300 EEPROM در ثانیه بنویسد، اگر کاربر مراقب نباشد، از نظر تئوری این سرعت می تواند یک سلول حافظه را در 5 دقیقه و کل EEPROM را در دو روز از بین ببرد.


    رم استاتیک و پویا

    RAM - مجموعه ای از سلول های الکترونیکی ویژه که هر کدام می توانند یک ترکیب 8 رقمی خاص از صفر و یک - 1 بایت (8 بیت) را ذخیره کنند. هر سلول از این قبیل یک آدرس (آدرس بایت) و یک محتوا (مقدار بایت) دارد. آدرس برای دسترسی به محتویات سلول، نوشتن و خواندن اطلاعات مورد نیاز است. حافظه با دسترسی تصادفی (RAM) اطلاعات را فقط زمانی که رایانه در حال کار است ذخیره می کند. ظرفیت رم یک کامپیوتر مدرن 32-138 مگابایت است.
    هنگام انجام عملیات محاسباتی توسط ریزپردازنده، دسترسی به هر سلول RAM باید در هر زمان فراهم شود. بنابراین به آن حافظه دسترسی تصادفی - RAM (Random Access Memory) می گویند. RAM معمولاً بر روی تراشه‌هایی از نوع پویا با دسترسی تصادفی (Dynamic Random Access Memory، DRAM) ساخته می‌شود. هر بیت از چنین حافظه ای به صورت وجود (یا عدم وجود) بار روی خازن تشکیل شده در ساختار یک کریستال نیمه هادی نشان داده می شود. نوع دیگری از حافظه گران تر - استاتیک (Static RAM, SRAM) به عنوان یک سلول واحد از به اصطلاح ماشه استاتیک (مدار آن از چندین ترانزیستور تشکیل شده است) استفاده می کند. نوع استاتیک حافظه عملکرد بالاتری دارد و به عنوان مثال برای سازماندهی حافظه کش استفاده می شود.

    حافظه ایستا
    حافظه استاتیک (SRAM) در رایانه های شخصی مدرن معمولاً به عنوان یک کش سطح دوم برای ذخیره مقدار اصلی RAM استفاده می شود. حافظه استاتیک معمولاً بر اساس ریزمدارهای TTL، CMOS یا BiCMOS پیاده سازی می شود و با توجه به روش دسترسی به داده ها، می تواند ناهمزمان یا همزمان باشد. ناهمزمان دسترسی به داده هایی است که می تواند در هر زمان انجام شود. SRAM ناهمزمان در مادربردها برای نسل سوم - پنجم پردازنده ها استفاده شد. زمان دسترسی به سلول های چنین حافظه ای از 15 ns (33 مگاهرتز) تا 8 ns (66 مگاهرتز) متغیر بود.
    چرخه های به اصطلاح خواندن/نوشتن برای توصیف ویژگی های عملکرد RAM استفاده می شود. واقعیت این است که هنگام دسترسی به حافظه، خواندن یا نوشتن اولین کلمه ماشین چرخه های ساعت بیشتری نسبت به سه کلمه بعدی طول می کشد. بنابراین، برای SRAM ناهمزمان، خواندن یک کلمه در 3 چرخه، نوشتن در 4 چرخه، خواندن چندین کلمه با دنباله چرخه های 3-2-2-2 تعیین می شود و نوشتن 4-3-3-3 است.
    حافظه سنکرون دسترسی به داده ها را نه در زمان های دلخواه، بلکه همزمان با پالس های ساعت فراهم می کند. در این بین، حافظه می تواند تکه بعدی داده را برای دسترسی آماده کند. اکثر مادربردهای نسل پنجم از یک نوع حافظه سنکرون استفاده می کنند - SRAM خط لوله همزمان (Pipelined Burst SRAM)، که زمان معمول برای یک عملیات خواندن/نوشتن 3 سیکل است و یک عملیات گروهی 3-1-1-1 طول می کشد. چرخه در اولین دسترسی و 1-1-1-1 در تماس های بعدی، که شتاب دسترسی را بیش از 25٪ فراهم می کند.

    حافظه پویا
    حافظه دینامیک (DRAM) در رایانه های شخصی مدرن معمولاً به عنوان RAM همه منظوره و همچنین حافظه برای آداپتور ویدیو استفاده می شود. از انواع حافظه های پویا که در رایانه های شخصی مدرن و آینده دار استفاده می شود، معروف ترین آنها عبارتند از DRAM و FPM DRAM، EDO DRAM و BEDO DRAM، EDRAM و CDRAM، DRAM سنکرون، DDR SDRAM و SLDRAM، حافظه های ویدئویی MDRAM، VRAM، WRAM و SGRAM، RDRAM.
    در حافظه‌های نوع دینامیکی، بیت‌ها به صورت عدم وجود و وجود بار روی خازن در ساختار یک کریستال نیمه‌رسانا نشان داده می‌شوند. از نظر ساختاری، به عنوان یک ماژول SIMM (ماژول حافظه تک در خط) پیاده سازی شده است. هر بیت از اطلاعات در یک سلول حافظه جداگانه، متشکل از یک خازن و یک ترانزیستور، ثبت می شود. وجود شارژ در خازن مربوط به 1 در کد باینری است، عدم وجود - 0. هنگام سوئیچینگ، ترانزیستور خواندن کمی اطلاعات یا نوشتن یک بیت جدید را در یک سلول حافظه خالی امکان پذیر می کند.
    جستجوی یک سلول با آدرس توسط مدارهای رمزگشایی ویژه ای انجام می شود که یک ماتریس را تشکیل می دهند، یعنی کریستال حافظه را در دو نوار - افقی و عمودی عبور می دهند. هنگامی که CPU یک آدرس سلول را گزارش می دهد، رمزگشاهای افقی ستون مورد نظر و رمزگشاهای عمودی ردیف را نشان می دهند. سلول مورد نظر در محل تقاطع قرار دارد. پس از یافتن سلول، یک بایت داده از آن واکشی می شود.

    حافظه دسترسی تصادفی استاتیک(SRAM، حافظه دسترسی تصادفی استاتیک) - حافظه دسترسی تصادفی نیمه هادی که در آن هر بیت باینری یا سه تایی در یک مدار بازخورد مثبت ذخیره می شود که به شما امکان می دهد وضعیت سیگنال را بدون بازنویسی ثابت مورد نیاز در حافظه پویا (DRAM) حفظ کنید. با این حال، SRAM فقط می تواند داده ها را بدون بازنویسی در زمانی که برق وجود دارد ذخیره کند، به این معنی که SRAM یک نوع حافظه فرار باقی می ماند. دسترسی تصادفی (RAM - حافظه دسترسی تصادفی) - امکان انتخاب برای نوشتن / خواندن هر یک از بیت ها (تریت ها) (بیشتر بایت ها (ویژگی ها) بستگی به ویژگی های طراحی دارد)، بر خلاف حافظه دسترسی متوالی (SAM - متوالی) دسترسی به حافظه).

    SRAM باینری

    برنج. 1.

    یک سلول حافظه باینری استاتیک معمولی (فلیپ فلاپ باینری) مبتنی بر فناوری CMOS شامل دو اینورتر است که به صورت متقاطع (در یک حلقه) و ترانزیستورهای کلیدی متصل شده اند تا دسترسی به سلول را فراهم کنند (شکل 1.). مقاومت های پلی سیلیکون اغلب به عنوان بار برای افزایش چگالی بسته بندی عناصر روی یک تراشه استفاده می شود. عیب این راه حل رشد مصرف برق ساکن است.

    Line WL (Word Line) دو ترانزیستور دسترسی را هدایت می کند. خطوط BL و BL (Bit Line) خطوط بیتی هستند که هم برای نوشتن داده و هم برای خواندن داده استفاده می شوند.

    رکورد. هنگامی که یک "0" به خط BL یا BL اعمال می شود، جفت ترانزیستور (M5 و M1) و (M6 و M3) به صورت موازی مدارهای منطقی 2OR متصل می شوند، منبع بعدی یک "1" به خط WL باز می شود. ترانزیستور M5 یا M6 که منجر به سوئیچینگ فلیپ فلاپ مربوطه می شود.

    خواندن. هنگامی که "1" روی خط WL اعمال می شود، ترانزیستورهای M5 و M6 باز می شوند، سطوح ثبت شده در ماشه روی خطوط BL و BL تنظیم می شوند و وارد مدارهای خواندن می شوند.

    سلول SRAM باینری هشت ترانزیستوری در توضیح داده شده است.

    سوئیچینگ فلیپ فلاپ ها از طریق ترانزیستورهای دسترسی یک تابع منطقی ضمنی سوئیچینگ اولویت است که به شکل صریح، برای فلیپ فلاپ های باینری، بر اساس عناصر منطقی دو ورودی 2OR-NOT یا 2AND-NOT است. مدار سلول سوئیچینگ صریح یک فلیپ فلاپ RS معمولی است. با یک طرح سوئیچینگ صریح، خطوط خواندن و نوشتن از هم جدا می شوند، نیازی به ترانزیستورهای دسترسی نیست (2 ترانزیستور در هر سلول)، اما ترانزیستورهای دو دروازه در خود سلول مورد نیاز هستند.

    در حال حاضر، یک مدار بهبود یافته ظاهر شده است (!) با یک بازخورد قابل تعویض توسط سیگنال نوشتن، که نیازی به ترانزیستور بار ندارد و بر این اساس، از مصرف انرژی بالا در هنگام ضبط در امان است.

    سه تایی SRAM

    برنج. 2. پروژه SRAM سه رقمی روی فلیپ فلاپ سه رقمی تک ارزشی

    یک عنصر منطقی 2OR-NOT شامل دو ترانزیستور دو دروازه، سه ترانزیستور از شش، به علاوه سه ترانزیستور دسترسی، در مجموع - نه ترانزیستور در هر سلول حافظه سه بیتی است.

    مزایای

    · سریعدسترسی داشته باشید. SRAM یک حافظه واقعی با دسترسی تصادفی است، دسترسی به هر مکان حافظه در هر زمان به همان مقدار زمان نیاز دارد.

    · مدار ساده -- SRAM به کنترل کننده های پیچیده نیاز ندارد.

    فرکانس های همگام سازی بسیار پایین تا توقف کامل پالس های همگام سازی امکان پذیر است.

    ایرادات

    · بالامصرف انرژی.

    · چگالی ضبط کم (شش عنصر در هر بیت، به جای دو عنصر برای DRAM).

    · در نتیجه هزینه بالای یک کیلوبایت حافظه.

    با این حال، مصرف انرژی بالا یک ویژگی اساسی SRAM نیست، بلکه به دلیل نرخ بالای تبادل با این نوع حافظه پردازنده داخلی است. انرژی تنها زمانی مصرف می شود که اطلاعات موجود در سلول SRAM تغییر کند.

    کاربرد

    SRAM در میکروکنترلرها و FPGA ها استفاده می شود که در آن ها مقدار RAM کم است (چند کیلوبایت)، اما مصرف انرژی کم مورد نیاز است (به دلیل عدم وجود کنترلر حافظه پویا پیچیده)، زمان کار زیربرنامه ها در حدود یک پیش بینی شده است. چرخه ساعت و اشکال زدایی مستقیم روی دستگاه.

    در دستگاه هایی با مقدار رم زیاد، حافظه کاری به صورت DRAM اجرا می شود. SRAM توسط رجیسترها و حافظه کش ساخته می شود.

    DRAM (حافظه دسترسی تصادفی پویا)- نوعی حافظه دسترسی تصادفی نیمه هادی فرار (RAM)، همچنین یک دستگاه ذخیره سازی، که به طور گسترده به عنوان RAM در رایانه های مدرن استفاده می شود.

    از نظر فیزیکی، حافظه DRAM شامل سلول هایی است که در یک ماده نیمه هادی ایجاد شده اند که هر کدام می توانند مقدار معینی از داده ها را از 1 تا 4 بیت ذخیره کنند. مجموعه سلول های چنین حافظه ای یک "مستطیل" مشروط را تشکیل می دهند که از تعداد مشخصی ردیف و ستون تشکیل شده است. یکی از این مستطیل ها صفحه و مجموعه صفحات بانک نامیده می شود. کل مجموعه سلول ها به طور مشروط به چندین ناحیه تقسیم می شود.

    به عنوان یک وسیله ذخیره سازی، حافظه DRAM یک ماژول از ساختارهای مختلف است که شامل یک برد الکتریکی است که تراشه های حافظه روی آن قرار دارند و یک رابط لازم برای اتصال ماژول به مادربرد.


    برنج. 3. شکل. 3.1

    از نظر فیزیکی، حافظه DRAM مجموعه ای از سلول های حافظه است که از خازن ها و ترانزیستورها در داخل تراشه های حافظه نیمه هادی قرار دارند.

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

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

    بازسازی

    برخلاف حافظه با دسترسی تصادفی استاتیک (SRAM) که از نظر ساختاری یک نوع حافظه پیچیده‌تر و گران‌تر است و عمدتاً در حافظه نهان استفاده می‌شود، حافظه DRAM بر اساس خازن‌های کوچکی ساخته می‌شود که به سرعت شارژ را از دست می‌دهند، بنابراین اطلاعات باید به روز شوند. در فواصل زمانی منظم برای جلوگیری از از دست رفتن داده ها. به این فرآیند بازسازی حافظه می گویند. توسط یک کنترلر مخصوص نصب شده روی مادربرد یا روی تراشه CPU اجرا می شود. در یک دوره زمانی به نام مرحله بازسازی، یک ردیف کامل از سلول ها در DRAM بازنویسی می شود و پس از 8-64 میلی ثانیه، تمام ردیف های حافظه به روز می شوند.

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

    حافظه پنهان ماشه کامپیوتر

    باعث می شود

    ماشه (سیستم ماشه) - دسته ای از دستگاه های الکترونیکی که توانایی ماندن در یکی از دو یا چند حالت پایدار را برای مدت طولانی دارند و آنها را تحت تأثیر سیگنال های خارجی متناوب می کنند. هر حالت ماشه به راحتی با مقدار ولتاژ خروجی تشخیص داده می شود.

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

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