اعلان

ماذا يعني أنماط العنونة ؟

 ماذا يعني أنماط العنونة ؟ 

الاجابة هى :

تُعرف أنماط العنونة بأنها جانب من جوانب بنية مجموعة التعليمات أو الأوامر في معظم تصميمات وحدة المعالجة المركزية (CPU). تُحدِّد أنماط العنونة المختلفة التي عُرفت في بنية مجموعة تعليمات معينة كيفية تحديد تعليمات لغة الآلة في تلك البنية؛ المعامل الحسابي لكل التعليمات. يُحدد نمط العنونة كيفية حساب عنوان الذاكرة الفعال للمعامل الحسابي، باستخدام المعلومات المحفوظة في السجلات أو الثوابت الموجودة في تعليمات الجهاز أو في أي مكان آخر. في برمجة الحاسوب، تهتم أنماط العنونة بنحو أساسي بحاجات أولئك الذين يكتبون بلغات التجميع والمحول البرمجي (compiler). للحصول على مفهوم ذي صلة، راجع مجموعة التعليمات المتعامدة (orthogonal instruction set)، التي تتعامل مع قدرة أي تعليمات على استخدام أي نمط عنونة.

عدد أنماط العنونة

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


تحتوي معظم معماريات (RISC) على نحو خمسة أنماط عنونة بسيطة فقط، بينما تشمل معماريات CISC -مثل DEC VAX- أكثر من اثني عشر نمطًا للعنونة، بعضها معقد جدًا. تحتوي بنية IBM System / 360 على ثلاثة أنماط عنونة فقط؛ وأضيف عدد قليل لنظام 390.


عندما لا يوجد سوى عدد قليل من أنماط العنونة، فإن نمط العنونة المحدد المطلوب عادةً ما يجري ترميزه ضمن كود التعليمات (مثل IBM System / 360، وRISC). ولكن عندما توجد العديد من أنماط العنونة، غالبًا ما يوضع حقل معين جانبًا في التعليمات لتحديد نمط العنونة. سَمح DEC VAX بالعديد من المعاملات الحسابية لجميع التعليمات تقريبًا، ومن ثم احتفظ بالبتات القليلة الأولى من كل محدد معامل للإشارة إلى نمط العنونة لهذا المعامل. ينتج عن إبقاء بتات محدد نمط العنونة منفصلة عن بتات تشغيل (opcode operation) مجموعة تعليمات متعامدة.


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


مقالات ذات صلة

تعليقات