Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

المسجلات مقابل الذاكرة

جزء من قسم الأساسيات في رحلة Assembly على Coddy — الدرس 3 من 45.

لقد تعلمت الآن عن مكانين يمكن أن تتواجد فيهما البيانات داخل الكمبيوتر:

  • المسجلات (Registers) — صناديق تخزين صغيرة داخل وحدة المعالجة المركزية (CPU)
  • الذاكرة (RAM) — شبكة عملاقة من الفتحات المرقمة خارج وحدة المعالجة المركزية (CPU)

ولكن لماذا يوجد مكانان؟ ولماذا لا تستطيع وحدة المعالجة المركزية (CPU) العمل مباشرة مع الذاكرة؟

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

مقارنة جنباً إلى جنب:

الميزةالمسجلات (Registers)الذاكرة (RAM)
الموقعداخل وحدة المعالجة المركزية (CPU)خارج وحدة المعالجة المركزية (CPU)
السرعةسريعة للغاية (دورة واحدة)أبطأ (دورات عديدة)
عدد فتحات التخزينقليلة جداً (16-32 على x86-64)الملايين أو المليارات
حجم كل فتحة8 بايت (64 بت)1 بايت
كيفية الوصول إليهابالاسم (rax، rbx، rcx...)بالعنوان (1000، msg، buffer)
متطايرة؟نعم (تختفي عند انقطاع التيار الكهربائي)نعم (تختفي عند انقطاع التيار الكهربائي)

القاعدة الأكثر أهمية في لغة التجميع (Assembly):

لا يمكن لوحدة المعالجة المركزية (CPU) العمل مباشرة مع البيانات الموجودة في الذاكرة. يجب تحميل البيانات في السجلات (registers) أولاً.

هذا ليس اختيارياً. هكذا تم تصميم وحدة المعالجة المركزية (CPU). كل عملية جمع، وكل مقارنة، وكل نقل للبيانات يجب أن يمر عبر سجل (register).

النمط المكون من ثلاث خطوات الذي ستستخدمه باستمرار:

الخطوةماذا يحدثمثال
1. LOAD (تحميل)نسخ البيانات من الذاكرة إلى السجل (register)mov rax, [count]
2. WORK (عمل)القيام بشيء ما باستخدام السجلadd rax, 5
3. STORE (تخزين)نسخ النتيجة مرة أخرى إلى الذاكرة (إذا لزم الأمر)mov [result], rax

ماذا يحدث إذا نسيت هذه القاعدة؟

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

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات