عنوان الذاكرة

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

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

أنواع

العناوين الفعلية

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

العناوين المنطقية

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

وحدة حل العنوان

معظم أجهزة الكمبيوتر الحديثة قابلة للعنونة بالبايتات . يحدد كل عنوان بايتًا واحدًا ( ثمانية بتات ) من التخزين. يمكن تخزين البيانات الأكبر من بايت واحد في سلسلة من العناوين المتتالية. توجد أجهزة كمبيوتر قابلة للعنونة بالكلمات ، حيث تكون وحدة التخزين القابلة للعنونة الدنيا هي كلمة المعالج بالضبط . على سبيل المثال، استخدم الكمبيوتر الصغير Data General Nova ، وأجهزة الكمبيوتر الصغيرة Texas Instruments TMS9900 و National Semiconductor IMP-16 كلمات 16 بت ، وكان هناك العديد من أجهزة الكمبيوتر المركزية ذات 36 بت (على سبيل المثال، PDP-10 ) التي استخدمت عنونة الكلمات 18 بت ، وليس عنونة البايتات ، مما يعطي مساحة عنوان تبلغ 2 18 كلمة 36 بت، أي ما يقرب من 1 ميغا بايت من التخزين. تعتمد كفاءة عنونة الذاكرة على حجم بت الناقل المستخدم للعناوين - فكلما زاد عدد البتات المستخدمة، زاد عدد العناوين المتاحة للكمبيوتر. على سبيل المثال، يمكن لجهاز كمبيوتر ذي 8 بتات مع ناقل عناوين 20 بت (مثل Intel 8086 ) معالجة 2 20 (1,048,576) موقع ذاكرة، أو ميجا بايت واحد من الذاكرة، بينما يعالج ناقل 32 بت (مثل Intel 80386 ) 2 32 (4,294,967,296) موقعًا، أو مساحة عنوان 4 جيجا بايت . على النقيض من ذلك، يعالج جهاز كمبيوتر ذي 36 بتًا مع ناقل عناوين 18 بت 2 18 (262,144) موقعًا 36 بت (9,437,184 بت) فقط، وهو ما يعادل 1,179,648 بايت 8 بت، أو 1152 كيلوبايت ، أو 1.125 ميجا بايت - أكثر قليلاً من 8086.

كانت بعض أجهزة الكمبيوتر القديمة ( أجهزة الكمبيوتر العشرية ) قابلة للعنونة بأرقام عشرية . على سبيل المثال، حدد كل عنوان في ذاكرة النواة المغناطيسية لجهاز IBM 1620 رقمًا عشريًا واحدًا مشفرًا ثنائيًا بستة بتات ، يتكون من بت التكافؤ وبت العلم وأربعة بتات رقمية. استخدم جهاز 1620 عناوين عشرية مكونة من 5 أرقام، لذلك من الناحية النظرية كان أعلى عنوان ممكن هو 99999. في الممارسة العملية، دعمت وحدة المعالجة المركزية 20000 موقع ذاكرة، ويمكن إضافة ما يصل إلى وحدتي ذاكرة خارجيتين اختياريتين، كل منهما تدعم 20000 عنوان، بإجمالي 60000 (00000–59999).

حجم الكلمة مقابل حجم العنوان

حجم الكلمة هو سمة من سمات بنية الكمبيوتر تشير إلى عدد البتات التي يمكن لوحدة المعالجة المركزية معالجتها في وقت واحد. عادةً ما يكون حجم الكلمة في المعالجات الحديثة، بما في ذلك الأنظمة المضمنة ، 8 أو 16 أو 24 أو 32 أو 64 بت؛ تستخدم معظم أجهزة الكمبيوتر العامة الحالية 32 أو 64 بت. تم استخدام العديد من الأحجام المختلفة تاريخيًا، بما في ذلك 8 و9 و10 و12 و18 و24 و36 و39 و40 و48 و60 بت.

في كثير من الأحيان، عند الإشارة إلى حجم كلمة جهاز كمبيوتر حديث، فإننا نشير أيضًا إلى حجم مساحة العنوان على هذا الكمبيوتر. على سبيل المثال، يسمح الكمبيوتر الذي يقال عنه " 32 بت " عادةً بعناوين ذاكرة 32 بت؛ يمكن لجهاز كمبيوتر 32 بت قابل للعنونة بالبايتات أن يعالج 2 32 = 4,294,967,296 بايت من الذاكرة، أو 4 جيجابايت (جيجابايت). وهذا يسمح بتخزين عنوان ذاكرة واحد بكفاءة في كلمة واحدة.

ومع ذلك، لا ينطبق هذا دائمًا. يمكن أن تحتوي أجهزة الكمبيوتر على عناوين ذاكرة أكبر أو أصغر من حجم الكلمة. على سبيل المثال، تدعم العديد من معالجات 8 بت ، مثل MOS Technology 6502 ، عناوين 16 بت - وإلا، فكان من الممكن أن تقتصر على 256 بايت فقط من عناوين الذاكرة. تدعم معالجات Intel 8088 و Intel 8086 ذات 16 بت عناوين 20 بت عبر التجزئة ، مما يسمح لها بالوصول إلى 1 ميجا بايت بدلاً من 64 كيلوبايت من الذاكرة. تتضمن جميع معالجات Intel Pentium منذ Pentium Pro ملحقات العنوان المادي (PAE) التي تدعم تعيين عناوين مادية 36 بت إلى عناوين افتراضية 32 بت. احتفظت العديد من تطبيقات LISP المبكرة على معالجات 36 بت ، على سبيل المثال، بعنوانين لكل كلمة . احتفظت بعض المعالجات المبكرة بعنوانين وحتى 3 عناوين لكل كلمة تعليمات.

من الناحية النظرية، يمكن لأجهزة الكمبيوتر الحديثة ذات الـ 64 بت معالجة 2 64 بايت (16 إكسبايت )، ولكن في الممارسة العملية تكون كمية الذاكرة محدودة بواسطة وحدة المعالجة المركزية، أو وحدة التحكم في الذاكرة ، أو تصميم لوحة الدائرة المطبوعة (على سبيل المثال، عدد موصلات الذاكرة المادية أو كمية الذاكرة الملحومة).

محتويات كل موقع ذاكرة

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

قام بعض المبرمجين الأوائل بدمج التعليمات والبيانات في الكلمات كوسيلة لتوفير الذاكرة، عندما كانت باهظة الثمن: كان لدى Manchester Mark 1 مساحة في كلماته المكونة من 40 بت لتخزين أجزاء صغيرة من البيانات - تجاهل معالجه قسمًا صغيرًا في منتصف الكلمة - وكان يتم استغلال ذلك غالبًا كمخزن إضافي للبيانات. [ بحاجة لمصدر ] تعامل البرامج ذاتية التكرار مثل الفيروسات نفسها أحيانًا كبيانات وأحيانًا كتعليمات. يتم إهمال الكود الذي يعدل نفسه بشكل عام في الوقت الحاضر، لأنه يجعل الاختبار والصيانة صعبين بشكل غير متناسب مع توفير بضعة بايتات، ويمكن أن يعطي أيضًا نتائج غير صحيحة بسبب افتراضات المترجم أو المعالج حول حالة الجهاز ، ولكن لا يزال يتم استخدامه أحيانًا عمدًا وبعناية كبيرة.

مساحة العنوان في برمجة التطبيقات

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

قد لا يتم تعيين بعض أجزاء مساحة العنوان على الإطلاق.

تحتوي بعض الأنظمة على بنية ذاكرة "مقسمة" حيث توجد أكواد الآلة والثوابت والبيانات في مواقع مختلفة، وقد يكون لها أحجام عناوين مختلفة. على سبيل المثال، تحتوي وحدات التحكم الدقيقة PIC18 على عداد برامج مكون من 21 بت لمعالجة أكواد الآلة والثوابت في ذاكرة الفلاش، وسجلات عناوين مكونة من 12 بت لمعالجة البيانات في ذاكرة الوصول العشوائي الساكنة.

مخططات العناوين

يمكن لبرنامج الكمبيوتر الوصول إلى عنوان معين صراحةً - في البرمجة منخفضة المستوى يُطلق على هذا عادةً اسمعنوان مطلق ، أو أحيانًا عنوان محدد، ويُعرفالمؤشرفي اللغات ذات المستوى الأعلى. ولكن يمكن للبرنامج أيضًا استخدامعنوان نسبييحدد موقعًا فيما يتعلق بمكان آخر ( العنوان الأساسي ). هناك العديد منأوضاع التوجيه.

يؤدي تعيين العناوين المنطقية للذاكرة الفعلية والافتراضية أيضًا إلى إضافة مستويات عديدة من الغموض؛ انظر أدناه.

نماذج الذاكرة

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

ومع ذلك، لم تدعم العديد من أجهزة الكمبيوتر المبكرة مثل هذا النموذج المسطح للذاكرة - على وجه الخصوص، تجبر آلات هندسة هارفارد تخزين البرامج على أن يكون منفصلاً تمامًا عن تخزين البيانات. تحتوي العديد من معالجات الإشارات الرقمية الحديثة (مثل Motorola 56000 ) على ثلاث مناطق تخزين منفصلة - تخزين البرامج وتخزين المعاملات وتخزين البيانات. يتم جلب بعض التعليمات المستخدمة بشكل شائع من جميع المناطق الثلاث في وقت واحد - سيؤدي قلة مناطق التخزين (حتى لو كان هناك نفس إجمالي بايتات التخزين) إلى جعل هذه التعليمات تعمل بشكل أبطأ.

نماذج الذاكرة في بنية x86

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

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

نماذج الذاكرة في IBM S/360 ومعالجات متعددة الخلف

في 360/65 و 360/67 ، قدمت IBM مفهومًا يُعرف باسم البادئة. [2] البادئة هي مستوى من ترجمة العناوين ينطبق على العناوين في الوضع الحقيقي وعلى العناوين التي تم إنشاؤها بواسطة ترجمة العناوين الديناميكية، باستخدام بادئة فريدة معينة لكل وحدة معالجة مركزية. في 360/65 و360/67 وكل خليفة قبل z/Architecture ، فإنه يبدل منطقيًا كتلة تخزين بحجم 4096 بايت مع كتلة أخرى معينة لوحدة المعالجة المركزية. في z/Architecture، [3] تعمل البادئة على كتل بحجم 8196 بايت. تصنف IBM العناوين على هذه الأنظمة على النحو التالي: [4]

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

في طرازي 360/65 وS/370 بدون DAT وعند التشغيل مع إيقاف تشغيل الترجمة، توجد مساحة عنوان حقيقية مسطحة ومساحة عنوان مطلقة مسطحة فقط.

في أجهزة 360/67 وS/370 والإصدارات اللاحقة حتى S/390 ، عند التشغيل مع تشغيل الترجمة، تحتوي العناوين على رقم مقطع ورقم صفحة وإزاحة. وعلى الرغم من أن الطرز المبكرة كانت تدعم أحجام الصفحات 2 كيلوبايت و4 كيلوبايت، إلا أن الطرز اللاحقة كانت تدعم 4 كيلوبايت فقط. أضافت IBM لاحقًا تعليمات لنقل البيانات بين مساحة عنوان أساسية ومساحة عنوان ثانوية.

S/370-XA تمت إضافة عناوين 31 بت، ولكن تم الاحتفاظ بتسلسل القطاعات/الصفحات/الإزاحة مع صفحات بحجم 4 كيلوبايت.

ESA/370 تمت إضافة 16 سجل وصول (ARs) ووضع التحكم في الوصول إلى AR، حيث تم ترجمة عنوان مكون من 31 بت باستخدام مساحة العنوان المعينة بواسطة AR المحدد.

يدعم z/Architecture العناوين الافتراضية والحقيقية والمطلقة ذات 64 بت، مع جداول الصفحات متعددة المستويات.

انظر أيضا

مراجع

  1. ^ أبراهامسون، كارل ر. (20 أغسطس 2022). "5.10.1. الذاكرة وعناوين الذاكرة". جامعة شرق كارولينا . تم الاسترجاع في 3 فبراير 2023 .
  2. ^ "عملية الأنظمة المتعددة" (PDF) . مبادئ تشغيل نظام IBM/360 (PDF) . مكتبة مرجع الأنظمة (الطبعة الثامنة). سبتمبر 1968. ص. 18. A22-6821-7 . تم الاسترجاع في 21 يوليو 2024. تنطبق عملية النقل على أول 4096 بايت من مساحة التخزين . تحتوي هذه المنطقة على جميع مهام التخزين الدائمة، ولها عمومًا أهمية خاصة لبرامج الإشراف. تتم عملية النقل عن طريق إدخال بادئة مكونة من 12 بت في كل عنوان يتم فيه تعيين البتات الـ 12 ذات الترتيب الأعلى على الصفر، وبالتالي، فهي تتعلق بالموقع 0-4095.
  3. ^ "البادئة في وضع معمارية z/Architecture" (PDF) . مبادئ تشغيل معمارية z/Architecture (PDF) (الطبعة الرابعة عشرة). مايو 2022. ص. 3-21–3-23. SA22-7832-13 . تم الاسترجاع في 21 يوليو 2024 . توفر البادئة القدرة على تعيين كتلة العناوين الحقيقية التي تحتوي على مواقع تخزين معينة إلى كتلة مختلفة في التخزين المطلق لكل وحدة معالجة مركزية، مما يسمح لأكثر من وحدة معالجة مركزية تشترك في التخزين الرئيسي بالعمل في وقت واحد مع الحد الأدنى من التداخل، وخاصة في معالجة المقاطعات.
  4. ^ "أنواع العناوين" (PDF) . z/Architecture Principles of Operation (PDF) (الطبعة الرابعة عشرة). مايو 2022. ص 3-4-3-5. SA22-7832-13 . تم الاسترجاع في 21 يوليو 2024 .
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=عنوان_الذاكرة&oldid=1249482144"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate