جهاز التسلسل الدقيق
في هندسة وبنية الحاسوب ، يقوم جهاز التسلسل أو جهاز التسلسل الدقيق بتوليد العناوين المستخدمة لتنفيذ البرنامج المصغر لوحدة التحكم . ويُستخدم كجزء من وحدة التحكم في وحدة المعالجة المركزية أو كمولد مستقل لنطاقات العناوين.
عادةً ما تُولَّد العناوين من خلال مزيج من عداد، وحقل من التعليمات الدقيقة، ومجموعة فرعية من سجل التعليمات . يُستخدم العداد في الحالة النموذجية، وهي أن التعليمات الدقيقة التالية هي التي ستُنفَّذ. أما الحقل من التعليمات الدقيقة فيُستخدم للقفزات، أو غيرها من العمليات المنطقية.
بما أن وحدات المعالجة المركزية تنفذ مجموعة تعليمات، فمن المفيد جدًا أن تكون قادرًا على فك تشفير بتات التعليمات مباشرة في التسلسل، لاختيار مجموعة من التعليمات الدقيقة لتنفيذ تعليمات وحدة المعالجة المركزية.
تستخدم معظم معالجات CISC الحديثة مزيجًا من المنطق المتسلسل لمعالجة التعليمات البرمجية ذات التعقيد المنخفض والتي يمكن إكمالها في دورة ساعة واحدة، والتعليمات البرمجية الدقيقة لتنفيذ التعليمات البرمجية التي تستغرق دورات ساعة متعددة لإكمالها.
كان معالج IBM PALM أحد أوائل المعالجات المتكاملة ذات التعليمات البرمجية الدقيقة ، والذي قام بمحاكاة جميع تعليمات المعالج في التعليمات البرمجية الدقيقة وتم استخدامه في IBM 5100 ، وهو أحد أوائل أجهزة الكمبيوتر الشخصية.
من الأمثلة الحديثة على المعالجات المماثلة مفتوحة المصدر القائمة على التسلسل الدقيق هي نوى MicroCore Labs MCL86 و MCL51 و MCL65 التي تحاكي مجموعات تعليمات Intel 8086/8088 و 8051 و MOS 6502 بالكامل في التعليمات البرمجية الدقيقة.
مثال بسيط
كان نظام الكمبيوتر Meta 4 Series 16 من شركة Digital Scientific Corp. نظامًا قابلًا للبرمجة الدقيقة من قبل المستخدم، وقد تم طرحه لأول مرة في عام 1970. تحدث التفرعات في تسلسل الشفرة الدقيقة بإحدى ثلاث طرق. [ 1 ]
- تحدد تعليمات التفرع الدقيقة عنوان التعليمات التالية، سواءً بشرط أو بدون شرط. ويؤدي خيار الفهرس المنطقي (IX) إلى دمج سجل الربط ذي 16 بت منطقيًا مع عنوان التفرع، مما يوفر إمكانية تفرع مفهرسة بسيطة.
- تسمح جميع التعليمات الحسابية/المنطقية بمعدِّل القفز (J)، الذي يعيد توجيه التنفيذ إلى التعليمات الدقيقة التي تم تحديدها بواسطة سجل الربط.
- تسمح جميع تعليمات الحساب/المنطق باستخدام كلٍّ من مُعدِّلَي التناقص (D) والقفز (J). في هذه الحالة، يتم إنقاص قيمة سجل عداد الحلقة ذي 8 بتات. إذا لم تكن قيمته صفرًا، يتم الانتقال إلى محتويات سجل الربط. أما إذا كانت قيمته صفرًا، فيستمر التنفيذ بالتعليمات التالية.
يُعد خيار التنفيذ (XQ) أحد خيارات التسلسل المتاحة في تعليمات التفرع. عند تحديده، تُنفَّذ التعليمات الموجودة في عنوان التفرع، ثم يستمر التنفيذ بعد تعليمات التفرع الأصلية. ويمكن استخدام خيار التنفيذ (IX) مع خيار التنفيذ (XQ).
أمثلة معقدة
كان نظام IBM System/360 سلسلة من الحواسيب المتوافقة التي طُرحت عام 1964، وكان العديد منها مُبرمجًا ببرمجة دقيقة. [ 2 ] يُعدّ جهاز System/360 Model 40 مثالًا جيدًا على جهاز مُبرمج ببرمجة دقيقة مع تسلسل دقيق مُعقّد. [ 3 ]
تتألف وحدة التخزين المصغرة من 4096 تعليمة دقيقة، كل منها 56 بت، تعمل بأسلوب برمجة دقيقة أفقية. ويتم الوصول إلى هذه الوحدة عبر سجل عناوين للقراءة فقط (ROAR) ذي 12 بت. وعلى عكس معظم السجلات في بنية S/360، تُرقّم بتات سجل ROAR من البت 0 على اليمين إلى البت 11 على اليسار.
+------------+ | زئير | +------------+ 11 0
لا يقوم الطراز 40 بتنفيذ التعليمات الدقيقة بشكل تسلسلي، وبالتالي فإن مُسلسل التعليمات الدقيقة لا يتفرع بالمعنى التقليدي. بدلاً من ذلك، تُحدد كل تعليمة دقيقة عنوان التعليمة التالية المراد تنفيذها. وتساهم أربعة حقول في التعليمة الدقيقة في تحديد العنوان الجديد.
- CA، 4 بتات: جزء من العنوان التالي، اعتمادًا على الحقول الأخرى.
- CB، 4 بتات: يحدد البت 1 من العنوان التالي.
- CC، 4 بتات: يحدد البت 0 من العنوان التالي.
- CD، 2 بت: يتحكم في كيفية تجميع العنوان التالي (باستثناء عندما يحتوي حقل CB على 15).
توجد أساساً ثلاث مجموعات أو صيغ لهذه الحقول.
تنسيق الفرع الوظيفي
عندما يحتوي حقل CB على القيمة 15، يحدث تفرع وظيفي . يتم تحديد بتات عنوان المخزن المصغر الجديد في ROAR على النحو التالي.
- البتات 11 – 10: حقل القرص المضغوط
- البتات 9 – 6: حقل CA
- البت 5: دائماً 0
- البتات 4 – 1: البتات الأربعة العليا من سجل Q، وهو المدخل الأيمن لوحدة الحساب والمنطق ذات 8 بتات
- البت 0: نتيجة الاختبار المحدد بواسطة حقل CC
يمكن لحقل CC تحديد اختبارات مختلفة لحالة الجهاز. كما يمكنه تحديد قيمة ثابتة 0 أو 1 لبت غير مشروط.
يُغيّر هذا التنسيق مسار التحكم إلى أحد أزواج التعليمات الستة عشر الموجودة ضمن الكلمات الـ 32 الأدنى من كتلة ذاكرة صغيرة مكونة من 64 كلمة (لأن البت 5 يكون دائمًا 0). ثم يُحدد حقل CC أي تعليمة من الزوج تتلقى التحكم.
تنسيق القرص المضغوط = 0، 1، 3
عندما تكون قيمة حقل CD هي 0 أو 1 أو 3، يتم توجيه تدفق التحكم إلى تعليمة داخل كتلة الـ 64 كلمة الحالية. يتم تحديد بتات عنوان التخزين المصغر الجديد على النحو التالي.
- الأجزاء من 11 إلى 6: تبقى كما هي
- البتات 5 – 2: حقل CA
- البت 1: إذا كانت قيمة CD تساوي 0، فهذا يعني نتيجة الاختبار المحدد بواسطة حقل CB؛ وإلا 0
- البت 0: نتيجة الاختبار المحدد بواسطة حقل CC
يختار حقل CA مجموعة واحدة من بين 16 مجموعة مكونة من 4 كلمات ضمن الكتلة الحالية المكونة من 64 كلمة. ثم يحدد حقلا CB وCC أي تعليمة من بين هذه المجموعات الأربع ستتولى التحكم.
CD = تنسيق 2
عندما يكون حقل CD هو 2، يتم توجيه تدفق التحكم بطريقة غير بديهية. يتم تحديد بتات عنوان المخزن المصغر الجديد على النحو التالي:
- الأجزاء من 11 إلى 10: تبقى كما هي
- البتات 9 – 6: حقل CA
- الأجزاء من 5 إلى 2: تبقى كما هي
- البت 1: نتيجة الاختبار المحدد بواسطة حقل CB
- البت 0: نتيجة الاختبار المحدد بواسطة حقل CC
تقع التعليمات التالية في نفس نطاق الكلمات البالغ 1 كيلوبايت الخاص بالتعليمات الحالية، لأن البتات من 11 إلى 10 تبقى كما هي. يحدد الحقل CA كتلة الكلمات البالغ عددها 64 كلمة داخل هذا النطاق. تقع التعليمات في نفس مجموعة الكلمات الأربع داخل الكتلة الجديدة كما تقع التعليمات الحالية داخل الكتلة الحالية، لأن البتات من 5 إلى 2 تبقى كما هي. ثم يحدد الحقلان CB وCC أيًّا من التعليمات الأربع ستتولى التحكم.
تبسيط
تم تبسيط هذا الوصف. وهو يتجاهل الميزات التالية.
- يمكن تشغيل الطراز 40 في وضع وحدة المعالجة المركزية أو وضع القناة. ويقتصر الوصف على وضع وحدة المعالجة المركزية فقط.
- إذا لم تكن التعليمات الدقيقة بتنسيق التفرع الوظيفي وكان حقل CD هو 1 أو 3، فإن البت 1 من العنوان التالي يكون دائمًا 0. في هذه الحالة، تحدد قيم حقلي CD وCB أحد خطوط التحكم التي سيتم رفعها.
مراجع
- ↑ دليل مرجعي لنظام الكمبيوتر من سلسلة Digital Scientific Meta 4 16 (ملف PDF) . شركة Digital Scientific. مايو 1971. 7032MO.
- ↑ مبادئ تشغيل نظام IBM System/360 (ملف PDF) . شركة آي بي إم الدولية للأعمال. سبتمبر 1968. A22-6821-7.
- ↑ نظام/360 موديل 40 الوحدات الوظيفية (ملف PDF) . شركة آي بي إم. مارس 1970. SY22-2843-1.
- وحدات المعالجة المركزية
