مقارنة بين بنى مجموعات التعليمات

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

تحدد بنية مجموعة التعليمات (ISA) كل ما يحتاجه مبرمج لغة الآلة لمعرفته لبرمجة الحاسوب. ويختلف تعريف بنية مجموعة التعليمات من بنية لأخرى؛ وبشكل عام، تحدد هذه البنية أنواع البيانات المدعومة ، والحالة الموجودة (مثل الذاكرة الرئيسية والسجلات ) ودلالاتها (مثل اتساق الذاكرة وأنماط العنونة )، ومجموعة التعليمات (مجموعة تعليمات الآلة التي تشكل لغة الآلة للحاسوب)، ونموذج الإدخال/ الإخراج .

تمثيل البيانات

في العقود الأولى للحوسبة، كانت هناك أجهزة كمبيوتر تستخدم النظام الثنائي ، والنظام العشري [ 1 ] وحتى النظام الثلاثي . [ 2 ] [ 3 ] أما أجهزة الكمبيوتر المعاصرة فهي ثنائية بشكل حصري تقريبًا.

يتم ترميز الأحرف كسلاسل من البتات أو الأرقام، باستخدام مجموعة واسعة من مجموعات الأحرف؛ حتى داخل الشركة المصنعة الواحدة كانت هناك اختلافات في مجموعات الأحرف.

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

وبالمثل، تُشفّر الأعداد العشرية باستخدام مجموعة متنوعة من تمثيلات الإشارة والأس والكسر العشري . في الأجهزة الحديثة، حلت أنظمة الأعداد العشرية السداسية عشرية من IBM وأنظمة الأعداد العشرية IEEE 754 محل التنسيقات القديمة إلى حد كبير.

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

أجزاء

غالبًا ما تُوصف بنى الحواسيب بأنها بنى ذات n بت . في الأرباع الثلاثة الأولى من القرن العشرين، كان n غالبًا 12 أو 18 أو 24 أو 30 أو 36 أو 48 أو 60. وفي الثلث الأخير من القرن العشرين، كان n غالبًا 8 أو 16 أو 32، وفي القرن الحادي والعشرين، أصبح n غالبًا 16 أو 32 أو 64، ولكن استُخدمت أحجام أخرى (بما في ذلك 6 و 39 و 128 ). هذا في الواقع تبسيط، إذ غالبًا ما تحتوي بنية الحاسوب على عدد قليل من أحجام البيانات "الطبيعية" تقريبًا في مجموعة التعليمات ، ولكن قد يختلف التنفيذ المادي لهذه الأحجام اختلافًا كبيرًا. تحتوي العديد من بنى مجموعات التعليمات على تعليمات، في بعض تطبيقات تلك البنية، تعمل على نصف أو ضعف حجم مسارات البيانات الداخلية الرئيسية للمعالج. ومن أمثلة ذلك Z80 و MC68000 و IBM System/360 . في هذا النوع من التطبيقات، تستغرق العملية ذات العرض المضاعف عادةً ضعف عدد دورات الساعة تقريبًا (وهذا لا ينطبق على التطبيقات عالية الأداء). على سبيل المثال، في معالج 68000، يعني هذا 8 دورات ساعة بدلًا من 4، ويمكن وصف هذه الشريحة تحديدًا بأنها ذات بنية 32 بت مع تطبيق 16 بت . بنية مجموعة تعليمات IBM System/360 هي 32 بت، ولكن العديد من طرازات سلسلة System/360، مثل IBM System/360 Model 30 ، لها مسارات بيانات داخلية أصغر، بينما طرازات أخرى، مثل 360/195 ، لها مسارات بيانات داخلية أكبر.

لا يُستخدم عرض ناقل البيانات الخارجي لتحديد عرض بنية المعالج؛ إذ كانت معالجات NS32008 وNS32016 وNS32032 في الأساس شريحة 32 بت متطابقة تقريبًا، مع اختلاف نواقل البيانات الخارجية. يحتوي معالج PowerPC 604 من IBM على ناقل بيانات 64 بت، لكنه مزود بمسجلات 32 بت فقط. أما معالجات System/360، وبعض المعالجات الدقيقة المبكرة 32 بت مثل Motorola 68000 ، فتستخدم عناوين 24 بت.

لا يتطابق عرض البتات للتعليمات في بنية معينة بالضرورة مع عرض البتات لتلك البنية. على سبيل المثال، تتميز التعليمات في أنظمة System/360، و PDP-11 ، و VAX ، و x86 بطول متغير. احتوت الإصدارات الأولى من SuperH على تعليمات ثابتة الطول (16 بت) على الرغم من كونها ذات بنية 32 بت، بينما احتوت الإصدارات اللاحقة على تعليمات 16 بت و32 بت.

أرقام

في الأرباع الثلاثة الأولى من القرن العشرين، كانت أجهزة الكمبيوتر العشرية الموجهة نحو الكلمات تحتوي عادةً على كلمات مكونة من 10 أرقام [ 4 ] [ 5 ] [ 6 ] مع إشارة منفصلة، ​​[ a ] باستخدام جميع الأرقام العشرة في الأعداد الصحيحة واستخدام رقمين للأسس [ 7 ] [ 5 ] في أرقام الفاصلة العائمة.

ترتيب الباينيات

قد تستخدم بنية المعالج نظام ترتيب البايتات "الكبير" أو "الصغير"، أو كليهما، أو يمكن تهيئتها لاستخدام أي منهما. في المعالجات ذات نظام ترتيب البايتات الصغير، تُرتّب البايتات في الذاكرة بحيث يكون البايت الأقل أهمية في القيمة متعددة البايتات في موقع الذاكرة ذي الرقم الأدنى. أما في المعالجات ذات نظام ترتيب البايتات الكبير، فتُرتّب البايتات بحيث يكون البايت الأكثر أهمية في العنوان ذي الرقم الأدنى. وتُعد بنية x86، بالإضافة إلى العديد من البنى ذات 8 بت، من نوع نظام ترتيب البايتات الصغير. كانت معظم بنى RISC (مثل SPARC وPower وPowerPC وMIPS) في الأصل من نوع نظام ترتيب البايتات الكبير (بينما كانت ARM من نوع نظام ترتيب البايتات الصغير)، ولكن العديد منها (بما في ذلك ARM) أصبح الآن قابلاً للتهيئة لاستخدام أي من النظامين.

لا ينطبق نظام Endianness إلا على المعالجات التي تسمح بالعنونة الفردية لوحدات البيانات (مثل البايتات ) التي تكون أصغر من بعض تنسيقات البيانات.

صيغ التعليمات

رموز العمليات

في بعض البنى، تحتوي كل تعليمة على رمز عملية واحد. وفي بنى أخرى، تحتوي بعض التعليمات على رمز عملية ومُعدِّل واحد أو أكثر. على سبيل المثال، في نظام IBM System/370 ، يُمثِّل البايت 0 رمز العملية، ولكن عندما يكون البايت 0 هو B2 16، فإن البايت 1 يُحدِّد تعليمة مُعيَّنة، مثل B205 16، أي تعليمة تخزين الساعة (STCK). في بعض بنى مجموعات التعليمات، تُستخدم بادئة واحدة أو أكثر من بادئات رموز العمليات لتغيير رمز العملية اللاحق أو لزيادة عدد رموز العمليات.

المعاملات

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

تسمح البنى المعمارية عادةً بتضمين التعليمات مزيجًا من أنماط عنونة المعاملات :

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

لقد وفرت معالجات المتجهات أوضاعًا إضافية فريدة من نوعها للعمليات القائمة على العناصر.

عدد المعاملات

يُعد عدد المعاملات أحد العوامل التي قد تُشير إلى أداء مجموعة التعليمات. يسمح تصميم ثلاثي المعاملات (معاملان للإدخال، ومعامل واحد للإخراج) بما يلي:

أ := ب + ج

يتم حسابها في تعليمة واحدة

أضف ب، ج، أ

ستتيح بنية ذات معاملين (مدخل واحد، ومدخل واحد ومخرج واحد)

أ := أ + ب

يتم حسابها في تعليمة واحدة

أضف ب، أ

لكن ذلك يتطلب ذلك

أ := ب + ج

يتم ذلك في تعليماتين

انقل B، A أضف ج، أ

طول الترميز

كما هو موضح في الجدول أدناه، تلتزم بعض مجموعات التعليمات بطول ترميز ثابت وبسيط للغاية، بينما تتميز مجموعات أخرى بطول متغير. عادةً ما تكون معمارية RISC هي التي تتميز بطول ترميز ثابت، بينما تتميز معمارية CISC بطول ترميز متغير، ولكن ليس دائمًا.

مجموعات التعليمات

يقارن الجدول أدناه المعلومات الأساسية حول بنى مجموعات التعليمات.

ملحوظات:

  • عادةً ما يكون عدد المسجلات قوةً للعدد اثنين ، مثل 8 أو 16 أو 32. في بعض الحالات، يُضاف مسجلٌ افتراضي مُبرمجٌ مسبقًا على الصفر، كجزءٍ من ملفات المسجلات الخاصة بالبنى المعمارية، وذلك غالبًا لتبسيط أنماط الفهرسة. يقتصر عمود "المسجلات" على حساب المسجلات الصحيحة القابلة للاستخدام بواسطة التعليمات العامة في أي لحظة. تتضمن البنى المعمارية دائمًا مسجلاتٍ لأغراضٍ خاصة، مثل عداد البرنامج (PC). لا تُحتسب هذه المسجلات إلا إذا ذُكر خلاف ذلك. تجدر الإشارة إلى أن بعض البنى المعمارية، مثل SPARC، تحتوي على نوافذ مسجلات ؛ بالنسبة لهذه البنى، يُشير العدد إلى عدد المسجلات المتاحة ضمن نافذة المسجلات. كما لا تُحتسب المسجلات غير المُصممة لإعادة تسمية المسجلات .
  • في عمود "النوع"، يعتبر "Register–Register" مرادفًا لنوع شائع من البنية، " load–store "، مما يعني أنه لا يمكن لأي تعليمة الوصول مباشرة إلى الذاكرة باستثناء بعض التعليمات الخاصة، أي التحميل إلى أو التخزين من السجل (السجلات)، مع الاستثناءات المحتملة لتعليمات قفل الذاكرة للعمليات الذرية.
  • في عمود "ترتيب البايتات"، تعني كلمة "Bi" أن ترتيب البايتات قابل للتكوين.

انظر أيضاً

ملحوظات

  1. عادةً ما تكون الإشارة إما زائد أو ناقص فقط، ولكن في أجهزة IBM 7070/72/74 [ 5 ] كانت هناك إشارة ثلاثية الحالة.
  2. تقبل تعليمات LEA (جميع المعالجات) و IMUL-immediate (80186 وما بعدها) ثلاثة معاملات؛ معظم التعليمات الأخرى لمجموعة تعليمات الأعداد الصحيحة الأساسية لا تقبل أكثر من معاملين.
  3. جزئيًا RISC: بنية تحميل/تخزين وأنماط عنونة بسيطة، وجزئيًا CISC: ثلاثة أطوال للتعليمات ولا يوجد توقيت للتعليمات الفردية
  4. بما أن الذاكرة عبارة عن مصفوفة من الكلمات ذات 60 بت، ولا توجد وسيلة للوصول إلى الوحدات الفرعية، فإن استخدام ترتيب البايتات الكبير مقابل ترتيب البايتات الصغير غير منطقي. تستخدم وحدة CMU الاختيارية ترتيب البايتات الكبير.
  5. بما أن الذاكرة عبارة عن مصفوفة من الكلمات ذات 12 بت بدون أي وسيلة للوصول إلى الوحدات الفرعية، فإن استخدام big endian مقابل little endian لا معنى له.

مراجع

  1. دا كروز، فرانك (18 أكتوبر 2004). "آلة حاسبة أبحاث الذخائر البحرية من آي بي إم" . تاريخ الحوسبة بجامعة كولومبيا . تم الاسترجاع في 8 مايو 2024 .
  2. "متحف الحاسوب الافتراضي الروسي - قاعة المشاهير - نيكولاي بيتروفيتش بروسينتسوف" .
  3. ^ تروجمان ، جورج. نيتوسوف، الكسندر Y.؛ إرنست، وولفغانغ (2001). الحوسبة في روسيا: كشف تاريخ أجهزة الكمبيوتر وتكنولوجيا المعلومات . Vieweg+Teubner Verlag. الصفحات 19، 55، 57، 91، 104-107 . ISBN  978-3-528-05757-2..
  4. آلة معالجة البيانات ذات الأسطوانة المغناطيسية 650 (ملف PDF) . شركة IBM . يونيو 1955. 22-6060-2 . تم الاطلاع عليه في 8 مايو 2024 .
  5. 1 2 3 مبادئ تشغيل IBM 7070-7074 (ملف PDF) . مكتبة مراجع الأنظمة. IBM . 1962. GA22-7003-6 . تاريخ الاسترجاع: 8 مايو 2024 .
  6. حاسوب UNIVAC® ذو الحالة الصلبة 80 (ملف PDF) . شركة سبيري راند . 1959. U1742.1r3 . تم الاطلاع عليه في 8 مايو 2024 .
  7. ميزات إضافية لـ IBM 650 MDDPM - فهرسة المُجمِّعات - العمليات الحسابية العشرية العائمة - كتابة متقدمة (PDF) . IBM . 1955. 22-6258-0 . تم الاطلاع عليه في 8 مايو 2024 .
  8. "المعالج الدقيق 8051" . استكشف تاريخ شركة إنتل . إنتل.
  9. "دليل مبرمج معمارية AMD64، المجلد 6: تعليمات XOP وFMA4 ذات 128 بت و256 بت" (ملف PDF) . AMD . نوفمبر 2009.
  10. "شركة Synopsys تقدم معالج ARC جديد 64 بت يوفر زيادة في الأداء تصل إلى 3 أضعاف للتطبيقات المدمجة عالية الأداء" .
  11. "تطورات بنية Arm A-Profile لعام 2022 - مدونة البنى والمعالجات - مدونات مجتمع Arm - مجتمع Arm" . community.arm.com . 29 سبتمبر 2022. تاريخ الاسترجاع: 9 ديسمبر 2022 .
  12. فروموسانو، أندريه (3 سبتمبر 2020). "شركة ARM تعلن عن معالج Cortex-R82: أول معالج 64 بت يعمل في الوقت الحقيقي" . AnandTech . مؤرشف من الأصل في 3 سبتمبر 2020.
  13. "معالجات ARM تدعم 64 بت مع بنية شريحة ARMv8 الجديدة" . مجلة Computerworld . 27 أكتوبر 2011. تاريخ الاطلاع: 8 مايو 2024 .
  14. توشيو يوشيدا. "مؤتمر هوت تشيبس 30؛ إحاطة فوجيتسو" (ملف PDF) . فوجيتسو. مؤرشف من الأصل (ملف PDF) بتاريخ 2020-12-05.
  15. "وثيقة بنية AVR32" (ملف PDF) . شركة Atmel . تم الاطلاع عليها بتاريخ 2024-05-08 .
  16. "دليل بلاكفين" (ملف PDF) . analog.com .
  17. "نظرة عامة على بنية معالج بلاكفين" . شركة أنالوج ديفايسز . تم الاطلاع عليه بتاريخ 2024-05-08 .
  18. "بنية ذاكرة بلاكفين" . شركة أنالوج ديفايسز . مؤرشف من الأصل بتاريخ 16-06-2011 . تم الاطلاع عليه بتاريخ 18-12-2009 .
  19. 1 2 3 4 5 "كشف زيف كروزو: بنية ترانسميتا TM5xxx 2" . تقنيات العالم الحقيقي.
  20. 1 2 3 ألكسندر كلايبر (يناير 2000). "التكنولوجيا الكامنة وراء معالجات كروزو" (ملف PDF) . شركة ترانسميتا . تم الاطلاع عليه في 6 ديسمبر 2013 .
  21. شركة إنتل (1981). مقدمة إلى بنية iAPX 432 (ملف PDF) . ص. iii. 
  22. "معمارية LatticeMico32" . شركة Lattice Semiconductor . مؤرشفة من الأصل في 23 يونيو 2010.
  23. "ترخيص برنامج LatticeMico32 مفتوح المصدر" . شركة Lattice Semiconductor . مؤرشف من الأصل بتاريخ 20 يونيو 2010.
  24. بنية MIPS64 للمبرمجين: الإصدار 6
  25. معمارية MIPS32 للمبرمجين: الإصدار 6
  26. نظام MIPS المفتوح
  27. "شركة Wave Computing تغلق مبادرة MIPS المفتوحة بأثر فوري، دون سابق إنذار" .
  28. مراجعات معمارية OpenRISC
  29. دليل PDP-5 (ملف PDF) . شركة المعدات الرقمية . فبراير 1964.
  30. دليل مستخدمي PDP-8 (ملف PDF) . شركة المعدات الرقمية . مايو 1966.
  31. 1 2 "Power ISA الإصدار 3.1" . openpowerfoundation.org. 2020-05-01 . تم الاطلاع عليه بتاريخ 2021-10-20 .
  32. اتفاقية ترخيص المستخدم النهائي لـ OpenPOWER
  33. "المواصفات المعتمدة لـ RISC-V" . تم الاطلاع عليها بتاريخ 18 أكتوبر 2025 .
  34. وثائق معالج أوراكل سبارك
  35. رخصة معمارية SPARC