الفرق بين السجلات والذاكرة Registers vs Memory

اقرأ في هذا المقال


ما فائدة السجلات والذاكرة في تشغيل وحدة المعالجة المركزية؟

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

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

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

ما هي وحدة المعالجة المركزية CPU؟

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

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

تعريف السجلات Registers:

السجل هو أحد العناصر الرئيسية الموجودة داخل وحدة المعالجة المركزية المستخدمة لغرض تخزين المعاملات والتعليمات / البرامج المتعلقة بالاستخدام الحالي للمعالج، داخل المعالج، توجد بعض السجلات في جانب العنوان بينما يوجد بعضها في جانب البيانات، باستخدام النواقل (buses) الداخلية، تشكل السجلات المختلفة اتصالات مع بعضها البعض، يتم تكوين السجلات من خلال مجموعة من المزالج (latches) من النوع (D) حيث تشترك جميعها في إدخال ساعة مشترك وتوفر هذه المجموعة مساحة تخزين مؤقتة داخل وحدة المعالجة المركزية نفسها.

أنواع بعض السجلات:

  • (PC) (Program Counter): برنامج عداد يستخدم لتخزين عنوان التعليمات القادمة في قائمة الانتظار التي سيتم جلبها من الذاكرة.
  • (IR) (Instruction register): يخزن سجل التعليمات التعليمات التي تمّ جلبها مؤخرًا.
  • (MDR) (Memory Data register): يستخدم سجل بيانات الذاكرة لتخزين البيانات التي تتم قراءتها أو كتابتها في الموقع المحدد في الذاكرة الرئيسية.
  • (AC) (Accumulator): هو سجل يخزن نتائج التعليمات الحسابية والمنطقية المختلفة.
  • (MAR) (Memory Address Register): يقوم سجل عنوان الذاكرة بتخزين عنوان الذاكرة الرئيسية حيث يلزم جلب البيانات.
  • (General Purpose Registers): سجلات الأغراض العامة تحتوي على البيانات المؤقتة المتعلقة بالتنفيذ الحالي.
  • (Condition Code Register): سجل حالة الكود يحتوي على العديد من الأعلام (flags) التي تعرض معلومات حالة تنفيذ البرنامج.

تعريف الذاكرة Memory:

تتكون الذاكرة التي تسمّى أحيانًا الذاكرة الأوليّة (primary memory) من “ذاكرة الوصول العشوائي” (random access memory)، وتُستخدم لتخزين البيانات والبرامج وهي ذات طبيعة متطايرة، هذه بمثابة الذاكرة الرئيسية للنظام ولا توجد داخل وحدة المعالجة المركزية ولكنّها موجودة على اللوحة الأم ولكنّها تشكل اتصالاً بوحدة المعالجة المركزية باستخدام النواقل.

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

عندما يكون لدى النظام ذاكرة رئيسية أقل، يتم استخدام موارد ذاكرة إضافية من خلال دمج محركات الأقراص الثابتة، ومع ذلك، فإنّ هذا يؤدي إلى تباطؤ الأداء العام للنظام.

الفرق بين السجلات والذاكرة Registers vs Memory:

أساس المقارنةالسجل (Register)الذاكرة (Memory)
التعريفوحدة لتخزين البيانات والتعليمات التي يتم تنفيذها حاليًا بواسطة وحدة المعالجة المركزية.وحدة لتخزين البيانات والتعليمات التي تصل إليها وحدة المعالجة المركزية لعمليات تنفيذ البرامج المختلفة.
الموقعداخل وحدة المعالجة المركزية (CPU).خارج وحدة المعالجة المركزية (CPU).
يقاس حجم التخزين بـالبت (Bits).الكيلوبايت، الجيجا بايت، وغيرها.
سرعة جلب البياناتأكبرنسبيًا أقل.
سعة التخزينصغيرةكبيرة نسبيًا.
القدرة على التحكمتوجدلا وجود لها.
إمكانية الوصول عن طريق (CPU)مباشرةعبر السجل.
أمثلةعداد البرنامج، سجل التعليمات، سجل العنوان، سجل البيانات، المجمع، وغيرها.الذاكرة الأساسية أو ذاكرة الوصول العشوائي (RAM).

الاختلافات الرئيسية بين السجلات والذاكرة:

  • يتم استخدام كل من السجل والذاكرة لتخزين البيانات والتعليمات، ومع ذلك، فإنّ العامل الرئيسي للتمييز بين الاثنين هو أنّ السجل يوفر إمكانية وصول أسرع إلى المحتوى مقارنة بالذاكرة، لهذا السبب، في دورة ساعة واحدة، يقوم المعالج بتنفيذ تعليمات متعددة داخل السجل وهو أمر غير ممكن مع الذاكرة.
  • حجم التخزين الذي توفره السجلات هو بشكل عام (32) إلى (64) بت أصغر نسبيًا من الذاكرة التي توفر أحجامًا تتراوح بين كيلو بايت إلى تيرا بايت.
  • توجد السجلات داخل وحدة المعالجة المركزية بينما توجد الذاكرة خارج وحدة المعالجة المركزية، وبالتالي يتم استرداد المعاملات والتعليمات بسرعة من السجلات بدلاً من الذاكرة.
  • تصل وحدة المعالجة المركزية مباشرة إلى السجل أثناء تنفيذ البرنامج بينما يتم الوصول إلى الذاكرة بواسطة المعالج باستخدام السجل.
  • تقدم السجلات قدرة المستخدم على التحكم في محتواها بينما البيانات والتعليمات الموجودة في الذاكرة ذات طبيعة لا يمكن السيطرة عليها.
  • الأمثلة المختلفة للسجلات هي المجمع (accumulator)، عداد البرنامج (program counter)، مؤشر المكدس (stack pointer)، سجل التعليمات (instruction register)، وغيرها، بينما ذاكرة الوصول العشوائي، المعروفة باسم الذاكرة الأولية ، هي الذاكرة الرئيسية التي تحدثنا عنها.

كيف تعمل السجلات والذاكرة معًا؟

معمارية الكمبيوتر ليست معقدة بقدر ما نعتقد، في التمثيل المعماري البسيط لنظام كمبيوتر يتكون من وحدة المعالجة المركزية والذاكرة الرئيسية:

يتم استخدام السجل داخل وحدة المعالجة المركزية بهدف استرداد البيانات بسرعة لغرض التنفيذ الحالي لوحدة المعالجة المركزية (CPU)، تقوم ذاكرة الوصول العشوائي (RAM) أيضًا بتخزين البيانات والتعليمات ويمكن الوصول إلى بياناتها بشكل أسرع نسبيًا من محركات الأقراص الثابتة، ولكن من أجل المعالجة الفعّالة.

تحتفظ وحدة المعالجة المركزية (CPU) بمواقع الذاكرة داخلها والتي يطلق عليها اسم السجل الذي يسترد تلك البيانات والتعليمات من ذاكرة الوصول العشوائي التي قد تتطلبها وحدة المعالجة المركزية لمزيد من التنفيذ، بشكل أساسي، تعمل وحدة المعالجة المركزية في ثلاث مراحل:

  • الجلب (Fetch).
  • فك التشفير (Decode).
  • التنفيذ (Execute).

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


شارك المقالة: