الرئيسيةبحث

تنظيم الذاكرة

فهرس

مقدمة

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

•و على النقيض تماما فالهارد ديسك أو ما بعرف بالقرص الصلب يمكن التعبير عنه بأنه أحد أنواع الذاكرة و التي بالطبع لا تعتمد على تقنية الكترونية و إنما تعتمد على تقنية مغناطيسية هذه الذاكرة هي من النوع غير المتطاير ( أي لا تفقد معلوماتها عند فصل الطاقة عنها ) و هذا ما دعا إلى بذل المزيد من الجهود في تطوير هذه الأنواع من الذواكر التي تكون قادرة على لعب دور الحافظة الأساسية للمعلومات و بالتالي الحول دون ضياع هذه المعلومات .

هرمية الذاكرة

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

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

الجزئية التالية التي سوف نتحدث عنها تتناول موضوع الذاكرة الستاتيكية ( أو ما يعرف بالكاش )هذه التقنية تُستخدم لتصميم ذاكرة سريعة ولكن ذات سعة صغيرة من أجل تسريع عمل ذاكرة بطيئة (بالمقارنة معها) وذات سعة كبيرة ( الذاكرة الرئيسية ) .

و من الجدير بالذكر أنه عند استخدام نظام الـ Cache ، فإنه يجب علينا فحص الـ Cache لرؤية فيما إذا كان العنصر المطلوب موجوداً فيها، فإن وُجد، عندئذ نسمي هذه الحالة ( Cache Hit ) وإن لم يوجد، فإننا نسمي هذه الحالة ( Cache Miss ) وعلى الحاسب في هذه الحالة طلب العنصر من الذاكرة البطيئة ذات السعة الكبيرة والانتظار لحين جلب هذا العنصر.

النقطة الثالثة التي سنتحدث عنها هي ذاكرة ال RAM هذا الاسم مشتق من Random Access Memory و لربما أن أفضل شرح لهذا المسمى هو الذاكرة التي يمكن الولوج إليها بشكل غير منظم . لشرح كلمة غير منظم يجب أن نشرح كيف يتم تخزين المعلومة في الذاكرة.

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

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

تنظيم الذاكرة

تنظم المعلومات في الذاكرة كما في وحدات الحاسب الأخرى على شكل كلمات و يكون طول الكلمة بشكل عام ثابتاً من أجل حاسب محدد ( و المقصود بطول الكلمة هو عدد البتات المكونة لها ) و تتراوح أطوال كلمات الحاسبات المختلفة بين 8 و 64 و تستطيع الكلمة أن تخزن إما معلومات عددية و إما تعليمة من تعليمات الحاسب .

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

يمكن باستخدام العنوان المناسب تخزين المعلومات في الموقع الذي نريد و لاسترجاع هذه المعلومات عند لزومها يجب استخدام نفس العنوان لتحديد موقعها .

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

يبين الشكل ( 2 ) مخططاً صندوقياً لبنية وحدة الذاكرة . لتخزين المعلومات يسجل عنوان الموقع ( حيث نريد تخزين المعلومات ) في سجل عناوين الذاكرة ( MAR Memory Address Register ) أما المعلومات التي نريد تخزينها فتسجل في مسجل الحجز المؤقت لمعطيات الذاكرة ( MBR Memory Buffer Register ) و عندما تعطى وحدة الذاكرة أمر الخزن على خط التحكم المناسب تنقل المعلومات الموجودة في MBR إلى الموقع المناسب أي :

نقل (R(MBR إلى (M(MAR

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

نقل (M(MAR إلى (M(MBR

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

البنية الداخلية لوحدة الذاكرة

تنظم الذاكرة كما ذكرنا سابقاً على شكل مواقع متتالية و تظهر هذه المواقع على الشكل 2 على شكل خطوط أفقية و يستطيع كل موقع تخزين كلمة واحدة أي عدداً من البتات و يمكن رؤية هذه البتات على الشكل 2 على شكل خطوط شاقولية عند كل نقطة تقاطع خط شاقولي مع خط أفقي يوجد عنصر تخزين من النمط في الشكل 3 .

القراءة و الكتابة

عندما نريد كتابة معلومات في موقع محدد من الذاكرة أو قراءتها منه ينتقل عنوان الموقع المحدد إلى المسجل MAR لينتقل منه بعد ذلك إلى مفكك ترميز( ناخب ) و الذي يقوم عندئذ بانتخاب خط العنوان المناسب ( إذا كان العنوان مؤلفاً من n بت يكون عدد خطوط العنونة الكلي هو 2 أس n ) و بانتخاب هذا الخط تفعل كل عناصر التخزين الموجودة على هذا الخط .

أثناء تعليمة الكتابة تسجل المعلومات المطلوب تخزينها في مسجل معطيات الذاكرة MDR ( Memory Data Register ) و ينقل كل خط من خطوط البتات ( الخطوط الشاقولية على الشكل 2 ) بناً واحداً من المسجل MDR و ذلك عبر المسجل MBR و من بين كل عناصر التخزين الموجودة على خطوط البتات تستطيع تلك الموجودة على خط العنوان المنتخب أن تتلقى المعلومات و تسجلها و بالتالي تتلقى كل العناصر الموجودة على خط العنوان بتات المسجل MBR أي كلمة المعطيات المطلوب تخزينها و بذلك يصبح هذا الموقع حاوياً على المعلومات المطلوبة .

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

العنونة ثنائية البعد

في المخطط السابق يجب أن يكون عدد خطوط العنونة بعدد مواقع الذاكرة الموجودة ، يمكن تبسيط هذا المخطط بتنظيم خطوط العنونة على شكل مصفوفة ثنائية البعد كما في الشكل ( 4 ) و لتبسيط الشكل سنأخذ خطاً واحداً فقط من خطوط البتات الظاهرة على الشكل ( 2 ) . يصبح عندها الموقع معرفاً بعنوانين : العنوان الأفقي X و العنوان الشاقولي Y و يلزم لهذا المخطط استخدام ناخبين كل منهما بطول n/2 بت يقوم كل مفكك ترميز ( ناخب ) بانتخاب خط عنونة محدد مما يؤدي إلى تفعيل الموقع الذي يقع عند تقاطع الخطين x و y .

أثناء تخزين المعلومات يكون خرج مسجل معطيات الذاكرة ( و تحديداً البت المعينة ) متاحاً للقراءة من قبل كل عناصر المصفوفة لكن العنصر الوحيد الذي يستطيع استقبال القيمة و تخزينها هو العنصر الموجود في الموقع المنتخب . كذلك الأمر أثناء استرجاع المعلومات أو قراءتها من الذاكرة ، يستطيع عنصر الموقع المنتخب فقط أن يرسل محتوياته على الخط المناسب لتسجل في حامل البت الموافقة من مسجل معطيات الذاكرة . و بكلمات أخرى تتم العملية بأسلوب مشابه للأسلوب الموصوف في الشكل ( 2 ) .

يقتصر التشكيل المبين في الشكل ( 4 ) على بت واحدة فقط من بتات كلمة الموقع ، لذا يجب تكرار التشكيل نفسه بالنسبة لكل بت من بتات الكلمة ( مع ملاحظة أن مفككي الترميز ( الناخبين ) و الدارات الموافقة يجب أن تكون مشتركة من أجل كل البتات ) و يمكن أن نتخيل تنضيداً لمستويات متراكبة لنحصل على بنية ثلاثية الأبعاد .

يمكن أن نلحظ بوضوح اقتصادية هذا التصميم ثنائي البعد ففي التصميم السابق المبين في الشكل ( 2 ) نحتاج إلى 2 أس n خط عنونة لتمييز 2 أس n موقع ذاكرة ، أما في التصميم ثنائي البعد فتقسم بتات العنوان و عددها n إلى قسمين منفصلين X و Y و يمكن عندئذ انتخاب موقع من بين 2 أس n موقع باستخدام خطوط العنوان في كلا الاتجاهين و يلزم لذلك 2 أس n/2 أو 2 أس n/2 +1 خط عنونة فقط . فإذا كنا نريد استخدام ذاكرة تتسع ل 1024 كلمة يلزمنا فقط 32 خط في كل اتجاه ( أي 64 خط ) بينما يحتاج التصميم السابق ل 1024 خط عنونة .


المراجع