کنترلگر حافظه یک مدار دیجیتالی است که جریان حرکت داده را به حافظه اصلی و برعکس کنترل می‌کند؛ که می‌تواند یک تراشهٔ مجزا یا اضافه شده به تراشهٔ دیگری باشد. مانند یک die(قالب) از میکروپروسسور؛ که تراشهٔ کنترلگر حافظه نیز نامیده می‌شود(MMC)
کامپیوترهایی که از میکروپروسسورهای اینتل استفاده می‌کنند به‌طور مرسوم کنترلگر حافظه‌ای دارند که روی اتصال شمالی مادربوردشان طراحی شده‌است. بسیاری از میکروپروسسورهای مدرن مثل آلفا ۲۱۳۶DEC/Compaq، آلتئن ۶۴AMDو پردازنده‌های آبترون، IBM’s POWER5, Sun Microsystems's UltraSPARC T۱، و اکثر ۷هسته ای‌های جدید اینتل یک کنترلگر حافظهٔ ترکیب شده روی قالب میکروپروسسور دارند که از پوشیدگی حافظه جلوگیری به عمل می‌آورد. با اینکه توانایی بالا بردن کارایی سیستم را دارد، میکروپروسسور را درگیر نوع (یا انواع) خاصی از حافظه می‌کند؛ که این یک طراحی مجدد برای پشتیبانی از تکنولوژی‌های جدید تر حافظه را لازم می‌نماید. زمانی‌که DDR2 SDRAM معرفی شد، AMD سی پی یوهای جدید اتلون ۶۴ را به بازار عرضه کرد. این مدل‌های جدید، با یک کنترلگر DDR۲ از یک سوکت فیزیکی متفاوت استفاده می‌کنند (که با عنوان سوکت AM۲ شناخته می‌شود). بنابراین آن‌ها فقط در مادربوردهایی که برای نوع جدید RAM طراحی شده‌اند جایگذاری می‌شوند. وقتی که کنترلگر حافظه روی قالب نیست، همان سی پی یو روی یک مادربورد جدید با یک اتصال شمالی به روزرسانی شده نصب خواهد شد.
تجمع کنترلگر حافظه روی قالب میکروپروسسور یک ایدهٔ جدید نیست. برخی میکروپروسسورهای دههٔ ۱۹۹۰ مثل آلفا ۲۱۰۶۶ DEC و PA-7300LC HP کنترلگر حافظه‌های تجمع یافته داشتند اما برای افزایش کارایی، این طراحی شد تا هزینهٔ سیستم‌ها را با برطرف کردن نیاز به یک کنترلگر حافظهٔ خارجی کاهش دهد.

هدف
---

کنترلگرهای حافظه شامل منطق اجباری برای خواندن و نوشتن در DRAM، و تجدید حافظه کردن DRAM از طریق ارسال جریان در تمام دستگاه می‌باشند. بدون تجدید حافظه کردن پیوسته ،DRAM داده‌هایی را که روی آن نوشته شده‌است را توسط تخلیه شارژ خازن‌ها در کسری از ثانیه از دست خواهد داد. (نه کمتر از ۶۴ میلی‌ثانیه بر اساس استانداردهای JEDEC)
خواندن و نوشتن در DRAM توسط انتخاب آدرس سطر و ستون دادهٔ DRAM به عنوان ورودی‌های مدار مالتی پلکسر صورت می‌گیرد و دی مالتی پلکسر ورودی‌های تغییر یافته را برای انتخاب مکان صحیح حافظه استفاده می‌کند و داده را برمی‌گرداند که پس از آن از طریق مالتی پلکسر برگردانده می‌شود تا داده‌ها ادغام شوند تا نیاز به پهنای باس برای این عملیات را کاهش دهد.
پهنای باس عبارت است از تعداد خطوط موازی موجود برای ارتباط برقرار کردن با سلول حافظه. بازهٔ پهنای باس کنترلگر حافظه در سیستم‌های جدیدتر از ۸ بیت تا ۵۱۲ بیت در بیشتر سیستم‌های پیچیده و کارت‌های ویدئو می‌باشد (عموماً به‌گونه‌ای طراحی شده‌اند که ۴ عدد کنترلگر حافظهٔ شبیه‌سازی شدهٔ ۶۴ بیت به صورت موازی عمل می‌کنند، گویی برخی برای عمل کردن در حالت گنگ طراحی شده‌اند جاییکه ۲ تا کنترلگر حافظهٔ ۶۴ تایی می‌توانند برای دسترسی به یک دستگاه حافظه ۱۲۸ بیتی به کار برده شوند.

حافظه نرخ دادهٔ مضاعف
---------------------

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

حافظه دو کاناله
---------------

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

حافظه‌های کاملاً بافر شده
-------------------------

در این سیستم‌ها یک بافر حافظه روی هر ماژول حافظه قرار می‌دهند (زمانیکه حافظهٔ تمام بافر استفاده شده باشد FB-DIMM نامیده می‌شود) که بر خلاف دستگاه‌های قدیمی کنترلر حافظه از یک خظ سریال داده به کنترلر حافظه به جای خظ موازی ای که در طراحی‌های قبلی RAM استفاده می‌شد استفاده می‌شود.
این کار تعداد سیم‌های مورد نیاز برای جایگذاری کردن دستگاه‌های حافظه روی مادربورد را با هزینهٔ افزایش تأخیر زمانی (زمان لازم برای دستیابی به یک مکان حافظه) کاهش می‌دهد (با استفاده از لایه‌های کوچکتر، که در نتیجه تعداد بیشتری دستگاه‌های حافظه می‌توانند روی یک برد مجزا جایگذاری شوند). این افزایش بر اساس زمان موردنیاز برای تبدیل اطلاعات موازی خوانده شده از DRAM به فرمت سریال استفاده شده توسط کنترلر FB-DIMM و برگشتن به فرمت موازی در کنترلگر حافظهٔ روی مادربورد می‌باشد. در تئوری، دستگاه بافر حافظهٔ FB-DIMM می‌تواند برای دستیابی به هر سلول DRAM ساخته شود اما این روش توزیع نشده‌است چرا که در دوران نوزادی خودش می‌باشد.

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

* گذرگاه حافظه

منابع
-----

1. ↑  ویکی‌پدیای انگلیسی

پیوند به بیرون
--------------


| * ن
* ب
* و
فناوری‌های واحد پردازش مرکزی |
| --- |
| مدل‌های محاسبه | 
* ماشین تورینگ
	+ ماشین محاسبه تورینگ
	+ ماشین پست-تورینگ
	+ ماشین تورینگ کوانتومی
* Belt machine
* ماشین پشته‌ای
* ماشین حالات متناهی
	+ with datapath
	+ ماشین حالت یو.ام.ال
	+ ماشین صف
* Register machines
	+ Counter
	+ Pointer
	+ Random-access
	+ ماشین برنامه ذخیره‌شده با دسترسی تصادفی

 |
| معماری رایانه | 
* ریزمعماری
* معماری فون نویمان
* معماری هاروارد
	+ modified
* معماری جریان داده
* Transport-triggered
* Cellular
* اندیان
* ذخیره‌سازی داده رایانه
	+ حافظه دسترسی غیریکپارچه
	+ HUMA
	+ Load/store
	+ معماری حافظه ثبات
* Cache hierarchy
* سلسله‌مراتب حافظه
	+ حافظه مجازی
	+ ذخیره‌سازی داده رایانه
* Heterogeneous
* Fabric
* چندپردازشی
* رایانش شناختی
* نورومورفیک

 |
| مجموعه دستورالعملs | 

|  |  |
| --- | --- |
| Types | 
* رایانه با دستورهای پیچیده
* رایانه کم‌دستور
* Application-specific
* EDGE
	+ TRIPS
* کلمه دستورالعمل بسیار طولانی
	+ رایانش موازی صریح دستورالعمل‌ها
* MISC
* OISC
* NISC
* ZISC
* comparison
	+ حالت آدرس‌دهیs

 |

* اکس۸۶
* معماری آرم
* معماری میپس
* Power ISA
* اسپارک
* Itanium
* Unicore
* MicroBlaze
* RISC-V
* others
 |
| Execution | 

|  |  |
| --- | --- |
| خط لوله (رایانه) | 
* حباب (رایانه)
* Operand forwarding
* Classic RISC pipeline

 |
| مخاطره (معماری رایانه)s | 
* وابستگی داده
* مخاطره (معماری رایانه)
* مخاطره (معماری رایانه)
* False sharing

 |
| خروج از دستور در حال اجرا | 
* Tomasulo algorithm
	+ Reservation station
	+ Re-order buffer
* تغییر نام ثبات

 |
| Speculative | 
* پیش‌بینی‌کننده پرش
* Memory dependence prediction

 |

 |
| رایانش موازی | 

|  |  |
| --- | --- |
| Level | 
* موازی‌سازی بیتی
	+ Bit-serial
	+ کلمه (معماری رایانه)
* دستورالعمل
* خط لوله (رایانه)
	+ Scalar
	+ سوپراسکالر
* Task
	+ ریسه (رایانه)
	+ فرایند (رایانه)
* Data
	+ پردازنده برداری
* Memory
* رایانش توزیع‌شده

 |
| چندریسمانی | 
* چندرشته زمانی
* چندرشتگی همزمان
	+ فراریسمانی
* Speculative
* قبضه‌کردن (رایانش)
* چند وظیفه‌ای بدون قبضه‌ای

 |
| طبقه‌بندی فلین | 
* یک دستور یک داده
* یک دستور چند داده
	+ SWAR
* SIMT
* چند دستور یک داده
* چند دستور چند داده
	+ یک برنامه چند داده

 |

 |
| Processorperformance | 
* Transistor count
* Instructions per cycle (IPC)
	+ Cycles per instruction (CPI)
* Instructions per second (IPS)
* فلاپس (FLOPS)
* تراکنش بر ثانیه (TPS)
* Synaptic updates per second (SUPS)
* Performance per watt (PPW)
* Cache performance metrics
* Computer performance by orders of magnitude

 |
| Types | 
* واحد پردازش مرکزی (CPU)
* واحد پردازش گرافیکی (GPU)
	+ محاسبات همه‌منظوره بر روی واحد پردازش گرافیکی
* پردازنده برداری
* Barrel
* پردازش جریان
* Coprocessor
* مدارهای مجتمع با کاربرد خاص
* مدار مجتمع دیجیتال برنامه‌پذیر
* CPLD
* Multi-chip module (MCM)
* System in package (SiP)

|  |  |
| --- | --- |
| By application | 
* ریزپردازنده
* ریزکنترل‌گر
* Mobile
* Notebook
* Ultra-low-voltage
* ASIP

 |
| Systemson chip | 
* سامانه روی یک تراشه (SoC)
* Multiprocessor (MPSoC)
* Programmable (PSoC)
* شبکه درون یک تراشه (NoC)

 |
| شتاب‌دهنده سخت‌افزاری | 
* AI accelerator
* Vision processing unit (VPU)
* Physics processing unit (PPU)
* پردازشگر سیگنال دیجیتال (DSP)
* واحد پردازشی تنسور (TPU)
* Secure cryptoprocessor
* پردازنده‌های شبکه‌ای
* Baseband processor

 |

 |
| کلمه (معماری رایانه) | 
* معماری ۱-بیتی
* بیت برش
* ۴-بیت
* ۸ بیتی
* ۱۶ بیتی
* ۳۲-بیت
* 48-bit
* 64-bit
* ۱۲۸-بیت
* 256-bit
* 512-bit
* کلمه (معماری رایانه)
	+ کلمه (معماری رایانه)

 |
| Core count | 
* Single-core
* پردازنده چندهسته‌ای
* Manycore
* Heterogeneous architecture

 |
| اجزاء | 
* واحد پردازش مرکزی
* حافظه نهان (رایانش)
	+ حافظه نهان سی‌پی‌یو
	+ الگوریتم حافظه پنهان
	+ انسجام حافظه نهان
* گذرگاه (رایانه)
* سرعت ریزپردازنده
* سیگنال ساعت
* خروج به ترتیب ورود (رایانه و الکترونیک)

|  |  |
| --- | --- |
| Functional units | 
* واحد محاسبه و منطق (ALU)
* Address generation unit (AGU)
* واحد ممیز شناور (FPU)
* واحد مدیریت حافظه (MMU)
	+ Load–store unit
	+ تی‌ال‌بی (TLB)
* کنترلگر حافظه (IMC)

 |
| دروازه منطقی | 
* مدار ترکیبی
* مدارهای ترتیبی
* Glue
* دروازه منطقی
	+ دروازه‌های منطقی کوانتومی
	+ دروازه آرایه

 |
| ثبت سخت‌افزاریs | 
* ثبات
* ثبات وضعیت
* ثبات پشته‌ای
* Register file
* Memory buffer
* شمارنده برنامه

 |
| Control unit | 
* Instruction unit
* حافظه میانگیر
* Write buffer
* ریزبرنامه‌سازی تصویر رام
* شمارنده

 |
| دیتاپد | 
* تسهیم‌کننده
* تسهیم‌کننده
* جمع‌کننده
* ضرب‌کننده دودویی
	+ پردازنده چندبرابر
* رمزگشا
	+ Address decoder
	+ Sum addressed decoder
* شیفت دهنده بشکه‌ای

 |
| مدار الکترونیکی | 
* مدار مجتمع
	+ 3D
	+ Mixed-signal
	+ Power management
* مدار بولی
* الکترونیک دیجیتال
* الکترونیک آنالوگ
* Quantum
* کلید (مدار)

 |

 |
| مدیریت نیرو | 
* PMU
* APM
* رابط قدرت و تنظیمات پیشرفته
* درجه‌بندی پویای بسامد
* Dynamic voltage scaling
* Clock gating
* Performance per watt (PPW)
* Race to sleep

 |
| مرتبط | 
* History of general-purpose CPUs
* Microprocessor chronology
* طراحی پردازنده
* الکترونیک دیجیتال
* ماژول امنیتی سخت‌افزاری
* Semiconductor device fabrication
* Tick–tock model

 |