إنتل 8087
كان معالج إنتل 8087 ، الذي أُعلن عنه عام 1980، أول معالج مساعد للفاصلة العائمة لسلسلة معالجات 8086. [ 4 ] [ 5 ] [ 6 ] وكان الغرض من هذه الشريحة تسريع العمليات الحسابية للفاصلة العائمة ، مثل الجمع والطرح والضرب والقسمة والجذر التربيعي . كما أنه يحسب الدوال المتسامية مثل الدوال الأسية واللوغاريتمية والمثلثية . وتراوحت تحسينات الأداء من حوالي 20% إلى أكثر من 500%، وذلك حسب التطبيق المحدد. ويمكن لمعالج 8087 إجراء حوالي 50,000 عملية حسابية في الثانية ( FLOPS ) [ 5 ] باستهلاك حوالي 2.4 واط. [ 6 ]
كانت شريحة 8087 دارة متكاملة متطورة، دفعت حدود تكنولوجيا التصنيع في تلك الفترة. قد تستغرق العمليات الأساسية على شريحة 8087، مثل الجمع والطرح، أكثر من 100 دورة معالجة، وتتجاوز بعض التعليمات 1000 دورة. [ 7 ] تفتقر الشريحة إلى مضاعف مادي، وتنفذ العمليات الحسابية باستخدام خوارزمية CORDIC . [ 8 ]
شهدت مبيعات معالج 8087 ارتفاعًا ملحوظًا عند إضافة مقبس معالج مساعد إلى اللوحة الأم لجهاز IBM PC عام 1981. أدى تطوير معالج 8087 إلى وضع معيار IEEE 754-1985 للحسابات ذات الفاصلة العائمة. كانت سرعات الإصدار المتاحة 4.77 (5) و8 و10 ميجاهرتز. [ 9 ] لاحقًا، ظهرت معالجات مساعدة x87 لمعالجات 80186 و 80286 و 80386 و 80386SX ، بالإضافة إلى معالج 80486SX . ابتداءً من معالج 80486DX ، تميزت معالجات Intel x86 بمعالجات مساعدة مدمجة للفاصلة العائمة؛ حيث دُمجت وظائف الفاصلة العائمة مع المعالج. تحتوي معالجات Intel 486SX على وحدة فاصلة عائمة معطلة أو غير موجودة، ولكنها تسمح باستخدام معالج 80487 منفصل، والذي كان في الواقع مجرد معالج 486DX مزود بدبوس إضافي يسمح بتعطيل وحدة المعالجة المركزية الموجودة.
المتغيرات
| رقم الطراز [ 10 ] | تكرار | اسم الطراز | السعر [ القائمة 1 ] |
|---|---|---|---|
| 8087 | 5 ميجاهرتز | صندوق بريد 8087 | 142 دولارًا أمريكيًا |
| 8087-2 | 8 ميجاهرتز | BOX8087-2 | 205 دولار أمريكي |
| 8087-1 | 10 ميجاهرتز | BOX8087-1 | 270 دولارًا أمريكيًا |
- ↑ سعر الوحدة المقترح.
التصميم والتطوير
سبق لشركة إنتل أن صنعت وحدة المعالجة الحسابية 8231 ، ومعالج الفاصلة العائمة 8232. صُممت هذه الوحدات للاستخدام مع معالجات 8080 أو ما شابهها، وتستخدم ناقل بيانات 8 بت. يتم توصيلها بنظام مضيف إما من خلال الإدخال/الإخراج المبرمج أو وحدة تحكم الوصول المباشر إلى الذاكرة (DMA) . [ 11 ]
تم تصميم المعالج 8087 في البداية من قبل بيل بولمان، مدير الهندسة في شركة إنتل الذي أشرف على تطوير شريحة 8086. اتخذ بيل خطوات للتأكد من أن تصميم 8086 يمكنه دعم شريحة رياضية لم تكن قد طُوّرت بعد.
في عام 1977، حصل بولمان على الموافقة لتصميم شريحة 8087 الرياضية. عُيّن بروس رافينيل مهندسًا معماريًا، وجون بالمر مهندسًا معماريًا مشاركًا ورياضيًا للمشروع. ابتكر الاثنان تصميمًا ثوريًا بـ 64 بتًا للكسر و16 بتًا للأس لأطول صيغة للعدد الحقيقي، مع وحدة معالجة مركزية ذات بنية مكدسة وثمانية سجلات مكدسة سعة 80 بتًا، ومجموعة تعليمات غنية حسابيًا. [ 12 ] حلّ التصميم بعض المشكلات المعروفة في الحوسبة العددية والبرمجيات العددية: فقد تم التخلص من مشكلات أخطاء التقريب للمعاملات ذات 64 بتًا، وحُلّت تحويلات الأنماط العددية لجميع الأعداد ذات 64 بتًا. أرجع بالمر الفضل في تصميمهم إلى كتابات ويليام كاهان حول الفاصلة العائمة. [ 13 ] [ 14 ]
قوبل تصميم المعالج 8087 في البداية باستقبال فاتِر في سانتا كلارا نظرًا لتصميمه الجريء. وفي نهاية المطاف، أُسند التصميم إلى شركة إنتل إسرائيل، وكُلِّف رافي ناف بقيادة تنفيذ الشريحة. وحصل بالمر ورافينيل وناف على براءات اختراع للتصميم. [ 15 ] كما حصل روبرت كوهلر وجون بايليس على براءة اختراع للتقنية التي يتم فيها تفريغ بعض التعليمات ذات نمط بتات معين إلى المعالج المساعد. [ 16 ]
احتوى المعالج 8087 على 65000 ترانزستور ، وصُنع بتقنية 4.5 ميكرومتر (ثم صُغّر إلى 3 ميكرومتر) باستخدام دارة HMOS ذات حمل استنزافي . ولتقليل حجم شريحة السيليكون، نُفّذت الشفرة الدقيقة للمعالج المساعد في ذاكرة قراءة فقط متعددة المستويات ، حيث خُزّنت بتان في كل موقع باستخدام أحد التيارات الأربعة الممكنة. [ 17 ] عمل الجهاز بالتزامن مع المعالجين 8086 و8088، وقدّم حوالي 60 تعليمة جديدة. تبدأ معظم رموز التجميع الخاصة بالمعالج 8087 بـ ، مثل ، ، وهكذا، مما يسهل تمييزها عن تعليمات المعالج 8086. تبدأ الترميزات الثنائية لجميع تعليمات المعالج 8087 بنمط البت 11011، أي 27 عشريًا، وهو نفس نمط حرف ESCII ، ولكن في البتات ذات الترتيب الأعلى من البايت؛ ويُشار أحيانًا إلى بادئات التعليمات المماثلة باسم " رموز الهروب ". الرمز التذكيري الذي خصصته إنتل لتعليمات المعالج المساعد هذه هو . كان معالج 8087 مكلفًا وصعب التصنيع، مع إنتاجية منخفضة. كما أنه كان يسخن بشدة، مما أجبر إنتل على استخدام غلاف سيراميكي أكثر تكلفة لتحسين تبديد الحرارة. FFADDFMULFCOMESC
عندما يُنفّذ المعالج 8086 أو 8088 ESCالتعليمات، إذا حدّد البايت الثاني (بايت ModR/M) مُعامل ذاكرة، فسيُنفّذ المعالج دورة ناقل لقراءة كلمة واحدة من موقع الذاكرة المُحدّد في التعليمات (باستخدام أي نمط عنونة 8086)، ولكنه لن يُخزّن مُعامل القراءة في أي سجل من سجلات المعالج أو يُجري أي عملية عليه؛ سيراقب المعالج 8087 الناقل ويفكّ تشفير تدفق التعليمات بالتزامن مع المعالج 8086، مُتعرّفًا على تعليمات المعالج المُساعد المُوجّهة إليه. بالنسبة لتعليمات 8087 التي تحتوي على مُعامل ذاكرة، إذا استدعت التعليمات قراءة المُعامل، فسيأخذ المعالج 8087 كلمة البيانات التي قرأها المعالج الرئيسي من ناقل البيانات. إذا كان المُعامل المراد قراءته أطول من كلمة واحدة، فسيقوم المعالج 8087 أيضًا بنسخ العنوان من ناقل العناوين. بعد اكتمال دورة قراءة البيانات التي يقودها المعالج المركزي، يستخدم المعالج 8087 تقنية الوصول المباشر إلى الذاكرة (DMA) للتحكم في ناقل البيانات ونقل البايتات الإضافية للمعامل نفسه. إذا استدعت تعليمة 8087 ذات معامل ذاكرة كتابة هذا المعامل، يتجاهل المعالج كلمة القراءة على ناقل البيانات وينسخ العنوان فقط، ثم يطلب الوصول المباشر إلى الذاكرة ويكتب المعامل بالكامل، بنفس طريقة قراءة نهاية معامل ممتد. وبهذه الطريقة، يحتفظ المعالج المركزي الرئيسي بالتحكم العام في ناقل البيانات وتوقيته، بينما يتولى المعالج 8087 جميع جوانب تنفيذ تعليمات المعالج المساعد الأخرى، باستثناء فترات قصيرة من الوصول المباشر إلى الذاكرة يتولى فيها المعالج 8087 التحكم في ناقل البيانات لقراءة أو كتابة المعاملات من/إلى سجلاته الداخلية. ونتيجةً لهذا التصميم، لا يمكن للمعالج 8087 العمل إلا على المعاملات المأخوذة إما من الذاكرة أو من سجلاته الخاصة، وأي تبادل للبيانات بين المعالج 8087 والمعالجين 8086 أو 8088 يتم فقط عبر ذاكرة الوصول العشوائي (RAM).
استمر برنامج وحدة المعالجة المركزية الرئيسية في التنفيذ بينما نفّذ المعالج 8087 تعليمة. من منظور وحدة المعالجة المركزية الرئيسية 8086 أو 8088، استغرقت تعليمة المعالج المساعد مدة معالجة رمز العملية ودورة معالجة أي معامل ذاكرة (دورتان ساعة في حالة عدم وجود معامل، و8 دورات ساعة بالإضافة إلى وقت حساب EA [من 5 إلى 12 دورة ساعة] لمعامل ذاكرة [بالإضافة إلى 4 دورات ساعة أخرى على المعالج 8088] لنقل البايت الثاني من كلمة المعامل)، وبعد ذلك تبدأ وحدة المعالجة المركزية بتنفيذ التعليمة التالية من البرنامج. وبالتالي، كان النظام المزود بمعالج 8087 قادرًا على المعالجة المتوازية الحقيقية، حيث يُجري عملية حسابية في وحدة الحساب والمنطق للأعداد الصحيحة في وحدة المعالجة المركزية الرئيسية، بينما يُجري في الوقت نفسه عملية حسابية للأعداد العشرية في المعالج المساعد 8087. بما أن المعالجين 8086 أو 8088 كانا يتحكمان حصريًا في تدفق التعليمات وتوقيتها، ولم يكن لديهما وصول مباشر إلى الحالة الداخلية للمعالج 8087، ولأن المعالج 8087 كان قادرًا على تنفيذ تعليمة واحدة فقط في كل مرة، كان على برامج النظام المدمج 8086/8087 أو 8088/8087 ضمان حصول المعالج 8087 على الوقت الكافي لإكمال آخر تعليمة صدرت له قبل إصدار تعليمة أخرى. WAITوقد وُفرت تعليمة (من وحدة المعالجة المركزية الرئيسية) لهذا الغرض، وكانت معظم المجمعات تُفعّل ضمنيًا WAITتعليمة قبل كل تنفيذ لمعظم تعليمات المعالج المساعد ذي الفاصلة العائمة. (ليس من الضروري استخدام WAITتعليمة قبل عملية 8087 إذا كان البرنامج يستخدم وسائل أخرى لضمان مرور وقت كافٍ بين إصدار تعليمات 8087 الحساسة للتوقيت، بحيث لا يتلقى المعالج 8087 مثل هذه التعليمة قبل إكمال التعليمة السابقة. كما أنه ليس من الضروري، في حال WAITاستخدام تعليمة، أن تسبق مباشرةً تعليمة 8087 التالية.) WAITانتظرت التعليمة حتى يتم تفعيل طرف الإدخال -TEST الخاص بالمعالج 8086/8088 (منخفض)، وكان هذا الطرف متصلاً بطرف BUSY الخاص بالمعالج 8087 في جميع الأنظمة التي تحتوي على معالج 8087 (لذا يتم تفعيل TEST عند إلغاء تفعيل BUSY).
نظرًا لأن قوائم جلب التعليمات المسبقة في معالجي 8086 و8088 تجعل وقت تنفيذ التعليمات لا يتطابق دائمًا مع وقت جلبها، فإن المعالج المساعد مثل 8087 لا يستطيع تحديد متى تكون التعليمات الخاصة به هي التعليمات التالية التي سيتم تنفيذها بمجرد مراقبة ناقل وحدة المعالجة المركزية. يحتوي معالجا 8086 و8088 على إشارتين لحالة قائمة الانتظار متصلتين بالمعالج المساعد لتمكينه من التزامن مع التوقيت الداخلي لوحدة المعالجة المركزية لتنفيذ التعليمات من قائمة الجلب المسبق الخاصة به. يحتفظ معالج 8087 بقائمة جلب مسبقة مماثلة خاصة به، يقرأ منها رموز العمليات الخاصة بالمعالج المساعد التي ينفذها فعليًا. نظرًا لاختلاف أحجام طابورات الجلب المسبق في المعالجين 8086 و8088 وخوارزميات إدارتها، يحدد المعالج 8087 نوع وحدة المعالجة المركزية المتصلة به من خلال مراقبة خط ناقل معين عند إعادة تشغيل النظام، ويُعدّل طابور التعليمات الداخلي وفقًا لذلك. يُعدّ تكرار مكونات طابور الجلب المسبق في وحدة المعالجة المركزية والمعالج المساعد غير فعال من حيث استهلاك الطاقة ومساحة الشريحة الإجمالية، ولكنه سمح لواجهة المعالج المساعد باستخدام عدد قليل جدًا من دبابيس الدوائر المتكاملة المخصصة، وهو أمر بالغ الأهمية. عند طرح المعالج 8086، الذي حدد واجهة المعالج المساعد، كانت حزم الدوائر المتكاملة التي تحتوي على أكثر من 40 دبوسًا نادرة وباهظة الثمن، وتعاني من مشاكل مثل السعة الكهربائية الزائدة - وهو عامل رئيسي يحدّ من سرعات الإشارة.
يتم ترميز رموز عمليات المعالج المساعد في 6 بتات موزعة على 2 بايت، بدءًا من تسلسل الهروب:
┌───────────┬────────────┐ │ 1101 1xxx │ mmxx xrrr │ └───────────┴───────────┘
تمثل البتات الثلاث الأولى "x" البتات الثلاث الأولى من رمز العملية ذي الفاصلة العائمة. ثم بتان "m"، ثم النصف الأخير من البتات الثلاث لرمز العملية ذي الفاصلة العائمة، متبوعًا بثلاث بتات "r". تحدد البتات "m" و"r" معلومات نمط العنونة. [ 18 ]
كان لا بد من كتابة برامج التطبيقات للاستفادة من تعليمات الفاصلة العائمة الخاصة. أثناء التشغيل، كان بإمكان البرنامج اكتشاف المعالج المساعد واستخدامه لإجراء عمليات الفاصلة العائمة. في حال اكتشاف عدم وجوده، كان لا بد من حساب وظائف الفاصلة العائمة المماثلة برمجياً، أو يمكن محاكاة المعالج المساعد بالكامل برمجياً لتحقيق توافق عددي أكثر دقة. [ 19 ]
السجلات

لا تستخدم عائلة معالجات x87 مجموعة سجلات قابلة للعنونة المباشرة مثل السجلات الرئيسية لمعالجات x86؛ بل تُشكّل سجلات x87 بنية مكدس عميقة من ثمانية مستويات [ 20 ] تتراوح من st0إلى st7، حيث st0يُمثّل أعلى مستوى. تعمل تعليمات x87 عن طريق دفع القيم وحسابها وسحبها من هذا المكدس. مع ذلك، قد تستخدم العمليات الثنائية مثل FADD، ، FMUL، FCMPوما إلى ذلك، ضمنيًا السجل العلوي st0و ، st1أو قد تستخدم st0مع مُعامل ذاكرة أو سجل صريحst0 ؛ وبالتالي، يُمكن استخدام السجل كمُجمِّع ( أي كوجهة ومعامل أيسر مُدمجين) ويُمكن أيضًا استبداله مع أي من سجلات المكدس الثمانية باستخدام تعليمة تُسمى (الرموز من D9C8 إلى D9CF h ). هذا يجعل مكدس x87 قابلاً للاستخدام كسبعة سجلات قابلة للعنونة بحرية بالإضافة إلى مُجمِّع. ينطبق هذا بشكل خاص على معالجات x86 فائقة التوازي ( بنتيوم 1993 وما بعده)، حيث تم تحسين تعليمات الاستبدال هذه لتقليل زمن الاستجابة إلى الصفر.FXCH stX
معيار IEEE للفاصلة العائمة
عندما صممت إنتل معالج 8087، كان هدفها وضع معيار موحد للأعداد العشرية العائمة للتصاميم المستقبلية. ومن أهم جوانب معالج 8087 من منظور تاريخي أنه أصبح أساسًا لمعيار IEEE 754 للأعداد العشرية العائمة. لم يُطبّق معالج 8087 معيار IEEE 754 بكامل تفاصيله، إذ لم يكتمل المعيار حتى عام 1985، بينما طبّقه معالج 80387. وفّر معالج 8087 نوعين أساسيين من بيانات الأعداد العشرية العائمة 32/64 بت ، بالإضافة إلى تنسيق مؤقت داخلي موسّع 80 بت (يمكن تخزينه أيضًا في الذاكرة) لتحسين دقة العمليات الحسابية الكبيرة والمعقدة. إلى جانب ذلك ، قدّم معالج 8087 تنسيق BCD ( العشري المشفر ثنائيًا ) مُعبأ 80 بت/18 رقمًا، وأنواع بيانات عددية صحيحة 16 و32 و64 بت. [ 20 ]
| 7 9 | ... | 7 1 | ... | 6 7 | ... | 6 3 | ... | 5 0 | ... | 3 1 | ... | 2 2 | ... | 1 5 | ... | 0 0 | (موضع البت) |
| ± | الأس | جزء | عدد حقيقي بدقة موسعة 80 بت | ||||||||||||||
| ± | الأس | جزء | عدد حقيقي مزدوج الدقة 64 بت | ||||||||||||||
| ± | الأس | جزء | عدد حقيقي أحادي الدقة 32 بت | ||||||||||||||
| ± | عدد صحيح BCD | عدد صحيح عشري مكون من 18 رقمًا | |||||||||||||||
| ± | عدد صحيح | عدد صحيح ثنائي 64 بت | |||||||||||||||
| ± | عدد صحيح | عدد صحيح ثنائي 32 بت | |||||||||||||||
| ± | عدد صحيح | عدد صحيح ثنائي مكون من 16 بت | |||||||||||||||
اللانهاية
يتعامل المعالج 8087 مع قيم اللانهاية إما بالإغلاق الأفيني أو الإغلاق الإسقاطي (يتم اختياره بواسطة سجل الحالة). في الإغلاق الأفيني، تُعامل اللانهاية الموجبة والسالبة كقيمتين مختلفتين. أما في الإغلاق الإسقاطي، فتُعامل اللانهاية كتمثيل غير مُوَقَّع للأعداد الصغيرة جدًا أو الكبيرة جدًا. [ 21 ] أُدرجت هاتان الطريقتان للتعامل مع اللانهاية في المسودة الأولية لمعيار IEEE 754 للأعداد العشرية. مع ذلك، تم حذف الإغلاق الإسقاطي ( نظام الأعداد الحقيقية الممتد إسقاطيًا ) من الإصدار الرسمي اللاحق لمعيار IEEE 754-1985. احتفظ المعالج 80287 بالإغلاق الإسقاطي كخيار، بينما دعم المعالج 80387 والمعالجات العشرية اللاحقة (بما في ذلك 80187) الإغلاق الأفيني فقط.
واجهة المعالج المساعد
اختلف المعالج المساعد 8087 عن معالجات إنتل المساعدة اللاحقة في كونه متصلاً مباشرةً بناقلات العناوين والبيانات. كان 8087 يبحث عن التعليمات التي تبدأ بالتسلسل "11011" وينفذها، حيث يطلب على الفور الوصول المباشر إلى الذاكرة (DMA) من وحدة المعالجة المركزية الرئيسية حسب الحاجة للوصول إلى معاملات الذاكرة التي يزيد طولها عن كلمة واحدة (16 بت)، ثم يعيد التحكم في الناقل إلى وحدة المعالجة المركزية الرئيسية. لم يُوقف المعالج المساعد تنفيذ البرنامج حتى اكتمال تعليماته، وكان على البرنامج مزامنة المعالجين بشكل صريح، كما هو موضح سابقًا (في قسم " التصميم والتطوير "). كان هناك احتمال لحدوث عطل إذا فشلت تعليمات المعالج المساعد في فك تشفيرها إلى تعليمات يفهمها. لم تتصل معالجات إنتل المساعدة اللاحقة بالناقلات بنفس الطريقة، بل كانت تتلقى التعليمات عبر منافذ الإدخال/الإخراج الخاصة بالمعالج الرئيسي. أدى ذلك إلى زيادة وقت التنفيذ، ولكن تم تجنب مشكلة العطل المحتملة لأن المعالج الرئيسي كان يتجاهل التعليمات إذا رفض المعالج المساعد قبولها. كان بإمكان المعالج 8087 اكتشاف ما إذا كان متصلاً بالمعالج 8088 أو 8086 من خلال مراقبة ناقل البيانات أثناء دورة إعادة الضبط.
كان المعالج 8087 قادرًا على العمل بالتزامن مع المعالجين 8086/8 اللذين يعالجان تعليمات إضافية. مع ذلك، كان هناك احتمال لفشل البرنامج إذا أصدر المعالج المساعد تعليمة جديدة قبل اكتمال التعليمة السابقة. كان المُجمِّع يُدرج تعليمة تلقائيًا FWAITقبل كل رمز عملية تقريبًا للمعالج المساعد، مما يُجبر المعالجين 8086/8 على إيقاف التنفيذ حتى يُشير المعالج 8087 إلى أنه قد انتهى من تنفيذ التعليمة السابقة وأصبح جاهزًا لتنفيذ التعليمة التالية. [ 22 ] وقد أُزيل هذا القيد من التصاميم اللاحقة.
الخلفاء
كما تم استبدال معالجي 8088 و8086 بمعالجات لاحقة، تم استبدال معالج 8087 أيضًا. ومن بين المعالجات المساعدة الأخرى من إنتل: 80287 (في الواقع 80C287 ، حيث انتقلت إنتل إلى تقنية CMOS في ذلك الوقت)، و 80387 ، و 80187 . بدءًا من معالج 80486، لم تستخدم معالجات إنتل اللاحقة معالجًا مساعدًا منفصلاً للفاصلة العائمة؛ إذ تتضمن معالجات 80486DX وبنتيوم والمعالجات اللاحقة وظائف الفاصلة العائمة على شريحة المعالج الرئيسية. وكان الاستثناء البارز هو معالج 80486SX، وهو نسخة معدلة من معالج 80486DX مع تعطيل وحدة معالجة الفاصلة العائمة (FPU). أما معالج 80487، فكان في الواقع شريحة 80486DX كاملة (مع دبوس إضافي واحد) تقوم، عند تركيبها، بتعطيل وحدة المعالجة المركزية 80486SX واستبدالها.
مراجع
- ↑ شفيتس، جينادي (8 أكتوبر 2011). "وحدة الفاصلة العائمة IBM 8087" . عالم المعالجات المركزية . تم الاسترجاع في 1 ديسمبر 2011 .
- ↑ شفيتس، جينادي (8 أكتوبر 2011). "وحدة الفاصلة العائمة AMD 8087" . عالم المعالجات المركزية . تم الاسترجاع في 1 ديسمبر 2011 .
- ↑ شفيتس، جينادي (8 أكتوبر 2011). "وحدة الفاصلة العائمة في معالج Cyrix 8087" . عالم المعالجات المركزية . تم الاطلاع عليه في 1 ديسمبر 2011 .
- ↑ بالمر، جون ف. (1980). "معالج البيانات الرقمية INTEL® 8087" (ملف PDF) . وقائع مؤتمر AFIPS '80، المؤتمر الوطني للحاسوب، 19-22 مايو 1980. أنهايم، كاليفورنيا: ACM. الصفحات 887-893 . doi : 10.1145/1500518.1500674 .
- 1 2 "8087" . معلومات المعالج المساعد . 2007. مؤرشف من الأصل في 30 سبتمبر 2011. تم الاسترجاع في 1 ديسمبر 2011 .
- 1 2 "Intel FPU" . cpu-collection.de . 2011. تم الاطلاع عليه في 1 ديسمبر 2011 .
- ↑ "ورقة بيانات معالج إنتل 8087" .
- ↑ شريف، كين (مايو 2020). "استخراج ثوابت ذاكرة القراءة فقط من شريحة المعالج المساعد الرياضي 8087" . righto.com . منشور ذاتيًا بواسطة كين شريف . تاريخ الاسترجاع: 3 سبتمبر 2020.
تحتوي ذاكرة القراءة فقط على 16 قيمة لدالة الظل العكسي، وهي قيم الظل العكسي للعدد 2
- n
. كما تحتوي على 14 قيمة للوغاريتم، وهي اللوغاريتمات الثنائية للعدد (1 + 2
- n
). قد تبدو هذه القيم غير مألوفة، لكنها تُستخدم في خوارزمية فعّالة تُسمى CORDIC، والتي تم اختراعها عام 1958.
- ↑ يوشيدا، ستايسي، "المعالجات المساعدة للرياضيات: الحفاظ على جاهزية جهاز الكمبيوتر الخاص بك"، شركة إنتل، حلول الحواسيب الصغيرة، سبتمبر/أكتوبر 1990، صفحة 16
- ↑ شركة إنتل، "قائمة أسعار منتجات تحسين أجهزة الكمبيوتر الشخصية من إنتل اعتبارًا من 1 نوفمبر 1989" ، عملية تحسين أجهزة الكمبيوتر الشخصية، رقم الطلب 245.2، 10-89/75K/AL/GO، أكتوبر 1989.
- ↑ كتالوج بيانات المكونات 1980. إنتل. الصفحات 8-21 ، 8-28 . OCLC 21648369. C-864/280/150K/CP. "8. ملحقات المعالج الدقيق § 8232 معالج الفاصلة العائمة". كتالوج بيانات المكونات (ملف PDF) . إنتل. يناير 1981. الصفحات 8-31 إلى 8-42 (656 من ملف PDF). AFN-01300A-1 – عبر Bitsavers.
- ↑ شريف، كين (ديسمبر 2025). "دائرة المكدس لشريحة الفاصلة العائمة Intel 8087، هندسة عكسية" .
يعزو أحد مصممي 8087 (كاهان) مشاكل المكدس في الشريحة إلى فارق التوقيت بين كاليفورنيا، حيث كان المصممون يقيمون، وإسرائيل، حيث تم تصنيع الشريحة. نتيجةً لضعف التواصل، ظن كل فريق أن الآخر هو من يقوم بتنفيذ برنامج معالجة تجاوز سعة المكدس. لم يدركوا أنه "قد لا يكون من الممكن معالجة تجاوز سعة المكدس في 8087 بطريقة معقولة إلا بعد بدء إنتاج الشريحة. ليس الأمر مستحيلاً، لكن من المستحيل القيام بذلك بطريقة معقولة".
- ↑ سانشيز وكانتون 2007 ، ص 96.
- ↑ كاهان، ويليام (12 مارس 2016). كاهان يتحدث عن معالج 8087 وتصميم نظام الفاصلة العائمة من إنتل . مقاطع فيديو للفائزين بجائزة تورينج. مقابلة أجراها هايغ، توماس. ACM – عبر يوتيوب.
- ↑ US 4484259 ، "ناقل الكسور للاستخدام في معالج البيانات الرقمية" .
- ↑ US 4270167 ، "دائرة مزامنة وحدة المعالجة المركزية المزدوجة" .
- ↑ "بتّان لكل ترانزستور: ذاكرة قراءة فقط عالية الكثافة في شريحة النقطة العائمة 8087 من إنتل" . تم الاطلاع عليه بتاريخ 18-05-2022 .
- ↑ ليمون، كارين أ. (1985). لغة التجميع وبرمجة الأنظمة لأجهزة IBM PC والأجهزة المتوافقة معها . ليتل براون. ص 302. ISBN 978-0-316-52069-0.
- ↑ مولر، سكوت (1992). ترقية وإصلاح أجهزة الكمبيوتر الشخصية ( الطبعة الثانية). Que. الصفحات 395-403 . ISBN 0-88022-856-3.
- 1 2 شفيتس، جينادي (8 أكتوبر 2011). "عائلة معالجات إنتل 8087" . عالم المعالجات المركزية . تم الاطلاع عليه في 1 ديسمبر 2011 .
- ↑ سانشيز وكانتون 2007 ، ص 110.
- ↑ ليمون 1985 ، ص 300.
فهرس
- سانشيز، خوليو؛ كانتون، ماريا ب. (2007). حلول برمجية للمهندسين والعلماء . مطبعة سي آر سي. رقم ISBN 978-1-4200-4302-0.
روابط خارجية
- معالجات Intel 80x87 الرياضية المساعدة متوفرة على موقع cpu-collection.de
- Coprocessor.info: معلومات تاريخية وصور عن المعالج المساعد الرياضي 8087
- ورقة بيانات المعالج المساعد للرياضيات Intel 8087
- شريف، كين (مايو 2020). "تحليل رقاقة المعالج المساعد الرياضي 8087 لمبدل البتات السريع" .
- شريف، كين (ديسمبر 2025). "دائرة المكدس لشريحة النقطة العائمة Intel 8087، الهندسة العكسية" .
- شريف، كين (ديسمبر 2025). "الشروط في الشفرة الدقيقة لشريحة الفاصلة العائمة Intel 8087" .
- معالجات Intel x86 الدقيقة
- المعالجات المساعدة
- الفاصلة العائمة
- مقدمات متعلقة بالحاسوب في عام 1980
