
الجمع والطرح بنقطة عائمة في Intel 8087: الشيفرة الدقيقة ومسار البيانات
سرّعت رقاقة Intel 8087 الجمع بنقطة عائمة بنحو 100 مرة تقريبًا، واستخدمت الشيفرة الدقيقة وجامعًا للأعداد الصحيحة ووحدة إزاحة ومنطقًا للأسس وتنسيقًا حقيقيًا مؤقتًا بعرض 80 بت للجمع والطرح.
لماذا كانت Intel 8087 مهمة
قدّمت Intel رقاقة 8087 في 1980 لتسريع عمليات النقطة العائمة كثيرًا في IBM PC وأنظمة أخرى. دعمت الرقاقة عمليات متقدمة مثل الظل والجذور التربيعية واللوغاريتمات، لكن الجمع والطرح يوضحان كيف كان يعمل مسار البيانات. سرّعت 8087 الجمع بعامل بلغ نحو 100 مرة تقريبًا مقارنة بمعالج 8086، بينما تحسّنت العمليات المعقدة أكثر من ذلك.
داخل الرقاقة، احتوى ROM الخاص بالشيفرة الدقيقة على 1648 تعليمة دقيقة. كان النصف السفلي من الشريحة هو مسار البيانات، حيث عولجت قيم بعرض 80 بت. كانت الكتلة الأساسية هي جامع الأعداد الصحيحة بعرض 69 بت قرب المركز. كان يستقبل أحد المعاملين من المسجل B والآخر من كتل مثل المسجلات المؤقتة أو مسجلات المكدس، ثم يرسل النتيجة إلى مسجل المجموع.
كتل مسار البيانات للحساب الأساسي
يبدأ جمع النقطة العائمة بمحاذاة النقاط الثنائية عبر إزاحة القيمة ذات الأس الأصغر حتى تتطابق الأسس. بعد جمع الأجزاء المعنوية كأعداد صحيحة، قد تحتاج النتيجة إلى تسوية حتى يبدأ الجزء المعنوي ببت 1. إذا أنتج الجمع بتًا عاليًا إضافيًا، أزيحت القيمة إلى اليمين وزاد الأس. يمكن أن ينتج عن الطرح نتيجة موجبة أو سالبة أو صفر، وقد تتطلب التسوية إزاحة كبيرة إلى اليسار. كان يجعل الجزء المعنوي السالب موجبًا وتُقلب الإشارة، وتُعاد حالة الصفر كصفر موجب أو سالب حسب المقتضي.
حركت وحدة الإزاحة قيمة بعرض 68 بت بعدد عشوائي من المواضع إلى اليسار أو اليمين، وشغلت مساحة كبيرة من الشريحة لأن الإزاحات كان يجب أن تكون سريعة. عدّت دوائر الأصفار البادئة بتات أو بايتات صفرية على اليسار حتى يمكن إزاحتها. عالج محوّل الأسس الأسس وكشف تجاوز السعة ونقصها. للمحاذاة، أزاحت الإجراء الفرعي الدقيق CREATE_DENORM المعامل الثاني بمقدار فرق الأسس المار في مسجل المجموع.
المسجلات وتدفق الشيفرة الدقيقة والقيم الخاصة
داخليًا، استخدمت 8087 تنسيقًا حقيقيًا مؤقتًا بعرض 80 بت مع بت إشارة، وأس بعرض 15 بت ذو انحياز قدره 16383، وجزء معنوي بعرض 64 بت. شكلت ثمانية مسجلات مكدسًا، وكان لكل قيمة وسم: صفر أو صالح أو خاص أو فارغ. تضمنت المسجلات المؤقتة الداخلية tmpA وtmpB، إضافة إلى tmpC بجزء معنوي بعرض 68 بت وبتات guard وround وsticky.
بدأت العمليات الرياضية الأساسية عند عنوان الشيفرة الدقيقة 0001، ونقلت المعاملين إلى tmpA وtmpB، ثم استدعت هدفًا يختاره نوع التعليمة. عمل الجمع والطرح من العنوان 0232. عالجت الشيفرة الدقيقة حالات الصفر، وقارنت الأسس، وبادلت المعاملين عند الحاجة، وتتبعت تغيرات الإشارة في مزلاج الإشارة. ثم اختارت الجمع بدون إشارة أو الطرح بدون إشارة استنادًا إلى إشارات المعاملات والعملية.
في مسار الجمع بدون إشارة، جُمعت الأجزاء المعنوية المحاذاة، وأدى الحمل إلى إزاحة بمقدار بت واحد إلى اليمين مع تعديل الأس، وشُذبت الدقة للقيم بعرض 80 أو 64 أو 32 بت، وفُحص الأس بحثًا عن تجاوز السعة أو نقصها. في الطرح بدون إشارة، حسب الجامع tmpA ناقص tmpB، ويمكن لبتات التقريب أن تضبط بت نتيجة منخفضًا، وأنتجت معالجة الأصفار البادئة إزاحات بالبايت والبت. كما عالجت الشيفرة المشتركة اللانهائيات وقيم ليس عددًا والقيم دون المطبعية والأصفار وسلوك سحب المكدس والمقاطعات الخاصة بالقيم غير المطبعية.
المصادر: righto.com
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.