هذا الموضوع تابع بشكل ما إلى سلسلة كيف يعمل المعالج ولكني فضلت وضعه في جزء منفصل كي أحافظ على استقلال توجه السلسلة اليوم سنتحدث عن طريقة تكوين الذواكر و أنواعها ولكن ما هي الذاكرة

في البداية،الذاكرة من وجهة نظر بنية الحاسب تدل على أي جزء عتادي "إلكتروني أو ميكانيكي" قادر على الحفاظ على المعلومة المخزنة فيه مدة محددة و معلومة, فبمجرد قدرة هذا الجزء على تذكر الرقم أو القيمة التي اسندت إليه و إعادتها في أي لحظة نريد ضمن المدة المحددة لعملها.

تقسيم الذواكر حسب مواصفاتها:


المقصود هنا قدرة الذاكرة على الاحتفاظ بالمعلومات عند انقطاع  التيار الكهربائي عنها فذواكرNonvolatile  تحتفظ بقيمتها لمدة طويلة جدا وقد تكون هذه المدة غير محدودة حتى و بدون تيار كهربائي كالذاكرة ROM التي تحتوي برنامج الBios في اللوحة الأم و كمثال على الذواكر ذات المدة المحدودة هناك ذواكر Flash المكونة لأقراص الSSD ،أما ذواكر الVolatile فتفقد كل  المعلومات التي تحتويها فور انقطاع التغذية عنها كما هو الحال في ذواكر الRAM أو الذاكرة المخبئية Cache أو الذواكر Buffer التي نصادفها في الأقراص الصلبة.

2- حسب حالة البيانات داخل هذه الذاكرة:


هناك العديد من أنواع الذواكر ولكل نوع بينة خاصة به وهذه البنية هي من تحدد موقع بيانات الذاكرة من الإعراب فإما أن تكون البيانات للقراءة فقط أو يمكن أن تمسح و تعاد كتابة الذاكرة من جديد و بشكل كلي فقط أو يمكن الوصول إلى أي خانة من الذاكرة و تعديلها ولكن هناك سؤال؟كيف تكتب البيانات في حال كانت الذاكرة للقراءة فقط ؟في الحقيقة هناك إحدى الطريقتين أما أن يتم وضع البيانات على الذاكرة أثناء تصنيعها "أي أن الذاكرة تصنع لمعومات معينة موجودة عليها و الغرض من هذه الذاكرة هو احتوائها على هذه القيم " كذواكر الROM القديمة أو أن الذاكرة قابلة للبرمجة مرة واحدة فقط فتصنع الذاكرة على شكل حجرات فارغة و يتم الكتابة عليها مرة واحدة فقط كذواكر PROM

3- حسب طريقة الوصول إلى البيانات في الذاكرة:


وهنا لدينا حالتين إما وصول مباشر فبمجرد وصول العنوان إلى الذاكرة يتم ومن خلال مرحلة فك تشفير واحدة الوصول إلى الهدف و الحصول على القيمة المخزنة في هذا الموقع كما في ذواكر EPROM أو أن يكون الوصول غير مباشرا عن طريق عدد من دارات فك التشفير كما في الDynamic RAM.

4-حسب حالة البيانات أثناء تغذية الذاكرة:


هنا لدينا أحد الوضعين الأول أن تحافظ الذاكرة على المعلومات التي اختزنتها ما دامت موصولة مع التغذية "طبعا هنا الحديث فقط عن ذواكرVolatile  " و تسمى هذه الذواكر بالStatic أو أنها تفقد المعلومات بشكل تلقائي و للحفاظ على المعلومات بداخلها يجب عمل تحديث دائم لهذه الذاكرة Refresh وهذا النوع من الذواكر يسمى الDynamic.

5- حسب واجهة الذاكرة :


وهي تقسم إلى نوعين أساسين وهو إما  تفرعي أو تسلسلي و طبعا الواجهة التفرعية أسرع ولكنها تشغل حيزا أكبر و تحتاج إلى عدد كبير من الموصلات لنقل العناوين و البيانات أما التسلسلية فهي تتميز بصغر حجمها و استهلاك أقل للطاقة الكهربائية و حاليا تم استبدال شرائح الذاكرة التي يحمل عليها الBios بشرائح تسلسلية ،وهناك أيضا نقطة يجب الانتباه إليها أن الواجهة نفسها بغض النظر عن نوعها تكون على نوعين فهي إما تزامنيه synchronous أو  غير تزامنيه Asynchronous و طبعا الذواكر المتزامنة تسمح بسرعات اكبر ولن أخوض الأن في هذه النقطة فلها موضوع خاص إن شاء الله.

 

المصطلحات الخاصة بالذواكر


1-المحل الذاكري أو الموقع الذاكري :

وهو عبارة عن مجموعة من الخلايا التي يخزن فيها العدد الثنائي "إما 0 أو 1" وعدد هذه الخلايا يكون ثابت في كل ذاكرة فمثلا بعض الذواكر تكون فيها كل موقع عبارة عن 8 حجرات أي تتسع لثمان بتات bits 8 أي واحد بايت Byte  وهو ما يسمى عرض الذاكرة.

2-عنوان الذاكرة:

وهو عبارة عن رقم يدل على الموقع الذاكري و لكل موقع عنوانه الخاص الذي نحتاجه في عمليات القراءة و الكتابة من و إلى الذاكرة وعدد العناوين التي تملكها الذاكرة يسمى طول الذاكرة.

3-صفحة الذاكرة :

غالبا ما يتم تصميم الذواكر بشكل مربع عوضا عن المستطيل كي تتسع إلى معلومات أكثر في مساحة أقل "بسبب الحاجة إلى دارات فك تشفير أقل تعقيد" لذلك يتم تجميع كل عدد معين من المواقع الذاكرة داخل الذاكرة بحيث تشكل جدول و يصبح الوصول إلى هذه الذاكرة يحتاج إلى معرفة قيمتين هما رقم الصف و رقم العامود و رغم ذلك يبقى للموقع الذاكري عنوان واحد و يتم الحصول على رقم العامود من خلال العنوان نفسه وهنا نحتاج إلى دارات فك تشفير للعنوان "وصول غير مباشر"
مثال بسيط ليوضح هذه الفكرة

 

cpu memory

نلاحظ أن هذه الذاكرة بطول 8 "تملك 8 عناوين من 0 إلى 7" و بعرض 4 بت "في كل حجرة من حجر الذاكرة يوجد رقم مؤلف من 4 بت" وهي عبارة عن ذاكرة بصفحة واحدة "أو عمود واحد" وهي لا تحتاج إلى دارة فك تشفير إضافية

4-سعة الذاكرة :

و هي مساحة الذاكرة الكلية و يمكن الحصول عليها عن طريق ضرب طول الذاكرة بعرضها بعدد صفحاتها

5-كثافة الذاكرة:

وهي حجم الذاكرة التي يمكن أم تتسع إليها واحدة المساحة من الشريحة السيليكونية فعلى سبيل المثال نقول أن الذاكرة A كثافتها 60MB/mm2 و الذاكرة B كثافتها 30MB/mm2 و طبعا يمكن الحصول على ذواكر أكبر سعة من النوع A مقارنة بالذاكرة B و لكن غالبا تكون الذاكرة B أسرع من الذاكرة A.

 

مخطط وصل الذاكرة مع المعالج


بغض النظر عن نوع الذاكرة و حجمها هناك مبدأ واحد لوصل الذاكرة مع المعالج وهو كالتالي

cpu memory

1-ممر العناوين Address Bus : الطريق الذي تسلكه العناوين "عناوين الذاكرة" عندما تنتقل من المعالج إلى الذاكرة (ممر باتجاه واحد).
2-ممر البيانات Data Bus : وهو عبارة عن الخطوط النحاسية التي تسير عبرها القيم المخزنة في الحجرات الذاكرة بين المعالج و الذاكرة "كتابة" أو بين الذاكرة و المعالج "قراءة" (ممر باتجاهين).
3-ممر التحكم Control Bus : وهو المسؤول عن نقل إشارات التحكم "كتحديد العملية قراءة أم كتابة" من المعالج إلى الذاكرة (ممر باتجاه واحد)

 

طريقة الوصول إلى الموقع الذاكري

هناك سببين للوصول إلى العنوان الذاكري و هما إما لقراءة القيمة المخزنة أو لكتابة قيمة جديدة في هذا الموقع،وهناك طريقة واحدة للوصول وهي العنوان و تتم القراءة بحسب التتابع التالي:

  • يقوم المعالج بإرسال العنوان المطلوب الوصول إليه على ممر العناوين Address Bus المتصل بخطوط العنونة الخاصة بالذاكرة
  • يقوم فاك الشيفرة بترجمة هذا العنوان و الوصول إلى الموقع الذاكري المراد الحصول على تعليمات منه
  • يقوم المعالج بإعطاء أمر القراءة للذاكرة من خلال ممر التحكم Control Bus
  • يقوم الموقع الذاكري بإرسال القيمة المختزنة بداخله إلى ممر المعطياتData Bus  و تصل عندها البيانات إلى المعالج

أما الكتابة إلى الذاكرة فتتم بالشكل التالي:

  • يقوم المعالج بإرسال العنوان المطلوب الوصول إليه على ممر العناوين Address Bus المتصل بخطوط العنونة الخاصة بالذاكرة
  • يقوم فاك الشيفرة بترجمة هذا العنوان و الوصول إلى الموقع الذاكري المراد الحصول على تعليمات منه
  • يقوم المعالج بإرسال القيمة المراد كتابتها في الذاكرة إلى ممر البيانات Data Bus
  • يقوم المعالج بإعطاء أمر الكتابة للذاكرة من خلال ممر التحكم Control Bus
  • يقوم الموقع الذاكري بقراءة القيمة الموجودة على خطوط البيانات الخاصة بالذاكرة و يقوم بحفظها بداخله

أنواع الذواكر Nonvolatile

1-الذاكرة المخصصة للقراءة فقط ROM (Read only memory)

وهذه الذواكر تصنع و المعلومات المخزنة موجودة بداخلها و أي تعديل على البيانات فيها بحاجة إلى إعادة تصميم الذاكرة بالكامل و هي أبسط و أقدم أنواع الذواكر

cpu memory

هذه الصورة لذاكرة ROM تم تصميمها عن طريق الثنائي المساري Diode


2-الذاكرة المخصصة للقراءة فقط القابلة للبرمجة PROM (Programmable Read only memory)

أحدث من سابقتها و تسمح ببرمجة الشريحة مرة واحدة و إلى الأبد ولا يمكن التعديل أو حذف محتوياتها مطلقا بعد أن تتم برمجتها

3-الذواكر المخصصة للقراءة فقط القابلة للبرمجة و المسح EPROM (Erasable Programmable Read only memory)

و تتميز هذه الذواكر بإمكانية مسح محتويات الذاكرة بالكامل عن طريق تعريضها للأشعة الفوق بنفسجية UV لمدة معينة "غالبا 30 دقيقة" ثم يصبح من الممكن إعادة برمجتها مرة أخرى وهذه الذواكر تتطلب أن يكون هناك فتحة زجاجية فوق الشريحة كي تسمح بوصول الضوء إليها مما يزيد من تكلفة تصنيعها لذلك تم تصميم بعض أنواع هذه الذواكر بحيث تكون غير قابلة للمسح

cpu memory

الذاكرة EPROM في الأعلى و قابلة للمسح أما في الأسفل فهي لا تقبل المسح بسبب عدم وجود فتحة الQuartz

4-الذواكر المخصصة للقراءة فقط القابلة للبرمجة و المسح كهربائيا EEPROM (Electrically Erasable Programmable Read only memory)

تسمح هذه الذواكر بالتعديل على كل Bit منها بشكل مستقل و مباشر "عن طريقة دارة البرمجة الخاصة بها" مما يعطي إمكانية الكتابة عليها و مسحها بشكل جزئي أو كلي و غالبا ما تأتي بأحجام صغيرة بسبب تعقيد بنيتها الداخلية الشديد

5-ذواكر الFlash

وهي تحسين في بنية ذواكر الEPROM ولكنها تسمح بالقراءة و الكتابة بشكل فوري دون الحاجة إلى تعريضها إلى الضوء أو صرف وقت في عملية المسح أو التكلفة الإضافية في التغليف وهي تقسم إلى عائلتين أساسيتين حسب نوع الدارة المكونة للBit فيها فهي إما NOR أو Nand،ذواكر الNOR تتميز بامتلاكها بنية الوصول العشوائي Random Access Memory أي يمكن الوصول إلى أي موقع فيها بشكل مباشر أما ذواكر الNand فلا تملك هذه الميزة بل تكون على شكل صفحات ويجب الوصول أولا إلى الصفحة المطلوبة "غالبا حجم الصفحة 256 أو 512 بايت" مما يزيد في التعقيد في الوصول إليها و التأخير الزمني للوصول إلى الحجرة المطلوبة ولكن تتميز هذه الذواكر بكثافة أكبر .
بقي علي أن أذكر شيء مهم و هو مسجلات المعالج وهي أحدى أنواع الذواكر و لكنها تكون موجودة داخل المعالج نفسه وهي ذواكر تشبه الRAM ولكنها أسرع بكثير وهي تعمل بتردد المعالج نفسه ولكنها ذات ميزة خاصة وهي أنها تتصل مع الدوائر الالكترونية الموجودة داخل المعالج بشكل مباشر حيث يحتاجها المعالج للقيام بالعمليات الخاصة به فعندما يقوم بقراءة قيمة معينة من الذاكرة  يجب أن يضعها في مسجل داخلي قبل أن يعالجها و القيمة الناتجة عن عملية المعالجة تحفظ في المسجل قبل نقله إلى الذاكرة لذلك يعتبر المسجل هو جزء أساسي من عملية المعالجة و المسجلات لا تميز بالعناوين مثل حجرات الذاكرة إنما بأسماء خاصة بها وذلك وفقا لوظيفتها و غالبا لا يمكن أن يعمل مسجل مكان مسجل أخر على عكس حجرات الذاكر .

بقلم: خير الدين كجان