تغيير البنك

خريطة ذاكرة افتراضية لذاكرة مُبدَّلة بين البنوك لمعالج لا يستطيع الوصول إلا إلى 64  كيلوبايت. يوضح هذا المخطط 200  كيلوبايت من الذاكرة، لا يمكن للمعالج الوصول إلا إلى 64 كيلوبايت منها  في أي وقت. يجب على نظام التشغيل إدارة عملية تبديل البنوك لضمان استمرار تنفيذ البرنامج حتى عندما يكون جزء من الذاكرة غير متاح للمعالج.

يُعدّ تبديل البنوك تقنيةً تُستخدم في تصميم الحواسيب لزيادة سعة الذاكرة القابلة للاستخدام بما يتجاوز السعة التي يمكن للمعالج الوصول إليها مباشرةً [ 1 ] . ويمكن استخدامها لتهيئة النظام بشكلٍ مختلف في أوقاتٍ مختلفة؛ فعلى سبيل المثال، يمكن استبدال ذاكرة القراءة فقط (ROM) اللازمة لتشغيل النظام من القرص المرن عند انتفاء الحاجة إليها. وفي أنظمة ألعاب الفيديو، سمح تبديل البنوك بتطوير ألعابٍ أكبر حجمًا لتشغيلها على أجهزة الألعاب الموجودة.

نشأت تقنية تبديل البنوك في أنظمة الحواسيب الصغيرة . [ 2 ] تستخدم العديد من وحدات التحكم الدقيقة والمعالجات الدقيقة الحديثة تقنية تبديل البنوك لإدارة ذاكرة الوصول العشوائي ، والذاكرة غير المتطايرة، وأجهزة الإدخال والإخراج، وسجلات إدارة النظام في الأنظمة المدمجة الصغيرة . كانت هذه التقنية شائعة في أنظمة الحواسيب الدقيقة ذات 8 بت . كما يمكن استخدام تبديل البنوك للتغلب على قيود عرض ناقل العناوين، حيث تمنع بعض قيود الأجهزة إضافة المزيد من خطوط العناوين بسهولة، وللتغلب على قيود مجموعة تعليمات المعالج (ISA) ، حيث تكون العناوين المُولَّدة أضيق من عرض ناقل العناوين. تستخدم بعض المعالجات الدقيقة الموجهة للتحكم تقنية تبديل البنوك للوصول إلى سجلات الإدخال/الإخراج والتحكم الداخلية، مما يحد من عدد بتات عناوين السجلات التي يجب استخدامها في كل تعليمة.

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

تقنية

يمكن اعتبار تبديل البنوك طريقة لتوسيع نطاق عناوين تعليمات المعالج باستخدام سجل معين. أمثلة:

  • يحتوي معالج CDC 160 الأصلي على عناوين مكونة من 12 بت؛ أما معالج CDC 160-A اللاحق، وهو نسخة مطورة من CDC 160، فيحتوي على ناقل عناوين مكون من 15 بت، ولكن لا توجد طريقة لتحديد البتات الثلاثة العليا على ناقل العناوين بشكل مباشر. يمكن استخدام سجلات البنك الداخلية لتوفير هذه البتات. [ 3 ]
  • يحتوي جهاز CDC 1604 على عناوين مكونة من 15 بتًا؛ أما نظام CDC 3600 اللاحق فيحتوي على ناقل عناوين مكون من 18 بتًا، لكن التعليمات القديمة لا تحتوي إلا على 15 بتًا للعناوين؛ ويمكن استخدام سجلات البنك الداخلية لتوفير هذه البتات. ويمكن لبعض التعليمات الجديدة تحديد البنك بشكل صريح. [ 4 ]
  • يستطيع المعالج المزود بناقل عناوين خارجي ذي 16 بت عنونة 65536 موقعًا في الذاكرة فقط (2^ 16)  . في حال إضافة مزلاج خارجي إلى النظام، يُمكن استخدامه للتحكم في أي من مجموعتي أجهزة الذاكرة، لكل منهما 65536 عنوانًا، يُمكن الوصول إليها. يستطيع المعالج تغيير المجموعة المستخدمة حاليًا عن طريق ضبط أو مسح بت المزلاج. يُمكن ضبط أو مسح المزلاج بواسطة المعالج بعدة طرق؛ إما بفك تشفير عنوان ذاكرة معين واستخدامه للتحكم في المزلاج، أو، في المعالجات ذات عناوين الإدخال/الإخراج التي يتم فك تشفيرها بشكل منفصل ، بفك تشفير عنوان إخراج. يُمكن تجميع عدة بتات تحكم في تبديل البنوك في سجل واحد، مما يُضاعف تقريبًا مساحات الذاكرة المتاحة مع كل بت إضافي في السجل. نظرًا لأن مزلاج (أو سجل) اختيار البنك الخارجي غير متصل مباشرةً بعداد البرنامج الخاص بالمعالج، فإنه لا يُغير حالته تلقائيًا عند تجاوز عداد البرنامج؛ لا يُمكن اكتشاف ذلك بواسطة المزلاج الخارجي لأن عداد البرنامج هو سجل داخلي للمعالج. لا تتوفر الذاكرة الإضافية بسلاسة للبرامج. تبقى سجلات المعالج الداخلية على طولها الأصلي، لذا لا يستطيع المعالج الوصول مباشرةً إلى كامل الذاكرة المُبدَّلة بين البنوك، على سبيل المثال، عن طريق زيادة قيمة سجل داخلي. [ 5 ] بدلاً من ذلك، يجب على المعالج إجراء عملية تبديل بين البنوك بشكل صريح للوصول إلى عناصر الذاكرة الكبيرة. هناك قيود أخرى. عادةً ما يحتوي نظام تبديل البنوك على كتلة واحدة من ذاكرة البرنامج مشتركة بين جميع البنوك؛ بغض النظر عن البنك النشط حاليًا، سيتم استخدام مجموعة واحدة فقط من مواقع الذاكرة لجزء من مساحة العناوين . تُستخدم هذه المنطقة لتخزين التعليمات البرمجية التي تُدير الانتقالات بين البنوك، وكذلك لمعالجة المقاطعات .

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

على عكس نظام الذاكرة الافتراضية ، يجب إدارة عملية تبديل البنوك بشكل صريح من قِبل البرنامج قيد التشغيل أو نظام التشغيل؛ إذ لا يستطيع معالج الجهاز اكتشاف البيانات المطلوبة تلقائيًا إذا لم تكن مُخزّنة حاليًا في البنك النشط. يجب على برنامج التطبيق تتبع بنك الذاكرة الذي يحتوي على البيانات المطلوبة، ثم استدعاء روتين تبديل البنوك لتفعيل ذلك البنك. [ 6 ] مع ذلك، يُمكن لتبديل البنوك الوصول إلى البيانات بسرعة أكبر بكثير من، على سبيل المثال، استرجاع البيانات من وحدة التخزين القرصية.

استخدام الحواسيب الصغيرة

تم استخدام مفتاح اختيار البنك الموجود على لوحة ذاكرة Cromemco لتعيين الذاكرة إلى واحد أو أكثر من ثمانية  بنوك متميزة سعة كل منها 64 كيلوبايت. [ 7 ]

كانت المعالجات ذات العنونة 16 بت ( مثل 8080 و Z80 و 6502 و 6809 وغيرها)، الشائعة الاستخدام في أجهزة ألعاب الفيديو وأجهزة الكمبيوتر المنزلية القديمة، قادرة على عنونة 64 كيلوبايت فقط بشكل مباشر . أما الأنظمة ذات الذاكرة الأكبر، فكان لا بد من تقسيم مساحة العنونة إلى عدد من الكتل التي يمكن ربطها ديناميكيًا بأجزاء من مساحة عنونة أكبر. ولتحقيق هذه المساحة الأكبر، استُخدم تبديل البنوك من خلال تنظيم الذاكرة في بنوك منفصلة، ​​يصل حجم كل منها إلى 64 كيلوبايت. [ 8 ] وكان يتم تبديل الكتل ذات الأحجام المختلفة عبر سجلات اختيار البنك أو آليات مشابهة. وكانت شركة كروميمكو أول شركة مصنعة للحواسيب الصغيرة تستخدم تبديل البنوك، حيث دعمت 8 بنوك، سعة كل منها 64 كيلوبايت، في أنظمتها. [ 9 ]   

عند استخدام تبديل البنوك، كان من الضروري توخي الحذر لتجنب إتلاف معالجة استدعاءات البرامج الفرعية ، والمقاطعات ، ومكدس الجهاز ، وما إلى ذلك. وبينما كانت محتويات الذاكرة التي تم نقلها مؤقتًا من وحدة المعالجة المركزية غير قابلة للوصول إليها من قِبل المعالج، كان من الممكن استخدامها بواسطة أجهزة أخرى، مثل شاشة العرض، ووحدة الوصول المباشر إلى الذاكرة (DMA) ، وأجهزة الإدخال/الإخراج ، وما إلى ذلك. وقد دعمت أنظمة CP/M-80 3.0، التي صدرت عام 1983، وأجهزة TRS-80 القائمة على معالج Z80، طراز 4 وطراز تبديل البنوك للسماح باستخدام أكثر من 64  كيلوبايت من الذاكرة التي يمكن لمعالج 8080 أو Z80 الوصول إليها. [ 10 ]

أتاحت تقنية تبديل بنوك الذاكرة إضافة ذاكرة ووظائف إضافية إلى تصميم الحاسوب دون تكلفة أو عدم توافق التبديل إلى معالج ذي ناقل عناوين أوسع . على سبيل المثال، استخدم جهاز C64 تقنية تبديل بنوك الذاكرة لتوفير 64  كيلوبايت كاملة من ذاكرة الوصول العشوائي (RAM) مع الحفاظ على إمكانية الوصول إلى ذاكرة القراءة فقط (ROM) ووحدات الإدخال/الإخراج المُرتبطة بالذاكرة . كما مكّن جهاز أتاري 130XE معالجيه (6502 وANTIC ) من الوصول إلى بنوك ذاكرة وصول عشوائي منفصلة، ​​مما سمح للمبرمجين بإنشاء ساحات لعب كبيرة وعناصر رسومية أخرى دون استهلاك الذاكرة المرئية لوحدة المعالجة المركزية (CPU).

المتحكمات الدقيقة

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

جهاز كمبيوتر شخصي من IBM

ذاكرة موسعة في جهاز الكمبيوتر الشخصي من IBM

في عام 1985، قدمت شركتا لوتس وإنتل مواصفات الذاكرة الموسعة (EMS) 3.0 للاستخدام في أجهزة الكمبيوتر المتوافقة مع IBM PC والتي تعمل بنظام MS-DOS . انضمت مايكروسوفت في الإصدارين 3.2 عام 1986 و4.0 عام 1987 ، وأصبحت المواصفات تُعرف باسم Lotus-Intel-Microsoft EMS أو LIM EMS. [ 6 ] [ 11 ] [ 12 ] وهي تقنية تبديل بين بنوك الذاكرة تسمح باستخدام أكثر من 640 كيلوبايت من ذاكرة الوصول العشوائي (RAM) المحددة في بنية IBM PC الأصلية، وذلك من خلال عرضها بشكل مجزأ في "نافذة" بحجم 64 كيلوبايت تقع في منطقة الذاكرة العليا . [ 13 ] تُقسم الـ 64 كيلوبايت إلى أربع "صفحات" بحجم 16 كيلوبايت، يمكن التبديل بين كل منها بشكل مستقل. استخدمت بعض ألعاب الكمبيوتر هذه التقنية، وعلى الرغم من أن EMS أصبحت قديمة، إلا أن هذه الميزة تُحاكى حاليًا بواسطة أنظمة تشغيل مايكروسوفت ويندوز اللاحقة لتوفير التوافق مع الإصدارات السابقة لتلك البرامج.    

مواصفات الذاكرة الموسعة (XMS) اللاحقة ، والتي أصبحت الآن قديمة، هي معيار يُستخدم من حيث المبدأ لمحاكاة تبديل بنوك الذاكرة التي تزيد سعتها عن 1  ميجابايت (وتُسمى " الذاكرة الموسعة ")، والتي لا يمكن الوصول إليها مباشرةً في الوضع الحقيقي لمعالجات x86 التي يعمل عليها نظام DOS. تسمح XMS بنسخ الذاكرة الموسعة إلى أي مكان في الذاكرة التقليدية، لذا فإن حدود "البنوك" غير ثابتة، ولكنها تعمل في جميع النواحي الأخرى مثل تبديل بنوك الذاكرة في EMS ، من منظور البرنامج الذي يستخدمها. تضمنت الإصدارات اللاحقة من DOS (بدءًا من الإصدار 5.0 تقريبًا) برنامج تشغيل EMM386، الذي يحاكي ذاكرة EMS باستخدام XMS، مما يسمح للبرامج باستخدام الذاكرة الموسعة حتى لو كانت مصممة للعمل مع EMS. كما يحاكي نظام التشغيل Microsoft Windows أيضًا XMS، بالنسبة للبرامج التي تتطلب ذلك.

أجهزة ألعاب الفيديو

استُخدم تبديل بنوك الذاكرة أيضًا في بعض أجهزة ألعاب الفيديو . [ 14 ] على سبيل المثال، كان لدى جهاز أتاري 2600 مساحة عناوين خارجية 12 بت وناقل بيانات 8 بت، لذا كان بإمكانه عنونة 2 × 12  بايت  =  4  كيلوبايت من ذاكرة القراءة فقط (ROM). [ 15 ] [ 16 ] لذلك، احتوت خراطيش ألعاب 2600 اللاحقة على أجهزة تبديل بنوك خاصة بها للسماح باستخدام المزيد من ذاكرة القراءة فقط، وبالتالي إتاحة ألعاب أكثر تطورًا (عبر المزيد من التعليمات البرمجية، والأهم من ذلك، كميات أكبر من بيانات اللعبة مثل الرسومات ومراحل اللعبة المختلفة). [ 17 ] احتوى نظام نينتندو الترفيهي على معالج 6502 مُعدّل ، ولكن خراطيشه احتوت أحيانًا على ميغابت أو أكثر من ذاكرة القراءة فقط، يتم الوصول إليها عبر تبديل بنوك الذاكرة المسمى وحدة تحكم الذاكرة المتعددة (MULTI ) . استخدمت خراطيش جيم بوي شريحة تُسمى MBC (وحدة تحكم بنك الذاكرة)، والتي لم توفر فقط تبديل بنوك ذاكرة القراءة فقط، بل أيضًا تبديل بنوك ذاكرة الوصول العشوائي الثابتة (SRAM) للخرطوشة ، وحتى الوصول إلى ملحقات مثل وصلات الأشعة تحت الحمراء أو محركات الاهتزاز. استمر استخدام تقنية تبديل البنوك في أنظمة الألعاب اللاحقة. فقد تجاوز حجم العديد من خراطيش سيجا ميجا درايف ، مثل سوبر ستريت فايتر 2، 4 ميجابايت، مما استلزم استخدام هذه التقنية (حيث أن 4 ميجابايت هو الحد الأقصى لحجم العنوان). ويستخدم جهاز GP2X المحمول من شركة جيم بارك هولدينجز تقنية تبديل البنوك للتحكم في عنوان البدء (أو إزاحة الذاكرة) للمعالج الثاني.  

معالجة الفيديو

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

التقنيات البديلة واللاحقة

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

انظر أيضاً

مراجع

  1. أسبينال، د.، محرر. (1978). المعالج الدقيق وتطبيقاته: دورة متقدمة . أرشيف مطبعة جامعة كامبريدج. ص 47-50 . ISBN  0-521-22241-9.
  2. بيل، سي. جوردون؛ نيويل، ألين (1971). هياكل الحاسوب: قراءات وأمثلة . ماكجرو هيل . ص 156 . 
  3. "التحكم في التخزين". دليل برمجة الحاسوب Control Data 160-A (ملف PDF) . مركز السيطرة على الأمراض والوقاية منها. مارس 1963. ص 2-09. 145e. 
  4. دليل مرجعي لنظام الكمبيوتر Control Data 3600 (ملف PDF) . CDC. 60021300E.
  5. هيث ، ستيف (2003). تصميم الأنظمة المدمجة . نيونس. ص 242. ISBN  0-7506-5546-1.
  6. 1 2 مولر، سكوت (1992). ترقية وإصلاح أجهزة الكمبيوتر الشخصية ( الطبعة الثانية). كيو بوكس. الصفحات 699-700 . ISBN   0-88022-856-3تم الاطلاع عليه بتاريخ 2020-02-08 .
  7. جارلاند، هاري (مارس 1977). "ابتكارات التصميم في الحواسيب الشخصية" . مجلة الكمبيوتر . 10 (3). جمعية مهندسي الكهرباء والإلكترونيات : 25. doi : 10.1109/cm.1977.217669 . S2CID 32243439. تاريخ الاسترجاع: 2020-02-08 . يُستخدم مفتاح DIP ثماني الأوضاع الموجود على هذه البطاقات لاختيار واحد (أو أكثر) من ثمانية بنوك للذاكرة. 
  8. ↑ جارلاند ، هاري (1979). مقدمة في تصميم أنظمة المعالجات الدقيقة . شركة ماكجرو هيل للنشر . ص 93. ISBN  0-07-022871-Xتم الاطلاع عليه بتاريخ 2020-02-08 . عند اختيار بنك الذاكرة، يتم ترتيب مساحة الذاكرة في عدد من البنوك المنفصلة التي تصل سعة كل منها إلى 64 كيلوبايت.
  9. هوجان، ثوم (8 يونيو 1981). "المشاركة والمشاركة على حد سواء: شرح الأجهزة متعددة المستخدمين" . إنفوورلد . المجلد 3، العدد 11. ص 18. الرقم الدولي الموحد للدوريات 0199-6649 . تاريخ الاسترجاع 8 فبراير 2020. كانت كروميمكو أول شركة مصنعة للحواسيب الصغيرة تُحسّن وتستغل تقنية تبديل البنوك.    
  10. فرايبرغر، بول (25 أكتوبر 1982). "شركة ديجيتال ريسيرش تقدم ترقية CP/M" . إنفو وورلد . المجلد 4، العدد 42. ص 1. الرقم الدولي الموحد للدوريات 0199-6649 .    
  11. "معالج 1-2-3 الجديد يحصل على 4 ميجابايت من الذاكرة، لوتس وإنتل تتجاوزان حاجز ذاكرة نظام التشغيل DOS" . إنفوورلد . 29 أبريل 1985. ص 15. الرقم الدولي الموحد للدوريات 0199-6649 .  
  12. أنجوس، جيف (17 أغسطس 1987). "تحديث EMS يُحسّن تعدد المهام في نظام DOS" . InfoWorld . المجلد 9، العدد 32، صفحة 5. ISSN 0199-6649 .    
  13. روس، بول دبليو، محرر. (1995). دليل البرمجيات للمهندسين والعلماء . مطبعة سي آر سي . ص 26. ISBN  0-8493-2530-7.
  14. سينوفسكي، برايان (2002). كاري، تشارلز و. (محرر). المخترعون ورواد الأعمال وأصحاب الرؤى التجارية الأمريكيون . دار إنفوبيس للنشر . الصفحات 322-324 . رقم ISBN  0-8160-4559-3تم الاطلاع عليه بتاريخ 2020-02-08 .
  15. "تجميع لوحة الدوائر المطبوعة 2600 بدقة 8K/16K/32K" (ملف PDF) . بكسلز باست.
  16. "مواصفات أتاري 2600" .
  17. ↑ جراند، جو؛ راسل ، رايان؛ ميتنيك، كيفن د. (2004). اختراق الأجهزة: استمتع مع إبطال الضمان . سينجريس. ص 229. ISBN  1-932266-83-6تم الاطلاع عليه بتاريخ 2020-02-08 .